PHP Manual

PHP 매뉴얼

Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Philip Olson
Georg Richter
Damien Seguy
Jakub Vrana

Edited by

Philip Olson

파일 생성일: Fri Dec 07 03:40:03 2007
최신 버전을 얻으려면 http://www.php.net/docs.php를 방문하십시오.

Copyright © 1997 - 2007 the PHP Documentation Group


PHP 매뉴얼

지은이

Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana

기타

엮은이

Philip Olson

저작권 (C) 1997-2007 the PHP Documentation Group (PHP 문서 그룹)

펴냄: 2007-12-07

차례

서문
저자와 공헌자
I. 시작하기
1. 소개
2. 간단한 튜토리얼
II. 설치와 설정
3. General Installation Considerations
4. 유닉스 시스템에 설치
5. Mac OS X에 설치
6. Installation on Windows systems
7. Installation of PECL extensions
8. Problems?
9. Runtime Configuration
III. 언어 레퍼런스
10. 기본 문법
11. 변수형
12. 변수
13. 상수
14. 표현식
15. 연산자
16. 제어 구조
17. 함수
18. 클래스와 객체
19. 클래스와 객체 (PHP 5)
20. Namespaces
21. Exceptions
22. 참조 표현
IV. 보안
23. 도입
24. 일반적인 고려 사항
25. CGI 바이너리로 설치
26. Installed as an Apache module
27. Filesystem Security
28. Database Security
29. Error Reporting
30. Using Register Globals
31. User Submitted Data
32. Magic Quotes
33. Hiding PHP
34. Keeping Current
V. 기능
35. PHP로 HTTP 인증하기
36. 쿠키
37. 세션
38. Dealing with XForms
39. 파일 업로드 다루기
40. 원격 파일 사용하기
41. 연결 제어
42. 영구적인 데이터베이스 접속
43. 안전 모드
44. 커맨드 라인에서 PHP 사용하기
VI. 함수 레퍼런스
I. .NET Functions
II. 아파치 함수
III. Alternative PHP Cache
IV. Advanced PHP debugger
V. 배열함수
VI. Aspell 함수 [deprecated]
VII. BBCode Functions
VIII. BCMath 임의 정확도 수치연산 함수
IX. PHP bytecode Compiler
X. Bzip2 압축 함수
XI. 달력 함수
XII. CCVS API Functions [deprecated]
XIII. 클래스/객체 함수
XIV. Classkit Functions
XV. ClibPDF Functions [deprecated]
XVI. COM and .Net (Windows)
XVII. Crack Functions
XVIII. Character Type Functions
XIX. CURL, Client URL Library Functions
XX. Cybercash Payment Functions
XXI. Credit Mutuel CyberMUT functions
XXII. Cyrus IMAP administration Functions
XXIII. 날짜와 시간 함수
XXIV. DB++ Functions
XXV. Database (dbm-style) Abstraction Layer Functions
XXVI. dBase Functions
XXVII. DBM Functions [deprecated]
XXVIII. dbx Functions
XXIX. Direct IO Functions
XXX. 디렉토리 함수
XXXI. DOM Functions
XXXII. DOM XML Functions
XXXIII. enchant Functions
XXXIV. Error Handling and Logging Functions
XXXV. Exif Functions
XXXVI. Expect Functions
XXXVII. File Alteration Monitor Functions
XXXVIII. Forms Data Format Functions
XXXIX. Fileinfo Functions
XL. filePro Functions
XLI. 파일시스템 함수
XLII. Filter Functions
XLIII. Firebird/InterBase Functions
XLIV. Firebird/Interbase Functions (PDO_FIREBIRD)
XLV. FriBiDi Functions
XLVI. FrontBase Functions
XLVII. FTP Functions
XLVIII. Function Handling Functions
XLIX. GeoIP Functions
L. Gettext Functions
LI. GMP Functions
LII. gnupg 함수
LIII. Net_Gopher
LIV. Haru PDF Functions
LV. hash Functions
LVI. HTTP
LVII. Hyperwave Functions
LVIII. Hyperwave API Functions
LIX. i18n 함수
LX. IBM Functions (PDO_IBM)
LXI. IBM DB2, Cloudscape and Apache Derby Functions
LXII. iconv 함수
LXIII. ID3 Functions
LXIV. IIS Administration Functions
LXV. Image Functions
LXVI. Imagick Image Library
LXVII. IMAP, POP3, NNTP 함수
LXVIII. Informix Functions
LXIX. Informix Functions (PDO_INFORMIX)
LXX. Ingres II Functions
LXXI. IRC Gateway Functions
LXXII. PHP / Java Integration
LXXIII. JSON Functions
LXXIV. KADM5
LXXV. LDAP Functions
LXXVI. libxml Functions
LXXVII. Lotus Notes Functions
LXXVIII. LZF Functions
LXXIX. 메일 함수
LXXX. Mailparse Functions
LXXXI. 수학 함수
LXXXII. MaxDB PHP Extension
LXXXIII. MCAL Functions
LXXXIV. Mcrypt Encryption Functions
LXXXV. MCVE (Monetra) Payment Functions
LXXXVI. Memcache Functions
LXXXVII. Mhash Functions
LXXXVIII. Mimetype Functions
LXXXIX. Ming functions for Flash
XC. Miscellaneous Functions
XCI. mnoGoSearch Functions
XCII. Microsoft SQL Server Functions
XCIII. Microsoft SQL Server and Sybase Functions (PDO_DBLIB)
XCIV. Mohawk Software Session Handler Functions
XCV. mSQL Functions
XCVI. Multibyte String Functions
XCVII. muscat Functions
XCVIII. MySQL 함수
XCIX. MySQL Functions (PDO_MYSQL)
C. MySQL Improved Extension
CI. Ncurses Terminal Screen Control Functions
CII. 네트워크 함수
CIII. Newt Functions
CIV. NSAPI-specific Functions
CV. Object Aggregation/Composition Functions
CVI. Object property and method call overloading
CVII. 오라클 함수
CVIII. ODBC Functions (Unified)
CIX. ODBC and DB2 Functions (PDO_ODBC)
CX. oggvorbis
CXI. OpenAL Audio Bindings
CXII. OpenSSL Functions
CXIII. Oracle Functions [deprecated]
CXIV. Oracle Functions (PDO_OCI)
CXV. 출력 제어 함수
CXVI. Ovrimos SQL Functions
CXVII. Paradox File Access
CXVIII. Parsekit Functions
CXIX. Process Control Functions
CXX. 정규표현식 함수 (펄-호환)
CXXI. PDF 함수
CXXII. PDO Functions
CXXIII. Phar archive stream and classes
CXXIV. PHP 옵션&정보
CXXV. POSIX Functions
CXXVI. Regular Expression Functions (POSIX Extended)
CXXVII. PostgreSQL 함수
CXXVIII. PostgreSQL Functions (PDO_PGSQL)
CXXIX. Printer Functions
CXXX. Program Execution Functions
CXXXI. PostScript document creation
CXXXII. Pspell 함수
CXXXIII. qtdom Functions
CXXXIV. Radius
CXXXV. Rar Functions
CXXXVI. GNU Readline
CXXXVII. GNU Recode Functions
CXXXVIII. RPM Header Reading 함수
CXXXIX. runkit Functions
CXL. SAM - Simple Asynchronous Messaging
CXLI. Satellite CORBA client extension [deprecated]
CXLII. SCA Functions
CXLIII. SDO Functions
CXLIV. SDO XML Data Access Service Functions
CXLV. SDO Relational Data Access Service Functions
CXLVI. 세마포어(semaphore)와 공유 메모리(shared memory) 함수
CXLVII. SESAM Database Functions
CXLVIII. PostgreSQL Session Save Handler
CXLIX. Session Handling Functions
CL. 공유 메모리 함수
CLI. SimpleXML functions
CLII. SNMP Functions
CLIII. SOAP Functions
CLIV. Socket Functions
CLV. Standard PHP Library (SPL) Functions
CLVI. SQLite Functions
CLVII. SQLite Functions (PDO_SQLITE)
CLVIII. Secure Shell2 Functions
CLIX. Statistics Functions
CLX. Stream Functions
CLXI. 문자열 함수
CLXII. Subversion 함수
CLXIII. Shockwave Flash Functions
CLXIV. Swish Functions
CLXV. Sybase Functions
CLXVI. TCP Wrappers Functions
CLXVII. Tidy Functions
CLXVIII. Tokenizer Functions
CLXIX. Unicode Functions
CLXX. URL 함수
CLXXI. 변수 관련 함수
CLXXII. Verisign Payflow Pro Functions
CLXXIII. vpopmail Functions
CLXXIV. W32api Functions
CLXXV. WDDX Functions
CLXXVI. win32ps Functions
CLXXVII. win32service Functions
CLXXVIII. xattr Functions
CLXXIX. xdiff Functions
CLXXX. XML 해석기 함수
CLXXXI. XML-RPC Functions
CLXXXII. XMLReader functions
CLXXXIII. XMLWriter Functions
CLXXXIV. XSL functions
CLXXXV. XSLT Functions
CLXXXVI. YAZ functions
CLXXXVII. YP/NIS 관련 함수
CLXXXVIII. Zip File Functions
CLXXXIX. Zlib 압축 함수
VII. PHP 코어: Zend 엔진 해커 가이드
45. The PHP 5 build system
46. Extension structure
47. Memory management
48. Working with variables
49. Writing functions
50. Working with classes and objects
51. Working with resources
52. Working with INI settings
53. Working with streams
54. PDO Driver How-To
55. Extension FAQs
56. Zend Engine 2 API reference
57. Zend Engine 1
58. The future: PHP 6 and Zend Engine 3
VIII. FAQ: 자주 물어보는 질문들
59. 일반적인 정보
60. 메일링리스트
61. PHP 구하기
62. 데이터베이스와 관련된 문제
63. Installation
64. 빌드(build)시의 문제
65. PHP 사용하기
66. PHP와 HTML
67. PHP와 COM
68. PHP와 다른 프로그래밍 언어
69. PHP 2 에서 PHP 3로 마이그레이션 하기
70. PHP 3에서 PHP 4로의 마이그레이션
71. Migrating from PHP 4 to PHP 5
72. Miscellaneous Questions
IX. Appendices
A. PHP와 PHP 관련 프로젝트의 역사
B. Migrating from PHP 5.1.x to PHP 5.2.x
C. Migrating from PHP 5.0.x to PHP 5.1.x
D. PHP 4에서 PHP 5로 이행
E. PHP 3 에서 PHP 4로 이주
F. PHP/FI 2 에서 PHP 3로 이주하기
G. PHP 디버깅하기
H. Configure options
I. php.ini directives
J. List of Supported Timezones
K. 확장 분류
L. 함수 별칭 목록
M. 예약어 목록
N. 리소스 타입 목록
O. 지원 프로토콜/래퍼 목록
P. List of Available Filters
Q. 지원되는 소켓 전송 목록
R. PHP 타입 비교 테이블
S. 해석기 토큰 목록
T. Userland Naming Guide
U. 매뉴얼에 대하여
V. Open Publication License
W. 함수 인덱스
X. 빠진 내용
X. HTML 도움말 에디션
73. About This Edition
74. Using PHP Manual CHM Edition
75. The Full Text Search
76. Specialities of this Edition
77. Integrating the PHP Manual
78. Skin development
79. CHM Edition Credits
다음
서문


서문

초록

PHP는 하이퍼텍스트 전처리기("PHP: Hypertext Preprocessor")를 의미하며, 널리 쓰이는 오픈 소스 일반 스크립트 언어입니다. 특히 웹 개발에 적합하고 HTML에 삽입할 수 있습니다. 문법은 C, Java, Perl과 흡사하여 배우기 쉽습니다. 주 목표는 웹 개발자가 동적으로 생성되는 웹 페이지를 빠르게 개발할 수 있게 하는 것이지만, PHP로 할 수 있는 일은 훨씬 많습니다.

저자와 공헌자

이 메뉴얼은 본래 함수 레퍼런스이지만, 문법 레퍼런스 및 PHP의 주요 기능과 기타 추가 정보를 수록하고 있습니다.

다양한 형태의 매뉴얼을 » http://www.php.net/download-docs.php에서 받을 수 있습니다. 부록 메뉴얼에 관하여에서 매뉴얼이 어떻게 개발되는지 찾아 볼 수 있습니다. PHP의 역사에 관심이 있으면, 해당 부록을 참고하십시오.

저자와 공헌자

현재 가장 활발한 사람을 매뉴얼 첫 페이지에 표시하지만, 그 외에도 현재 작업을 돕는, 또는 과거에 프로젝트에 많은 양의 도움을 준 공헌자들이 많이 있습니다. 많은 수의 이름이 남지 않은 매뉴얼 페이지의 사용자 노트는 계속하여 참조되어지고, 매우 고마운 일입니다. 아래의 모든 목록은 알파벳 순입니다.

저자와 편집자

다음 공헌자들은 매뉴얼에 많은 콘텐트를 추가한 영향을 인정합니다: Bill Abt, Jouni Ahto, Alexander Aulbach, Daniel Beckham, Stig Bakken, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Pierre-Alain Joye, Etienne Kneuss, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Rafael Martinez, Rick McGuire, Yasuo Ohgaki, Derick Rethans, Rob Richards, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, Michael Wallner, Lars Torben Wilson, Jim Winstead, Jeroen van Wolffelaar 그리고 Andrei Zmievski.

다음 공헌자들은 매뉴얼 편집에 많은 도움을 주었습니다: Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe 그리고 Egon Schmid.

사용자 노트 관리자

현재 가장 활동중인 관리자: Mehdi Achour, Etienne Kneuss, Nuno Lopes, Hannes Magnusson, Bobby Matthis 그리고 Maciek Sokolewicz.

이 사람들은 사용자 노트 관리에 많은 노력을 했습니다: Daniel Beckham, Friedhelm Betz, Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, Sean Coates, James Cox, Vincent Gevers, Sara Golemon, Zak Greant, Szabolcs Heilig, Oliver Hinckel, Hartmut Holzgraefe, Rasmus Lerdorf, Matthew Li, Andrew Lindeman, Aidan Lister, Maxim Maletsky, James Moore, Philip Olson, Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets, Tom Sommer, Jani Taskinen, Yasuo Ohgaki, Jakub Vrana, Lars Torben Wilson, Jim Winstead, Jared Wyles 그리고 Jeroen van Wolffelaar.

이전 | 위로 | 다음
PHP 매뉴얼 | 처음으로 | I. 시작하기


부 I. 시작하기

차례

1. 소개
2. 간단한 튜토리얼
이전 | 위로 | 다음
서문 | 처음으로 | 1. 소개


1장. 소개

차례

PHP란?
PHP로 할 수 있는 것들

PHP란?

PHP(정식 명칭 "PHP: Hypertext Preprocessor")는 범용성을 지닌 널리 사용되는 오픈 소스 스크립트 언어입니다. 특히, 웹 개발 및 HTML에 포함하기에 적합합니다.

간단한 답이지만, 무엇을 의미할까요? 다음 예제를 봅시다:

예 1.1. 소개용 예제

<html>
    <head>
        <title>예제</title>
    </head>
    <body>

        <?php
        echo "안녕, 나는 PHP 스크립트야!";
        ?>

    </body>
</html>

Perl이나 C와 같은 다른 언어로 쓰여진 스크립트와 다른점을 알아봅시다 -- HTML을 출력하기 위해서 많은 프로그램 명령어를 쓰는 대신, 무언가를 하기 위해 몇가지 추가 코드가 포함된 HTML 스크립트를 작성하면 됩니다. (여기서는, 약간의 텍스트를 출력합니다) PHP코드는 "PHP 모드"로 들어가고 나올 수 있는 특별한 시작과 끝 태그에 포함되어 있습니다.

PHP가 클라이언트측 자바스크립트 등과 구별되는 점은 이 코드는 서버에서 실행된다는 점입니다. 위와 같은 스크립트가 서버에서 실행되면, 클라이언트는 스크립트의 결과만을 받을 뿐이며, 그 코드가 어떤 모습인지는 알 수가 없습니다. 심지어 모든 HTML 파일을 PHP로 실행되도록 웹 서버를 설정할 수 있으며, 그러면 유저들은 당신이 무슨 일을 하는지 전혀 알 수가 없습니다.

PHP를 사용하는 가장 큰 이득은 초보에게는 매우 쉽고, 전문가에게는 많은 고급 기능을 제공한다는 점입니다. PHP 기능의 긴 리스트를 읽는 것을 두려워하지 마십시오. 그저 시작해 보면 짧은 시간 안에 간단한 스크립트를 작성할 수 있을 것입니다.

PHP의 개발은 서버측 스크립팅에 초점이 맞추어져 있지만, 그보다 더 많은 것들을 할 수 있습니다. PHP로 할 수 있는 것들 섹션을 참고하거나, 웹 프로그래밍에만 관심이 있다면 간단한 튜토리얼로 넘어가십시오.

이전 | 위로 | 다음
I. 시작하기 | 처음으로 | PHP로 할 수 있는 것들


PHP로 할 수 있는 것들

PHP로 무엇이든지 할 수 있습니다. PHP는 서버측 스크립팅에 중점을 두고 있어, 다른 종류의 CGI 프로그램이 하는 모든 것을 할 수 있습니다. 예를 들면, 폼 데이터를 수집하거나, 동적인 페이지 콘텐츠를 만들거나 쿠키를 보내고 받을 수 있습니다. 그리고 PHP는 더 많은 것들을 할 수 있습니다.

PHP 스크립트가 사용되는 세가지 중점적인 영역이 있습니다.

  • 서버측 스크립팅. 이것은 PHP에서 가장 오래되고, 중점적인 영역입니다. 이 일을 위해서는 세가지가 필요합니다. PHP 파서 (CGI나 서버 모듈), 웹서버, 그리고 웹 브라우저. PHP가 설치된 웹서버를 실행시킬 필요가 있습니다. 웹 브라우저로 서버에 있는 PHP 페이지를 보는 것으로 PHP 프로그램 출력에 접근하게 됩니다. 단순히 PHP 프로그래밍을 경험해보고 싶다면, 당신의 집에 있는 머신으로도 가능합니다. 더 많은 정보는 설치 안내 섹션을 참고하십시오.
  • 커맨드 라인 스크립팅. 어떠한 서버나 브라우저 없이 PHP 스크립트를 실행하게 할 수 있습니다. 이 때에는 PHP 파서만 있으면 됩니다. 이런 사용법은 스크립트를 cron(*nix나 Linux에서)이나 작업 관리자(Windows에서)를 사용해 실행하는 것과 동일합니다. 이런 스크립트들은 간단한 텍스트 처리 작업에 사용될 수도 있습니다. 더 많은 정보를 위해서는 PHP의 커맨드 라인 사용법 섹션을 참고하십시오.
  • 데스크톱 어플리케이션의 작성. PHP는 그래픽 유저 인터페이스를 가지는 데스크탑 어플리케이션을 작성하기에 최적의 언어는 아니지만, PHP를 잘 이해하고 있고, 고급의 PHP 기능을 클라이언트측 어플리케이션에 사용하고 싶다면, 그러한 프로그램을 위해 PHP-GTK를 사용할 수 있습니다. 또한, 이러한 방법으로 플래폼에 상관 없이 작동하는 어플리케이션을 작성할 수도 있습니다. PHP-GTK는 PHP의 확장으로, 배포판에는 포함되어 있지 않습니다. PHP-GTK에 흥미가 있다면, » PHP-GTK 웹사이트를 방문해 보십시오.

PHP는 리눅스, 많은 유닉스 계열 (HP-UX, Solaris와 OpenBSD를 포함), Microsoft Windows, 맥 OS X, RISC OS 등과 같은 모든 유명한 OS에서 사용할 수 있습니다. 또한, PHP는 오늘날의 대부분의 웹 서버를 지원합니다. 이것에는 아파치, Microsoft Internet Information Server, Personal Web Server, Netscape and iPlanet servers, Oreilly, Website Pro server, Caudium, Xitami, OmniHTTPd, 그 외의 많은 서버들을 포함합니다. 유명한 서버에 대해서는 PHP 모듈이 있으며, 다른 것에 대해서는 CGI 표준을 지원한다면, PHP는 CGI 프로세서로 동작할 수 있습니다.

그러므로 PHP라면, OS와 웹서버를 선택하는 것에서 자유로워 질 수 있습니다. 추가로, 함수 지향형이나 객체 지향형, 또는 그 둘을 섞은 형태로 프로그램을 할 수 있습니다. 비록 PHP 4는 모든 표준 OOP 기능을 포함하고 있지 않지만, 많은 코드 라이브러리와 커다란 애플리케이션들(PEAR 라이브러리를 포함하여)이 OOP 코드만을 이용하여 작성되고 있습니다. PHP 5는 PHP 4에서의 객체 관련 취약점을 보완하고, 완전한 객체 모델을 지원하고 있습니다.

PHP는 HTML을 출력하는 것에만 제한되지 않습니다. PHP의 능력은 이미지, PDF 파일, 심지어 플래쉬 무비(libswf와 Ming를 사용하여)까지 만들어서 출력할 수 있습니다. 또한 XHTML이나 다른 종류의 XML 파일과 같은 어떠한 텍스트 파일이라도 쉽게 출력할 수 있습니다. PHP로 출력을 하는 대신, 자동적으로 만들어진 파일들을 파일 시스템에 저장하여 동적 컨텐츠에 대한 서버측 캐쉬를 구현할 수도 있습니다.

PHP의 가장 강력하고 인상적인 기능 중 하나는 넓은 범위의 데이터베이스에 대한 지원입니다. 데이터베이스를 이용하는 웹 페이지를 작성하는것은 매우 간단합니다. 현재 다음과 같은 데이터베이스를 지원하고 있습니다:

Adabas D | InterBase | PostgreSQL
dBase | FrontBase | SQLite
Empress | mSQL | Solid
FilePro (read-only) | Direct MS-SQL | Sybase
Hyperwave | MySQL | Velocis
IBM DB2 | ODBC | Unix dbm
Informix | Oracle (OCI7 and OCI8)
Ingres | Ovrimos
또한 DBX database abstraction 확장은 이 확장이 지원하는 어떠한 데이터베이스라도 명백히 사용할 수 있게 합니다. 추가로 PHP는 ODBC(Open Database Connection 표준)를 지원하기 때문에, 이 세계 표준을 지원하는 어떤 데이터베이스라도 연결할 수 있습니다.

또한 PHP는 LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (Windows에서), 그리고 셀 수 없는 여러가지 프로토콜들을 이용해서 다른 서비스와 연계할 수 있도록 지원합니다. 또한 비어있는 네트워크 소켓을 열수도 있기에 어떤 프로토콜과도 연계해서 실행할 수 있습니다. PHP는 WDDX complex data exchange between virtually all Web programming languages를 지원합니다. 이를 통한 연계로, PHP는 자바 객체를 그대로 PHP 객체로 옮겨서 이용할 수 있습니다. 또한 원거리 객체 접근을 위해 CORBA 익스텐션을 이용할 수도 있습니다.

PHP는 극도로 유용한 텍스트 처리 기능을 가지고 있습니다. POSIX 확장 정규표현식이나 펄 정규표현식을 가지고 있고, XML 문서 처리를 위하여 PHP 4는 SAX와 DOM 표준을 지원하고, XML 문서를 변형하기 위해 XSLT 확장을 사용할 수 있습니다. PHP 5는 모든 XML 확장을 libxml2의 튼튼한 기반 위에 표준화하고, SimpleXML과 XMLReader 지원을 추가하여 기능을 확장하였습니다.

PHP를 전자 상거래 부분에 사용한다면, Cybercash payment, CyberMUT, VeriSign Payflow Pro와 MCVE 함수가 온라인 지불 프로그램에 매우 유용할 것입니다.

마지막으로, 하지만 적지 않게 (At last but not least), 많은 또다른 재미있는 확장들이 있습니다. mnoGoSearch 검색 엔진 함수, IRC 게이트웨이 함수, 많은 압축 유틸리티 (gzip, bz2), 달력 변환, 번역...

이 페이지만을 보는 것으로는 PHP가 제공할 수 있는 모든 기능과 이득을 알기에는 충분하지 않습니다. PHP 설치하기 섹션을 읽어보고, 이곳에 언급된 확장들에 대한 함수 레퍼런스를 참고하십시오.

이전 | 위로 | 다음
1. 소개 | 처음으로 | 2. 간단한 튜토리얼


2장. 간단한 튜토리얼

차례

무엇이 필요한가?
첫번째 PHP 실행 페이지
유용한 무언가
폼 다루기
새 버전의 PHP에서 예전의 코드를 사용하기
다음은?

짧고 간단한 튜토리얼로 PHP의 가장 기초가 되는 부분을 보여드립니다. PHP는 웹페이지를 만들 때만 사용하는 것은 아니지만, 여기서는 PHP로 동적 웹페이지를 만드는 내용에 대해서만 다룹니다. PHP로 할 수 있는 것들 섹션에서 더 많은 정보를 얻을 수 있습니다.

PHP를 포함한 웹 페이지는 보통의 HTML 페이지와 같이 취급합니다. 그러므로, 보통의 HTML 페이지를 만드는 것과 같은 방법으로 작성할 수 있습니다.

무엇이 필요한가?

이 튜토리얼은 서버가 PHP를 지원하고, .php 확장자를 가지는 모든 파일을 PHP로 다루고 있다고 가정합니다. 대부분의 서버에서 이는 PHP의 기본 확장자입니다만, 확인하기 위해서 서버 관리자에게 문의해보십시오. 서버가 PHP를 지원하고 있다면, 더 이상 준비할 것은 없습니다. 단순히 .php 파일을 만들어서 웹 디렉토리에 넣으면, 서버가 자동적으로 처리합니다. 컴파일할 필요도 없고, 별도의 툴을 설치할 필요도 없습니다. PHP를 포함한 파일을, 모든 일을 할 수 있는 마법의 태그를 가진 단순한 HTML 파일이라고 생각하십시오. 대부분의 웹 호스트는 PHP를 지원하지만, 지원하지 않을 경우에는 » PHP Links 섹션에서 PHP를 지원하는 웹 호스트에 대한 정보를 얻을 수 있습니다.

대역폭을 보존하기 위해 로컬 영역에서 개발하고 싶을 수도 있습니다. 이 경우에는, » 아파치 등의 웹 서버와 함께 » PHP를 설치할 수 있습니다. 원한다면 » MySQL 등의 데이터베이스를 설치할 수도 있습니다.

이들은 개별적으로 설치하거나, 보다 간단한 방법을 이용할 수 있습니다. 매뉴얼에는 PHP 설치 안내(이미 설치한 몇몇 웹 서버를 따라서)가 있습니다. 이 경우, PHP 설치시에 문제가 있다면, » 설치 메일링 리스트를 통하여 질문을 할 수 있습니다. 보다 간단한 길을 간다면, 사용하는 OS를 위한 » 미리 설정된 패키지를 사용하여, 이 모든 것을 간단한 마우스 클릭만으로 설치할 수 있습니다. MacOSX, 리눅스, 윈도우를 포함하여, 어떠한 운영 체제 아래에서도 간단히 PHP를 지원하는 웹 서버를 설정합니다. 리눅스에서는, » rpmfind와 » PBone이 RPM을 찾을 때 유용할 것입니다. » apt-get에서 데비안 패키지를 찾을 수 있습니다.

이전 | 위로 | 다음
PHP로 할 수 있는 것들 | 처음으로 | 첫번째 PHP 실행 페이지


첫번째 PHP 실행 페이지

다음에 쓰여진 내용으로 hello.php를 만들고, 웹서버의 루트 디렉토리(DOCUMENT_ROOT)에 놓습니다.

예 2.1. 첫번째 PHP 스크립트: hello.php

<html>
 <head>
  <title>PHP 테스트</title>
 </head>
 <body>
 <?php echo '<p>Hello World</p>'; ?>
 </body>
</html>

웹 브라우저를 이용해서 "/hello.php"에 접근합니다. 로컬에서 개발한다면 URL은 보통 http://localhost/hello.php이나 http://127.0.0.1/hello.php일 것이지만, 이는 웹 서버 설정에 따라 달리집니다. 모두 제대로 되었다면, 이 파일은 PHP에 의해 처리되어 다음 출력을 브라우저로 전송합니다:

<html>
 <head>
  <title>PHP 테스트</title>
 </head>
 <body>
 <p>Hello World</p>
 </body>
</html>

이 프로그램은 매우 간단해서, 실제로 이런 페이지를 만들기 위해서 PHP를 사용할 필요는 없습니다. 이 프로그램은 Hello World를 PHP echo() 표현으로 보여주기만 할 뿐입니다. 파일에 실행 권한을 줄 필요도 없고, 어떠한 특별한 처리를 할 필요도 없습니다. 서버는 ".php" 확장을 사용하였기 때문에, 이 파일을 PHP를 통해 처리해야 한다고 인식합니다. 이를 많은 일들을 가능하게 하는 특별한 태그를 가진 일반적인 HTML 파일로 생각하십시오.

이 예제를 실행했을 때, 아무것도 출력하지 않거나, 다운로드 할 것인지 묻거나, 모든 내용이 텍스트 문서처럼 보였다면, 그 서버에서 PHP가 작동하지 않거나 제대로 설정되지 않은 것입니다. 서버 관리자에게 매뉴얼의 설치 장을 참고하여 PHP를 사용할 수 있게 해달라고 요청하십시오. http를 통하여, 서버가 출력을 제공하도록 접근하고 있는지 확인하십시오. 단순히 파일 시스템에서 읽어들인다면, PHP를 통하여 처리되지 않습니다. 문제가 계속된다면, 망설이지 말고 » PHP 지원을 이용하십시오.

예제의 초점은 특별한 PHP 태그를 보여주는 것입니다. 이 예제에서 <?php가 PHP 태그의 시작을 알립니다. 그러면 PHP 상태로 돌입하게 되고, 종료 태그인 ?>에 의해 PHP 모드를 떠나게 됩니다. HTML 파일 어디에서라도 이런 방법으로 PHP 모드로 들어가고, 나올 수 있습니다. 더 자세한 내용은 매뉴얼에서 기본 PHP 문법 섹션을 읽어보십시오.

텍스트 편집기에 대한 참고: PHP를 만들고, 수정하고, 관리할 수 있는 많은 텍스트 편집기와 IDE가 있습니다. 이러한 도구에 대한 부분적인 목록은 » PHP 편집기 목록에서 관리하고 있습니다. 편집기를 추천하려면, 위 페이지를 방문해서 페이지 관리자에게 그 편집기를 목록에 추가해달라고 하십시오. 구문 하이라이팅이 있는 편집기는 도움이 될 것입니다.

워드 프로세서에 대한 주의: StarOffice Writer, Microsoft Word, Abiword 등의 워드 프로세서는 PHP 파일을 수정하는데에는 최적화되어 있지 않습니다. 이들을 텍스트 스크립트에 이용하기 위해서는, 꼭 plain text로 저장해야만 하며, 그렇지 않으면 PHP는 그 스크립트를 읽을 수가 없고 실행할 수 없습니다.

윈도우 메모장에 대한 주의: PHP 스크립트를 윈도우 메모장을 이용해서 작성할때는, 파일이 .php 확장자를 가지도록 주의해야합니다. (메모장은 다음과 같은 절차를 거치지 않으면 자동적으로 .txt 확장자를 붙입니다) 파일을 저장할 때, 파일 이름을 묻는 부분에서 파일 이름을 따옴표로 감싸줘야 합니다. (예: "hello.php") 또는, '저장' 창에서 '텍스트 문서' 드롭다운 메뉴를 클릭해서 "모든 파일"로 설정을 바꿀 수 있습니다. 이 경우에는 따옴표를 쓰지 않아도 됩니다.

작동하는 PHP 스크립트를 성공적으로 만들었다면, 가장 유명한 PHP 스크립트를 작성할 차례입니다! phpinfo() 함수를 호출하여, 사용 가능한 예약 정의 변수, 불러진 PHP 모듈들, 설정 등 시스템과 설정에 관련한 수많은 유용한 정보를 볼 수 있습니다. 잠깐의 시간을 들여서 중요한 정보들을 확인해보십시오.

예 2.2. PHP에서 시스템 정보 얻기

<?php phpinfo(); ?>

이전 | 위로 | 다음
2. 간단한 튜토리얼 | 처음으로 | 유용한 무언가


유용한 무언가

이제 더 유용한 무언가를 해봅시다. 방문자가 사용하는 브라우저의 종류를 확인할 것입니다. 이를 위해서, 브라우저가 HTTP 요청의 부분으로 보내는 user agent 문자열을 확인합니다. 이 정보는 변수에 기록되어 있습니다. PHP에서 변수는 항상 달러표시($)로 시작합니다. 여기서 다룰 변수는 $_SERVER['HTTP_USER_AGENT']입니다.

참고: $_SERVER는 모든 웹 서버 정보를 포함하기 위해 특별히 예약된 PHP 변수입니다. 이것은 자동전역이라고 부릅니다. 더 많은 정보는 자동전역과 관련한 매뉴얼 페이지를 참고하십시오. 이 특별한 변수들은 PHP » 4.1.0에서 소개되었습니다. 이전에는 $HTTP_SERVER_VARS 등의 $HTTP_*_VARS 배열을 이용하였습니다. 배제되었지만, 이 구형의 변수들은 아직 존재합니다. (예전의 코드에 관한 노트를 참고하십시오)

이 변수를 표시하기 위해서는, 간단히 다음과 같이 하면 됩니다:

예 2.3. 변수 출력하기 (배열 원소)

<?php echo $_SERVER['HTTP_USER_AGENT']; ?>

이 스크립트의 출력 예제는 다음과 같습니다:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

PHP에는 많은 변수의 형이 존재합니다. 위 예제에서는 배열 원소를 출력했습니다. 배열은 매우 유용합니다.

$_SERVER는 PHP가 자동적으로 생성하는 변수 중의 하나에 불과합니다. 매뉴얼의 예약 정의 변수를 보거나, 이전 섹션의 예제에서 사용한 phpinfo() 함수의 출력에서 전체 목록을 얻을 수 있습니다.

PHP 태그 안쪽으로 하나의 echo뿐이 아닌 여러개의 PHP문을 넣어서 작은 코드 블럭을 만들 수 있습니다. 예를 들면, Internet Explorer를 체크하고 싶다면 다음과 같이 할 수 있습니다:

예 2.4. 제어문과 함수를 사용하는 예제

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
       echo 'Internet Explorer를 사용하고 있습니다.<br />';
}
?>

이 스크립트의 출력 예제:

Internet Explorer를 사용하고 있습니다.<br />

여기서 두가지 새로운 컨셉을 소개합니다. PHP에는 if문이 있습니다. C 언어에서 사용하는 기본 문법에 친숙하다면, 이것은 매우 논리적으로 보일 것입니다. 그렇지 않으면, PHP 소개서를 구해서 첫부분을 읽어보거나, 매뉴얼의 언어 레퍼런스 부분을 읽어보십시오. PHP에 관한 책의 목록은 » http://www.php.net/books.php에서 찾아볼 수 있습니다.

두번째 컨셉은 strpos() 함수 호출입니다. strpos()는 하나의 문자열을 다른 문자열에서 찾아내는 PHP 내장 함수입니다. 여기서는 $_SERVER['HTTP_USER_AGENT'](haystack이라고 합니다) 안에서 'MSIE'(needle이라고 합니다)를 찾아봅시다. haystack 안에서 needle을 발견하면, 이 함수는 haystack의 첫번째 문자로부터 needle의 위치를 반환합니다. 발견하지 못했다면 FALSE를 반환합니다. FALSE를 반환하지 않았다면, if문은 TRUE로 판단하고 {중괄호} 안에 있는 코드를 실행합니다. 그렇지 않으면, 코드를 실행하지 않습니다. if, else, 그리고 strtoupper()나 strlen() 등의 함수를 사용하는 비슷한 예제도 쉽게 작성할 수 있습니다. 관련된 매뉴얼 페이지들은 예제를 포함하고 있습니다. 어떻게 함수를 사용하는지를 모르겠다면, 매뉴얼의 함수 정의를 읽는 방법과 PHP 함수 섹션을 읽어보십시오.

한걸음 더 나아가서, PHP 블록 안에서 어떻게 PHP 모드를 드나드는지 알아봅시다:

예 2.5. HTML과 PHP 모드 섞기

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos()는 false가 아닌 것을 반환했습니다.</h3>
<p>Internet Explorer를 사용하고 있습니다.</p>
<?php
} else {
?>
<h3>strpos()는 false를 반환했습니다.</h3>
<p>Internet Explorer를 사용하고 있지 않습니다.</p>
<?php
}
?>

이 스크립트의 출력 예제:

<h3>strpos()는 false가 아닌 것을 반환했습니다.</h3>
<p>Internet Explorer를 사용하고 있습니다.</p>

PHP echo문을 이용한 출력 방법 대신, PHP 모드를 빠져나가서 직접 HTML을 전송할 수 있습니다. 여기서 주의해야할 중요하고 강력한 점은 스크립트의 논리적 흐름이 유지되고 있는 점입니다. strpos()의 결과값에 따라서 오직 하나의 HTML 블록만이 보여지게 됩니다. 즉, MSIE의 발견 여부에 따르게 됩니다.

이전 | 위로 | 다음
첫번째 PHP 실행 페이지 | 처음으로 | 폼 다루기


폼 다루기

PHP의 매우 강력한 기능의 하나는 HTML 폼을 다루는 방법입니다. 이를 이해하는데에 중요한 기본적인 컨셉은 어떤 폼 요소라도 자동적으로 PHP 스크립트에서 사용 가능하다는 점입니다. PHP로 폼을 이용하는 많은 정보와 예제를 위해서 매뉴얼의 PHP 외부에서 들어오는 변수 섹션을 읽어보십시오. 다음은 HTML 폼의 예제입니다:

예 2.6. 간단한 HTML 폼

<form action="action.php" method="post">
 <p>이름: <input type="text" name="name" /></p>
 <p>연령: <input type="text" name="age" /></p>
 <p><input type="submit" /></p>
</form>

이 폼에는 특별한 것은 아무것도 없습니다. 어떠한 특별한 태그도 가지지 않는 단순한 HTML 폼입니다. 유저가 이 폼을 채우고 submit 버튼을 누르면, action.php 페이지가 호출됩니다. 이 파일은 다음처럼 작성할 수 있습니다:

예 2.7. 폼으로부터의 데이터 출력하기

<?php echo $_POST['name']; ?>씨 안녕하세요.
당신은 <?php echo $_POST['age']; ?>세입니다.

이 스크립트의 출력 예제:

Joe씨 안녕하세요. 당신은 22세입니다.

이것이 무엇을 하는지는 명백합니다. 더 이상 할 일은 없습니다. $_POST['name']와 $_POST['age'] 변수는 PHP가 자동적으로 사용할수 있도록 설정합니다. 위에서 자동전역 $_SERVER를 사용했듯이, 이번에는 모든 POST 데이터를 포함하는 $_POST 자동전역을 소개합니다. 폼에서 method를 POST로 설정한 점에 주의하십시오. 폼에서 GET method로 지정하면, 폼 정보는 $_GET 자동전역이 포함합니다. 요청한 데이터가 어떤 소스인지를 신경쓰지 않을 때는 $_REQUEST 자동전역을 사용할 수 있습니다. 이는 GET, POST, COOKIE 데이터를 포함합니다. import_request_variables() 함수를 참고하십시오.

한동안은 잘 지원되는 HTML 폼에 만족할 수도 있지만, PHP에서는 XForms 입력을 다룰 수도 있습니다. XForms로 작업하는 것은 초보자를 위한 것은 아니지만, 흥미를 가질 것입니다. 기능 섹션에서 XForms로 받은 데이터를 다루는 짧은 안내를 참고하십시오.

이전 | 위로 | 다음
유용한 무언가 | 처음으로 | 새 버전의 PHP에서 예전의 코드를 사용하기


새 버전의 PHP에서 예전의 코드를 사용하기

PHP는 유명한 스크립트 언어로 성장했고, 재사용 할 수 있는 많은 양의 저장소와 라이브러리 코드 자원이 존재합니다. PHP 개발자는 하위 호환을 유지하기 위해 많이 노력했기 때문에, 이전 버전에서 작성한 스크립트라도 아무런 변경 없이 새버전의 PHP에서 (완벽하게) 작동합니다. 그렇지만, 실제 상황에선 몇가지 변경이 필요할 수도 있습니다.

예전의 코드에 영향을 주는 최근의 중요한 두가지 변경점:

  • (함수나 메쏘드 안에서 사용할 때 global 선언을 필요로 하는) 이전의 $HTTP_*_VARS 배열의 배제. PHP » 4.1.0에서 소개한 자동전역 배열을 사용하십시오. 그 종류는 $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST, $_SESSION입니다. $HTTP_POST_VARS 등, 이전 형태의 $HTTP_*_VARS 배열은 PHP 3에서부터 계속 사용할 수 있습니다. PHP 5.0.0부터, 긴 형태의 PHP 예약 변수 배열을 register_long_arrays 지시어로 제거할 수 있습니다.
  • 기본값으로, 외부 변수를 더 이상 전역 변수로 등록하지 않습니다. 즉, PHP » 4.2.0부터 php.ini에서의 PHP 설정 register_globals의 기본값이 off가 되었습니다. 이 값들에의 접근은 위에서 언급한 자동전역 배열을 이용하는 것을 권장합니다. 예전의 스크립트, 책, 그리고 튜토리얼은 이 설정을 on이라고 생각합니다. 예를 들어, 이 설정이 on이라면 누군가가 $id를 URL http://www.example.com/foo.php?id=42처럼 사용할 수 있습니다. on/off에 관계 없이, $_GET['id']는 사용할 수 있습니다.
이 변화에 대한 자세한 내용은 예약 정의 변수 섹션과 그 안의 링크들을 참고하십시오.

이전 | 위로 | 다음
폼 다루기 | 처음으로 | 다음은?


다음은?

새로운 지식으로 매뉴얼과 예제 아카이브의 수많은 예제 스크립트의 대부분을 이해할 수 있을 것입니다. php.net 사이트의 또다른 예제들을 다음 링크 섹션에서 찾아볼 수 있습니다: » http://www.php.net/links.php.

PHP로 할 수 있는 많은 일들에 대한 다양한 슬라이드 프리젠테이션을 PHP Conference Material 사이트에서 볼 수 있습니다: » http://conf.php.net/, » http://talks.php.net/

이전 | 위로 | 다음
새 버전의 PHP에서 예전의 코드를 사용하기 | 처음으로 | II. 설치와 설정


부 III. 언어 레퍼런스

차례

10. 기본 문법
11. 변수형
12. 변수
13. 상수
14. 표현식
15. 연산자
16. 제어 구조
17. 함수
18. 클래스와 객체
19. 클래스와 객체 (PHP 5)
20. Namespaces
21. Exceptions
22. 참조 표현
이전 | 위로 | 다음
How to change configuration settings | 처음으로 | 10. 기본 문법


10장. 기본 문법

차례

HTML에서 벗어나기
명령 구분 기호
주석

HTML에서 벗어나기

PHP가 파일을 해석할때 PHP코드로 해석하라고 하는 특별한 코드와 만나지 않는다면 단순히 그 파일의 텍스트를 넘겨줄 뿐이다. 해석기(parser)는 PHP 닫기 태그가 있는곳까지 발견된 코드 모두를 수행한다. PHP 닫기 태그 를 만나면 다시 텍스트를 그냥 넘겨주기 시작하는것이다. 이런 메카니즘은 HTML안에 PHP코드를 내장시킬수 있게 해준다: PHP 태그 밖의 모든것은 완전히 단독으로 존재하는것이고, 반면에 PHP 태그 안쪽은 코드로서 해석이 된다.

PHP 코드 블록은 네가지의 태그형태로 표시할수 있다. 이 중에서 두가지 (<?php. . .?> 과 <script language="php">. . .</script>)는 항상 유효한 형태이다. 반면에 다른 형태는 php.ini 설정 파일에서 켜거나 끌 수 있다. 짧은형(short-form)태그와 ASP스타일(ASP-style) 태그는 편하겠지만, 긴 형태 태그만큼 이식성이 뛰어나진 못하다. XML이나 XHTML안에 PHP코드를 내장시키려면 XML과 호환될수 있도록 <?php. . .?>형을 써야한다.

PHP가 지원하는 태그 형태:

예 10.1. HTML에서 벗어나기

1.  <?php echo("XHTML나 XML 문서와 호환시키려면, 이렇게 쓰세요\n"); ?>

2.  <? echo ("이런 형태가 제일간단하다. SGML 처리명령\n"); ?>
    <?= expression ?>는 "<? echo expression ?>"을 간단히 쓴 태그형

3.  <script language="php">
        echo ("어떤 에디터 (프론트페이지같은)는
              처리 명령을 좋아하지 않는다");
    </script>

4.  <% echo ("ASP스타일 태그를 쓸수도 있다"); %>
    <%= $variable; # 이것은 "<% echo . . ." %>을 간단히 쓴 태그형

첫번째 방법 <?php. . .?>을 쓰는것이 가장 좋다. 이런 형태는 XHTML과 같은 XML호환 코드안에 PHP를 쓸수 있게 해주기때문이다.

두번째 방법은 항상 유효하지 않다. 이 짧은 형은 활성화시켰을때만 유효하다. short_tags() 함수 (PHP 3에서만)로, PHP 설정 파일 안의 short_open_tag 설정 값을 활성화시키거나, configure명령 시에 --enable-short-tags옵션을 줘서 PHP를 컴파일함으로써 가용하게 할수있다.

네번째 방법은 asp_tags설정값을 활성화시킴으로써 ASP 스타일 태그형태를 쓸수 있을때만 유효하다.

참고: 3.0.4부터 ASP 스타일 태그에 대한 지원이 추가되었다

참고: 프로그램이나 재사용을 위한 라이브러리를 개발할때, 또는 통제밖의 PHP서버에 배치시킬때는 짧은 형 태그를 쓰는것은 피해야 한다. 왜냐하면 짧은 형 태그는 목표하는 서버에서 지원되지 않을수도 있기 때문이다. 이식성을 위해서, 재사용 코드는 짧은 형 태그로 쓰지 않도록 한다.

블록의 닫기 태그가 하나만 존재한다면 그 뒤에 바로 새줄(newline)이 포함될것이다. 또, 닫기 태그는 자동적으로 세미콜른(;)의 역할도 수행한다. 따라서 PHP블록의 마지막 줄은 세미콜른 으로 끝낼 필요가 없다.

PHP는 다음과 같은 구조도 허용이 된다:

예 10.2. 향상된 회피(escaping)

<?php
if ($expression) {
    ?>
    <strong>이것은 참이다.</strong>
    <?php
} else {
    ?>
    <strong>이것은 거짓이다.</strong>
    <?php
}
?>

이런 구조는 기대하던대로 작동한다. 왜냐하면 PHP는 ?>닫기 태그에 맞닥뜨리고나서 열기 태그를 만나기 전까지의 무엇이든 단순히 출력만 하기 때문이다. 이 예제는 PHP 파싱 모드를 줄임으로써 echo()나 print() 또는 비슷한 함수들이 모든 텍스트를 출력하는것보다 효율적으로 거대한 텍스트 블록 을 출력할수 있게 한다.

이전 | 위로 | 다음
III. 언어 레퍼런스 | 처음으로 | 명령 구분 기호


명령 구분 기호

명령은 C나 펄과 같은 기호를 사용하여 구분한다 - 각 명령은 세미콜른(;) 으로 끝난다.

닫기 태그 (?>)는 또한 문장의 끝이라는 의미를 내포한다. 그래서 다음 문장은 동일하다:

<?php
    echo "This is a test";
?>

<?php echo "This is a test" ?>

이전 | 위로 | 다음
10. 기본 문법 | 처음으로 | 주석


주석

PHP는 'C', 'C++', Unix 셀 스타일(shell-style)의 주석(comment)형태를 지원한다. 예를 들면:

<?php
    echo "This is a test"; // 한줄짜리 c++ 스타일 주석
    /* 여러줄의 주석
       이줄까지 주석처리 된다 */
    echo "This is yet another test";
    echo "One Final Test"; # 셀스타일의 한줄짜리 주석
?>

"한줄짜리" 주석은 그 줄의 끝이나, 처음에 무엇이 오든 해당 PHP코드 블록에 주석을 단다.

<h1>This is an <?php # echo "simple";?> example.</h1>
<p>The header above will say 'This is an example'.

'C' 스타일 주석을 중복 내포하지 않도록 주의해야 한다. 이와 같은 실수는 거대한 블록을 주석처리할 때 일어날수 있다.

<?php
 /*
    echo "This is a test"; /* 이 주석은 문제를 일으킬것이다. */
 */
?>

한줄짜리 주석은 그 줄의 끝이나, 처음에 무엇이 오든 해당 PHP코드 블록에 주석을 단다. 이 말의 의미는 // ?>이후에 HTML코드가 출력될것이 라는 것이다: ?> 은 PHP모드를 벗어나서 HTML모드로 돌아오게 하고, //은 이 동작에 영향을 미치지 못한다.

이전 | 위로 | 다음
명령 구분 기호 | 처음으로 | 11. 변수형


11장. 변수형

차례

소개
논리값
정수
부동소수점
문자열
배열
객체
자원
NULL
이 문서에서 사용되는 의사 타입
타입 저글링

소개

PHP는 8가지의 기본 변수형을 지원한다.

4가지 스칼라형:

  • boolean
  • integer
  • float (floating-point number, aka 'double')
  • string
2가지 복합 타입:
  • array
  • object
그리고 최종적으로 다음의 2가지 타입:
  • resource
  • NULL
이 매뉴얼에서는 몇가지의 의사(pseudo) 타입도 소개한다. for readability reasons:
  • mixed
  • number
  • callback
"double" 타입과 비슷한 타입을 볼수 있을것이다. double은 float과 같은 타입이다. 두개의 타입이 존재하는 이유는 역사적인 이유일뿐이다.

보통은 프로그래머가 변수의 타입을 결정할수 없다. 대신에, PHP가 변수가 사용되는 환경에 따라 실시간으로 결정하게 된다.

참고: 표현식의 타입과 값을 확인하려한다면, var_dump()을 사용한다.

디버깅을 위해 타입을 판독하려고 하면, gettype()를 사용한다. 정확히 어떠 타입을 사용하는지 확인하려면 gettype()함수를 사용하지 말고, is_type함수를 사용하도록 한다. 몇가지 예제 코드를 보자:

<?php
$bool = TRUE;   // a boolean
$str  = "foo";  // a string
$int  = 12;     // an integer

echo gettype($bool); // prints out "boolean"
echo gettype($str);  // prints out "string"

// If this is an integer, increment it by four
if (is_int($int)) {
    $int += 4;
}

// If $bool is a string, print it out
// (does not print out anything)
if (is_string($bool)) {
    echo "String: $bool";
}
?>

변수를 다른 타입으로 변경하려한다면 변수를 캐스트하거나 settype()함수를 사용하면 된다.

변수는 특수한 상황에서는 그 당시에 무슨 타입을 쓰는지에 따라 다른 값으로 변경될수 있다는 것에 주의 해야 한다. 자세한 정보는 타입 저글링을 참고. 타입 비교 테이블를 보면, 다양한 타입의 비교의 예제코드를 볼수 있다.

이전 | 위로 | 다음
주석 | 처음으로 | 논리값


논리값

이 타입은 가장 쉬운 타입니다.boolean은 논리값을 표현한다. TRUE 나 FALSE 값이 될수 있다.

참고: boolean 타입은 PHP 4부터 지원되었다.

문법

boolean 을 표현하기 위해서 키워드 TRUE 나 FALSE를 사용한다. 두 가지 모두 대소문자를 구별하지 않는다.

<?php
$foo = True; // assign the value TRUE to $foo
?>

보통은 boolean값을 돌려주는 몇 가지 연산자를 사용해서 그 값을 제어 구조로 전달한다.

<?php
// == is an operator which test
// equality and returns a boolean
if ($action == "show_version") {
    echo "The version is 1.23";
}

// this is not necessary...
if ($show_separators == TRUE) {
    echo "<hr>\n";
}

// ...because you can simply type
if ($show_separators) {
    echo "<hr>\n";
}
?>

boolean으로 변환

명시적으로 boolean 값으로 변경하려면 (bool)이나 (boolean) 캐스트를 사용한다. 하지만, 대부분의 경우 이런 캐스트를 사용할 필요는 없다. 왜냐하면 그 값은 연산자나 함수 또는 제어구조가 boolean인자를 요구하면 자동으로 변환된다.

타입 저글링도 참고.

boolean로 변경할때, 다음값은 FALSE로 본다:

  • boolean FALSE 자체
  • integer 0 (zero)
  • float 0.0 (zero)
  • 비어있는 문자열과 문자열 "0"
  • 아무 구성요소도 갖지 않는 배열
  • 아무 멤버 변수도 갖지 않는 객체
  • 특별한 타입인 NULL (변수를 unset하는 것도 포함)
이 외의 다른 모든 값은 TRUE로 본다 (모든 자원이 포함됨).
주의

모든 0이 아닌 (양수이든 음수이든) TRUE가 되는 것처럼 -1은 TRUE로 본다,

<?php
echo gettype((bool) "");        // bool(false)
echo gettype((bool) 1);         // bool(true)
echo gettype((bool) -2);        // bool(true)
echo gettype((bool) "foo");     // bool(true)
echo gettype((bool) 2.3e5);     // bool(true)
echo gettype((bool) array(12)); // bool(true)
echo gettype((bool) array());   // bool(false)
?>

이전 | 위로 | 다음
11. 변수형 | 처음으로 | 정수


정수

integer는 거대한 집합 Z = {..., -2, -1, 0, 1, 2, ...}이다.

Arbitrary length integer / GMP, 부동 소수점수, Arbitrary precision / BCMath를 참고

문법

정수는 10진수(10-based), 16진수(16-based), 8진수(8-based) 표기법으로 표현 될수 있다. 선택적으로 부호 (- 나 +)를 사용할수 있다.

8진수 표기법을 사용하면, 0 (zero)를 숫자의 앞에 붙여야 하며, 16진수 표기하려면 0x을 숫자 앞에 붙이도록 한다.

예 11.1. 정수 리터럴

<?php
$a = 1234; # decimal number
$a = -123; # a negative number
$a = 0123; # octal number (equivalent to 83 decimal)
$a = 0x1A; # hexadecimal number (equivalent to 26 decimal)
?>

공식적으로 가능한 정수 리터럴의 구조는 다음과 같다:

decimal     : [1-9][0-9]*
            | 0

hexadecimal : 0[xX][0-9a-fA-F]+

octal       : 0[0-7]+

integer     : [+-]?decimal
            | [+-]?hexadecimal
            | [+-]?octal
약 20억을 최대값(부호가 있는 32비트)으로 사용할수 있을지라도, 정수의 크기는 플랫폼에 따라 달라지게 된다. PHP는 부호없는(unsigned) 정수 를 지원하지 않는다.

정수 오버플로우

정수타입의 범위를 넘는 수를 사용하려면 그 값은 대신 float타입으로 해석될 것이다. 또한, 결과값이 integer타입의 범위를 초과하게 되는 작업을 수행되면, 그 값은 대신 float으로 돌려줄것이다.

<?php
$large_number =  2147483647;
var_dump($large_number);
// output: int(2147483647)

$large_number =  2147483648;
var_dump($large_number);
// output: float(2147483648)

// this goes also for hexadecimal specified integers:
var_dump( 0x80000000 );
// output: float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);
// output: float(50000000000)
?>
주의

불운하게도, PHP는 버그로 인해 음수와 연계될때 정확하게 동작하지 않을수 있다. 예를 들면 -50000 * $million를 수행하면, 결과는 -429496728이 될것이다. 두 피연산자가 모두 양수이면 아무 문제가 없다.

이 문제는 PHP 4.1.0에서 해결되었다.

PHP에는 정수 나누기 연산자가 없다. 1/2는 float 0.5가 된다. 반올림하기 위해 정수로 값을 캐스트하거나, round() 함수를 쓸수 있다.

<?php
var_dump(25/7);         // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4)
?>

정수로 변환하기

명시적으로 integer로 변환하려면 (int)나 (integer) 캐스트를 사용한다. 하지만, 대부분의 경우 이런 캐스트를 사용할 필요가 없다. 왜냐하면 연산자 나 함수 또는 제어 구조가 integer 인수를 요구한다면 자동으로 변환되기 때문이다. 또한 intval()함수로 정수값으로 변환할수 있다.

See also type-juggling.

논리값에서

FALSE는 0 (zero), 그리고 TRUE는 1 (one).

부동소수점수에서

float에서 integer로 변환할때, 그 수는 0으로 깍일것이다.

float이 integer범위를 초과하면 (주로 +/- 2.15e+9 = 2^31), 결과는 정의되지않는다. 왜냐하면 float은 정확한 정수값을 돌려주기에 충분한 정밀도를 갖지 않기 때문이다. 이 경우에는 warning이나 notice조차도 나타나지 않는다!

주의

알려지지 않은 소수를 integer로 캐스트하지 말것, 왜냐하면 이렇게 하는경우에 종종 기대하지 않는 결과를 유도할수 있기 때문이다.

<?php
echo (int) ( (0.1+0.7) * 10 ); // echoes 7!
?>
자세한 정보는 부동-정밀도에 관한 경고를 참고.

문자열로부터

문자열을 숫자로 변환하기를 참고

다른 타입으로부터

경고

정수로의 변환은 다른 타입에 대해 정의되지 않는다. 현재까지는 값이 논리값으로 변환될때와 동일하게 동작한다. 하지만, 경고 없이 변할수 있기 때문에 이 동작에 연관짓지 말것

이전 | 위로 | 다음
논리값 | 처음으로 | 부동소수점


부동소수점

부동소수점(AKA "floats", "doubles", "real numbers")은 다음과 같은 문법으로 표현될수 있다.

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>
공식적으로:
LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM ( ({LNUM} | {DNUM}) [eE][+-]? {LNUM})
float의 크기는 십진수 14자리가 일반적인 값(64비트 IEEE 포맷)이 되는 정밀도를 갖는 ~1.8e308까지의 최대값을 갖을지라도 플랫폼에 따라 달라진다.

부동소수점 정밀도

0.1이나 0.7와 같은 단순한 십진수의 분수는 약간의 정밀도의 소실없이 내부적인 이진처리로 변환될 수 없다. 이 사실은 혼란스런 결과를 유도할수 있다: 예를 들면, floor((0.1+0.7)*10)은 기대값 8이 아닌 7을 돌려준다. 내부적인 표현이 7.9999999999...와 같을것이기 때문이다.

이와 같은 이유로 유한값의 십진표기법을 쓰는 몇몇 소수를 정확히 표현할수 없다는 것이다. 예를 들면, 십진표기법의 1/3은 0.3333333. . .이 된다.

결코 부동소수점이 마지막 수를 갖을수 있을것이라고 생각하거나 부동소수점이 동일한지 비교하도록 해서는 안된다. 더 높은 정밀도가 필요하면, 대신 arbitrary precision math functions나 gmp함수를 사용하도록 해야 한다.

float으로 변환하기

문자열이 언제, 어떻게 float으로 변환하는지에 대한 정보는 문자열을 숫자로 변환하기섹션을 참고하라. 다른 타입에 대한 변환은 그 값이 integer나 float으로 변환하는 방식과 동일하다. 더 자세한 정보는 integer로 변환하기를 참고.

이전 | 위로 | 다음
정수 | 처음으로 | 문자열


문자열

string은 일련의 문자들이다. PHP에서 문자는 바이트와 같다. 즉 정확히 서로다른 256개의 문자를 사용할수 있다. 또한 PHP는 기본적으로 유니코드 지원을 갖지않는다. 유니코드에 대한 지원은 utf8_encode()과 utf8_decode()함수를 참고

참고: 문자열이 아무 문제없이 매우 커질수 있다. PHP에서 사용되는 문자열은 실질적으로 범위제한을 갖지 않는다. 그래서 긴 문자열에 대해서 걱정할 이유가 전혀 없다.

문법

문자열 리터럴은 3가지 다른 방식으로 표현될수 있다.

  • 작은 따옴표
  • 큰 따옴표
  • 상속 문법

작은 따옴표

단순한 문자열을 표현하는 가장 간단한 방법이 작은 따옴표 (문자 ')로 문자열을 둘러싸면 된다.

작은따옴표를 리터럴로 표현하려면 역슬래쉬(\)로 회피할 필요가 있다. 다른 많은 언어에서도 이와같은 방식을 사용한다. 작은 따옴표 앞이나 문자열의 끝에서 역슬래쉬가 있을필요가 있으면, 이것은 중복사용할 필요가 있다. 다른 모든 문자를 회피하려하면 역슬래쉬가 출력되어야 할것이란 것에 주의하라! 그래서 보통은 역슬래쉬 자체를 회피할 필요가 없다.

참고: PHP 3에서 이와 같은 일이 발생하면 E_NOTICE레벨의 경고가 출력될것이다.

참고: 이외 다른 두가지 문법과는 달리 작은 따옴표로 둘러싸인 문자열에서 변수와 특별한 문자를 위한 회피는 전개되지 못한다.

<?php
echo 'this is a simple string';

echo 'You can also have embedded newlines in
strings this way as it is
okay to do';

// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';

// Outputs: You deleted C:\*.*?
echo 'You deleted C:\\*.*?';

// Outputs: You deleted C:\*.*?
echo 'You deleted C:\*.*?';

// Outputs: This will not expand: \n a newline
echo 'This will not expand: \n a newline';

// Outputs: Variables do not $expand $either
echo 'Variables do not $expand $either';
?>

큰 따옴표

문자열이 큰따옴표(")로 둘러싸이면, PHP는 특별한 문자의 회피를 더 잘 이해한다.

표 11.1. 회피 문자

sequence | meaning
\n | linefeed (LF or 0x0A (10) in ASCII)
\r | carriage return (CR or 0x0D (13) in ASCII)
\t | horizontal tab (HT or 0x09 (9) in ASCII)
\\ | backslash
\$ | dollar sign
\" | double-quote
\[0-7]{1,3} | 이 정규표현식은 8진표기법의 일련의 문자이다.
\x[0-9A-Fa-f]{1,2} | 이 정규표현식은 16진표기법의 일련의 문자이다.

다시 얘기하면, 다른 어떤 문자를 회피하려한다면, 역슬래쉬도 출력될것이다!

그러나 큰따옴표로 둘러싸인 문자열의 가장 중요한 특징은 변수명이 전개될것이란 사실이다. 더 자세한 사항은 문자열 해석을 참고.

히어닥 문법

문자열을 구분하는 다른 방법은 히어닥 문법("<<<")을 사용하는것이다. <<<이후에 식별자가 와야 하고 그다음에 문자열, 그다음에 인용을 닫는 어떤 식별자가 와야 한다.

닫기 식별자는 그 줄의 첫번째 컬럼에서 시작되어야 한다. 또한, 식별자는 PHP의 다른 라벨과 같은 명명규칙을 따라야 한다: 오직 알파벳 숫자와 밑줄을 포함하고 숫자가 아닌 문자나 밑줄로 시작되어야 한다.

주의

닫기 식별자를 갖는 줄은 가능한 세미콜른(;)를 제외하고 다른 문자를 포함하지 않는다는것에 주의해야 한다. 이말은 특별히 식별자가 줄맞춤이 되지 않을 것이고 어떤 공백이나 탭문자도 세미콜른의 앞이나 뒤에 있지 않을것이란 것이다. 닫기 식별자 전의 첫 문자는 운영체제에서 정의된 새줄이 되어야 한다는 것을 인식해야 한다. 예를 들면 매킨토시에서는 \r이 된다.

이 규칙을 깨고 닫기 식별자가 "확실"하지 않으면, 닫기 식별자로 인식되지 않으며 PHP는 다른 식별자를 계속 찾게 될것이다. 그래서 적절한 닫기 식별자가 발견되지 않으면 스크립트 끝의 줄번호로 해석 에러가 출력될것이다.

히어닥 텍스트는 큰따옴표가 없지만 큰따옴표로 둘러싸인 문자열처럼 동작한다. 히어닥에서는 따옴표를 회피할 필요가 없다는 의미를 갖는다. 그러나 여전히 위에서 열거한 회피 코드를 사용할수 있다. 문자가 전개되면, 히어닥 안의 복합 변수를 문자열로 표현할때 같은 주의가 필요하다.

예 11.2. 히어닥 문자열 인용 예

<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

/* More complex example, with variables. */
class foo
{
    var $foo;
    var $bar;

    function foo()
    {
        $this->foo = 'Foo';
        $this->bar = array('Bar1', 'Bar2', 'Bar3');
    }
}

$foo = new foo();
$name = 'MyName';

echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>

참고: 히어닥 지원은 PHP 4에서 추가되었다.

변수 해석

문자열이 큰따옴표나 히어닥으로 표현되면 변수는 그 안에서 해석된다.

두가지 형태의 문법이 존재한다: 단순문법과 복합문법이다. 단순 문법은 가장 일반적이고 가장 편하다. 이 문법은 변수나 array값, object속성을 해석하는 방법을 제공한다.

복합 문법은 PHP 4에서부터 지원되고, 중괄호로 둘러싸는 표현으로 인식된다.

단순 문법

달러사인($)과 만나면, 해석기는 가능한 많은 토큰을 취해서 유효한 변수명을 형성하게 된다. 중괄호로 변수명을 둘러싸면 이름의 끝을 명시적으로 표시하려는 것이다.

<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // works, "'" is an invalid character for varnames
echo "He drank some $beers";   // won't work, 's' is a valid character for varnames
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works
?>

비슷하게, array 인덱스나 해석된 object특성을 보유할수 있다. 배열 인덱스로 닫음 대괄호 (])는 인덱스의 끝을 표시한다. 객체 속성은 변수를 갖는 트릭이 존재하지 않지만, 객체 특성에 대해서 단순한 변수에 적용되는 규칙과 같다.

<?php
// These examples are specific to using arrays inside of strings.
// When outside of a string, always quote your array string keys
// and do not use {braces} when outside of strings either.

// Let's show all errors
error_reporting(E_ALL);

$fruits = array('strawberry' => 'red', 'banana' => 'yellow');

// Works but note that this works differently outside string-quotes
echo "A banana is $fruits[banana].";

// Works
echo "A banana is {$fruits['banana']}.";

// Works but PHP looks for a constant named banana first
// as described below.
echo "A banana is {$fruits[banana]}.";

// Won't work, use braces.  This results in a parse error.
echo "A banana is $fruits['banana'].";

// Works
echo "A banana is " . $fruits['banana'] . ".";

// Works
echo "This square is $square->width meters broad.";

// Won't work. For a solution, see the complex syntax.
echo "This square is $square->width00 centimeters broad.";
?>

좀더 복잡한 변수에 대해서, 복합 문법을 사용해야 한다.

복합(curly) 문법

이 방법은 문법이 복합적이라서 복합이라고 부르는것이 아니다. 대신에 이 방법으로 복합 표현식을 포함할수 있기 때문이다.

사실, 이 문법으로 문자열의 네임스페이스에 존재하는 어떤변수 도 포함할수 있다. 단순히 문자열을 드러내는 방법과 동일한 표현식을 쓸수 있다. 그리고 { 과 } 안에 그것을 포함한다. '{'를 회피할 수 없기 때문에 이 문법은 $가 즉시 {뒤에 올때만 인식된다. ("{$" 리터럴을 쓰려면 "{\$" 이나 "\{$" 을 사용하라). 몇가지 예를 보고 위 설명을 이해해보자:

<?php
// 모든 에러를 보여줍니다.
error_reporting(E_ALL);

$great = 'fantastic';

// 작동하지 않습니다, 출력: This is { fantastic}
echo "This is { $great}";

// 작동합니다, 출력: This is fantastic
echo "This is {$great}";
echo "This is ${great}";

// 작동합니다.
echo "This square is {$square->width}00 centimeters broad.";

// 작동합니다.
echo "This works: {$arr[4][3]}";

// $foo[bar]가 문자열 밖에서 유효하지 않은 것과 마찬가지로,
// 잘못되었습니다. 즉, 이는 작동하지만 PHP는 먼저 상수 이름
// foo를 찾고, E_NOTICE 레벨의 오류(정의되지 않은 상수)를
// 발생합니다.
echo "This is wrong: {$arr[foo][3]}";

// 작동합니다. 문자열 안에서 다차원 배열을 사용할 때는,
// 항상 배열 주위를 중괄호로 감싸주십시오.
echo "This works: {$arr['foo'][3]}";

// 작동합니다.
echo "This works: " . $arr['foo'][3];

echo "You can even write {$obj->values[3]->name}";

echo "This is the value of the var named $name: {${$name}}";
?>

문자열의 문자에 접근 및 변경

문자열 내의 문자들 중 원하는 문자를 중괄호안에 0을 기준으로 한 위치를 표기하여 접근하고, 변경할 수 있습니다.

참고: 하위 버전과의 호환을 위해, 같은 목적으로 대괄호를 사용할 수 있습니다. 하지만, 이 문법은 PHP 4에서 배제되었습니다.

예 11.3. 몇 가지 문자열 예

<?php
// Get the first character of a string
$str = 'This is a test.';
$first = $str{0};

// Get the third character of a string
$third = $str{2};

// Get the last character of a string.
$str = 'This is still a test.';
$last = $str{strlen($str)-1};

// 문자열의 마지막 문자를 변경.
$str = 'Look at the sea';
$str{strlen($str)-1} = 'e';

?>

유용한 함수와 연산자

문자열들은 '.' (점) 연산자를 사용하여 합칠수 있다. '+' (덧셈) 연산자는 이 목적에 부합되지 않는다는 것에 주의해야 한다. 자세한 정보는 문자열 연산자를 참고

문자열 조작을 위한 많은 유용한 함수가 지원된다.

일반적인 기능을 대해서는 문자열 함수 섹션을 참고하고, 향상된 find&replace 기능을 위해 정규표현식 함수를 참고 (두가지 중 선택할수 있다: Perl과 POSIX extended).

URL-문자열을 위한 함수와 문자열을 encrypt/decrypt하는 함수도 지원된다. (mcrypt과 mhash).

그래도 원하는 기능을 찾을수 없다면, 문자 타입 함수로 참고.

문자열로 변환

(string)이나 strval()함수를 사용하여 값을 문자열로 변환할수 있다. 문자열 변환은 문자열이 필요한 표현식의 유효영역 내에서 자동적으로 이루어진다.이런 일은 echo()나 print()함수를 쓸때, 또는 변수값을 문자열과 비교할때 발생한다. 타입과 타입 저글링 매뉴얼 섹션을 읽음으로써 다음에서 설명하는 것을 더욱 명확하게 이해하게 될것이다. settype()함수도 참고.

boolean TRUE값은 문자열 "1"로 변환된다. FALSE 값은 "" (빈 문자열)로 표현된다. 이 원리로 논리값과 문자열값 사이에서 어느 방향으로든 변환이 가능하다.

integer나 부동소수점(float)은 각 자리의 숫자를 문자열로 변환할수 있다 (부동소수점수에 대한 지수부를 포함함).

배열은 항상 문자열 "Array"로 변환된다. 그래서 배열 안에 무엇이 들었는지 보기 위해 echo()나 print()를 쓴다고 해서 array의 내용을 덤프할수 없다. 한 요소를 보기 위해서는 echo $arr['foo']와 같이 써줘야 한다. 전체 내용물을 덤프/보기 위한 팁을 아래글에서 볼수 있다.

객체는 항상 문자열 "Object"로 변환된다. 만약 디버깅 목적으로 object의 멤버 변수를 모두 출력하고 싶으면, 아래 단락을 보라. 특정 객체를 만들어내는 클래스명을 확인하려한다면, get_class()를 사용하라.

자원은 항상 구조체 "Resource id #1"를 갖는 문자열로 변환된다. 1은 실행기간동안 PHP에 의해 설정되는 resource의 유일한 수이다. 자원의 타입을 얻고자 하면, get_resource_type()함수를 사용하라.

NULL 은 항상 빈 문자열로 변환된다.

위글에서 볼수 있듯이, 배열, 객체 또는 자원을 출력하는 것은 배열자체에 대한 어떤 유용한 정보도 제공해주지 않는다. 디버깅을 위해 그 값들을 출력하는 가장 좋은 방법인 print_r()과 var_dump() 함수를 참고할것.

PHP 값을 지속적으로 저장하기 위해 문자열로 변환할수 있다. 이런 방법을 직렬화(serialization)라고 한다. 함수 serialize()를 사용하면 된다. PHP 값을 XML 구조체로 직렬화할수도 있다. PHP 설정시 WDDX 지원 옵션을 추가하면 된다.

문자열을 숫자로 변환하기

문자열을 숫자값으로 취급할때, 결과값과 타입은 다음과 같이 결정된다.

그 값이 '.', 'e', 'E' 중에 어느것이든 포함하고 있으면 float으로 취급될것이다. 그렇지 않으면, 정수로 취급할것이다.

그 값은 문자열의 시작부분에 의해 주어진다. 문자열이 유효한 숫자 데이터로 시작되면, 이것이 사용되는 값이 될것이다. 그렇지 않으면 그 값은 0(zero)로 된다. 유효한 숫자 데이터는 선택적인 부호, 한자리 이상(선택적인 십진 포인트를 포함)의 수, 선택적인 지수가 될수있다. 지수는 한자리 이상의 수가 'e' 이나 'E'의 뒤에 오면 된다.

<?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11)
?>

이런 종류의 변환에 대한 더 많은 정보는 strtod(3)의 유닉스 매뉴얼 페이지에서 볼수 있다.

이 섹션의 어떤 예제를 테스트하려면, 예제를 복사해서 붙여넣으면 되고 무슨일이 일어나는지 확인하기 위해 다음 줄을 삽입할수 있다.

<?php
echo "\$foo==$foo; type is " . gettype ($foo) . "<br />\n";
?>

정수로 변환하여 한 문자의 코드를 얻을수 있다고 기대하지 마시오 (예를 들면 C에서 하는 것처럼). 캐릭터코드와 문자 사이의 변환을 위해서는 ord()와 chr()함수를 사용할수 있다.

이전 | 위로 | 다음
부동소수점 | 처음으로 | 배열


배열

PHP에서 배열은 실질적으로 순서가 있는 맵이다. 한 맵은 values를 keys로 맵핑하는 타입이다. 이 타입은 몇가지 목적에 의해 옵티마이징될수 있다. 그래서 그 타입을 실제 배열이나 리스트(vector), 해쉬테이블(map의 구현), 딕셔너리(dictionary), 컬렉션(collection), 스택(stack), 큐(queue), 등등으로 사용할수 있다. 다른 PHP 배열을 값으로 갖을수 있기 때문에, 트리(tree)를 아주 쉽게 시뮬레이션할수 있다.

그런 데이터 구조(자료 구조)는 이 매뉴얼의 범위를 벗어난다. 그러나 그들 각각의 예를 최소한 하나는 발견할수 있을것이다. 자세한 정보를 위해 이 광범위한 주제에 대한 참고서적을 제시해줄것이다.

문법

array()함수로 명기

array는 array() 언어-구조에 의해 생성될수 있다. 이 함수는 콤마로 구분되는 몇 개의 key => value쌍을 취할수 있다.

array(  key =>  value
     , ...
     )
// key may be an integer or string
// value may be any value

<?php
$arr = array("foo" => "bar", 12 => true);

echo $arr["foo"]; // bar
echo $arr[12];    // 1
?>

key는 integer나 string타입이 될수 있다. key가 표준적인 integer타입이면, 그 값으로 해석될것이다 (즉, "8"은 8로 해석되는 반면, "08"은 "08"로 해석된다). PHP에서 인덱스 배열과 연관 배열 사이는 아무 차이가 없다; 오직 하나의 배열 타입만이 있는데, 그 배열은 정수나 문자열 인덱스를 모두 포함할수 있다.

값은 모든 종류의 PHP 타입이 될수 있다.

<?php
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));

echo $arr["somearray"][6];    // 5
echo $arr["somearray"][13];   // 9
echo $arr["somearray"]["a"];  // 42
?>

주어진 값에 대한 key를 표기하지 않으면, 정수 인덱스의 최대값이 취해져서 새로운 key는 최대값 + 1이 될것이다. 이미 값을 보유하고 있는 key를 지정하게 되면, 그 값은 덮어씌어질것이다.

<?php
// This array is the same as ...
array(5 => 43, 32, 56, "b" => 12);

// ...this array
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>

주의

PHP 4.3.0에서는 위에서 설명한 인덱스 생성 동작이 변경되었다. 즉, 현재 최대 key가 음수인 배열에 추가동작이 발생하면, 다음 key는 제로 (0)가 될것이다. 전에는, 새로운 인덱스는 기존의 가장 큰 key + 1로 되었었다. 양수의 인덱스에는 같은 동작을 한다.

key로 TRUE를 사용하는 것은 integer 1 key가 될것이다. key로 FALSE를 사용하면 integer 0 key가 될것이다. key로 NULL을 사용하면 빈 문자열로 취급될것이다. key로 빈문자열을 사용하는 것은 빈 문자열을 갖는 key를 만들고 그 값을 생성 (또는 덮어씀)한다; 빈 대괄호를 사용하는것과는 다르다.

key로 배열이나 객체를 사용할수 없다. 그렇게 하면 다음과 같은 경고가 발생할것이다: Illegal offset type.

대괄호 문법을 사용하여 생성/변경

그 안에 값을 명시적으로 표시함으로써 기존의 배열을 변경할수 있다.

이와 같은 일은 대괄호 안에 key를 표시함으로해서 배열에 값을 지정하여 수행한다. key를 빼먹을수도 있고, 그 경우에 변수명에 빈 대괄호("[]")를 추가한다.

$arr[key] = value;
$arr[] = value;
// key may be an integer or string
// value may be any value
$arr이 아직 존재하지 않으면, 생성될것이다. 그래서 이 방법이 배열을 표현하는 대안이 된다. 어떤 값을 변경하려면, 그 key로 표현되는 요소에 새로운 값을 지정한다. key/value 쌍을 제거하려면, 그것을 unset()할 필요가 있다.
<?php
$arr = array(5 => 1, 12 => 2);

$arr[] = 56;    // This is the same as $arr[13] = 56;
                // at this point of the script

$arr["x"] = 42; // This adds a new element to
                // the array with key "x"

unset($arr[5]); // This removes the element from the array

unset($arr);    // This deletes the whole array
?>

참고: 위에서 설명한바와 같이, key가 없는 대괄호를 사용한다면, 존재하는 정수 인덱스의 최대값이 취해질것이고, 새로운 key는 최대값의 + 1이 될것이다. 정수 인덱스가 아직 존재하지 않으면, key는 0(제로)가 될것이다. 이미 값을 보유하고 있는 key로 지정하면, 그 값은 덮어 씌어질것이다.

주의

PHP 4.3.0에서는 위에서 설명한 인덱스 생성 동작이 변경되었다. 즉, 현재 최대 key가 음수인 배열에 추가동작이 발생하면, 다음 key는 제로 (0)가 될것이다. 전에는, 새로운 인덱스는 기존의 가장 큰 key + 1로 되었었다. 양수의 인덱스에는 같은 동작을 한다.

이 목적을 위한 최대 정수 key는 현재까지는 배열 안에 존재할 필요가 없다. 단순히 배열을 마지막으로 인덱스 한 이후 어떤 시간내에 배열 안에 존재해야 한다. 다음 예를 보면:

<?php
// Create a simple array.
$array = array(1, 2, 3, 4, 5);
print_r($array);

// Now delete every item, but leave the array itself intact:
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// Append an item (note that the new key is 5, instead of 0 as you
// might expect).
$array[] = 6;
print_r($array);

// Re-index:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

위 예제 코드는 다음을 출력할것이다:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

유용한 함수

배열을 위한 유용한 함수가 지원된다. 배열 함수 섹션을 볼것.

참고: unset()함수는 항상 배열의 key를 unset한다. 배열이 다시 인덱스되지 않을것이라는것에 주의한다. 오직 "가용한 정수 인덱스"를 사용한다면(제로에서 시작해서, 하나씩 증가), array_values()를 사용하여 재인덱싱 효과를 수행할수 있다.

<?php
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* will produce an array that would have been defined as
   $a = array(1 => 'one', 3 => 'three');
   and NOT
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Now b is array(0 => 'one', 1 =>'three')
?>

foreach 제어 구조는 배열을 위해 특별히 지원되는것이다. 배열 안을 이동하는 가장 빠른 방법을 제공한다.

배열이 하는것과 하지 않는것

왜 $foo[bar]이 잘못인가?

항상 문자열 리터럴 배열 인덱스 주위에는 따옴표를 사용해야 한다. 예를 들면, $foo['bar']을 사용하고 $foo[bar]은 사용하지 말라. 그러나 왜 $foo[bar]이 잘못인가? 오래된 스크립트에서 다음 문법을 볼수 있을것이다:

<?php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>
이것은 잘못된것이지만, 동작하다. 그렇다면, 왜 잘못인가? 그 이유는 이 코드가 문자열('bar' - 따옴표 사용) 보다는 정의되지 않은 상수 (bar)를 갖는다는것이다. 그리고 PHP는 미래에 상수를 정의할수 있는데, 불운하게도 이 코드에서, 같은 이름을 갖을수도 있다. 이것은 잘 작동하는 이유는 PHP가 자동으로 bare string(알려진 심벌과 대응되지 않는 따옴표 없는 문자열)을 bare string을 포함하는 문자열로 변환하기 때문이다. bar라는 이름으로 정의된 상수가 없으면, PHP는 그것을 'bar'로 대치시켜서 사용할것이다.

참고: 위 말은 항상 key를 따옴표 처리하라는 것이 아니다. 상수나 변수가 PHP에서 해석되는것을 방지하기 위해 key에서 이들을 따옴표처리하지 않을수 있다.

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Simple array:
$array = array(1, 2);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
    echo "\nChecking $i: \n";
    echo "Bad: " . $array['$i'] . "\n";
    echo "Good: " . $array[$i] . "\n";
    echo "Bad: {$array['$i']}\n";
    echo "Good: {$array[$i]}\n";
}
?>

위 예제코드의 출력은 다음과 같다:

Checking 0:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index:  $i in /path/to/script.html on line 11
Bad:
Good: 1

Checking 1:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index:  $i in /path/to/script.html on line 11
Bad:
Good: 2

위 사실을 설명하는 몇가지 예제 코드:

<?php
// Let's show all errors
error_reporting(E_ALL);

$arr = array('fruit' => 'apple', 'veggie' => 'carrot');

// Correct
print $arr['fruit'];  // apple
print $arr['veggie']; // carrot

// Incorrect.  This works but also throws a PHP error of
// level E_NOTICE because of an undefined constant named fruit
//
// Notice: Use of undefined constant fruit - assumed 'fruit' in...
print $arr[fruit];    // apple

// Let's define a constant to demonstrate what's going on.  We
// will assign value 'veggie' to a constant named fruit.
define('fruit', 'veggie');

// Notice the difference now
print $arr['fruit'];  // apple
print $arr[fruit];    // carrot

// The following is okay as it's inside a string.  Constants are not
// looked for within strings so no E_NOTICE error here
print "Hello $arr[fruit]";      // Hello apple

// With one exception, braces surrounding arrays within strings
// allows constants to be looked for
print "Hello {$arr[fruit]}";    // Hello carrot
print "Hello {$arr['fruit']}";  // Hello apple

// This will not work, results in a parse error such as:
// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'
// This of course applies to using autoglobals in strings as well
print "Hello $arr['fruit']";
print "Hello $_GET['foo']";

// Concatenation is another option
print "Hello " . $arr['fruit']; // Hello apple
?>

E_NOTICE 레벨 에러(E_ALL로 설정) 를 보이기 위해 error_reporting()함수를 쓸때, 다음과 같은 에러를 보게 될것이다. 기본값으로, error_reporting은 그들을 보여주지 않는다.

문법 섹션에서 설명한대로, 대괄호('[' 과 ']') 사이에 표현식이 존재해야 한다. 이 말의 의미는 다음과 같은 코드를 쓸수 있다는 뜻이다:

<?php
echo $arr[somefunc($bar)];
?>
배열 인덱스로 값을 돌려주는 함수를 사용하는 예를 보인다. 전에 E_*와 같은 것을 보았듯이, PHP는 상수들을 알고 있다.
<?php
$error_descriptions[E_ERROR]   = "A fatal error has occured";
$error_descriptions[E_WARNING] = "PHP issued a warning";
$error_descriptions[E_NOTICE]  = "This is just an informal notice";
?>
첫번째 예의bar처럼, E_ERROR는 유효한 식별자라는것에 주의한다. 그러나 위 예는 다음과 같다:
<?php
$error_descriptions[1] = "A fatal error has occured";
$error_descriptions[2] = "PHP issued a warning";
$error_descriptions[8] = "This is just an informal notice";
?>
왜냐하면 E_ERROR는 1과 같기때문이다 etc.

위 예에서 이미 설명했듯이, $foo[bar]은 작동하지만 잘못되었다. 이 코드는 작동한다. 왜냐하면 이 문법에서 bar는 상수 표현으로 인식될수도 있기 때문이다. 하지만, 이 경우에 bar란 이름을 갖는 상수는 존재하지 않는다. PHP는 문자그대로 bar를 표시했다고 인식해서 문자열 "bar"으로 보기 때문이다. 따옴표 쓰는것을 잊었다고 인식한다.

그래서 그것이 왜 나쁜가?

미래의 어떤 시점에서, PHP 팀은 또다른 상수나 키워드를 추가할수도 있거나, 애플리케이션안에 또다른 상수를 사용할수도 있다. 그러면 이 경우에 어려움에 빠지게 된다. 예를 들면, empty와 default워드는 이런 이유로 사용할수 없다. 왜냐하면 그들은 특별한 예약 키워드이기 때문이다.

참고: 배반복하지만, 큰따옴표로 둘러싼 string안에서 "$foo[bar]"이 유효하도록 따옴표를 배열 인덱스에 둘러싸지 않는것이 유효한다. 그 이유에 대한 상세 설명을 위해 위 예제코드를 보는 것은 물론 문자열 안에서 해석되는 변수에 관한 섹션도 참고할것.

배열로 변환

다른 타입을 갖는: integer, float, string, boolean, resource, 어떤 값을 array로 변환한다면, 한개의 요소를 갖는 (인덱스 0) 배열을 얻을수 있다. 그 구성요소는 스칼라 값이다.

object를 배열로 변환하면, 각 객체의 속성(멤버 변수)를 배열의 구성요소로서 취할수 있다. key는 멤버 변수명이 된다.

NULL값을 배열로 변환하면, 빈 배열을 얻을수 있다.

비교하기

array_diff()와 배열 연산자를 사용하여 배열을 비교할 수 있습니다.

예제 코드

PHP에서 배열 타입은 다용도로 쓰인다. 그래서 여기서 배열의 완벽한 능력을 보이기 위해 몇가지 예제 코드를 보일것이다.

<?php
// this
$a = array( 'color' => 'red',
            'taste' => 'sweet',
            'shape' => 'round',
            'name'  => 'apple',
                       4        // key will be 0
          );

// is completely equivalent with
$a['color'] = 'red';
$a['taste'] = 'sweet';
$a['shape'] = 'round';
$a['name']  = 'apple';
$a[]        = 4;        // key will be 0

$b[] = 'a';
$b[] = 'b';
$b[] = 'c';
// will result in the array array(0 => 'a' , 1 => 'b' , 2 => 'c'),
// or simply array('a', 'b', 'c')
?>

예 11.4. array() 사용하기

<?php
// Array as (property-)map
$map = array( 'version'    => 4,
              'OS'         => 'Linux',
              'lang'       => 'english',
              'short_tags' => true
            );

// strictly numerical keys
$array = array( 7,
                8,
                0,
                156,
                -10
              );
// this is the same as array(0 => 7, 1 => 8, ...)

$switching = array(         10, // key = 0
                    5    =>  6,
                    3    =>  7,
                    'a'  =>  4,
                            11, // key = 6 (maximum of integer-indices was 5)
                    '8'  =>  2, // key = 8 (integer!)
                    '02' => 77, // key = '02'
                    0    => 12  // the value 10 will be overwritten by 12
                  );

// empty array
$empty = array();
?>

예 11.5. 컬렉션

<?php
$colors = array('red', 'blue', 'green', 'yellow');

foreach ($colors as $color) {
    echo "Do you like $color?\n";
}
?>

출력은:

Do you like red?
Do you like blue?
Do you like green?
Do you like yellow?

현재까지 배열의 값을 이런 루프 안에서 직접 변경하는 것은 불가능하다는 것에 주의해야 한다. 다음과 같은 편법이 있다:

예 11.6. 컬렉션

<?php
foreach ($colors as $key => $color) {
    // won't work:
    //$color = strtoupper($color);

    // works:
    $colors[$key] = strtoupper($color);
}
print_r($colors);
?>

출력은:

Array
(
    [0] => RED
    [1] => BLUE
    [2] => GREEN
    [3] => YELLOW
)

이 예제 코드는 one-based 배열을 생성한다.

예 11.7. One-based index

<?php
$firstquarter  = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>

출력은:

Array
(
    [1] => 'January'
    [2] => 'February'
    [3] => 'March'
)

예 11.8. 배열 채우기

<?php
// fill an array with all items from a directory
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
    $files[] = $file;
}
closedir($handle);
?>

배열은 순서가 있다. 다양한 정력함수를 사용하여 그 순서를 변경할수도 있다. 더 자세한 정보는 배열 함수섹션을 참고. count()함수를 사용하여 배열 내의 아이템 수를 셀수 있다.

예 11.9. 배열 정렬하기

<?php
sort($files);
print_r($files);
?>

배열의 값은 어느것이든 될수 있기 때문에, 또한 다른 배열이 될수 있다. 이 방식으로 재귀적이고 다차원인 배열을 만들수 있다.

예 11.10. 재귀적이고 다차원인 배열

<?php
$fruits = array ( "fruits"  => array ( "a" => "orange",
                                       "b" => "banana",
                                       "c" => "apple"
                                     ),
                  "numbers" => array ( 1,
                                       2,
                                       3,
                                       4,
                                       5,
                                       6
                                     ),
                  "holes"   => array (      "first",
                                       5 => "second",
                                            "third"
                                     )
                );

// Some examples to address values in the array above
echo $fruits["holes"][5];    // prints "second"
echo $fruits["fruits"]["a"]; // prints "orange"
unset($fruits["holes"][0]);  // remove "first"

// Create a new multi-dimensional array
$juices["apple"]["green"] = "good";
?>

배열 지정은 항상 값 복사에 관련되어 있다는 것을 알고 있어야 한다. 참조에 의해 배열을 복사하려면 참조 연산자를 사용하여야 한다.

<?php
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 is changed,
             // $arr1 is still array(2, 3)

$arr3 = &$arr1;
$arr3[] = 4; // now $arr1 and $arr3 are the same
?>

이전 | 위로 | 다음
문자열 | 처음으로 | 객체


객체

객체 초기화

객체를 초기화하기 위해서는 변수로 객체를 인스턴스화하는 new문을 사용하라.

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo.";
    }
}

$bar = new foo;
$bar->do_foo();
?>

더 자세한 사항은 클래스와 객체 섹션을 참고한다.

객체로 변환하기

객체가 객체로 변환되면, 그것은 변경되지 않는다. 다른 타입의 값이 객체로 변환되면, stdClass내장 클래스의 새로운 인스턴스가 생성된다. 그 값이 null이면, 새로운 인스턴스는 텅빌것이다. 다른 값은 scalar라는 멤버 변수명이 포함할것이다.

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // outputs 'ciao'
?>

이전 | 위로 | 다음
배열 | 처음으로 | 자원


자원

resource는 특별한 변수이고, 특별한 자원에 대한 참조를 포함한다. 자원은 특별한 함수에 의해 생성되고 사용된다. 이런 모든 함수의 목록과 대응하는 자원 타입에 대해서는 부록 섹션을 참고한다.

참고: resource 타입은 PHP 4에서부터 지원된다.

resource로 변환하기

resource 타입은 파일이나 데이터베이스 접속, 이미지 캔버스 영역 등을 열기위한 특별한 핸들러를 보유하기 때문에, 어떤값도 resource로 변환될수 없다.

resource 해제하기

PHP 4의 젠드 엔진에서 참조-카운팅(reference-counting) 시스템이 추가되어, resource가 더이상 참조되지 않을때가 자동적으로 탐지된다(자바처럼). 이 경우에, 이 자원을 위해 사용중인 모든 자원은 가비지 컬렉터에 의해 자동으로 해제된다. 이런 이유로, free_result같은 함수를 사용하여 수동으로 메모리를 해제할 필요는 어의 없다.

참고: 영구적인 데이터베이스 접속은 특별하다. 그것은 가비지 컬렉터에 의해 파괴되지 않는다. 영구적인 접속를 참고.

이전 | 위로 | 다음
객체 | 처음으로 | NULL


NULL

특별한 값인 NULL은 아무 값을 갖지 않는 변수를 표현한다. NULL은 유일한 NULL타입의 값이다.

참고: null 타입은 PHP 4에서 소개되었다

다음과 같은 경우에 변수는 NULL로 취급된다

  • 상수를 NULL로 할당했을 때.

  • 아직 아무 값도 할당하지 않았을 때.

  • unset()을 사용했을 때.

문법

타입은 유일한 값 NULL을 갖는다. NULL은 대소문자를 구별하지 않는다.

<?php
$var = NULL;
?>

is_null()과 unset()을 참고

이전 | 위로 | 다음
자원 | 처음으로 | 이 문서에서 사용되는 의사 타입


이 문서에서 사용되는 의사 타입

mixed

mixed는 인자가 여러 타입을 허용한다는 것을 가리킨다 (모든 변수형일 필요는 없다)

gettype()은 모든 PHP 타입을 다루고, 반면에 str_replace()은 문자열과 배열만을 다룬다.

number

number는 인자가 integer나 float일수 있음을 가리킨다.

callback

call_user_func()나 usort()와 같은 함수는 인자로 사용자선언 콜백 함수를 취급한다. 콜백 함수는 단순한 함수 뿐만 아니라 정적 클래스 메소드를 포함하는 객체 메소드가 될수 있다.

PHP 함수는 단순히 그 이름을 문자열로 전달한다. 다음 함수를 제외하고
내장 함수나 유저 선언 함수를 전달할수 있다.
array(),
echo(),
empty(),
eval(),
exit(),
isset(),
list(),
print(),
unset().

인스턴스화된 객체의 메소드는 인덱스 0의 요소인 객체와 인덱스 1의 요소인 메소드명을 포함하는 배열로 전달된다.

정적 클래스 메소드는 인덱스 0의 요소인 객체 대신 클래스명을 전달함으로써 그 클래스의 객체를 인스턴스화하지 않고도 전달될수 있다.

예 11.11. 콜백 함수 예제코드

<?php

// simple callback example
function my_callback_function() {
    echo 'hello world!';
}
+call_user_func('my_callback_function');

// method callback examples
class MyClass {
    function myCallbackMethod() {
        echo 'Hello World!';
    }
}

// static class method call without instantiating an object
call_user_func(array('MyClass', 'myCallbackMethod'));

// object method call
$obj = new MyClass();
call_user_func(array(&$obj, 'myCallbackMethod'));

?>

이전 | 위로 | 다음
NULL | 처음으로 | 타입 저글링


타입 저글링

PHP는 변수 선언부의 명시적인 타입 정의를 요구하지않는다(지원하지않는다) 변수의 타입은 변수가 사용되는 환경에서 결정된다. 즉, 문자열 값을 변수 $var에 지정하면,$var는 문자열이 된다. integer값이 $var에 지정되면, integer가 된다.

PHP의 자동적인 타입 변환의 예로는 덧셈 연산자 '+'를 들수 있다. 피연산자 중 어느 하나가 float이라면, 모든 피연산자는 float으로 취급된다. 그렇지 않으면, 피연산자는 정수로 해석될것이고, 결과값도 정수가 될것이다. 이런일이 피연산자 자신의 타입을 바꾸지 않는다는 것에 주의하라; 피연산자가 어떻게 평가되느냐에 따라서만 변환이 이루어진다.

<?php
$foo = "0";  // $foo is string (ASCII 48)
$foo += 2;   // $foo is now an integer (2)
$foo = $foo + 1.3;  // $foo is now a float (3.3)
$foo = 5 + "10 Little Piggies"; // $foo is integer (15)
$foo = 5 + "10 Small Pigs";     // $foo is integer (15)
?>

위 예제코드중 마지막 두가지가 이상해 보인다면, 문자열을 수로 변환을 참고.

어떤 변수를 특정 타입으로 취급하고자 한다면, 타입 캐스트 매뉴얼 섹션을 참고할것. 변수의 타입을 변환하려고 하면, settype()를 볼것.

이 섹션에서 다른 에제를 테스트하기 위해 var_dump() 함수를 사용할수 있다.

참고: 배열의 자동적인 변환 방식은 현재까지 정의되지 않았다.

<?php
$a = "1";     // $a is a string
$a[0] = "f";  // What about string offsets? What happens?
?>

PHP는 배열 인덱싱과 같은 문법을 사용하여 오프셋을 통하여 문자열 안의 인덱싱을 지원하기 때문에(역사적인이유로), 위 예제코드는 문제가 될 소지가 있다: $a는 그 첫번째 요소가 "f"를 갖는 배열이 되는가? "f"가 문자열 $a 문자열의 첫번째 문자가 되는가?

현재 버전 PHP는 두번째 할당문을 문자열 오프셋 인식으로 해석한다. 그래서 $a는 "f"가 되고, 자동 변환의 결과는 정의되지 않은것으로 여겨진다. PHP 4는 스트링 내의 문자에 접근하기 위한 중괄호 문법을 새로이 제공한다. 위에서 제시한것 대신 이문법을 사용하도록 한다

<?php
$a    = "abc"; // $a is a string
$a{1} = "f";   // $a is now "afc"
?>
자세한 정보는 문자열의 문자 접근과 변경섹션을 참고.

타입 캐스트

PHP에서 타입 캐스느는 C에서 동작하는 것과 유사하게 동작한다. 원하는 타입의 이름을 변수 앞 괄호안에 사용하여 캐스트될수 있다.

<?php
$foo = 10;   // $foo is an integer
$bar = (boolean) $foo;   // $bar is a boolean
?>

허용되는 캐스트는 다음과 같다:

  • (int), (integer) - cast to integer
  • (bool), (boolean) - cast to boolean
  • (float), (double), (real) - cast to float
  • (string) - cast to string
  • (array) - cast to array
  • (object) - cast to object

탭과 빈칸이 괄호안에서 허용된다는것에 주의한다. 그래서 다음 예는 기능적으로 동일하다:

<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

참고: 변수를 문자열로 캐스트하는 대신에, 큰 따옴표 안에 변수를 넣어줄수도 있다.

<?php
$foo = 10;            // $foo is an integer
$str = "$foo";        // $str is a string
$fst = (string) $foo; // $fst is also a string

// This prints out that "they are the same"
if ($fst === $str) {
    echo "they are the same";
}
?>

특정 타입간의 캐스트가 될때 무슨일이 일어날지 여기서 명확하지 않으면 자세한 정보를 보기 위해 아래 섹션을 참고.

  • 논리값으로 변환하기
  • 정수로 변환하기
  • float으로 변환하기
  • 문자열로 변환하기
  • 배열로 변환하기
  • 객체로 변환하기
  • resource로 변환하기
  • 타입 비교 테이블

이전 | 위로 | 다음
이 문서에서 사용되는 의사 타입 | 처음으로 | 12. 변수


12장. 변수

차례

기본문법
미리 선언된 변수
변수 유효영역
가변 변수
PHP 외부 출신의 변수들

기본문법

PHP에서 변수는 변수명 앞에 달러사인을 덧붙여 표현된다. 변수명은 대소문자를 구별한다.

PHP에서 변수명은 다음 규칙을 따른다. 유효한 변수명은 문자나 밑줄로 시작하고, 그 뒤에 문자, 숫자, 밑줄이 붙을수 있다. 정규표현식으로 표현하면 다음과 같다: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

참고: 여기서, 문자는 a-z, A-Z, 그리고 아스키문자(ASCII) 127에서 255까지(0x7f-0xff).

<?php
$var = "Bob";
$Var = "Joe";
echo "$var, $Var";      // outputs "Bob, Joe"

$4site = 'not yet';     // invalid; starts with a number
$_4site = 'not yet';    // valid; starts with an underscore
$t?yte = 'mansikka';    // valid; '?' is ASCII 228.
?>

PHP 3에서 변수는 항상 값에 의해 지정되야 한다(assinged by value). 변수를 표현식으로 지정할때에 원래 표현식의 모든 값이 목표 변수로 복사된다. 이 말의 의미는 예를 들면, 어떤 변수값을 다른 변수로 지정한 후에, 그 변수중 어떤 하나를 변경하는것이 다른 변수에 영향을 미치지 않는다는 의미를 갖는다. 이런 종류의 지정에 대해서 표현식을 참고.

PHP 4에서는 이와 다른 방법으로 변수에 값이 지정된다: 참조에 의한 지정. 이 용어의 의미는 새로운 변수가 원래 변수를 참조한다는 것이다.(즉, "원래 변수의 별명이 되는것" 이나 "가리키는 것") 새 변수의 변경은 원래 변수에 영향을 미치고, 그 반대도 가능하다. 이것은 복사가 수행되지 않는다는 것을 의미한다. 따라서, 지정은 매우 신속하게 이루어진다. 하지만, 속도향상은 견고한 루프나 거대한 배열이나 객체를 지정할때만 효과가 있을것이다.

참조에 의한 지정을 위해서는, 단순히 지정되는(소스 변수) 변수의 시작부분에 엠퍼센트(&)를 덧붙이면 된다. 예를 들면 다음 코드 예는 'My name is Bob'이 두번 출력된다.

<?php
$foo = 'Bob';              // Assign the value 'Bob' to $foo
$bar = &$foo;              // Reference $foo via $bar.
$bar = "My name is $bar";  // Alter $bar...
echo $bar;
echo $foo;                 // $foo is altered too.
?>

주의할 것은 오직 이름이 부여된 변수만이 참조에 의해 지정된다는 것이다.

<?php
$foo = 25;
$bar = &$foo;      // This is a valid assignment.
$bar = &(24 * 7);  // Invalid; references an unnamed expression.

function test()
{
   return 25;
}

$bar = &test();    // Invalid.
?>

이전 | 위로 | 다음
타입 저글링 | 처음으로 | 미리 선언된 변수


미리 선언된 변수

PHP는 실행되는 스크립트에 적용이되는 상당량의 미리 선언된 변수를 제공한다. 하지만, 이 변수의 대부분은 운영되는 서버, 서버의 버전, 서버의 설정, 다른 팩터와 관련되어 있어서 완벽하게 문서화되지 않았다. 이 중 몇개의 변수는 커맨드 라인에서 실행되는 PHP에서는 유효하지 않다. 예약된 미리 선언된 변수의 섹션을 참고.

주의

PHP 4.2.0 이후 버전부터, PHP 디렉티브 register_globals의 기본값은 off가 되었다. register_globals를 off로 놓으면, 전역 유효영역안의 미리 선언된 변수 집합들에 영향을 미친다. 예를 들면, DOCUMENT_ROOT값을 얻기 위해서는 $DOCUMENT_ROOT 대신에 $_SERVER['DOCUMENT_ROOT']를, http://www.example.com/test.php?id=3에서 $id 대신에 $_GET['id']를, $HOME 대신에 $_ENV['HOME']을 사용해야 한다.

이와 관련된 변경사항은 register_globals의 설정 엔트리를 읽거나, 전역 등록 사용하기에 관한 보안 챕터는 물론, » 4.1.0과 » 4.2.0 Release Announcements도 참고하기 바란다.

superglobal arrays와 같은 가용한 PHP의 예약된 미리 선언된 변수를 사용하는 것을 추천한다.

4.1.0 버전 이후에, PHP는 웹서버, 환경, 유저 입력과 관련된 미리 선언된 배열 변수 집합을 추가적으로 제공한다. 이 새로운 배열은 자동적으로 전역화되기 때문에 더 특별해진다. 즉, 자동적으로 모든 유효영역안에서 적용이 가능하다. 이런 이유로, 이런 변수를 '자동전역변수' 또는 '슈퍼전역변수' 이라고 불리기도 한다. (PHP에서는 사용자-선언 슈퍼전역변수가 허용되지 않는다.) 슈퍼전역변수는 아래에 열거한다. 하지만, 이 변수 목록과 논의는 예약된 미리선언된 변수섹션을 참고한다. 또한 구버전의 미리선언된 변수($HTTP_*_VARS)가 아직도 존재한다는 것에 주의한다. PHP 5.0.0부터, 긴 형태의 PHP 예약 변수 배열을 register_long_arrays 지시어로 제거할 수 있습니다.

가변 변수: 슈퍼전역변수는 가변 변수로는 쓰일수 없다.

variables_order내의 특정 변수들이 설정되어있지 않으면, 적합한 PHP의 미리선언된 배열도 비워있게 된다.

PHP 슈퍼전역변수

$GLOBALS
스트립트의 전역 유효영역에서 쓸수있는 모든 변수에 대한 참조를 포함한다. 이 배열의 key는 전역 변수들의 이름이다. PHP 3 이래로 $GLOBALS가 존재해왔다.
$_SERVER
웹서버나, 현재 스크립트의 실행환경에 직접적으로 관련되어 설정되는 변수이다. 구버전의 $HTTP_SERVER_VARS 배열과 동일하다. (이 변수는 현재 유효하지만, 추천하지는 않는다)
$_GET
HTTP GET에 의해 스크립트로 제공되는 변수이다. 구버전의 $HTTP_GET_VARS 배열과 동일하다. (이 변수는 현재 유효하지만, 추천하지는 않는다)
$_POST
HTTP POST에 의해 스크립트로 제공되는 변수이다. 구버전의 $HTTP_POST_VARS 배열과 동일하다. (이 변수는 현재 유효하지만, 추천하지는 않는다)
$_COOKIE
HTTP 쿠키에 의해 스크립트로 제공되는 변수이다. 구버전의 $HTTP_COOKIE_VARS 배열과 동일하다. (이 변수는 현재 유효하지만, 추천하지는 않는다)
$_FILES
HTTP post 파일 업로드에 의해 스크립트로 제공되는 변수이다. 구버전의 $HTTP_POST_FILES 배열과 동일하다. (이 변수는 현재 유효하지만, 추천하지는 않는다). 더 자세한 정보는 POST 메소드 업로드를 참고하도록 한다.
$_ENV
환경에 의해 스크립트로 제공되는 변수이다. 구버전의 $HTTP_ENV_VARS 배열과 동일하다. (이 변수는 현재 유효하지만, 추천하지는 않는다)
$_REQUEST

GET, POST, COOKIE 입력 메카니즘을 통해 스크립트로 제공되는 변수이다. 이 메카니즘은 신용될수는 없다. 이 배열 안에 포함된 존재하는 변수와 변수의 나열 순서는 PHP variables_order 설정 디렉티브에 의해 정의된다. 이 배열은 PHP 4.1.0 이전 버전에서 동일한 변수가 존재하지 않는다. import_request_variables()도 참고.

경고

PHP 4.3.0이후, $_REQUEST 안에 FILE 정보를 갖는 $_FILES 변수가 존재하지 않게 되었다.

참고: 커맨드 라인에서 수행될때, 이 변수는 argv와 argc 엔트리에 포함되지 않는다; 이 변수들은 $_SERVER 배열에 존재한다.

$_SESSION
스크립트의 세션에 등록되는 변수이다. 구버전의 $HTTP_SESSION_VARS 배열과 동일하다. (이 변수는 현재 유효하지만, 추천하지는 않는다). 더 자세한 정보는 Session handling functions섹션을 참고.
이전 | 위로 | 다음
12. 변수 | 처음으로 | 변수 유효영역


변수 유효영역

변수의 유효영역은 변수가 정의된 환경을 말한다. 대부분의 경우 모든 PHP 변수는 한군데의 유효영역만을 갖는다. 이 한군데의 유효영역은 include되거나 require된 파일로도 확장된다. 예를 들면:

<?php
$a = 1;
include "b.inc";
?>

위 예제코드에서는 include된 b.inc 스크립트안에서도 $a 변수가 사용가능하다. 하지만, 사용자-선언 함수에서는 로컬 함수 유효영역이 적용된다. 함수내에서 사용되는 모든 변수는 기본값으로 로컬 변수 유효영역 안으로 제한된다. 예를 들면:

<?php
$a = 1; /* global scope */

function Test()
{
    echo $a; /* reference to local scope variable */
}

Test();
?>

위 스크립트에서 echo문이 $a의 로컬 버전을 참조하고, 이 영역 안에서 값을 지정되지 않았기 때문에 아무것도 출력되지 않는다. C에서 전역변수는 특별히 로컬 선언으로 덮어쓰지 않는이상은 자동적으로 함수안에서 사용가능하다는 점에서 C 언어와 약간 차이가 있다는 것에 주의해야 할것이다. 이런 생각으로 부주의하게 전역변수를 변경하려한다면 문제가 될것이다. PHP에서 전역변수가 함수내에서 계속적으로 사용이 된다면 함수안에서 global로 선언해야 합니다.

global 키워드

우선, global의 사용 예제입니다:

예 12.1. global 사용하기

<?php
$a = 1;
$b = 2;

function Sum()
{
    global $a, $b;

    $b = $a + $b;
}

Sum();
echo $b;
?>

위 스크립느는 "3"를 출력할것이다. $a와 $b를 함수내에서 global로 선언함으로써, 각 변수에 대한 모든 참조는 전역 버전으로 참조될것이다. 함순에서 조작되는 전역변수의 수는 제한이 없다.

전역 유효영역의 변수에 접근할수 있는 두번째 방법이 특별 PHP-선언 $GLOBALS 배열을 사용하는 것이다. 이전 예제코드는 다음과 같이 다시 작성할 수 있습니다:

예 12.2. global 대신 $GLOBALS 사용하기

<?php
$a = 1;
$b = 2;

function Sum()
{
    $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}

Sum();
echo $b;
?>

$GLOBALS 배열은 전역변수명이 key가 되는 연관배열이고 배열의 요소 값이 그 변수의 내용이 된다. $GLOBALS이 어떻게 모든 유효영역에서 존재하는지 주의하라. 이유는 $GLOBALS이 슈퍼전역변수이기 때문이다. 아래에 슈퍼전역변수의 파워를 설명하는 예제코드를 보였다:

예 12.3. 자동 전역과 영역을 보여주는 예제

<?php
function test_global()
{
    // 대부분의 예약 변수는 "자동 전역"이 아니기에,
    // 함수 내부 영역에서 사용하려면 'global'이 필요합니다.
    global $HTTP_POST_VARS;

    echo $HTTP_POST_VARS['name'];

    // 자동 전역은 어떠한 영역에서도 사용할 수 있고,
    // 'global'이 필요하지 않습니다. 자동 전역은
    // PHP 4.1.0부터 사용할 수 있습니다.
    echo $_POST['name'];
}
?>

정적 변수 사용하기

변수 유효영역의 또 다른 중요한 기능이 static 변수이다. 정적(static) 변수는 로컬 함수 영역에서만 존재한다. 그러나 프로그램이 그 영역을 떠나지 않으면 그 값을 잃지 않는다. 다음 예제를 생각해 봅시다:

예 12.4. 정적 변수의 필요성을 보여주는 예제

<?php
function Test ()
{
    $a = 0;
    echo $a;
    $a++;
}
?>

이 함수는 매번 호출될때마다 $a를 0으로 설정하고 "0"를 출력한다. $a++ 는 변수를 증가시키지만 함수에서 빠져나가면 $a 변수는 사라지게되므로 아무 가치가 없다. 현재 카운트 값을 잃지 않는 유용한 카운트 함수를 만들려면, $a 변수를 static으로 선언한다.

예 12.5. 정적 변수의 사용 예제

<?php
function Test()
{
    static $a = 0;
    echo $a;
    $a++;
}
?>

이제 Test() 함수가 호출될 때마다 $a 값이 출력되고 그 값을 증가시킬것이다.

정적 변수는 또한 재귀함수를 다루는 한 방법을 제공한다. 재귀함수는 자기 자신을 호출하는 함수를 말한다. 재귀함수는 무한히 실행될수 있기 때문에 재귀함수를 작성할때는 주의가 필요하다. 재귀를 벗어나는 방법을 반드시 갖고 있어야 한다. 다음과 같은 단순 재귀함수는 10까지 카운트한다. 정적 변수 $count는 멈춰야 할 때는 안다.

예 12.6. 재귀 함수에서 정적 변수

<?php
function Test()
{
    static $count = 0;

    $count++;
    echo $count;
    if ($count < 10) {
        Test ();
    }
    $count--;
}
?>

참고: 정적 변수는 위 예제처럼 선언해야 합니다. 이 변수에 표현식의 결과를 할당하려 할 경우는 해석 오류를 발생합니다.

예 12.7. 정적 변수 선언하기

<?php
function foo() {
    static $int = 0;          // 적합
    static $int = 1+2;        // 오류 (표현식이기에)
    static $int = sqrt(121);  // 오류 (역시 표현식이기에)

    $int++;
    echo $int;
}
?>

전역 변수와 정적 변수의 참조

PHP 4를 작동하는 Zend Engine 1은 static과 global을 참조를 통한 변수 변경자로 구현합니다. 예를 들어, 실제 전역 변수를 global 키워드를 사용하여 함수 영역 내부로 가져올 경우, 그 전역 변수의 참조를 생성합니다. 이로 인해 다음 예제에서 처럼 원하지 않은 동작을 할 수 있습니다:

<?php
function test_global_ref() {
    global $obj;
    $obj = &new stdclass;
}

function test_global_noref() {
    global $obj;
    $obj = new stdclass;
}

test_global_ref();
var_dump($obj);
test_global_noref();
var_dump($obj);
?>

위 예제코드를 실행하면 다음과 같은 결과가 유도된다.

NULL
object(stdClass)(0) {
}

이와 비슷한 동작이 static 절에서도 발생한다. 참조가 정적으로 저장되지 않는것이다:

<?php
function &get_instance_ref() {
    static $obj;

    echo "Static object: ";
    var_dump($obj);
    if (!isset($obj)) {
        // Assign a reference to the static variable
        $obj = &new stdclass;
    }
    $obj->property++;
    return $obj;
}

function &get_instance_noref() {
    static $obj;

    echo "Static object: ";
    var_dump($obj);
    if (!isset($obj)) {
        // Assign the object to the static variable
        $obj = new stdclass;
    }
    $obj->property++;
    return $obj;
}

$obj1 = get_instance_ref();
$still_obj1 = get_instance_ref();
echo "\n";
$obj2 = get_instance_noref();
$still_obj2 = get_instance_noref();
?>

위 예제코드를 실행하면 다음과 같은 결과가 유도된다.

Static object: NULL
Static object: NULL

Static object: NULL
Static object: object(stdClass)(1) {
  ["property"]=>
  int(1)
}

위 예제 코드는 정적 변수에 대한 참조를 지정할때, &get_instance_ref()함수가 두번째로 호출되는 때에 기억되지 않는다는 것을 보여준다.

이전 | 위로 | 다음
미리 선언된 변수 | 처음으로 | 가변 변수


가변 변수

때때로 가변 변수명을 갖을수 있는것다는 것은 편리함을 준다. 즉, 변수명이 유동적으로 설정되거나 사용될수 있다. 일반적인 변수는 다음과 같은 구문에 의해 설정된다:

<?php
$a = "hello";
?>

가변변수는 변수값을 취해서 변수명으로 취급한다. 위 예제코드는, hello를 두개의 달러사인을 사용하여 변수명으로 사용할수 있다.

<?php
$$a = "world";
?>

이 지점에서 두 변수가 선언되었고 PHP 심볼 트리에 저장된다: $a는 "hello" 값을 갖고 $hello는 "world" 값을 갖게 된다. 따라서, 이 구문:

<?php
echo "$a ${$a}";
?>

다음과 완전히 똑같이 출력된다:

<?php
echo "$a $hello";
?>

즉, 둘다 hello world를 출력한다.

배열을 갖는 가변변수를 사용하기 위해서는 애매한 문제를 해결해야 한다. 즉 $$a[1]를 쓴다면 해석기는 $a[1]가 변수를 의미하는지 알수 있어야 한다. 또는 $$a가 변수이기를 바라고, [1]가 그 변수의 인덱스인지 알수 있어야 한다. 이런 애매한 문제를 해결하기 위한 문법: 첫번째 목적을 위해 ${$a[1]}과 두번째 목적을 위해 ${$a}[1]을 들수 있다.

주의

가변 변수가 PHP의 슈퍼전역 배열로 사용될수 없음을 주의해야 한다. ${$_GET}와 같은 변수를 사용할수 없음을 의미한다. 슈퍼전역변수의 유효성과 구버전의 HTTP_*_VARS를 제어하는 방법을 원한다면, 그 변수들을 참조하려 할것이다.

이전 | 위로 | 다음
변수 유효영역 | 처음으로 | PHP 외부 출신의 변수들


PHP 외부 출신의 변수들

HTML 폼 (GET과 POST)

폼이 PHP 스크립트로 전달될때, 그 폼안의 정보가 스크립트내에서 자동적으로 유효해진다. 이 정보에 접근할 수 있는 많은 방법이 제공된다. 예를 들면:

예 12.8. 단순한 HTML 폼

<form action="foo.php" method="post">
    이름:  <input type="text" name="username" /><br />
    메일: <input type="text" name="email" /><br />
    <input type="submit" name="submit" value="전송합니다!" />
</form>

특별한 설정과 개인적인 선호에 의해, HTML 폼으로부터 데이터를 접근할수 있는 많은 방법이 존재한다. 몇가지르 예를 들면:

예 12.9. 단순한 POST HTML 폼으로 부터 데이터에 접근하기

<?php
// PHP 4.1.0부터 사용 가능

   echo $_POST['username'];
   echo $_REQUEST['username'];

   import_request_variables('p', 'p_');
   echo $p_username;

// PHP 3부터 사용 가능. PHP 5.0.0부터, 이러한 긴 예약 변수는
// register_long_arrays 지시어로 비활성화 할 수 있습니다.

   echo $HTTP_POST_VARS['username'];

// PHP 지시어 register_globals = on 일 경우에 사용할 수 있습니다.
// PHP 4.2.0부터 기본값은 register_globals = off 입니다.
// 이 방법을 사용하는 것은 권장되지 않습니다.

   echo $username;
?>

GET 폼을 사용하는 것은 적절한 GET 기선언 변수를 대신 사용할때를 제외하면 동일하다. GET은 QUERY_STRING (URL에서 '?'이후의 값)에도 적용이 된다. 따라서, 예를 들면 http://www.example.com/test.php?id=3는 $_GET['id']으로 접근할수 있는 GET 데이터를 포함한다. 또한 $_REQUEST와 import_request_variables()를 참고.

참고: $_POST 와 $_GET 같은 슈퍼전역 배열은 PHP 4.1.0 이후버전부터 사용되기 시작했다.

전에 설명한대로, PHP 4.2.0 이전에는 register_globals의 기본값이 on이었고, PHP 3에서는 항상 on이었다. PHP 커뮤니티는 그 디렉티브 값이 off가 되어있다고 가정하고 적절하게 코딩하는 것을 추천하기 때문에 이 디렉티브값에 연연할 필요가 없다.

참고: magic_quotes_gpc 설정 디렉티브는 Get, Post, Cookie 값에 영향을 준다. 이 값이 켜져있으면, 그 값(It's "PHP!")은 자동적으로 (It\'s \"PHP!\")이 될것이다. 이 회피는 DB 입력을 위해 필요하다. 또한 addslashes(), stripslashes()과 magic_quotes_sybase를 참고한다.

PHP는 폼 변수가 쓰이는 환경안의 배열도 이해한다. (관련 faq를 참고) 예를 들면, 관련 변수를 함께 그룹화하거나, 다중 select 입력으로부터 값을 끄집어내기위해 이 기능을 사용할수 있다. 예로써, 자신에게 폼을 post하고 그 데이터를 출력해보자:

예 12.10. 좀더 복잡해진 폼 변수들

<?php
if (isset($_POST['action']) && $_POST['action'] == 'submitted') {
    echo '<pre>';
    print_r($_POST);
    echo '<a href="'. $_SERVER['PHP_SELF'] .'">다시 시도하십시오.</a>';

    echo '</pre>';
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    이름: <input type="text" name="personal[name]" /><br />
    메일: <input type="text" name="personal[email]" /><br />
    맥주: <br />
    <select multiple name="beer[]">
        <option value="warthog">Warthog</option>
        <option value="guinness">Guinness</option>
        <option value="stuttgarter">Stuttgarter Schwabenbr?u</option>
    </select><br />
    <input type="hidden" name="action" value="submitted" />
    <input type="submit" name="submit" value="전송합니다!" />
</form>
<?php
}
?>

PHP 3에서, 배열 폼 변수의 사용은 1차원 배열로만 제한된다. PHP 4에서는 이런 제약이 적용되지 않는다.

변수명으로 IMAGE SUBMIT

form을 전달할때, 표준적인 submit 버튼 태그 대신 다음과 같이 image 태그를 사용할수 있다.

<input type="image" src="image.gif" name="sub" />

유저가 image의 어느곳에서 클릭하더라도 수행 폼은 두가지 추가적인 변수를 서버로 전송할것이다. sub_x와 sub_y. 이 변수는 image안에서 유저가 클릭하는 좌표를 갖는다. 실제로 브라우저에 의해 보내지는 변수명은 밑줄(_)이 아니라 마침표(.)를 포함한다. 그러나 PHP는 자동으로 마침표를 밑줄로 변환한다.

HTTP 쿠키

PHP는 » Netscape's Spec에 의해 정의된 HTTP 쿠키를 투명하게 지원한다. 쿠키는 원격 브라우저안에 데이터를 저장하는 메카니즘이고 따라서 복귀하는 유저를 추적하거나 식별하게 해준다. setcookie() 함수를 사용하여 쿠키를 설정할수 있다. 쿠키는 HTTP 헤더의 일부분이고, 그래서 SetCookie함수는 브라우저에 출력이 생기기전에 호출되어야 한다. 이 제약은 header() 함수에도 같이 적용된다. 쿠키 데이터는 적절한 쿠키 데이터 배열에 존재하게 된다. $_COOKIE, $HTTP_COOKIE_VARS는 물론 $_REQUEST 배열에 존재한다. 더 자세한 정보와 예제를 보기 위해 setcookie() 매뉴얼 페이지를 참고.

단일 쿠키 변수에 여러값을 지정하려한다면, 배열로 그 값을 지정할수 있다. 예를 들면:

<?php
  setcookie("MyCookie[foo]", "Testing 1", time()+3600);
  setcookie("MyCookie[bar]", "Testing 2", time()+3600);
?>

위 예제코드는 MyCookie가 스크립트내에서 단일 배열이 될지라도 두개의 분리된 쿠키를 생성할수 있다. 여러값을 갖는 단일 쿠키를 설정하려면, 첫번째로 그 값에 serialize()나 explode()를 사용할것을 고려하도록 한다.

쿠키는 경로나 도메인이 다르지 않으면 브라우저안에서 같은 이름을 갖는 이전 쿠키를 교체한다는 것에 주의해야 한다. 따라서, 쇼핑 카트 애플리케이션을 위해서는 카운터를 유지하고 이 카운터를 전달하기를 원할것이다.

예 12.11. setcookie()예제 코드

<?php
if (isset($_COOKIE['count'])) {
    $count = $_COOKIE['count'] + 1;
} else {
    $count++;
}
setcookie("count", $count, time()+3600);
setcookie("Cart[$count]", $item, time()+3600);
?>

유입되는 변수명에 존재하는 점(dot)

표준적으로, PHP는 스크립트내로 변수를 전달할때 변수명을 변경하지 않는다. 하지만, 점(마침표, full stop)은 PHP 변수명안에서 유효한 문자가 될수 없다는것에 주의해야 할것이다. 이에 유의하여 다음 코드를 보자: <?php
$varname.ext;  /* invalid variable name */
?> 현재, 해석기가 보게되는 것은 $varname이라는 변수와 그 뒤에 문자열 결합 연산자, 그 뒤에 벌거벗은 문자열(barestring) 'ext'이다. (즉, 따옴표로 둘러싸지 않은 문자열은 key나 예약된 단어와 일치하지 않음) 확실하게 이 결과는 원치 않은것이다.

이러한 이유로, PHP는 유입되는 변수명안의 점(.)을 밑줄(_)로 변경한다는것을 명심해야 한다.

변수 타입 결정하기

PHP는 변수 타입을 결정하고 변수를(보통) 필요한 타입으로 변환하기 때문에, 어느 시간에 변수가 무슨 타입인지 알수가 없다. PHP는 변수가 무슨 타입인지 확인할수 있는 몇가지 함수를 제공한다. 그 함수들은 다음과 같다: gettype(), is_array(), is_float(), is_int(), is_object(), is_string(). 타입 챕터를 참고.

이전 | 위로 | 다음
가변 변수 | 처음으로 | 13. 상수


13장. 상수

차례

문법
미리 정의된 상수

상수는 단순한 값을 위한 식별자(이름)이다. 이름이 제시하는것과 같이, 이 값은 스크립트 실행중에는 변경될수 없다. (실질적으로 상수가 아닌 magic constants 을 제외하고) 상수는 기본적으로 대소문자를 구별한다. 관례상, 상수 식별자는 항상 대문자이다.

PHP에서 상수명은 같은 규칙을 따른다. 유효한 상수명은 문자나 밑줄(underscore) 로 시작하고 다른 문자나 숫자, 밑줄이 뒤를 따른다. 정규식으로는 다음처럼 표현할수 있다: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

참고: 여기서 문자는 a-z, A-Z와 아스키(ASCII)문자 127에서 255까지이다 (0x7f-0xff).

superglobals처럼 상수의 유효범위(scope)는 전역적이다. 유효범위에 상관없이 스크립트의 어느곳에서도 상수를 참조할수 있다. 상수에 관한 더 자세한 정보를 위해 변수 유효범위(variable scope) 매뉴얼 섹션을 참고합니다.

문법

define()함수를 써서 상수를 정의(define)할수 있다. 상수는 한번 정의되면 절대 변경하거나 해제(undefine)할수 없다.

스칼라 데이터(boolean, integer, float 과 string)만 상수의 값으로 쓸수있다.

단순히 상수명을 써서 상수값을 얻을 수 있다. 변수와는 달리 $가 상수명 앞으로 오면 안된다 동적으로 상수명을 취하려한다면 constant()함수로 상수값을 가져올수 있다. 정의된 모든 상수 목록을 구하려면 get_defined_constants() 함수를 쓴다.

참고: 상수와 (전역)변수는 서로 다른 네임스페이스(namespace)상에 있다. 이말의 의미는 예를 들면 TRUE와 $TRUE은 일반적으로 다르다는것이다.

해제된 상수를 사용한다면, PHP는 상수명 자체를 쓴것이라고 가정할것이다 즉,string으로 인식할것이다. (CONSTANT vs "CONSTANT") E_NOTICE로 이런 일이 발생했는지 알수 있다. 왜 $foo[bar]가 잘못됐는지 (bar를 상수로 define() 하지않았다면) 매뉴얼을 참고한다. 단순히 상수가 설정되었는지만 확인하려 한다면 defined()함수를 쓰면 됩니다.

다음은 상수와 변수의 차이점이다:

  • 상수는 이름 앞에 달러표시($)가 없다.
  • 상수는 단순 지정(assingment)이 아니라 define() 함수로만 정의될수 있다.
  • 상수는 변수의 유효범위 규칙과는 상관없이 어느곳에서든 정의되거나 값을 취할수 있다.
  • 상수는 한번 설정되면 재정의하거나 해제할수 없을것이다; 그리고
  • 상수는 스칼라 값만 쓸수 있다.

예 13.1. 상수 정의하기

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // "Hello world."을 출력한다
echo Constant; // "Constant"를 출력하고 경고가 뜬다.
?>

이전 | 위로 | 다음
PHP 외부 출신의 변수들 | 처음으로 | 미리 정의된 상수


미리 정의된 상수

PHP는 어떤스크립트에서도 유효한 많은 수의 미리 정의된 상수를 제공한다. 하지만 이 상수의 대부분은 다양한 확장(extension)에 의해 생성된다. 그래서 그 확장이 같이 컴파일되어 유효하거나 동적인 로딩이 되어있어야 이런 상수가 존재하게 된다.

네가지 마법 상수(magical constant)가 존재한다. 이 상수들은 어디에서 쓰느냐에 따라 용도가 변경된다. 예를 들면, __LINE__상수의 값은 스크립트의 해당 줄과 관련이 있다. 이 특별한 상수들은 대소문자 구별이 없고 다음과 같다:

표 13.1. 약간의 "마법" PHP 상수

이름 | 설명
__LINE__ | 파일의 현재 줄 번호
__FILE__ | 파일의 전체경로와 파일명
__FUNCTION__ | 함수 이름 (PHP 4.3.0에서 추가됨)
__CLASS__ | 클래스 이름 (PHP 4.3.0에서 추가됨)
__METHOD__ | 클래스 메소드 이름 (PHP 5.0.0에서 추가됨)

미리 정의된 상수 목록은 예약된 미리 정의된 상수 섹션에서 볼 수 있다.

이전 | 위로 | 다음
13. 상수 | 처음으로 | 14. 표현식


14장. 표현식

표현식은 PHP에서 가장 중요한 구성요소다. PHP에서 쓰는 거의 대부분이 표현식이다. 표현식을 정의한 가장 단순하고 가장 정확한 말은 "모든것이 값을 갖는다"는 것이다.

표현식의 가장 기본적인 형태가 상수와 변수이다. "$a = 5"라고 쓰면, $a에 '5'를 지정하는것이다.'5'는 확실히 5란 값을 갖는다. 다르게 표현하면 '5'는 5란 값을 갖는 표현식이 된다 (이경우에, '5'는 정수형 상수이다)

이렇게 지정하고 나면 $a의 값은 5가 될것이란 것도 기대할수 있을것이다. 그래서 $b = $a라고 쓴다면, $b = 5를 쓴것과 같이 동작할것이라고 기대할수 있을것이다. 다른말로, $a는 또한 5란 값을 갖는 표현식이다. 모든것이 제대로 작동한다면, 기대하던대로 될것이다.

표현식의 약간 더 복잡한 예가 함수이다. 다음 함수를 예로 들어보자.

<?php
function foo ()
{
    return 5;
}
?>

함수의 개념에 익숙하다면 (그렇지 않으면, 함수에 관한 장을 참고) $c = foo()로 쓰는것이 $c = 5와 같을것이라고 생각할것이다. 옳은 생각이다. 함수는 반환된 값을 갖는 표현식이다. foo()가 5를 반환하기때문에 'foo()'표현식의 값은 5가 된다. 함수는 대체로 정적인 값보다는 계산값을 반환한다.

물론, PHP에서 값은 정수가 되어야 하는것은 아니다. PHP에서는 3가지 스칼라 값 형을 지원한다: 정수값, 부동소수점값, 문자열값 (스칼라값은 배열같이 더작게 쪼갤수없는 값을 말한다). PHP는 두가지 조합형 (스칼라값이 아닌)을 지원한다: 배열과 객체. 이 두가지 값형은 변수나 함수에서 넘기는 값으로 지정될수 있다.

여기서 PHP/FI 2 사용자들은 달라진것이 없다는것을 알게되었을것이다. 하지만, PHP는 다른 언어들처럼 더 많은 표현식을 쓸수 있다. PHP는 거의 모든것이 표현식이라는 관점에 입각하면 표현식-지향 언어이다. 전술했던 예제 '$a = 5'를 보자. 이 식과 연관된 값은 '5'라는 정수상수 두개라는것과 $a는 5로 수정이 된다는 것을 알수 있다. 그러나 진실은 여기에 연관되어있는 것이 하나의 추가값이라는것이고, 이 추가된 값이 지정되어지는 값 자체라는 것이다. 지정 자체는 지정값 5만 적용된다. 실제로, '$a = 5'라는 식은 그것이 무엇을 하든 5라는 값을 갖는 표현식이라는 것이다. 따라서, '$b = ($a = 5)'라는 식은 '$a = 5; $b = 5'를 쓰는것과 같다 (세미콜른은 구문의 끝을 표시한다). 지정연산은 오른쪽에서 왼쪽방향으로 해석되므로 '$b = $a = 5'라고 쓸수 있다.

표현식-지향의 또다른 좋은 예는 전처리(pre)/후처리(post)되는 증가와 감소 연산이다. PHP/FI 2 사용자와 다른 언어사용자는 변수++과 변수--의 부호표시에 익숙할것이다. 이런 부호표시는 증가와 감소 연산자이다. PHP/FI 2에서 '$a++'문은 값을 갖지않는다 (즉, 표현식이 아니다), 그래서 어떤수단으로도 특정값을 지정하거나 사용할수 없다. PHP는 C처럼 이런 표현식을 사용할수 있어서 증가/감소 연산 능력을 확장시켰다. PHP는 C처럼 두가지 연산형이 존재한다 - 전처리-증가 와 후처리-증가. 전처리 증가와 후처리 증가 모두 변수를 증가시키고 변수에 적용시킨다. 차이점은 증가 표현식에 값이 있는지에 달려있다. 전처리-증가, 즉 '++$변수' 는 값을 증가시켜 적용시킨다 (PHP는 처음 값을 읽기 전에 값을 증가시킨다, 따라서 이름이 '전처리-증가'가 되는것이다) 후처리-연산, '$변수++'는 값을 증가시키기 전의 $변수의 처음값이 적용된다. (PHP는 그 값을 읽은 후에 그 값을 증가시킨다, 그래서 '후처리-증가'가 되는것이다)

표현식 중 가장 흔한 형태가 비교 연산 표현식이다. 이런 표현식은 0 이나 1 (각각 FALSE 나 TRUE)로 평가된다. PHP는 > (더크다), >= (크거나 같다), == (같다), != (같지 않다), < (더작다) and <= (작거나 같다)와 같은 연산자 를 지원한다. 이런 연산자는 if와 같은 조건절 수행시에 가장 많이 쓰인다.

이 장에서 취급할 제일 마지막 표현식의 예는 조합된 연산자-지정 표현식이다. $a를 1만큼 증가시키고자 한다면 단순히 '$a++'이나 '++$a'로 쓸수 있다는것을 이미 알고 있을것이다. 그러나 하나 이상의 값을 증가시키고자 한다면, 예를 들어 3을 증가시키고자 한다면 어떻게 해야 할까? '$a++'을 여러번 쓸수도 있다. 그러나 이런 식으로 쓰는것은 효과적이거나 편한 방법이 아니라는것을 쉽게 알수 있다. 좀더 평범하게 표현하면 '$a = $a + 3'이다. '$a + 3'은 $a에 3을 더한 값이 계산 되고 $a로 그 값이 지정된다. 그래서 $a에 3을 증가시킨 결과가 된다. PHP에서는 C와 같은 다른 언어처럼 더 짧은 형태로 쓸수있다. 그래서, 좀더 이해하기 쉽고 좀더 빨리 이해할수있다. $a의 현재 값에 3을 더하는 것은 '$a += 3'으로 쓸수 있다. 이 표현식의 의미는 정확히 '$a값을 취해 그 값에 3을 더하고 다시 $a에 계산된값을 지정하라'이다. 좀더 짧고 명확할 뿐만 아니라, 좀더 빠른 수행이 이루어진다. 일반적인 표현식의 값처럼 '$a += 3'의 값은 지정값이다. 3이 아니라, $a에 3을 더한 값이라는 것에 주의하라 (이값은 $a에 지정되는 값이다) 어떠한 두개연속의 연산자도 이런 연산자-지정 방식으로 사용될수 있다. 예를 들면, '$a -= 5' ($a의 값에서 5를 뺀것), '$b *= 7' ($b의 값에 7을 곱한것) 등등이 쓰일수 있다.

다른 언어에서 본적이 없다면 이상하게 보이는 표현식이 있다. 3중 조건적 연산자이다:

<?php
$first ? $second : $third
?>

first 에 속하는 표현식의 값이 TRUE (non-zero)이면 second 에 속하는 표현식이 적용되고, 이것이 조건적 표현식의 결과가 된다. 이 경우가 아니면, third 에 속하는 표현식이 적용되고, 그 값이 된다.

다음 예제 코드는 좀더 일반적으로 사용된 전처리/후처리-증가와 표현식을 이해하는데 도움이 될것이다.

<?php
function double($i)
{
    return $i*2;
}
$b = $a = 5;        /* $a와 $b에 5라는 값을 지정함 */
$c = $a++;          /* 후처리-증가, $a 의 원래값을 적용함
                       $c는 (5)가 됨 */
$e = $d = ++$b;     /* 전처리-증가, $b가 증가된 값이 적용됨
                       $d와 $e는 (6)이 됨 */

/* 여기서, $d와 $e는 6과 같다 */

$f = double($d++);  /* 증가되기 전의 $d값의 두배가 적용됨
                       $f는  2*6 = 12가 됨 */
$g = double(++$e);  /* 증가된 후의 $e값의 두배가 적용됨
                       $g는  2*7 = 14가 됨 */
$h = $g += 10;      /* 우선, $g는 10만큼 증가되어 24가 됨.
                       지정된 값 (24)가 $h로 지정된다.
                       $h도 24값으로 지정된다 */
?>

이 장의 시작부분에서 다양한 구문형들을 설명할것이라고 했다. 약속대로, 표현식은 구문이 될수 있다. 그러나 모든 표현식이 구문이 될수는 없다. 이런 경우는 구문이 'expr' ';'의 형태를 갖는다. 즉, 세미콜른이 표현식 뒤에 온다. '$b=$a=5;'에서 $a=5는 유효한 표현식이다. 그러나 그자체가 구문이 되지는 않는다. 하지만, '$b=$a=5;'는 유효한 구문이다

마지막으로 언급할 만큼 가치있는것이 표현식의 진리값이다. 많은 사건중, 주로 조건적 수행과 루프에서, 표현식의 특정 값에 흥미있지는 않을것이다. 그러나 그 값이 TRUE인지 FALSE인지는 중요하다. 상수 TRUE와 FALSE (대소문자를 구별하지 않음)는 두가지 논리값이다. 필요하면, 표현식은 자동적으로 논리값으로 변환된다. 더자세한 정보는 형-캐스트 섹션을 참고할것.

PHP는 표현식의 완벽하고도 강력한 구현방법을 제공한다. 그런 방법을 완전히 문서화하는 것은 이 매뉴얼의 범위를 넘는다. 위 예제 코드들은 표현식이 무엇인지에 대한것과 유용한 표현식을 구축할수 있는 방법에 대한 아이디어를 줄것이다. 이후 매뉴얼에서는 유효한 PHP 표현식을 expr라고 쓰겠다.

이전 | 위로 | 다음
미리 정의된 상수 | 처음으로 | 15. 연산자


15장. 연산자

차례

연산자 우선순위
산술 연산자
지정 연산자
비트 연산자
비교 연산자
에러 제어 연산자
실행 연산자
증가/감소 연산자
논리 연산자
문자열 연산자
배열 연산자

연산자 우선순위

연산자 우선순위는 두개의 표현식을 연산자로 얼마나 더 단단하게 연결할 것인지를 명시한다 . 예를 들면, 1 + 5 * 3의 결과는 18이 아니라 16이 된다. 왜냐하면 곱셈 ("*") 연산자가 덧셈 ("+") 연산자보다 우선순위가 높기 때문이다. 필요한 경우, 괄호를 사용해서 우선순위를 높일수 있다. 예를 들면, (1 + 5) * 3의 결과는 18이 된다.

다음 테이블은 낮은 우선순위를 갖는 연산자부터 연산자 우선순위 목록을 보였다.

표 15.1. 연산자 우선순위

Associativity | Operators
left | ,
left | or
left | xor
left | and
right | print
right | = += -= *= /= .= %= &= |= ^= <<= >>=
left | ? :
left | ||
left | &&
left | |
left | ^
left | &
non-associative | == != === !==
non-associative | < <= > >=
left | << >>
left | + - .
left | * / %
right | ! ~ ++ -- (int) (float) (string) (array) (object) @
right | [
non-associative | new

참고: !이 =보다 높은 우선 순위를 갖지만, PHP는 여전히 다음과 같은 표현식을 허용한다: if (!$a = foo()) 즉, $a에 입력되는 foo()의 결과에 대한 조건문

이전 | 위로 | 다음
14. 표현식 | 처음으로 | 산술 연산자


산술 연산자

학교에서 배운 기본적인 산수를 기억는가? 이 연산자들은 그런 연산자 와 똑같이 동작한다.

표 15.2. 산술 연산자

예 | 이름 | 결과
$a + $b | 덧셈 | $a와 $b의 합
$a - $b | 뺄셈 | $a와 $b의 차
$a * $b | 곱셈 | $a와 $b의 곱
$a / $b | 나눗셈 | $a를 $b로 나눈 몫
$a % $b | 나머지 | $a를 $b로 나눈 나머지

두 피연산자가 정수(또는 정수로 변환되는 문자열)일지라도 나눗셈 연산자 ("/")는 부동소수점 값을 돌려준다.

수학 함수의 매뉴얼 페이지를 참고.

이전 | 위로 | 다음
15. 연산자 | 처음으로 | 지정 연산자


지정 연산자

기본적인 지정 연산자는 "="이다. 이 연산자를 "같다"라고 생각할수 있느나, 그렇지 않다. 이 연산자는 좌측 피연산자에 우측의 표현식 값을 지정한다. (즉, "지정한다").

지정 표현식의 값이 지정된다. 즉, "$a = 3"의 값은 3이다. 이런 규칙으로 인해 몇가지의 교묘한(tricky) 일을 할수 있다.

$a = ($b = 4) + 5; // $a is equal to 9 now, and $b has been set to 4.

기본적인 지정 연산자 외에 이진 산술과 문자열 연산자와 같은 "복합 연산자" 가 지원된다. 이런 연산자는 표현식의 값을 사용하여 그 표현식의 결과를 그 값으로 사용할수 있다. 예를 들면:

$a = 3;
$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";

지정은 원래 변수에 새로운 변수(값으로 지정된)를 복사한다. 그래서 어떤 변수를 변경하는것은 다른 변수에 아무 영향을 주지 못한다. 견고한 루프안에 큰 배열같은 것을 복사한다면 이 주제와 밀접한 관련이 있다. PHP 4는 $var = &$othervar;같은 문법으로 참조에 의한 지정을 지원한다. 그러나 PHP 3에서는 지원되지 않는다. '참조에 의한 지정'은 두 변수가 같은 데이터를 가리키도록 하고 아무것도 복사하지 않는다는 것을 의미한다. 참조에 관한 자세한 정보는 참조 표현을 참고.

이전 | 위로 | 다음
산술 연산자 | 처음으로 | 비트 연산자


비트 연산자

비트 연산자는 특정 비트를 정수로 on이나 off로 전환하도록 한다. 좌측과 우측 인자가 문자열이면, 비트 연산자는 이 문자열안의 문자에 대해 계산하게 된다.

<?php
    echo 12 ^ 9; // Outputs '5'

    echo "12" ^ "9"; // Outputs the Backspace character (ascii 8)
                     // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

    echo "hallo" ^ "hello"; // Outputs the ascii values #0 #4 #0 #0 #0
                            // 'a' ^ 'e' = #4
?>

표 15.3. 비트 연산자

Example | Name | Result
$a & $b | And | Bits that are set in both $a and $b are set.
$a | $b | Or | Bits that are set in either $a or $b are set.
$a ^ $b | Xor | Bits that are set in $a or $b but not both are set.
~ $a | Not | Bits that are set in $a are not set, and vice versa.
$a << $b | Shift left | Shift the bits of $a $b steps to the left (each step means "multiply by two")
$a >> $b | Shift right | Shift the bits of $a $b steps to the right (each step means "divide by two")

이전 | 위로 | 다음
지정 연산자 | 처음으로 | 비교 연산자


비교 연산자

비교 연산자는 그 이름에서 알수 있듯이, 두 값을 비교한다. 또 타입 비교 테이블을 보고, 다양한 타입을 비교하는 예제 코드를 볼수 있다.

표 15.4. 비교 연산자

Example | Name | Result
$a == $b | Equal | TRUE if $a is equal to $b.
$a === $b | Identical | TRUE $a와 $b가 같으려면, 둘 모두 같은 타입이어야 함 (PHP 4에서만)
$a != $b | Not equal | TRUE if $a is not equal to $b.
$a <> $b | Not equal | TRUE if $a is not equal to $b.
$a !== $b | Not identical | TRUE $a가 $b와 같지 않다면, 둘 모두 같은 타입이 아니다 (PHP 4에서만)
$a < $b | Less than | TRUE if $a is strictly less than $b.
$a > $b | Greater than | TRUE if $a is strictly greater than $b.
$a <= $b | Less than or equal to | TRUE if $a is less than or equal to $b.
$a >= $b | Greater than or equal to | TRUE if $a is greater than or equal to $b.

다른 조건 연산자에는 C나 다른 많은 언어와 같은 동작을 하는 "?:" (삼중) 연산자가 있다.

<?php
// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// The above is identical to this if/else statement
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}
?>
(expr1) ? (expr2) : (expr3)표현식은 expr1가 TRUE이면 expr2이 적용되고, expr1가 FALSE이면 expr3으로 적용된다.

strcasecmp(), strcmp()과 타입에 관한 매뉴얼 섹션을 참고

이전 | 위로 | 다음
비트 연산자 | 처음으로 | 에러 제어 연산자


에러 제어 연산자

PHP는 에러 제어 연산자를 지원한다: 앳 부호 (@). PHP에서 표현식의 앞에 덧붙이면, 그 표현식에서 발생할수 있는 에러 메시지가 출력되지 않도록 한다. track_errors 기능은 활성화되어있으면, 표현식에서 발생하는 모든 에러는 $php_errormsg변수에 저장될것이다. 이 변수는 에러가 발생할 때마다 덮어씌어질것이고, 그래서 이 변수를 사용하려면 바로바로 확인해야 한다.

<?php
/* Intentional file error */
$my_file = @file ('non_existent_file') or
    die ("Failed opening file: error was '$php_errormsg'");

// this works for any expression, not just functions:
$value = @$cache[$key];
// will not issue a notice if the index $key doesn't exist.

?>

참고: @-연산자는 표현식에서만 동작한다. 단순한 규칙: 표현식의 값을 취할수 있으면, 그 표현식 앞에 @ 연산자를 덧붙일수 있다. 예를 들면, 변수, 함수, include()호출, 상수 등의 앞에 덧붙일수 있다. 그러나 함수나 클래스 선언부, if같은 조건문, foreach 등에 이 부호를 덧붙일수는 없다.

error_reporting()함수와 Error Handling and Logging functions에 관한 매뉴얼 섹션을 참고.

참고: "@" 에러-제어 연산자는 해석 에러로 인한 에러 메시지를 가릴수는 없을것이다.

주의

현재 "@" 에러-제어 연산자는 스크립트 수행을 멈출수 있는 심각한 에러에 대한 에러 메시지들도 보이지 않게 할것이다. 이말의 의미는 어떤 함수에서 에러 메시지를 보이지 않게 하려하려고 "@"을 사용했고 그 함수가 가용하지 않거나 오타를 쓴것일지라도 이 스크립트는 에러 원인에 대한 메시지 없이 그자리에서 즉시 멈추게 될것이다.

이전 | 위로 | 다음
비교 연산자 | 처음으로 | 실행 연산자


실행 연산자

PHP는 실행 연산자를 지원한다 (``). 이 연산자는 작은 따옴표가 아니라는 것에 주의하라! PHP는 백틱(``)안에 묶인 내용을 셀 명령으로서 실행하려 할 것이다; 출력이 돌려질것이다 (출력을 단순히 덤프하려 하지 않는다; 출력을 변수로 지정할 수 있다) 백틱 연산자는 shell_exec() 함수를 쓰는것과 동일한다.

$output = `ls -al`;
echo "<pre>$output</pre>";

참고: 안전 모드가 활성화되었거나 shell_exec()가 비활성화되어 있을때는 백틱 연산자는 비활성화된다.

Program Execution functions, popen() proc_open(), Using PHP from the commandline에 관한 매뉴얼 섹션을 참고

이전 | 위로 | 다음
에러 제어 연산자 | 처음으로 | 증가/감소 연산자


증가/감소 연산자

PHP는 C-스타일의 전처리와 후처리 증가/감소 연산자를 지원한다.

표 15.5. 증가/감소 연산자

Example | Name | Effect
++$a | Pre-increment | Increments $a by one, then returns $a.
$a++ | Post-increment | Returns $a, then increments $a by one.
--$a | Pre-decrement | Decrements $a by one, then returns $a.
$a-- | Post-decrement | Returns $a, then decrements $a by one.

단순한 예제 스크립트:

<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";

echo "<h3>Preincrement</h3>";
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";

echo "<h3>Postdecrement</h3>";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";

echo "<h3>Predecrement</h3>";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>

PHP는 문자 변수에 관한 산술 연산을 할때 C 방식이 아니라 펄 방식을 따른다. 예를 들면, 펄에서 'Z'+1은 'AA'를 전환되는 반면, C에서 'Z'+1은 '[' ( ord('Z') == 90, ord('[') == 91 )으로 전환된다. 문자 변수는 증가될수는 있으나 감소될수는 없다는 것에 주의해야 한다.

예 15.1. 문자 변수에 대한 산술 연산

<?php
$i = 'W';
for($n=0; $n<6; $n++)
  echo ++$i . "\n";

/*
  Produces the output similar to the following:

X
Y
Z
AA
AB
AC

*/
?>

이전 | 위로 | 다음
실행 연산자 | 처음으로 | 논리 연산자


논리 연산자

표 15.6. 논리 연산자

Example | Name | Result
$a and $b | And | TRUE if both $a and $b are TRUE.
$a or $b | Or | TRUE if either $a or $b is TRUE.
$a xor $b | Xor | TRUE if either $a or $b is TRUE, but not both.
! $a | Not | TRUE if $a is not TRUE.
$a && $b | And | TRUE if both $a and $b are TRUE.
$a || $b | Or | TRUE if either $a or $b is TRUE.

두개의 다른 "and"와 "or" 연산자를 쓰는 이유는 그들이 다른 우선순위를 가지고 있기 때문이다. (연산자 우선순위를 참고)

이전 | 위로 | 다음
증가/감소 연산자 | 처음으로 | 문자열 연산자


문자열 연산자

두개의 문자열 연산자가 지원된다. 첫번째것은 결합연산자 ('.')이고 좌측과 우측의 피연산자를 결합한 값을 돌려준다. 두번째것은 결합 지정 연산자('.=')이다. 이런 연산자는 좌측 인자로 우측 인자를 추가한다. 자세한 정보는 지정 연산자를 참고

$a = "Hello ";
$b = $a . "World!"; // now $b contains "Hello World!"

$a = "Hello ";
$a .= "World!";     // now $a contains "Hello World!"

String type, String functions에 관한 매뉴얼 섹션을 참고

이전 | 위로 | 다음
논리 연산자 | 처음으로 | 배열 연산자


배열 연산자

PHP에서 배열 연산자는 +연산자만 지원된다. 이 연산자는 좌측 배열에 우측 배열을 추가한다. 그리고 중복된 키는 덮어 씌어지지 않는다.

$a = array("a" => "apple", "b" => "banana");
$b = array("a" =>"pear", "b" => "strawberry", "c" => "cherry");

$c = $a + $b;

var_dump($c);
위 스크립트가 수행되면, 다음과 같이 출력될것이다: array(3) {
  ["a"]=>
  string(5) "apple"
  ["b"]=>
  string(6) "banana"
  ["c"]=>
  string(6) "cherry"
}

Array type과 Array functions 매뉴얼 섹션을 참고

이전 | 위로 | 다음
문자열 연산자 | 처음으로 | 16. 제어 구조


16장. 제어 구조

차례

if
else
elseif
제어 구조의 대체 문법
while
do-while
for
foreach
break
continue
switch
declare
return
require
include
require_once
include_once

모든 PHP 스크립트는 연속적인 구문으로 이루어진다. 하나의 구문은 지정문 이 될수도 있고, 함수 호출, 반복문, 조건문이 될수 있으며 심지어는 아무 내용이 없는 빈 문장일수도 있다. 한 구문은 보통 세미콜론(;)으로 끝난다. 또한 여러개의 구문을 중괄호({,})를 사용하여 하나의 그룹으로 만들어 사용할 수도 있다. 이 구문 그룹은 그 그룹의 모든 구문들이 하나의 구문인 것처럼 인식된다. 이 장에서는 여러 가지 구문형태에 대해 알아본다.

if

if문은 PHP를 포함해서 모든 언어에 있어서 가장 중요한 기능(feature) 중 하나이다. 이 제어문으로 각각 다른 코드에 대해 조건적인 수행을 가능케한다. if문의 기능은 C와 비슷하다:

if (expr)
    statement

표현식에 관한 섹션에서 설명된것처럼 expr은 논리(Boolean)값으로 취급된다. expr이 TRUE와 같다면 PHP는 statement를 수행할것이고, FALSE라면 무시될것이다. 무슨값이 FALSE인지 알려면 '논리값으로 변환하기' 섹션을 참고한다.

다음 예는 $a가 $b보다 크다면 a는 b보다 크다를 출력할 것이다.

<?php
if ($a > $b)
    echo "a는 b보다 크다";
?>

종종 하나 이상의 구문을 조건적으로 수행시켜야 하는 때가 있다. 물론 if절로 각 구문을 감싸줄 필요는 없다. 대신, 구문 그룹안에 몇개의 구문을 그룹화할 수 있다. 예를 들면, 이코드는 $a가 $b보다 크다면 a는 b보다 크다라고 출력할것이고, $a의 값을 $b로 지정하게 될것이다.

<?php
if ($a > $b) {
    echo "a는 b보다 크다";
    $b = $a;
}
?>

If문은 다른 if문안에 무한정으로 내포될수 있다. 이와 같은 기능은 프로그램의 여러부분을 조건적으로 수행하기 위한 유연성을 제공한다.

이전 | 위로 | 다음
배열 연산자 | 처음으로 | else


제어 구조의 대체 문법

PHP는 제어 구조를 위해 대체 문법을 제공한다; 즉 if, while, for, foreach, 그리고 switch. 각 경우에 대체 문법의 기본형태는 괄호열기를 콜른 (:)으로 대체하고 괄호닫기는 각각 endif;, endwhile;, endfor;, endforeach;, 또는 endswitch;으로 대체한다.

<?php if ($a == 5): ?>
A는 5와 같다
<?php endif; ?>

위 예에서는 대체 문법으로 쓰여진 if구문안에 "A는 5와 같다" HTML 블록이 포함되어있다. 이 HTML 블록은 $a가 5와 같을때만 출력될것이다.

대체 문법은 else와 elseif문에도 적용이 된다. 다음은 elseif와 else문 과 같이 있는 if문 절의 대체 형태이다:

<?php
if ($a == 5):
    echo "a는 5와 같다";
    echo "...";
elseif ($a == 6):
    echo "a는 6과 같다";
    echo "!!!";
else:
    echo "a는 5도 아니고 6도 아니다";
endif;
?>

더 많은 예는while, for와 if섹션에 있다.

이전 | 위로 | 다음
elseif | 처음으로 | while


return

return()문이 함수안에서 호출된다면, 현재 함수의 수행을 즉시 끝내고, 함수 호출 결과값으로 return의 인자값을 넘겨준다. return()문은 eval()함수나 스크립트 파일의 수행을 종료시킨다.

전역 유효범위에서 호출된다면, 현재 스크립트 파일의 수행을 끝마친다. 현재 스크립트가 include()나 require()되었다면, 호출하고 있는 파일로 제어를 넘긴다. 더욱이, 현재 스크립트 파일이 include()되어있는것이면, return()에 주어지는 값은 include()호출에 대한 값으로 넘겨줄것이다. return()이 주 스크립트 파일에서 호출되면, 스크립트의 수행이 종료된다. 현재 스크립트 파일이 php.ini의 auto_prepend_file이나 auto_append_file 옵션에 의해 명명되었다면, 스크립트 파일의 수행은 중단된다.

좀더 자세한 정보는 Returning values 을 참고하세요.

참고: return()은 함수가 아닌 언어 구조이기 때문에, 인자를 괄호로 쌀 필요가 없습니다. 괄호가 없는 것이 일반적으로, PHP가 더 적은 일을 하게 합니다.

참고: 반환값이 참조로 반환될 때는 절대로 괄호를 사용하면 안되며, 동작하지 않습니다. 참조는 변수만 반환할 수 있으며, 구문 결과는 반환할 수 없습니다. return ($a);를 사용한다면, 변수를 반환하지 않고 ($a) 표현의 반환값을 반환합니다. (물론, $a의 값입니다)

이전 | 위로 | 다음
declare | 처음으로 | require


17장. 함수

차례

사용자 선언 함수
함수 인자
값 돌려주기
가변 함수
내부 (내장) 함수

사용자 선언 함수

다음과 같은 문법을 사용하여 함수를 선언한다:

예 17.1. 함수 사용을 설명하기 위한 가상 코드

<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{
    echo "예제 함수.\n";
    return $retval;
}
?>

모든 유효 PHP코드는 특정 함수 내에서 뿐만 아니라, 여러 다른 함수나 class정의 안에서도 나타날수있다.

PHP 3에서는 함수가 참조되기 전에 선언되어야 한다. 다음 두 예제 코드와 같이 함수가 조건적으로 선언되는 경우를 제외하고 PHP 4부터는 이러한 제약이 없습니다.

아래 예제 코드와 같이 함수가 조건적으로 선언되면 그 함수가 호출되기 전에 함수를 선언해야 한다.

예 17.2. 조건적인 함수

<?php

$makefoo = true;

/* We can't call foo() from here
   since it doesn't exist yet,
   but we can call bar() */

bar();

if ($makefoo) {
  function foo()
  {
    echo "I don't exist until program execution reaches me.\n";
  }
}

/* Now we can safely call foo()
   since $makefoo evaluated to true */

if ($makefoo) foo();

function bar()
{
  echo "I exist immediately upon program start.\n";
}

?>

예 17.3. 함수 안의 함수

<?php
function foo()
{
  function bar()
  {
    echo "foo()를 호출하기 전까지는 존재하지 않습니다.\n";
  }
}

/* bar()를 호출할 수 없습니다.
   아직 존재하지 않습니다. */

foo();

/* 이제 bar()를  호출할 수
   있습니다. foo()를 실행하여
   접근할 수 있게 되었습니다. */

bar();

?>

PHP는 함수 오버로딩(overloading)을 지원하지 않으며, 함수 정의를 해제하거나 이미 선언된 함수를 다시 선언할수 없다.

참고: 함수명은 선언시에 그 함수를 호출하기 편하게 만들겠지만, 대소문자 구별을 하지 않는다.

PHP 3에서 함수는 기본 인자(default argument)를 지원되지만, 가변 인자 갯수(variable-length argument)를 지원하지 않는다. (자세한 정보는 기본 인자섹션을 참고). PHP 4부터는 둘 다 지원합니다: 자세한 정보는 가변 길이 인자 목록섹션과 func_num_args(), func_get_arg(), func_get_args()함수 레퍼런스를 참고.

이전 | 위로 | 다음
include_once | 처음으로 | 함수 인자


함수 인자

함수 인자를 통해서 함수에 정보를 넘겨줄수 있다. 이런 함수 인자는 콤마(,)로 구별되는 변수나 상수의 목록이다.

PHP는 값에 의한 인자 전달(passing by value) (기본값), 참조에 의한 전달(passing by reference), 기본 인자 값(default argument value)기능 을 지원한다. 가변 인자 목록(variable-length argument)은 PHP 4이후 버전에서만 지원된다; 더 자세한 정보는 가변 인자 목록섹션과 func_num_args(), func_get_arg(), func_get_args()함수 레퍼런스를 참고. PHP 3에서는 함수에 인자 배열을 넘겨줌으로써 비슷한 효과를 낼수있다:

예 17.4. 함수에 배열 넘겨주기

<?php
function takes_array($input)
{
    echo "$input[0] + $input[1] = ", $input[0]+$input[1];
}
?>

참조에 의한 인자 전달하기

기본적으로, 함수 인자는 값에 의해 전달된다 (그래서 함수내의 인자값 이 변경되도 함수 밖에서는 바뀌지 않는다). 함수가 그 인자까지 변경가능하게 하려면, 참조에 의해 인자를 전달해야 한다.

함수의 인자를 참조로 전달하려면, 함수 선언시에 엠퍼센트(&)를 인자명 앞에 덧붙이면 된다:

예 17.5. 참조에 의해 함수 인자 전달하기

<?php
function add_some_extra(&$string)
{
    $string .= 'and something extra.';
}
$str = 'This is a string, ';
add_some_extra($str);
echo $str;    // outputs 'This is a string, and something extra.'
?>

기본 인수 값

함수는 다음과 같이 스칼라 인자에 대해 C++스타일 기본값으로 지정할수있다:

예 17.6. 함수에 기본 인자 사용하기

<?php
function makecoffee($type = "cappuccino")
{
    return "Making a cup of $type.\n";
}
echo makecoffee();
echo makecoffee("espresso");
?>

위 예제 코드의 출력은 다음과 같다:

Making a cup of cappuccino.
Making a cup of espresso.

또한, PHP는 배열과 특별한 값인 NULL을 기본값으로 사용할 수 있습니다. 예를 들면:

예 17.7. 스칼라 형이 아닌 기본값 사용하기

<?php
function makecoffee($types = array("카푸치노"), $coffeeMaker = NULL)
{
    $device = is_null($coffeeMaker) ? "손" : $coffeeMaker;
    return "$device(으)로 ".join(", ", $types)."를 만듭니다.\n";
}
echo makecoffee();
echo makecoffee(array("카푸치노", "라바짜"), "찻주전자");
?>

기본값은 상수 표현식이 될수 있으나 (예를 들면) 변수나 클래스 멤버가 될수는 없다.

기본 인자를 사용할때에는 모든 기본값은 기본값을 쓰지 않는 인자의 오른쪽으로 가야 한다; 그렇지 않으면, 기대하던대로 작동하지 않을것이다. 다음 예제 코드를 참고:

예 17.8. 기본 함수 인자가 잘못 사용된 예

<?php
function makeyogurt($type = "acidophilus", $flavour)
{
    return "Making a bowl of $type $flavour.\n";
}

echo makeyogurt("raspberry");   // won't work as expected
?>

위 예제 코드의 출력은 다음과 같다:

Warning: Missing argument 2 in call to makeyogurt() in
/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41
Making a bowl of raspberry .

위 코드를 아래 코드와 비교하라:

예 17.9. 기본 함수 인자의 정확한 사용예

<?php
function makeyogurt($flavour, $type = "acidophilus")
{
    return "Making a bowl of $type $flavour.\n";
}

echo makeyogurt("raspberry");   // works as expected
?>

이 예제코드의 출력은 다음과 같다:

Making a bowl of acidophilus raspberry.

참고: PHP 5부터, 기본값을 참조로 넘길 수 있습니다.

가변 길이 인자 목록

PHP 4 이상에서는 사용자 선언 함수에서 가변 길이 변수 목록 기능을
지원합니다.
이 기능은 func_num_args(),
func_get_arg(),
func_get_args()함수를 사용하여 손쉽게 사용가능하다.

특별한 문법이 필요하지 않다. 인자 목록은 함수선언부에서 밝혀야하고 일반 인자와 동일하게 작동할것이다.

이전 | 위로 | 다음
17. 함수 | 처음으로 | 값 돌려주기


값 돌려주기

선택적인 return문을 사용하여 값을 돌려준다. 리스트나 객체를 포함하여 모든 타입을 돌려줄수있다. 이 구문에서 함수의 수행이 즉시 중단되고 현재 함수를 호출한 코드줄로 제어를 되돌린다. 자세한 정보는 return()섹션을 참고할것.

예 17.10. return()의 사용예

<?php
function square($num)
{
    return $num * $num;
}
echo square(4);   // outputs '16'.
?>

함수는 여러 값을 돌려줄수 없다. 그러나 리스트를 돌려줌으로서 비슷한 효과를 볼수있다.

예 17.11. 여러 값을 취하기 위해 배열을 돌려줌

<?php
function small_numbers()
{
    return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();
?>

함수에서 참조를 돌려주기위해서는, 함수 선언부와 돌려주는 변수값을 지정하는 곳에서 참조 연산자 & 를 사용해야 한다.

예 17.12. 함수에서 참조 돌려주기

<?php
function &returns_reference()
{
    return $someref;
}

$newref =& returns_reference();
?>

참조에 관한 자세한 정보는, 참조 표현섹션을 참고.

이전 | 위로 | 다음
함수 인자 | 처음으로 | 가변 함수


가변 함수

PHP는 가변 함수에 대한 개념을 지원한다. 이 용어의 의미는 어떤 변수 뒤에 괄호가 따라온다면, PHP는 그 변수의 값을 갖는 함수를 찾아서 실행하려 할것이란 것이다. 이런 개념은 이기능 외에도 콜백과 함수 테이블 등등을 구현할수 있게 해준다.

가변 함수는 echo(), print(), unset(), isset(), empty(), include(), require()와 같은 언어 구조와 함께 작동하지 않을것이다. 이런 구조를 가변 변수로 사용하기 위해서는 보호 함수(wrapper function)를 사용할 필요가 있다.

예 17.13. 가변 변수 사용예

<?php
function foo() {
    echo "foo() 안입니다.<br />\n";
}

function bar($arg = '')
{
    echo "bar() 안입니다; 인수는 '$arg'입니다.<br />\n";
}

// echo를 감싸는 래퍼 함수입니다.
function echoit($string)
{
    echo $string;
}

$func = 'foo';
$func();        // foo()를 호출합니다.

$func = 'bar';
$func('test');  // bar()를 호출합니다.

$func = 'echoit';
$func('test');  // echoit()을 호출합니다.
?>

가변 함수 기능을 사용하여 객체의 메소드를 호출할수 있다.

예 17.14. 가변 메소드 사용예

<?php
class Foo
{
    function Variable()
    {
        $name = 'Bar';
        $this->$name(); // Bar() 메쏘드를 호출합니다.
    }

    function Bar()
    {
        echo "This is Bar";
    }
}

$foo = new Foo();
$funcname = "Variable";
$foo->$funcname();  // $foo->Var()를 호출합니다.

?>

또 call_user_func(), variable variables, function_exists()섹션을 참고

이전 | 위로 | 다음
값 돌려주기 | 처음으로 | 내부 (내장) 함수


내부 (내장) 함수

PHP는 많은 함수와 상수로 표준화되었다. 그리고 특정 PHP확장 컴파일이 요구하는 함수도 제공한다. 이런 함수는 확장을 컴파일하지 않으면 "undefined function"같은 치명적 오류 메시지를 출력할 것이다. 예를 들면, 이미지 함수를 사용하기 위해서는 GD 지원이 가능하게 컴파일해야 합니다. mysql_connect() 함수를 사용하려면 MySQL을 지원하도록 컴파일해야 한다. 문자열과 변수 관련 함수와 같이 PHP의 모든 버전에 포함되어있는 많은 핵심 함수가 존재한다. phpinfo()나 get_loaded_extensions()함수 를 호출하면 현재 PHP에 올라간 확장에 어떤것인지 확인할수 있다. 많은 확장이 기본값으로 활성화되어있고, PHP 매뉴얼은 여러 확장에 의해 분할되어있다는 것에 주의해야 한다. PHP를 셋업하는 방법을 알고 싶다면, 설정, 설치, 각 확장에 대한 챕터를 보라.

함수의 원형(prototype) 읽기와 이해는 함수 선언 읽는 법 이라는 매뉴얼 섹션에서 설명한다. 함수가 돌려주는 것이나 함수가 값으로 직접 전달하는지 이해하는것이 중요하다. 예를 들면, str_replace()함수는 변경된 문자열을 돌려주는 반면에 usort()함수는 실질적으로 변수 자체에 전달하도록 동작한다. 각 매뉴얼 페이지는 각함수에 대해서 함수 인자와 동작 변경,성공과 실패시 돌려주는 값과 유용한 정보에 대해서 나와있다. 이런 중요한 차이점(아직은 희박) 을 아는 것은 PHP 코드를 정확하게 쓰는데 있어서 매우 결정적인 역할을 한다.

더불어 function_exists(), the function reference, get_extension_funcs(), dl()섹션을 참고할것.

이전 | 위로 | 다음
가변 함수 | 처음으로 | 18. 클래스와 객체


18장. 클래스와 객체

차례

class
extends
생성자
::
parent
객체 일렬화 - 세션 내의 객체
매직함수 __sleep와 __wakeup
생성자의 재참조
PHP 4에서 객체 비교
PHP 5에서 객체 비교

class

클래스(class)는 특정 변수들 그리고 이 변수들과 같이 동작하는 함수의 집합체이다. 다음 예제코드처럼 클래스를 선언할수 있다:

<?php
class Cart
{
    var $items;  // Items in our shopping cart

    // Add $num articles of $artnr to the cart

    function add_item ($artnr, $num)
    {
        $this->items[$artnr] += $num;
    }

    // Take $num articles of $artnr out of the cart

    function remove_item ($artnr, $num)
    {
        if ($this->items[$artnr] > $num) {
            $this->items[$artnr] -= $num;
            return true;
        } else {
            return false;
        }
    }
}
?>

위 코드에서 Cart라는 이름을 갖는 클래스는 카트(cart)를 위한 품목의 연관 배열, 그리고 카트에 아이템을 추가하거나 제거하는 두 개의 함수로 구성되어있다.

주의

클래스 선언부를 여러 파일이나 여러 PHP블록으로 분리할수 없다 다음 코드는 작동하지 않을것이다:

<?php
class test {
?>
<?php
    function test() {
        print 'OK';
    }
}
?>

PHP 4에서는 다음 사항에 주의해야 한다.

경고

Zend에서는 stdClass같은 명칭을 내부적으로 사용하며 이 명칭은 예약되어있다. 따라서 PHP에서 stdClass라는 클래스명을 만들수 없다.

경고

__sleep과 __wakeup함수는 PHP 클래스에서 중요한 역할을 수행한다. 이들과 결합된 매직 기능을 원 하지 않는다면 이런 이름을 클래스내에서 사용할수 없다. 다음 글에서 자세하게 설명할것이다.

경고

PHP에서 __으로 시작하는 함수명은 매직 기능을 수행하도록 예약되어있다. 문서화된 매직 기능을 원하지 않는다면 PHP에서 __를 갖는 함수명을 사용하지 않도록 한다.

PHP 4에서 var로 변수를 선언할때는 상수로만 초기화될수 있다. 상수가 아닌 값으로 초기화하려면, 클래스로부터 객체를 생성할때 자동적 으로 호출되는 함수에서 초기화할 필요가 있다. 이런 함수를 생성자(constructor) 라고 부른다. (다음글을 보세요)

<?php
/* PHP 4에서 이 코드는 작동하지 않을것이다 */
class Cart
{
    var $todays_date = date("Y-m-d");
    var $name = $firstname;
    var $owner = 'Fred ' . 'Jones';
    var $items = array("VCR", "TV");
}

/* 이와 같이 해야 한다 */
class Cart
{
    var $todays_date;
    var $name;
    var $owner;
    var $items;

    function Cart()
    {
        $this->todays_date = date("Y-m-d");
        $this->name = $GLOBALS['firstname'];
        /* etc. . . */
    }
}
?>

class는 타입이다. 즉, 실제 변수를 위한 청사진이다. new 연산자를 사용하여 원하는 이런 타입의 변수를 생성할 수 있다.

<?php
$cart = new Cart;
$cart->add_item("10", 1);

$another_cart = new Cart;
$another_cart->add_item("0815", 3);
?>

위 예제 코드는 Cart클래스의 $cart, $another_cart 객체를 생성한다. $cart의 add_item() 함수는 $cart 에 품목 번호가 10인 아이템 1개를 추가하고, $another_cart에 품목 번호가 0815인 아이템 3개를 추가한다.

$cart와 $another_cart 둘다 add_item(), remove_item() 함수와 items변수를 갖는다. 이들 모두 서로 다른 함수와 변수들이다. 이런 객체는 파일시스템의 디렉토리에 비유될수 있다. 파일시스템에서는 서로 다른 디렉토리에 있으면 두개의 다른 README.TXT파일을 저장할수 있다. 이 파일 각각에 접근하기 위해서는 최상위 디렉토리에서 각 파일로의 경로를 지정해 줘야 하듯이, 이런 각 함수를 호출하고자 한다면 각 함수의 완전한 이름을 지정해야 한다: PHP에서 최상위 디렉토리는 전역 네임스페이스를 갖고, 경로 구분자로 ->를 사용할수 있다. 따라서, $cart->items과 $another_cart->items 은 서로 다른 변수를 지칭하는 것이다. 변수는 $cart->$items이 아니라, $cart->items 로 지정해야 한다는 것에 주의해야 한다. 즉, PHP에서 변수명은 오직 한개의 달러사인($) 기호만 허용된다.

<?php
// correct, single $
$cart->items = array("10" => 1);

// invalid, because $cart->$items becomes $cart->""
$cart->$items = array("10" => 1);

// correct, but may or may not be what was intended:
// $cart->$myvar becomes $cart->items
$myvar = 'items';
$cart->$myvar = array("10" => 1);
?>

클래스의 선언부에서는 프로그램이 객체에 접근할때 어느 객체명 밑에 속해있을지 알수 없다: Cart 클래스가 선언된 후에 그 객체가 $cart나 $another_cart 객체명을 갖을지 알수 없는것이다. 따라서, Cart 클래스 선언부 안에서 $cart->items라고 쓸수 없다. 대신에, 클래스내의 함수나 변수에 접근할 수 있게 하려면 '내 소유'나 '현재 객체'라고 해석할수 있는 $this라는 의사-변수를 사용할수 있다. 따라서, '$this->items[$artnr] += $num' 이라는 코드는 '내 소유의 items 배열의 $artnr카운터를 $num만큼 더하라' 또는 '현재 객체의 items 배열의 $artnr 카운터를 $num만큼 더하라'고 해석할 수 있다.

참고: 클래스와 객체를 제어할 수 있는 몇가지의 유용한 함수가 제공된다. 클래스/객체 함수에서 확인할수 있다.

이전 | 위로 | 다음
내부 (내장) 함수 | 처음으로 | extends


객체 일렬화 - 세션 내의 객체

참고: PHP 3에서 객체는 일렬화(serialization)와 비일렬화(unserialization)처리 과정에서 클래스의 구성요소를 잃게 된다. 처리후 이 변수는 더이상 객체 타입 이 아니다. 그래서 클래스와 메소드를 갖지 않는다. 결국은 거의 쓸모 없게 되는것이다 (웃기는 문법을 갖는 배열처럼 바뀌게 된다)

경고

다음 설명은 PHP 4로만 한정되는 내용이다.

serialize()함수는 PHP에 저장할수 있는 값은 뭐든지 바이트-스트림(byte-stream) 대표성을 내포하는 문자열로 돌려준다. unserialize()함수는 이런 문자열을 원래 변수값으로 되돌려준다. serialize를 사용하여 객체를 저장하면 객체 내의 모든 변수 를 저장할 수 있다. 객체 내의 함수들을 저장할 수는 없고, 오직 클래스의 이름만 저장될것이다.

객체를 unserialize()하기 위해서는, 그 객체의 클래스가 선언되어 있어야 한다. 즉, page1.php에서 클래스 A의 객체 $a 가 있고 이것을 일렬화하면, 클래스 A를 참조하는 문자열을 얻게 되고, 이 문자열은 $a에 속해있는 모든 변수값을 포함하게 될것이다. Page2.php에서 이 문자열을 비일렬화하려면, 클래스 A의 $a를 재생성하고, 클래스 A의 선언이 page2.php에 존재해야 한다. 예를 들면 인클루드 파일 안에 클래스 A의 클래스 선언부를 저장하고 page1.php와 page2.php 에서 이 파일을 인클루드 하면 된다.

<?php
// classa.inc:

  class A
  {
      var $one = 1;

      function show_one()
      {
          echo $this->one;
      }
  }

// page1.php:

  include("classa.inc");

  $a = new A;
  $s = serialize($a);
  // store $s somewhere where page2.php can find it.
  $fp = fopen("store", "w");
  fputs($fp, $s);
  fclose($fp);

// page2.php:

  // this is needed for the unserialize to work properly.
  include("classa.inc");

  $s = implode("", @file("store"));
  $a = unserialize($s);

  // now use the function show_one() of the $a object.
  $a->show_one();
?>

세션을 사용해서 객체를 등록하기 위해 session_register()함수를 사용한다면, 이 객체들은 각 PHP 페이지의 끝에서 자동으로 일렬화되고, 다음 페이지들 각각에서 자동으로 비일렬화된다. 이 객체들이 일단 세션의 일부분이 되면 페이지의 어느 부분에서도 이런 객체가 나타날 수 있다는것을 의미한다.

모든 페이지에서 실제로 이런 클래스를 사용하지 않더라도, 모든 페이지에 등록된 모든 객체의 클래스 선언을 인클루드하도록 한다. 이렇게 하지 않고, 존재하는 클래스 선언부없이 객체가 일렬화되면, 그 객체는 클래스 구성원을 잃게 될것이고 어떤 함수도 갖지 않는 stdClass클래스의 객체가 될것이다. 즉, 그 객체는 쓸모없게 될것이다.

그래서 위 예제코드에서 $a가 session_register("a") 수행하여 세션의 일부분이 되면, page1.php와 page2.php뿐만 아니라 사용중인 모든 페이지에 classa.inc파일을 인클루드해야 한다.

이전 | 위로 | 다음
parent | 처음으로 | 매직함수 __sleep와 __wakeup


생성자의 재참조

생성자 내로 참조를 만드는 것은 혼란스런 결과를 유도할수 있다. 이런 튜토리얼같은 섹션이 문제를 회피하도록 도와준다.

<?php
class Foo
{
    function Foo($name)
    {
        // 전역 배열 $globalref 안에 참조를 만든다
        global $globalref;
        $globalref[] = &$this;
        // 값을 전달하기 위해 이름을 부여한다
        $this->setName($name);
        // 그리고 그것을 출력한다
        $this->echoName();
    }

    function echoName()
    {
        echo "<br>",$this->name;
    }

    function setName($name)
    {
        $this->name = $name;
    }
}
?>

= 복사 연산자를 사용하여 만들어지는 $bar1과 =& 참조 연산자를 사용하여 만들어지는 $bar2 사이에 차이점이 있는지 확인해보자...

<?php
$bar1 = new Foo('set in constructor');
$bar1->echoName();
$globalref[0]->echoName();

/* output:
set in constructor
set in constructor
set in constructor */

$bar2 =& new Foo('set in constructor');
$bar2->echoName();
$globalref[1]->echoName();

/* output:
set in constructor
set in constructor
set in constructor */
?>

외관상으로 둘 사이에는 아무 차이점도 없다. 그러나 실제로 매우 중요한 사실이 하나 있다: $bar1과 $globalref[0]은 참조되지 않는다. 그들은 같은 변수가 아니다. 이것은 "new"가 기본적으로 참조를 돌려주지 않기 때문이다. 대신 그것은 복사본을 돌려준다.

참고: 참조 대신 복사본을 돌려주는것 (PHP 4이상의 버전은 참조 카운팅을 사용한다) 때문에 퍼포먼스가 나빠지지는 않는다. 반대로 참조 대신에 복사본을 사용하는 것이 대부분 더 낫다. 왜냐하면 참조를 생성하는 것은 가상적으로 복사본을 만드는 데 약간의 시간이 걸리기 때문이다 (그것들이 거대한 배열이나 객체이고 그들 중 하나만 바뀌고 다른것들이 연속적으로 존재한다면, 그리고 동시에 그들 모두를 변경하려한다면 참조를 쓰는것이 더 현명할것이다)

위에서 서술한 것을 검증하기 위해 아래 예제 코드를 보자.
<?php
// now we will change the name. what do you expect?
// you could expect that both $bar1 and $globalref[0] change their names...
$bar1->setName('set from outside');

// as mentioned before this is not the case.
$bar1->echoName();
$globalref[0]->echoName();

/* output:
set from outside
set in constructor */

// let us see what is different with $bar2 and $globalref[1]
$bar2->setName('set from outside');

// luckily they are not only equal, they are the same variable
// thus $bar2->name and $globalref[1]->name are the same too
$bar2->echoName();
$globalref[1]->echoName();

/* output:
set from outside
set from outside */
?>

마지막으로 다음 예제를 보고 이해하도록 하자.

<?php
class A
{
    function A($i)
    {
        $this->value = $i;
        // try to figure out why we do not need a reference here
        $this->b = new B($this);
    }

    function createRef()
    {
        $this->c = new B($this);
    }

    function echoValue()
    {
        echo "<br>","class ",get_class($this),': ',$this->value;
    }
}

class B
{
    function B(&$a)
    {
        $this->a = &$a;
    }

    function echoValue()
    {
        echo "<br>","class ",get_class($this),': ',$this->a->value;
    }
}

// try to undestand why using a simple copy here would yield
// in an undesired result in the *-marked line
$a =& new A(10);
$a->createRef();

$a->echoValue();
$a->b->echoValue();
$a->c->echoValue();

$a->value = 11;

$a->echoValue();
$a->b->echoValue(); // *
$a->c->echoValue();

/*
output:
class A: 10
class B: 10
class B: 10
class A: 11
class B: 11
class B: 11
*/
?>

이전 | 위로 | 다음
매직함수 __sleep와 __wakeup | 처음으로 | PHP 4에서 객체 비교


PHP 4에서 객체 비교

PHP 4에서 객체는 매우 단순한 방식으로 비교된다. 즉: 두 객체 인스턴스 가 같은 속성과 값을 갖고, 같은 클래스의 인스턴스라면 두 객체는 동일하다. 식별 연산자 (===)를 사용하여 두 객체를 비교할때에도 비슷한 규칙이 적용된다.

아래 예제 코드를 실행해보면:

예 18.1. PHP 4에서 객체 비교를 위한 예제코드

<?php
function bool2str($bool) {
    if ($bool === false) {
            return 'FALSE';
    } else {
            return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2) {
    echo 'o1 == o2 : '.bool2str($o1 == $o2)."\n";
    echo 'o1 != o2 : '.bool2str($o1 != $o2)."\n";
    echo 'o1 === o2 : '.bool2str($o1 === $o2)."\n";
    echo 'o1 !== o2 : '.bool2str($o1 !== $o2)."\n";
}

class Flag {
    var $flag;

    function Flag($flag=true) {
            $this->flag = $flag;
    }
}

class SwitchableFlag extends Flag {

    function turnOn() {
        $this->flag = true;
    }

    function turnOff() {
        $this->flag = false;
    }
}

$o = new Flag();
$p = new Flag(false);
$q = new Flag();

$r = new SwitchableFlag();

echo "Compare instances created with the same parameters\n";
compareObjects($o, $q);

echo "\nCompare instances created with different parameters\n";
compareObjects($o, $p);

echo "\nCompare an instance of a parent class with one from a subclass\n";
compareObjects($o, $r);
?>

결과는 다음과 같다:
Compare instances created with the same parameters
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Compare instances created with different parameters
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Compare an instance of a parent class with one from a subclass
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE
위 출력중 어떤것은 위에서 설명한 비교 규칙이 적용된다는 것을 알수 있다. 같은 속성에 대해 같은 값을 갖고, 같은 클래스에서 파생된 인스턴스만 동일 하고 동치로 판단한다.

복합 객체를 갖는 경우에도 같은 비교 규칙이 적용된다. 아래 예제 코드에서는 컨테이너 클래스를 만들어서 Flag 객체의 결합 배열을 저장한다.

예 18.2. PHP 4에서 복합 객체 비교

<?php
class FlagSet {
    var $set;

    function FlagSet($flagArr = array()) {
        $this->set = $flagArr;
    }

    function addFlag($name, $flag) {
        $this->set[$name] = $flag;
    }

    function removeFlag($name) {
        if (array_key_exists($name, $this->set)) {
            unset($this->set[$name]);
        }
    }
}

$u = new FlagSet();
$u->addFlag('flag1', $o);
$u->addFlag('flag2', $p);
$v = new FlagSet(array('flag1'=>$q, 'flag2'=>$p));
$w = new FlagSet(array('flag1'=>$q));

echo "\nComposite objects u(o,p) and v(q,p)\n";
compareObjects($u, $v);

echo "\nu(o,p) and w(q)\n";
compareObjects($u, $w);
?>

이 코드의 결과는 다음과 같은 출력이 기대된다:
Composite objects u(o,p) and v(q,p)
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

u(o,p) and w(q)
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

이전 | 위로 | 다음
생성자의 재참조 | 처음으로 | PHP 5에서 객체 비교


PHP 5에서 객체 비교

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

PHP 5에서 객체 비교는 PHP 4보다 좀더 복잡하고 객체 지향 언어 (PHP 5는 그런 언어가 아니다)에서 기대할수 있는 특성에 더 가깝다.

비교 연산자 (==)를 사용할 때에는 객체 변수는 단순 한 방식으로 비교된다. 즉: 두 객체 인스턴스가 같은 속성과 값을 갖고, 같은 클래스에서 파생된 인스턴스이고, 같은 네임스페이스에서 선언되었 다면 동일한 객체라고 본다.

하지만, 식별 연산자 (===)를 사용하면 객체 변수는 오직 같은 클래스(특별한 네임스페이스에서)의 같은 인스턴스로 참조될때만 동일한 객체라고 본다.

다음 예제 코드를 보고 이런 규칙을 음미해보자.

예 18.3. PHP 5에서의 객체 비교에 대한 예제 코드

<?php
function bool2str($bool) {
    if ($bool === false) {
            return 'FALSE';
    } else {
            return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2) {
    echo 'o1 == o2 : '.bool2str($o1 == $o2)."\n";
    echo 'o1 != o2 : '.bool2str($o1 != $o2)."\n";
    echo 'o1 === o2 : '.bool2str($o1 === $o2)."\n";
    echo 'o1 !== o2 : '.bool2str($o1 !== $o2)."\n";
}

class Flag {
    var $flag;

    function Flag($flag=true) {
            $this->flag = $flag;
    }
}

namespace Other {

    class Flag {
        var $flag;

        function Flag($flag=true) {
                $this->flag = $flag;
        }
    }

}

$o = new Flag();
$p = new Flag();
$q = $o;
$r = new Other::Flag();

echo "Two instances of the same class\n";
compareObjects($o, $p);

echo "\nTwo references to the same instance\n";
compareObjects($o, $q);

echo "\nInstances of similarly named classes in different namespaces\n";
compareObjects($o, $r);
?>

이 예제 코드는 다음과 같이 출력한다:
Two instances of the same class
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Two references to the same instance
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Instances of similarly named classes in different namespaces
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

이전 | 위로 | 다음
PHP 4에서 객체 비교 | 처음으로 | 19. 클래스와 객체 (PHP 5)


19장. 클래스와 객체 (PHP 5)

차례

소개
The Basics
Constructors and Destructors
Visibility
Scope Resolution Operator (::)
Static Keyword
Class Constants
Class Abstraction
Object Interfaces
Overloading
Object Iteration
Magic Methods
Final 키워드
Object cloning
Comparing objects
Reflection

소개

PHP 5는 새로운 객체 모델을 가집니다. PHP의 객체 조작은 완전히 새로 쓰여졌고, 더욱 나은 성능과 많은 기능을 허용합니다.

이전 | 위로 | 다음
PHP 5에서 객체 비교 | 처음으로 | The Basics


The Basics

class

Every class definition begins with the keyword class, followed by a class name, which can be any name that isn't a reserved word in PHP. Followed by a pair of curly braces, which contains the definition of the classes members and methods. A pseudo-variable, $this is available when a method is called from within an object context. $this is a reference to the calling object (usually the object to which the method belongs, but can be another object, if the method is called statically from the context of a secondary object). This is illustrated in the following examples:

예 19.1. $this variable in object-oriented language

<?php
class A
{
    function foo()
    {
        if (isset($this)) {
            echo '$this is defined (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this is not defined.\n";
        }
    }
}

class B
{
    function bar()
    {
        A::foo();
    }
}

$a = new A();
$a->foo();
A::foo();
$b = new B();
$b->bar();
B::bar();
?>

위 예제의 출력:

$this is defined (a)
$this is not defined.
$this is defined (b)
$this is not defined.

예 19.2. Simple Class definition

<?php
class SimpleClass
{
    // member declaration
    public $var = 'a default value';

    // method declaration
    public function displayVar() {
        echo $this->var;
    }
}
?>

The default value must be a constant expression, not (for example) a variable, a class member or a function call.

예 19.3. Class members' default value

<?php
class SimpleClass
{
    // invalid member declarations:
    public $var1 = 'hello '.'world';
    public $var2 = <<<EOD
hello world
EOD;
    public $var3 = 1+2;
    public $var4 = self::myStaticMethod();
    public $var5 = $myVar;

    // valid member declarations:
    public $var6 = myConstant;
    public $var7 = self::classConstant;
    public $var8 = array(true, false);

}
?>

참고: There are some nice functions to handle classes and objects. You might want to take a look at the Class/Object Functions.

new

To create an instance of a class, a new object must be created and assigned to a variable. An object will always be assigned when creating a new object unless the object has a constructor defined that throws an exception on error. Classes should be defined before instantiation (and in some cases this is a requirement).

예 19.4. Creating an instance

<?php
$instance = new SimpleClass();
?>

In the class context, it is possible to create a new object by new self and new parent.

When assigning an already created instance of a class to a new variable, the new variable will access the same instance as the object that was assigned. This behaviour is the same when passing instances to a function. A copy of an already created object can be made by cloning it.

예 19.5. Object Assignment

<?php
$assigned   =  $instance;
$reference  =& $instance;

$instance->var = '$assigned will have this value';

$instance = null; // $instance and $reference become null

var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>

위 예제의 출력:

NULL
NULL
object(SimpleClass)#1 (1) {
   ["var"]=>
     string(30) "$assigned will have this value"
}

extends

A class can inherit methods and members of another class by using the extends keyword in the declaration. It is not possible to extend multiple classes, a class can only inherit one base class.

The inherited methods and members can be overridden, unless the parent class has defined a method as final, by redeclaring them with the same name defined in the parent class. It is possible to access the overridden methods or static members by referencing them with parent::

예 19.6. Simple Class Inheritance

<?php
class ExtendClass extends SimpleClass
{
    // Redefine the parent method
    function displayVar()
    {
        echo "Extending class\n";
        parent::displayVar();
    }
}

$extended = new ExtendClass();
$extended->displayVar();
?>

위 예제의 출력:

Extending class
a default value

이전 | 위로 | 다음
19. 클래스와 객체 (PHP 5) | 처음으로 | Constructors and Destructors


Constructors and Destructors

Constructor

void __construct ( [mixed $args [, $...]] )

PHP 5 allows developers to declare constructor methods for classes. Classes which have a constructor method call this method on each newly-created object, so it is suitable for any initialization that the object may need before it is used.

참고: Parent constructors are not called implicitly if the child class defines a constructor. In order to run a parent constructor, a call to parent::__construct() within the child constructor is required.

예 19.7. using new unified constructors

<?php
class BaseClass {
   function __construct() {
       print "In BaseClass constructor\n";
   }
}

class SubClass extends BaseClass {
   function __construct() {
       parent::__construct();
       print "In SubClass constructor\n";
   }
}

$obj = new BaseClass();
$obj = new SubClass();
?>

For backwards compatibility, if PHP 5 cannot find a __construct() function for a given class, it will search for the old-style constructor function, by the name of the class. Effectively, it means that the only case that would have compatibility issues is if the class had a method named __construct() which was used for different semantics.

Destructor

void __destruct ( void )

PHP 5 introduces a destructor concept similar to that of other object-oriented languages, such as C++. The destructor method will be called as soon as all references to a particular object are removed or when the object is explicitly destroyed or in any order in shutdown sequence.

예 19.8. Destructor Example

<?php
class MyDestructableClass {
   function __construct() {
       print "In constructor\n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "Destroying " . $this->name . "\n";
   }
}

$obj = new MyDestructableClass();
?>

Like constructors, parent destructors will not be called implicitly by the engine. In order to run a parent destructor, one would have to explicitly call parent::__destruct() in the destructor body.

참고: Destructors called during the script shutdown have HTTP headers already sent. The working directory in the script shutdown phase can be different with some SAPIs (e.g. Apache).

참고: Attempting to throw an exception from a destructor (called in the time of script termination) causes a fatal error.

이전 | 위로 | 다음
The Basics | 처음으로 | Visibility


Visibility

The visibility of a property or method can be defined by prefixing the declaration with the keywords: public, protected or private. Public declared items can be accessed everywhere. Protected limits access to inherited and parent classes (and to the class that defines the item). Private limits visibility only to the class that defines the item.

Members Visibility

Class members must be defined with public, private, or protected.

예 19.9. Member declaration

<?php
/**
 * Define MyClass
 */
class MyClass
{
    public $public = 'Public';
    protected $protected = 'Protected';
    private $private = 'Private';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public; // Works
echo $obj->protected; // Fatal Error
echo $obj->private; // Fatal Error
$obj->printHello(); // Shows Public, Protected and Private

/**
 * Define MyClass2
 */
class MyClass2 extends MyClass
{
    // We can redeclare the public and protected method, but not private
    protected $protected = 'Protected2';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj2 = new MyClass2();
echo $obj2->public; // Works
echo $obj2->private; // Undefined
echo $obj2->protected; // Fatal Error
$obj2->printHello(); // Shows Public, Protected2, Undefined

?>

참고: The PHP 4 method of declaring a variable with the var keyword is still supported for compatibility reasons (as a synonym for the public keyword). In PHP 5 before 5.1.3, its usage would generate an E_STRICT warning.

Method Visibility

Class methods must be defined with public, private, or protected. Methods without any declaration are defined as public.

예 19.10. Method Declaration

<?php
/**
 * Define MyClass
 */
class MyClass
{
    // Contructors must be public
    public function __construct() { }

    // Declare a public method
    public function MyPublic() { }

    // Declare a protected method
    protected function MyProtected() { }

    // Declare a private method
    private function MyPrivate() { }

    // This is public
    function Foo()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate();
    }
}

$myclass = new MyClass;
$myclass->MyPublic(); // Works
$myclass->MyProtected(); // Fatal Error
$myclass->MyPrivate(); // Fatal Error
$myclass->Foo(); // Public, Protected and Private work

/**
 * Define MyClass2
 */
class MyClass2 extends MyClass
{
    // This is public
    function Foo2()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate(); // Fatal Error
    }
}

$myclass2 = new MyClass2;
$myclass2->MyPublic(); // Works
$myclass2->Foo2(); // Public and Protected work, not Private

class Bar
{
    public function test() {
        $this->testPrivate();
        $this->testPublic();
    }

    public function testPublic() {
        echo "Bar::testPublic\n";
    }

    private function testPrivate() {
        echo "Bar::testPrivate\n";
    }
}

class Foo extends Bar
{
    public function testPublic() {
        echo "Foo::testPublic\n";
    }

    private function testPrivate() {
        echo "Foo::testPrivate\n";
    }
}

$myFoo = new foo();
$myFoo->test(); // Bar::testPrivate
                // Foo::testPublic
?>

이전 | 위로 | 다음
Constructors and Destructors | 처음으로 | Scope Resolution Operator (::)


Scope Resolution Operator (::)

The Scope Resolution Operator (also called Paamayim Nekudotayim) or in simpler terms, the double colon, is a token that allows access to static, constant, and overridden members or methods of a class.

When referencing these items from outside the class definition, use the name of the class.

As of PHP 5.3.0, it's possible to reference the class using a variable. Keywords like self, parent or static are not allowed in dynamic class references.

Paamayim Nekudotayim would, at first, seem like a strange choice for naming a double-colon. However, while writing the Zend Engine 0.5 (which powers PHP 3), that's what the Zend team decided to call it. It actually does mean double-colon - in Hebrew!

예 19.11. :: from outside the class definition

<?php
class MyClass {
    const CONST_VALUE = 'A constant value';
}

$classname = 'MyClass';
echo $classname::CONST_VALUE;

echo MyClass::CONST_VALUE;
?>

Two special keywords self and parent are used to access members or methods from inside the class definition.

예 19.12. :: from inside the class definition

<?php
class OtherClass extends MyClass
{
    public static $my_static = 'static var';

    public static function doubleColon() {
        echo parent::CONST_VALUE . "\n";
        echo self::$my_static . "\n";
    }
}

$classname = 'OtherClass';
echo $classname::doubleColon();

OtherClass::doubleColon();
?>

When an extending class overrides the parents definition of a method, PHP will not call the parent's method. It's up to the extended class on whether or not the parent's method is called. This also applies to Constructors and Destructors, Overloading, and Magic method definitions.

예 19.13. Calling a parent's method

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
    }
}

class OtherClass extends MyClass
{
    // Override parent's definition
    public function myFunc()
    {
        // But still call the parent function
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>

이전 | 위로 | 다음
Visibility | 처음으로 | Static Keyword


Static Keyword

Declaring class members or methods as static makes them accessible without needing an instantiation of the class. A member declared as static can not be accessed with an instantiated class object (though a static method can).

For compatibility with PHP 4, if no visibility declaration is used, then the member or method will be treated as if it was declared as public.

Because static methods are callable without an instance of the object created, the pseudo variable $this is not available inside the method declared as static.

Static properties cannot be accessed through the object using the arrow operator ->.

Calling non-static methods statically generates an E_STRICT level warning.

As of PHP 5.3.0, it's possible to reference the class using a variable. Keywords like self, parent or static are not allowed in dynamic class references.

예 19.14. Static member example

<?php
class Foo
{
    public static $my_static = 'foo';

    public function staticValue() {
        return self::$my_static;
    }
}

class Bar extends Foo
{
    public function fooStatic() {
        return parent::$my_static;
    }
}

print Foo::$my_static . "\n";

$foo = new Foo();
print $foo->staticValue() . "\n";
print $foo->my_static . "\n";      // Undefined "Property" my_static

print $foo::$my_static . "\n";
$classname = 'Foo';
print $classname::$my_static . "\n";

print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>

예 19.15. Static method example

<?php
class Foo {
    public static function aStaticMethod() {
        // ...
    }
}

Foo::aStaticMethod();
$classname = 'Foo';
$classname::aStaticMethod();
?>

이전 | 위로 | 다음
Scope Resolution Operator (::) | 처음으로 | Class Constants


Class Constants

It is possible to define constant values on a per-class basis remaining the same and unchangeable. Constants differ from normal variables in that you don't use the $ symbol to declare or use them.

The value must be a constant expression, not (for example) a variable, a class member, result of a mathematical operation or a function call.

As of PHP 5.3.0, it's possible to reference the class using a variable. Keywords like self, parent or static are not allowed in dynamic class references.

예 19.16. Defining and using a constant

<?php
class MyClass
{
    const constant = 'constant value';

    function showConstant() {
        echo  self::constant . "\n";
    }
}

echo MyClass::constant . "\n";

$classname = "MyClass";
echo $classname::constant . "\n";

$class = new MyClass();
$class->showConstant();

echo $class::constant."\n";
?>

이전 | 위로 | 다음
Static Keyword | 처음으로 | Class Abstraction


Class Abstraction

PHP 5 introduces abstract classes and methods. It is not allowed to create an instance of a class that has been defined as abstract. Any class that contains at least one abstract method must also be abstract. Methods defined as abstract simply declare the method's signature they cannot define the implementation.

When inheriting from an abstract class, all methods marked abstract in the parent's class declaration must be defined by the child; additionally, these methods must be defined with the same (or a less restricted) visibility. For example, if the abstract method is defined as protected, the function implementation must be defined as either protected or public, but not private.

예 19.17. Abstract class example

<?php
abstract class AbstractClass
{
    // Force Extending class to define this method
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);

    // Common method
    public function printOut() {
        print $this->getValue() . "\n";
    }
}

class ConcreteClass1 extends AbstractClass
{
    protected function getValue() {
        return "ConcreteClass1";
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass1";
    }
}

class ConcreteClass2 extends AbstractClass
{
    public function getValue() {
        return "ConcreteClass2";
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass2";
    }
}

$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') ."\n";

$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('FOO_') ."\n";
?>

위 예제의 출력:

ConcreteClass1
FOO_ConcreteClass1
ConcreteClass2
FOO_ConcreteClass2

Old code that has no user-defined classes or functions named 'abstract' should run without modifications.

이전 | 위로 | 다음
Class Constants | 처음으로 | Object Interfaces


Object Interfaces

Object interfaces allow you to create code which specifies which methods a class must implement, without having to define how these methods are handled.

Interfaces are defined using the interface keyword, in the same way as a standard class, but without any of the methods having their contents defined.

All methods declared in an interface must be public, this is the nature of an interface.

implements

To implement an interface, the implements operator is used. All methods in the interface must be implemented within a class; failure to do so will result in a fatal error. Classes may implement more than one interface if desired by separating each interface with a comma.

참고: A class cannot implement two interfaces that share function names, since it would cause ambiguity.

예제

예 19.18. Interface example

<?php
// Declare the interface 'iTemplate'
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}

// Implement the interface
// This will work
class Template implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }

    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }

        return $template;
    }
}

// This will not work
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();

    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}

?>

See also the instanceof operator.

이전 | 위로 | 다음
Class Abstraction | 처음으로 | Overloading


Overloading

Both method calls and member accesses can be overloaded via the __call, __get and __set methods. These methods will only be triggered when your object or inherited object doesn't contain the member or method you're trying to access. All overloading methods must not be defined as static. All overloading methods must be defined as public.

Since PHP 5.1.0 it is also possible to overload the isset() and unset() functions via the __isset and __unset methods respectively. Method __isset is called also with empty().

Member overloading

void __set ( string $name, mixed $value )
mixed __get ( string $name )
bool __isset ( string $name )
void __unset ( string $name )

Class members can be overloaded to run custom code defined in your class by defining these specially named methods. The $name parameter used is the name of the variable that should be set or retrieved. The __set() method's $value parameter specifies the value that the object should set the $name.

참고: The __set() method cannot take arguments by reference.

예 19.19. overloading with __get, __set, __isset and __unset example

<?php
class Setter
{
    public $n;
    private $x = array("a" => 1, "b" => 2, "c" => 3);

    public function __get($nm)
    {
        echo "Getting [$nm]\n";

        if (isset($this->x[$nm])) {
            $r = $this->x[$nm];
            print "Returning: $r\n";
            return $r;
        } else {
            echo "Nothing!\n";
        }
    }

    public function __set($nm, $val)
    {
        echo "Setting [$nm] to $val\n";

        if (isset($this->x[$nm])) {
            $this->x[$nm] = $val;
            echo "OK!\n";
        } else {
            echo "Not OK!\n";
        }
    }

    public function __isset($nm)
    {
        echo "Checking if $nm is set\n";

        return isset($this->x[$nm]);
    }

    public function __unset($nm)
    {
        echo "Unsetting $nm\n";

        unset($this->x[$nm]);
    }
}

$foo = new Setter();
$foo->n = 1;
$foo->a = 100;
$foo->a++;
$foo->z++;

var_dump(isset($foo->a)); //true
unset($foo->a);
var_dump(isset($foo->a)); //false

// this doesn't pass through the __isset() method
// because 'n' is a public property
var_dump(isset($foo->n));

var_dump($foo);
?>

위 예제의 출력:

Setting [a] to 100
OK!
Getting [a]
Returning: 100
Setting [a] to 101
OK!
Getting [z]
Nothing!
Setting [z] to 1
Not OK!

Checking if a is set
bool(true)
Unsetting a
Checking if a is set
bool(false)
bool(true)

object(Setter)#1 (2) {
  ["n"]=>
  int(1)
  ["x":"Setter":private]=>
  array(2) {
    ["b"]=>
    int(2)
    ["c"]=>
    int(3)
  }
}

Method overloading

mixed __call ( string $name, array $arguments )

The magic method __call() allows to capture invocation of non existing methods. That way __call() can be used to implement user defined method handling that depends on the name of the actual method being called. This is for instance useful for proxy implementations. The arguments that were passed in the function will be defined as an array in the $arguments parameter. The value returned from the __call() method will be returned to the caller of the method.

예 19.20. overloading with __call example

<?php
class Caller
{
    private $x = array(1, 2, 3);

    public function __call($m, $a)
    {
        print "Method $m called:\n";
        var_dump($a);
        return $this->x;
    }
}

$foo = new Caller();
$a = $foo->test(1, "2", 3.4, true);
var_dump($a);
?>

위 예제의 출력:

Method test called:
array(4) {
    [0]=>
    int(1)
    [1]=>
    string(1) "2"
    [2]=>
    float(3.4)
    [3]=>
    bool(true)
}
array(3) {
    [0]=>
    int(1)
    [1]=>
    int(2)
    [2]=>
    int(3)
}

이전 | 위로 | 다음
Object Interfaces | 처음으로 | Object Iteration


Object Iteration

PHP 5 provides a way for objects to be defined so it is possible to iterate through a list of items, with, for example a foreach statement. By default, all visible properties will be used for the iteration.

예 19.21. Simple Object Iteration

<?php
class MyClass
{
    public $var1 = 'value 1';
    public $var2 = 'value 2';
    public $var3 = 'value 3';

    protected $protected = 'protected var';
    private   $private   = 'private var';

    function iterateVisible() {
       echo "MyClass::iterateVisible:\n";
       foreach($this as $key => $value) {
           print "$key => $value\n";
       }
    }
}

$class = new MyClass();

foreach($class as $key => $value) {
    print "$key => $value\n";
}
echo "\n";

$class->iterateVisible();

?>

위 예제의 출력:

var1 => value 1
var2 => value 2
var3 => value 3

MyClass::iterateVisible:
var1 => value 1
var2 => value 2
var3 => value 3
protected => protected var
private => private var

As the output shows, the foreach iterated through all visible variables that can be accessed. To take it a step further you can implement one of PHP 5's internal interface named Iterator. This allows the object to decide what and how the object will be iterated.

예 19.22. Object Iteration implementing Iterator

<?php
class MyIterator implements Iterator
{
    private $var = array();

    public function __construct($array)
    {
        if (is_array($array)) {
            $this->var = $array;
        }
    }

    public function rewind() {
        echo "rewinding\n";
        reset($this->var);
    }

    public function current() {
        $var = current($this->var);
        echo "current: $var\n";
        return $var;
    }

    public function key() {
        $var = key($this->var);
        echo "key: $var\n";
        return $var;
    }

    public function next() {
        $var = next($this->var);
        echo "next: $var\n";
        return $var;
    }

    public function valid() {
        $var = $this->current() !== false;
        echo "valid: {$var}\n";
        return $var;
    }
}

$values = array(1,2,3);
$it = new MyIterator($values);

foreach ($it as $a => $b) {
    print "$a: $b\n";
}
?>

위 예제의 출력:

rewinding
current: 1
valid: 1
current: 1
key: 0
0: 1
next: 2
current: 2
valid: 1
current: 2
key: 1
1: 2
next: 3
current: 3
valid: 1
current: 3
key: 2
2: 3
next:
current:
valid:

You can also define your class so that it doesn't have to define all the Iterator functions by simply implementing the PHP 5 IteratorAggregate interface.

예 19.23. Object Iteration implementing IteratorAggregate

<?php
class MyCollection implements IteratorAggregate
{
    private $items = array();
    private $count = 0;

    // Required definition of interface IteratorAggregate
    public function getIterator() {
        return new MyIterator($this->items);
    }

    public function add($value) {
        $this->items[$this->count++] = $value;
    }
}

$coll = new MyCollection();
$coll->add('value 1');
$coll->add('value 2');
$coll->add('value 3');

foreach ($coll as $key => $val) {
    echo "key/value: [$key -> $val]\n\n";
}
?>

위 예제의 출력:

rewinding
current: value 1
valid: 1
current: value 1
key: 0
key/value: [0 -> value 1]

next: value 2
current: value 2
valid: 1
current: value 2
key: 1
key/value: [1 -> value 2]

next: value 3
current: value 3
valid: 1
current: value 3
key: 2
key/value: [2 -> value 3]

next:
current:
valid:

참고: For more examples of iterators, see the SPL Extension.

이전 | 위로 | 다음
Overloading | 처음으로 | Magic Methods


Magic Methods

The function names __construct, __destruct (see Constructors and Destructors), __call, __get, __set, __isset, __unset (see Overloading), __sleep, __wakeup, __toString, __set_state and __clone are magical in PHP classes. You cannot have functions with these names in any of your classes unless you want the magic functionality associated with them.

경고

PHP reserves all function names starting with __ as magical. It is recommended that you do not use function names with __ in PHP unless you want some documented magic functionality.

__sleep and __wakeup

serialize() checks if your class has a function with the magic name __sleep. If so, that function is executed prior to any serialization. It can clean up the object and is supposed to return an array with the names of all variables of that object that should be serialized. If the method doesn't return anything then NULL is serialized and E_NOTICE is issued.

The intended use of __sleep is to commit pending data or perform similar cleanup tasks. Also, the function is useful if you have very large objects which do not need to be saved completely.

Conversely, unserialize() checks for the presence of a function with the magic name __wakeup. If present, this function can reconstruct any resources that the object may have.

The intended use of __wakeup is to reestablish any database connections that may have been lost during serialization and perform other reinitialization tasks.

예 19.24. Sleep and wakeup

<?php
class Connection {
    protected $link;
    private $server, $username, $password, $db;

    public function __construct($server, $username, $password, $db)
    {
        $this->server = $server;
        $this->username = $username;
        $this->password = $password;
        $this->db = $db;
        $this->connect();
    }

    private function connect()
    {
        $this->link = mysql_connect($this->server, $this->username, $this->password);
        mysql_select_db($this->db, $this->link);
    }

    public function __sleep()
    {
        return array('server', 'username', 'password', 'db');
    }

    public function __wakeup()
    {
        $this->connect();
    }
}
?>

__toString

The __toString method allows a class to decide how it will react when it is converted to a string.

예 19.25. Simple example

<?php
// Declare a simple class
class TestClass
{
    public $foo;

    public function __construct($foo) {
        $this->foo = $foo;
    }

    public function __toString() {
        return $this->foo;
    }
}

$class = new TestClass('Hello');
echo $class;
?>

위 예제의 출력:

Hello

It is worth noting that before PHP 5.2.0 the __toString method was only called when it was directly combined with echo() or print(). Since PHP 5.2.0, it is called in any string context (e.g. in printf() with %s modifier) but not in other types contexts (e.g. with %d modifier). Since PHP 5.2.0, converting objects without __toString method to string would cause E_RECOVERABLE_ERROR.

__set_state

This static method is called for classes exported by var_export() since PHP 5.1.0.

The only parameter of this method is an array containing exported properties in the form array('property' => value, ...).

이전 | 위로 | 다음
Object Iteration | 처음으로 | Final 키워드


Final 키워드

PHP 5는 자식 클래스가 메쏘드나 변수를 덮어 쓰는 것을 막도록, final 키워드를 지원합니다. 정의시에 final을 앞에 붙이면 됩니다.

예 19.26. Final 메쏘드 예제

<?php
class BaseClass {
   public function test() {
       echo "BaseClass::test() 호출\n";
   }

   final public function moreTesting() {
       echo "BaseClass::moreTesting() 호출\n";
   }
}

class ChildClass extends BaseClass {
   public function moreTesting() {
       echo "ChildClass::moreTesting() 호출\n";
   }
}
// 결과는 Fatal error: Cannot override final method BaseClass::moreTesting()
?>

이전 | 위로 | 다음
Magic Methods | 처음으로 | Object cloning


Object cloning

Creating a copy of an object with fully replicated properties is not always the wanted behavior. A good example of the need for copy constructors, is if you have an object which represents a GTK window and the object holds the resource of this GTK window, when you create a duplicate you might want to create a new window with the same properties and have the new object hold the resource of the new window. Another example is if your object holds a reference to another object which it uses and when you replicate the parent object you want to create a new instance of this other object so that the replica has its own separate copy.

An object copy is created by using the clone keyword (which calls the object's __clone() method if possible). An object's __clone() method cannot be called directly.

$copy_of_object = clone $object;

When an object is cloned, PHP 5 will perform a shallow copy of all of the object's properties. Any properties that are references to other variables, will remain references. If a __clone() method is defined, then the newly created object's __clone() method will be called, to allow any necessary properties that need to be changed.

예 19.27. Cloning an object

<?php
class SubObject
{
    static $instances = 0;
    public $instance;

    public function __construct() {
        $this->instance = ++self::$instances;
    }

    public function __clone() {
        $this->instance = ++self::$instances;
    }
}

class MyCloneable
{
    public $object1;
    public $object2;

    function __clone()
    {
        // Force a copy of this->object, otherwise
        // it will point to same object.
        $this->object1 = clone $this->object1;
    }
}

$obj = new MyCloneable();

$obj->object1 = new SubObject();
$obj->object2 = new SubObject();

$obj2 = clone $obj;

print("Original Object:\n");
print_r($obj);

print("Cloned Object:\n");
print_r($obj2);

?>

위 예제의 출력:

Original Object:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 1
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)
Cloned Object:
MyCloneable Object
(
    [object1] => SubObject Object
        (
            [instance] => 3
        )

    [object2] => SubObject Object
        (
            [instance] => 2
        )

)

이전 | 위로 | 다음
Final 키워드 | 처음으로 | Comparing objects


Comparing objects

In PHP 5, object comparison is more complicated than in PHP 4 and more in accordance to what one will expect from an Object Oriented Language (not that PHP 5 is such a language).

When using the comparison operator (==), object variables are compared in a simple manner, namely: Two object instances are equal if they have the same attributes and values, and are instances of the same class.

On the other hand, when using the identity operator (===), object variables are identical if and only if they refer to the same instance of the same class.

An example will clarify these rules.

예 19.28. Example of object comparison in PHP 5

<?php
function bool2str($bool)
{
    if ($bool === false) {
        return 'FALSE';
    } else {
        return 'TRUE';
    }
}

function compareObjects(&$o1, &$o2)
{
    echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";
    echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n";
    echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n";
    echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n";
}

class Flag
{
    public $flag;

    function Flag($flag = true) {
        $this->flag = $flag;
    }
}

class OtherFlag
{
    public $flag;

    function OtherFlag($flag = true) {
        $this->flag = $flag;
    }
}

$o = new Flag();
$p = new Flag();
$q = $o;
$r = new OtherFlag();

echo "Two instances of the same class\n";
compareObjects($o, $p);

echo "\nTwo references to the same instance\n";
compareObjects($o, $q);

echo "\nInstances of two different classes\n";
compareObjects($o, $r);
?>

위 예제의 출력:

Two instances of the same class
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : FALSE
o1 !== o2 : TRUE

Two references to the same instance
o1 == o2 : TRUE
o1 != o2 : FALSE
o1 === o2 : TRUE
o1 !== o2 : FALSE

Instances of two different classes
o1 == o2 : FALSE
o1 != o2 : TRUE
o1 === o2 : FALSE
o1 !== o2 : TRUE

참고: Extensions can define own rules for their objects comparison.

이전 | 위로 | 다음
Object cloning | 처음으로 | Reflection


Reflection

Table of Contents

Introduction
The Reflector interface
The ReflectionException class
The ReflectionFunction class
The ReflectionParameter class
The ReflectionClass class
The ReflectionObject class
The ReflectionMethod class
The ReflectionProperty class
The ReflectionExtension class
Extending the reflection classes

Introduction

PHP 5 comes with a complete reflection API that adds the ability to reverse-engineer classes, interfaces, functions and methods as well as extensions. Additionally, the reflection API also offers ways of retrieving doc comments for functions, classes and methods.

The reflection API is an object-oriented extension to the Zend Engine, consisting of the following classes:

<?php
class Reflection { }
interface Reflector { }
class ReflectionException extends Exception { }
class ReflectionFunction extends ReflectionFunctionAbstract implements Reflector { }
class ReflectionParameter implements Reflector { }
class ReflectionMethod extends ReflectionFunctionAbstract implements Reflector { }
class ReflectionClass implements Reflector { }
class ReflectionObject extends ReflectionClass { }
class ReflectionProperty implements Reflector { }
class ReflectionExtension implements Reflector { }
?>

참고: For details on these classes, have a look at the next chapters.

If we were to execute the code in the example below:

예 19.29. Basic usage of the reflection API

<?php
Reflection::export(new ReflectionClass('Exception'));
?>

위 예제의 출력:

Class [ <internal> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [6] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
  }

  - Methods [9] {
    Method [ <internal> final private method __clone ] {
    }

    Method [ <internal, ctor> public method __construct ] {

      - Parameters [2] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
      }
    }

    Method [ <internal> final public method getMessage ] {
    }

    Method [ <internal> final public method getCode ] {
    }

    Method [ <internal> final public method getFile ] {
    }

    Method [ <internal> final public method getLine ] {
    }

    Method [ <internal> final public method getTrace ] {
    }

    Method [ <internal> final public method getTraceAsString ] {
    }

    Method [ <internal> public method __toString ] {
    }
  }
}

Reflector

Reflector is an interface implemented by all exportable Reflection classes.

<?php
interface Reflector
{
    public string __toString()
    public static string export()
}
?>

ReflectionException

ReflectionException extends the standard Exception and is thrown by Reflection API. No specific methods or properties are introduced.

ReflectionFunction

The ReflectionFunction class lets you reverse-engineer functions.

<?php
class ReflectionFunction extends ReflectionFunctionAbstract implements Reflector
{
    final private __clone()
    public void __construct(string name)
    public string __toString()
    public static string export(string name, bool return)
    public string getName()
    public bool isInternal()
    public bool isDisabled()
    public bool isUserDefined()
    public string getFileName()
    public int getStartLine()
    public int getEndLine()
    public string getDocComment()
    public array getStaticVariables()
    public mixed invoke([mixed args [, ...]])
    public mixed invokeArgs(array args)
    public bool returnsReference()
    public ReflectionParameter[] getParameters()
    public int getNumberOfParameters()
    public int getNumberOfRequiredParameters()
}
?>

Parent class ReflectionFunctionAbstract has the
same methods except invoke(),
invokeArgs(), export() and
isDisabled().

참고: getNumberOfParameters() and getNumberOfRequiredParameters() were added in PHP 5.0.3, while invokeArgs() was added in PHP 5.1.0.

To introspect a function, you will first have to create an instance of the ReflectionFunction class. You can then call any of the above methods on this instance.

예 19.30. Using the ReflectionFunction class

<?php
/**
 * A simple counter
 *
 * @return    int
 */
function counter()
{
    static $c = 0;
    return $c++;
}

// Create an instance of the ReflectionFunction class
$func = new ReflectionFunction('counter');

// Print out basic information
printf(
    "===> The %s function '%s'\n".
    "     declared in %s\n".
    "     lines %d to %d\n",
    $func->isInternal() ? 'internal' : 'user-defined',
    $func->getName(),
    $func->getFileName(),
    $func->getStartLine(),
    $func->getEndline()
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($func->getDocComment(), 1));

// Print static variables if existant
if ($statics = $func->getStaticVariables())
{
    printf("---> Static variables: %s\n", var_export($statics, 1));
}

// Invoke the function
printf("---> Invokation results in: ");
var_dump($func->invoke());

// you may prefer to use the export() method
echo "\nReflectionFunction::export() results:\n";
echo ReflectionFunction::export('counter');
?>

참고: The method invoke() accepts a variable number of arguments which are passed to the function just as in call_user_func().

ReflectionParameter

The ReflectionParameter class retrieves information about a function's or method's parameters.

<?php
class ReflectionParameter implements Reflector
{
    final private __clone()
    public void __construct(string function, string parameter)
    public string __toString()
    public static string export(mixed function, mixed parameter, bool return)
    public string getName()
    public bool isPassedByReference()
    public ReflectionClass getDeclaringClass()
    public ReflectionClass getClass()
    public bool isArray()
    public bool allowsNull()
    public bool isPassedByReference()
    public bool isOptional()
    public bool isDefaultValueAvailable()
    public mixed getDefaultValue()
}
?>

참고:
     getDefaultValue(),
     isDefaultValueAvailable() and
     isOptional() were added in PHP 5.0.3,
     while isArray() was added in PHP 5.1.0.
     getDeclaringFunction() and
     getPosition() were added in PHP 5.2.3.

To introspect function parameters, you will first have to create an instance of the ReflectionFunction or ReflectionMethod classes and then use their getParameters() method to retrieve an array of parameters.

예 19.31. Using the ReflectionParameter class

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }

// Create an instance of ReflectionFunction with the
// parameter given from the command line.
$reflect = new ReflectionFunction($argv[1]);

echo $reflect;

foreach ($reflect->getParameters() as $i => $param) {
    printf(
        "-- Parameter #%d: %s {\n".
        "   Class: %s\n".
        "   Allows NULL: %s\n".
        "   Passed to by reference: %s\n".
        "   Is optional?: %s\n".
        "}\n",
        $i,
        $param->getName(),
        var_export($param->getClass(), 1),
        var_export($param->allowsNull(), 1),
        var_export($param->isPassedByReference(), 1),
        $param->isOptional() ? 'yes' : 'no'
    );
}
?>

ReflectionClass

The ReflectionClass class lets you reverse-engineer classes and interfaces.

<?php
class ReflectionClass implements Reflector
{
    final private __clone()
    public void __construct(string name)
    public string __toString()
    public static string export(mixed class, bool return)
    public string getName()
    public bool isInternal()
    public bool isUserDefined()
    public bool isInstantiable()
    public bool hasConstant(string name)
    public bool hasMethod(string name)
    public bool hasProperty(string name)
    public string getFileName()
    public int getStartLine()
    public int getEndLine()
    public string getDocComment()
    public ReflectionMethod getConstructor()
    public ReflectionMethod getMethod(string name)
    public ReflectionMethod[] getMethods()
    public ReflectionProperty getProperty(string name)
    public ReflectionProperty[] getProperties()
    public array getConstants()
    public mixed getConstant(string name)
    public ReflectionClass[] getInterfaces()
    public bool isInterface()
    public bool isAbstract()
    public bool isFinal()
    public int getModifiers()
    public bool isInstance(stdclass object)
    public stdclass newInstance(mixed args)
    public stdclass newInstanceArgs(array args)
    public ReflectionClass getParentClass()
    public bool isSubclassOf(ReflectionClass class)
    public array getStaticProperties()
    public mixed getStaticPropertyValue(string name [, mixed default])
    public void setStaticPropertyValue(string name, mixed value)
    public array getDefaultProperties()
    public bool isIterateable()
    public bool implementsInterface(string name)
    public ReflectionExtension getExtension()
    public string getExtensionName()
}
?>

참고: hasConstant(), hasMethod(), hasProperty(), getStaticPropertyValue() and setStaticPropertyValue() were added in PHP 5.1.0, while newInstanceArgs() was added in PHP 5.1.3.

To introspect a class, you will first have to create an instance of the ReflectionClass class. You can then call any of the above methods on this instance.

예 19.32. Using the ReflectionClass class

<?php
interface Serializable
{
    // ...
}

class Object
{
    // ...
}

/**
 * A counter class
 */
class Counter extends Object implements Serializable
{
    const START = 0;
    private static $c = Counter::START;

    /**
     * Invoke counter
     *
     * @access  public
     * @return  int
     */
    public function count() {
        return self::$c++;
    }
}

// Create an instance of the ReflectionClass class
$class = new ReflectionClass('Counter');

// Print out basic information
printf(
    "===> The %s%s%s %s '%s' [extends %s]\n" .
    "     declared in %s\n" .
    "     lines %d to %d\n" .
    "     having the modifiers %d [%s]\n",
        $class->isInternal() ? 'internal' : 'user-defined',
        $class->isAbstract() ? ' abstract' : '',
        $class->isFinal() ? ' final' : '',
        $class->isInterface() ? 'interface' : 'class',
        $class->getName(),
        var_export($class->getParentClass(), 1),
        $class->getFileName(),
        $class->getStartLine(),
        $class->getEndline(),
        $class->getModifiers(),
        implode(' ', Reflection::getModifierNames($class->getModifiers()))
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($class->getDocComment(), 1));

// Print which interfaces are implemented by this class
printf("---> Implements:\n %s\n", var_export($class->getInterfaces(), 1));

// Print class constants
printf("---> Constants: %s\n", var_export($class->getConstants(), 1));

// Print class properties
printf("---> Properties: %s\n", var_export($class->getProperties(), 1));

// Print class methods
printf("---> Methods: %s\n", var_export($class->getMethods(), 1));

// If this class is instantiable, create an instance
if ($class->isInstantiable()) {
    $counter = $class->newInstance();

    echo '---> $counter is instance? ';
    echo $class->isInstance($counter) ? 'yes' : 'no';

    echo "\n---> new Object() is instance? ";
    echo $class->isInstance(new Object()) ? 'yes' : 'no';
}
?>

참고: The method newInstance() accepts a variable number of arguments which are passed to the function just as in call_user_func().

참고: $class = new ReflectionClass('Foo'); $class->isInstance($arg) is equivalent to $arg instanceof Foo or is_a($arg, 'Foo').

ReflectionObject

The ReflectionObject class lets you reverse-engineer objects.

<?php
class ReflectionObject extends ReflectionClass
{
    final private __clone()
    public void __construct(mixed object)
    public string __toString()
    public static string export(mixed object, bool return)
}
?>

ReflectionMethod

The ReflectionMethod class lets you reverse-engineer class methods.

<?php
class ReflectionMethod extends ReflectionFunctionAbstract implements Reflector
{
    public void __construct(mixed class, string name)
    public string __toString()
    public static string export(mixed class, string name, bool return)
    public mixed invoke(stdclass object [, mixed args [, ...]])
    public mixed invokeArgs(stdclass object, array args)
    public bool isFinal()
    public bool isAbstract()
    public bool isPublic()
    public bool isPrivate()
    public bool isProtected()
    public bool isStatic()
    public bool isConstructor()
    public bool isDestructor()
    public int getModifiers()
    public ReflectionClass getDeclaringClass()

    // Inherited from ReflectionFunctionAbstract
    final private __clone()
    public string getName()
    public bool isInternal()
    public bool isUserDefined()
    public string getFileName()
    public int getStartLine()
    public int getEndLine()
    public string getDocComment()
    public array getStaticVariables()
    public bool returnsReference()
    public ReflectionParameter[] getParameters()
    public int getNumberOfParameters()
    public int getNumberOfRequiredParameters()
}
?>

To introspect a method, you will first have to create an instance of the ReflectionMethod class. You can then call any of the above methods on this instance.

예 19.33. Using the ReflectionMethod class

<?php
class Counter
{
    private static $c = 0;

    /**
     * Increment counter
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */
    final public static function increment()
    {
        return ++self::$c;
    }
}

// Create an instance of the ReflectionMethod class
$method = new ReflectionMethod('Counter', 'increment');

// Print out basic information
printf(
    "===> The %s%s%s%s%s%s%s method '%s' (which is %s)\n" .
    "     declared in %s\n" .
    "     lines %d to %d\n" .
    "     having the modifiers %d[%s]\n",
        $method->isInternal() ? 'internal' : 'user-defined',
        $method->isAbstract() ? ' abstract' : '',
        $method->isFinal() ? ' final' : '',
        $method->isPublic() ? ' public' : '',
        $method->isPrivate() ? ' private' : '',
        $method->isProtected() ? ' protected' : '',
        $method->isStatic() ? ' static' : '',
        $method->getName(),
        $method->isConstructor() ? 'the constructor' : 'a regular method',
        $method->getFileName(),
        $method->getStartLine(),
        $method->getEndline(),
        $method->getModifiers(),
        implode(' ', Reflection::getModifierNames($method->getModifiers()))
);

// Print documentation comment
printf("---> Documentation:\n %s\n", var_export($method->getDocComment(), 1));

// Print static variables if existant
if ($statics= $method->getStaticVariables()) {
    printf("---> Static variables: %s\n", var_export($statics, 1));
}

// Invoke the method
printf("---> Invokation results in: ");
var_dump($method->invoke(NULL));
?>

참고: Trying to invoke private, protected or abstract methods will result in an exception being thrown from the invoke() method.

참고: For static methods as seen above, you should pass NULL as the first argument to invoke(). For non-static methods, pass an instance of the class.

ReflectionProperty

The ReflectionProperty class lets you reverse-engineer class properties.

<?php
class ReflectionProperty implements Reflector
{
    final private __clone()
    public void __construct(mixed class, string name)
    public string __toString()
    public static string export(mixed class, string name, bool return)
    public string getName()
    public bool isPublic()
    public bool isPrivate()
    public bool isProtected()
    public bool isStatic()
    public bool isDefault()
    public int getModifiers()
    public mixed getValue(stdclass object)
    public void setValue(stdclass object, mixed value)
    public ReflectionClass getDeclaringClass()
    public string getDocComment()
}
?>

참고: getDocComment() was added in PHP 5.1.0.

To introspect a property, you will first have to create an instance of the ReflectionProperty class. You can then call any of the above methods on this instance.

예 19.34. Using the ReflectionProperty class

<?php
class String
{
    public $length  = 5;
}

// Create an instance of the ReflectionProperty class
$prop = new ReflectionProperty('String', 'length');

// Print out basic information
printf(
    "===> The%s%s%s%s property '%s' (which was %s)\n" .
    "     having the modifiers %s\n",
        $prop->isPublic() ? ' public' : '',
        $prop->isPrivate() ? ' private' : '',
        $prop->isProtected() ? ' protected' : '',
        $prop->isStatic() ? ' static' : '',
        $prop->getName(),
        $prop->isDefault() ? 'declared at compile-time' : 'created at run-time',
        var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// Create an instance of String
$obj= new String();

// Get current value
printf("---> Value is: ");
var_dump($prop->getValue($obj));

// Change value
$prop->setValue($obj, 10);
printf("---> Setting value to 10, new value is: ");
var_dump($prop->getValue($obj));

// Dump object
var_dump($obj);
?>

참고: Trying to get or set private or protected class property's values will result in an exception being thrown.

ReflectionExtension

The ReflectionExtension class lets you reverse-engineer extensions. You can retrieve all loaded extensions at runtime using the get_loaded_extensions().

<?php
class ReflectionExtension implements Reflector {
    final private __clone()
    public void __construct(string name)
    public string __toString()
    public static string export(string name, bool return)
    public string getName()
    public string getVersion()
    public ReflectionFunction[] getFunctions()
    public array getConstants()
    public array getINIEntries()
    public ReflectionClass[] getClasses()
    public array getClassNames()
    public string info()
}
?>

To introspect an extension, you will first have to create an instance of the ReflectionExtension class. You can then call any of the above methods on this instance.

예 19.35. Using the ReflectionExtension class

<?php
// Create an instance of the ReflectionProperty class
$ext = new ReflectionExtension('standard');

// Print out basic information
printf(
    "Name        : %s\n" .
    "Version     : %s\n" .
    "Functions   : [%d] %s\n" .
    "Constants   : [%d] %s\n" .
    "INI entries : [%d] %s\n" .
    "Classes     : [%d] %s\n",
        $ext->getName(),
        $ext->getVersion() ? $ext->getVersion() : 'NO_VERSION',
        sizeof($ext->getFunctions()),
        var_export($ext->getFunctions(), 1),

        sizeof($ext->getConstants()),
        var_export($ext->getConstants(), 1),

        sizeof($ext->getINIEntries()),
        var_export($ext->getINIEntries(), 1),

        sizeof($ext->getClassNames()),
        var_export($ext->getClassNames(), 1)
);
?>

Extending the reflection classes

In case you want to create specialized versions of the built-in classes (say, for creating colorized HTML when being exported, having easy-access member variables instead of methods or having utility methods), you may go ahead and extend them.

예 19.36. Extending the built-in classes

<?php
/**
 * My Reflection_Method class
 */
class My_Reflection_Method extends ReflectionMethod
{
    public $visibility = array();

    public function __construct($o, $m)
    {
        parent::__construct($o, $m);
        $this->visibility = Reflection::getModifierNames($this->getModifiers());
    }
}

/**
 * Demo class #1
 *
 */
class T {
    protected function x() {}
}

/**
 * Demo class #2
 *
 */
class U extends T {
    function x() {}
}

// Print out information
var_dump(new My_Reflection_Method('U', 'x'));
?>

참고: Caution: If you're overwriting the constructor, remember to call the parent's constructor _before_ any code you insert. Failing to do so will result in the following: Fatal error: Internal error: Failed to retrieve the reflection object

이전 | 위로 | 다음
Comparing objects | 처음으로 | 20. Namespaces


22장. 참조 표현

차례

참조란 무엇인가
참조는 무엇을 하는가
참조가 아닌것
참조에 의한 전달
참조 돌려받기
참조 해제
참조로 볼수 있는것

참조란 무엇인가

PHP에서 참조란 다른 이름으로 같은 변수의 내용에 접근한다는 것을 의미한다. C 포인터와 비슷한 개념은 아니며, 심볼 테이블이라고 볼수 있다. PHP에서 변수명과 변수의 내용은 다르다. 그래서 같은 내용이 다른 이름을 갖을수 있다. 유닉스 파일명과 파일에 가장 가까운 개념이다 - 변수명은 디렉토리 엔트리이고, 변수 내용은 파일 자체라고 볼수 있다. 참조는 유닉스 파일시스템의 하드 링크(hardlinking)와 유사하다.

이전 | 위로 | 다음
21. Exceptions | 처음으로 | 참조는 무엇을 하는가


참조는 무엇을 하는가

PHP 참조는 두 변수가 같은 내용을 참조할수 있게 한다. 다음과 같은 일을 한다:

<?php
$a =& $b
?>
$a와 $b는 같은 변수를 가리킨다는 것을 의미이다.

참고: 여기서 $a와 $b는 완전히 같다. $a는 $b를 가리키고, 그 반대일수도 있다. $a와 $b는 같은 곳을 가리키고 있다.

같은 문법은 함수에도 적용된다. 참조를 돌려받고, new연산자와도 함께 쓸수 있다 (PHP 4.0.4 이후 버전부터 유효):

<?php
$bar =& new fooclass();
$foo =& find_var ($bar);
?>

참고: & 연산자를 사용하지않으면 생성된 객체의 복사본을 돌려받는다. 그 클래스에서 $this를 사용한다면 그것은 클래스의 현재 인스턴스에만 영향을 미친다. &가 없는 지정은 인스턴스(즉, 객체)를 복사할것이고 $this는 복사본에만 영향을 미칠것이다. 이와 같은 것은 퍼포먼스와 메모리의 효율적인 사용을 위해 오직 하나의 인스턴스만 취급하기를 원할 경우에 사용된다.

@new처럼 생성자에서 발생하는 모든 에러 메시지를 보이지 않게 하기 위해서 @연산자를 사용할수 있지만, &new구문을 사용할때는 이 연산자는 작동하지 않는다. 이것은 젠드 엔진(Zend Engine)의 한계이고 이런 표현을 쓰면 파싱 에러가 발생한다.

참조가 하는 두번째 일은 참조에 의해 변수를 전달하는 것이다. 이와 같은 것은 함수에서 지역 변수를 만들거나 같은 내용을 참조하는 호출을 사용하는 변수를 생성함으로써 가능해진다. 예를 들면:

<?php
function foo (&$var)
{
    $var++;
}

$a=5;
foo ($a);
?>
위 코드는 $a를 6으로 만들것이다. 이렇게 되는 이유는 foo함수 안의 변수 $var가 $a와 같은 내용을 가리키기 때문이다. 더 자세한 설명을 참조에 의한 전달 섹션에서 볼수 있다.

참조가 하는 세번째 일은 참조에 의해 돌려받기이다.

이전 | 위로 | 다음
22. 참조 표현 | 처음으로 | 참조가 아닌것


참조가 아닌것

전에 설명했듯이, 참조는 포인터가 아니다. 이말의 의미는 다음 구문이 기대하던대로 작업을 수행하지 않을것이란 의미이다:

<?php
function foo (&$var)
{
    $var =& $GLOBALS["baz"];
}
foo($bar);
?>

위 예제코드에서 foo안의 $var변수는 호출자 안의 $bar와 연결될것이다. 그리고 이 변수는 $GLOBALS["baz"]과 다시 연결될것이다. 참조 메카니즘을 사용하여 다른 호출 영역안의 $bar를 연결할수 있는 방법이 존재하지는 않는다. 왜냐하면 $bar는 함수 foo에서 유효하지 않기 때문이다 (그것은 $var에 의해 표현되는 것이 아니고, $var는 오직 변수 내용만을 소유하고 호출 심볼 테이블 내에서 이름이 값으로 변환되어 연결되지는 않는다).

이전 | 위로 | 다음
참조는 무엇을 하는가 | 처음으로 | 참조에 의한 전달


참조에 의한 전달

참조에 의해 함수로 변수를 전달할수 있다. 이런 기법은 함수의 인수를 변경할수 있도록 한다. 문법은 다음과 같다:

<?php
function foo (&$var)
{
    $var++;
}

$a=5;
foo ($a);
// $a is 6 here
?>
함수 호출에 대해 참조 표시를 할수 없다는 것에 주의해야 한다. - 함수선언에서만 참조표시를 할수 있다 함수 선언만으로도 충분히 참조에 의해 인수를 정확하게 전달할수 있다.

다음과 같은 것들은 참조에 의해 전달될수 있다:

  • 변수, i.e. foo($a)
  • New 구문, i.e. foo(new foobar())

  • 참조, 함수에서 돌려받기, i.e.:

    <?php
    function &bar()
    {
            $a = 5;
        return     $a;
    }
    foo(bar());
    ?>

    참조로 돌려받기에서도 이 주제와 관련된 내용을 볼수 있다.

결과가 정의되어 있지 않기 때문에, 어떤 표현식들은 참조에 의해 전달되어서는 안된다. 예를 들어, 다음과 같은 참조에 의한 전달의 예제코드는 유효하지 않다.

<?php
function bar() // Note the missing &
{
    $a = 5;
    return $a;
}
foo(bar());

foo($a = 5) // Expression, not variable
foo(5) // Constant, not variable
?>
이런 조건은 PHP 4.0.4 이후 버전에서만 요구된다.

이전 | 위로 | 다음
참조가 아닌것 | 처음으로 | 참조 돌려받기


참조 돌려받기

참조에 의한 돌려받기는 참조에 연결되어 있는 변수를 확인하기 위해 함수를 사용할 때 유용하다. 참조 돌려받기는 다음과 같은 문법을 사용한다:

<?php
function &find_var ($param)
{
    ...code...
    return $found_var;
}

$foo =& find_var ($bar);
$foo->x = 2;
?>
위 예제 코드는 함수 find_var에 의해 돌려받는 객체의 속성을 설정하지만, 참조 문법을 사용하지 않을 때와 같은 복사가 아니다.

참고: 인자가 전달되는것과 달리, 여기서는 두 근데에서 &을 사용해야 한다 - 보통의 복사가 아니라, 참조에 의해 돌려받는다는것을 가리킬때, 그리고 일반적인 지정이 아닌 참조 연결이라는 것을 가리킬때, $foo변수에 대해 사용해야 한다.

이전 | 위로 | 다음
참조에 의한 전달 | 처음으로 | 참조 해제


참조 해제

참조 unset하면 변수 명과 변수 내용 사이의 연결만을 끊는다. 이 말의 의미는 변수 내용이 사라질것이라는 것을 의미하지 않는다. 예를 들면:

<?php
$a = 1;
$b =& $a;
unset ($a);
?>
위 예제 코드는 $a만 해제되고 $b를 해제(unset)하지는 않을것이다.

다시 말하면, 유닉스의 unlink 호출에 비유할수 있을것이다.

이전 | 위로 | 다음
참조 돌려받기 | 처음으로 | 참조로 볼수 있는것


참조로 볼수 있는것

PHP내의 많은 문법 구조가 참조 메카니즘에 의해 구현된다. 그래서 위에서 설명한 모든 참조 연결이 이런 구조에 적용된다. 위에서 참조에 의한 전달과 참조에 의한 돌려주기 같은 몇몇 구조문을 설명했다. 다음과 같은 구조는 참조를 사용한다:

global 참조

global $var처럼 변수를 선언하면 전역 변수에 대한 참조를 생성하게 된다. 즉, 다음과 같은 의미를 갖는다:

<?php
$var =& $GLOBALS["var"];
?>

이것은 $var를 해체하는 것이 전역 변수를 해제하지 않는다는 것을 의미한다.

$this

객체 메소드에서,$this는 호출 객체로의 참조를 하게 된다.

이전 | 위로 | 다음
참조 해제 | 처음으로 | IV. 보안


부 IV. 보안

차례

23. 도입
24. 일반적인 고려 사항
25. CGI 바이너리로 설치
26. Installed as an Apache module
27. Filesystem Security
28. Database Security
29. Error Reporting
30. Using Register Globals
31. User Submitted Data
32. Magic Quotes
33. Hiding PHP
34. Keeping Current
이전 | 위로 | 다음
참조로 볼수 있는것 | 처음으로 | 23. 도입


23장. 도입

PHP는 강력한 언어와 인터프리터입니다. 웹서버 모듈로 포함하거나 별도의 CGI 바이너리로 실행해서, 서버에서 파일에 접근하거나, 명령을 실행하거나, 네트워크 연결을 열 수 있게 해줍니다. 기본적으로 이러한 기능은 웹서버의 보안을 위협합니다. PHP는 펄이나 C로 쓰여진 CGI 프로그램에 비해서 더욱 안전한 언어로 설계되었습니다. 컴파일 시와 실행시 환경 설정 옵션의 적절한 선택과 충분한 코딩 능력은 자유와 보안의 조합을 얻을 수 있을 것입니다.

PHP를 이용하는 다른 방법들에 따라, 실행을 조절하는 많은 환경 설정 옵션이 존재합니다. 많은 옵션의 선택은 PHP를 여러 목적으로 사용할 수 있게 보장해주지만, 이러한 옵션과 서버 환경 설정의 조합에 따라서는 보안을 위협하는 결과를 가져올 수도 있습니다.

PHP 환경 설정의 유연성은 코드의 유연성과 상대적이 됩니다. PHP는 쉘 유저의 모든 권한을 가지는 완벽한 서버 어플리케이션을 작성할 수도 있고, 강력히 제어된 환경에서 적은 위험으로 단순한 서버측 포함으로 사용할 수도 있습니다. 어떻게 환경을 구축하고, 어떻게 보안을 유지하는 지는, 많은 부분이 PHP 개발자에 의존하고 있습니다.

이 챕터에서는 몇가지 일반적인 보안 조언으로 시작해서, 서로 다른 환경 설정 옵션의 조합과 안전하게 사용할 수 있는 상황, 그리고 보안 단계에 따라 코딩에서 고려할 점에 대해서 설명합니다.

이전 | 위로 | 다음
IV. 보안 | 처음으로 | 24. 일반적인 고려 사항


24장. 일반적인 고려 사항

완벽한 보안 시스템은 불가능에 가깝기에, 보안 대책의 지향점은 보통 위험성과 사용성의 조화점입니다. 유저가 송신하는 모든 변수가 두가지 형태의 생물학적 인증(망막 스캔이나 지문 등)이 필요하다면, 매우 높은 수준의 보안을 얻을 수 있습니다. 그러나 이 방법은 매우 복잡한 폼을 채우기 위해 30여분의 시간을 필요로 할 것이며, 유저가 보안을 그냥 넘어갈 수 있는 방법을 찾도록 노력하게 할 것입니다.

필요 이상의 엄중한 보안은 종종 사용자가 작업을 하는 것을 방해하거나, 지나친 복잡함으로 코드 작성자에게 부담을 줍니다. 사실, 몇몇 보안 공격은 지나친 보안으로 인한 약점을 노리며, 시간을 들여 손상시키는 경향이 있습니다.

기억할만한 문구입니다: 시스템은 체인의 가장 약한 부분 정도에 불과하다. 모든 작업을 시간, 장소, 작업 종류 등으로 자세하게 기록을 한다고 하여도, 사용자 인증을 하나의 쿠키로만 처리한다면, 사용자에 대한 작업 기록은 매우 약해질 것입니다.

테스트를 할 때, 가장 간단한 페이지라 할지라도 모든 가능성을 테스트할 수는 없다는 것을 명심하십시오. 화가 난 고용인이나, 엄청난 시간을 가진 크랙커, 혹은 키보드 위를 걸어가는 고양이 등에 의해 기대했던 입력값과는 완전히 무관하게 될 수도 있습니다. 이것이 기대하지 않는 데이터를 분별하고, 그 뒤에 어떻게 변경하고, 줄이고, 늘릴지에 대해 논리적 관점에서 코드를 바라보아야 할 이유입니다.

인터넷은 당신의 코드를 부수고, 사이트를 파괴하고, 부적절한 내용을 게시하는 등 당신을 바쁘게 하는 사람들로 가득 차 있습니다. 사이트의 크기에 관계 없이, 온라인인 서버를 가지고 있다면 간단히 목표가 됩니다. 많은 크래킹 프로그램은 크기를 고려하지 않으며, 단지 IP 블럭에서 희생자를 찾을 뿐입니다. 희생자가 되지 마십시오.

이전 | 위로 | 다음
23. 도입 | 처음으로 | 25. CGI 바이너리로 설치


25장. CGI 바이너리로 설치

차례

가능한 공격
방법 1: 공개 파일만을 제공
방법 2: --enable-force-cgi-redirect 사용
방법 3: doc_root나 user_dir을 설정
방법 4: 웹 트리 외부의 PHP 파서

가능한 공격

몇가지 이유로 인해 PHP를 서버 소프트웨어(아파치 등)의 모듈로 사용하지 않거나, 다른 종류의 CGI wrappers로 스크립트에 대해 안전한 chroot와 setuid 환경을 제공하기 위해 CGI 바이너리로 PHP를 사용하는 것을 선택할 수 있습니다. 이 설치는 보통 실행 가능한 PHP 바이너리를 웹서버 cgi-bin 디렉토리에 두는 것입니다. CERT 권고 » CA-96.11는 어떠한 인터프리터도 cgi-bin에 두지 않을 것을 권장합니다. PHP 바이너리는 독립 인터프리터로 사용할 수 있지만, 이러한 방법의 설치가 가능하도록 하는 몇가지 공격을 방지하도록 설계되어 있습니다.

  • 시스템 파일에의 접근: http://my.host/cgi-bin/php?/etc/passwd

    URL 후의 물음표(?)에 존재하는 질의 정보는 CGI 인터페이스에 의해 인터프리터에 명령줄 인자로 전해집니다. 보통 인터프리터는 명령줄의 첫 인자에 지정한 파일을 열고 실행합니다.

    CGI 바이너리로 호출할 때, PHP는 명령줄 인자를 해석하는 것을 거절합니다.

  • 서버의 어떠한 웹 문서로의 접근: http://my.host/cgi-bin/php/secret/doc.html

    PHP 바이너리 이름 뒤의 URL의 경로 정보 부분, /secret/doc.html는 일반적으로 CGI 프로그램에 의해 그 이름의 파일을 열고 해석하도록 사용합니다. 보통 몇몇 웹 서버 환경 설정 지시자(아파치: Action)는 PHP 인터프리터에 http://my.host/secret/script.php 등의 요청으로 리다이렉트하도록 합니다. 이러한 설치로는, 웹 서버는 우선 디렉토리 /secret에 대해 접근 권한을 확인하고, 리다이렉트된 요청 http://my.host/cgi-bin/php/secret/script.php을 생성합니다. 불행하게도, 이러한 형식으로 요청이 주어지면, /secret/script.php에 대한 접근 확인은 이루어지지 않고, 단순히 /cgi-bin/php 파일만을 확인합니다. 이 방법으로 /cgi-bin/php에 접근할 수 있는 어떠한 유저라도 웹 서버로 보호된 어떠한 문서라도 접근할 수 있습니다.

    PHP에서는, 서버 문서 트리에 접근 제한을 가진 어떠한 디렉토리가 존재한다면, 컴파일시의 환경설정 옵션 --enable-force-cgi-redirect, 실행시 환경설정 지시자 doc_root와 user_dir를 사용하여 이 공격을 방지할 수 있습니다. 여러가지 조합에 관한 자세한 설명은 아래쪽을 참고하십시오.

이전 | 위로 | 다음
24. 일반적인 고려 사항 | 처음으로 | 방법 1: 공개 파일만을 제공


방법 1: 공개 파일만을 제공

서버가 패스워드나 IP 기반 접근 컨트롤로 제한하는 콘텐츠를 가지고 있지 않다면, 이러한 환경 설정 옵션을 사용할 필요가 없습니다. 웹 서버가 리다이렉트를 허용하지 않거나, 안전하게 리다이렉트된 요청에 대해서 PHP 바이너리와 통신할 방법을 가지고 있지 않다면, 설정 스크립트에 --enable-force-cgi-redirect 옵션을 지정할 수 있습니다. 하지만, 여전히 PHP 스크립트를 호출하는 방법으로 직접 호출 http://my.host/cgi-bin/php/dir/script.php이나 리다이렉션 호출 http://my.host/dir/script.php에 의존하고 있지 않음을 확인해야 할 것입니다.

아파치에서 리다이렉션은 AddHandler와 Action 지시자를 통해서 설정할 수 있습니다. (아래 참조)

이전 | 위로 | 다음
25. CGI 바이너리로 설치 | 처음으로 | 방법 2: --enable-force-cgi-redirect 사용


방법 2: --enable-force-cgi-redirect 사용

이 컴파일시의 옵션은 누구라도 http://my.host/cgi-bin/php/secretdir/script.php와 같은 URL을 통해서 PHP를 직접 호출할 수 없게 합니다. 대신, 이 모드에서 PHP는 웹서버의 리다이렉트 규칙에 따를 때만 해석을 시도할 것입니다.

아파치에서 리다이렉션의 설정은 다음과 같은 지시자로 설정합니다:

Action php-script /cgi-bin/php
AddHandler php-script .php

이 옵션은 아파치 웹 서버에만 테스트되었고, 리다이렉트된 요청에 대해 아파치가 비표준 CGI 환경 변수 REDIRECT_STATUS를 설정하게 합니다. 웹 서버가 요청이 직접적인지 리다이렉트된 것인지의 구분을 제공하지 않는다면, 이 옵션을 사용할 수 없고, 이 문서에 제시된 다른 방법의 CGI 실행 방법을 이용해야 합니다.

이전 | 위로 | 다음
방법 1: 공개 파일만을 제공 | 처음으로 | 방법 3: doc_root나 user_dir을 설정


방법 3: doc_root나 user_dir을 설정

스크립트나 실행 파일과 같은 활동적인 콘텐츠를 웹서버 디렉토리에 놓는 것은 때때로 비보안적인 행동으로 생각됩니다. 몇몇 환경 설정의 실수로 스크립트가 실행되지 않고 보통의 HTML 문서로 보여진다면, 지적 재산이나 패스워드와 같은 보안 정보를 노출시키는 결과를 가져올 수 있습니다. 그러므로 많은 시스템 관리자는 파일이 항상 해석이 되고 어떤 방법으로도 표시되어지지 않도록, PHP CGI를 통해서만 접근할 수 있는 스크립트를 위한 또 다른 디렉토리 구조를 만드는 것을 선호합니다.

또한, 앞의 섹션에서 설명한 방법으로 요청을 리다이렉트하지 않게 만드는게 불가능하다면, doc_root를 웹 문서 루트와 다른 장소로 설정할 필요가 있습니다.

PHP 스크립트 문서 루트를 설정 파일에서 지시어 doc_root나, 환경 변수 PHP_DOCUMENT_ROOT로 설정할 수 있습니다. 이를 설정하면, PHP의 CGI 버전은 항상 열 파일 이름 및 요청의 경로 정보를 doc_root와 결합하여, 이 디렉토리 밖에서는 어떠한 스크립트도 실행하지 못하게 합니다. (아래의 user_dir를 제외하고)

Another option usable here is user_dir. When user_dir is unset, only thing controlling the opened file name is doc_root. Opening an URL like http://my.host/~user/doc.php does not result in opening a file under users home directory, but a file called ~user/doc.php under doc_root (yes, a directory name starting with a tilde [~]).

If user_dir is set to for example public_php, a request like http://my.host/~user/doc.php will open a file called doc.php under the directory named public_php under the home directory of the user. If the home of the user is /home/user, the file executed is /home/user/public_php/doc.php.

user_dir expansion happens regardless of the doc_root setting, so you can control the document root and user directory access separately.

이전 | 위로 | 다음
방법 2: --enable-force-cgi-redirect 사용 | 처음으로 | 방법 4: 웹 트리 외부의 PHP 파서


방법 4: 웹 트리 외부의 PHP 파서

매우 안전한 옵션은 PHP 파서 바이너리를 웹트리 밖에 위치시키는 것입니다. 예를 들면, /usr/local/bin 안에. 이 방법의 단 한가지 단점은 다음과 같은 줄을 PHP 태그를 포함하는 모든 파일의 첫번째 줄에 넣어야 한다는 점입니다:

#!/usr/local/bin/php
또한 파일을 실행 가능하게 해 둘 필요가 있습니다. 이것은 정확하게 실행을 위해서 #! 쉘 이스케이핑 메카니즘을 사용하는 펄이나 sh, 혹은 다른 일반적인 스크립팅 언어로 쓰여진 CGI 스크립트와 동일하게 취급합니다.

이 방법을 사용할 때, PHP가 PATH_INFO와 PATH_TRANSLATED를 올바르게 다룰 수 있게 하기 위해서는 PHP 파서를 컴파일 할 때, --enable-discard-path 옵션을 주어야 합니다.

이전 | 위로 | 다음
방법 3: doc_root나 user_dir을 설정 | 처음으로 | 26. Installed as an Apache module


26장. Installed as an Apache module

When PHP is used as an Apache module it inherits Apache's user permissions (typically those of the "nobody" user). This has several impacts on security and authorization. For example, if you are using PHP to access a database, unless that database has built-in access control, you will have to make the database accessible to the "nobody" user. This means a malicious script could access and modify the database, even without a username and password. It's entirely possible that a web spider could stumble across a database administrator's web page, and drop all of your databases. You can protect against this with Apache authorization, or you can design your own access model using LDAP, .htaccess files, etc. and include that code as part of your PHP scripts.

Often, once security is established to the point where the PHP user (in this case, the apache user) has very little risk attached to it, it is discovered that PHP is now prevented from writing any files to user directories. Or perhaps it has been prevented from accessing or changing databases. It has equally been secured from writing good and bad files, or entering good and bad database transactions.

A frequent security mistake made at this point is to allow apache root permissions, or to escalate apache's abilities in some other way.

Escalating the Apache user's permissions to root is extremely dangerous and may compromise the entire system, so sudo'ing, chroot'ing, or otherwise running as root should not be considered by those who are not security professionals.

There are some simpler solutions. By using open_basedir you can control and restrict what directories are allowed to be used for PHP. You can also set up apache-only areas, to restrict all web based activity to non-user, or non-system, files.

이전 | 위로 | 다음
방법 4: 웹 트리 외부의 PHP 파서 | 처음으로 | 27. Filesystem Security


27장. Filesystem Security

차례

Null bytes related issues

PHP is subject to the security built into most server systems with respect to permissions on a file and directory basis. This allows you to control which files in the filesystem may be read. Care should be taken with any files which are world readable to ensure that they are safe for reading by all users who have access to that filesystem.

Since PHP was designed to allow user level access to the filesystem, it's entirely possible to write a PHP script that will allow you to read system files such as /etc/passwd, modify your ethernet connections, send massive printer jobs out, etc. This has some obvious implications, in that you need to ensure that the files that you read from and write to are the appropriate ones.

Consider the following script, where a user indicates that they'd like to delete a file in their home directory. This assumes a situation where a PHP web interface is regularly used for file management, so the Apache user is allowed to delete files in the user home directories.

예 27.1. Poor variable checking leads to....

<?php
// remove a file from the user's home directory
$username = $_POST['user_submitted_name'];
$userfile = $_POST['user_submitted_filename'];
$homedir  = "/home/$username";

unlink("$homedir/$userfile");

echo "The file has been deleted!";
?>

Since the username and the filename are postable from a user form, they can submit a username and a filename belonging to someone else, and delete it even if they're not supposed to be allowed to do so. In this case, you'd want to use some other form of authentication. Consider what could happen if the variables submitted were "../etc/" and "passwd". The code would then effectively read:

예 27.2. ... A filesystem attack

<?php
// removes a file from anywhere on the hard drive that
// the PHP user has access to. If PHP has root access:
$username = $_POST['user_submitted_name']; // "../etc"
$userfile = $_POST['user_submitted_filename']; // "passwd"
$homedir  = "/home/$username"; // "/home/../etc"

unlink("$homedir/$userfile"); // "/home/../etc/passwd"

echo "The file has been deleted!";
?>

There are two important measures you should take to prevent these issues.
  • Only allow limited permissions to the PHP web user binary.
  • Check all variables which are submitted.
Here is an improved script:

예 27.3. More secure file name checking

<?php
// removes a file from the hard drive that
// the PHP user has access to.
$username = $_SERVER['REMOTE_USER']; // using an authentication mechanisim
$userfile = basename($_POST['user_submitted_filename']);
$homedir  = "/home/$username";

$filepath = "$homedir/$userfile";

if (file_exists($filepath) && unlink($filepath)) {
    $logstring = "Deleted $filepath\n";
} else {
    $logstring = "Failed to delete $filepath\n";
}
$fp = fopen("/home/logging/filedelete.log", "a");
fwrite($fp, $lo gstring);
fclose($fp);

echo htmlentities($logstring, ENT_QUOTES);

?>

However, even this is not without its flaws. If your authentication system allowed users to create their own user logins, and a user chose the login "../etc/", the system is once again exposed. For this reason, you may prefer to write a more customized check:

예 27.4. More secure file name checking

<?php
$username     = $_SERVER['REMOTE_USER']; // using an authentication mechanisim
$userfile     = $_POST['user_submitted_filename'];
$homedir      = "/home/$username";

$filepath     = "$homedir/$userfile";

if (!ctype_alnum($username) || !preg_match('/^(?:[a-z0-9_-]|\.(?!\.))+$/iD', $userfile)) {
    die("Bad username/filename");
}

//etc...
?>

Depending on your operating system, there are a wide variety of files which you should be concerned about, including device entries (/dev/ or COM1), configuration files (/etc/ files and the .ini files), well known file storage areas (/home/, My Documents), etc. For this reason, it's usually easier to create a policy where you forbid everything except for what you explicitly allow.

Null bytes related issues

As PHP uses the underlying C functions for filesystem related operations, it may handle null bytes in a quite unexpected way. As null bytes denote the end of a string in C, strings containing them won't be considered entirely but rather only until a null byte occurs. The following example shows a vulnerable code that demonstrates this problem:

예 27.5. Script vulnerable to null bytes

<?php
$file = $_GET['file']; // "../../etc/passwd\0"
if (file_exists('/home/wwwrun/'.$file.'.php')) {
    // file_exists will return true as the file /home/wwwrun/../../etc/passwd exists
    include '/home/wwwrun/'.$file.'.php';
    // the file /etc/passwd will be included
}
?>

Therefore, any tainted string that is used in a filesystem operation should always be validated properly. Here is a better version of the previous example:

예 27.6. Correctly validating the input

<?php
$file = $_GET['file'];

// Whitelisting possible values
switch ($file) {
    case 'main':
    case 'foo':
    case 'bar':
        include '/home/wwwrun/include/'.$file.'.php';
        break;
    default:
        include '/home/wwwrun/include/main.php';
}
?>

이전 | 위로 | 다음
26. Installed as an Apache module | 처음으로 | 28. Database Security


28장. Database Security

차례

Designing Databases
Connecting to Database
Encrypted Storage Model
SQL Injection

Nowadays, databases are cardinal components of any web based application by enabling websites to provide varying dynamic content. Since very sensitive or secret information can be stored in a database, you should strongly consider protecting your databases.

To retrieve or to store any information you need to connect to the database, send a legitimate query, fetch the result, and close the connection. Nowadays, the commonly used query language in this interaction is the Structured Query Language (SQL). See how an attacker can tamper with an SQL query.

As you can surmise, PHP cannot protect your database by itself. The following sections aim to be an introduction into the very basics of how to access and manipulate databases within PHP scripts.

Keep in mind this simple rule: defense in depth. The more places you take action to increase the protection of your database, the less probability of an attacker succeeding in exposing or abusing any stored information. Good design of the database schema and the application deals with your greatest fears.

Designing Databases

The first step is always to create the database, unless you want to use one from a third party. When a database is created, it is assigned to an owner, who executed the creation statement. Usually, only the owner (or a superuser) can do anything with the objects in that database, and in order to allow other users to use it, privileges must be granted.

Applications should never connect to the database as its owner or a superuser, because these users can execute any query at will, for example, modifying the schema (e.g. dropping tables) or deleting its entire content.

You may create different database users for every aspect of your application with very limited rights to database objects. The most required privileges should be granted only, and avoid that the same user can interact with the database in different use cases. This means that if intruders gain access to your database using your applications credentials, they can only effect as many changes as your application can.

You are encouraged not to implement all the business logic in the web application (i.e. your script), instead do it in the database schema using views, triggers or rules. If the system evolves, new ports will be intended to open to the database, and you have to re-implement the logic in each separate database client. Over and above, triggers can be used to transparently and automatically handle fields, which often provides insight when debugging problems with your application or tracing back transactions.

이전 | 위로 | 다음
27. Filesystem Security | 처음으로 | Connecting to Database


Connecting to Database

You may want to establish the connections over SSL to encrypt client/server communications for increased security, or you can use ssh to encrypt the network connection between clients and the database server. If either of these is used, then monitoring your traffic and gaining information about your database will be difficult for a would-be attacker.

이전 | 위로 | 다음
28. Database Security | 처음으로 | Encrypted Storage Model


Encrypted Storage Model

SSL/SSH protects data travelling from the client to the server, SSL/SSH does not protect the persistent data stored in a database. SSL is an on-the-wire protocol.

Once an attacker gains access to your database directly (bypassing the webserver), the stored sensitive data may be exposed or misused, unless the information is protected by the database itself. Encrypting the data is a good way to mitigate this threat, but very few databases offer this type of data encryption.

The easiest way to work around this problem is to first create your own encryption package, and then use it from within your PHP scripts. PHP can assist you in this with several extensions, such as Mcrypt and Mhash, covering a wide variety of encryption algorithms. The script encrypts the data before inserting it into the database, and decrypts it when retrieving. See the references for further examples of how encryption works.

In case of truly hidden data, if its raw representation is not needed (i.e. not be displayed), hashing may also be taken into consideration. The well-known example for the hashing is storing the MD5 hash of a password in a database, instead of the password itself. See also crypt() and md5().

예 28.1. Using hashed password field

<?php

// storing password hash
$query  = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');",
            pg_escape_string($username), md5($password));
$result = pg_query($connection, $query);

// querying if user submitted the right password
$query = sprintf("SELECT 1 FROM users WHERE name='%s' AND pwd='%s';",
            pg_escape_string($username), md5($password));
$result = pg_query($connection, $query);

if (pg_num_rows($result) > 0) {
    echo 'Welcome, $username!';
} else {
    echo 'Authentication failed for $username.';
}

?>

이전 | 위로 | 다음
Connecting to Database | 처음으로 | SQL Injection


SQL Injection

Many web developers are unaware of how SQL queries can be tampered with, and assume that an SQL query is a trusted command. It means that SQL queries are able to circumvent access controls, thereby bypassing standard authentication and authorization checks, and sometimes SQL queries even may allow access to host operating system level commands.

Direct SQL Command Injection is a technique where an attacker creates or alters existing SQL commands to expose hidden data, or to override valuable ones, or even to execute dangerous system level commands on the database host. This is accomplished by the application taking user input and combining it with static parameters to build a SQL query. The following examples are based on true stories, unfortunately.

Owing to the lack of input validation and connecting to the database on behalf of a superuser or the one who can create users, the attacker may create a superuser in your database.

예 28.2. Splitting the result set into pages ... and making superusers (PostgreSQL)

<?php

$offset = $argv[0]; // beware, no input validation!
$query  = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
$result = pg_query($conn, $query);

?>

Normal users click on the 'next', 'prev' links where the $offset is encoded into the URL. The script expects that the incoming $offset is a decimal number. However, what if someone tries to break in by appending a urlencode()'d form of the following to the URL

0;
insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)
    select 'crack', usesysid, 't','t','crack'
    from pg_shadow where usename='postgres';
--
If it happened, then the script would present a superuser access to him. Note that 0; is to supply a valid offset to the original query and to terminate it.

참고: It is common technique to force the SQL parser to ignore the rest of the query written by the developer with -- which is the comment sign in SQL.

A feasible way to gain passwords is to circumvent your search result pages. The only thing the attacker needs to do is to see if there are any submitted variables used in SQL statements which are not handled properly. These filters can be set commonly in a preceding form to customize WHERE, ORDER BY, LIMIT and OFFSET clauses in SELECT statements. If your database supports the UNION construct, the attacker may try to append an entire query to the original one to list passwords from an arbitrary table. Using encrypted password fields is strongly encouraged.

예 28.3. Listing out articles ... and some passwords (any database server)

<?php

$query  = "SELECT id, name, inserted, size FROM products
                  WHERE size = '$size'
                  ORDER BY $order LIMIT $limit, $offset;";
$result = odbc_exec($conn, $query);

?>

The static part of the query can be combined with another SELECT statement which reveals all passwords:

'
union select '1', concat(uname||'-'||passwd) as name, '1971-01-01', '0' from usertable;
--
If this query (playing with the ' and --) were assigned to one of the variables used in $query, the query beast awakened.

SQL UPDATE's are also susceptible to attack. These queries are also threatened by chopping and appending an entirely new query to it. But the attacker might fiddle with the SET clause. In this case some schema information must be possessed to manipulate the query successfully. This can be acquired by examining the form variable names, or just simply brute forcing. There are not so many naming conventions for fields storing passwords or usernames.

예 28.4. From resetting a password ... to gaining more privileges (any database server)

<?php
$query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
?>

But a malicious user sumbits the value ' or uid like'%admin%'; -- to $uid to change the admin's password, or simply sets $pwd to "hehehe', admin='yes', trusted=100 " (with a trailing space) to gain more privileges. Then, the query will be twisted:
<?php

// $uid == ' or uid like'%admin%'; --
$query = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%'; --";

// $pwd == "hehehe', admin='yes', trusted=100 "
$query = "UPDATE usertable SET pwd='hehehe', admin='yes', trusted=100 WHERE
...;";

?>

A frightening example how operating system level commands can be accessed on some database hosts.

예 28.5. Attacking the database hosts operating system (MSSQL Server)

<?php

$query  = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);

?>

If attacker submits the value a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- to $prod, then the $query will be:
<?php

$query  = "SELECT * FROM products
                    WHERE id LIKE '%a%'
                    exec master..xp_cmdshell 'net user test testpass /ADD'--";
$result = mssql_query($query);

?>
MSSQL Server executes the SQL statements in the batch including a command to add a new user to the local accounts database. If this application were running as sa and the MSSQLSERVER service is running with sufficient privileges, the attacker would now have an account with which to access this machine.

참고: Some of the examples above is tied to a specific database server. This does not mean that a similar attack is impossible against other products. Your database server may be similarly vulnerable in another manner.

Avoiding techniques

You may plead that the attacker must possess a piece of information about the database schema in most examples. You are right, but you never know when and how it can be taken out, and if it happens, your database may be exposed. If you are using an open source, or publicly available database handling package, which may belong to a content management system or forum, the intruders easily produce a copy of a piece of your code. It may be also a security risk if it is a poorly designed one.

These attacks are mainly based on exploiting the code not being written with security in mind. Never trust any kind of input, especially that which comes from the client side, even though it comes from a select box, a hidden input field or a cookie. The first example shows that such a blameless query can cause disasters.

  • Never connect to the database as a superuser or as the database owner. Use always customized users with very limited privileges.
  • Check if the given input has the expected data type. PHP has a wide range of input validating functions, from the simplest ones found in Variable Functions and in Character Type Functions (e.g. is_numeric(), ctype_digit() respectively) and onwards to the Perl compatible Regular Expressions support.

  • If the application waits for numerical input, consider verifying data with is_numeric(), or silently change its type using settype(), or use its numeric representation by sprintf().

    예 28.6. A more secure way to compose a query for paging

    <?php

    settype    ($offset, 'integer');
    $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";

    // please note %d in the format string, using %s would be meaningless
    $query = sprintf("SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET %d;",
                         $offset);

    ?>

  • Quote each non numeric user supplied value that is passed to the database with the database-specific string escape function (e.g. mysql_escape_string(), sql_escape_string(), etc.). If a database-specific string escape mechanism is not available, the addslashes() and str_replace() functions may be useful (depending on database type). See the first example. As the example shows, adding quotes to the static part of the query is not enough, making this query easily crackable.
  • Do not print out any database specific information, especially about the schema, by fair means or foul. See also Error Reporting and Error Handling and Logging Functions.
  • You may use stored procedures and previously defined cursors to abstract data access so that users do not directly access tables or views, but this solution has another impacts.

Besides these, you benefit from logging queries either within your script or by the database itself, if it supports logging. Obviously, the logging is unable to prevent any harmful attempt, but it can be helpful to trace back which application has been circumvented. The log is not useful by itself, but through the information it contains. More detail is generally better than less.

이전 | 위로 | 다음
Encrypted Storage Model | 처음으로 | 29. Error Reporting


29장. Error Reporting

With PHP security, there are two sides to error reporting. One is beneficial to increasing security, the other is detrimental.

A standard attack tactic involves profiling a system by feeding it improper data, and checking for the kinds, and contexts, of the errors which are returned. This allows the system cracker to probe for information about the server, to determine possible weaknesses. For example, if an attacker had gleaned information about a page based on a prior form submission, they may attempt to override variables, or modify them:

예 29.1. Attacking Variables with a custom HTML page

<form method="post" action="attacktarget?username=badfoo&amp;password=badfoo">
<input type="hidden" name="username" value="badfoo" />
<input type="hidden" name="password" value="badfoo" />
</form>

The PHP errors which are normally returned can be quite helpful to a developer who is trying to debug a script, indicating such things as the function or file that failed, the PHP file it failed in, and the line number which the failure occurred in. This is all information that can be exploited. It is not uncommon for a php developer to use show_source(), highlight_string(), or highlight_file() as a debugging measure, but in a live site, this can expose hidden variables, unchecked syntax, and other dangerous information. Especially dangerous is running code from known sources with built-in debugging handlers, or using common debugging techniques. If the attacker can determine what general technique you are using, they may try to brute-force a page, by sending various common debugging strings:

예 29.2. Exploiting common debugging variables

<form method="post" action="attacktarget?errors=Y&amp;showerrors=1&amp;debug=1">
<input type="hidden" name="errors" value="Y" />
<input type="hidden" name="showerrors" value="1" />
<input type="hidden" name="debug" value="1" />
</form>

Regardless of the method of error handling, the ability to probe a system for errors leads to providing an attacker with more information.

For example, the very style of a generic PHP error indicates a system is running PHP. If the attacker was looking at an .html page, and wanted to probe for the back-end (to look for known weaknesses in the system), by feeding it the wrong data they may be able to determine that a system was built with PHP.

A function error can indicate whether a system may be running a specific database engine, or give clues as to how a web page or programmed or designed. This allows for deeper investigation into open database ports, or to look for specific bugs or weaknesses in a web page. By feeding different pieces of bad data, for example, an attacker can determine the order of authentication in a script, (from the line number errors) as well as probe for exploits that may be exploited in different locations in the script.

A filesystem or general PHP error can indicate what permissions the web server has, as well as the structure and organization of files on the web server. Developer written error code can aggravate this problem, leading to easy exploitation of formerly "hidden" information.

There are three major solutions to this issue. The first is to scrutinize all functions, and attempt to compensate for the bulk of the errors. The second is to disable error reporting entirely on the running code. The third is to use PHP's custom error handling functions to create your own error handler. Depending on your security policy, you may find all three to be applicable to your situation.

One way of catching this issue ahead of time is to make use of PHP's own error_reporting(), to help you secure your code and find variable usage that may be dangerous. By testing your code, prior to deployment, with E_ALL, you can quickly find areas where your variables may be open to poisoning or modification in other ways. Once you are ready for deployment, you should either disable error reporting completely by setting error_reporting() to 0, or turn off the error display using the php.ini option display_errors, to insulate your code from probing. If you choose to do the latter, you should also define the path to your log file using the error_log ini directive, and turn log_errors on.

예 29.3. Finding dangerous variables with E_ALL

<?php
if ($username) {  // Not initialized or checked before usage
    $good_login = 1;
}
if ($good_login == 1) { // If above test fails, not initialized or checked before usage
    readfile ("/highly/sensitive/data/index.html");
}
?>

이전 | 위로 | 다음
SQL Injection | 처음으로 | 30. Using Register Globals


30장. Using Register Globals

주의

This feature is DEPRECATED and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

Perhaps the most controversial change in PHP is when the default value for the PHP directive register_globals went from ON to OFF in PHP » 4.2.0. Reliance on this directive was quite common and many people didn't even know it existed and assumed it's just how PHP works. This page will explain how one can write insecure code with this directive but keep in mind that the directive itself isn't insecure but rather it's the misuse of it.

When on, register_globals will inject your scripts with all sorts of variables, like request variables from HTML forms. This coupled with the fact that PHP doesn't require variable initialization means writing insecure code is that much easier. It was a difficult decision, but the PHP community decided to disable this directive by default. When on, people use variables yet really don't know for sure where they come from and can only assume. Internal variables that are defined in the script itself get mixed up with request data sent by users and disabling register_globals changes this. Let's demonstrate with an example misuse of register_globals:

예 30.1. Example misuse with register_globals = on

<?php
// define $authorized = true only if user is authenticated
if (authenticated_user()) {
    $authorized = true;
}

// Because we didn't first initialize $authorized as false, this might be
// defined through register_globals, like from GET auth.php?authorized=1
// So, anyone can be seen as authenticated!
if ($authorized) {
    include "/highly/sensitive/data.php";
}
?>

When register_globals = on, our logic above may be compromised. When off, $authorized can't be set via request so it'll be fine, although it really is generally a good programming practice to initialize variables first. For example, in our example above we might have first done $authorized = false. Doing this first means our above code would work with register_globals on or off as users by default would be unauthorized.

Another example is that of sessions. When register_globals = on, we could also use $username in our example below but again you must realize that $username could also come from other means, such as GET (through the URL).

예 30.2. Example use of sessions with register_globals on or off

<?php
// We wouldn't know where $username came from but do know $_SESSION is
// for session data
if (isset($_SESSION['username'])) {

    echo "Hello <b>{$_SESSION['username']}</b>";

} else {

    echo "Hello <b>Guest</b><br />";
    echo "Would you like to login?";

}
?>

It's even possible to take preventative measures to warn when forging is being attempted. If you know ahead of time exactly where a variable should be coming from, you can check to see if the submitted data is coming from an inappropriate kind of submission. While it doesn't guarantee that data has not been forged, it does require an attacker to guess the right kind of forging. If you don't care where the request data comes from, you can use $_REQUEST as it contains a mix of GET, POST and COOKIE data. See also the manual section on using variables from outside of PHP.

예 30.3. Detecting simple variable poisoning

<?php
if (isset($_COOKIE['MAGIC_COOKIE'])) {

    // MAGIC_COOKIE comes from a cookie.
    // Be sure to validate the cookie data!

} elseif (isset($_GET['MAGIC_COOKIE']) || isset($_POST['MAGIC_COOKIE'])) {

   mail("admin@example.com", "Possible breakin attempt", $_SERVER['REMOTE_ADDR']);
   echo "Security violation, admin has been alerted.";
   exit;

} else {

   // MAGIC_COOKIE isn't set through this REQUEST

}
?>

Of course, simply turning off register_globals does not mean your code is secure. For every piece of data that is submitted, it should also be checked in other ways. Always validate your user data and initialize your variables! To check for uninitialized variables you may turn up error_reporting() to show E_NOTICE level errors.

For information about emulating register_globals being On or Off, see this FAQ.

자동 전역: 사용상 주의: PHP 4.1.0부터, $_GET, $_POST, $_SERVER 등의 자동 전역 배열을 사용할 수 있습니다. 더 자세한 내용은 매뉴얼 superglobals 섹션을 읽어보십시오.

이전 | 위로 | 다음
29. Error Reporting | 처음으로 | 31. User Submitted Data


31장. User Submitted Data

The greatest weakness in many PHP programs is not inherent in the language itself, but merely an issue of code not being written with security in mind. For this reason, you should always take the time to consider the implications of a given piece of code, to ascertain the possible damage if an unexpected variable is submitted to it.

예 31.1. Dangerous Variable Usage

<?php
// remove a file from the user's home directory... or maybe
// somebody else's?
unlink ($evil_var);

// Write logging of their access... or maybe an /etc/passwd entry?
fwrite ($fp, $evil_var);

// Execute something trivial.. or rm -rf *?
system ($evil_var);
exec ($evil_var);

?>

You should always carefully examine your code to make sure that any variables being submitted from a web browser are being properly checked, and ask yourself the following questions:

  • Will this script only affect the intended files?
  • Can unusual or undesirable data be acted upon?
  • Can this script be used in unintended ways?
  • Can this be used in conjunction with other scripts in a negative manner?
  • Will any transactions be adequately logged?

By adequately asking these questions while writing the script, rather than later, you prevent an unfortunate re-write when you need to increase your security. By starting out with this mindset, you won't guarantee the security of your system, but you can help improve it.

You may also want to consider turning off register_globals, magic_quotes, or other convenience settings which may confuse you as to the validity, source, or value of a given variable. Working with PHP in error_reporting(E_ALL) mode can also help warn you about variables being used before they are checked or initialized (so you can prevent unusual data from being operated upon).

이전 | 위로 | 다음
30. Using Register Globals | 처음으로 | 32. Magic Quotes


32장. Magic Quotes

차례

What are Magic Quotes
Why use Magic Quotes
Why not to use Magic Quotes
Disabling Magic Quotes
주의

This feature is DEPRECATED and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

Magic Quotes is a process that automagically escapes incoming data to the PHP script. It's preferred to code with magic quotes off and to instead escape the data at runtime, as needed.

What are Magic Quotes

When on, all ' (single-quote), " (double quote), \ (backslash) and NULL characters are escaped with a backslash automatically. This is identical to what addslashes() does.

There are three magic quote directives:

  • magic_quotes_gpc

    Affects HTTP Request data (GET, POST, and COOKIE). Cannot be set at runtime, and defaults to on in PHP.

    See also get_magic_quotes_gpc().

  • magic_quotes_runtime

    If enabled, most functions that return data from an external source, including databases and text files, will have quotes escaped with a backslash. Can be set at runtime, and defaults to off in PHP.

    See also set_magic_quotes_runtime() and get_magic_quotes_runtime().

  • magic_quotes_sybase

    If enabled, a single-quote is escaped with a single-quote instead of a backslash. If on, it completely overrides magic_quotes_gpc. Having both directives enabled means only single quotes are escaped as ''. Double quotes, backslashes and NULL's will remain untouched and unescaped.

    See also ini_get() for retrieving its value.

이전 | 위로 | 다음
31. User Submitted Data | 처음으로 | Why use Magic Quotes


Why use Magic Quotes

  • Useful for beginners

    Magic quotes are implemented in PHP to help code written by beginners from being dangerous. Although SQL Injection is still possible with magic quotes on, the risk is reduced.

  • Convenience

    For inserting data into a database, magic quotes essentially runs addslashes() on all Get, Post, and Cookie data, and does so automagically.

이전 | 위로 | 다음
32. Magic Quotes | 처음으로 | Why not to use Magic Quotes


Why not to use Magic Quotes

  • Portability

    Assuming it to be on, or off, affects portability. Use get_magic_quotes_gpc() to check for this, and code accordingly.

  • Performance

    Because not every piece of escaped data is inserted into a database, there is a performance loss for escaping all this data. Simply calling on the escaping functions (like addslashes()) at runtime is more efficient.

    Although php.ini-dist enables these directives by default, php.ini-recommended disables it. This recommendation is mainly due to performance reasons.

  • Inconvenience

    Because not all data needs escaping, it's often annoying to see escaped data where it shouldn't be. For example, emailing from a form, and seeing a bunch of \' within the email. To fix, this may require excessive use of stripslashes().

이전 | 위로 | 다음
Why use Magic Quotes | 처음으로 | Disabling Magic Quotes


Disabling Magic Quotes

The magic_quotes_gpc directive may only be disabled at the system level, and not at runtime. In otherwords, use of ini_set() is not an option.

예 32.1. Disabling magic quotes server side

An example that sets the value of these directives to Off in php.ini. For additional details, read the manual section titled How to change configuration settings.

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

If access to the server configuration is unavailable, use of .htaccess is also an option. For example:

php_flag magic_quotes_gpc Off

In the interest of writing portable code (code that works in any environment), like if setting at the server level is not possible, here's an example to disable magic_quotes_gpc at runtime. This method is inefficient so it's preferred to instead set the appropriate directives elsewhere.

예 32.2. Disabling magic quotes at runtime

<?php
if (get_magic_quotes_gpc()) {
    function stripslashes_deep($value)
    {
        $value = is_array($value) ?
                    array_map('stripslashes_deep', $value) :
                    stripslashes($value);

        return $value;
    }

    $_POST = array_map('stripslashes_deep', $_POST);
    $_GET = array_map('stripslashes_deep', $_GET);
    $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
    $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}
?>

이전 | 위로 | 다음
Why not to use Magic Quotes | 처음으로 | 33. Hiding PHP


33장. Hiding PHP

In general, security by obscurity is one of the weakest forms of security. But in some cases, every little bit of extra security is desirable.

A few simple techniques can help to hide PHP, possibly slowing down an attacker who is attempting to discover weaknesses in your system. By setting expose_php = off in your php.ini file, you reduce the amount of information available to them.

Another tactic is to configure web servers such as apache to parse different filetypes through PHP, either with an .htaccess directive, or in the apache configuration file itself. You can then use misleading file extensions:

예 33.1. Hiding PHP as another language

# Make PHP code look like other code types
AddType application/x-httpd-php .asp .py .pl

Or obscure it completely:

예 33.2. Using unknown types for PHP extensions

# Make PHP code look like unknown types
AddType application/x-httpd-php .bop .foo .133t

Or hide it as HTML code, which has a slight performance hit because all HTML will be parsed through the PHP engine:

예 33.3. Using HTML types for PHP extensions

# Make all PHP code look like HTML
AddType application/x-httpd-php .htm .html

For this to work effectively, you must rename your PHP files with the above extensions. While it is a form of security through obscurity, it's a minor preventative measure with few drawbacks.

이전 | 위로 | 다음
Disabling Magic Quotes | 처음으로 | 34. Keeping Current


34장. Keeping Current

PHP, like any other large system, is under constant scrutiny and improvement. Each new version will often include both major and minor changes to enhance security and repair any flaws, configuration mishaps, and other issues that will affect the overall security and stability of your system.

Like other system-level scripting languages and programs, the best approach is to update often, and maintain awareness of the latest versions and their changes.

이전 | 위로 | 다음
33. Hiding PHP | 처음으로 | V. 기능


부 V. 기능

차례

35. PHP로 HTTP 인증하기
36. 쿠키
37. 세션
38. Dealing with XForms
39. 파일 업로드 다루기
40. 원격 파일 사용하기
41. 연결 제어
42. 영구적인 데이터베이스 접속
43. 안전 모드
44. 커맨드 라인에서 PHP 사용하기
이전 | 위로 | 다음
34. Keeping Current | 처음으로 | 35. PHP로 HTTP 인증하기


35장. PHP로 HTTP 인증하기

PHP를 이용한 HTTP 인증은 아파치 모듈로 실행할때만 사용할 수 있으며, CGI 버전에서는 사용할 수 없습니다. 아파치 모듈에서 PHP 스크립트가 header() 함수를 이용하여 "인증 요구" 메세지를 클라이언트 브라우저에 전송함으로써, 사용자명/패스워드 입력창을 띄울 수 있습니다. 사용자가 사용자명과 패스워드를 입력하면, PHP 스크립트의 URL이 다시 호출하고, 예약 정의 변수 PHP_AUTH_USER, PHP_AUTH_PW, AUTH_TYPE에 사용자명, 패스워드, 인증 형식이 들어갑니다. 이 예약 정의 변수들은 $_SERVER와 $HTTP_SERVER_VARS 배열로 확인할 수 있습니다. 현재는 "Basic" 인증만을 지원합니다. 자세한 정보는 header() 함수를 참고하십시오.

PHP 버전 주의: $_SERVER 등의 자동 전역 변수는 PHP » 4.1.0부터 사용할 수 있습니다. $HTTP_SERVER_VARS는 PHP 3부터 사용할 수 있습니다.

다음은 페이지에 대해 클라이언트 인증을 강제하는 예제 스크립트입니다:

예 35.1. HTTP 인증 예제

<?php
  if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo '사용자가 취소 버튼을 눌렀을 때 전송되는 텍스트';
    exit;
  } else {
    echo "<p>안녕하세요, {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>{$_SERVER['PHP_AUTH_PW']}를 패스워드로 접속했습니다.</p>";
  }
?>

호환성 주의: HTTP 헤더열을 코딩할때는 주의를 기울이십시오. 모든 클라이언트에 대해 최대의 호환성을 보장받기 위해서는, 키워드 "Basic"은 대문자 "B"로 쓰여져야하고, 렐름 메세지는 이중 인용 부호(")로 감싸져야하며, HTTP/1.0 401 헤더열에서 401 코드는 정확히 하나의 스페이스를 가져야합니다.

위 예제와 같이 단순히 PHP_AUTH_USER와 PHP_AUTH_PW를 출력하는 대신, 유저네임과 패스워드를 확인해서 인증을 할 수 있습니다. 데이터베이스에 요구를 하거나, dbm 파일에서 유저를 찾아낼 수 있습니다.

인터넷 익스플로러 브라우저의 버그에 주의하십시오. 헤더의 순서에 매우 까다롭습니다. WWW-Authenticate 헤더를 HTTP/1.0 401 헤더 전에 전송하는 것이 현재 사용 가능한 방법입니다.

PHP 4.3.0부터, 전통적인 외부 메카니즘을 통해서 인증된 페이지의 패스워드를 누출하는 스크립트의 작성을 방지하기 위해서, 각각의 페이지에 대한 외부 인증과 안전 모드가 활성화되었을때, PHP_AUTH 변수를 설정하지 않습니다. 대신, 외부 인증 유저를 확인하기 위해서 REMOTE_USER를 사용할 수 있습니다. 그러므로, $_SERVER['REMOTE_USER']를 사용하십시오.

설정 주의: PHP는 외부 인증을 검증할 때 AuthType 지시어의 존재를 확인합니다.

이 방식은 비인증 URL을 조작해서 같은 서버의 인증 URL의 패스워드를 훔치는 것은 방지할 수 없다는 점에 주의하십시오.

넷스케이프 네비게이터와 인터넷 익스플로러는 서버 응답 401을 받았을 때, 로컬 브라우저창의 인증 캐쉬를 클리어합니다. 이것은 강제로 유저네임과 패스워드를 재입력하게 함으로써, 사용자를 '로그 아웃'하는 효과를 가집니다. 몇몇 사람들은 이것을 "시간 제한" 로그인이나, "로그 아웃" 버튼을 제공을 통해 사용합니다.

예 35.2. 새 이름/패스워드를 강제하는 HTTP 인증 예제

<?php
  function authenticate() {
    header('WWW-Authenticate: Basic realm="테스트 인증 시스템"');
    header('HTTP/1.0 401 Unauthorized');
    echo "이 자원에 접근하기 위해서는 유효한 로그인 ID와 패스워드를 입력해야 합니다.\n";
    exit;
  }

  if (!isset($_SERVER['PHP_AUTH_USER']) ||
      ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
   authenticate();
  }
  else {
   echo "<p>어서오십시오: {$_SERVER['PHP_AUTH_USER']}<br />";
   echo "이전: {$_REQUEST['OldAuth']}";
   echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='post'>\n";
   echo "<input type='hidden' name='SeenBefore' value='1' />\n";
   echo "<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}' />\n";
   echo "<input type='submit' value='재인증' />\n";
   echo "</form></p>\n";
  }
?>

이 행동은 HTTP Basic 인증 표준에 필요하지 않기 때문에, 이것에 의존해서는 안됩니다. Lynx로 테스트 했을때, Lynx는 401 서버 응답에 인증 정보를 클리어하지 않기에, 이전의 인증 정보를 그대로 이용해서 자원을 얻으려고 시도합니다. 대신, 사용자가 '_' 키를 누름으로써 인증 정보를 삭제할 수 있습니다.

PHP 4.3.3까지, 마이크로소프트의 IIS 서버를 CGI 버전의 PHP로 사용할 때, IIS의 제약으로 인하여 HTTP 인증은 작동하지 않습니다. PHP 4.3.3 이상에서 작동하게 하려면, IIS 환경 설정 "디렉토리 보안"을 수정해야 합니다. "수정"을 클릭하고, "익명 접근"만을 체크하고, 다른 모든 필드는 체크를 해제하십시오.

IIS 모듈(ISAPI)를 사용할 때 다른 제약은, PHP_AUTH_* 변수를 사용할 수 없는 대신, HTTP_AUTHORIZATION 변수를 사용하게 됩니다. 즉, 다음의 코드를 고려해야합니다. list($user, $pw) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));

IIS 주의:: IIS에서 HTTP 인증을 작동하게 하려면, PHP 지시자 cgi.rfc2616_headers를 0(초기값)으로 설정해야 합니다.

참고: 안전 모드에서는 스크립트의 uid가 WWW-Authenticate 헤더의 realm 부분에 추가됩니다.

이전 | 위로 | 다음
V. 기능 | 처음으로 | 36. 쿠키


36장. 쿠키

PHP는 HTTP 쿠키를 투명하게 지원합니다. 쿠키는 원격 브라우저에 데이터를 저장하여 다시 온 사용자를 추적하거나 식별하는 메카니즘입니다. setcookie()나 setrawcookie() 함수를 사용하여 쿠키를 설정할 수 있습니다. 쿠키는 HTTP 헤더의 일부분이기에, setcookie()는 브라우저에 어떠한 출력이 이루어지기 전에 호출해야 합니다. 이는 header()가 가지고 있는 것과 동일한 제약입니다. 출력 버퍼링 함수를 사용하여 쿠키 설정이나 헤더 전송을 결정할때까지 스크립트 출력을 지연할 수 있습니다.

클라이언트로부터 전송된 어떠한 쿠키 데이터라도 GET과 POST 방식의 데이터와 마찬가지로, register_globals와 variables_order 환경 설정 변수에 의존하여 자동적으로 PHP 변수로 변환됩니다. 하나의 쿠키 이름에 여러 변수를 지정하고 싶을때는, 단순히 쿠키 이름에 []를 추가하면 됩니다.

PHP 4.1.0과 이후에는, 어떠한 쿠키라도 클라이언트로부터 전송받았을 때, $_COOKIE 자동 전역 배열이 항상 설정됩니다. 이전의 PHP 버전에서는 track_vars 환경 설정 변수가 설정되었을 때, (이 설정은 PHP 4.0.3부터는 항상 on 입니다) $HTTP_COOKIE_VARS가 항상 설정됩니다.

브라우저 버그에 대한 정보를 포함한 더 자세한 내용은 setcookie()나 setrawcookie() 함수를 참고하십시오.

이전 | 위로 | 다음
35. PHP로 HTTP 인증하기 | 처음으로 | 37. 세션


37장. 세션

PHP의 세션 지원은 지속적으로 이루어지는 접근에 대해 특정한 데이터를 보존하는 방법입니다. 이는 더욱 개별화된 어플리케이션을 작성할 수 있게 하고, 웹 사이트의 인상을 깊게 해 줍니다. 모든 정보는 세션 레퍼런스 섹션에 있습니다.

이전 | 위로 | 다음
36. 쿠키 | 처음으로 | 38. Dealing with XForms


38장. Dealing with XForms

» XForms defines a variation on traditional webforms which allows them to be used on a wider variety of platforms and browsers or even non-traditional media such as PDF documents.

The first key difference in XForms is how the form is sent to the client. » XForms for HTML Authors contains a detailed description of how to create XForms, for the purpose of this tutorial we'll only be looking at a simple example.

예 38.1. A simple XForms search form

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Search</h:title>
 <model>
  <submission action="http://example.com/search"
              method="post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Find</label></input>
  <submit submission="s"><label>Go</label></submit>
 </h:p>
</h:body>
</h:html>

The above form displays a text input box (named q), and a submit button. When the submit button is clicked, the form will be sent to the page referred to by action.

Here's where it starts to look different from your web application's point of view. In a normal HTML form, the data would be sent as application/x-www-form-urlencoded, in the XForms world however, this information is sent as XML formatted data.

If you're choosing to work with XForms then you probably want that data as XML, in that case, look in $HTTP_RAW_POST_DATA where you'll find the XML document generated by the browser which you can pass into your favorite XSLT engine or document parser.

If you're not interested in formatting and just want your data to be loaded into the traditional $_POST variable, you can instruct the client browser to send it as application/x-www-form-urlencoded by changing the method attribute to urlencoded-post.

예 38.2. Using an XForm to populate $_POST

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Search</h:title>
 <model>
  <submission action="http://example.com/search"
              method="urlencoded-post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Find</label></input>
  <submit submission="s"><label>Go</label></submit>
 </h:p>
</h:body>
</h:html>

참고: As of this writing, many browsers do not support XForms. Check your browser version if the above examples fails.

이전 | 위로 | 다음
37. 세션 | 처음으로 | 39. 파일 업로드 다루기


39장. 파일 업로드 다루기

차례

POST 방식 업로드
에러 메세지 설명
일반적인 문제
복수 파일 전송하기
PUT 방식 지원

POST 방식 업로드

PHP는 RFC-1867 호환 브라우저(넷스케이프 네비게이터 3 이상, 마이크로소프트 인터넷 익스플로러 3 이상을 포함)로부터 파일 업로드를 받을 수 있습니다. 이 기능은 사람들이 텍스트와 바이너리 파일을 동시에 업로드 할 수 있게 합니다. PHP의 인증 및 파일 관리 함수를 이용해서, 업로드를 할 수 있는 사람 및 업로드한 파일의 처리를 완전히 제어할 수 있습니다.

관련 환경설정: php.ini의 file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size 지시어를 참고하십시오.

PHP는 넷스케이프 컴포저와 W3C의 Amaya 클라이언트가 사용하는 PUT 방식 파일 업로드도 지원합니다. 자세한 내용은 PUT 방식 지원을 참고하십시오.

파일 업로드 화면은 다음과 같은 특별한 폼으로 만들어집니다:

예 39.1. 파일 업로드 폼

<form enctype="multipart/form-data" action="_URL_" method="post">
 <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
 이 파일을 전송합니다: <input name="userfile" type="file" />
 <input type="submit" value="파일 전송" />
</form>

위 예제의 "_URL_"을 변경하여, PHP 파일을 지시하도록 해야합니다. MAX_FILE_SIZE 히든 필드는 파일 입력 필드 앞에 위치해야 하며, 최대 파일크기(바이트로 지시)를 값으로 가집니다. 또한, 파일 업로드 폼은 enctype="multipart/form-data"을 가지고 있어야 하며, 그렇지 않으면 파일 업로드는 작동하지 않습니다.

주의

MAX_FILE_SIZE는 PHP가 확인하기도 하지만, 브라우저에 대한 권고입니다. 이 값을 변경하는건 매우 간단하기에, 크기가 큰 파일을 막기 위해서는 이 기능에 의존해서는 안됩니다. 대신, 최대 크기에 관한 PHP 설정은 속일 수 없습니다. 그러나 MAX_FILE_SIZE 폼 변수는 사용자가 파일이 너무 크다는 것을 파악하기 위해서 실제 전송을 하는 동안 기다릴 필요를 없애줍니다.

업로드한 파일을 정의하는 변수는 PHP 버전과 환경 설정에 따라 달라집니다. 자동 전역 $_FILES가 PHP 4.1.0부터 존재합니다. $HTTP_POST_FILES 배열은 PHP 4.1.0 이전에도 존재합니다. 이 배열들은 업로드 된 파일의 모든 정보를 가지고 있습니다. $_FILES를 사용하는 편을 권장합니다. PHP 지시어 register_globals가 on일때는, 관련된 변수명도 존재합니다. register_globals의 기본값은 PHP » 4.2.0부터 off입니다.

예제 스크립트에서 $_FILES의 내용은 다음과 같습니다. 위 예제 스크립트에서 사용한 파일 업로드 이름 userfile로 표현함에 주의하십시오. 어떠한 이름이라도 가질 수 있습니다.

$_FILES['userfile']['name']

클라이언트 머신에 존재하는 파일의 원래 이름.

$_FILES['userfile']['type']

브라우저가 이 정보를 제공할 경우에, 파일의 mime 형식. 예를 들면 "image/gif".

$_FILES['userfile']['size']

업로드된 파일의 바이트로 표현한 크기.

$_FILES['userfile']['tmp_name']

서버에 저장된 업로드된 파일의 임시 파일 이름.

$_FILES['userfile']['error']

파일 업로드에 관련한 에러 코드. ['error']는 PHP 4.2.0에서 추가되었습니다.

참고: PHP 4.1.0 이전 버전에서는 $HTTP_POST_FILES이고, $_FILES와 같은 자동 전역 변수는 존재하지 않습니다. PHP 3는 $HTTP_POST_FILES를 지원하지 않습니다.

php.ini에서 register_globals가 on일때, 변수가 추가로 사용 가능합니다. 예를 들면, $userfile_name은 $_FILES['userfile']['name']과 동일하고, $userfile_type은 $_FILES['userfile']['type']과 동일합니다. PHP 4.2.0부터 register_globals의 기본값이 off임에 주의하십시오. 이 지시어에 의존하지 않는 방법을 권장합니다.

php.ini에서 upload_tmp_dir을 이용하여 다른 위치를 지정하지 않는 한, 파일은 서버의 기본 임시 디렉토리에 저장됩니다. 서버의 기본 디렉토리는 PHP를 실행하는 환경의 환경 변수 TMPDIR을 통해서 변경할 수 있습니다. PHP 스크립트 내부에서 putenv()를 통해서 설정하는 것은 작동하지 않습니다. 물론, 이 환경 변수는 업로드된 파일에 다른 작업을 할 때 사용할 수 있습니다.

예 39.2. 파일 업로드 확인하기

추가 정보는 is_uploaded_file()와 move_uploaded_file()에 대한 함수 정보를 참고하십시오. 다음 예제는 폼에서 전송된 파일 업로드를 처리합니다.

<?php
// 4.1.0 이전의 PHP에서는, $_FILES 대신에 $HTTP_POST_FILES를
// 사용해야 합니다.

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];

print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    print "파일이 존재하고, 성공적으로 업로드 되었습니다.";
    print "추가 디버깅 정보입니다:\n";
    print_r($_FILES);
} else {
    print "파일 업로드 공격의 가능성이 있습니다! 디버깅 정보입니다:\n";
    print_r($_FILES);
}
print "</pre>";

?>

업로드된 파일을 받는 PHP 스크립트는 업로드된 파일로 무엇을 할 지 결정하는 로직을 포함하고 있어야 합니다. 예를 들면, $_FILES['userfile']['size'] 변수는 너무 작거나 큰 파일을 처리하는데 이용할 수 있습니다. $_FILES['userfile']['type'] 변수는 형식 기준에 맞지 않는 파일을 처리하는데 이용할 수 있습니다. PHP 4.2.0부터, $_FILES['userfile']['error']를 이용하여 에러 코드에 따라서 처리하게 할 수 있습니다. 어떠한 로직이건 간에, 임시 디렉토리로부터 파일을 지우거나 다른 곳으로 이동해야 합니다.

폼에서 어떠한 파일도 선택하지 않으면, PHP는 $_FILES['userfile']['size']를 0으로, $_FILES['userfile']['tmp_name']을 none으로 반환합니다.

요청이 끝날 때, 이동하거나 이름을 변경하지 않은 임시 디렉토리의 파일은 삭제됩니다.

이전 | 위로 | 다음
38. Dealing with XForms | 처음으로 | 에러 메세지 설명


에러 메세지 설명

PHP 4.2.0부터, PHP는 파일 배열에 적절한 에러 코드를 반환합니다. 에러 코드는 PHP로 파일을 업로드 했을때 만들어지는 파일 배열의 ['error'] 세그먼트에서 확인할 수 있습니다. 예를 들면, $_FILES['userfile']['error']에서 확인할 수 있을겁니다.

UPLOAD_ERR_OK

값: 0; 오류 없이 파일 업로드가 성공했습니다.

UPLOAD_ERR_INI_SIZE

값: 1; 업로드한 파일이 php.ini upload_max_filesize 지시어보다 큽니다.

UPLOAD_ERR_FORM_SIZE

값: 2; 업로드한 파일이 HTML 폼에서 지정한 MAX_FILE_SIZE 지시어보다 큽니다.

UPLOAD_ERR_PARTIAL

값: 3; 파일이 일부분만 전송되었습니다.

UPLOAD_ERR_NO_FILE

값: 4; 파일이 전송되지 않았습니다.

참고: 이들은 PHP 4.3.0에서 PHP 상수가 되었습니다.

이전 | 위로 | 다음
39. 파일 업로드 다루기 | 처음으로 | 일반적인 문제


일반적인 문제

MAX_FILE_SIZE는 ini 설정 upload_max_filesize보다 큰 파일 크기를 지정할 수 없습니다. 기본값은 2 메가바이트입니다.

메모리 제한을 활성화하면, 큰 값의 memory_limit가 필요합니다. memory_limit를 충분히 크게 설정했는지 확인하십시오.

max_execution_time을 너무 작게 설정하면, 스크립트 실행 시간이 이 값을 초과합니다. max_execution_time을 충분히 크게 설정했는지 확인하십시오.

참고: max_execution_time은 스크립트 자신의 실행 시간에만 영향을 미칩니다. system(), sleep() 함수 등의 시스템 호출, 데이터베이스 쿼리, 파일 업로드 과정에 걸리는 시간 등 스크립트 외부 실행에 소모하는 시간은 스크립트 최대 실행 시간을 측정할 때 포함하지 않습니다.

max_input_time은 스크립트가 입력을 받아들이는 최대 시간을 초 단위로 지정합니다; 이는 파일 업로드를 포함합니다. 커다란 파일이나 여러 개의 파일을 전송하거나, 사용자가 느린 회선을 사용한다면 기본값인 60초를 초과할 수 있습니다.

post_max_size을 너무 작게 설정하면, 큰 파일은 업로드할 수 없습니다. post_max_size을 충분히 크게 설정했는지 확인해보십시오.

파일에 대한 검증을 하지 않으면, 사용자가 다른 디렉토리의 중요한 정보에 접근할 수 있습니다.

CERN httpd는 클라이언트에서 보내지는 content-type 마임 헤더의 첫번째 공백을 제거하는 것에 주의하십시오. 이 문제로 인해서, CERN httpd는 파일 업로드 기능을 지원하지 않습니다.

많은 양의 디렉토리 목록 형식으로 인해, 확장 형식의 이름(공백을 포함하는 등의)을 가지는 파일을 정상적으로 다룰 수 있는 보장은 없습니다.

하나의 폼 변수에 (입력 이름으로 foo[] 등을 사용하여) 보통의 입력 필드와 파일 업로드 필드를 섞어서는 안됩니다.

이전 | 위로 | 다음
에러 메세지 설명 | 처음으로 | 복수 파일 전송하기


복수 파일 전송하기

복수 파일은 input에서 다른 name을 사용해서 업로드 할 수 있습니다.

동시에 복수 파일을 업로드하고 배열로 조직화한 정보를 얻을 수 있습니다. 이를 위해서는, HTML 폼에 복수 선택이나 체크박스와 동일한 방식으로 동일한 이름의 배열형 구문을 갖추면 됩니다:

참고: 복수 파일 업로드 지원은 PHP 3.0.10에서 추가되었습니다.

예 39.3. 복수 파일 전송하기

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  이 파일들을 전송합니다:<br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="파일 전송" />
</form>

위 폼을 전송하면, 배열 $_FILES['userfile'], $_FILES['userfile']['name'], $_FILES['userfile']['size']가 초기화됩니다. (버전 4.1.0 이전에는 $HTTP_POST_FILES) register_globals가 on이라면, 전송된 파일들에 대한 전역 변수도 초기화됩니다. 이 각각에 대해서 전송된 파일에 따른 숫자로 정렬된 배열을 가지게 됩니다.

예를 들어, /home/test/review.html와 /home/test/xwp.out가 전송되었다고 합시다. 이 경우에, $_FILES['userfile']['name'][0]의 값은 review.html이고, $_FILES['userfile']['name'][1]의 값은 xwp.out가 됩니다. 동일하게, $_FILES['userfile']['size'][0]는 review.html의 크기를 가지게 되며, 나머지도 마찬가지입니다.

$_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile']['size'][0], $_FILES['userfile']['type'][0]이 설정됩니다.

이전 | 위로 | 다음
일반적인 문제 | 처음으로 | PUT 방식 지원


PUT 방식 지원

PUT 방식 지원은 PHP 3와 PHP 4에서 차이가 있습니다. PHP 4에서는, 표준 입력 스트림으로 HTTP PUT의 내용을 읽어야 합니다.

예 39.4. PHP 4로 HTTP PUT 파일을 저장하기

<?php
/* PUT 데이터는 stdin 스트림으로 들어옵니다. */
$putdata = fopen("php://stdin", "r");

/* 쓰기 위한 파일을 엽니다. */
$fp = fopen("myputfile.ext", "w");

/* 한번에 1kb씩 읽어서 파일에 씁니다. */
while ($data = fread($putdata, 1024))
  fwrite($fp, $data);

/* 스트림을 닫습니다. */
fclose($fp);
fclose($putdata);
?>

참고: 아래의 문서는 PHP 3에만 해당합니다.

PHP는 Netscape Composer나 W3C Amaya 등의 클라이언트에서 사용하는 HTTP PUT 방식에 대한 지원을 제공합니다. PUT 요청은 파일 업로드보다 단순하고 다음과 같은 식으로 이루어집니다.

PUT /path/filename.html HTTP/1.1

일반적으로 원격 클라이언트가 웹 트리의 /path/filename.html에 내용을 저장하는걸 의미합니다. 아파치나 PHP가 웹 트리의 모든 파일에 누구나 자동적으로 덮어쓰게 하는 것은 좋은 생각이 아닙니다. 그래서, 웹 서버에 이러한 요청이 들어왔을때, PHP 스크립트를 통해서 다루도록 할 수 있습니다. 아파치에서는 Script 지시자를 통해 지정할 수 있습니다. 아파치 환경 설정 파일의 거의 모든 곳에서 지정할 수 있습니다. 일반적으로는 <Directory> 블록이나 <Virtualhost> 블록의 내부에 위치하게 됩니다. 다음 줄을 추가하면 됩니다:

Script PUT /put.php

이는 아파치가 이 줄이 들어가 있는 URI에 해당하는 모든 PUT 요청을 put.php 스크립트에 전달하게 합니다. 물론, .php 확장자에 대해 PHP가 사용 가능한 상태여야 합니다.

put.php 파일 안에서는 다음과 같은 작업을 해야 합니다:

<?php copy($PHP_UPLOADED_FILE_NAME, $DOCUMENT_ROOT . $REQUEST_URI); ?>

파일을 원격 클라이언트에서 요청한 위치로 복사합니다. 파일 복사가 이루어지기 전에 몇가지 체크나 사용자 인증을 할 수 있습니다. 여기서 보였듯이 PHP는 PUT 방식 요청을 POST 방식을 다루는 것과 마찬가지로 임시 파일로 저장합니다. 요청이 끝날 때, 임시 파일은 삭제됩니다. 그러므로, PUT을 다루는 PHP 스크립트는 파일을 어딘가로 복사해야합니다. 임시 파일의 파일명은 $PHP_PUT_FILENAME 변수에 들어있고, 대상 파일명의 지정은 $REQUEST_URI에서 확인할 수 있습니다. (아파치가 아닌 경우 다를 수 있습니다) 대상 파일 이름은 원격 클라이언트가 지정합니다. 이 클라이언트로부터의 지정을 무시할 수 있습니다. 예를 들면, 모든 전송 파일을 특별한 업로드 디렉토리로 복사할 수 있습니다.

이전 | 위로 | 다음
복수 파일 전송하기 | 처음으로 | 40. 원격 파일 사용하기


40장. 원격 파일 사용하기

php.ini에서 allow_url_fopen을 활성화하면, 대부분의 함수에서 파일명 인수로 HTTP와 FTP URL을 사용할 수 있습니다. 이와 더불어 URL을 include(), include_once(), require(), require_once() 구문에서 사용할수 있다. PHP가 지원하는 프로토콜에 대한 정보는 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

참고: PHP 4.0.3 이하에서 URL 래퍼(wrapper)를 사용하기 위해서는 configure 옵션으로 --enable-url-fopen-wrapper을 명시할 필요가 있다.

참고: PHP 4.3 이하 버전의 PHP의 윈도우 버전은 다음 함수에서 원격 파일 접근을 지원하지 않는다: include(), include_once(), require(), require_once(), 그리고 Image 내의 imagecreatefromXXX 함수.

예를 들어, 이 기능을 사용하여 원격 웹 서버가 출력하는 내용을 파일로 열고, 그 출력 내용에서 원하는 데이타를 분석하여, 이 원하는 데이타로 데이타베이스 질의에 사용하거나, 웹 사이트에 맞는 모양으로 변형 시켜 출력할 수 있다

예 40.1. 원격 페이지의 제목을 가져오기

<?php
$file = fopen ("http://www.php.net/", "r");
if (!$file) {
    echo "<p>Unable to open remote file.\n";
    exit;
}
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    /* This only works if the title and its tags are on one line */
    if (eregi ("<title>(.*)</title>", $line, $out)) {
        $title = $out[1];
        break;
    }
}
fclose($file);
?>

해당 서버에 권한이 있는 사용자로 접속할수 있다면 FTP를 이용해 파일에 작성할 수도 있다. 이 방법으로 새로운 파일만 생성할수 있다. 기존의 파일을 덮어쓰려고 하면, fopen() 호출시에 실패하게 될것이다.

'anonymous'가 아닌 사용자로 접속하려면, URL내에 username을 (필요하다면 password도) 다음과 같이 명시해야 한다 : 'ftp://user:password@ftp.example.com/path/to/file'. (또한 HTTP에서 Basic authentication을 사용한 인증을 요구하는 경우에도 이와 같은 문법을 사용할 수 있다.)

예 40.2. 원격 서버에 데이터 저장하기

<?php
$file = fopen ("ftp://ftp.php.net/incoming/outputfile", "w");
if (!$file) {
    echo "<p>원격 파일을 쓰도록 열 수 없습니다.\n";
    exit;
}
/* 여기에서 데이터를 씁니다. */
fwrite ($file, "$HTTP_USER_AGENT\n");
fclose ($file);
?>

참고: 위의 예제를 보고, 이 테크닉을 사용하여 remote log를 작성할 수 있겠다고 생각할 수도 있다. 그러나 불행하게도 원격 파일이 이미 존재하면 fopen() 호출은 실패할것이기 때문에 동작하지 않을것이다. 그와 같은 분산 log를 수행하려면 syslog()를 참고하도록 한다.

이전 | 위로 | 다음
PUT 방식 지원 | 처음으로 | 41. 연결 제어


41장. 연결 제어

참고: 이 기능은 PHP version 3.0.7 이후부터 적용된 것들이다.

내부적으로 PHP는 연결의 상태를 다음 3가지중 하나로 설정한다. :

  • 0 - NORMAL
  • 1 - ABORTED
  • 2 - TIMEOUT

PHP 스크립트가 일반적으로 실행되고 있을 때는 NORMAL 상태가 active된다. 만약 원격 클라이언트가 연결을 끊게되면 ABORTED 상태 flag가 켜지게 된다. 보통 클라이언트가 연결을 끊는 것은 사용자가 STOP 버튼을 눌렀을 때 일어난다. 만약 PHP가 설정한 시간 제한에 (set_time_limit()을 보라) 걸리게 되면 TIMEOUT 상태 flag가 켜지게 된다.

클라이언트가 연결을 끊었을 때 스크립트가 수행을 중단할 것인가 아닌가를 결정하여야 한다. 때때로 원격 브라우저가 어떤 결과도 받아들이지 않더라도 스크립트를 끝까지 실행하는 것이 편리할 때가 많다. 기본 동작은 클라이언트가 연결을 끊으면 스크립트도 중단되는 것이다. 이 동작은 ignore_user_abort라는 php3.ini 지시자(directive)나, php3_ignore_user_abort라는 Apache의 .conf의 지시자로 설정이 가능하고, ignore_user_abort() 함수를 사용하여 설정할 수도 있다. 만약 PHP에게 사용자가 내린 중지 명령을 무시하라고 말해주지 않았다면, 사용자의 중지 신호는 여러분의 스크립트를 종료시킨다. 단, register_shutdown_function()을 사용하여 shutdown 함수를 등록해 놓은 경우는 예외가 된다. shutdown 함수를 사용하면, 사용자가 STOP버튼을 눌렀을 때, 여러분의 스크립트는 남은 출력을 하려고 하고, PHP는 연결이 중단되었음을 인지하여 shutdown 함수를 호출하게 된다. shutdown 함수는 여러분의 스크립트가 정상적으로 종료되었을 때도 호출 된다. 만약 여기서 클라이언트의 연결 중단시에 다른 동작을 원한다면 connection_aborted() 함수를 사용하면 된다. 이 함수는 연결이 중단되었다면 TRUE를 반환한다.

스크립트는 내장된 스크립트 타이머에 의해 종료될 수 있다. 기본 timeout 시간은 30초로 되어 있다. 이 시간을 max_execution_time이라는 php3.ini 지시자(directive)나, 동일한 내용의 php3_max_execution_time이라는 Apache의 .conf 지시자에 의해 다르게 설정이 가능하고 set_time_limit() 함수를 사용하여 설정할 수도 있다. 설정한 시간이 경과하면 스크립트는 자동으로 중단되고, 이 스크립트는 위에 설명한 클라이언트와의 연결이 종료된 것처럼 동작한다. 따라서 shutdown 함수가 등록되어 있다면 이 함수가 실행된다. shutdown 함수내에서 이 함수가 timeout에 의해 호출된 것인가를 판단하려면 connection_timeout() 함수를 사용하면 된다. 이 함수는 timeout에 의해 shutdown 함수가 호출되었다면 TRUE를 반환한다.

한가지 유의할 사항은 ABORTED와 TIMEOUT 상태는 두 개가 동시에 active될 수 있다는 것이다. 이것은 PHP가 사용자 중단을 무시하도록 설정해 놓았을 때 생길 수 있다. 사용자가 연결을 끊었지만, 스크립트는 계속 실행되고, 시간 제한에 걸려 스크립트의 수행이 중단되고 shutdown 함수가 호출되면, connection_timeout()과 connection_aborted()함수 모두 TRUE를 반환하게 된다. connection_status()함수를 사용하여 두가지 상태 모두를 검사할 수 있다. 이 함수는 각 상태에 대한 active 정보를 bit 단위로 반환한다. 예를들어 위와같이 ABORT와 TIMEOUT 두 개의 상태가 모두 active되어 있다면 이 함수는 3을 반환한다.

이전 | 위로 | 다음
40. 원격 파일 사용하기 | 처음으로 | 42. 영구적인 데이터베이스 접속


42장. 영구적인 데이터베이스 접속

영구적인 접속(Persistent connection)은 스크립트 수행이 종료되어도 SQL 연결을 끊지 않는 접속을 말한다. 영구적인 접속이 요청되면, PHP는 기존의 (이전에 열어 두었던) 동일한(identical) 영구적인 접속이 있는지 검사한다. 만약 있다면 기존의 것을 사용하고, 없다면 새로운 연결을 생성한다. '동일한' 접속이란 같은 호스트에 같은 사용자명과 같은 암호를 사용하여 열린 접속을 말한다.

참고: IMAP extension는 영구적인 접속을 지원하는 확장이다.

가끔 웹서버의 작동과 작업의 할당에 대해 잘 알고 있지 못하는 사람들은 영구적인 접속이 사실은 별 것 아니라고 오해하기도 한다. 특히, 영구적인 접속이 동일한 SQL 연결에서 'user sessions'를 여는데 별 나을 것도 없다라던가, transaction을 효율적으로 처리하는 것도 아니다라던가, 혹은 다른 어떤 특별한 것을 하는 것도 아니라고 한다. 사실, 이런 말들에 대해 명백히 말하자면, 영구적인 접속은 비영구적인 접속에 비해 어떠한 기능적인 향상도 주지 못한다.

왜?

이것은 웹서버의 동작 방식에 따라 다른 효과를 낸다. 여러분의 웹서버가 웹 페이지를 만들기위해 PHP를 이용하는데는 3가지 방법이 있다.

첫 번째 방법은 PHP를 CGI "래퍼(wrapper)"의 형태로 사용하는 것이다. 이 방법의 경우, 웹서버에 매 PHP 페이지가 요구될 때 마다, PHP 인터프리터의 실행이 만들어지고 사리진다. 따라서 매 요구가 종료될 때마다 인터프리터의 실행이 종료되므로, 실행 중 만들었던(SQL 연결를 포함) 모든 자원은 실행 종료와 함께 해제된다. 이 경우 영구적인 접속을 사용하여 어떤 이득도 얻을 수 없다. 다르게 말하면 이 경우는 영구적인 접속을 해도 영구적이지 않다.

두 번째 방법은 가장 대중적인 방법인데, PHP를 다중프로세스(multiprocess) 웹서버의 모듈로 사용하는 것이다. (현재는 아파치가 유일하다.) 다중프로세스 서버는 보통 한 개의 부모(parent) 프로세스와, 이와 유기적으로 연결되어 웹 페이지를 실제로 만드는 작업을 하는 여러개의 자식(child) 프로세스들을 가지고 있다. 클라이언트로부터 들어오는 개별 요구는 다른 클라이언트의 요구를 처리하고 있지 않고 놀고있는 자식 프로세스로 넘겨진다. 이것은 동일한 클라이언트가 서버에 두 번째 요구를 보낼 때, 보통 처음과 다른 자식 프로세스에서 처리된다는 것을 의미한다. 이 경우 영구적인 접속을 사용하면 각각의 자식 프로세스들은 자신이 처음 요구받았을 때 SQL 서버에 접속하게 된다. 다른 페이지에서 SQL 서버에 접속 요구시는 이전에 만들어진 접속을 다시 사용하게 된다.

마지막 방법은 PHP를 멀티쓰레드(multithreaded) 웹서버의 플러그-인의 형태로 작동시키는 것이다. 현재 PHP4는 windows 환경에서 ISAPI 혹은 WSAPI, NSAPI의 방법을 사용하여 Netscape FastTrack, Microsoft's Internet Information Server (IIS), O'Reilly's WebSite Pro 등의 멀티쓰레드 웹서버에서 플러그-인으로 동작한다. 이 경우 기본 동작은 위에서 언급한 다중프로세스 모델과 동일하게 동작한다. 단, PHP3는 이와 같은 SAPI 형태를 지원하지 않는다.

영구적인 접속이 실제로 어떠한 기능적인 향상도 주지 못한다면, 이것을 사용해 어떤 이점이 있나요?

이것에 대한 간단한 답은 효율성이다. 영구적인 접속은 SQL 서버와의 연결을 만드는 것에 따른 overhead가 클 경우에 유용하다. 이 overhead는 많은 요인에 따라 커지기도 하고 작아지기도 한다. 어떤 종류의 데이터베이스인가? 웹서버와 같은 컴퓨터에 데이터베이스 서버가 있는가? SQL 서버가 어떻게 사용되고 있는가? 등에 따라 크게 달라진다. 접속에 따른 overhead가 클 경우에 영구적인 접속은 적지 않은 도움을 줄 것이다. 이것은 자식 process에서 SQL 서버에 접속을 요청할 때 마다 접속을 만드는 대신, 이 프로세스가 종료될 때 까지 살아있는 한 개의 접속 만을 사용한다. 이것은 모든 영구적인 접속을 사용한 프로세스는, 그에 해당하는 한 개의 영구적인 접속을 가지고 있다는 것을 의미한다. 예를 들어 SQL 서버에 대하여 영구적인 접속을 사용하는 스크립트를 실행하였던 20개의 다른 자식 프로세스가 있다면, 아마도 각각의 자식 프로세스에 대해 1개씩, 20개의 SQL 접속이 있을 것이다.

이 방법은 영구적인 접속의 개수가 데이타베이스 서버가 허용하는 접속수를 초과해서 설정되어 있는 경우 문제가 될 수 있다. 만약 데이타베이스가 16개의 동시 접속을 허용하고, 이 서버 세션들이 모두 사용중이면, 17번째 thread는 연결을 시도하다가 실패할 것이다. 만약 여러분이 만든 스크립트에 이런 경우에 대비한 특별한 대책이 없이 재시도를 반복하다보면 가능한 모든 connection을 사용하여 복구할 수 없게 된다. 이런 abandoned 혹은 idle connection을 다루는 자세한 설명은 데이타베이스 문서를 참조하기 바란다.

주의

영구적인 접속을 사용할때 두가지 추가적인 경고를 염두에 두고 있어야 한다 한가지는 영구적인 접속에서 테이블 락킹(locking)을 사용할때이다. 스크립트가 어떤 이유로 락을 풀수 없을때, 같은 접속을 사용하는 다음 스크립트는 무한정 block될것이고 이 경우에는 httpd 서버나 데이터베이스 서버를 재시작시켜야 할수도 있다. 다른 한가지는 트랜잭션을 사용할때이다. 트랜잭션 블록은 그 트랜잭션 블록이 수행되기 전에 스크립트가 수행을 종료하면 그 접속을 사용하는 다음 스크립트에 이월하게 된다. 각각의 경우에, register_shutdown_function()을 사용하여 테이블 unlock하거나 트랜잭션을 롤백하는 해제 함수를 등록 할수 있다. 이런 문제를 완전히 회피하기 위한 더 좋은 방법은 영구적인 접속을 사용하는 스크립트에서 테이블 락이나 트랜젝션을 사용하지 않는 것이다 (어느 곳에서는 그것을 사용할수 있다)

중요한 언급 한가지! 영구적인 접속은 일반적인 접속에 일대일로 대응되도록 설계되었다. 이것은 스크립트의 다른 부분은 그대로 두고, 언제라도 비영구적인 접속을 영구적인 접속으로 대치할 수 있다는 것을 의미한다. 이기능으로 아마도 스크립트의 동작이 아니라 효율을 향상시킬 수도 있을 것이다.

fbsql_pconnect(),
ibase_pconnect(), ifx_pconnect(),
imap_popen(), ingres_pconnect(),
msql_pconnect(), mssql_pconnect(),
mysql_pconnect(), ociplogon(),
odbc_pconnect(), ora_plogon(),
pfsockopen(), pg_pconnect(),
sybase_pconnect() 참고.

이전 | 위로 | 다음
41. 연결 제어 | 처음으로 | 43. 안전 모드


43장. 안전 모드

차례

보안과 안전 모드
안전 모드에 의해 제한되는/비활성화되는 함수들

PHP 안전 모드는 공유-서버 보안 문제를 풀려는 시도이다. 이 문제를 PHP 수준에서 풀려고 하는것은 구조적으로 올바르지 않다. 그러나 웹서버와 OS 수준에서의 차선책이 아주 현실적이지는 않기 때문에, 많은 사람, 특히 ISP, 들이 현재 안전 모드를 사용한다.

보안과 안전 모드

표 43.1. 보안과 안전 모드 설정 지시어

지시어명 | 기본값 | 변경값
safe_mode | "0" | PHP_INI_SYSTEM
safe_mode_gid | "0" | PHP_INI_SYSTEM
safe_mode_include_dir | NULL | PHP_INI_SYSTEM
safe_mode_exec_dir | "" | PHP_INI_SYSTEM
safe_mode_allowed_env_vars | PHP_ | PHP_INI_SYSTEM
safe_mode_protected_env_vars | LD_LIBRARY_PATH | PHP_INI_SYSTEM
open_basedir | NULL | PHP_INI_SYSTEM
disable_functions | "" | PHP_INI_SYSTEM
disable_classes | "" | PHP_INI_SYSTEM

PHP_INI_* 상수에 대한 좀 더 자세한 설명과 정의를 보기 위해서는 ini_set() 참조.

위 설정 지시어에 대한 간단한 설명입니다.

safe_mode boolean

PHP의 안전 모드 활성화 여부. 더 자세한 정보는 보안 장을 참고.

safe_mode_gid boolean

기본값, 안전 모드는 파일이 열릴 때 UID 비교 검사를 수행한다. 이 설정을 GID 비교로 완화하려면, safe_mode_gid을 켜도록 한다. 파일 접근에 대해 UID (FALSE) 검사를 하는지, GID (TRUE) 검사를 하는지의 여부.

safe_mode_include_dir string

이 디렉토리와 하위디렉토리에서 파일을 include할 때에는 UID/GID 검사가 무시된다 (디렉토리는 include_path나 include되는 전체 경로가 되어야 한다).

PHP 4.2.0부터 이 지시어는 include_path 지시어와 같은 방식으로, 콜론(윈도우에서는 세미콜론)으로 구분하여 복수의 경로를 가질 수 있습니다.

설정 제한은 실질적으로 디렉토리명이 아닌 앞첨자(prefix)가 된다. 이말의 의미는 "safe_mode_include_dir = /dir/incl"는 "/dir/include"와 "/dir/incls"가 존재하기만 한다면 그 디렉토리도 접근이 허용된 다는 것이다. 특정 디렉토리만으로 접근을 제한하고자 하면, 슬래시로 끝내면 된다. For example: "safe_mode_include_dir = /dir/incl/"

safe_mode_exec_dir string

PHP가 안전 모드를 사용중이라면, system()과 그 외의 시스템 프로그램을 실행하는 함수는 이 디렉토리에 있지 않으면 프로그램 시작이 거부된다.

safe_mode_allowed_env_vars string

특정 환경 변수를 설정하는것은 잠재적인 보안 구멍이 될수 있다. 이 지시어는 콤마-구분자 리스트의 앞첨자(prefix)를 포함한다. 안전 모드에서, 유저는 여기서 제공되는 앞첨자로 시작하는 이름을 갖는 환경변수만 변경할수 있을것이다. 기본값으로, 유저는 PHP_로 시작하는 환경 변수만 설정할수 있다. (e.g. PHP_FOO=BAR).

참고: 이 지시어가 비어있으면, PHP는 유저가 모든 환경 변수를 변경할수 없게 할것이다!

safe_mode_protected_env_vars string

이 지시어는 엔드 유저가 putenv()를 사용하여 변경할수 없는 콤마-구분자 리스트의 환경 변수를 포함한다. 이 변수들은 safe_mode_allowed_env_vars가 그들을 변경할수 있도록 설정되어있을지라도 보호될것이다.

open_basedir string

PHP가 열수 있는 파일을 특정 디렉토리-트리로 제한한다. 이 지시어는 안전 모드가 켜졌는지 꺼졌는지와는 상관이 없다.

스크립트가 예를 들면, fopen() 이나 gzopen()으로 파일을 열려고 시도할때, 파일의 위치를 검사한다. 파일이 설정된 디렉토리-트리의 밖에 있다면, PHP는 그 파일을 여는것을 거부할것이다. 모든 심볼릭 링크가 검사되기 때문에, symlink로 이 제한을 회피할수 없다.

특수한 값 .은 스크립트가 작업하는 디렉토리를 기본 디렉토리로 사용합니다. 이는 스크립트의 작업 디렉토리가 chdir()을 통해 쉽게 바뀔 수 있기 때문에 조금 위험합니다.

윈도우에서는 세미콜른으로 디렉토리를 구분한다. 그외 모든 시스템은, 콜른으로 디렉토리를 구분한다. 아파치 모듈에서, 부모 디렉토리부터의 open_basedir 경로는 현재 자동적으로 상속된다.

open_basedir로 설정된 제한은 실질적으로 디렉토리명이 아닌, 앞첨자(prefix)가 된다. 이 말의 의미는 "open_basedir = /dir/incl"는 "/dir/include" 과 "/dir/incls" 디렉토리가 존재한다면 그 두 디렉토리로의 접근도 허용한다는것이다. 특정 디렉토리로만 접근을 제한하고자 한다면, 슬래쉬로 끝내면 된다. For example: "open_basedir = /dir/incl/"

참고: 다중 디렉토리에 대한 지원은 3.0.7에서 추가되었다.

기본값은 모든 파일이 열릴수 있도록 허용되어 있다.

disable_functions string

이 지시어는 보안 때문에 특정 함수를 비활성화시켜준다. 컴마로 구분된 함수명의 리스트를 취한다. disable_functions는 안전 모드에 의해 영향을 받지 않는다.

이 지시어는 php.ini에서 설정되어야 한다. 예를 들면, 이 값을 httpd.conf에서 설정할수 없다.

disable_classes string

이 지시어는 보안적인 측면때문에 특정 클래스를 비활성화시켜준다. 컴마로 구분된 클래스명의 리스트를 취한다. disable_classes는 안전 모드에 의해 영향을 받지 않는다.

이 지시어는 php.ini에서 설정되어야 한다. 예를 들면, 이 값을 httpd.conf에서 설정할수 없다.

Availability note: 이 지시어는 PHP 4.3.2부터 사용가능하게 되었다.

참고: register_globals, display_errors, log_errors

safe_mode가 켜져 있으면, PHP는 현재 스크립트의 소유자(owner)가 파일 함수에 의해 제어되는 파일의 소유자(owner)와 일치하는지 검사한다. 예를 들면:

-rw-rw-r--    1 rasmus   rasmus       33 Jul  1 19:20 script.php
-rw-r--r--    1 root     root       1116 May 26 18:01 /etc/passwd
이 script.php를 실행 <?php
 readfile('/etc/passwd');
?> 안전 모드가 활성화되어 있으면 다음 에러가 보여진다.

Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
allowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2

엄격한 UID 검사가 적절하지 않고, 완화된 GID 검사가 효율적인 환경일수 있다. 이런 경우는 safe_mode_gid 스위치 방식으로 지원된다. On으로 설정하면 완화된 GID 검사가 수행되고, Off (기본값)로 설정되면 UID 검사가 수행된다.

safe_mode 대신에, open_basedir 디렉토리를 설정하면, 모든 파일 제어가 특정 디렉토리 밑의 파일로만 제한될것이다. 예를 들면(아파치 httpd.conf 예):

<Directory /docroot>
  php_admin_value open_basedir /docroot
</Directory>
이 open_basedir 설정으로 동일한 script.php를 실행하면 결과는 다음과 같다:

Warning: open_basedir restriction in effect. File is in wrong directory in
/docroot/script.php on line 2

또한 각각의 함수들을 비활성화시킬수 있다. disable_functions 지시어는 php.ini 파일 밖에서 사용될수 없다. 그래서 httpd.conf 파일의 per-virtualhost 나 per-directory 기반의 함수를 비활성화시킬수 없다. 이 지시어를 php.ini에 추가하면:

disable_functions readfile,system
다음의 결과가 나온다:

Warning: readfile() has been disabled for security reasons in
/docroot/script.php on line 2

이전 | 위로 | 다음
42. 영구적인 데이터베이스 접속 | 처음으로 | 안전 모드에 의해 제한되는/비활성화되는 함수들


안전 모드에 의해 제한되는/비활성화되는 함수들

다음은 아직 완전하지 않고 부정확할 수도 있는 안전 모드에 의해 제한되는 함수 목록이다.

표 43.2. 안전 모드 제한 함수들

함수 | 제한점
dbmopen() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
dbase_open() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
filepro() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
filepro_rowcount() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
filepro_retrieve() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
ifx_* | sql_safe_mode 제한, (!= safe mode)
ingres_* | sql_safe_mode 제한, (!= safe mode)
mysql_* | sql_safe_mode 제한, (!= safe mode)
pg_lo_import() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
posix_mkfifo() | 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
putenv() | safe_mode_protected_env_vars 와 safe_mode_allowed_env_vars ini-지시어에 따름. putenv() 문서 참고.
move_uploaded_file() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
chdir() | 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
dl() | 이 함수는 안전 모드에서 사용할 수 없습니다.
backtick operator | 이 함수는 안전 모드에서 사용할 수 없습니다.
shell_exec() (functional equivalent of backticks) | 이 함수는 안전 모드에서 사용할 수 없습니다.
exec() | safe_mode_exec_dir안의 실행파일만 실행할수 있다. 실무적인 이유로 현재는 실행파일에 대한 경로에 ..을 허용하지 않는다. 이 함수의 인수에는 escapeshellcmd()를 실행합니다.
system() | safe_mode_exec_dir안의 실행파일만 실행할수 있다. 실무적인 이유로 현재는 실행파일에 대한 경로에 ..을 허용하지 않는다. 이 함수의 인수에는 escapeshellcmd()를 실행합니다.
passthru() | safe_mode_exec_dir안의 실행파일만 실행할수 있다. 실무적인 이유로 현재는 실행파일에 대한 경로에 ..을 허용하지 않는다. 이 함수의 인수에는 escapeshellcmd()를 실행합니다.
popen() | safe_mode_exec_dir안의 실행파일만 실행할수 있다. 실무적인 이유로 현재는 실행파일에 대한 경로에 ..을 허용하지 않는다. 이 함수의 인수에는 escapeshellcmd()를 실행합니다.
fopen() | 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
mkdir() | 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
rmdir() | 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
rename() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
unlink() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
copy() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. ( source 와 target 에서)
chgrp() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
chown() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
chmod() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 추가적으로, SUID, SGID와 sticky 비트를 설정할수 없다
touch() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다.
symlink() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (주의: 타겟만 검사됨)
link() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (주의: 타겟만 검사됨)
apache_request_headers() | 안전 모드에서, 'authorization' (대소문자 구별안함)로 시작하는 헤더를 반환하지 않습니다.
header() | 안전 모드에서, WWW-Authenticate(HTTP 인증에서 사용됨)를 설정하면, 이 헤더의 realm부분에 스크립트의 uid가 추가된다.
PHP_AUTH variables | 안전 모드에서는, 변수 PHP_AUTH_USER와, PHP_AUTH_PW, AUTH_TYPE이 $_SERVER 안에서 사용될수 없다. 그와 상관 없이, USER에 대해서 REMOTE_USER을 사용할수 있다 (주의: PHP 4.3.0 이후에서만 적용됨)
highlight_file(), show_source() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (주의: PHP 4.2.1 이후에서만 적용됨)
parse_ini_file() | 작업하려는 파일이나 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. 작업하려는 디렉토리가 실행 중인 스크립트와 같은 UID (owner)를 가지고 있는지 확인합니다. (note: PHP 4.2.1 이후에서만 적용됨)
set_time_limit() | PHP가 안전 모드에서 실행되면 아무 효과가 없음.
max_execution_time | PHP가 안전 모드에서 실행되면 아무 효과가 없음.
mail() | 안전 모드에서, 다섯번째 인수는 사용할 수 없습니다. (주의: PHP 4.2.3부터 적용)
php4/main/fopen_wrappers.c를 사용하는 모든 함수 | ??

이전 | 위로 | 다음
43. 안전 모드 | 처음으로 | 44. 커맨드 라인에서 PHP 사용하기


44장. 커맨드 라인에서 PHP 사용하기

버전 4.3.0부터 PHP는 Command Line Interface를 의미하는 CLI라는 이름의 새로운 SAPI 타입 (Server Application Programming Interface)을 지원한다. SAPI는 이름에서 내포하듯이, 핵심 용도는 셀(또는 데스크탑) 응용프로그램을 PHP로 개발하는것에 맞춰져있다. 이 장에서 설명하는 CLI SAPI와 SAPI사이에는 많은 차이가 있다. CLI와 CGI는 많은 부분에 있어서 같은 동작을 하지만, 서로 다른 SAPI들이라는 것이다.

CLI SAPI는 PHP 4.2.0에서 처음으로 릴리즈되었다. 그러나 아직 실험적이었고 ./configure를 실행할때 --enable-cli을 명시해 주어야 했다. PHP 4.3.0 이후부터 CLI SAPI는 더이상 실험적이지 않고 기본값으로 --enable-cli가 활성화되어있다. 그리고 --disable-cli로 비활성화시킬수 있다.

PHP 4.3.0부터, CLI/CGI 바이너리의 이름과 위치, 존재여부는 PHP가 시스템에 어떻게 설치되느냐에 따라 달라질 것이다. 기본값으로 make를 수행할때, CGI와 CLI 모두 빌드되고 각각 sapi/cgi/php와 sapi/cli/php에 위치하게 된다. 둘 다 php라는 이름이 붙는다는것에 주의해야 할것이다. configure 줄에 따라 make install 시에 무슨일이 일어날까. configure 시에 모듈로 SAPI를 선택했다면, 즉 apxs를 사용하거나, 또는 --disable-cgi 옵션을 사용하면 CLI는 make install시에 {PREFIX}/bin/php에 복사된다. 예를 들면, --with-apxs가 configure 줄에 포함되면 make install시에 CLI는 {PREFIX}/bin/php에 복사된다. CGI 바이너리 설치를 오버라이드하고 싶다면 make install 이후에 make install-cli를 사용한다. 차선책으로 configure 줄에 --disable-cgi를 설정할수 있다.

참고: --enable-cli와 --enable-cgi는 모두 기본값으로 되어있기 때문에, 단순히 configure줄에 --enable-cli를 넣는것이 make install시에 {PREFIX}/bin/php 에 CLI를 복사할것이라는 것을 의미하지 않는다.

PHP 4.2.0 과 PHP 4.2.3 사이의 윈도우 패키지는 CLI를 php-cli.exe로 제공한다. CGI인 php.exe와 같은 폴더에 존재한다. PHP 4.3.0부터의 윈도우 패키지는 CLI를 cli라는 다른 폴더에 php.exe파일로 제공한다. 그래서 cli/php.exe가 된다.

현재 사용중인 SAPI는 무엇인가?: 셀에서, php -v를 쳐넣으면 php가 CGI인지 CLI인지 알수 있을것이다. php_sapi_name()과 상수PHP_SAPI도 참고.

참고: PHP 4.3.2에서 유닉스 manual 페이지가 추가되었다. 셀 환경에서 man php를 쳐넣음으로써 이 페이지를 볼수 있을것이다.

다른 SAPI와 비교한 CLI SAPI의 현저한 차이점:

  • CGI SAPI와는 달리, 출력에 헤더를 쓰지 않는다.

    CGI SAPI가 HTTP 헤더를 제거하는 방법을 제공하지만, CLI SAPI에서는 헤더를 활성화시킬수 있는 스위치(switch)가 존재하지 않는다.

    CLI는 기본적으로 정숙모드(quiet mode)로 시작된다. 그러나 구버전의 CGI 스크립트와의 호환성을 위해 -q 스위치를 유지하고 있다.

    작업 디렉토리가 스크립트의 디렉토리로 변경되지 않는다 (-C스위치는 호환성을 유지됨)

    일반 텍스트 에러 메시지 (HTML 포맷이 아님)

  • 셀 환경에 맞지 않는 것들 때문에 CLI SAPI에 의해 오버로드되는 php.ini 지시자(directive)가 몇가지 존재한다.

    표 44.1. php.ini 지시자(directive) 오버로드

    지시자(directive) | CLI SAPI 기본값 | 주석
    html_errors | FALSE | 셀에서 에러메시지를 읽을때 의미없는 HTML태그로 뒤범벅이 되면 에러메시지를 읽기가 매우 어려울수 있다. 따라서 이 지시자(directive)의 기본값은 FALSE다.
    implicit_flush | TRUE | print(), echo() 와 비슷한 함수들의 출력은 모두 즉시 출력으로 쓰기 되고 버퍼에 캐시되지 않는다. 표준 출력을 지연시키거나 조작하고 싶다면 output buffering을 사용할수도 있다.
    max_execution_time | 0 (unlimited) | 셀 환경에서 PHP를 무한 사용할 가능성때문에, maximum execution time은 unlimited로 설정된다. 웹 응용프로그램은 대부분 매우 빨리 실행이 끝나는 반면에 셀 응용프로그램은 더 많은 시간이 필요한 경우가 많다.
    register_argc_argv TRUE

    이 설정은 TRUE이기 때문에 CLI SAPI에서는 항상 argc (응용프로그램에 전달되는 인자의 수) 와 argv (응용프로그램에 전단되는 인자의 배열)을 사용할수 있을것이다.

    PHP 4.3.0에서부터, CLI SAPI는 PHP변수 $argc와 $argv가 등록되고 적절한 값으로 채워지게 된다. 이 변수의 생성은 CGI와 MODULE 버전과 같이 register_globals가 on되어 있어야 한다. 버전이나 register_globals의 설정에 관계없이, $_SERVER나 $HTTP_SERVER_VARS로 그 값에 접근할수 있다. Example: $_SERVER['argv']

    참고: 이 지시자(directive)는 설정 파일 php.ini나 사용자 설정으로부터 온 다른 값으로 초기화될수 없다. 모든 설정 파일이 해석되고 난 후에 기본값이 적용되기 때문에 이 것은 제한이 된다. 하지만, 각 값은 런타임동안에 변경될수 있다. (위 지시자(directive) 중 환경과 맞지 않는것 e.g. register_argc_argv).

  • 셀 환경에서의 작업을 편하게 하기 위해, 다음 상수가 정의되었다:

    표 44.2. CLI 전용 상수

    상수 | 설명
    STDIN | stdin에 이미 열려진 스트림. 이 상수는 다음처럼 여는것을 간단하게 해준다. $stdin = fopen('php://stdin', 'r');
    STDOUT | stdout에 이미 열려진 스트림. 이 상수는 다음처럼 여는것을 간단하게 해준다. $stdout = fopen('php://stdout', 'w');
    STDERR | stderr에 이미 열려진 스트림. 이 상수는 다음처럼 여는것을 간단하게 해준다. $stderr = fopen('php://stderr', 'w');

    위에서 설명한대로 예를 들면 stderr에 대한 스트림을 직업 열필요가 없다. 스트림 자원 대신 단순하게 상수를 사용하면 된다. php -r 'fwrite(STDERR, "stderr\n");' 이 스트림을 명시적으로 닫을 필요가 없다. 스크립트가 끝날때 PHP에 의해 자동적으로 닫히기 때문이다.

  • CLI SAPI는 현재 디렉토리를 실행중인 스크립트의 디렉토리로 변경 하지않는다!

    다음예는 CGI SAPI와의 차이점을 보여준다: <?php
            /* Our simple test application named test.php*/
            echo getcwd(), "\n";
    ?>

    CGI 버전을 사용할때, 출력은:

$ pwd
/tmp

$ php -q another_directory/test.php
/tmp/another_directory

    이 예제코드는 PHP가 현재 디렉토리를 실행스크립트의 디렉토리로 변경하는것을 보여준다.

    CLI SAPI를 사용할때는 다음과 같다:

$ pwd
/tmp

$ php -f another_directory/test.php
/tmp

    이것은 PHP에서 셀 툴을 제작할때 좀더 많은 유연성을 허용한다.

    참고: CGI SAPI 는 커맨드 라인에서 실행할때 -C 스위치를 사용하여 CLI SAPI의 동작을 지원한다.

PHP 바이너리에 의해 제공되는 커맨드 라인 옵션의 리스트는 PHP를 -h스위치와 함게 실행하므로써 어느때든 질의를 할수 있다.

Usage: php [options] [-f] <file> [args...]
       php [options] -r <code> [args...]
       php [options] [-- args...]
  -s               Display colour syntax highlighted source.
  -w               Display source with stripped comments and whitespace.
  -f <file>        Parse <file>.
  -v               Version number
  -c <path>|<file> Look for php.ini file in this directory
  -a               Run interactively
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -z <file>        Load Zend extension <file>.
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -i               PHP information
  -r <code>        Run PHP <code> without using script tags <?..?>
  -h               This help

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

CLI SAPI는 실행하고자 하는 PHP코드를 취하는 3가지의 방법을 사용한다.

  1. PHP에게 특정 파일을 실행하도록 지정함.

php my_script.php

php -f my_script.php

    두 방법 (-f 스위치를 사용하거나 안하는것)은 모두 my_script.php을 실행한다. 실행하고자하는 파일을 선택할수 있다 - PHP 스크립트는 .php확장자 로 끝날필요없이 어떤 이름이나 원하는 확장자를 갖을수 있다.

  2. 커맨드 라인에서 실행하고자 하는 PHP 코드를 직접 전달함.

php -r 'print_r(get_defined_constants());'

    셀 변수 변환과 따옴표 사용에 있어서 특별한 주의가 필요하다.

    참고: 예제 코드를 주의깊에 읽으면, 시작과 끝 태그가 존재하지 않는다! -r 스위치는 그 태그들이 필요하지 않다. 그 태그들을 사용하면 해석 에러가 발생할것이다.

  3. 표준 입력(stdin)을 통해 수행되는 PHP 코드를 제공함

    이 방식은 동적인 PHP 코드를 생성할수 있는 강력한 기능을 부여하고 바이너리에 그 코드를 넘겨준다. 다음 (가상의) 예제코드에서 보여주는 바와 같다.

$ some_application | some_filter | php | sort -u >final_output.txt

코드를 수행하기 위한 세 가지 방법의 어떤것도 조합할수 없다.

모든 셀 응용 프로그램처럼, PHP 바이너리는 많은수의 인자를 허용하고 PHP 스크립트도 인자를 받을수 있다. 스크립트로 전달할수 있는 인자의 갯수는 PHP에 의해 제한받지 않는다. (셀은 전달할수 있는 문자 갯수의 제한을 갖는다; 보통 이 제한을 넘지 않을것이다) 스크립트로 전달할수 있는 인자는 전역 배열 $argv에 존재한다. 제로 인덱스는 항상 스크립트 명을 포함한다 (PHP 코드가 표준 입력이나 커맨드 라인 스위치 -r로부터 온 경우에는 - ). 두번째로 등록된 전역 변수는 $argv배열의 구성요소 수를 갖는 $argc이다 (스크립트로 전달되는 인자의 수가 아니다)

스크립트로 전달하려는 인자가 -문자로 시작되지 않는한, 특별하게 조심할 필요는 없다. -로 시작하는 인자를 스크립트에 전달하면 문제가 발생할 소지가 있다 왜냐하면 PHP는 그 인자를 PHP가 제어해야 한다고 생각하기 때문이다. 이런일이 발생하지 않기 위해서는, -- 구분자의 인자 리스트를 사용한다. 이 구분자가 PHP에 의해 해석된 후에, 그 뒤의 모든 인자가 스크립트로 온전히 전달된다.

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to your script and prevent PHP from showing it's usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

하지만, 셀 스크립트에서 PHP를 사용하는 다른 방법이 있다. 첫번째 줄을 #!/usr/bin/php로 시작하는 스크립트를 작성할수 있다. 이 줄 뒤에는 PHP의 시작과 끝 태그 안에 포함된 일반적인 PHP코드를 놓을수 있다. 이 파일에 적절하게 실행 속성을 설정하면 (e.g. chmod +x test) 스크립트는 보통의 셀이나 펄 스크립트처럼 실행될수 있다: #!/usr/bin/php
<?php
    var_dump($argv);
?> 이 파일이 현재 디렉토리에서 test라는 이름을 가졌다고 가정하면 다음과 같이 할수 있다.

$ chmod 755 test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
위와 같은 경우에 -로 시작하는 인자를 스크립트로 전달할때에도 주의할 필요가 없다.

표 44.3. 커맨드 라인 옵션

옵션 | 설명
-s

색상으로 문법 강조된 소스를 보임.

이 옵션은 파일을 해석하여 HTML 강조된 버전을 만드는 내부적 메카니즘을 사용하여 표준출력에 그것을 쓰도록 한다. 주의할점은 이 옵션이 하는 일은 <code> [...] </code>블록의 HTML 태그를 생성하고, HTML 헤더는 생성하지 않는다는 것이다.

참고: 이 옵션은 -r 옵션과 함께 사용할수 없다.

-w

주석과 공백을 제거한 소스를 보임.

참고: 이 옵션은 -r 옵션과 함께 사용할수 없다.

-f

-f 옵션으로 주어진 파일명을 해석하고 실행함. 이 스위치는 선택적이고 생략가능하다. 파일명만 제공함으로써 실행이 가능하다.

-v

PHP, PHP SAPI, Zend 버전을 표준 출력에 출력함, e.g.

$ php -v
PHP 4.3.0 (cli), Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies

-c

이 옵션으로 php.ini 가 위치한 디렉토리를 찾거나 , 사용자 정의의 INI 파일 디렉토리(php.ini라고 이름붙일 필요가 없다)를 설정할수 있슴. e.g.

$ php -c /custom/directory/ my_script.php

$ php -c /custom/directory/custom-file.ini my_script.php

-a

PHP를 대화식으로 실행함.

-d

이 옵션은 php.ini에서 허용된 설정 지시자(directive)에 대해서 사용자정의 값을 설정하도록 해줌. 문법은 다음과 같다:

-d configuration_directive[=value]

Examples (lines are wrapped for layout reasons):

# Omitting the value part will set the given configuration directive to "1"
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Passing an empty value part will set the configuration directive to ""
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# The configuration directive will be set to anything passed after the '=' character
$  php -d max_execution_time=20
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php
        -d max_execution_time=doesntmakesense
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"

-e

디버거/분석표를 위한 확장 정보를 생성함.

-z

젠드 확장을 로드함. 파일명만 주어지면, PHP는 시스템의 현재 기본 라이브러리 경로에서 이 확장을 로드하려고 함(리눅스 시스템에서는 보통 /etc/ld.so.conf로 설정되어 있슴) 절대 결로 정보를 갖는 파일명을 전달하면 시스템 라이브러리 검색 경로를 사용하지 않을것이다. 디렉토리 정보를 갖는 상대경로의 파일명은 PHP에게 현재 디렉토리에서 상대경로의 확장만 로드하도록 한다.

-l

이 옵션은 주어진 PHP코드의 문법 검사만 수행하게 하는 편리한 방법을 제공함. 성공하면, No syntax errors detected in <filename>라는 메시지가 표준 출력으로 쓰여지고 셀의 리턴 코드는 0이다. 실패하면, 내부적인 해석기 에러와 함께 Errors parsing <filename>라는 메시지가 표준 출력으로 쓰여지고 셀의 리턴 코드는 255가 된다.

이 옵션은 치명적인 에러를 발견할수 없을것이다 (undefined functions 같은). -f 옵션을 사용하면 치명적인 에러도 함께 찾을수 있을것이다.

참고: 이 옵션은 -r 옵션과 함께 사용할수 없다.

-m

이 옵션을 사용하여, PHP는 내장(로드된)된 PHP 모듈과 Zend 모듈을 출력한다.

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-i | 이 커맨드 라인 옵션은 phpinfo()를 호출하고, 결과값을 출력한다. PHP가 정확하게 동작하지 않으면, php -i를 사용하여 정보 테이블이나 그 테이블 이전에 어떤 에러 메시지가 출력되는지 보도록 지도될수 있다. 출력은 HTML내에 존재하고 따라서 꽤 많다는 것에 주의한다.
-r

이 옵션은 커맨드 라인에서 직접 PHP를 수행하도록 해줌. PHP의 시작과 끝 태그 (<?php 과 ?>)는 필요하지 않다. 만약 존재한다면 해석 에러가 발생할것이다.

참고: 이런 형태의 PHP를 사용할때 셀에 의해 수행되는 커맨드라인의 변수 치환과 충돌하지 않도록 주의가 필요하다.

Example showing a parser error

$ php -r "$foo = get_defined_constants();"
Command line code(1) : Parse error - parse error, unexpected '='

여기서의 문제점은 sh/bash는 큰따옴표 "를 사용할지라도 변수 치환을 수행한다는것이다. 변수 $foo는 정의되지 않았기 때문에, 실질적인 읽기를 수행하는데 있어서 PHP로 전달되는 코드가 아무것도 없다.

$ php -r " = get_defined_constants();"

확실한 방법은 작은 따옴표 '를 사용하는 것이다. 작은 따옴표로 둘러싼 문자열안의 변수는 sh/bash에 의해 치환되지 않는다.

$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]

sh/bash가 아닌 다른 셀을 사용 중이라면, 좀더 많은 다른 경험을 했을수 있다. 편하게 버그 보고를 열거나 phpdoc@lists.php.net에 메일을 보내도록 한다. 아직도 코드내로 셀변수를 취하려고 하거나 회피를 위한 역슬래쉬를 사용해서 어려움을 격기 쉽다. 분명히 경고했다.

참고: -r는 CLI SAPI에서만 사용가능하다. CGI SAPI 에서는 사용할수 없다.

-h | 이 옵션으로 커맨드 라인의 실질적인 옵션 리스트에 관한 정보와 그들이 수행하는 작업에 대한 한줄의 설명을 볼수 있다.

PHP 실행 파일은 웹서버와 절대적으로 독립적인 PHP 스크립트를 실행하기 위해 사용될수 있다. 유닉스 시스템에 있다면, PHP 스크립트의 첫번째 줄에 특별한 것을 추가해야 하고, 실행가능하게 해서, 무슨 프로그램이 스크립트를 수행시킬지 시스템이 알수 있도록 한다. 윈도우 플랫폼에서는 .php파일의 더블 클릭 옵션을 갖는 php.exe와 연관시킬수 있거나, PHP를 통해 그 스크립트를 수행하도록 배치 파일을 만들수 있다. 유닉스에서 실행시키기위해 추가된 첫번째 줄은 윈도우에 아무런 해가 없을것이다. 그래서 이 방법을 사용하여 플랫폼 프로그램을 번갈아 작성할수 있다. 커맨드 라인 PHP 프로그램을 작성하는 단순한 에제 코드를 아래에서 볼수 있다.

예 44.1. 커맨드 라인에서 실행되도록 의도된 스크립트(script.php)

#!/usr/bin/php
<?php

if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>

This is a command line PHP script with one option.

  Usage:
  <?php echo $argv[0]; ?> <option>

  <option> can be some word you would like
  to print out. With the --help, -help, -h,
  or -? options, you can get this help.

<?php
} else {
    echo $argv[1];
}
?>

위 스크립트에서, 특별한 첫번째 줄을 사용하여 이 파일이 PHP에 의해 실행되어야 한다는 것을 가리킨다. CLI 버전을 사용한다면, HTTP 헤더가 존재하지 않을것이다. PHP 의 커맨드라인 응용프로그램을 작성할때 사용할수 있는 두개의 변수가 존재한다:$argc와 $argv. 첫번째 변수는 인자 갯수에 하나(스크립트명)가 추가된 값이다. 두번째 변수는 인자들를 포함하는 배열인데, 이 배열은 제로 ($argv[0])에 스크립트명을 갖으면 시작된다.

위 프로그램에서는 인자가 하나 이하인가 이상인가를 체크한다. 인자가 --help나, -help, -h, -?이면, help 메시지르 출력하고, 스크립트명을 동적으로 출력한다. 다른 인자를 받게 되면, 그 인자를 출력한다.

유닉스에서 위 스크립트를 수행하려 하면, 그 파일을 실행가능하게 해서 단순히 script.php echothis 나 script.php -h를 호출하면 된다. 윈도우에서는, 이 작업을 위해 배치 파일을 만들수 있다.

예 44.2. 커맨드 라인의 PHP 스크립트를 수행하기 위한 배치 파일(script.bat)

@c:\php\cli\php.exe script.php %1 %2 %3 %4

위 프로그램이 script.php이란 이름을 갖고, c:\php\cli\php.exe 안에 CLI php.exe를 갖는다면 이 배치 파일은 추가된 옵션과 함께 실행이 될것이다: script.bat echothis 나 script.bat -h.

PHP의 커맨드 라인 응용 프로그램의 기능을 확장하기 위한 좀더 많은 함수를 보기위해 Readline 확장에 대한 문서도 참고한다.

이전 | 위로 | 다음
안전 모드에 의해 제한되는/비활성화되는 함수들 | 처음으로 | VI. 함수 레퍼런스


부 VI. 함수 레퍼런스

See also 부록 K. 확장 분류.

차례

I. .NET Functions
II. 아파치 함수
III. Alternative PHP Cache
IV. Advanced PHP debugger
V. 배열함수
VI. Aspell 함수 [deprecated]
VII. BBCode Functions
VIII. BCMath 임의 정확도 수치연산 함수
IX. PHP bytecode Compiler
X. Bzip2 압축 함수
XI. 달력 함수
XII. CCVS API Functions [deprecated]
XIII. 클래스/객체 함수
XIV. Classkit Functions
XV. ClibPDF Functions [deprecated]
XVI. COM and .Net (Windows)
XVII. Crack Functions
XVIII. Character Type Functions
XIX. CURL, Client URL Library Functions
XX. Cybercash Payment Functions
XXI. Credit Mutuel CyberMUT functions
XXII. Cyrus IMAP administration Functions
XXIII. 날짜와 시간 함수
XXIV. DB++ Functions
XXV. Database (dbm-style) Abstraction Layer Functions
XXVI. dBase Functions
XXVII. DBM Functions [deprecated]
XXVIII. dbx Functions
XXIX. Direct IO Functions
XXX. 디렉토리 함수
XXXI. DOM Functions
XXXII. DOM XML Functions
XXXIII. enchant Functions
XXXIV. Error Handling and Logging Functions
XXXV. Exif Functions
XXXVI. Expect Functions
XXXVII. File Alteration Monitor Functions
XXXVIII. Forms Data Format Functions
XXXIX. Fileinfo Functions
XL. filePro Functions
XLI. 파일시스템 함수
XLII. Filter Functions
XLIII. Firebird/InterBase Functions
XLIV. Firebird/Interbase Functions (PDO_FIREBIRD)
XLV. FriBiDi Functions
XLVI. FrontBase Functions
XLVII. FTP Functions
XLVIII. Function Handling Functions
XLIX. GeoIP Functions
L. Gettext Functions
LI. GMP Functions
LII. gnupg 함수
LIII. Net_Gopher
LIV. Haru PDF Functions
LV. hash Functions
LVI. HTTP
LVII. Hyperwave Functions
LVIII. Hyperwave API Functions
LIX. i18n 함수
LX. IBM Functions (PDO_IBM)
LXI. IBM DB2, Cloudscape and Apache Derby Functions
LXII. iconv 함수
LXIII. ID3 Functions
LXIV. IIS Administration Functions
LXV. Image Functions
LXVI. Imagick Image Library
LXVII. IMAP, POP3, NNTP 함수
LXVIII. Informix Functions
LXIX. Informix Functions (PDO_INFORMIX)
LXX. Ingres II Functions
LXXI. IRC Gateway Functions
LXXII. PHP / Java Integration
LXXIII. JSON Functions
LXXIV. KADM5
LXXV. LDAP Functions
LXXVI. libxml Functions
LXXVII. Lotus Notes Functions
LXXVIII. LZF Functions
LXXIX. 메일 함수
LXXX. Mailparse Functions
LXXXI. 수학 함수
LXXXII. MaxDB PHP Extension
LXXXIII. MCAL Functions
LXXXIV. Mcrypt Encryption Functions
LXXXV. MCVE (Monetra) Payment Functions
LXXXVI. Memcache Functions
LXXXVII. Mhash Functions
LXXXVIII. Mimetype Functions
LXXXIX. Ming functions for Flash
XC. Miscellaneous Functions
XCI. mnoGoSearch Functions
XCII. Microsoft SQL Server Functions
XCIII. Microsoft SQL Server and Sybase Functions (PDO_DBLIB)
XCIV. Mohawk Software Session Handler Functions
XCV. mSQL Functions
XCVI. Multibyte String Functions
XCVII. muscat Functions
XCVIII. MySQL 함수
XCIX. MySQL Functions (PDO_MYSQL)
C. MySQL Improved Extension
CI. Ncurses Terminal Screen Control Functions
CII. 네트워크 함수
CIII. Newt Functions
CIV. NSAPI-specific Functions
CV. Object Aggregation/Composition Functions
CVI. Object property and method call overloading
CVII. 오라클 함수
CVIII. ODBC Functions (Unified)
CIX. ODBC and DB2 Functions (PDO_ODBC)
CX. oggvorbis
CXI. OpenAL Audio Bindings
CXII. OpenSSL Functions
CXIII. Oracle Functions [deprecated]
CXIV. Oracle Functions (PDO_OCI)
CXV. 출력 제어 함수
CXVI. Ovrimos SQL Functions
CXVII. Paradox File Access
CXVIII. Parsekit Functions
CXIX. Process Control Functions
CXX. 정규표현식 함수 (펄-호환)
CXXI. PDF 함수
CXXII. PDO Functions
CXXIII. Phar archive stream and classes
CXXIV. PHP 옵션&정보
CXXV. POSIX Functions
CXXVI. Regular Expression Functions (POSIX Extended)
CXXVII. PostgreSQL 함수
CXXVIII. PostgreSQL Functions (PDO_PGSQL)
CXXIX. Printer Functions
CXXX. Program Execution Functions
CXXXI. PostScript document creation
CXXXII. Pspell 함수
CXXXIII. qtdom Functions
CXXXIV. Radius
CXXXV. Rar Functions
CXXXVI. GNU Readline
CXXXVII. GNU Recode Functions
CXXXVIII. RPM Header Reading 함수
CXXXIX. runkit Functions
CXL. SAM - Simple Asynchronous Messaging
CXLI. Satellite CORBA client extension [deprecated]
CXLII. SCA Functions
CXLIII. SDO Functions
CXLIV. SDO XML Data Access Service Functions
CXLV. SDO Relational Data Access Service Functions
CXLVI. 세마포어(semaphore)와 공유 메모리(shared memory) 함수
CXLVII. SESAM Database Functions
CXLVIII. PostgreSQL Session Save Handler
CXLIX. Session Handling Functions
CL. 공유 메모리 함수
CLI. SimpleXML functions
CLII. SNMP Functions
CLIII. SOAP Functions
CLIV. Socket Functions
CLV. Standard PHP Library (SPL) Functions
CLVI. SQLite Functions
CLVII. SQLite Functions (PDO_SQLITE)
CLVIII. Secure Shell2 Functions
CLIX. Statistics Functions
CLX. Stream Functions
CLXI. 문자열 함수
CLXII. Subversion 함수
CLXIII. Shockwave Flash Functions
CLXIV. Swish Functions
CLXV. Sybase Functions
CLXVI. TCP Wrappers Functions
CLXVII. Tidy Functions
CLXVIII. Tokenizer Functions
CLXIX. Unicode Functions
CLXX. URL 함수
CLXXI. 변수 관련 함수
CLXXII. Verisign Payflow Pro Functions
CLXXIII. vpopmail Functions
CLXXIV. W32api Functions
CLXXV. WDDX Functions
CLXXVI. win32ps Functions
CLXXVII. win32service Functions
CLXXVIII. xattr Functions
CLXXIX. xdiff Functions
CLXXX. XML 해석기 함수
CLXXXI. XML-RPC Functions
CLXXXII. XMLReader functions
CLXXXIII. XMLWriter Functions
CLXXXIV. XSL functions
CLXXXV. XSLT Functions
CLXXXVI. YAZ functions
CLXXXVII. YP/NIS 관련 함수
CLXXXVIII. Zip File Functions
CLXXXIX. Zlib 압축 함수
이전 | 위로 | 다음
44. 커맨드 라인에서 PHP 사용하기 | 처음으로 | I. .NET Functions


아파치 함수

이전 VI. 함수 레퍼런스 다음

II. 아파치 함수

소개

이 함수들은 PHP를 아파치 모듈로 실행할때만 사용할 수 있습니다.

참고: PHP 4.3.2부터는, 아파치 1에서의 상황과는 달리 아파치 2 SAPI에서는 PATH_TRANSLATED를 자동적으로 설정하지 않습니다. 이전에는 아파치가 생성하지 않았을 때는, SCRIPT_FILENAME와 같은 값으로 설정했었습니다. 이 변경은 PATH_TRANSLATED는 PATH_INFO가 정의되었을 때만 존재한다는 CGI 규격에 따르기 위한 것입니다.

아파치 2 사용자는 PATH_INFO를 정의하기 위해서 httpd.conf 안에 AcceptPathInfo = On를 사용할 수 있습니다.

설치

아파치에 PHP를 설치하기 위해서는 설치 장을 참고하십시오.

실행시 설정

아파치 PHP 모듈의 동작은 php.ini의 설정에 영향을 받습니다. php.ini의 환결 설정은 서버 환경 설정 파일이나 .htaccess 파일의 php_flag 설정을 통하여 변경할 수 있습니다.

예 161. .htaccess를 이용해서 PHP 파싱을 끄기

php_flag engine off

표 15. 아파치 환경 설정 옵션

이름 | 기본값 | 설정권한 | 변경점
engine | "1" | PHP_INI_ALL | PHP 4.0.5부터 사용할 수 있습니다.
child_terminate | "0" | PHP_INI_ALL | PHP 4.0.5부터 사용할 수 있습니다.
last_modified | "0" | PHP_INI_ALL | PHP 4.0.5부터 사용할 수 있습니다.
xbithack | "0" | PHP_INI_ALL | PHP 4.0.5부터 사용할 수 있습니다.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

engine boolean

PHP 처리를 켜거나 끕니다. 이 지시어는 PHP의 아파치 모듈에 유용합니다. PHP 파싱을 사이트의 디렉토리 단위나 버추얼 서버 단위로 켜거나 끌 수 있습니다. engine off를 httpd.conf 파일의 적절한 위치에 놓음으로써, PHP의 사용 여부를 결정할 수 있습니다.

child_terminate boolean

PHP 스크립트가 종료시에 자식 프로세스의 종료를 요청할 지 지정합니다. apache_child_terminate()를 참고하십시오.

last_modified boolean

PHP 스크립트의 변경일을 Last-Modified: 헤더로 전송합니다.

xbithack boolean

실행 비트가 설정된 파일을 PHP가 파일 끝에 신경쓰지 않고 파싱하게 합니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

apache_child_terminate -- 이 요청 후에 아파치 프로세스를 종료한다.
apache_get_modules -- 불러진 아파치 모듈의 목록을 얻습니다.
apache_get_version -- 아파치 버전을 가져옵니다.
apache_getenv -- 아파치 서브프로세스의 환경 변수를 가져옵니다.
apache_lookup_uri -- 특정한 URI에 대한 부분 요청을 실행하고 그에 대한 모든 정보를 반환한다.
apache_note -- 아파치의 요청 노트를 얻거나 설정한다.
apache_request_headers -- 모든 HTTP 요청 헤더를 가져옵니다.
apache_reset_timeout -- Reset the Apache write timer
apache_response_headers -- 모든 HTTP 응답 헤더를 가져옵니다.
apache_setenv -- 아파치의 서브프로세스의 환경 변수를 설정합니다.
ascii2ebcdic -- 문자열을 ASCII에서 EBCDIC로 변환한다.
ebcdic2ascii -- 문자열을 EBCDIC에서 ASCII로 변환한다.
getallheaders -- 모든 HTTP 요청 헤더를 가져옵니다.
virtual -- 아파치 하위 요청을 실행합니다.
이전 | 위로 | 다음
dotnet_load | 처음으로 | apache_child_terminate


apache_child_terminate

(PHP 4 >= 4.0.5, PHP 5)

apache_child_terminate -- 이 요청 후에 아파치 프로세스를 종료한다.

설명

bool apache_child_terminate ( void )

apache_child_terminate()는 PHP 코드의 실행이 끝났을 때 프로세스를 종료시키기 위하여 현재 PHP 요청을 실행하는 아파치 프로세스를 등록합니다. 보통 메모리는 내부적으로 사용할 수 있게 해제되지만, 운영 체계에 반환되지 않기 때문에 많은 메모리를 소모하는 스크립트를 실행한 후에 프로세스를 종료시키기 위해서 사용됩니다.

참고: 이 기능은 php.ini에서 지시어 apache.child_terminate를 통해서 유효화 할 수 있습니다. 기본값은 off입니다.

이 기능은 아파치의 win32 버전 같은 멀티쓰레드(multithread) 버전에서는 사용할 수 없습니다.

참고: exit().

이전 | 위로 | 다음
II. 아파치 함수 | 처음으로 | apache_get_modules


apache_get_modules

(PHP 4 >= 4.3.2, PHP 5)

apache_get_modules -- 불러진 아파치 모듈의 목록을 얻습니다.

설명

array apache_get_modules ( void )

이 함수는 불러진 아파치 모듈을 나타내는 배열을 반환합니다.

예 162. apache_get_modules() example

<?php
print_r(apache_get_modules());
?>

위 예제는 다음과 비슷한 출력을 합니다:

Array
(
    [0] => core
    [1] => http_core
    [2] => mod_so
    [3] => sapi_apache2
    [4] => mod_mime
    [5] => mod_rewrite
)

이전 | 위로 | 다음
apache_child_terminate | 처음으로 | apache_get_version


apache_get_version

(PHP 4 >= 4.3.2, PHP 5)

apache_get_version -- 아파치 버전을 가져옵니다.

설명

string apache_get_version ( void )

apache_get_version()은 아파치 버전을 문자열로 반환하거나, 실패시에 FALSE를 반환합니다.

예 163. apache_get_version() 예제

<?php
$version = apache_get_version();
echo "$version\n";
?>

위 프로그램의 출력은 다음과 비슷할 것입니다:

Apache/1.3.29 (Unix) PHP/4.3.4

참고: phpinfo().

이전 | 위로 | 다음
apache_get_modules | 처음으로 | apache_getenv


apache_getenv

(PHP 4 >= 4.3.0, PHP 5)

apache_getenv -- 아파치 서브프로세스의 환경 변수를 가져옵니다.

설명

string apache_getenv ( string $variable [, bool $walk_to_top] )

variable로 지정한 아파치 환경 변수를 가져옵ㄴ디ㅏ.

이 함수는 아파치 2가 필요하며, 그렇지 않다면 정의되지 않습니다.

매개변수

variable

아파치 환경 변수

walk_top_top

모든 아파치 레이어에서 최고 레벨 변수를 가져올지 결정합니다.

반환값

성공하면 아파치 환경 변수 값, 실패하면 FALSE입니다.

예제

예 164. apache_getenv() 예제

이 예제는 아파치 환경 변수 SERVER_ADDR을 가져오는 방볍을 보여줍니다.

<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>

위 예제의 출력 예:

42.24.42.240

참고

apache_setenv()
getenv()
자동 전역

이전 | 위로 | 다음
apache_get_version | 처음으로 | apache_lookup_uri


apache_lookup_uri

(PHP 4, PHP 5)

apache_lookup_uri -- 특정한 URI에 대한 부분 요청을 실행하고 그에 대한 모든 정보를 반환한다.

설명

object apache_lookup_uri ( string $filename )

URI에 대한 부분 요청을 실행합니다. 주어진 자원에 대하여 모든 중요한 정보를 포함하여 많은 정보를 클래스로 반환합니다. 반환하는 클래스의 속성은 다음과 같습니다:
status
the_request
status_line
method
content_type
handler
uri
filename
path_info
args
boundary
no_cache
no_local_copy
allowed
send_bodyct
bytes_sent
byterange
clength
unparsed_uri
mtime
request_time

예 165. apache_lookup_uri() 예제

<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);

if (file_exists($info->filename)) {
    echo '파일이 존재합니다!';
}
?>

위 예제의 출력 예는:

stdClass Object
(
    [status] => 200
    [the_request] => GET /dir/file.php HTTP/1.1
    [method] => GET
    [mtime] => 0
    [clength] => 0
    [chunked] => 0
    [content_type] => application/x-httpd-php
    [no_cache] => 0
    [no_local_copy] => 1
    [unparsed_uri] => /dir/index.php?var=value
    [uri] => /dir/index.php
    [filename] => /home/htdocs/dir/index.php
    [args] => var=value
    [allowed] => 0
    [sent_bodyct] => 0
    [bytes_sent] => 0
    [request_time] => 1074282764
)
파일이 존재합니다!

참고: apache_lookup_uri()는 PHP를 아파치 모듈로 설치했을 경우에만 작동합니다.

이전 | 위로 | 다음
apache_getenv | 처음으로 | apache_note


apache_note

(PHP 4, PHP 5)

apache_note -- 아파치의 요청 노트를 얻거나 설정한다.

설명

string apache_note ( string $note_name [, string $note_value] )

apache_note()는 요청의 notes 테이블에 존재하는 값을 얻거나 설정하는 아파치 전용 함수입니다. 하나의 인자로 호출하면, note_name의 현재 노트값을 반환합니다. 두개의 인자로 호출하면, note_name의 노트값을 note_value로 설정하고, note_name의 이전 노트값을 반환합니다.

이전 | 위로 | 다음
apache_lookup_uri | 처음으로 | apache_request_headers


apache_request_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_request_headers -- 모든 HTTP 요청 헤더를 가져옵니다.

설명

array apache_request_headers ( void )

apache_request_headers()는 현재 요청의 모든 HTTP 헤더를 연합 배열로 반환합니다. PHP를 Apache 모듈로 사용할때만 지원합니다.

예 166. apache_request_headers() 예제

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

참고:
      PHP 4.3.0 이전에, apache_request_headers()는
      getallheaders()로 불리워졌습니다. PHP 4.3.0 이후의
      getallheaders()는 apache_request_headers()의
      단축형입니다.

참고: 환경 변수에서 일반 CGI 변수를 읽어서, PHP를 Apache 모듈로 사용하고 있는지를 확인할 수 있습니다. 모든 사용 가능한 환경 변수 목록은 phpinfo()를 이용해서 볼 수 있습니다.

참고: PHP 4.3.3부터 이 함수를 넷스케이프/iPlanet/SunONE 웹서버의 NSAPI 서버 모듈에서도 사용할 수 있습니다.

참고: apache_response_headers().

이전 | 위로 | 다음
apache_note | 처음으로 | apache_reset_timeout


apache_response_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_response_headers -- 모든 HTTP 응답 헤더를 가져옵니다.

설명

array apache_response_headers ( void )

모든 아파치 응답 헤더의 배열을 반환합니다. 이 기능은 PHP 4.3.0 이상에서만 사용할 수 있습니다.

참고: PHP 4.3.3부터 이 함수를 넷스케이프/iPlanet/SunONE 웹서버의 NSAPI 서버 모듈에서도 사용할 수 있습니다.

참고: apache_request_headers(), headers_sent().

이전 | 위로 | 다음
apache_reset_timeout | 처음으로 | apache_setenv


apache_setenv

(PHP 4 >= 4.2.0, PHP 5)

apache_setenv -- 아파치의 서브프로세스의 환경 변수를 설정합니다.

설명

bool apache_setenv ( string $variable, string $value [, bool $walk_to_top] )

apache_setenv()은 variable로 지정한 아파치 환경 변수를 설정합니다.

참고: 아파치 환경 변수를 설정할 때, 해당하는 $_SERVER 변수는 바뀌지 않습니다.

매개변수

variable

설정할 환경 변수

value

새 variable 값.

walk_to_top

모든 아파치 레이어에서 사용할 수 있는 최고 레벨 변수를 설정할 지 여부

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 167. apache_setenv()를 사용하여 아파치 환경 변수 설정하기

<?php
apache_setenv("EXAMPLE_VAR", "Example Value");
?>

주의

참고: apache_setenv()은 apache_getenv()과 함께 PHP 스크립트에서 읽어들이는 Server Side Includes(.shtml)에 변수를 설정하여 나눠진 페이지에서 같은 값을 사용할 수 있습니다.

참고

apache_getenv()

이전 | 위로 | 다음
apache_response_headers | 처음으로 | ascii2ebcdic


ascii2ebcdic

(No version information available, might be only in CVS)

ascii2ebcdic -- 문자열을 ASCII에서 EBCDIC로 변환한다.

설명

int ascii2ebcdic ( string $ascii_str )

ascii2ebcdic()는 EBCDIC 기반 운영체계(OS/390, BS2000)에서만 사용할 수 있는 아파치 전용 함수입니다. ASCII로 인코드된 문자열 ascii_str을 EBCDIC 표현으로 변환하고 그 결과를 반환합니다. (binary safe)

참조: 역함수 ebcdic2ascii().

이전 | 위로 | 다음
apache_setenv | 처음으로 | ebcdic2ascii


ebcdic2ascii

(No version information available, might be only in CVS)

ebcdic2ascii -- 문자열을 EBCDIC에서 ASCII로 변환한다.

설명

int ebcdic2ascii ( string $ebcdic_str )

ebcdic2ascii()는 EBCDIC 기반 운영체계(OS/390, BS2000)에서만 사용할 수 있는 아파치 전용 함수입니다. EBCDIC로 인코드된 문자열 ebcdic_str을 ASCII 표현으로 변환하고 그 결과를 반환합니다. (binary safe)

참조: 역함수 ascii2ebcdic().

이전 | 위로 | 다음
ascii2ebcdic | 처음으로 | getallheaders


getallheaders

(PHP 4, PHP 5)

getallheaders -- 모든 HTTP 요청 헤더를 가져옵니다.

설명

array getallheaders ( void )

getallheaders()는 apache_request_headers()의 별칭입니다. 현재 요청의 모든 HTTP 헤더를 연합 배열로 반환합니다. 이 함수의 작동에 대한 정보는 apache_request_headers() 문서를 읽어보십시오.

참고: PHP 4.3.0에서, getallheaders()는 apache_request_headers()의 별칭이 되었습니다. 정확히는 이름이 바뀌었습니다. 이는 이 함수가 Apache 모듈로 컴파일했을 때만 작동하기 때문입니다.

참고: PHP 4.3.3부터 이 함수를 넷스케이프/iPlanet/SunONE 웹서버의 NSAPI 서버 모듈에서도 사용할 수 있습니다.

참고: apache_request_headers().

이전 | 위로 | 다음
ebcdic2ascii | 처음으로 | virtual


virtual

(PHP 4, PHP 5)

virtual -- 아파치 하위 요청을 실행합니다.

설명

int virtual ( string $filename )

virtual()은 mod_include의 <!--#include virtual...-->과 동일한 아파치 전용 함수입니다. 이것은 아파치 하위 요청을 실행합니다. CGI 스크립트나 .shtml 파일 등 아파치를 통해서 실행 가능한 무엇이든 가능합니다. CGI 스크립트의 경우, 그 스크립트가 유효한 CGI 헤더를 생성해야 함에 주의하십시오. 최소한 Content-type 헤더가 필요합니다.

하위 요청을 실행할 때, 헤더를 포함한 모든 버퍼를 종료하고 브라우저에 출력합니다.

PHP 4.0.6부터, PHP 파일에 virtual()을 사용할 수 있습니다. 그러나, 다른 PHP 파일을 포함할때는 include()나 require()를 사용하는 편이 좋습니다.

참고: PHP 4.3.3부터 이 함수를 넷스케이프/iPlanet/SunONE 웹서버의 NSAPI 서버 모듈에서도 사용할 수 있습니다.

이전 | 위로 | 다음
getallheaders | 처음으로 | III. Alternative PHP Cache


Advanced PHP debugger

이전 VI. 함수 레퍼런스 다음

IV. Advanced PHP debugger

소개

APD is the Advanced PHP Debugger. It was written to provide profiling and debugging capabilities for PHP code, as well as to provide the ability to print out a full stack backtrace. APD supports interactive debugging, but by default it writes data to trace files. It also offers event based logging so that varying levels of information (including function calls, arguments passed, timings, etc.) can be turned on or off for individual scripts.

경고

APD is a Zend Extension, modifying the way the internals of PHP handle function calls, and thus may or may not be compatible with other Zend Extensions (for example Zend Optimizer).

설치

APD is currently available as a PECL extension from » http://pecl.php.net/package/apd. Make sure you have installed the CGI version of PHP and it is available in your current path along with the phpize script.

Run the following command to download, build, and install the latest stable version of APD:

pear install apd

This automatically installs the APD Zend module into your PHP extensions directory. It is not mandatory to keep it there; you can store the module in any directory PHP can read as long as you set the zend_extension parameter accordingly.

Windows users can download the extension dll php_apd.dll from » http://snaps.php.net/win32/PECL_STABLE/.

In your INI file, add the following lines:

zend_extension = /absolute/path/to/apd.so
apd.dumpdir = /absolute/path/to/trace/directory
apd.statement_tracing = 0

Depending on your PHP build, the zend_extension directive can be one of the following:

zend_extension              (non ZTS, non debug build)
zend_extension_ts           (    ZTS, non debug build)
zend_extension_debug        (non ZTS,     debug build)
zend_extension_debug_ts     (    ZTS,     debug build)

Building on Win32

To build APD under Windows you need a working PHP compilation environment as described on http://php.net/ -- basically, it requires you to have Microsoft Visual C++, win32build.zip, bison/flex, and some know how to get it to work. Also ensure that adp.dsp has DOS line endings; if it has unix line endings, Microsoft Visual C++ will complain about it.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 17. APD Configuration Options

Name | Default | Changeable | Changelog
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Available since apd 0.9.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

apd.dumpdir string

Sets the directory in which APD writes profile dump files. You can specify an absolute path or a relative path.

You can specify a different directory as an argument to apd_set_pprof_trace().

apd.statement_tracing boolean

Specfies whether or not to do per-line tracings. Turning this on (1) will impact the performance of your application.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

표 18. APD constants

Constant | Value | Description
FUNCTION_TRACE (integer) | 1 |
ARGS_TRACE (integer) | 2 |
ASSIGNMENT_TRACE (integer) | 4 |
STATEMENT_TRACE (integer) | 8 |
MEMORY_TRACE (integer) | 16 |
TIMING_TRACE (integer) | 32 |
SUMMARY_TRACE (integer) | 64 |
ERROR_TRACE (integer) | 128 |
PROF_TRACE (integer) | 256 |
APD_VERSION (string) | example: 1.0.2-dev |

How to use PHP-APD in your scripts

  1. As the first line of your PHP script, call the apd_set_pprof_trace() function to start the trace:

    apd_set_pprof_trace();

    You can insert the line anywhere in your script, but if you do not start tracing at the beginning of your script you discard profile data that might otherwise lead you to a performance bottleneck.

  2. Now run your script. The dump output will be written to apd.dumpdir/pprof_pid.ext.

    작은 정보

    If you're running the CGI version of PHP, you will need to add the '-e' flag to enable extended information for apd to work properly. For example: php -e -f script.php

  3. To display formatted profile data, issue the pprofp command with the sort and display options of your choice. The formatted output will look something like:

bash-2.05b$ pprofp -R /tmp/pprof.22141.0

Trace for /home/dan/testapd.php
Total Elapsed Time = 0.00
Total System Time  = 0.00
Total User Time    = 0.00

Real         User        System             secs/    cumm
%Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
--------------------------------------------------------------------------------------
100.0 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0000   0.0009            0 main
56.9 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0005   0.0005            0 apd_set_pprof_trace
28.0 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 preg_replace
14.3 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 str_replace

    The -R option used in this example sorts the profile table by the amount of real time the script spent executing a given function. The "cumm call" column reveals how many times each function was called, and the "s/call" column reveals how many seconds each call to the function required, on average.

  4. To generate a calltree file that you can import into the KCacheGrind profile analysis application, issue the pprof2calltree comand.

Contact information

If you have comments, bugfixes, enhancements or want to help developing this beast, you can send an mail to » apd@mail.communityconnect.com. Any help is very welcome.

차례

apd_breakpoint -- Stops the interpreter and waits on a CR from the socket
apd_callstack -- Returns the current call stack as an array
apd_clunk -- Throw a warning and a callstack
apd_continue -- Restarts the interpreter
apd_croak -- Throw an error, a callstack and then exit
apd_dump_function_table -- Outputs the current function table
apd_dump_persistent_resources -- Return all persistent resources as an array
apd_dump_regular_resources -- Return all current regular resources as an array
apd_echo -- Echo to the debugging socket
apd_get_active_symbols -- Get an array of the current variables names in the local scope
apd_set_pprof_trace -- Starts the session debugging
apd_set_session_trace -- Starts the session debugging
apd_set_session -- Changes or sets the current debugging level
apd_set_socket_session_trace -- Starts the remote session debugging
override_function -- Overrides built-in functions
rename_function -- Renames orig_name to new_name in the global function table
이전 | 위로 | 다음
apc_store | 처음으로 | apd_breakpoint


apd_breakpoint

(PECL apd:0.2-1.0.1)

apd_breakpoint -- Stops the interpreter and waits on a CR from the socket

설명

bool apd_breakpoint ( int $debug_level )

This can be used to stop the running of your script, and await responses on the connected socket. To step the program, just send enter (a blank line), or enter a php command to be executed.

매개변수

debug_level

XXX_TRACE 상수에 해당하는 정수값.

MEMORY_TRACE 사용은 권장하지 않습니다. 매우 느리고 정확하지 않습니다. ASSIGNMENT_TRACE는 아직 지원하지 않습니다.

모든 추적(TIMING, FUNCTIONS, ARGS SUMMARTY (strace -c))를 사용하기 위해서는 99를 사용하십시오.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 177. Typical session using tcplisten

bash#tcplisten localhost 7777

APD - Advanced PHP Debugger Trace File
---------------------------------------------------------------------------
Process Pid (6118)
Trace Begun at Sun Mar 10 23:13:12 2002
---------------------------------------------------------------------------
(  0.000000): apd_set_session_trace called at /home/alan/Projects/project2/test.
php:5
(  0.074824): apd_set_session_trace_socket() at /home/alan/Projects/project2/tes
t.php:5 returned.  Elapsed (0.074824)
(  0.074918): apd_breakpoint() /home/alan/Projects/project2/test.php:7
              ++ argv[0] $(??) = 9
apd_breakpoint() at /home/alan/Projects/project2/test.php:7 returned.  Elapsed (
-2089521468.1073275368)
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:10
>apd_echo($i);
EXEC: apd_echo($i);
0
>apd_echo(serialize(apd_get_active_symbols()));
EXEC:  apd_echo(serialize(apd_get_active_symbols()));
a:47:{i:0;s:4:"PWD";i:1;s:10:"COLORFGBG";i:2;s:11:"XAUTHORITY";i:3;s:14:"
COLORTERM_BCE";i:4;s:9:"WINDOWID";i:5;s:14:"ETERM_VERSION";i:6;s:16:"SE
SSION_MANAGER";i:7;s:4:"PS1";i:8;s:11:"GDMSESSION";i:9;s:5:"USER";i:10;s:5:"
MAIL";i:11;s:7:"OLDPWD";i:12;s:5:"LANG";i:13;s:10:"COLORTERM";i:14;s:8:"DISP
LAY";i:15;s:8:"LOGNAME";i:16;s:6:"
>apd_echo(system('ls /home/mydir'));
........
>apd_continue(0);

이전 | 위로 | 다음
IV. Advanced PHP debugger | 처음으로 | apd_callstack


apd_callstack

(PECL apd:0.2-0.4)

apd_callstack -- Returns the current call stack as an array

설명

array apd_callstack ( void )

Returns the current call stack as an array

반환값

An array containing the current call stack.

예제

예 178. apd_callstack() example

<?php
print_r(apd_callstack());
?>

이전 | 위로 | 다음
apd_breakpoint | 처음으로 | apd_clunk


apd_clunk

(No version information available, might be only in CVS)

apd_clunk -- Throw a warning and a callstack

설명

void apd_clunk ( string $warning [, string $delimiter] )

Behaves like perl's Carp::cluck. Throw a warning and a callstack.

매개변수

warning

The warning to throw.

delimiter

The delimiter. Default to <BR />.

반환값

값을 반환하지 않습니다.

예제

예 179. apd_clunk() example

<?php
apd_clunk("Some Warning", "<br/>");
?>

참고

apd_croak()

이전 | 위로 | 다음
apd_callstack | 처음으로 | apd_continue


apd_continue

(PECL apd:0.2-1.0.1)

apd_continue -- Restarts the interpreter

설명

bool apd_continue ( int $debug_level )

Usually sent via the socket to restart the interpreter.

매개변수

debug_level

XXX_TRACE 상수에 해당하는 정수값.

MEMORY_TRACE 사용은 권장하지 않습니다. 매우 느리고 정확하지 않습니다. ASSIGNMENT_TRACE는 아직 지원하지 않습니다.

모든 추적(TIMING, FUNCTIONS, ARGS SUMMARTY (strace -c))를 사용하기 위해서는 99를 사용하십시오.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 180. apd_continue() example

<?php
apd_continue(0);
?>

이전 | 위로 | 다음
apd_clunk | 처음으로 | apd_croak


apd_croak

(PECL apd:0.2-0.4)

apd_croak -- Throw an error, a callstack and then exit

설명

void apd_croak ( string $warning [, string $delimiter] )

Behaves like perl's Carp::croak. Throw an error, a callstack and then exit.

매개변수

warning

The warning to throw.

delimiter

The delimiter. Default to <BR />.

반환값

값을 반환하지 않습니다.

예제

예 181. apd_croak() example

<?php
apd_croak("Some Warning","<P>");
?>

참고

apd_clunk()

이전 | 위로 | 다음
apd_continue | 처음으로 | apd_dump_function_table


apd_dump_function_table

(No version information available, might be only in CVS)

apd_dump_function_table -- Outputs the current function table

설명

void apd_dump_function_table ( void )

Outputs the current function table.

반환값

값을 반환하지 않습니다.

예제

예 182. apd_dump_function_table() example

<?php
apd_dump_function_table();
?>

이전 | 위로 | 다음
apd_croak | 처음으로 | apd_dump_persistent_resources


apd_dump_persistent_resources

(PECL apd:0.2-0.4)

apd_dump_persistent_resources -- Return all persistent resources as an array

설명

array apd_dump_persistent_resources ( void )

Return all persistent resources as an array.

반환값

An array containing the current call stack.

예제

예 183. apd_dump_persistent_resources() example

<?php
print_r(apd_dump_persistent_resources());
?>

참고

apd_dump_regular()

이전 | 위로 | 다음
apd_dump_function_table | 처음으로 | apd_dump_regular_resources


apd_dump_regular_resources

(PECL apd:0.2-0.4)

apd_dump_regular_resources -- Return all current regular resources as an array

설명

array apd_dump_regular_resources ( void )

Return all current regular resources as an array.

반환값

An array containing the current regular resources.

예제

예 184. apd_dump_regular_resources() example

<?php
print_r(apd_dump_regular_resources());
?>

참고

apd_dump_persistent_resources()

이전 | 위로 | 다음
apd_dump_persistent_resources | 처음으로 | apd_echo


apd_echo

(PECL apd:0.2-1.0.1)

apd_echo -- Echo to the debugging socket

설명

bool apd_echo ( string $output )

Usually sent via the socket to request information about the running script.

매개변수

output

The debugged variable.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 185. apd_echo() example

<?php
apd_echo($i);
?>

이전 | 위로 | 다음
apd_dump_regular_resources | 처음으로 | apd_get_active_symbols


apd_get_active_symbols

(PECL apd:0.2)

apd_get_active_symbols -- Get an array of the current variables names in the local scope

설명

array apd_get_active_symbols ( void )

Returns the names of all the variables defined in the active scope, (not their values).

반환값

A multidimensional array with all the variables.

예제

예 186. apd_get_active_symbols() example

<?php
apd_echo(apd_get_active_symbols());
?>

이전 | 위로 | 다음
apd_echo | 처음으로 | apd_set_pprof_trace


apd_set_pprof_trace

(PECL apd:0.2-1.0.1)

apd_set_pprof_trace -- Starts the session debugging

설명

string apd_set_pprof_trace ( [string $dump_directory [, string $fragment]] )

Starts debugging to pprof_{process_id} in the dump directory.

매개변수

dump_directory

The directory in which the profile dump file is written. If not set, the apd.dumpdir setting from the php.ini file is used.

fragment

반환값

Returns path of the destination file.

예제

예 187. apd_set_pprof_trace() example

<?php
apd_set_pprof_trace();
?>

참고

apd_set_session_trace()

이전 | 위로 | 다음
apd_get_active_symbols | 처음으로 | apd_set_session_trace


apd_set_session_trace

(PECL apd:0.2-0.4)

apd_set_session_trace -- Starts the session debugging

설명

void apd_set_session_trace ( int $debug_level [, string $dump_directory] )

Starts debugging to apd_dump_{process_id} in the dump directory.

매개변수

debug_level

XXX_TRACE 상수에 해당하는 정수값.

MEMORY_TRACE 사용은 권장하지 않습니다. 매우 느리고 정확하지 않습니다. ASSIGNMENT_TRACE는 아직 지원하지 않습니다.

모든 추적(TIMING, FUNCTIONS, ARGS SUMMARTY (strace -c))를 사용하기 위해서는 99를 사용하십시오.

dump_directory

The directory in which the profile dump file is written. If not set, the apd.dumpdir setting from the php.ini file is used.

반환값

값을 반환하지 않습니다.

예제

예 188. apd_set_session_trace() example

<?php
apd_set_session_trace(99);
?>

이전 | 위로 | 다음
apd_set_pprof_trace | 처음으로 | apd_set_session


apd_set_session

(PECL apd:0.2-0.4)

apd_set_session -- Changes or sets the current debugging level

설명

void apd_set_session ( int $debug_level )

This can be used to increase or decrease debugging in a different area of your application.

매개변수

debug_level

XXX_TRACE 상수에 해당하는 정수값.

MEMORY_TRACE 사용은 권장하지 않습니다. 매우 느리고 정확하지 않습니다. ASSIGNMENT_TRACE는 아직 지원하지 않습니다.

모든 추적(TIMING, FUNCTIONS, ARGS SUMMARTY (strace -c))를 사용하기 위해서는 99를 사용하십시오.

반환값

값을 반환하지 않습니다.

예제

예 189. apd_set_session() example

<?php
apd_set_session(9);
?>

이전 | 위로 | 다음
apd_set_session_trace | 처음으로 | apd_set_socket_session_trace


apd_set_socket_session_trace

(No version information available, might be only in CVS)

apd_set_socket_session_trace -- Starts the remote session debugging

설명

bool apd_set_socket_session_trace ( string $tcp_server, int $socket_type, int $port, int $debug_level )

Connects to the specified tcp_server (eg. tcplisten) and sends debugging data to the socket.

매개변수

tcp_server

IP or Unix Domain socket (like a file) of the TCP server.

socket_type

Can be AF_UNIX for file based sockets or APD_AF_INET for standard tcp/ip.

port

You can use any port, but higher numbers are better as most of the lower numbers may be used by other system services.

debug_level

XXX_TRACE 상수에 해당하는 정수값.

MEMORY_TRACE 사용은 권장하지 않습니다. 매우 느리고 정확하지 않습니다. ASSIGNMENT_TRACE는 아직 지원하지 않습니다.

모든 추적(TIMING, FUNCTIONS, ARGS SUMMARTY (strace -c))를 사용하기 위해서는 99를 사용하십시오.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 190. apd_set_socket_session_trace() example

<?php
  apd_set_socket_session_trace("127.0.0.1",APD_AF_INET,7112,0);
?>

이전 | 위로 | 다음
apd_set_session | 처음으로 | override_function


override_function

(PECL apd:0.2-1.0.1)

override_function -- Overrides built-in functions

설명

bool override_function ( string $function_name, string $function_args, string $function_code )

Overrides built-in functions by replacing them in the symbol table.

매개변수

function_name

The function to override.

function_args

The function arguments, as a coma separated string.

Usually you will want to pass this parameter, as well as the function_code parameter, as a single quote delimited string. The reason for using single quoted strings, is to protect the variable names from parsing, otherwise, if you use double quotes there will be a need to escape the variable names, e.g. \$your_var.

function_code

The new code for the function.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 191. override_function() example

<?php
override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');
?>

이전 | 위로 | 다음
apd_set_socket_session_trace | 처음으로 | rename_function


rename_function

(PECL apd:0.2-1.0.1)

rename_function -- Renames orig_name to new_name in the global function table

설명

bool rename_function ( string $original_name, string $new_name )

Renames a orig_name to new_name in the global function table. Useful for temporarily overriding built-in functions.

매개변수

original_name

The original function name.

new_name

The new name for the original_name function.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 192. rename_function() example

<?php
rename_function('mysql_connect', 'debug_mysql_connect' );
?>

이전 | 위로 | 다음
override_function | 처음으로 | V. 배열함수


배열함수

이전 VI. 함수 레퍼런스 다음

V. 배열함수

소개

이 함수는 다양한 방법으로 배열에 접근하고 배열을 조작할 수 있게 해 준다. 배열은 변수들의 집합을 저장, 관리, 처리하는데 있어서 핵심적이다.

일차원 뿐만 아니라 다차원 배열이 지원되고 있고, 사용자나 다른 함수에 의해 생성될 수 있다. 데이터베이스 질의문으로부터 배열을 생성하는 전용 데이터베이스 제어 함수와 배열을 반환하는 함수를 제공한다.

PHP에서의 배열 구현과 사용법에 대한 자세한 설명은 매뉴얼의 배열 섹션을 참고.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

아래 상수들은 PHP 코어의 일부로, 항상 사용할 수 있습니다.

CASE_LOWER (integer)
CASE_LOWER는 array_change_key_case() 함수에서 배열 키를 소문자로 변환하는데 사용된다. 또한 이 상수는 array_change_key_case()의 기본값이다.
CASE_UPPER (integer)
CASE_UPPER는 array_change_key_case() 함수에서 배열 키를 대문자로 변환하는데 사용된다.

정렬 순서 플래그:

SORT_ASC (integer)
SORT_ASC는 array_multisort() 함수에서 오름차순 정렬에 사용된다.
SORT_DESC (integer)
SORT_DESC는 array_multisort() 함수에서 내림차순 정렬에 사용된다.

정렬 형태 플래그: 여러 정렬함수에 의해 사용됨.

SORT_REGULAR (integer)
SORT_REGULAR는 아이템들을 통상적인 방법으로 비교하는데 사용됨.
SORT_NUMERIC (integer)
SORT_NUMERIC는 아이템들을 수치로서 비교하는데 사용됨.
SORT_STRING (integer)
SORT_STRING는 아이템들을 문자열로서 비교하는데 사용됨.

COUNT_NORMAL (integer)
COUNT_RECURSIVE (integer)
EXTR_OVERWRITE (integer)
EXTR_SKIP (integer)
EXTR_PREFIX_SAME (integer)
EXTR_PREFIX_ALL (integer)
EXTR_PREFIX_INVALID (integer)
EXTR_PREFIX_IF_EXISTS (integer)
EXTR_IF_EXISTS (integer)
EXTR_REFS (integer)

참고

is_array(), explode(),
implode(), split(),
preg_split(), unset() 참고.

차례

array_change_key_case -- 모두 대문자나 소문자화된 문자열 키를 갖는 배열로 반환한다
array_chunk -- 배열을 여러 덩어리로 분산시킨다
array_combine -- 키를 위한 배열과 값을 위한 배열을 각각 사용하여 배열을 생성한다
array_count_values -- 배열 값의 수를 센다
array_diff_assoc -- 인덱스 검사와 함께 배열간의 차이를 계산한다
array_diff_key -- Computes the difference of arrays using keys for comparison
array_diff_uassoc -- Computes the difference of arrays with additional index check which is performed by a user supplied callback function
array_diff_ukey -- Computes the difference of arrays using a callback function on the keys for comparison
array_diff -- 배열간의 차이를 계산한다
array_fill_keys -- Fill an array with values, specifying keys
array_fill -- 배열을 특정값으로 채운다
array_filter -- 콜백함수를 사용하여 배열의 원소를 필터한다
array_flip -- 배열안의 모든 키를 각 키의 연관값으로 바꾼다.
array_intersect_assoc -- 인덱스 검사과 함께 배열의 중복을 계산한다
array_intersect_key -- Computes the intersection of arrays using keys for comparison
array_intersect_uassoc -- Computes the intersection of arrays with additional index check, compares indexes by a callback function
array_intersect_ukey -- Computes the intersection of arrays using a callback function on the keys for comparison
array_intersect -- 배열의 중복을 계산한다
array_key_exists -- 주어진 키와 인덱스가 배열에 존재하는지 확인한다
array_keys -- 배열의 모든 키를 반환한다
array_map -- Applies the callback to the elements of the given arrays
array_merge_recursive -- 두개 이상의 배열을 재귀적으로 병합한다
array_merge -- 두개 이상의 배열을 병합한다
array_multisort -- 여러개의 배열 또는 다차원 배열을 정렬한다
array_pad -- 설정된 길이만큼 특정 값으로 배열을 채운다
array_pop -- 배열 끝의 요소를 뽑아낸다
array_product -- Calculate the product of values in an array
array_push -- 배열의 끝에 하나 이상의 원소를 넣는다.
array_rand -- 배열안에서 하나 이상의 임의 원소를 뽑아낸다
array_reduce -- 콜백 함수를 사용하여 배열을 반복적으로 단일 값으로 축소시킨다
array_reverse -- 배열 원소를 역순으로 반환한다
array_search -- 배열에서 주어진 값을 검색하고 성공하면 해당 키를 반환한다
array_shift -- 배열의 맨 앞에 있는 원소를 옆으로 이동시킨다
array_slice -- 배열의 일부를 추출한다
array_splice -- 배열의 일부를 삭제하고, 그 위치에 다른 내용을 대체한다
array_sum -- 배열내의 값들의 합을 계산한다
array_udiff_assoc -- Computes the difference of arrays with additional index check, compares data by a callback function
array_udiff_uassoc -- Computes the difference of arrays with additional index check, compares data and indexes by a callback function
array_udiff -- Computes the difference of arrays by using a callback function for data comparison
array_uintersect_assoc -- Computes the intersection of arrays with additional index check, compares data by a callback function
array_uintersect_uassoc -- Computes the intersection of arrays with additional index check, compares data and indexes by a callback functions
array_uintersect -- Computes the intersection of arrays, compares data by a callback function
array_unique -- 배열에서 중복된 값을 제거한다
array_unshift -- 배열의 맨 앞에 하나 이상의 원소를 첨가한다
array_values -- 배열의 모든 값들을 반환한다
array_walk_recursive -- Apply a user function recursively to every member of an array
array_walk -- 배열의 개개의 원소에 대해서 특정 함수를 적용하여 수행한다
array -- 배열을 생성한다
arsort -- 배열을 내림차순 정렬하고 인덱스의 상관관계를 유지한다.
asort -- 배열을 정렬하고 인덱스 상관 관계를 유지한다
compact -- 여러 변수들과 값을 갖는 배열을 생성한다
count -- 배열의 원소수, 객체의 프로퍼티수를 셉니다
current -- 배열의 현재 원소를 반환한다
each -- 배열에서 현재의 키와 값 쌍을 반환하고 배열 커서를 전진시킨다
end -- 내부 배열 포인터를 마지막 원소를 가리키게 한다
extract -- 배열의 현재 심볼 테이블로 변수들을 입력한다
in_array -- 배열에서 값이 존재하는지 점검한다
key -- 연관배열에서 키를 꺼낸다
krsort -- 역순으로 키에 의해 배열을 정렬한다
ksort -- 키에 의해 배열을 정렬한다
list -- 배열처럼 변수들을 지정한다
natcasesort -- 대소문자를 구별하지 않고 "natural order" 알고리즘을 사용하여 배열을 정렬한다
natsort -- "natural order" 알고리즘을 사용하여 배열을 정렬한다
next -- 배열의 내부 배열 포인터를 전진시킨다
pos -- 배열에서 현재 원소를 꺼내온다
prev -- 내부 배열 포인터를 앞으로 돌린다
range -- 특정 범위의 원소를 갖는 배열을 생성한다
reset -- 배열의 내부 포인터가 배열의 첫번째 원소를 가리키게 한다
rsort -- 역순으로 배열을 정렬한다
shuffle -- 배열을 뒤섞는다
sizeof -- count()의 별칭
sort -- 배열을 정렬한다
uasort -- 사용자-정의 비교함수로 배열을 정렬하고 인덱스 연관성을 유지한다
uksort -- 사용자-정의된 비교함수를 사용하여 키에 의해 배열을 정렬한다
usort -- 사용자-정의된 비교함수를 사용하여 값들에 의해 배열을 정렬한다
이전 | 위로 | 다음
rename_function | 처음으로 | array_change_key_case


array_change_key_case

(PHP 4 >= 4.2.0, PHP 5)

array_change_key_case -- 모두 대문자나 소문자화된 문자열 키를 갖는 배열로 반환한다

설명

array array_change_key_case ( array $input [, int $case] )

array_change_key_case()는 input 배열 안의 키를 모두 소문자나 대문자로 변경한다. 변경은 마지막 선택적인 case 매개변수에 의해 결정된다. 그 매개변수에 CASE_UPPER 와 CASE_LOWER 두 가지 상수를 전달할수 있다. 기본값은 CASE_LOWER 이다. 이 함수는 숫자키는 그대로 두게 된다.

예 193. array_change_key_case() 예제코드

<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>

위 프로그램의 출력은 다음과 같다:

Array
(
    [FIRST] => 1
    [SECOND] => 4
)

배열이 이 함수가 실행된후 같은 인덱스를 갖는다면(예 "keY"와 "kEY"), 배열에서 나중에 오는 값이 다른 인덱스를 덮어쓰게 된다.

이전 | 위로 | 다음
V. 배열함수 | 처음으로 | array_chunk


array_chunk

(PHP 4 >= 4.2.0, PHP 5)

array_chunk -- 배열을 여러 덩어리로 분산시킨다

설명

array array_chunk ( array $input, int $size [, bool $preserve_keys] )

array_chunk() 는 size 값으로 여러개의 배열안에 배열을 분산시킨다. 마지막 배열에서는 그 값보다 적은수의 값들을 갖는 배열을 갖을 수 있다. 0부터 시작되는 인덱스를 갖는 다차원 배열의 구성원으로서의 배열을 얻는다.

선택적인 preserve_keys 매개변수를 TRUE로 설정함으로써, PHP가 입력 배열로부터의 원래 키를 유지할수 있게 한다. FALSE를 설정하면, 새로운 숫자 키가 사용될것이고 각 결과 배열들은 0부터 시작된다. 기본값은 FALSE이다.

예 194. array_chunk() 예제코드

<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, TRUE));
?>

위 프로그램의 출력은 다음과 같을것이다:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)
Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

이전 | 위로 | 다음
array_change_key_case | 처음으로 | array_combine


array_combine

(PHP 5)

array_combine -- 키를 위한 배열과 값을 위한 배열을 각각 사용하여 배열을 생성한다

설명

array array_combine ( array $keys, array $values )

keys 배열에서의 값들을 키로 사용하고 values 배열에서의 값들을 해당 값들로 사용하여 array 를 반환한다.

각각의 배열 원소의 수가 같지 않거나 그 배열들이 비어있으면 FALSE를 반환한다.

예 195. 단순한 array_combine() 예제코드

<?php
$a = array('green','red','yellow');
$b = array('avocado','apple','banana');
$c = array_combine($a, $b);

print_r($c);

/* Outputs:
Array
(
    [green]  => avocado
    [red]    => apple
    [yellow] => banana
)
*/
?>

array_merge(),
array_walk(),
array_values() 참고.

이전 | 위로 | 다음
array_chunk | 처음으로 | array_count_values


array_count_values

(PHP 4, PHP 5)

array_count_values -- 배열 값의 수를 센다

설명

array array_count_values ( array $input )

array_count_values()는 input 배열값을 키로 사용하고 input 배열의 각 값의 빈도수를 값으로 갖는 배열을 반환한다.

예 196. array_count_values() 예제코드

<?php
$array = array (1, "hello", 1, "world", "hello");
print_r(array_count_values ($array));
?>

The printout of the above program will be:

Array
(
    [1] => 2
    [hello] => 2
    [world] => 1
)

count(),
array_unique(),
array_values(),
count_chars() 참고.

이전 | 위로 | 다음
array_combine | 처음으로 | array_diff_assoc


array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_diff_assoc -- 인덱스 검사와 함께 배열간의 차이를 계산한다

설명

array array_diff_assoc ( array $array1, array $array2 [, array $ ...] )

array_diff_assoc()는 array1 중에서 다른 인자에서 존재하지 않는 모든 값들을 포함하는 배열을 반환한다. 이 함수는 array_diff()과 달리 비교시에 키가 사용된다는것에 주의한다.

예 197. array_diff_assoc() 예제코드

<?php
$array1 = array ("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array ("a" => "green", "yellow", "red");
$result = array_diff_assoc ($array1, $array2);

/* The result is:
Array
(
    [b] => brown
    [c] => blue
    [0] => red
)
*/
?>

위 예제코드에서 "a" => "green" 쌍은 두 배열에 모두 존재하기 때문에 이 함수의 출력에서 존재하지 않는다. 이와 달리, 0 => "red" 쌍은 출력에 보이는데 그 이유는 두번째 인자에서 "red" 가 1 이라는 키를 갖기 때문이다.

key => value 쌍에서 두 구성요소가 동치라고 볼수 있는 때는 (string) $elem1 === (string) $elem2 일때 만이다. 달리 말하면 엄격한 타입 검사는 문자열 대표성이 동일해야 한다는것이다.

참고: 이 함수는 n-차원 배열의 한개 차원만 검사한다는것에 주의한다. 물론 array_diff_assoc($array1[0], $array2[0]);와 같은 방법으로 내부 차원을 검사할수 있다.

array_diff(),
array_intersect(),
array_intersect_assoc() 참고.

이전 | 위로 | 다음
array_count_values | 처음으로 | array_diff_key


array_diff_key

(PHP 5 >= 5.1.0)

array_diff_key -- Computes the difference of arrays using keys for comparison

설명

array array_diff_key ( array $array1, array $array2 [, array $...] )

Compares the keys from array1 against the keys from array2 and returns the difference. This function is like array_diff() except the comparison is done on the keys instead of the values.

매개변수

array1

The array to compare from

array2

An array to compare against

...

More arrays to compare against

반환값

Returns an array containing all the entries from array1 that are not present in any of the other arrays.

예제

예 198. array_diff_key() example

The two keys from the key => value pairs are considered equal only if (string) $key1 === (string) $key2 . In other words a strict type check is executed so the string representation must be the same.

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_key($array1, $array2));
?>

위 예제의 출력:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

주의

참고: This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using array_diff_key($array1[0], $array2[0]);.

참고

array_diff()
array_udiff()
array_diff_assoc()
array_diff_uassoc()
array_udiff_assoc()
array_udiff_uassoc()
array_diff_ukey()
array_intersect()
array_intersect_assoc()
array_intersect_uassoc()
array_intersect_key()
array_intersect_ukey()

이전 | 위로 | 다음
array_diff_assoc | 처음으로 | array_diff_uassoc


array_diff_uassoc

(PHP 5)

array_diff_uassoc -- Computes the difference of arrays with additional index check which is performed by a user supplied callback function

설명

array array_diff_uassoc ( array $array1, array $array2 [, array $..., callback $key_compare_func] )

Compares array1 against array2 and returns the difference. Unlike array_diff() the array keys are used in the comparision.

Unlike array_diff_assoc() an user supplied callback function is used for the indices comparision, not internal function.

매개변수

array1

The array to compare from

array2

An array to compare against

...

More arrays to compare against

key_compare_func

callback function to use. The callback function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

반환값

Returns an array containing all the entries from array1 that are not present in any of the other arrays.

예제

예 199. array_diff_uassoc() example

The "a" => "green" pair is present in both arrays and thus it is not in the ouput from the function. Unlike this, the pair 0 => "red" is in the ouput because in the second argument "red" has key which is 1.

<?php
function key_compare_func($a, $b)
{
    if ($a === $b) {
        return 0;
    }
    return ($a > $b)? 1:-1;
}

$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>

위 예제의 출력:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

The equality of 2 indices is checked by the user supplied callback function.

주의

참고: This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using, for example, array_diff_uassoc($array1[0], $array2[0], "key_compare_func");.

참고

array_diff()
array_diff_assoc()
array_udiff()
array_udiff_assoc()
array_udiff_uassoc()
array_intersect()
array_intersect_assoc()
array_uintersect()
array_uintersect_assoc()
array_uintersect_uassoc()

이전 | 위로 | 다음
array_diff_key | 처음으로 | array_diff_ukey


array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukey -- Computes the difference of arrays using a callback function on the keys for comparison

설명

array array_diff_ukey ( array $array1, array $array2 [, array $ ..., callback $key_compare_func] )

Compares the keys from array1 against the keys from array2 and returns the difference. This function is like array_diff() except the comparison is done on the keys instead of the values.

Unlike array_diff_key() an user supplied callback function is used for the indices comparision, not internal function.

매개변수

array1

The array to compare from

array2

An array to compare against

...

More arrays to compare against

key_compare_func

callback function to use. The callback function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

반환값

Returns an array containing all the entries from array1 that are not present in any of the other arrays.

예제

예 200. array_diff_ukey() example

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>

위 예제의 출력:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

주의

참고: This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using array_diff_ukey($array1[0], $array2[0], 'callback_func');.

참고

array_diff()
array_udiff()
array_diff_assoc()
array_diff_uassoc()
array_udiff_assoc()
array_udiff_uassoc()
array_diff_key()
array_intersect()
array_intersect_assoc()
array_intersect_uassoc()
array_intersect_key()
array_intersect_ukey()

이전 | 위로 | 다음
array_diff_uassoc | 처음으로 | array_diff


array_diff

(PHP 4 >= 4.0.1, PHP 5)

array_diff -- 배열간의 차이를 계산한다

설명

array array_diff ( array $array1, array $array2 [, array $ ...] )

array_diff()는 array1 중에서 다른 인자에서 존재하지 않는 모든 값들을 포함하는 배열을 반환한다. 키는 보존된다는 것에 주의.

예 201. array_diff() 예제코드

<?php
$array1 = array ("a" => "green", "red", "blue", "red");
$array2 = array ("b" => "green", "yellow", "red");
$result = array_diff ($array1, $array2);
?>

위 코드는 $result 가 array ("blue"); 값을 갖게 한다. $array1 안에서 여러값들의 차이가 발생한다면 모두 같은 방식으로 처리된다.

참고: 두 구성요소가 동치라고 볼수 있는 때는 (string) $elem1 === (string) $elem2 일때 만이다. In words: when the string representation is the same.

참고: 이 함수는 n-차원의 배열 중 한 차원만 검사한다는 것에 주의한다. 물론 array_diff($array1[0], $array2[0]); 을 사용하여 더 깊은 차원들을 검사할수 있다.

주의

이 함수는 PHP 4.0.4에서 제대로 동작하지 않았다!

array_diff_assoc(),
array_intersect(),
array_intersect_assoc() 참고.

이전 | 위로 | 다음
array_diff_ukey | 처음으로 | array_fill_keys


array_fill

(PHP 4 >= 4.2.0, PHP 5)

array_fill -- 배열을 특정값으로 채운다

설명

array array_fill ( int $start_index, int $num, mixed $value )

array_fill()은 배열은 value 매개변수의 값, start_index로 시작되는 키의 num 엔트리들로 채운다. num 는 0보다 큰 수가 되어야 하고, 그렇지 않으면 PHP 는 경고를 보여준다.

예 203. array_fill() 예제코드

<?php
$a = array_fill(5, 6, 'banana');
print_r($a);
?>

$a 는 현재 다음과 같다:

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)

str_repeat(), range() 참고.

이전 | 위로 | 다음
array_fill_keys | 처음으로 | array_filter


array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter -- 콜백함수를 사용하여 배열의 원소를 필터한다

설명

array array_filter ( array $input [, callback $function] )

array_filter()는 input 배열안의 각값에 callback 함수에 전달하는 작업을 반복한다. callback 함수가 true를 반환하면, input의 현재값이 결과 배열로 반환된다. 배열 키들은 보존된다.

예 204. array_filter() 예제코드

<?php
function odd($var) {
    return ($var % 2 == 1);
}

function even($var) {
    return ($var % 2 == 0);
}

$array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array (6, 7, 8, 9, 10, 11, 12);

echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>

위 예제코드는 다음과 같이 출력된다:

Odd :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Even:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

유저는 콜백 함수에서 배열 자체를 변경할수 없다. 즉 원소를 추가/삭제, array_filter()가 적용되는 배열을 unset시킬수없다. 배열이 변경되면 이 함수의 동작은 예상할수 없게된다.

array_map(), array_reduce(), array_walk() 참고.

이전 | 위로 | 다음
array_fill | 처음으로 | array_flip


array_flip

(PHP 4, PHP 5)

array_flip -- 배열안의 모든 키를 각 키의 연관값으로 바꾼다.

설명

array array_flip ( array $trans )

array_flip()은 뒤집힌 순서의 array를 반환한다. 즉, trans의 키는 값이 되고, trans의 값은 키가 된다.

trans의 값들은 유효한 키가 되어야 한다는 것에 주의한다. 즉, 그 값들은 integer나 string이 될 필요가 있다. 어떤 값이 잘못된 타입을 갖으면 경고메시지가 보일것이다. 그리고 결과적으로 키/값 쌍은 뒤집히지 않을것이다.

같은 값이 여러번 출현하면, 그 값의 제일 마지막 키를 사용할것이고, 나머지 모두 사라지게 될것이다.

실패하면, array_flip() 는 FALSE를 반환한다.

예 205. array_flip() 예제코드

<?php
$trans = array_flip ($trans);
$original = strtr ($str, $trans);
?>

예 206. array_flip() 예제코드 : 충돌

<?php
$trans = array ("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip ($trans);
print_r($trans);
?>

now $trans is:

Array
(
    [1] => b
    [2] => c
)

array_values(),
array_keys(),
array_reverse() 참고.

이전 | 위로 | 다음
array_filter | 처음으로 | array_intersect_assoc


array_intersect_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_intersect_assoc -- 인덱스 검사과 함께 배열의 중복을 계산한다

설명

array array_intersect_assoc ( array $array1, array $array2 [, array $ ...] )

array_intersect_assoc()는 모든 인자에 존재하는 array1의 모든 값을 포함하는 배열을 반환한다. 이 함수는 array_intersect()과 달리 비교시에 키가 사용된다는것에 주의한다.

예 207. array_intersect_assoc() 예제코드

<?php
$array1 = array ("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array ("a" => "green", "yellow", "red");
$result_array = array_intersect_assoc ($array1, $array2);

/* $result_array will look like:

Array
(
    [a] => green
)

*/
?>

위 예제에서 "a" => "green" 쌍만 두 배열 안에서 존재하고 그 값들만 반환한다는것을 확인할수 있다. "red" 값은 $array1안에서 그 키가 2이고 $array2안에서는 1이기 때문에 반환하지 않는다.

key => value 쌍의 두 값이 동치라고 볼수 있는 때는 (string) $elem1 === (string) $elem2 일때 만이다. 달리 말하면 엄격한 타입 검사는 문자열 대표성이 동일해야 한다는것이다.

See also array_intersect(),
array_diff() and
array_diff_assoc().

이전 | 위로 | 다음
array_flip | 처음으로 | array_intersect_key


array_intersect_key

(PHP 5 >= 5.1.0)

array_intersect_key -- Computes the intersection of arrays using keys for comparison

설명

array array_intersect_key ( array $array1, array $array2 [, array $ ...] )

array_intersect_key() returns an array containing all the values of array1 which have matching keys that are present in all the arguments.

매개변수

array1

The array with master keys to check.

array2

An array to compare keys against.

array

A variable list of arrays to compare.

반환값

Returns an associative array containing all the values of array1 which have matching keys that are present in all arguments.

예제

예 208. array_intersect_key() example

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_key($array1, $array2));
?>

위 예제의 출력:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

In our example you see that only the keys 'blue' and 'green' are present in both arrays and thus returned. Also notice that the values for the keys 'blue' and 'green' differ between the two arrays. A match still occurs because only the keys are checked. The values returned are those of array1.

The two keys from the key => value pairs are considered equal only if (string) $key1 === (string) $key2 . In other words a strict type check is executed so the string representation must be the same.

참고

array_diff()
array_udiff()
array_diff_assoc()
array_diff_uassoc()
array_udiff_assoc()
array_udiff_uassoc()
array_diff_key()
array_diff_ukey()
array_intersect()
array_intersect_assoc()
array_intersect_uassoc()
array_intersect_ukey()

이전 | 위로 | 다음
array_intersect_assoc | 처음으로 | array_intersect_uassoc


array_intersect_uassoc

(PHP 5)

array_intersect_uassoc -- Computes the intersection of arrays with additional index check, compares indexes by a callback function

설명

array array_intersect_uassoc ( array $array1, array $array2 [, array $ ..., callback $key_compare_func] )

array_intersect_uassoc() returns an array containing all the values of array1 that are present in all the arguments. Note that the keys are used in the comparison unlike in array_intersect().

The index comparison is done by a user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

매개변수

array1

Initial array for comparision of the arrays.

array2

First array to compare keys against.

array

Variable list of array arguments to compare values against.

key_compare_func

User supplied callback function to do the comparision.

반환값

Returns the values of array1 whose values exist in all of the arguments.

예제

예 209. array_intersect_uassoc() example

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

위 예제의 출력:

Array
(
    [b] => brown
)

참고

array_intersect()
array_intersect_assoc()
array_uintersect_assoc()
array_uintersect_uassoc()
array_intersect_key()
array_intersect_ukey()

이전 | 위로 | 다음
array_intersect_key | 처음으로 | array_intersect_ukey


array_intersect_ukey

(PHP 5 >= 5.1.0)

array_intersect_ukey -- Computes the intersection of arrays using a callback function on the keys for comparison

설명

array array_intersect_ukey ( array $array1, array $array2 [, array $..., callback $key_compare_func] )

array_intersect_ukey() returns an array containing all the values of array1 which have matching keys that are present in all the arguments.

This comparison is done by a user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first key is considered to be respectively less than, equal to, or greater than the second.

매개변수

array1

Initial array for comparision of the arrays.

array2

First array to compare keys against.

array

Variable list of array arguments to compare keys against.

key_compare_func

User supplied callback function to do the comparision.

반환값

Returns the values of array1 whose keys exist in all the arguments.

예제

예 210. array_intersect_ukey() example

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

위 예제의 출력:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

In our example you see that only the keys 'blue' and 'green' are present in both arrays and thus returned. Also notice that the values for the keys 'blue' and 'green' differ between the two arrays. A match still occurs because only the keys are checked. The values returned are those of array1.

참고

array_diff()
array_udiff()
array_diff_assoc()
array_diff_uassoc()
array_udiff_assoc()
array_udiff_uassoc()
array_diff_key()
array_diff_ukey()
array_intersect()
array_intersect_assoc()
array_intersect_uassoc()
array_intersect_key()

이전 | 위로 | 다음
array_intersect_uassoc | 처음으로 | array_intersect


array_intersect

(PHP 4 >= 4.0.1, PHP 5)

array_intersect -- 배열의 중복을 계산한다

설명

array array_intersect ( array $array1, array $array2 [, array $ ...] )

array_intersect()는 모든 인자에 존재하는 array1의 모든 값을 포함하는 배열을 반환한다. 키는 보존된다는 것에 주의할것.

예 211. array_intersect() 예제코드

<?php
$array1 = array ("a" => "green", "red", "blue");
$array2 = array ("b" => "green", "yellow", "red");
$result = array_intersect ($array1, $array2);
?>

위 예제코드는 $result가 다음 값을 갖게 한다.

Array
(
    [a] => green
    [0] => red
)

참고: 두 구성요소가 동치라고 볼수 있는 때는 (string) $elem1 === (string) $elem2 일때 만이다. In words: when the string representation is the same.

array_intersect_assoc(),
array_diff(),
array_diff_assoc() 참고.

이전 | 위로 | 다음
array_intersect_ukey | 처음으로 | array_key_exists


array_key_exists

(PHP 4 >= 4.0.7, PHP 5)

array_key_exists -- 주어진 키와 인덱스가 배열에 존재하는지 확인한다

설명

bool array_key_exists ( mixed $key, array $search )

array_key_exists() 는 주어진 key가 배열 안에서 설정되어 있으면 TRUE를 반환한다. key는 배열 인덱스로 사용할수 있는 어떤값이든 될수 있다.

예 212. array_key_exists() 예제코드

<?php
$search_array = array("first" => 1, "second" => 4);
if (array_key_exists("first", $search_array)) {
    echo "The 'first' element is in the array";
}
?>

참고: PHP 버전 4.0.6에서는 이 함수의 이름은 key_exists()이다.

isset(),
array_keys(),
in_array() 참고.

이전 | 위로 | 다음
array_intersect | 처음으로 | array_keys


array_keys

(PHP 4, PHP 5)

array_keys -- 배열의 모든 키를 반환한다

설명

array array_keys ( array $input [, mixed $ search_value ] )

array_keys()는 input 배열에서 숫자와 문자열의 키를 반환한다.

선택 인자 search_value가 지정되면, 그 값에 대한 키만 반환한다. 그렇지 않으면, input의 모든 키를 반환한다.

예 213. array_keys() 예제코드

<?php
$array = array (0 => 100, "color" => "red");
print_r(array_keys ($array));

$array = array ("blue", "red", "green", "blue", "blue");
print_r(array_keys ($array, "blue"));

$array = array ("color" => array("blue", "red", "green"),
                "size" => array("small", "medium", "large"));
print_r(array_keys ($array));
?>

위 프로그램의 결과값은 다음과 같을것이다:

Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)

array_values(), array_key_exists() 참고.

이전 | 위로 | 다음
array_key_exists | 처음으로 | array_map


array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map -- Applies the callback to the elements of the given arrays

설명

array array_map ( callback $callback, array $arr1 [, array $...] )

array_map() returns an array containing all the elements of arr1 after applying the callback function to each one. The number of parameters that the callback function accepts should match the number of arrays passed to the array_map()

매개변수

callback

Callback function to run for each element in each array.

arr1

An array to run through the callback function.

array

Variable list of array arguments to run through the callback function.

반환값

Returns an array containing all the elements of arr1 after applying the callback function to each one.

예제

예 214. array_map() example

<?php
function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

This makes $b have:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

예제

예 215. array_map() - using more arrays

<?php
function show_Spanish($n, $m)
{
    return("The number $n is called $m in Spanish");
}

function map_Spanish($n, $m)
{
    return(array($n => $m));
}

$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");

$c = array_map("show_Spanish", $a, $b);
print_r($c);

$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>

위 예제의 출력:

// printout of $c
Array
(
    [0] => The number 1 is called uno in Spanish
    [1] => The number 2 is called dos in Spanish
    [2] => The number 3 is called tres in Spanish
    [3] => The number 4 is called cuatro in Spanish
    [4] => The number 5 is called cinco in Spanish
)

// printout of $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

Usually when using two or more arrays, they should be of equal length because the callback function is applied in parallel to the corresponding elements. If the arrays are of unequal length, the shortest one will be extended with empty elements.

An interesting use of this function is to construct an array of arrays, which can be easily performed by using NULL as the name of the callback function

예 216. Creating an array of arrays

<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

위 예제의 출력:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => one
            [2] => uno
        )

    [1] => Array
        (
            [0] => 2
            [1] => two
            [2] => dos
        )

    [2] => Array
        (
            [0] => 3
            [1] => three
            [2] => tres
        )

    [3] => Array
        (
            [0] => 4
            [1] => four
            [2] => cuatro
        )

    [4] => Array
        (
            [0] => 5
            [1] => five
            [2] => cinco
        )

)

참고

array_filter()
array_reduce()
array_walk()
create_function()
callback 형에 대한 정보

이전 | 위로 | 다음
array_keys | 처음으로 | array_merge_recursive


array_merge_recursive

(PHP 4 >= 4.0.1, PHP 5)

array_merge_recursive -- 두개 이상의 배열을 재귀적으로 병합한다

설명

array array_merge_recursive ( array $array1, array $array2 [, array $...] )

array_merge_recursive()는 두개 이상의 배열 요소들을 병합하여 이전 배열의 끝에 다른 배열값들을 추가하고 이 배열을 반환한다.

입력되는 배열에 같은 문자열 키가 있으면, 이 키에 대한 값을 배열에 같이 병합시키고, 그리고 배열을 값으로 갖는 경우 다른 배열 안의 같은 이름의 배열에 그 값들을 병합할 수 있도록 이 동작을 재귀적으로 수행해 나간다. 하지만, 배열이 같은 숫자 키를 갖는다면, 뒤에 오는 값은 원래 값을 덮어쓰지 않고 추가될것이다.

예 217. array_merge_recursive() 예제코드

<?php
$ar1 = array ("color" => array ("favorite" => "red"), 5);
$ar2 = array (10, "color" => array ("favorite" => "green", "blue"));
$result = array_merge_recursive ($ar1, $ar2);
?>

The $result will be:

Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )

            [0] => blue
        )

    [0] => 5
    [1] => 10
)

array_merge() 참고.

이전 | 위로 | 다음
array_map | 처음으로 | array_merge


array_merge

(PHP 4, PHP 5)

array_merge -- 두개 이상의 배열을 병합한다

설명

array array_merge ( array $array1, array $array2 [, array $...] )

array_merge()는 두개이상의 배열의 요소들을 병합하고 앞의 배열의 끝에 배열값들을 추가한다. 그 결과 배열을 반환한다.

입력되는 배열이 같은 문자열 키를 갖는다면, 그 키에 대해서 나중에 온 값이 이전에 오는 키에 대한 값을 덮어쓸것이다. 하지만, 그 배열이 숫자 키를 포함하면, 나중 값은 원래 값을 덮어쓰지 않고, 뒤에 추가될것이다. appended.

예 218. array_merge() 예제코드

<?php
$array1 = array ("color" => "red", 2, 4);
$array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge ($array1, $array2);
print_r($result);
?>

$result 는:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)

예 219. 단순한 array_merge() 예제코드

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>

숫자 키는 다른 숫자로 재부여된다는것을 잊지 말것!

Array
(
    [0] => data
)

배열을 온전히 보존하기를 원하고 그들 배열에 서로를 추가하고자 한다면, + 연산자를 사용한다:

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = $array1 + $array2;
?>

숫자 키는 보존될것이고 따라서 그 조합이 남겨진다.

Array
(
    [1] => data
)

참고: 먼저 온사람이 먼저 대접받는다(first-come first-served) 기반에서 공유 키들이 덮어쓰여질것이다.

array_merge_recursive(), array_combine() 참고.

이전 | 위로 | 다음
array_merge_recursive | 처음으로 | array_multisort


array_multisort

(PHP 4, PHP 5)

array_multisort -- 여러개의 배열 또는 다차원 배열을 정렬한다

설명

bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $...]]] )

array_multisort()는 한번에 여러개의 배열을 정렬하거나 다차원 배열은 내부에 포함되는 각 차원 중 한가지 배열을 정렬하는데 사용될수 있다. 정렬시에 키 조합은 유지된다.

입력되는 배열은 행(rows)에 의해 정렬되도록 테이블의 열(column)로 취급된다 - SQL ORDER BY 절의 기능과 비슷하다. 첫번째 배열은 정렬을 위한 기본(primary) 배열이다. 같은 배열과 배교되는 그 배열의 행(rows)(값)은 다음에 입력되는 배열들에 의해 정렬된다.

이 함수의 매개변수 구조는 약간 독특하면서도 유연하다. 제일 처음에 오는 매개변수는 배열이어야 하며, 다음에 오는 각각의 매개변수는 배열일수도 있고 다음 리스트의 정렬 플래그도 될수 있다.

정렬 방법 플래그:

  • SORT_ASC - 오름차순으로 정렬
  • SORT_DESC - 내림차순으로 정렬

정렬 형태 플래그:

  • SORT_REGULAR - 통상적으로 아이템을 비교
  • SORT_NUMERIC - 수치로서 아이템을 정렬
  • SORT_STRING - 문자열로서 아이템을 정렬

각 배열 뒤에 같은 타입의 두가지 정렬 플래그를 모두 지정할 수 없다. 하나의 배열 매개변수 뒤에 지정되는 정렬 플래그는 오직 그 배열에만 적용된다 - 이는 새로운 배열 매개변수가 오기 전에 기본값인 SORT_ASC 와 SORT_REGULAR 로 리셋된다.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예 220. 여러 배열 정렬

<?php
$ar1 = array ("10", 100, 100, "a");
$ar2 = array (1, 3, "2", 1);
array_multisort ($ar1, $ar2);
?>

위 예제코드에서, 정렬후에는, 첫번째 배열은 10, "a", 100, 100을 포함할 것이다. 두번째 배열은 1, 1, "2", 3을 포함할 것이다. 첫번째 배열의 동일한 엔트리 (100과 100)와 대응되는 두번째의 엔트리도 정렬될것이다.

예 221. 다차원 배열 정렬

<?php
$ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
array_multisort ($ar[0], SORT_ASC, SORT_STRING,
                 $ar[1], SORT_NUMERIC, SORT_DESC);
?>

위 예제코드에서, 정렬후에는, 첫번째 배열은 10, 100, 100, "a"를 포함 (오름차순으로 문자열을 정렬)하고, 두번째 배열은 1, 3, "2", 1 (내림차순으로 숫자로 정렬)을 포함할 것이다.

이전 | 위로 | 다음
array_merge | 처음으로 | array_pad


array_pad

(PHP 4, PHP 5)

array_pad -- 설정된 길이만큼 특정 값으로 배열을 채운다

설명

array array_pad ( array $input, int $pad_size, mixed $pad_value )

array_pad()는 pad_value 값을 pad_size 로 설정된 길이만큼을 채워넣은 input의 복사본을 반환한다. pad_size가 양수이면 배열의 오른쪽에 채워지고, 음수이면 왼쪽에 채워지게 된다. pad_size의 절대값이 input의 길이보다 작거나 같으면 패딩(padding)은 일어나지 않는다.

예 222. array_pad() 예제코드

<?php
$input = array (12, 10, 9);

$result = array_pad ($input, 5, 0);
// result is array (12, 10, 9, 0, 0)

$result = array_pad ($input, -7, -1);
// result is array (-1, -1, -1, -1, 12, 10, 9)

$result = array_pad ($input, 2, "noop");
// not padded
?>

array_fill(), range() 참고.

이전 | 위로 | 다음
array_multisort | 처음으로 | array_pop


array_pop

(PHP 4, PHP 5)

array_pop -- 배열 끝의 요소를 뽑아낸다

설명

mixed array_pop ( array $array )

array_pop()은 array의 마지막값을 뽑아 내고 그 값을 반환하며, array의 길이를 원소 하나 만큼 줄인다. array가 비어있으면 (또는 배열이 아니면) NULL을 반환한다.

참고: 이 함수는 사용 후에 array 포인터를 reset()합니다.

예 223. array_pop() 예제코드

<?php
$stack = array ("orange", "banana", "apple", "raspberry");
$fruit = array_pop ($stack);
print_r($stack);
?>

이 코드 수행후, $stack은 3개의 원소를 갖게될것이다:

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
)

그리고 raspberry는 $fruit값이 된다.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

array_push(),
array_shift(),
array_unshift() 참고.

이전 | 위로 | 다음
array_pad | 처음으로 | array_product


array_push

(PHP 4, PHP 5)

array_push -- 배열의 끝에 하나 이상의 원소를 넣는다.

설명

int array_push ( array $array, mixed $var [, mixed $...] )

array_push()는 array를 스택으로 취급하고, array 끝에 전달되어진 변수를 집어 넣는다. array의 길이는 집어넣은 변수의 수만큼 증가한다. 다음과 같은 효과를 갖는다: <?php
$array[] = $var;
?> 각 var에 대해 반복된다.

배열에 새로 추가된 원소의 수를 반환한다.

예 225. array_push() 예제코드

<?php
$stack = array ("orange", "banana");
array_push ($stack, "apple", "raspberry");
print_r($stack);
?>

위 예제코드는 다음 원소를 갖는 $stack의 결과가 될것이다:

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)

array_pop(),
array_shift(),
array_unshift() 참고.

이전 | 위로 | 다음
array_product | 처음으로 | array_rand


array_rand

(PHP 4, PHP 5)

array_rand -- 배열안에서 하나 이상의 임의 원소를 뽑아낸다

설명

mixed array_rand ( array $input [, int $num_req] )

array_rand()은 배열안에서 하나이상의 임의 원소를 꺼내 올때 가장 유용하다. input 배열과 꺼내고 싶은 원소 수를 설정하는 num_req 선택 인자를 취한다. 이 선택인자가 설정되지 않으면 기본값 1이 된다.

오직 한개의 원소만 꺼낼때에는 array_rand()는 임의 원소의 키를 반환하며, 여러 원소를 꺼낼때에는 임의 원소들의 키에 대한 배열을 반환한다. 이 함수는 배열에서 임의 키는 물론 값들을 꺼낼수 있다.

참고: PHP 4.2.0부터 srand()나 mt_srand()를 이용한 난수값 생성기 초기화를 할 필요가 없습니다. 자동적으로 이루어집니다.

예 226. array_rand() 예제코드

<?php
srand ((float) microtime() * 10000000);
$input = array ("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand ($input, 2);
print $input[$rand_keys[0]]."\n";
print $input[$rand_keys[1]]."\n";
?>

shuffle 참고().

이전 | 위로 | 다음
array_push | 처음으로 | array_reduce


array_reduce

(PHP 4 >= 4.0.5, PHP 5)

array_reduce -- 콜백 함수를 사용하여 배열을 반복적으로 단일 값으로 축소시킨다

설명

mixed array_reduce ( array $input, callback $function [, int $initial] )

array_reduce()는 input 배열의 원소들에게 function 함수를 반복적으로 적용하여, 그 배열을 단일 값으로 축소시킨다. 선택적인 initial가 설정되면, 처리의 시작부분에서 그 값이 사용되거나, 배열이 비어있는경우에 최종 결과값으로 사용될것이다.

예 227. array_reduce() 예제코드

<?php
function rsum($v, $w) {
    $v += $w;
    return $v;
}

function rmul($v, $w) {
    $v *= $w;
    return $v;
}

$a = array(1, 2, 3, 4, 5);
$x = array();
$b = array_reduce($a, "rsum");
$c = array_reduce($a, "rmul", 10);
$d = array_reduce($x, "rsum", 1);
?>

위 코드는 $b가 15를 포함하고, $c는 1200 (= 1*2*3*4*5*10)을 포함하고, $d는 1을 포함하게 한다.

array_filter(),
array_map(),
array_unique(),
array_count_values() 참고.

이전 | 위로 | 다음
array_rand | 처음으로 | array_reverse


array_reverse

(PHP 4, PHP 5)

array_reverse -- 배열 원소를 역순으로 반환한다

설명

array array_reverse ( array $array [, bool $preserve_keys] )

array_reverse()는 array를 취해서 역순의 원소를 갖는 새로운 배열을 반환하고, preserve_keys가 TRUE이면 키를 보존한다.

예 228. array_reverse() 예제코드

<?php
$input  = array ("php", 4.0, array ("green", "red"));
$result = array_reverse ($input);
$result_keyed = array_reverse ($input, TRUE);
?>

이 함수는 같은 원소들을 갖는 $result와 $result_keyed 를 만들지만,두 배열의 키가 차이가 있다는것에 주의한다. $result와 $result_keyed의 결과는 다음과 같을것이다:

Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)

참고: PHP 4.0.3에서 두번째 매개변수가 추가되었슴.

array_flip() 참고.

이전 | 위로 | 다음
array_reduce | 처음으로 | array_search


array_search

(PHP 4 >= 4.0.5, PHP 5)

array_search -- 배열에서 주어진 값을 검색하고 성공하면 해당 키를 반환한다

설명

mixed array_search ( mixed $needle, array $haystack [, bool $strict] )

haystack에서 needle을 검색하고 배열에서 그 값이 발견되면 그 키를 반환하고, 그렇지 않으면 FALSE를 반환한다.

참고: PHP 4.2.0 이전에서는, array_search()는 실패시 FALSE 대신 NULL을 반환한다.

선택적인 세번째 매개변수인 strict가 TRUE로 설정되면 array_search()는 haystack에서 needle의 타입도 함께 검사할것이다.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

array_keys(),
array_values(),
array_key_exists(),
in_array() 참고.

이전 | 위로 | 다음
array_reverse | 처음으로 | array_shift


array_shift

(PHP 4, PHP 5)

array_shift -- 배열의 맨 앞에 있는 원소를 옆으로 이동시킨다

설명

mixed array_shift ( array $array )

array_shift()는 array의 첫번째 값을 이동시키고 그 값을 반환하고, array를 한 원소만큼 줄이고 모든 원소를 아래로 이동시킨다. 모든 숫자 배열 키는 리터럴 키가 접근되지 않은 동안 영(0)부터 카운트하기 위해 변경된다. array가 비어있으면(또는 배열이 아니면), NULL을 반환한다.

참고: 이 함수는 사용 후에 array 포인터를 reset()합니다.

예 229. array_shift() 예제코드

<?php
$stack = array ("orange", "banana", "apple", "raspberry");
$fruit = array_shift ($stack);
print_r($stack);
?>

위 코드는 3개의 원소가 남겨진 $stack을 만들것이다:

Array
(
    [0] => banana
    [1] => apple
    [2] => raspberry
)

그리고 orange가 $fruit에 지정될것이다.

array_unshift(),
array_push(),
array_pop() 참고.

이전 | 위로 | 다음
array_search | 처음으로 | array_slice


array_slice

(PHP 4, PHP 5)

array_slice -- 배열의 일부를 추출한다

설명

array array_slice ( array $array, int $offset [, int $ length ] )

array_slice()는 offset 과 length 매개변수에 따라 array로부터 일련의 배열 원소를 반환한다.

offset이 양수이면, 일련의 값은 array의 그 offset 수부터 시작할것이다. offset이 음수이면, 일련의 값은 array의 끝에서부터 그 수만큼 떨어진 곳에서부터 시작한다.

length가 주어지고 양수이면, 일련의 값은 그 수만큼의 배열 원소가 될것이다. length가 주어지고 음수이면, 배열의 끝에서부터 그 수만큼의 배열원소가 될것이다. 이 매개변수가 생략되면, 일련의 값은 offset에서부터 array 끝까지의 모든 원소를 가지게 된다.

array_slice()는 배열 키를 무시하고, 배열내 원소의 실질적인 위치에 따라 옵셋과 길이를 계산한다는것에 주의한다.

예 230. array_slice() 예제코드

<?php
$input = array ("a", "b", "c", "d", "e");

$output = array_slice ($input, 2);      // returns "c", "d", and "e"
$output = array_slice ($input, 2, -1);  // returns "c", "d"
$output = array_slice ($input, -2, 1);  // returns "d"
$output = array_slice ($input, 0, 3);   // returns "a", "b", and "c"
?>

array_splice(), unset() 참고.

이전 | 위로 | 다음
array_shift | 처음으로 | array_splice


array_splice

(PHP 4, PHP 5)

array_splice -- 배열의 일부를 삭제하고, 그 위치에 다른 내용을 대체한다

설명

array array_splice ( array $input, int $offset [, int $length [, array $ replacement ]] )

array_splice()는 input 배열로부터 offset 과 length 에 정해진대로 배열원소를 제거하고, 매개변수가 주어진다면 replacement 배열의 배열원소로 그부분을 대체한다. 그리고 확장된 배열원소를 포함하는 배열을 반환한다.

offset이 양수이면 삭제될 부분의 시작은 input 배열의 시작에서부터의 offset에서 시작된다. offset이 음수이면 input 배열의 끝에서부터의 옵셋 수에서 시작된다.

length가 생략되면, offset에서 배열의 끝까지의 모든 원소를 삭제된다. length가 주어지고 양수이면, 그 수만큼의 원소가 삭제될것이다. length가 주어지고 음수이면, 삭제되는 부분의 끝은 배열의 끝에서부터 그 수만큼의 원소가 될것이다. 팁: replacement가 주어져있고 offset에서 배열 끝까지의 모든 원소를 삭제하려면 length 매개변수에 count($input)을 사용하도록 한다.

replacement 배열이 주어지면, 제거된 원소들은 이 배열의 원소들로 대체된다. offset과 length가 아무것도 삭제되지 않도록 주어지면, replacement 배열의 원소들을 offset에 의해 설정된 위치에 끼워넣는다. 팁: 한개의 원소만 대체되는 경우이고 그 원소가 배열자체가 아니라면 array()를 넣을 필요는 없다.

다음은 동일한 결과를 낸다:

표 19. array_splice() 동치

array_push($input, $x, $y) | array_splice($input, count($input), 0, array($x, $y))
array_pop($input) | array_splice($input, -1)
array_shift($input) | array_splice($input, -1)
array_unshift($input, $x, $y) | array_splice($input, 0, 0, array($x, $y))
$a[$x] = $y | array_splice($input, $x, 1, $y)

제거된 원소로 구성된 배열을 반환한다.

예 231. array_splice() 예제코드

<?php
$input = array ("red", "green", "blue", "yellow");
array_splice ($input, 2);
// $input is now array ("red", "green")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, 1, -1);
// $input is now array ("red", "yellow")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, 1, count($input), "orange");
// $input is now array ("red", "orange")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, -1, 1, array("black", "maroon"));
// $input is now array ("red", "green",
//          "blue", "black", "maroon")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, 3, 0, "purple");
// $input is now array ("red", "green",
//          "blue", "purple", "yellow");
?>

array_slice(),
unset(),
array_merge() 참고.

이전 | 위로 | 다음
array_slice | 처음으로 | array_sum


array_sum

(PHP 4 >= 4.0.4, PHP 5)

array_sum -- 배열내의 값들의 합을 계산한다

설명

mixed array_sum ( array $array )

array_sum()은 배열안의 값들의 합을 정수나 부동소수점수로 반환한다.

예 232. array_sum() 예제코드

<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = ".array_sum($a)."\n";

$b = array("a"=>1.2,"b"=>2.3,"c"=>3.4);
echo "sum(b) = ".array_sum($b)."\n";
?>

위 프로그램의 결과는 다음과 같다:

sum(a) = 20
sum(b) = 6.9

참고: PHP 4.2.1 이전 버전에서는 전달되는 배열자체를 변경해버려서 문자열을 숫자로 변경했었다 (그값에 따라 대부분 0으로 변환된다).

이전 | 위로 | 다음
array_splice | 처음으로 | array_udiff_assoc


array_udiff_assoc

(PHP 5)

array_udiff_assoc -- Computes the difference of arrays with additional index check, compares data by a callback function

Description

array array_udiff_assoc ( array $array1, array $array2 [, array $ ..., callback $data_compare_func] )

array_udiff_assoc() returns an array containing all the values from array1 that are not present in any of the other arguments. Note that the keys are used in the comparison unlike array_diff() and array_udiff(). The comparison of arrays' data is performed by using an user-supplied callback. In this aspect the behaviour is opposite to the behaviour of array_diff_assoc() which uses internal function for comparison.

예 233. array_udiff_assoc() example

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }
}

$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

위 예제의 출력:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

In our example above you see the "1" => new cr(4) pair is present in both arrays and thus it is not in the ouput from the function.

For comparison is used the user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

참고: Please note that this function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using, for example, array_udiff_assoc($array1[0], $array2[0], "some_comparison_func");.

See also
array_diff(),
array_diff_assoc(),
array_diff_uassoc(),
array_udiff(),
array_udiff_uassoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() and
array_uintersect_uassoc().

이전 | 위로 | 다음
array_sum | 처음으로 | array_udiff_uassoc


array_udiff_uassoc

(PHP 5)

array_udiff_uassoc -- Computes the difference of arrays with additional index check, compares data and indexes by a callback function

Description

array array_udiff_uassoc ( array $array1, array $array2 [, array $ ..., callback $data_compare_func, callback $key_compare_func] )

array_udiff_uassoc() returns an array containing all the values from array1 that are not present in any of the other arguments. Note that the keys are used in the comparison unlike array_diff() and array_udiff(). The comparison of arrays' data is performed by using an user-supplied callback : data_compare_func. In this aspect the behaviour is opposite to the behaviour of array_diff_assoc() which uses internal function for comparison. The comparison of keys (indices) is done also by the callback function key_compare_func. This behaviour is unlike what array_udiff_assoc() does, since the latter compares the indices by using an internal function.

예 234. array_udiff_uassoc() example

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }

    function comp_func_key($a, $b)
    {
        if ($a === $b) return 0;
        return ($a > $b)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($result);
?>

위 예제의 출력:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

In our example above you see the "1" => new cr(4) pair is present in both arrays and thus it is not in the ouput from the function. Keep in mind that you have to supply 2 callback functions.

For comparison is used the user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

참고: Please note that this function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using, for example, array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func");.

See also
array_diff(),
array_diff_assoc(),
array_diff_uassoc(),
array_udiff(),
array_udiff_assoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() and
array_uintersect_uassoc().

이전 | 위로 | 다음
array_udiff_assoc | 처음으로 | array_udiff


array_udiff

(PHP 5)

array_udiff -- Computes the difference of arrays by using a callback function for data comparison

Description

array array_udiff ( array $array1, array $array2 [, array $ ..., callback $data_compare_func] )

array_udiff() returns an array containing all the values of array1 that are not present in any of the other arguments. Note that keys are preserved. For the comparison of the data data_compare_func is used. It must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second. This is unlike array_diff() which uses an internal function for comparing the data.

예 235. array_udiff() example

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

위 예제의 출력:

Array
(
    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )

)

참고: Please note that this function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using array_udiff($array1[0], $array2[0], "data_compare_func");.

See also
array_diff(),
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() and
array_uintersect_uassoc().

이전 | 위로 | 다음
array_udiff_uassoc | 처음으로 | array_uintersect_assoc


array_uintersect_assoc

(PHP 5)

array_uintersect_assoc -- Computes the intersection of arrays with additional index check, compares data by a callback function

Description

array array_uintersect_assoc ( array $array1, array $array2 [, array $ ..., callback $data_compare_func] )

array_uintersect_assoc() returns an array containing all the values of array1 that are present in all the arguments. Note that the keys are used in the comparison unlike in array_uintersect(). The data is compared by using a callback function.

예 236. array_uintersect_assoc() example

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

위 예제의 출력:

Array
(
    [a] => green
)

For comparison is used the user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

See also array_uintersect(),
array_intersect_assoc(),
array_intersect_uassoc() and
array_uintersect_uassoc().

이전 | 위로 | 다음
array_udiff | 처음으로 | array_uintersect_uassoc


array_uintersect_uassoc

(PHP 5)

array_uintersect_uassoc -- Computes the intersection of arrays with additional index check, compares data and indexes by a callback functions

Description

array array_uintersect_uassoc ( array $array1, array $array2 [, array $ ..., callback $data_compare_func, callback $key_compare_func] )

array_uintersect_uassoc() returns an array containing all the values of array1 that are present in all the arguments. Note that the keys are used in the comparison unlike in array_uintersect(). Both the data and the indexes are compared by using separate callback functions.

예 237. array_uintersect_uassoc() example

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>

위 예제의 출력:

Array
(
    [a] => green
    [b] => brown
)

For comparison is used the user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

See also array_uintersect(),
array_intersect_assoc(),
array_intersect_uassoc() and
array_uintersect_assoc().

이전 | 위로 | 다음
array_uintersect_assoc | 처음으로 | array_uintersect


array_uintersect

(PHP 5)

array_uintersect -- Computes the intersection of arrays, compares data by a callback function

Description

array array_uintersect ( array $array1, array $array2 [, array $ ..., callback $data_compare_func] )

array_uintersect() returns an array containing all the values of array1 that are present in all the arguments. The data is compared by using a callback function.

예 238. array_uintersect() example

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>

위 예제의 출력:

Array
(
    [a] => green
    [b] => brown
    [0] => red
)

For comparison is used the user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

See also array_intersect(),
array_uintersect_assoc(),
array_intersect_uassoc() and
array_uintersect_uassoc().

이전 | 위로 | 다음
array_uintersect_uassoc | 처음으로 | array_unique


array_unique

(PHP 4 >= 4.0.1, PHP 5)

array_unique -- 배열에서 중복된 값을 제거한다

설명

array array_unique ( array $array )

array_unique()는 입력 array를 취해서 중복값이 없는 새로운 배열을 반환한다.

키는 보존된다는 것에 유의한다. array_unique()는 우선 문자열로 취급되는 값들을 정렬하고, 모든 값중 첫번째로 만나는 키를 보유하게 될것이고, 다음의 모든 키들은 무시될것이다. 이 말의 의미는 정렬되지 않은 array 의 첫번째 관련 값의 키가 유지된다는 것이 아니다.

참고: 두 구성요소가 동치라고 볼수 있는 때는 (string) $elem1 === (string) $elem2 일때 만이다. In words: when the string representation is the same.

첫번째 원소가 사용될것이다.

예 239. array_unique() 예제코드

<?php
$input = array ("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique ($input);
print_r($result);
?>

위 코드의 결과는 다음과 같다:

Array
(
    [a] => green
    [0] => red
    [1] => blue
)

예 240. array_unique() 과 타입

<?php
$input = array (4,"4","3",4,3,"3");
$result = array_unique ($input);
var_dump($result);
?>

위 스크립트의 결과는 다음과 같다:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

이전 | 위로 | 다음
array_uintersect | 처음으로 | array_unshift


array_unshift

(PHP 4, PHP 5)

array_unshift -- 배열의 맨 앞에 하나 이상의 원소를 첨가한다

설명

int array_unshift ( array $array, mixed $var [, mixed $ ... ] )

array_unshift()는 전달된 원소들을 array의 앞에 첨가한다. 원소 목록이 모두 첨가되면, 첨가된 원소들은 같은 순서로 남아있게 된다는 것에 유의한다. 모든 숫자 배열 키들은 리터럴 키들이 건드러지지 않는 동안에는 제로부터 카운트를 시작할수 있도록 변경될것이다.

array안의 새로운 원소의 수를 반환한다.

예 241. array_unshift() 예제코드

<?php
$queue = array ("orange", "banana");
array_unshift ($queue, "apple", "raspberry");
?>

위 코드는 다음 원소를 갖는 $queue 결과를 갖는다:

Array
(
    [0] => apple
    [1] => raspberry
    [2] => orange
    [3] => banana
)

array_shift(),
array_push(),
array_pop() 참고.

이전 | 위로 | 다음
array_unique | 처음으로 | array_values


array_values

(PHP 4, PHP 5)

array_values -- 배열의 모든 값들을 반환한다

설명

array array_values ( array $input )

array_values()는 input 배열에서 모든 값들과 숫자로된 인덱스의 배열을 반환한다.

예 242. array_values() 예제코드

<?php
$array = array ("size" => "XL", "color" => "gold");
print_r(array_values ($array));
?>

이 코드의 결과는 다음과 같다:

Array
(
    [0] => XL
    [1] => gold
)

array_keys() 참고.

이전 | 위로 | 다음
array_unshift | 처음으로 | array_walk_recursive


array_walk_recursive

(PHP 5)

array_walk_recursive -- Apply a user function recursively to every member of an array

Description

bool array_walk_recursive ( array &$input, callback $funcname [, mixed $userdata] )

Applies the user-defined function funcname to each element of the input array. This function will recur into deeper arrays. Typically, funcname takes on two parameters. The input parameter's value being the first, and the key/index second. If the optional userdata parameter is supplied, it will be passed as the third parameter to the callback funcname.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고: If funcname needs to be working with the actual values of the array, specify the first parameter of funcname as a reference. Then, any changes made to those elements will be made in the original array itself.

예 243. array_walk_recursive() example

<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');

function test_print($item, $key)
{
    echo "$key holds $item\n";
}

array_walk_recursive($fruits, 'test_print');
?>

위 예제의 출력:

a holds apple
b holds banana
sour holds lemon

You may notice that the key 'sweet' is never displayed. Any key that holds an array will not be passed to the function.

See also array_walk(), and callback 형에 대한 정보.

이전 | 위로 | 다음
array_values | 처음으로 | array_walk


array_walk

(PHP 4, PHP 5)

array_walk -- 배열의 개개의 원소에 대해서 특정 함수를 적용하여 수행한다

설명

bool array_walk ( array $array, callback $function [, mixed $userdata] )

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

array 배열의 각 원소에 사용자 정의 함수 function을 적용한다. 표준적으로 function는 두개의 매개변수를 갖는다. array 매개변수의 값이 첫번째가 되고, key/index가 두번째가 된다. 선택적인 userdata 매개변수가 적용되면, 콜백 function에 세번째 매개변수가 전달될것이다.

함수 function이 주어진 것보다 더 많은 매개변수를 요구하면 array_walk()가 function을 호출할때마다 E_WARNING 레벨의 에러를 발생한다. 이런 경고는 array_walk()에 @ 기호를 덧붙이거나, error_reporting()을 사용함으로써 은폐시킬 수 있다.

참고: function은 배열의 실제 값들과 동작할 필요가 있다면, function의 첫번째 매개변수에 reference를 설정한다. 그러면 원래 배열 자체에 그 원소들을 변경할수 있다.

참고: function에 key와 userdata를 전달하는 기능이 4.0.0에서 추가되었다.

array_walk()는 array의 내부적인 배열 포인터에 의해 영향을 받지 않는다. array_walk()는 포인터 위치에 상관없이 전체 배열를 가로지를것이다. 포인터를 초기화(reset)시키려면, reset()을 사용하도록 한다. PHP 3에서 array_walk()는 포인터를 초기화시킨다.

유저가 콜백 함수에서 배열자체를 변경하지 않는다. 즉, 원소를 추가/삭제, 원소를 unset 하는등. array_walk()에 적용된 배열이 변경되면, 이 함수의 동작은 정의되지 않고, 원하는대로 되지 않는다.

예 244. array_walk() 예제코드

<?php
$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

function test_alter (&$item1, $key, $prefix) {
    $item1 = "$prefix: $item1";
}

function test_print ($item2, $key) {
    echo "$key. $item2<br>\n";
}

echo "Before ...:\n";
array_walk ($fruits, 'test_print');

array_walk ($fruits, 'test_alter', 'fruit');
echo "... and after:\n";

array_walk ($fruits, 'test_print');
?>

위 프로그램의 출력정보는 다음과 같다:

Before ...:
d. lemon
a. orange
b. banana
c. apple
... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple

list(), foreach, each(), call_user_func_array() 참고.

이전 | 위로 | 다음
array_walk_recursive | 처음으로 | array


array

(PHP 4, PHP 5)

array -- 배열을 생성한다

설명

array array ( [mixed $...] )

매개변수의 배열을 반환한다. 매개변수는 => 연산자를 통해 인덱스가 주어질수 있다. 배열이 무엇인지에 대한 더 자세한 정보는 배열 타입에 관한 섹션을 참고한다.

참고: array()는 리터럴 배열을 표현하기 위해 사용되는 언어 구조이지, 일반적인 함수가 아니다.

"index => values" 구문은 콤마(,)로 구분되고, 인덱스와 값을 정의한다. 인덱스는 문자열이나 숫자형이 될수 있다. 인덱스가 생략되면, 0부터 시작되는 정수 인덱스가 자동적으로 생성된다. 인덱스가 정수이면, 다음에 생성되는 인덱스는 더 큰 정수 index + 1 이 될것이다. 두개의 동일한 인덱스가 생성되었을 경우, 마지막 값이 처음 값을 덮어쓰게 된다는 것에 주의한다.

다음 예제 코드는 2차원 배열을 생성하는 방법, 연관배열에 대한 키를 설정하는 방법, 일반적인 배열의 숫자 인덱스를 건너뛰는 방법을 보여준다.

예 245. array() 예제코드

<?php
$fruits = array (
    "fruits"  => array ("a"=>"orange", "b"=>"banana", "c"=>"apple"),
    "numbers" => array (1, 2, 3, 4, 5, 6),
    "holes"   => array ("first", 5 => "second", "third")
)
?>

예 246. array()의 자동적인 인덱스

<?php
$array = array( 1, 1, 1, 1,  1, 8=>1,  4=>1, 19, 3=>13);
print_r($array);
?>

다음을 보여준다:

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 13
    [4] => 1
    [8] => 1
    [9] => 19
)

인덱스 '3'이 두번 정의되었고, 마지막 값인 13이 유지된다는 것에 유의한다. 인덱스 4는 인덱스 8 이후에 정의되었고, 더 큰 인덱스가 8이기 때문에, 다음에 생성된 인덱스( 값 19)는 9가 된다.

This example creates a 1-based array. 이 예제코드는 1-베이스 배열을 생성한다.

예 247. array()의 1-베이스 인덱스

<?php
$firstquarter  = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>

다음을 보여준다:

Array
(
    [1] => January
    [2] => February
    [3] => March
)

array_pad(), list(), foreach, range() 참고.

이전 | 위로 | 다음
array_walk | 처음으로 | arsort


arsort

(PHP 4, PHP 5)

arsort -- 배열을 내림차순 정렬하고 인덱스의 상관관계를 유지한다.

설명

void arsort ( array $array [, int $sort_flags] )

이 함수는 배열 인덱스가 그 배열의 원소와 상관관계를 유지할수 있도록 배열을 정렬한다. 이 함수는 주로 실제 원소의 정렬이 중요한 연관 배열을 정렬할 때 이용한다.

예 248. arsort() 예제코드

<?php
$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
arsort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
    echo "$key = $val\n";
}
?>

이 예제코드는 다음을 출력할것이다:

a = orange
d = lemon
b = banana
c = apple

fruits는 알파벳 내림 차순으로 정렬되었고, 각 원소와 연관된 인덱스가 유지되었다.

선택적인 매개변수 sort_flags를 사용하여 정렬 동작을 변경할 수 있다. 더 자세한 것은 sort()를 참고.

asort(), rsort(), ksort(), sort() 참고.

이전 | 위로 | 다음
array | 처음으로 | asort


asort

(PHP 4, PHP 5)

asort -- 배열을 정렬하고 인덱스 상관 관계를 유지한다

설명

void asort ( array $array [, int $sort_flags] )

이 함수는 배열의 인덱스가 그 배열의 원소와 상관관계를 유지할수 있도록 배열을 정렬한다. 이 함수는 주로 실제 원소의 정렬이 중요한 연관 배열을 정렬할 경우 사용된다.

예 249. asort() 예제코드

<?php
$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
asort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
    echo "$key = $val\n";
}
?>

이 예제코드는 다음을 보여준다:

c = apple
b = banana
d = lemon
a = orange

fruits는 알파벳 순으로 정렬하고, 각 원소와 연관된 인덱스가 유지된다.

선택적인 매개변수 sort_flags 를 사용하여 정렬 방식을 변경할수 있다. 더 자세한 것은 sort()를 참고.

arsort(), rsort(), ksort(), sort() 참고.

이전 | 위로 | 다음
arsort | 처음으로 | compact


compact

(PHP 4, PHP 5)

compact -- 여러 변수들과 값을 갖는 배열을 생성한다

설명

array compact ( mixed $varname [, mixed $...] )

compact()는 가변적인 수의 매개변수를 갖는다. 각 매개변수는 변수명을 포함하는 문자열이거나, 변수명의 배열이 될수 있다. 그 배열은 그 안쪽에 다른 변수명의 배열을 포함할수 있다; compact()는 재귀적으로 제어된다.

이들 각각에 대해, compact() 는 현재 심볼 테이블에서 그 이름을 갖는 변수를 찾고, 그 변수명이 키가 되고 변수의 내용은 그 키에 대한 값이 될수 있도록 출력 배열에 추가한다. 짧게 말해서, 이 함수는 extract()과 반대이다. 이 함수는 그 배열에 추가된 모든 변수들을 갖는 출력 배열을 반환한다.

지정되지 않은 모든 문자열은 단순히 무시된다.

예 250. compact() 예제코드

<?php
$city = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";

$location_vars = array ("city", "state");

$result = compact ("event", "nothing_here", $location_vars);
?>

이 코드 수행후, $result 는 다음과 같이 된다:

Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)

extract() 참고.

이전 | 위로 | 다음
asort | 처음으로 | count


count

(PHP 4, PHP 5)

count -- 배열의 원소수, 객체의 프로퍼티수를 셉니다

설명

int count ( mixed $var [, int $mode] )

일반적으로 array형에 들어있는 원소수를 반환합니다. 다른 형은 (하나의 원소만 가지기 때문입니다)

객체는 SPL을 설치했다면, Countable 인터페이스를 가질 경우에 count()를 사용할 수 있습니다. 이 인터페이스는 정확히 하나의 메쏘드 count()을 가지며, count() 함수의 반환값을 반환합니다.

var가 배열이나 Countable 인터페이스를 가진 객체가 아니라면, 1을 반환합니다. 한가지 예외는, var가 NULL일 경우에 0을 반환합니다.

참고: 선택적인 mode 매개변수는 PHP 4.2.0부터 사용할 수 있습니다.

선택적인 mode 매개변수를 COUNT_RECURSIVE(또는 1)로 설정하면, count()는 재귀적으로 배열을 셉니다. 이 매개변수는 다차원 배열의 모든 원소를 셀때 특히 유용합니다. mode의 기본값은 0입니다. count()는 무한 재귀를 감지하지 못합니다.

경고

count()는 설정하지 않은 변수에 대하여 0을 반환하지만, 빈 배열에 대해서도 0을 반환합니다. 변수를 설정했는지 여부는 isset()을 사용하시오.

PHP에서 배열이 어떻게 구현되고 어떻게 사용되는지에 대한 자세한 설명을 보기 위해서는 배열 섹션을 참고하십시오.

예 251. count() 예제

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count ($a);
// $result == 3

$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result = count ($b);
// $result == 3;

$result = count(null);
// $result == 0

$result = count(false);
// $result == 1
?>

예 252. 재귀적인 count() 예제 (PHP >= 4.2.0)

<?php
$food = array( 'fruits'  => array('orange', 'banana', 'apple'),
               'veggie'  => array('carrot', 'collard','pea'));

// 재귀 count
echo count($food,COUNT_RECURSIVE);  // 8 출력

// 보통 count
echo count($food);                  // 2 출력

?>

참고: is_array(),
isset(),
strlen().

이전 | 위로 | 다음
compact | 처음으로 | current


current

(PHP 4, PHP 5)

current -- 배열의 현재 원소를 반환한다

설명

mixed current ( array $array )

모든 배열은 "현재" 원소를 가리키는 내부 포인터를 갖는데, 이 내부 포인터는 배열에 삽입되어진 첫번째 원소로 초기화된다.

current() 함수는 단순히 현재 내부 포인터에서 가리키고 있는 배열 원소의 값을 반환한다. 어떤 방법으로든 그 포인터를 움직이지 않는다. 내부 포인터가 원소 목록의 끝에서 벗어난 곳을 가리키면, current()는 FALSE를 반환한다.

주의

배열이 빈 원소를 포함하면(0 이나 "", 빈 문자열) 이 함수는 이 원소들에 대해서도 FALSE를 반환한다. current()를 사용하여 그 배열 안의 목록 끝인지 확인할수 없게 만든다. 빈 원소를 포함할수도 있는 배열을 적절하게 거닐기 위해서는, each() 함수를 이용한다.

예 253. current()의 사용예와 관련 함수

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport);    // $mode = 'foot';
$mode = end($transport);     // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';
?>

end(), key(),
next(), prev(),
reset() 참고.

이전 | 위로 | 다음
count | 처음으로 | each


each

(PHP 4, PHP 5)

each -- 배열에서 현재의 키와 값 쌍을 반환하고 배열 커서를 전진시킨다

설명

array each ( array $array )

array 배열에서 현재의 키와 값 쌍을 반환하고 배열 커서를 전진시킨다. 이 키/값 쌍은 4개 원소를 갖는 배열을 반환한다. 0, 1, key, value 이다. 원소 0과 key는 배열 원소의 키 이름을 포함하고, 1과 value는 데이터를 포함한다.

배열의 내부 포인터가 배열의 끝을 벗어나면, each()는 FALSE를 반환한다.

예 254. each() 예제코드

<?php
$foo = array ("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each ($foo);
print_r($bar);
?>

$bar는 현재 다음과 같은 key/value 쌍을 포함한다:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo = array ("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each ($foo);
print_r($bar);
?>

$bar는 현재 다음과 같은 key/value 쌍을 포함한다:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each()는 배열을 사용하기 위해 일반적으로 list()와 같이 사용한다. 예제코드는 다음과 같다:

예 255. each()로 배열 사용하기

<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset ($fruit);
while (list ($key, $val) = each ($fruit)) {
    echo "$key => $val\n";
}

/* Outputs:

a => apple
b => banana
c => cranberry

*/
?>

each()가 수행되면, 배열 커서는 배열의 다음 원소로 옮겨지거나, 배열의 끝인 경우에는 마지막 원소를 통과한다. each를 사용하여 다시 배열을 사용하려면 reset()을 사용해야 한다.

경고

배열을 다른 변수로 지정하는 것은 원래의 배열 포인터를 초기화 하는것이기 때문에, 위 예제코드는 루프안에서 $fruit를 다른 변수로 지정하게 되면 무한 루프를 유발할수 있다.

key(), list(),
current(), reset(),
next(), prev(),
foreach 참고.

이전 | 위로 | 다음
current | 처음으로 | end


end

(PHP 4, PHP 5)

end -- 내부 배열 포인터를 마지막 원소를 가리키게 한다

설명

mixed end ( array $array )

end()는 array의 내부 포인터를 마지막원소로 이동시키고 마지막 원소의 값을 반환한다.

예 256. 단순한 end() 예제코드

<?php

  $fruits = array('apple','banana','cranberry');

  print end($fruits); // cranberry

?>

current(),
each(),
next(), reset() 참고.

이전 | 위로 | 다음
each | 처음으로 | extract


extract

(PHP 4, PHP 5)

extract -- 배열의 현재 심볼 테이블로 변수들을 입력한다

설명

int extract ( array $var_array [, int $extract_type [, string $prefix]] )

이 함수는 배열의 값들을 현재 심볼 테이블에 입력하는데 사용된다. 연관 배열 var_array를 취해서 변수명을 키로, 변수값을 값으로 취급한다. extract_type과 prefix 에 따라 각 키/값 쌍에 대해서 현재 심볼 테이블안에 변수를 생성한다.

참고: 버전 4.0.5에 시작하여, 이 함수는 추출된 변수의 수를 반환한다.

참고: EXTR_IF_EXISTS과 EXTR_PREFIX_IF_EXISTS는 버전 4.2.0에서부터 지원된다.

참고: EXTR_REFS 버전 4.3.0부터 지원된다.

extract()는 각 키가 유효한 변수명을 갖을수 있는지 검사 한다. 또한 심볼 테이블에 존재하는 변수들과의 충돌도 검사한다. 유효하지않은/숫자 키와 충돌인 경우를 취급하는 방법은 extract_type에 의해 결정된다. 다음 값들 중 하나가 될 수 있다:

EXTR_OVERWRITE
충돌이 발생하면, 기존 변수를 덮어쓴다.
EXTR_SKIP
충돌이 발생하면, 기존 변수를 덮어쓰지 않는다. variable.
EXTR_PREFIX_SAME
충돌이 발생하면, prefix를 변수명 앞에 첨가한다.
EXTR_PREFIX_ALL
prefix를 모든 변수명 앞에 첨가한다. PHP 4.0.5에서 시작하여, 이 플래그는 숫자 변수도 적용된다.
EXTR_PREFIX_INVALID
유효하지 않은/숫자 변수명 앞에만 prefix를 첨가한다. 이 플래그는 PHP 4.0.5에서 추가되었다.
EXTR_IF_EXISTS
현재 심볼 테이블에 이미 존재하는 변수만 덮어쓴다. 그렇지 않으면 아무것도 하지 않는다. 이 플래그는 유효한 변수 목록을 정의하고 이 변수들만 추출하는데 유용하다. 예를 들어, 이런 변수는 $_REQUEST에서 정의된 변수들이다. 이 플래그는 PHP 4.2.0에서 추가되었다.
EXTR_PREFIX_IF_EXISTS
현재 심볼 테이블에 앞첨가된 버전의 같은 변수가 존재할때만 앞첨가된 변수명을 생성한다. 이 플래그는 PHP 4.2.0에서 추가되었다.
EXTR_REFS
변수를 참조로써 추출한다. 입력된 변수 값이 var_array 매개변수의 값을 참조한다는 의미를 갖는다. 이 플래그는 그 자체로나 다른 플래그와 OR 연산하여 extract_type에서 사용할수 있다. 이 플래그는 PHP 4.3.0에서 추가되었다.

extract_type가 설정되지 않으면, EXTR_OVERWRITE가 설정되 있다고 가정한다.

prefix는 extract_type이 EXTR_PREFIX_SAME, EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 또는, EXTR_PREFIX_IF_EXISTS 일때만 요구된다. 앞 첨가된 변수가 유효한 변수명이 아니면, 심볼테이블에 입력되지 않는다.

extract()는 심볼 테이블에 성공적으로 입력된 변수의 수를 반환한다.

extract()가 사용가능한 경우는 wddx_deserialize()에서 반환한 연관배열에 포함되어있는 심볼 테이블 변수들 안에 입력하는것이다.

예 257. extract() 예제코드

<?php

/* Suppose that $var_array is an array returned from
   wddx_deserialize */

$size = "large";
$var_array = array ("color" => "blue",
                    "size"  => "medium",
                    "shape" => "sphere");
extract ($var_array, EXTR_PREFIX_SAME, "wddx");

print "$color, $size, $shape, $wddx_size\n";

?>

위 예제코드는 다음을 출력할것이다:

blue, large, sphere, medium

$size는 덮어씌어지지 않았다, 왜냐하면 EXTR_PREFIX_SAME를 설정했기 때문이다. 결과적으로 $wddx_size가 생성되었다. EXTR_SKIP가 설정되어 있으면, EXTR_OVERWRITE 는 $size가 "medium" 값을 갖게 하고 EXTR_PREFIX_ALL는 새로운 변수인 $wddx_color, $wddx_size, $wddx_shape를 갖게한다.

연관 배열을 사용해야 한다. EXTR_PREFIX_ALL 나 EXTR_PREFIX_INVALID를 사용하지 않으면 숫자로 인덱스된 배열은 결과를 도출할수 없다.

compact() 참고.

이전 | 위로 | 다음
end | 처음으로 | in_array


in_array

(PHP 4, PHP 5)

in_array -- 배열에서 값이 존재하는지 점검한다

설명

bool in_array ( mixed $needle, array $haystack [, bool $strict] )

haystack에서 needle을 검색해서 배열안에서 발견되면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환한다.

세번째 매개변수 strict가 TRUE로 설정되면, in_array() 함수는 haystack 안의 needle의 타입도 점검할것이다.

참고: needle이 문자열이면, 대소문자를 구별하여 비교가 수행된다.

참고: PHP 4.2.0 이전 버전에서는 needle은 배열에서 허용되지 않았다.

예 258. in_array() 예제코드

<?php
$os = array ("Mac", "NT", "Irix", "Linux");
if (in_array ("Irix", $os)) {
    print "Got Irix";
}
if (in_array ("mac", $os)) {
    print "Got mac";
}
?>

in_array()는 대소문자를 구별하기 때문에 두번째 조건은 실패한다. 그래서 위 프로그램은 다음과 같이 출력된다:

Got Irix

예 259. in_array()의 엄격한 예제코드

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, TRUE)) {
    echo "'12.4' found with strict check\n";
}

if (in_array(1.13, $a, TRUE)) {
    echo "1.13 found with strict check\n";
}
?>

위 코드는 다음과 같이 출력된다:

1.13 found with strict check

예 260. needle 이 배열인 in_array()

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array ('p', 'h'), $a)) {
    echo "'ph' was found\n";
}

if (in_array(array ('f', 'i'), $a)) {
    echo "'fi' was found\n";
}

if (in_array('o', $a)) {
    echo "'o' was found\n";
}

/* Outputs:
  'ph' was found
  'o' was found
*/
?>

array_search(),
array_key_exists(),
isset() 참고.

이전 | 위로 | 다음
extract | 처음으로 | key


key

(PHP 4, PHP 5)

key -- 연관배열에서 키를 꺼낸다

설명

mixed key ( array $array )

key()는 현재 배열 위치에 있는 원소의 인덱스를 반환한다.

current(), next() 참고.

이전 | 위로 | 다음
in_array | 처음으로 | krsort


krsort

(PHP 4, PHP 5)

krsort -- 역순으로 키에 의해 배열을 정렬한다

설명

int krsort ( array $array [, int $sort_flags] )

역순으로 키에 의해 배열을 정렬하고, 키와 데이터의 연관성을 유지한다. 이 함수는 주로 연관배열에 유용하다.

예 261. krsort() 예제코드

<?php
$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
    echo "$key = $val\n";
}
?>

위 예제코드는 다음을 출력한다:

d = lemon
c = apple
b = banana
a = orange

선택적인 매개변수 sort_flags를 사용하여 정렬 방법을 변경할수 있다. 자세한 정보는 sort()를 참고.

asort(), arsort(),
ksort(), sort(),
natsort(), rsort() 예제코드.

이전 | 위로 | 다음
key | 처음으로 | ksort


ksort

(PHP 4, PHP 5)

ksort -- 키에 의해 배열을 정렬한다

설명

int ksort ( array $array [, int $sort_flags] )

키에 의해 배열을 정렬하고, 키와 데이터의 연관성을 유지한다. 이 함수는 주로 연관 배열에 유용하다.

예 262. ksort() 예제코드

<?php
$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
    echo "$key = $val\n";
}
?>

이 예제코드는 다음을 출력할것이다:

a = orange
b = banana
c = apple
d = lemon

선택적인 매개변수 sort_flags를 사용하여 정렬 방법을 변경할수 있다. 자세한 정보는 sort()를 참고.

asort(), arsort(),
krsort(), uksort(),
sort(), natsort(),
rsort() 참고.

참고: The second parameter was added in PHP 4.

이전 | 위로 | 다음
krsort | 처음으로 | list


list

(PHP 4, PHP 5)

list -- 배열처럼 변수들을 지정한다

설명

void list ( mixed $... )

array()처럼, 이 함수는 실제 함수가 아니고 언어 구조이다. list()는 한번의 조작으로 배열 목록을 지정하기 위해 사용된다.

참고: list()는 숫자 배열에서만 작동하고 0부터 시작하는 숫자 인덱스로 가정한다.

예 263. list() 예제코드

<?php

$info = array('coffee', 'brown', 'caffeine');

// 모든 변수를 목록화한다
list($drink, $color, $power) = $info;
print "$drink is $color and $power makes it special.\n";

// 그들중 일부를 목록화한다
list($drink, , $power) = $info;
print "$drink has $power.\n";

// 또는 세번째 값으로만 건너띈다
list( , , $power) = $info;
print "I need $power!\n";

?>

예 264. list()의 사용예

<table>
 <tr>
  <th>Employee name</th>
  <th>Salary</th>
 </tr>

<?php

$result = mysql_query ("SELECT id, name, salary FROM employees",$conn);
while (list ($id, $name, $salary) = mysql_fetch_row ($result)) {
    print (" <tr>\n".
           "  <td><a href=\"info.php?id=$id\">$name</a></td>\n".
           "  <td>$salary</td>\n".
           " </tr>\n");
}

?>

</table>

주의

list()는 가장 우측 매개변수에서 시작하는 값들을 지정한다. 일반적인 변수들을 사용하면, 이 동작에 대해서 신경 쓸 필요가 없다. 그러나 인덱스를 갖는 배열에서 사용한다면 왼쪽에서 오른쪽으로 list()에서 쓰여진것과 같이 배열안의 인덱스 순서로 되는것이라고 보통 기대할수 있으나, 그렇지 않다. 역순으로 지정이 된다.

예 265. 배열 인덱스를 사용하는 list() 사용예

<?php

$info = array('coffee', 'brown', 'caffeine');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

다음과 같이 출력된다 (이 원소들의 순서는 list() 문법안에서 쓰여진 순서와 대비된다는 것에 주의.):

array(3) {
  [2]=>
  string(8) "caffeine"
  [1]=>
  string(5) "brown"
  [0]=>
  string(6) "coffee"
}

each(), array() extract() 참고.

이전 | 위로 | 다음
ksort | 처음으로 | natcasesort


natcasesort

(PHP 4, PHP 5)

natcasesort -- 대소문자를 구별하지 않고 "natural order" 알고리즘을 사용하여 배열을 정렬한다

설명

void natcasesort ( array $array )

이 함수는 인간의 방식으로 문자숫자 조합된 문자열을 정렬하는 알고리즘으로 구현되었다. 이 알고리즘을 "natural ordering"이라고 한다.

natcasesort()는 natsort()의 대소문자를 구별하지 않는 버전이다. 이 알고리즘과 일반적인 컴퓨터 문자열 정렬 알고리즘 (sort()를 사용) 사이의 차이점의 예는 natsort()의 예제코드에서 확인할수 있다:

추가 정보: Martin Pool의 » Natural Order String Comparison 페이지.

sort(),
natsort(),
strnatcmp(),
strnatcasecmp() 참고.

이전 | 위로 | 다음
list | 처음으로 | natsort


natsort

(PHP 4, PHP 5)

natsort -- "natural order" 알고리즘을 사용하여 배열을 정렬한다

설명

void natsort ( array $array )

이 함수는 인간의 방식으로 문자숫자 조합된 문자열을 정렬하는 알고리즘으로 구현되었다. 이 알고리즘을 "natural ordering"이라고 한다. 이 알고리즘과 일반적인 컴퓨터 문자열 정렬 알고리즘 (sort()를 사용) 사이의 차이점의 예는 다음 예제코드에서 확인할수 있다:

예 266. natsort() 예제코드

<?php
$array1 = $array2 = array ("img12.png", "img10.png", "img2.png", "img1.png");

sort($array1);
echo "Standard sorting\n";
print_r($array1);

natsort($array2);
echo "\nNatural order sorting\n";
print_r($array2);
?>

위 코드는 다음의 출력을 생성할것이다:

Standard sorting
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order sorting
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

추가 정보: Martin Pool의 » Natural Order String Comparison 페이지.

참고: index/value 연관을 유지시키려면, uasort($arr, 'strnatcmp') 사용을 고려하도록 한다.

natcasesort(),
strnatcmp(),
strnatcasecmp() 참고.

이전 | 위로 | 다음
natcasesort | 처음으로 | next


next

(PHP 4, PHP 5, PECL axis2:0.1.0-0.1.1 xmlreader:1.0-1.0.1)

next -- 배열의 내부 배열 포인터를 전진시킨다

설명

mixed next ( array $array )

내부 배열 포인터에 의해 가리켜진 다음 위치의 배열 값을 반환하거나, 더이상 원소가 존재하지 않으면 FALSE를 반환한다.

next()는 current()와 비슷하게 동작하지만 한가지 차이를 갖고 있다. 원소값을 반환하기 전에 내부 배열 포인터를 한칸 다음으로 전진시킨다. 이 말은 다음 배열 값을 반환하고 내부 배열 포인터를 한칸 전진시킨다는 뜻이다. 내부 배열 포인터를 전진시켜서 원소 목록의 끝을 벗어나면 next()는 FALSE를 반환한다.

주의

배열의 비어있는 원소를 갖고 있거나, 0의 키값을 갖는 원소를 갖고 있으면, 이 함수는 이 원소들에 대해서도 FALSE를 반환한다. 비어있는 원소나 0의 키값을 갖을지도 모르는 배열을 효율적으로 사용하려면 each() 함수를 사용하도록 한다.

예 267. next()의 사용예와 관련 함수

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

current(), end(), prev(), reset() 참고.

이전 | 위로 | 다음
natsort | 처음으로 | pos


pos

(PHP 4, PHP 5)

pos -- 배열에서 현재 원소를 꺼내온다

설명

mixed pos ( array $array )

이 함수는 current()의 별칭 이다.

end(), next(), prev(), reset() 참고.

이전 | 위로 | 다음
next | 처음으로 | prev


prev

(PHP 4, PHP 5)

prev -- 내부 배열 포인터를 앞으로 돌린다

설명

mixed prev ( array $array )

내부 배열 포인터에 의해 가리켜지는 이전 위치의 배열 값을 반환하거나, 더이상의 원소가 없으면, FALSE를 반환한다.

주의

배열이 비어있는 원소를 갖는다면 이 함수는 이 원소들에 대해서도 FALSE를 반환할것이다. 빈 원소를 포함할수도 있는 배열을 효율적으로 사용하기 위해서는 each() 함수를 참고하도록 한다.

prev()는 내부 배열 포인터가 앞으로 전진하는 대신에 뒤로 돌린다는 것을 제외하고 next()와 비슷하게 동작한다.

예 268. prev()의 사용예와 관련 함수

<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
?>

current(), end(), next(), reset() 참고.

이전 | 위로 | 다음
pos | 처음으로 | range


range

(PHP 4, PHP 5)

range -- 특정 범위의 원소를 갖는 배열을 생성한다

설명

array range ( int $low, int $high [, int $step] )

range()는 low에서 high(포함하여)까지의 원소를 갖는 배열을 반환한다, low > high 일 경우에는 일련값은 high에서 low까지가 될것이다.

새로운 매개변수: 선택적인 step 매개변수가 5.0.0에서 추가되었다.

step 값이 주어지면, 연속적인 원소들의 증가값으로 사용될것이다. step은 양수로 주어져야 한다. 이 값이 주어지지 않으면, step의 기본값은 1이다.

예 269. range() 예제코드

<?php
// array(0,1,2,3,4,5,6,7,8,9,10,11,12)
foreach(range(0, 12) as $number) {
    echo $number;
}

// 5.0.0 부터 stemp 매개변수가 추가되었다
// array(0,10,20,30,40,50,60,70,80,90,100)
foreach(range(0, 100, 10) as $number) {
    echo $number;
}

// 4.1.0 부터 문자 연속값들이 지원된다
// array('a','b','c','d','e','f','g','h','i');
foreach(range('a', 'i') as $letter) {
    echo $letter;
}
// array('c','b','a');
foreach(range('c', 'a') as $letter) {
    echo $letter;
}
?>

참고: PHP 4.1.0 이전 버전에서, range()는 증가하는 정수 배열만 생성했었다. 문자 연속값과 감소 배열의 지원이 4.1.0에 추가되었다. 문자 연속 값은 한 문자로 제한된다. 1보다 큰값이 들어가면, 첫번째 문자만 사용된다.

경고

PHP 4.1.0부터 4.3.2버전까지, range() 는 숫자형의 문자열을 숫자형이 아닌 문자열로 본다. 그래서, 그 값들은 문자 연속값으로 사용될것이다. 예를 들면, "4242" 는 "4"로 취급된다.

shuffle(), array_fill(), foreach 참고.

이전 | 위로 | 다음
prev | 처음으로 | reset


reset

(PHP 4, PHP 5)

reset -- 배열의 내부 포인터가 배열의 첫번째 원소를 가리키게 한다

설명

mixed reset ( array $array )

reset()은 array의 내부 포인터를 첫번째 원소를 가리키도록 되감고 배열의 첫번째 원소의 값을 반환한다.

current(),
each(), next(),
prev() 참고.

이전 | 위로 | 다음
range | 처음으로 | rsort


rsort

(PHP 4, PHP 5)

rsort -- 역순으로 배열을 정렬한다

설명

void rsort ( array $array [, int $sort_flags] )

이 함수는 역순으로 배열을 정렬한다 (높은곳에서 낮은곳으로).

예 270. rsort() 예제코드

<?php
$fruits = array ("lemon", "orange", "banana", "apple");
rsort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
    echo "$key = $val\n";
}
?>

위 예제코드는 다음을 출력한다:

0 = orange
1 = lemon
2 = banana
3 = apple

fruits 는 알파벳 역순으로 정렬되었다.

선택적인 매개변수 sort_flags를 사용하여 정렬 방법을 변경할수 있다. 더 자세한것은 sort() 를 참고.

arsort(),
asort(), ksort(),
sort(), usort() 참고.

이전 | 위로 | 다음
reset | 처음으로 | shuffle


shuffle

(PHP 4, PHP 5)

shuffle -- 배열을 뒤섞는다

설명

void shuffle ( array $array )

이 함수는 배열을 (배열 안의 원소를 임의의 순서로) 뒤섞는다. srand()를 사용하여 이 함수를 초기화해야 한다.

예 271. shuffle() 예제코드

<?php
$numbers = range (1,20);
srand ((float)microtime()*1000000);
shuffle ($numbers);
while (list (, $number) = each ($numbers)) {
    echo "$number ";
}
?>

참고: PHP 4.2.0부터 srand()나 mt_srand()를 이용한 난수값 생성기 초기화를 할 필요가 없습니다. 자동적으로 이루어집니다.

arsort(), asort(),
ksort(), rsort(),
sort(), usort() 참고.

이전 | 위로 | 다음
rsort | 처음으로 | sizeof


sizeof

(PHP 4, PHP 5)

sizeof -- count()의 별칭

설명

이 함수는 count()의 별칭이다.

이전 | 위로 | 다음
shuffle | 처음으로 | sort


sort

(PHP 4, PHP 5)

sort -- 배열을 정렬한다

설명

void sort ( array $array [, int $sort_flags] )

이 함수는 배열을 정렬한다. 이 함수가 수행되면 원소들은 작은 값에서 큰 값으로 정렬될것이다.

예 272. sort() 예제코드

<?php

$fruits = array ("lemon", "orange", "banana", "apple");
sort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
    echo "fruits[".$key."] = ".$val."\n";
}

?>

위 예제코드는 다음을 출력한다:

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange

fruits 는 알파벳순으로 정렬되었다.

선택적인 두번째 sort_flags 매개변수는 이 값들을 사용하여 정렬방법을 변경하는데 사용된다:

정렬 방법 플래그:

  • SORT_REGULAR - 통상적인 방법으로 원소를 비교
  • SORT_NUMERIC - 수치적으로 원소를 비교
  • SORT_STRING - 문자열로 원소를 비교

참고: 두번째 매개변수는 PHP 4에서 추가되었다.

arsort(),
asort(), ksort(),
natsort(), natcasesort(),
rsort(), usort(),
array_multisort(),
uksort() 참고.

이전 | 위로 | 다음
sizeof | 처음으로 | uasort


uasort

(PHP 4, PHP 5)

uasort -- 사용자-정의 비교함수로 배열을 정렬하고 인덱스 연관성을 유지한다

설명

void uasort ( array $array, callback $cmp_function )

이 함수는 배열 인덱스가 그와 관련되어있는 배열 원소들과의 연관성을 유지하면서 배열을 정렬한다. 이 함수는 실제 원소 순서가 중요한 연관 배열을 정렬할 때 주로 쓰인다. 비교함수는 사용자-정의된다.

참고: 사용자-정의 비교함수의 예제코드를 위해 usort() 와 uksort() 를 참고.

usort(), uksort(),
sort(), asort(),
arsort(), ksort(),
rsort() 참고.

이전 | 위로 | 다음
sort | 처음으로 | uksort


uksort

(PHP 4, PHP 5)

uksort -- 사용자-정의된 비교함수를 사용하여 키에 의해 배열을 정렬한다

설명

void uksort ( array $array, callback $cmp_function )

이 함수는 사용자-지원 비교 함수를 사용하여 키들에 의해 배열을 정렬할 것이다. 정렬하고자 하는 배열이 흔히 사용되지 않는 방법에 의해 정렬할 필요가 있으면, 이 함수를 사용해야 한다.

예 273. uksort() 예제코드

<?php
function cmp ($a, $b) {
    if ($a == $b) return 0;
    return ($a > $b) ? -1 : 1;
}

$a = array (4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");

uksort ($a, "cmp");

while (list ($key, $value) = each ($a)) {
    echo "$key: $value\n";
}
?>

위 예제코드는 다음을 출력한다:

20: twenty
10: ten
4: four
3: three

usort(), uasort(),
sort(), asort(),
arsort(), ksort(),
natsort(), rsort() 참고.

이전 | 위로 | 다음
uasort | 처음으로 | usort


usort

(PHP 4, PHP 5)

usort -- 사용자-정의된 비교함수를 사용하여 값들에 의해 배열을 정렬한다

설명

void usort ( array $array, callback $cmp_function )

이 함수는 사용자-지원 비교 함수를 사용하여 값들에 의해 배열을 정렬할 것이다. 정렬하고자 하는 배열이 흔히 사용되지 않는 방법에 의해 정렬할 필요가 있으면, 이 함수를 사용해야 한다.

비교 함수는 첫번째 인자가 두번째 인자보다 작거나, 같거나, 크다고 판단되면 0 보다 작거나, 같거나, 큰 정수를 반환해야 한다.

참고: 두 인자들이 같다면, 정렬된 배열에서 그들 순서는 알 수 없다. PHP 4.0.6 까지 사용자 정의 함수는 그들 원소에 대해서 원래의 순서를 유지할것이다. 그러나 4.1.0부터 사용되는 새로운 정렬 알고리즘에서는 더이상 그런 경우에 효율적인 방법의 그런 동작을 하는 해결책이 존재하지않는다.

예 274. usort() 예제코드

<?php
function cmp ($a, $b) {
    if ($a == $b) return 0;
    return ($a < $b) ? -1 : 1;
}

$a = array (3, 2, 5, 6, 1);

usort ($a, "cmp");

while (list ($key, $value) = each ($a)) {
    echo "$key: $value\n";
}
?>

위 예제코드는 다음을 출력할것이다:

0: 1
1: 2
2: 3
3: 5
4: 6

참고: 명백히 이런 흔한 경우에는 sort() 함수는 더욱 적절할것이다.

예 275. 다차원 배열을 사용하는 usort() 예제코드

<?php
function cmp ($a, $b) {
    return strcmp($a["fruit"], $b["fruit"]);
}

$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";

usort($fruits, "cmp");

while (list ($key, $value) = each ($fruits)) {
    echo "\$fruits[$key]: " . $value["fruit"] . "\n";
}
?>

다차원 배열을 정렬할 때에는, $a와 $b는 배열의 첫번째 인덱스의 참조를 포함한다.

위 예제코드는 다음을 출력할것이다:

$fruits[0]: apples
$fruits[1]: grapes
$fruits[2]: lemons

예 276. 객체의 멤버 함수를 사용하는 usort() 예제코드

<?php
class TestObj {
    var $name;

    function TestObj($name)
    {
        $this->name = $name;
    }

    /* This is the static comparing function: */
    function cmp_obj($a, $b)
    {
        $al = strtolower($a->name);
        $bl = strtolower($b->name);
        if ($al == $bl) return 0;
        return ($al > $bl) ? +1 : -1;
    }
}

$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");

uasort($a, array ("TestObj", "cmp_obj"));

foreach ($a as $item) {
    print $item->name."\n";
}
?>

위 예제코드는 다음을 출력한다:

b
c
d

uasort(),
uksort(), sort(),
asort(),
arsort(),ksort(),
natsort(), rsort() 참고.

이전 | 위로 | 다음
uksort | 처음으로 | VI. Aspell 함수 [deprecated]


Aspell 함수 [deprecated]

이전 VI. 함수 레퍼런스 다음

VI. Aspell 함수 [deprecated]

소개

aspell() 함수는 단어의 철자를 검사하고 틀린 경우 연상되는 단어를 제시한다.

참고: 이 확장은 PHP에서 제거되었고 PHP 4.3.0에서 더이상 사용할수 없다. PHP 에서 단어 검사를 원할 경우에는 대신 pspell를 사용하도록 한다. pspell함수는 pspell 라이브러리를 사용하고 최신버전의 aspell과 함께 실행된다.

요구 조건

aspell은 구버전( .27.* 까지 )의 aspell 라이브러리에서만 동작한다. 이 모듈과 그런 버전의 aspell 라이브러리는 더이상 지원되지 않는다. aspell 라이브러리가 필요하면, » http://aspell.sourceforge.net/ 에서 구할수 있다.

설치

In PHP 4, these functions are only available if PHP was configured with --with-aspell=[DIR].

참고

pspell 참고.

차례

aspell_check_raw -- 단어의 철자가 올바른지만 검사한다 [deprecated]
aspell_check -- 단어 검사 [deprecated]
aspell_new -- 새 사전을 연다 [deprecated]
aspell_suggest -- 추천 단어를 제시한다 [deprecated]
이전 | 위로 | 다음
usort | 처음으로 | aspell_check_raw


aspell_check_raw

(PHP 4 <= 4.2.3)

aspell_check_raw -- 단어의 철자가 올바른지만 검사한다 [deprecated]

설명

bool aspell_check_raw ( int $dictionary_link, string $word )

aspell_check_raw()는 단어의 철자를 검사하기만 하고, 대소문자를 변경하거나 trim 하지 않고 올바르기만 하면, TRUE를 틀리면 FALSE를 반환한다.

예 277. aspell_check_raw()

<?php

$aspell_link = aspell_new("english");

if (aspell_check_raw($aspell_link, "test")) {
    echo "This is a valid spelling";
} else {
    echo "Sorry, wrong spelling";
}

?>

이전 | 위로 | 다음
VI. Aspell 함수 [deprecated] | 처음으로 | aspell_check


aspell_check

(PHP 4 <= 4.2.3)

aspell_check -- 단어 검사 [deprecated]

설명

bool aspell_check ( int $dictionary_link, string $word )

aspell_check()는 단어의 철자를 검사하고, 올바르면 TRUE를 틀리면 FALSE를 반환한다.

예 278. aspell_check()

<?php

$aspell_link = aspell_new("english");

if (aspell_check($aspell_link, "testt")) {
    echo "This is a valid spelling";
} else {
    echo "Sorry, wrong spelling";
}

?>

이전 | 위로 | 다음
aspell_check_raw | 처음으로 | aspell_new


aspell_new

(PHP 4 <= 4.2.3)

aspell_new -- 새 사전을 연다 [deprecated]

설명

int aspell_new ( string $master [, string $personal] )

aspell_new()는 새 사전을 열고 다른 aspell 함수에서 쓸수 있도록 연결용 사전 식별자를 반환한다. 에러가 발생하면 FALSE를 반환한다.

예 279. aspell_new()

<?php
$aspell_link = aspell_new("english");
?>

이전 | 위로 | 다음
aspell_check | 처음으로 | aspell_suggest


aspell_suggest

(PHP 4 <= 4.2.3)

aspell_suggest -- 추천 단어를 제시한다 [deprecated]

Description

array aspell_suggest ( int $dictionary_link, string $word )

aspell_suggest()는 주어진 단어에 대한 추천 단어들의 배열을 반환한다.

예 280. aspell_suggest()

<?php

$aspell_link = aspell_new("english");

if (!aspell_check($aspell_link, "test")) {
    $suggestions = aspell_suggest($aspell_link, "test");

    foreach ($suggestions as $suggestion) {
        echo "Possible spelling: $suggestion<br>\n";
    }
}

?>

이전 | 위로 | 다음
aspell_new | 처음으로 | VII. BBCode Functions


BCMath 임의 정확도 수치연산 함수

이전 VI. 함수 레퍼런스 다음

VIII. BCMath 임의 정확도 수치연산 함수

소개

임의의 정확도를 갖는 수치연산을 위해 PHP는 이진 계산기를 제공한다. 이 이진 계산기(Binary Calculator)는 가능한 모든 크기와 정확도를 갖는 수들을 지원하고, 문자열로 표현된다.

요구 조건

PHP 4.0.4 이후부터 libbcmath가 PHP에서 같이 제공된다. 이 확장에 대해 외부적인 라이브러리가 필요치 않다.

설치

PHP 4에서, 이 함수를 사용하려면 PHP가 --enable-bcmath 옵션으로 설정되어야 한다. PHP 3에서, 이 함수를 사용하려면 PHP가 --disable-bcmath 옵션으로 설정되면 안된다.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 20. BC math configuration options

Name | Default | Changeable | Changelog
bcmath.scale | "0" | PHP_INI_ALL |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

bcmath.scale integer

Number of decimal digits for all bcmath functions. See also bcscale().

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

bcadd -- 두개의 임의 정확도 수를 더한다
bccomp -- 두개의 임의 정확도 수를 비교한다
bcdiv -- 두개의 임의 정확도 수를 나눈다
bcmod -- 임의 정확도 수의 나머지를 구한다
bcmul -- 두개의 임의 정확도 수를 곱한다
bcpow -- 임의 정밀도 수를 제곱한다
bcpowmod -- Raise an arbitrary precision number to another, reduced by a specified modulus. 임의 정밀도 수를 계수에 의해 감소하는 다른 수로 제곱한다.
bcscale -- 모든 bc 수치계산 함수의 scale 매개변수의 기본값을 설정한다
bcsqrt -- 임의 정확도 수의 제곱근을 구한다
bcsub -- 임의 정확도 수를 다른 임의 정확도 수에서 뺀다
이전 | 위로 | 다음
bbcode_set_flags | 처음으로 | bcadd


bcadd

(PHP 4, PHP 5)

bcadd -- 두개의 임의 정확도 수를 더한다

설명

string bcadd ( string $left_operand, string $right_operand [, int $scale] )

left_operand를 right_operand와 더하고 결과를 문자열로 반환한다. 선택적인 scale 매개변수는 결과값에서 소수점 이하의 자릿수를 정하는데 사용된다.

bcsub() 참고.

이전 | 위로 | 다음
VIII. BCMath 임의 정확도 수치연산 함수 | 처음으로 | bccomp


bccomp

(PHP 4, PHP 5)

bccomp -- 두개의 임의 정확도 수를 비교한다

설명

int bccomp ( string $left_operand, string $right_operand [, int $scale] )

left_operand를 right_operand와 비교하고 결과값을 정수로 반환한다. 선택적인 scale 매개변수는 비교시 사용되는 소수점 이하 자릿수를 설정하는데 사용된다. 두 수가 같으면 0의 결과값을 반환한다. left_operand가 right_operand 보다 크면 +1을 반환하고, left_operand가 right_operand 보다 작으면 -1을 반환한다.

이전 | 위로 | 다음
bcadd | 처음으로 | bcdiv


bcdiv

(PHP 4, PHP 5)

bcdiv -- 두개의 임의 정확도 수를 나눈다

설명

string bcdiv ( string $left_operand, string $right_operand [, int $scale] )

left_operand를 right_operand로 나누고 결과값을 반환한다. 선택적인 scale 매개변수는 결과값의 소수점 이하 자릿수를 결정하는데 사용된다.

bcmul() 참고.

이전 | 위로 | 다음
bccomp | 처음으로 | bcmod


bcmod

(PHP 4, PHP 5)

bcmod -- 임의 정확도 수의 나머지를 구한다

설명

string bcmod ( string $left_operand, string $modulus )

modulus로 left_operand를 나눈 나머지를 구한다.

bcdiv() 참고.

이전 | 위로 | 다음
bcdiv | 처음으로 | bcmul


bcmul

(PHP 4, PHP 5)

bcmul -- 두개의 임의 정확도 수를 곱한다

설명

string bcmul ( string $left_operand, string $right_operand [, int $scale] )

left_operand를 right_operand와 곱하고 결과값을 반환한다. 선택적인 scale 매개변수는 결과값의 소수점이하 자릿수를 결정한다.

bcdiv() 참고.

이전 | 위로 | 다음
bcmod | 처음으로 | bcpow


bcpow

(PHP 4, PHP 5)

bcpow -- 임의 정밀도 수를 제곱한다

설명

string bcpow ( string $x, int $y [, int $scale] )

x를 y 제곱한다 선택적인 scale 매개변수는 소수점 이하 자릿수를 결정하는데 사용한다.

bcpowmod(), bcsqrt() 참고.

이전 | 위로 | 다음
bcmul | 처음으로 | bcpowmod


bcpowmod

(PHP 5)

bcpowmod -- Raise an arbitrary precision number to another, reduced by a specified modulus. 임의 정밀도 수를 계수에 의해 감소하는 다른 수로 제곱한다.

설명

string bcpowmod ( string $x, string $y, string $modulus [, int $scale] )

x 를 계수 modulus와 관련된 y 제곱하기 위한 고속-멱법(fast-exponentiation) 기법을 사용한다. 선택적인 scale 매개변수는 소수점 이하 자릿수를 설정하는데 사용된다.

다음 두 구문은 기능상 동일하다. 하지만 bcpowmod() 버전은 좀더 짧은 시간에 수행되고 더 긴 매개변수를 허용한다.

<?php
$a = bcpowmod($x,$y,$mod);

$b = bcmod(bcpow($x,$y),$mod);

/* $a and $b are equal to each other. */
?>

참고: 이 방식은 계수 연산을 사용하기 때문에, 자연수가 아닌 수를 사용하면 기대하지 않은 결과를 낼수 있다. 자연수는 0이 아닌 양의 정수이다.

bcpow(), bcmod() 참고.

이전 | 위로 | 다음
bcpow | 처음으로 | bcscale


bcscale

(PHP 4, PHP 5)

bcscale -- 모든 bc 수치계산 함수의 scale 매개변수의 기본값을 설정한다

설명

string bcscale ( int $scale )

이 함수는 scale 매개변수를 명시하지 않은 모든 bc 수치계산 함수의 의 scale 매개변수의 기본값을 설정한다.

이전 | 위로 | 다음
bcpowmod | 처음으로 | bcsqrt


bcsqrt

(PHP 4, PHP 5)

bcsqrt -- 임의 정확도 수의 제곱근을 구한다

설명

string bcsqrt ( string $operand [, int $scale] )

operand의 제곱근을 반환한다. 선택적인 scale 매개변수는 결과값의 소수점 이하 자릿수를 설정한다.

bcpow() 참고.

이전 | 위로 | 다음
bcscale | 처음으로 | bcsub


bcsub

(PHP 4, PHP 5)

bcsub -- 임의 정확도 수를 다른 임의 정확도 수에서 뺀다

설명

string bcsub ( string $left_operand, string $right_operand [, int $scale] )

right_operand를 left_operand에서 빼고 결과값을 문자열로 반환한다. 선택적인 scale 매개변수는 소수점 이하 자릿수를 설정하는데 사용된다.

bcadd() 참고.

이전 | 위로 | 다음
bcsqrt | 처음으로 | IX. PHP bytecode Compiler


Bzip2 압축 함수

이전 VI. 함수 레퍼런스 다음

X. Bzip2 압축 함수

소개

bzip2 함수는 손쉽게 bzip2 (.bz2) 압축 파일을 읽고 쓸수 있도록 해준다.

요구 조건

이 모듈은 Julian Seward 의 » bzip2 라이브러리 함수를 사용한다. 이 모듈은 bzip2/libbzip2 버전 >= 1.0.x 을 요구한다..

설치

Bzip2 는 PHP 에서 기본적으로 활성화되지 않는다. bzip2 지원을 활성화시키고 PHP 를 컴파일하기 위해서는 --with-bz2[=DIR] 설정 옵션을 사용해야 한다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 한가지 리소스 타입을 정의한다: 작동중인 bz2 파일 식별 파일 포인터

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

다음 예제코드는 임의의 파일을 열고 그 파일에 테스트 문자열을 쓰고나서, 그 파일의 내용을 출력한다.

예 297. 간단한 bzip2 예제코드

<?php

$filename = "/tmp/testfile.bz2";
$str = "This is a test string.\n";

// 쓰기전용으로 파일을 연다
$bz = bzopen($filename, "w");

// 파일에 문자열을 쓴다
bzwrite($bz, $str);

// 파일을 닫는다
bzclose($bz);

// 읽기전용으로 파일을 연다
$bz = bzopen($filename, "r");

// 10 문자를 읽는다
print bzread($bz, 10);

// 파일의 끝까지 출력( 또는 다음 1024 문자) 하고 나서 파일을 닫는다.
print bzread($bz);

bzclose($bz);

?>

차례

bzclose -- bzip2 파일 포인터를 닫는다
bzcompress -- 문자열을 bzip2 인코딩 데이터로 압축한다
bzdecompress -- bzip2 인코딩 데이터의 압축을 해제한다
bzerrno -- bzip2 에러 번호를 반환한다
bzerror -- bzip2 에러 번호와 에러 문자열을 배열로 반환한다
bzerrstr -- bzip2 에러 문자열을 반환한다
bzflush -- 버퍼에 담긴 모든 데이터를 강제로 기록한다
bzopen -- bzip2 압축 파일을 연다
bzread -- bzip2 파일을 바이너리 형태로 판독
bzwrite -- bzip2 파일을 바이너리 형태로 기록
이전 | 위로 | 다음
bcompiler_write_included_filename | 처음으로 | bzclose


bzclose

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzclose -- bzip2 파일 포인터를 닫는다

설명

int bzclose ( resource $bz )

포인터 bz에 의해 참조되는 bzip2 파일을 닫는다.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이 파일 포인터는 유효해야하고, bzopen()에 의해 성공적으로 열린 파일을 가리키고 있어야 한다.

bzopen() 참고.

이전 | 위로 | 다음
X. Bzip2 압축 함수 | 처음으로 | bzcompress


bzcompress

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzcompress -- 문자열을 bzip2 인코딩 데이터로 압축한다

설명

string bzcompress ( string $source [, int $blocksize [, int $workfactor]] )

bzcompress()는 source 문자열을 압축하고 bzip2 인코딩 데이터로 반환한다

선택적인 매개변수 blocksize 는 압축중에 사용할 blocksize를 설정하고 1에서 9까지의 숫자가 되어야 하고 여기서 9는 가장 압축률이 높지만 자원을 더 많이 사용하게 된다. blocksize의 기본값은 4이다.

선택적인 매개변수 workfactor 는 반복이 많은 입력 데이터와 같은 최악의 경우에 압축이 어떻게 동작할지에 대해 제어한다. 이 값은 0부터 250이 될수 있고 0은 특수한 상황에서 쓰이고, 30은 기본값이 된다. 이 workfactor에 관계없이, 동일한 출력값이 나온다.

예 298. bzcompress() 예제코드

<?php
$str = "sample data";
$bzstr = bzcompress($str, 9);
print( $bzstr );
?>

bzdecompress() 참고.

이전 | 위로 | 다음
bzclose | 처음으로 | bzdecompress


bzdecompress

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzdecompress -- bzip2 인코딩 데이터의 압축을 해제한다

설명

string bzdecompress ( string $source [, int $small] )

bzdecompress()는 bzip2 인코딩 데이터를 포함하는 source 문자열의 압축을 해제하고 반환한다. 선택적인 매개변수 small 이 TRUE이면, 메모리를 더 적게 사용하는 대체 압축 해제 알고리즘이 사용될것이다 (최대 메모리 요구량은 2300K 이하이다). 그러나 속도는 반으로 줄게 된다.이 기능에 대해 더많은 정보를 얻으려면 » bzip2 문서를 참고한다.

예 299. bzdecompress()

<?php
$start_str = "This is not an honest face?";
$bzstr = bzcompress($start_str);

print( "압축 문자열: " );
print( $bzstr );
print( "\n<br>\n" );

$str = bzdecompress($bzstr);
print( "압축 해제된 문자열: " );
print( $str );
print( "\n<br>\n" );
?>

bzcompress() 참고.

이전 | 위로 | 다음
bzcompress | 처음으로 | bzerrno


bzerrno

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzerrno -- bzip2 에러 번호를 반환한다

설명

int bzerrno ( resource $bz )

파일 포인터 bz 에서 반환하는 bzip2 에러의 에러 번호를 반환한다.

bzerror() 과 bzerrstr() 참고.

이전 | 위로 | 다음
bzdecompress | 처음으로 | bzerror


bzerror

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzerror -- bzip2 에러 번호와 에러 문자열을 배열로 반환한다

설명

array bzerror ( resource $bz )

파일 포인터 bz에 의해 반환되는 bzip2 에러의 에러 번호와 에러 문자열을 연관 배열로 반환한다.

예 300. bzerror() 예제코드

<?php
$error = bzerror($bz);

echo $error["errno"];
echo $error["errstr"];
?>

bzerrno() 과 bzerrstr() 참고.

이전 | 위로 | 다음
bzerrno | 처음으로 | bzerrstr


bzerrstr

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzerrstr -- bzip2 에러 문자열을 반환한다

설명

string bzerrstr ( resource $bz )

파일 포인터 bz에 의해 반환하는 bzip2 에러의 에러 문자열을 반환한다.

bzerrno() 과 bzerror() 참고.

이전 | 위로 | 다음
bzerror | 처음으로 | bzflush


bzflush

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzflush -- 버퍼에 담긴 모든 데이터를 강제로 기록한다

설명

int bzflush ( resource $bz )

파일 포인터 bz를 위해 버퍼에 담긴 bzip2의 모든 데이터를 강제로 기록한다.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

bzread() 과 bzwrite() 참고.

이전 | 위로 | 다음
bzerrstr | 처음으로 | bzopen


bzopen

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzopen -- bzip2 압축 파일을 연다

설명

resource bzopen ( string $filename, string $mode )

읽거나 쓰기 위해 bzip2 (.bz2) 파일을 연다. filename은 열기위한 파일명이다. mode는 fopen()(읽기용의 `r' , 쓰기용의 `w', 등등 )과 유사하다.

열기를 실패하면, 이 함수는 FALSE를 반환하고, 그렇지 않으면 새롭게 열린 파일의 포인터를 반환한다.

예 301. bzopen() 예제코드

<?php
$bz = bzopen("/tmp/foo.bz2", "r");

$decompressed_file = '';
while (!feof($bz)) {
    $decompressed_file .= bzread($bz, 4096);
}
bzclose($bz);

print( "The contents of /tmp/foo.bz2 are: " );
print( "\n<br>\n" );
print( $decompressed_file );
?>

bzclose() 참고.

이전 | 위로 | 다음
bzflush | 처음으로 | bzread


bzread

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzread -- bzip2 파일을 바이너리 형태로 판독

설명

string bzread ( resource $bz [, int $length] )

bzread()는 bz에 의해 참조되는 bzip2 파일 포인터에서 length 바이트만큼을 읽어 온다. length (압축되지 않은 상태의) 바이트만큼 읽혀지거나 EOF 에 도달하면 읽기를 멈춘다. 선택적인 매개변수 length가 설정되지 않으면, bzread()는 한번에 1024 (압축되지 않은 상태의) 바이트만큼 읽어올것이다.

예 302. bzread() 예제코드

<?php
$bz = bzopen("/tmp/foo.bz2", "r");
$str = bzread($bz, 2048);
print( $str );
?>

bzwrite() 과 bzopen() 참고.

이전 | 위로 | 다음
bzopen | 처음으로 | bzwrite


bzwrite

(PHP 4 >= 4.3.3, PHP 5, PECL bz2:1.0)

bzwrite -- bzip2 파일을 바이너리 형태로 기록

설명

int bzwrite ( resource $bz, string $data [, int $length] )

bzwrite()는 bz에 의해 참조되는 bzip2 파일 스트림으로 data 문자열의 내용을 기록한다. 선택적인 length 인자가 주어지면, 이 length (압축되지 않은 상태의) 바이트만큼이나 문자열의 끝에 도달했을때 기록을 멈춘다.

예 303. bzwrite() 예제코드

<?php
$str = "uncompressed data";
$bz = bzopen("/tmp/foo.bz2", "w");
bzwrite($bz, $str, strlen($str));
bzclose($bz);
?>

See also bzread() and bzopen().

이전 | 위로 | 다음
bzread | 처음으로 | XI. 달력 함수


달력 함수

이전 VI. 함수 레퍼런스 다음

XI. 달력 함수

소개

이 달력(calendar) 확장은 서로 다른 달력 형태를 변환시켜 주는 함수들을 제공한다. 율리우스 날짜수(Julian Day Count)에 기반하여 변환이 된다. 율리우스 날짜수은 율리우스 1세, 4713 B.C. 부터 지난 날짜수가 된다. 달력 시스템 사이의 변환을 위해서는, 먼저 율리우스 날짜수으로 변환해야 하고, 그 다음에 원하는 달력 시스템으로 변환하는것이다. 율리우스 날짜수는 율리우스력(Julian Calendar)와는 매우 다른것이다! 율리우스 날짜수(Julian Day Count)에 대해 더 많은 정보를 얻고 싶으면 » http://www.hermetic.ch/cal_stud/jdn.htm를 방문한다. 날짜 시스템에 관한 더 많은 정보를 원하면 » http://www.fourmilab.ch/documents/calendar/를 방문한다. 이 설명서중에서는 위의 페이지에서 발취한 내용을 ""로 둘러 싸고 있다.

설치

이 함수들를 작동시키기 위해서는, PHP를 컴파일할때 --enable-calendar 옵션을 써야 한다.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

CAL_GREGORIAN (integer)
CAL_JULIAN (integer)
CAL_JEWISH (integer)
CAL_FRENCH (integer)
CAL_NUM_CALS (integer)
CAL_DOW_DAYNO (integer)
CAL_DOW_SHORT (integer)
CAL_DOW_LONG (integer)
CAL_MONTH_GREGORIAN_SHORT (integer)
CAL_MONTH_GREGORIAN_LONG (integer)
CAL_MONTH_JULIAN_SHORT (integer)
CAL_MONTH_JULIAN_LONG (integer)
CAL_MONTH_JEWISH (integer)
CAL_MONTH_FRENCH (integer)

The following constants are available since PHP 4.3.0 :

CAL_EASTER_DEFAULT (integer)
CAL_EASTER_ROMAN (integer)
CAL_EASTER_ALWAYS_GREGORIAN (integer)
CAL_EASTER_ALWAYS_JULIAN (integer)

The following constants are available since PHP 5.0.0 :

CAL_JEWISH_ADD_ALAFIM_GERESH (integer)
CAL_JEWISH_ADD_ALAFIM (integer)
CAL_JEWISH_ADD_GERESHAYIM (integer)

차례

cal_days_in_month -- Return the number of days in a month for a given year and calendar
cal_from_jd -- Converts from Julian Day Count to a supported calendar
cal_info -- Returns information about a particular calendar
cal_to_jd -- Converts from a supported calendar to Julian Day Count
easter_date -- Get Unix timestamp for midnight on Easter of a given year
easter_days -- Get number of days after March 21 on which Easter falls for a given year
FrenchToJD -- Converts a date from the French Republican Calendar to a Julian Day Count
GregorianToJD -- Converts a Gregorian date to Julian Day Count
JDDayOfWeek -- Returns the day of the week
JDMonthName -- Returns a month name
JDToFrench -- Converts a Julian Day Count to the French Republican Calendar
JDToGregorian -- Converts Julian Day Count to Gregorian date
jdtojewish -- Converts a Julian day count to a Jewish calendar date
JDToJulian -- Converts a Julian Day Count to a Julian Calendar Date
jdtounix -- Convert Julian Day to Unix timestamp
JewishToJD -- Converts a date in the Jewish Calendar to Julian Day Count
JulianToJD -- Converts a Julian Calendar date to Julian Day Count
unixtojd -- Convert Unix timestamp to Julian Day
이전 | 위로 | 다음
bzwrite | 처음으로 | cal_days_in_month


cal_days_in_month

(PHP 4 >= 4.0.7, PHP 5)

cal_days_in_month -- Return the number of days in a month for a given year and calendar

설명

int cal_days_in_month ( int $calendar, int $month, int $year )

This function will return the number of days in the month of year for the specified calendar.

매개변수

calendar

Calendar to use for calculation

month

Month in the selected calendar

year

Year in the selected calendar

반환값

The length in days of the selected month in the given calendar

예제

예 304. cal_days_in_month() example

<?php
$num = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "There was $num days in August 2003";
?>

이전 | 위로 | 다음
XI. 달력 함수 | 처음으로 | cal_from_jd


cal_from_jd

(PHP 4 >= 4.0.7, PHP 5)

cal_from_jd -- Converts from Julian Day Count to a supported calendar

설명

array cal_from_jd ( int $jd, int $calendar )

cal_from_jd() converts the Julian day given in jd into a date of the specified calendar. Supported calendar values are CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH and CAL_FRENCH.

매개변수

jd

Julian day as integer

calendar

Calendar to convert to

반환값

Returns an array containing calendar information like month, day, year, day of week, abbreviated and full names of weekday and month and the date in string form "month/day/year".

예제

예 305. cal_from_jd() example

<?php
$today = unixtojd(mktime(0, 0, 0, 8, 16, 2003));
print_r(cal_from_jd($today, CAL_GREGORIAN));
?>

위 예제의 출력:

Array
(
    [date] => 8/16/2003
    [month] => 8
    [day] => 16
    [year] => 2003
    [dow] => 6
    [abbrevdayname] => Sat
    [dayname] => Saturday
    [abbrevmonth] => Aug
    [monthname] => August
)

참고

cal_to_jd()
jdtofrench()
jdtogregorian()
jdtojewish()
jdtojulian()
jdtounix()

이전 | 위로 | 다음
cal_days_in_month | 처음으로 | cal_info


cal_info

(PHP 4 >= 4.0.7, PHP 5)

cal_info -- Returns information about a particular calendar

설명

array cal_info ( [int $calendar] )

cal_info() returns information on the specified calendar.

Calendar information is returned as an array containing the elements calname, calsymbol, month, abbrevmonth and maxdaysinmonth. The names of the different calendars which can be used as calendar are as follows:

  • 0 or CAL_GREGORIAN - Gregorian Calendar
  • 1 or CAL_JULIAN - Julian Calendar
  • 2 or CAL_JEWISH - Jewish Calendar
  • 3 or CAL_FRENCH - French Revolutionary Calendar

If no calendar is specified information on all supported calendars is returned as an array.

매개변수

calendar

Calendar to return information for. If no calendar is specified information about all calendars is returned.

반환값

변경 기록

버전 | 설명
Since 5.0 | The calendar parameter becomes optional and defaults to "all calendars" if omitted.

예제

예 306. cal_info() example

<?php
$info = cal_info(0);
print_r($info);
?>

위 예제의 출력:

Array
(
    [months] => Array
        (
            [1] => January
            [2] => February
            [3] => March
            [4] => April
            [5] => May
            [6] => June
            [7] => July
            [8] => August
            [9] => September
            [10] => October
            [11] => November
            [12] => December
        )

    [abbrevmonths] => Array
        (
            [1] => Jan
            [2] => Feb
            [3] => Mar
            [4] => Apr
            [5] => May
            [6] => Jun
            [7] => Jul
            [8] => Aug
            [9] => Sep
            [10] => Oct
            [11] => Nov
            [12] => Dec
        )

    [maxdaysinmonth] => 31
    [calname] => Gregorian
    [calsymbol] => CAL_GREGORIAN
)

이전 | 위로 | 다음
cal_from_jd | 처음으로 | cal_to_jd


cal_to_jd

(PHP 4 >= 4.0.7, PHP 5)

cal_to_jd -- Converts from a supported calendar to Julian Day Count

설명

int cal_to_jd ( int $calendar, int $month, int $day, int $year )

cal_to_jd() calculates the Julian day count for a date in the specified calendar. Supported calendars are CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH and CAL_FRENCH.

매개변수

calendar

Calendar to convert from, one of CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH or CAL_FRENCH.

month

The month as a number, the valid range depends on the calendar

day

The day as a number, the valid range depends on the calendar

year

The year as a number, the valid range depends on the calendar

반환값

A Julian Day number.

참고

cal_from_jd()
frenchtojd()
gregoriantojd()
jewishtojd()
juliantojd()
unixtojd()

이전 | 위로 | 다음
cal_info | 처음으로 | easter_date


easter_date

(PHP 4, PHP 5)

easter_date -- Get Unix timestamp for midnight on Easter of a given year

설명

int easter_date ( [int $year] )

Returns the Unix timestamp corresponding to midnight on Easter of the given year.

주의

This function will generate a warning if the year is outside of the range for Unix timestamps (i.e. before 1970 or after 2037).

The date of Easter Day was defined by the Council of Nicaea in AD325 as the Sunday after the first full moon which falls on or after the Spring Equinox. The Equinox is assumed to always fall on 21st March, so the calculation reduces to determining the date of the full moon and the date of the following Sunday. The algorithm used here was introduced around the year 532 by Dionysius Exiguus. Under the Julian Calendar (for years before 1753) a simple 19-year cycle is used to track the phases of the Moon. Under the Gregorian Calendar (for years after 1753 - devised by Clavius and Lilius, and introduced by Pope Gregory XIII in October 1582, and into Britain and its then colonies in September 1752) two correction factors are added to make the cycle more accurate.

(The code is based on a C program by Simon Kershaw, <webmaster at ely.anglican dot org>)

매개변수

year

The year as a number between 1970 an 2037

반환값

The easter date as a unix timestamp.

변경 기록

버전 | 설명
Since 4.3.0 | The year parameter is optional and defaults to the current year according to the local time if omitted.

예제

예 307. easter_date() example

<?php

echo date("M-d-Y", easter_date(1999));        // Apr-04-1999
echo date("M-d-Y", easter_date(2000));        // Apr-23-2000
echo date("M-d-Y", easter_date(2001));        // Apr-15-2001

?>

참고

easter_days() for calculating Easter before 1970 or after 2037

참고

easter_days()

이전 | 위로 | 다음
cal_to_jd | 처음으로 | easter_days


easter_days

(PHP 4, PHP 5)

easter_days -- Get number of days after March 21 on which Easter falls for a given year

설명

int easter_days ( [int $year [, int $method]] )

Returns the number of days after March 21 on which Easter falls for a given year. If no year is specified, the current year is assumed.

This function can be used instead of easter_date() to calculate Easter for years which fall outside the range of Unix timestamps (i.e. before 1970 or after 2037).

The date of Easter Day was defined by the Council of Nicaea in AD325 as the Sunday after the first full moon which falls on or after the Spring Equinox. The Equinox is assumed to always fall on 21st March, so the calculation reduces to determining the date of the full moon and the date of the following Sunday. The algorithm used here was introduced around the year 532 by Dionysius Exiguus. Under the Julian Calendar (for years before 1753) a simple 19-year cycle is used to track the phases of the Moon. Under the Gregorian Calendar (for years after 1753 - devised by Clavius and Lilius, and introduced by Pope Gregory XIII in October 1582, and into Britain and its then colonies in September 1752) two correction factors are added to make the cycle more accurate.

(The code is based on a C program by Simon Kershaw, <webmaster at ely.anglican dot org>)

매개변수

year

The year as a number between 1970 an 2037

반환값

The number of days after March 21st that the Easter Sunday is in the given year.

변경 기록

버전 | 설명
Since 4.3.0 | The year parameter is optional and defaults to the current year according to the local time if omitted.
Since 4.3.0 | The method parameter was introduced and allows to calculate easter dates based on the Gregorian calendar during the years 1582 - 1752 when set to CAL_EASTER_ROMAN. See the calendar constants for more valid constants.

예제

예 308. easter_days() example

<?php

echo easter_days(1999);        // 14, i.e. April 4
echo easter_days(1492);        // 32, i.e. April 22
echo easter_days(1913);        //  2, i.e. March 23

?>

참고

easter_date()

이전 | 위로 | 다음
easter_date | 처음으로 | FrenchToJD


FrenchToJD

(PHP 4, PHP 5)

FrenchToJD -- Converts a date from the French Republican Calendar to a Julian Day Count

설명

int frenchtojd ( int $month, int $day, int $year )

Converts a date from the French Republican Calendar to a Julian Day Count.

These routines only convert dates in years 1 through 14 (Gregorian dates 22 September 1792 through 22 September 1806). This more than covers the period when the calendar was in use.

매개변수

month

The month as a number from 1 (for Vend?(C)miaire) to 13 (for the period of 5-6 days at the end of each year)

day

The day as a number from 1 to 30

year

The year as a number between 1 and 14

반환값

The julian day for the given french revolution date as an integer.

참고

jdtofrench()
cal_to_jd()

이전 | 위로 | 다음
easter_days | 처음으로 | GregorianToJD


GregorianToJD

(PHP 4, PHP 5)

GregorianToJD -- Converts a Gregorian date to Julian Day Count

설명

int gregoriantojd ( int $month, int $day, int $year )

Valid Range for Gregorian Calendar 4714 B.C. to 9999 A.D.

Although this function can handle dates all the way back to 4714 B.C., such use may not be meaningful. The Gregorian calendar was not instituted until October 15, 1582 (or October 5, 1582 in the Julian calendar). Some countries did not accept it until much later. For example, Britain converted in 1752, The USSR in 1918 and Greece in 1923. Most European countries used the Julian calendar prior to the Gregorian.

매개변수

month

The month as a number from 1 (for January) to 12 (for December)

day

The day as a number from 1 to 31

year

The year as a number between -4714 and 9999

반환값

The julian day for the given gregorian date as an integer.

예제

예 309. Calendar functions

<?php
$jd = GregorianToJD(10, 11, 1970);
echo "$jd\n";
$gregorian = JDToGregorian($jd);
echo "$gregorian\n";
?>

참고

jdtogregorian()
cal_to_jd()

이전 | 위로 | 다음
FrenchToJD | 처음으로 | JDDayOfWeek


JDDayOfWeek

(PHP 4, PHP 5)

JDDayOfWeek -- Returns the day of the week

설명

mixed jddayofweek ( int $julianday [, int $mode] )

Returns the day of the week. Can return a string or an integer depending on the mode.

매개변수

julianday

A julian day number as integer

mode

표 21. Calendar week modes

Mode | Meaning
0 (Default) | Return the day number as an int (0=Sunday, 1=Monday, etc)
1 | Returns string containing the day of week (English-Gregorian)
2 | Return a string containing the abbreviated day of week (English-Gregorian)

반환값

The gregorian weekday as either an integer or string.

이전 | 위로 | 다음
GregorianToJD | 처음으로 | JDMonthName


JDMonthName

(PHP 4, PHP 5)

JDMonthName -- Returns a month name

설명

string jdmonthname ( int $julianday, int $mode )

Returns a string containing a month name. mode tells this function which calendar to convert the Julian Day Count to, and what type of month names are to be returned.

표 22. Calendar modes

Mode | Meaning | Values
0 | Gregorian - abbreviated | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
1 | Gregorian | January, February, March, April, May, June, July, August, September, October, November, December
2 | Julian - abbreviated | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
3 | Julian | January, February, March, April, May, June, July, August, September, October, November, December
4 | Jewish | Tishri, Heshvan, Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
5 | French Republican | Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial, Messidor, Thermidor, Fructidor, Extra

매개변수

jday

The Julian Day to operate on

calendar

The calendar to take the month name from

반환값

The month name for the given Julian Day and calendar.

이전 | 위로 | 다음
JDDayOfWeek | 처음으로 | JDToFrench


JDToFrench

(PHP 4, PHP 5)

JDToFrench -- Converts a Julian Day Count to the French Republican Calendar

설명

string jdtofrench ( int $juliandaycount )

Converts a Julian Day Count to the French Republican Calendar.

매개변수

julianday

A julian day number as integer

반환값

The french revolution date as a string in the form "month/day/year"

참고

frenchtojd()
cal_from_jd()

이전 | 위로 | 다음
JDMonthName | 처음으로 | JDToGregorian


JDToGregorian

(PHP 4, PHP 5)

JDToGregorian -- Converts Julian Day Count to Gregorian date

설명

string jdtogregorian ( int $julianday )

Converts Julian Day Count to a string containing the Gregorian date in the format of "month/day/year".

매개변수

julianday

A julian day number as integer

반환값

The gregorian date as a string in the form "month/day/year"

참고

gregoriantojd()
cal_from_jd()

이전 | 위로 | 다음
JDToFrench | 처음으로 | jdtojewish


jdtojewish

(PHP 4, PHP 5)

jdtojewish -- Converts a Julian day count to a Jewish calendar date

설명

string jdtojewish ( int $juliandaycount [, bool $hebrew [, int $fl]] )

Converts a Julian Day Count to the Jewish Calendar.

매개변수

julianday

A julian day number as integer

hebrew

If the hebrew parameter is set to TRUE, the fl parameter is used for Hebrew, string based, output format.

fl

The available formats are: CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM, CAL_JEWISH_ADD_GERESHAYIM.

반환값

The jewish date as a string in the form "month/day/year"

변경 기록

버전 | 설명
5.0.0 | The hebrew and fl parameters were added

예제

예 310. jdtojewish() Example

<?php
echo jdtojewish(gregoriantojd(10, 8, 2002), true,
       CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH);
?>

참고

jewishtojd()
cal_from_jd()

이전 | 위로 | 다음
JDToGregorian | 처음으로 | JDToJulian


JDToJulian

(PHP 4, PHP 5)

JDToJulian -- Converts a Julian Day Count to a Julian Calendar Date

설명

string jdtojulian ( int $julianday )

Converts Julian Day Count to a string containing the Julian Calendar Date in the format of "month/day/year".

매개변수

julianday

A julian day number as integer

반환값

The julian date as a string in the form "month/day/year"

참고

juliantojd()
cal_from_jd()

이전 | 위로 | 다음
jdtojewish | 처음으로 | jdtounix


jdtounix

(PHP 4, PHP 5)

jdtounix -- Convert Julian Day to Unix timestamp

설명

int jdtounix ( int $jday )

This function will return a Unix timestamp corresponding to the Julian Day given in jday or FALSE if jday is not inside the Unix epoch (Gregorian years between 1970 and 2037 or 2440588 <= jday <= 2465342 ). The time returned is localtime (and not GMT).

매개변수

jday

A julian day number between 2440588 and 2465342.

반환값

The unix timestamp for the start of the given julian day.

참고

unixtojd()

이전 | 위로 | 다음
JDToJulian | 처음으로 | JewishToJD


JewishToJD

(PHP 4, PHP 5)

JewishToJD -- Converts a date in the Jewish Calendar to Julian Day Count

설명

int jewishtojd ( int $month, int $day, int $year )

Although this function can handle dates all the way back to the year 1 (3761 B.C.), such use may not be meaningful. The Jewish calendar has been in use for several thousand years, but in the early days there was no formula to determine the start of a month. A new month was started when the new moon was first observed.

매개변수

month

The month as a number from 1 to 13

day

The day as a number from 1 to 30

year

The year as a number between 1 and 9999

반환값

The julian day for the given jewish date as an integer.

참고

jdtojewish()
cal_to_jd()

이전 | 위로 | 다음
jdtounix | 처음으로 | JulianToJD


JulianToJD

(PHP 4, PHP 5)

JulianToJD -- Converts a Julian Calendar date to Julian Day Count

설명

int juliantojd ( int $month, int $day, int $year )

Valid Range for Julian Calendar 4713 B.C. to 9999 A.D.

Although this function can handle dates all the way back to 4713 B.C., such use may not be meaningful. The calendar was created in 46 B.C., but the details did not stabilize until at least 8 A.D., and perhaps as late at the 4th century. Also, the beginning of a year varied from one culture to another - not all accepted January as the first month.

경고

Remember, the current calendar system being used worldwide is the Gregorian calendar. gregoriantojd() can be used to convert such dates to their Julian Day count.

매개변수

month

The month as a number from 1 (for January) to 12 (for December)

day

The day as a number from 1 to 31

year

The year as a number between -4713 and 9999

반환값

The julian day for the given julian date as an integer.

참고

jdtojulian()
cal_to_jd()

이전 | 위로 | 다음
JewishToJD | 처음으로 | unixtojd


unixtojd

(PHP 4, PHP 5)

unixtojd -- Convert Unix timestamp to Julian Day

설명

int unixtojd ( [int $timestamp] )

Return the Julian Day for a Unix timestamp (seconds since 1.1.1970), or for the current day if no timestamp is given.

매개변수

timestamp

A unix timestamp to convert.

반환값

A julian day number as integer.

참고

jdtounix()

이전 | 위로 | 다음
JulianToJD | 처음으로 | XII. CCVS API Functions [deprecated]


CCVS API Functions [deprecated]

이전 VI. 함수 레퍼런스 다음

XII. CCVS API Functions [deprecated]

소개

These functions interface the CCVS API, allowing you to work directly with CCVS from your PHP scripts. CCVS is » RedHat's solution to the "middle-man" in credit card processing. It lets you directly address the credit card clearing houses via your *nix box and a modem. Using the CCVS module for PHP, you can process credit cards directly through CCVS via your PHP Scripts. The following references will outline the process.

참고: CCVS has been discontinued by Red Hat and there are no plans to issue further keys or support contracts. Those looking for a replacement can consider » MCVE by Main Street Softworks as a potential replacement. It is similar in design and has documented PHP support!

This extension has been removed from PHP and is no longer available as of PHP 4.3.0. If you want to use credit card processing features you can use MCVE instead.

설치

To enable CCVS Support in PHP, first verify your CCVS installation directory. You will then need to configure PHP with the --with-ccvs option. If you use this option without specifying the path to your CCVS installation, PHP will attempt to look in the default CCVS Install location (/usr/local/ccvs). If CCVS is in a non-standard location, run configure with: --with-ccvs=[DIR], where DIR is the path to your CCVS installation. Please note that CCVS support requires that DIR/lib and DIR/include exist, and include cv_api.h under the include directory and libccvs.a under the lib directory.

Additionally, a ccvsd process will need to be running for the configurations you intend to use in your PHP scripts. You will also need to make sure the PHP Processes are running under the same user as your CCVS was installed as (e.g. if you installed CCVS as user 'ccvs', your PHP processes must run as 'ccvs' as well.)

참고

RedHat has discontinued support for CCVS; however, a slightly outdated manual is still available at » http://www.redhat.com/docs/manuals/ccvs/.

차례

ccvs_add -- Add data to a transaction
ccvs_auth -- Perform credit authorization test on a transaction
ccvs_command -- Performs a command which is peculiar to a single protocol, and thus is not available in the general CCVS API
ccvs_count -- Find out how many transactions of a given type are stored in the system
ccvs_delete -- Delete a transaction
ccvs_done -- Terminate CCVS engine and do cleanup work
ccvs_init -- Initialize CCVS for use
ccvs_lookup -- Look up an item of a particular type in the database #
ccvs_new -- Create a new, blank transaction
ccvs_report -- Return the status of the background communication process
ccvs_return -- Transfer funds from the merchant to the credit card holder
ccvs_reverse -- Perform a full reversal on an already-processed authorization
ccvs_sale -- Transfer funds from the credit card holder to the merchant
ccvs_status -- Check the status of an invoice
ccvs_textvalue -- Get text return value for previous function call
ccvs_void -- Perform a full reversal on a completed transaction
이전 | 위로 | 다음
unixtojd | 처음으로 | ccvs_add


ccvs_add

(PHP 4 >= 4.0.3)

ccvs_add -- Add data to a transaction

설명

string ccvs_add ( string $session, string $invoice, string $argtype, string $argval )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
XII. CCVS API Functions [deprecated] | 처음으로 | ccvs_auth


ccvs_auth

(PHP 4 >= 4.0.3)

ccvs_auth -- Perform credit authorization test on a transaction

설명

string ccvs_auth ( string $session, string $invoice )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_add | 처음으로 | ccvs_command


ccvs_command

(PHP 4 >= 4.0.3)

ccvs_command -- Performs a command which is peculiar to a single protocol, and thus is not available in the general CCVS API

설명

string ccvs_command ( string $session, string $type, string $argval )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_auth | 처음으로 | ccvs_count


ccvs_count

(PHP 4 >= 4.0.3)

ccvs_count -- Find out how many transactions of a given type are stored in the system

설명

int ccvs_count ( string $session, string $type )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_command | 처음으로 | ccvs_delete


ccvs_delete

(PHP 4 >= 4.0.3)

ccvs_delete -- Delete a transaction

설명

string ccvs_delete ( string $session, string $invoice )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_count | 처음으로 | ccvs_done


ccvs_done

(PHP 4 >= 4.0.3)

ccvs_done -- Terminate CCVS engine and do cleanup work

설명

string ccvs_done ( string $sess )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_delete | 처음으로 | ccvs_init


ccvs_init

(PHP 4 >= 4.0.3)

ccvs_init -- Initialize CCVS for use

설명

string ccvs_init ( string $name )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_done | 처음으로 | ccvs_lookup


ccvs_lookup

(PHP 4 >= 4.0.3)

ccvs_lookup -- Look up an item of a particular type in the database #

설명

string ccvs_lookup ( string $session, string $invoice, int $inum )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_init | 처음으로 | ccvs_new


ccvs_new

(PHP 4 >= 4.0.3)

ccvs_new -- Create a new, blank transaction

설명

string ccvs_new ( string $session, string $invoice )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_lookup | 처음으로 | ccvs_report


ccvs_report

(PHP 4 >= 4.0.3)

ccvs_report -- Return the status of the background communication process

설명

string ccvs_report ( string $session, string $type )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_new | 처음으로 | ccvs_return


ccvs_return

(PHP 4 >= 4.0.3)

ccvs_return -- Transfer funds from the merchant to the credit card holder

설명

string ccvs_return ( string $session, string $invoice )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_report | 처음으로 | ccvs_reverse


ccvs_reverse

(PHP 4 >= 4.0.3)

ccvs_reverse -- Perform a full reversal on an already-processed authorization

설명

string ccvs_reverse ( string $session, string $invoice )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_return | 처음으로 | ccvs_sale


ccvs_sale

(PHP 4 >= 4.0.3)

ccvs_sale -- Transfer funds from the credit card holder to the merchant

설명

string ccvs_sale ( string $session, string $invoice )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_reverse | 처음으로 | ccvs_status


ccvs_status

(PHP 4 >= 4.0.3)

ccvs_status -- Check the status of an invoice

설명

string ccvs_status ( string $session, string $invoice )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_sale | 처음으로 | ccvs_textvalue


ccvs_textvalue

(PHP 4 >= 4.0.3)

ccvs_textvalue -- Get text return value for previous function call

설명

string ccvs_textvalue ( string $session )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_status | 처음으로 | ccvs_void


ccvs_void

(PHP 4 >= 4.0.3)

ccvs_void -- Perform a full reversal on a completed transaction

설명

string ccvs_void ( string $session, string $invoice )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ccvs_textvalue | 처음으로 | XIII. 클래스/객체 함수


COM and .Net (Windows)

이전 VI. 함수 레퍼런스 다음

XVI. COM and .Net (Windows)

소개

COM is an acronym for Component Object Model; it is an object orientated layer (and associated services) on top of DCE RPC (an open standard) and defines a common calling convention that enables code written in any language to call and interoperate with code written in any other language (provided those languages are COM aware). Not only can the code be written in any language, but it need not even be part of the same executable; the code can be loaded from a DLL, be found in another process running on the same machine, or, with DCOM (Distributed COM), be found in another process on a remote machine, all without your code even needing to know where a component resides.

There is a subset of COM known as OLE Automation which comprises a set of COM interfaces that allow loose binding to COM objects, so that they can be introspected and called at run-time without compile-time knowledge of how the object works. The PHP COM extension utilizes the OLE Automation interfaces to allow you to create and call compatible objects from your scripts. Technically speaking, this should really be called the "OLE Automation Extension for PHP", since not all COM objects are OLE compatible.

Now, why would or should you use COM? COM is one of the main ways to glue applications and components together on the Windows platform; using COM you can launch Microsoft Word, fill in a document template and save the result as a Word document and send it to a visitor of your web site. You can also use COM to perform administrative tasks for your network and to configure your IIS; these are just the most common uses; you can do much more with COM.

Starting with PHP 5, this extension (and this documentation) was rewritten from scratch and much of the old confusing and bogus cruft has be removed. Additionally, we support the instantiation and creation of .Net assemblies using the COM interoperability layer provided by Microsoft.

Please read » this article for an overview of the changes in this extension in PHP 5.

요구 조건

COM functions are only available for the Windows version of PHP.

.Net support requires PHP 5 and the .Net runtime.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

You are responsible for installing support for the various COM objects that you intend to use (such as MS Word); we don't and can't bundle all of those with PHP.

For Each

Starting with PHP 5, you may use PHP's own foreach statement to iterate over the contents of a standard COM/OLE IEnumVariant. In laymans terms, this means that you can use foreach in places where you would have used For Each in VB/ASP code.

예 334. For Each in ASP

<%
Set domainObject = GetObject("WinNT://Domain")
For Each obj in domainObject
  Response.Write obj.Name & "<br />"
Next
%>

예 335. while() ... Next() in PHP 4

<?php
$domainObject = new COM("WinNT://Domain");
while ($obj = $domainObject->Next()) {
   echo $obj->Name . "<br />";
}
?>

예 336. foreach in PHP 5

<?php
$domainObject = new COM("WinNT://Domain");
foreach ($domainObject as $obj) {
   echo $obj->Name . "<br />";
}
?>

Arrays and Array-style COM properties

Many COM objects expose their properties as arrays, or using array-style access. In PHP 4, you may use PHP array syntax to read/write such a property, but only a single dimension is allowed. If you want to read a multi-dimensional property, you could instead make the property access into a function call, with each parameter representing each dimension of the array access, but there is no way to write to such a property.

PHP 5 introduces the following new features to make your life easier:

  • Access multi-dimensional arrays, or COM properties that require multiple parameters using PHP array syntax. You can also write or set properties using this technique.

  • Iterate SafeArrays ("true" arrays) using the “foreach” control structure. This works because SafeArrays include information about their size. If an array-style property implements IEnumVariant then you can also use foreach for that property too; take a look at “For Each” for more information on this topic.

Exceptions (PHP 5)

This extension will throw instances of the class com_exception whenever there is a potentially fatal error reported by COM. All COM exceptions have a well-defined code property that corresponds to the HRESULT return value from the various COM operations. You may use this code to make programmatic decisions on how to handle the exception.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 23. Com configuration options

Name | Default | Changeable | Changelog
com.allow_dcom | "0" | PHP_INI_SYSTEM | Available since PHP 4.0.5.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Available since PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Available since PHP 4.0.5.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

com.allow_dcom

When this is turned on, PHP will be allowed to operate as a D-COM (Distributed COM) client and will allow the PHP script to instantiate COM objects on a remote server.

com.autoregister_typelib

When this is turned on, PHP will attempt to register constants from the typelibrary of objects that it instantiates, if those objects implement the interfaces required to obtain that information. The case sensitivity of the constants it registers is controlled by the com.autoregister_casesensitive configuration directive.

com.autoregister_verbose

When this is turned on, any problems with loading a typelibrary during object instantiation will be reported using the PHP error mechanism. The default is off, which does not emit any indication if there was an error finding or loading the type library.

com.autoregister_casesensitive

When this is turned on (the default), constants found in auto-loaded type libraries will be registered case sensitively. See com_load_typelib() for more details.

com.code_page

It controls the default character set code-page to use when passing strings to and from COM objects. If set to an empty string, PHP will assume that you want CP_ACP, which is the default system ANSI code page.

If the text in your scripts is encoded using a different encoding/character set by default, setting this directive will save you from having to pass the code page as a parameter to the COM class constructor. Please note that by using this directive (as with any PHP configuration directive), your PHP script becomes less portable; you should use the COM constructor parameter whenever possible.

참고: This configuration directive was introduced with PHP 5.

com.typelib_file

When set, this should hold the path to a file that contains a list of typelibraries that should be loaded on startup. Each line of the file will be treated as the type library name and loaded as though you had called com_load_typelib(). The constants will be registered persistently, so that the library only needs to be loaded once. If a type library name ends with the string #cis or #case_insensitive, then the constants from that library will be registered case insensitively.

자원형

This extension defines a reference to a COM component returned by deprecated com_load() (this function does not exist in PHP 5; use the COM class instead).

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

CLSCTX_INPROC_SERVER (integer)
CLSCTX_INPROC_HANDLER (integer)
CLSCTX_LOCAL_SERVER (integer)
CLSCTX_REMOTE_SERVER (integer)
CLSCTX_SERVER (integer)
CLSCTX_ALL (integer)
VT_NULL (integer)
VT_EMPTY (integer)
VT_UI1 (integer)
VT_I2 (integer)
VT_I4 (integer)
VT_R4 (integer)
VT_R8 (integer)
VT_BOOL (integer)
VT_ERROR (integer)
VT_CY (integer)
VT_DATE (integer)
VT_BSTR (integer)
VT_DECIMAL (integer)
VT_UNKNOWN (integer)
VT_DISPATCH (integer)
VT_VARIANT (integer)
VT_I1 (integer)
VT_UI2 (integer)
VT_UI4 (integer)
VT_INT (integer)
VT_UINT (integer)
VT_ARRAY (integer)
VT_BYREF (integer)
CP_ACP (integer)
CP_MACCP (integer)
CP_OEMCP (integer)
CP_UTF7 (integer)
CP_UTF8 (integer)
CP_SYMBOL (integer)
CP_THREAD_ACP (integer)
VARCMP_LT (integer)
VARCMP_EQ (integer)
VARCMP_GT (integer)
VARCMP_NULL (integer)
NORM_IGNORECASE (integer)
NORM_IGNORENONSPACE (integer)
NORM_IGNORESYMBOLS (integer)
NORM_IGNOREWIDTH (integer)
NORM_IGNOREKANATYPE (integer)
NORM_IGNOREKASHIDA (integer)
DISP_E_DIVBYZERO (integer)
DISP_E_OVERFLOW (integer)
MK_E_UNAVAILABLE (integer)

참고

For further information on COM read the » COM specification or perhaps take a look at Don Box's » Yet Another COM Library (YACL). You might find some additional useful information in our FAQ for 67장. PHP와 COM. If you're thinking of using MS Office applications on the server side, you should read the information here: » Considerations for Server-Side Automation of Office.

차례

COM -- COM class
DOTNET -- DOTNET class
VARIANT -- VARIANT class
com_addref -- Increases the components reference counter [deprecated]
com_create_guid -- Generate a globally unique identifier (GUID)
com_event_sink -- Connect events from a COM object to a PHP object
com_get_active_object -- Returns a handle to an already running instance of a COM object
com_get -- Gets the value of a COM Component's property [deprecated]
com_invoke -- Calls a COM component's method [deprecated]
com_isenum -- Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]
com_load_typelib -- Loads a Typelib
com_load -- Creates a new reference to a COM component [deprecated]
com_message_pump -- Process COM messages, sleeping for up to timeoutms milliseconds
com_print_typeinfo -- Print out a PHP class definition for a dispatchable interface
com_propget -- Alias of com_get()
com_propput -- Alias of com_set()
com_propset -- Alias of com_set()
com_release -- Decreases the components reference counter [deprecated]
com_set -- Assigns a value to a COM component's property
variant_abs -- Returns the absolute value of a variant
variant_add -- "Adds" two variant values together and returns the result
variant_and -- performs a bitwise AND operation between two variants and returns the result
variant_cast -- Convert a variant into a new variant object of another type
variant_cat -- concatenates two variant values together and returns the result
variant_cmp -- Compares two variants
variant_date_from_timestamp -- Returns a variant date representation of a Unix timestamp
variant_date_to_timestamp -- Converts a variant date/time value to Unix timestamp
variant_div -- Returns the result from dividing two variants
variant_eqv -- Performs a bitwise equivalence on two variants
variant_fix -- Returns the integer portion ? of a variant
variant_get_type -- Returns the type of a variant object
variant_idiv -- Converts variants to integers and then returns the result from dividing them
variant_imp -- Performs a bitwise implication on two variants
variant_int -- Returns the integer portion of a variant
variant_mod -- Divides two variants and returns only the remainder
variant_mul -- multiplies the values of the two variants and returns the result
variant_neg -- Performs logical negation on a variant
variant_not -- Performs bitwise not negation on a variant
variant_or -- Performs a logical disjunction on two variants
variant_pow -- Returns the result of performing the power function with two variants
variant_round -- Rounds a variant to the specified number of decimal places
variant_set_type -- Convert a variant into another type "in-place"
variant_set -- Assigns a new value for a variant object
variant_sub -- subtracts the value of the right variant from the left variant value and returns the result
variant_xor -- Performs a logical exclusion on two variants
이전 | 위로 | 다음
cpdf_translate | 처음으로 | COM


COM

(No version information available, might be only in CVS)

COM -- COM class

요약

$obj = new COM("Application.ID")

Description

The COM class allows you to instantiate an OLE compatible COM object and call its methods and access its properties.

Methods

com COM::COM ( string $module_name [, mixed $server_name [, int $codepage [, string $typelib]]] )

COM class constructor. The parameters have the following meanings:

module_name

Can be a ProgID, Class ID or Moniker that names the component to load.

A ProgID is typically the application or DLL name, followed by a period, followed by the object name. e.g: Word.Application.

A Class ID is the UUID that uniquely identifies a given class.

A Moniker is a special form of naming, similar in concept to a URL scheme, that identifies a resource and specifies how it should be loaded. As an example, you could load up Word and get an object representing a word document by specifying the full path to the word document as the module name, or you can use LDAP: as a moniker to use the ADSI interface to LDAP.

server_name

The name of the DCOM server on which the component should be loaded and run. If NULL, the object is run using the default for the application. The default is typically to run it on the local machine, although the administrator might have configured the application to launch on a different machine.

If you specify a non-NULL value for server, PHP will refuse to load the object unless the com.allow_dcom configuration option is set to TRUE.

If server_name is an array, it should contain the following elements (case sensitive!). Note that they are all optional (although you need to specify both Username and Password together); if you omit the Server setting, the default server will be used (as mentioned above), and the instantiation of the object will not be affected by the com.allow_dcom directive.

표 24. DCOM server name

server_name key | type | description
Server | string | The name of the server.
Username | string | The username to connect as.
Password | string | The password for Username.
Flags | integer | One or more of the following constants, logically OR'd together: CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER and CLSCTX_ALL. The default value if not specified here is CLSCTX_SERVER if you also omit Server, or CLSCTX_REMOTE_SERVER if you do specify a server. You should consult the Microsoft documentation for CoCreateInstance for more information on the meaning of these constants; you will typically never have to use them.

codepage

Specifies the codepage that is used to convert strings to unicode-strings and vice versa. The conversion is applied whenever a PHP string is passed as a parameter or returned from a method of this COM object. The code page is sticky in PHP 5, which means that it will propagate to objects and variants returned from the object.

Possible values are CP_ACP (use system default ANSI code page - the default if this parameter is omitted), CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP (use codepage/locale set for the current executing thread), CP_UTF7 and CP_UTF8. You may also use the number for a given codepage; consult the Microsoft documentation for more details on codepages and their numeric values.

Overloaded Methods

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM.

Starting with PHP 5, PHP will automatically detect methods that accept parameters by reference, and will automatically convert regular PHP variables to a form that can be passed by reference. This means that you can call the method very naturally; you needn't go to any extra effort in your code.

In PHP 4, to pass parameters by reference you need to create an instance of the VARIANT class to wrap the byref parameters.

Pseudo Methods

In PHP versions prior to 5, a number of not very pleasant hacks meant that the following method names were not passed through to COM and were handled directly by PHP. PHP 5 eliminates these things; read the details below to determine how to fix your scripts. These magic method names are case insensitive.

void COM::AddRef ( void )

Artificially adds a reference count to the COM object.

주의

You should never need to use this method. It exists as a logical complement to the Release() method below.

void COM::Release ( void )

Artificially removes a reference count from the COM object.

주의

You should never need to use this method. Its existence in PHP is a bug designed to work around a bug that keeps COM objects running longer than they should.

Pseudo Methods for Iterating

These pseudo methods are only available if com_isenum() returns TRUE, in which case, they hide any methods with the same names that might otherwise be provided by the COM object. These methods have all been eliminated in PHP 5, and you should use “For Each” instead.

variant COM::All ( void )

Returns a variant representing a SafeArray that has 10 elements; each element will be an empty/null variant. This function was supposed to return an array containing all the elements from the iterator, but was never completed. Do not use.

variant COM::Next ( void )

Returns a variant representing the next element available from the iterator, or FALSE when there are no more elements.

variant COM::Prev ( void )

Returns a variant representing the previous element available from the iterator, or FALSE when there are no more elements.

void COM::Reset ( void )

Rewinds the iterator back to the start.

COM examples

예 337. COM example (1)

<?php
// starting word
$word = new COM("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";

//bring it to front
$word->Visible = 1;

//open an empty document
$word->Documents->Add();

//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");

//closing word
$word->Quit();

//free the object
$word = null;
?>

예 338. COM example (2)

<?php

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

$rs = $conn->Execute("SELECT * FROM sometable");    // Recordset

$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";

for ($i=0; $i < $num_columns; $i++) {
    $fld[$i] = $rs->Fields($i);
}

$rowcount = 0;
while (!$rs->EOF) {
    for ($i=0; $i < $num_columns; $i++) {
        echo $fld[$i]->value . "\t";
    }
    echo "\n";
    $rowcount++;            // increments rowcount
    $rs->MoveNext();
}

$rs->Close();
$conn->Close();

$rs = null;
$conn = null;

?>

이전 | 위로 | 다음
XVI. COM and .Net (Windows) | 처음으로 | DOTNET


DOTNET

(No version information available, might be only in CVS)

DOTNET -- DOTNET class

요약

$obj = new DOTNET("assembly", "classname")

Description

The DOTNET class allows you to instantiate a class from a .Net assembly and call its methods and access its properties.

Methods

string DOTNET::DOTNET ( string $assembly_name, string $class_name [, int $codepage] )

DOTNET class constructor. assembly_name specifies which assembly should be loaded, and class_name specifices which class in that assembly to instantiate. You may optionally specify a codepage to use for unicode string transformations; see the COM class for more details on code pages.

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM and from there to DOTNET. In other words, the .Net object is mapped through the COM interoperability layer provided by the .Net runtime.

Once you have created a DOTNET object, PHP treats it identically to any other COM object; all the same rules apply.

예 339. DOTNET example

<?php
  $stack = new DOTNET("mscorlib", "System.Collections.Stack");
  $stack->Push(".Net");
  $stack->Push("Hello ");
  echo $stack->Pop() . $stack->Pop();
?>

참고: You need to install the .Net runtime on your web server to take advantage of this feature.

이전 | 위로 | 다음
COM | 처음으로 | VARIANT


VARIANT

(No version information available, might be only in CVS)

VARIANT -- VARIANT class

요약

$vVar = new VARIANT($var)

Description

The VARIANT is COM's equivalent of the PHP zval; it is a structure that can contain a value with a range of different possible types. The VARIANT class provided by the COM extension allows you to have more control over the way that PHP passes values to and from COM.

Methods

object VARIANT::VARIANT ( [mixed $value [, int $type [, int $codepage]]] )

VARIANT class constructor. Parameters:

value
initial value. if omitted, or set to NULL an VT_EMPTY object is created.
type

specifies the content type of the VARIANT object. Possible values are one of the VT_XXX “예약 상수”.

In PHP versions prior to PHP 5, you could force PHP to pass a variant object by reference by OR'ing VT_BYREF with the type. In PHP 5, this hack is not supported; instead, PHP 5 can detect parameters passed by reference automatically; they do not even need to be passed as VARIANT objects.

Consult the MSDN library for additional information on the VARIANT type.

codepage
specifies the codepage that is used to convert strings to unicode. See the parameter of the same name in the COM class for more information.

PHP versions prior to PHP 5 define a number of (undocumented) virtual properties for instances of the VARIANT class; these properties have all been removed in PHP 5 in favour of its more natural syntax; these differences are best highlighted by example:

예 340. Variant example, PHP 4.x style

<?php
$v = new VARIANT(42);
print "The type is " . $v->type . "<br/>";
print "The value is " . $v->value . "<br/>";
?>

예 341. Variant example, PHP 5 style

<?php
$v = new VARIANT(42);
print "The type is " . variant_get_type($v) . "<br/>";
print "The value is " . $v . "<br/>";
?>

The reason for the change is that, internally, the COM extension sees VARIANT, COM and DOTNET classes as the same thing, and the design philosophy for these classes is that all property and member accesses are passed through to COM with no interference. The new syntax is more natural and less effort, and most of the removed virtual properties didn't make any sense in a PHP context in any case.

참고: PHP 5 takes a much simpler approach to handling VARIANTs; when returning a value or fetching a variant property, the variant is converted to a PHP value only when there is a direct mapping between the types that would not result in a loss of information. In all other cases, the result is returned as an instance of the VARIANT class. You can force PHP to convert or evaluate the variant as a PHP native type by using a casting operator explicitly, or implicitly casting to a string by print()ing it. You may use the wide range of variant functions to perform arithmetic operations on variants without forcing a conversion or risking a loss of data.

See also variant_get_type().

이전 | 위로 | 다음
DOTNET | 처음으로 | com_addref


com_addref

(PHP 4 >= 4.0.7)

com_addref -- Increases the components reference counter [deprecated]

Description

void com_addref ( void )

Increases the components reference counter.

주의

You should never need to use this function.

이전 | 위로 | 다음
VARIANT | 처음으로 | com_create_guid


com_create_guid

(PHP 5)

com_create_guid -- Generate a globally unique identifier (GUID)

Description

string com_create_guid ( void )

Generates a Globally Unique Identifier (GUID) and returns it as a string. A GUID is generated in the same way as DCE UUID's, except that the Microsoft convention is to enclose a GUID in curly braces.

See also uuid_create() in the PECL uuid extension.

이전 | 위로 | 다음
com_addref | 처음으로 | com_event_sink


com_event_sink

(PHP 4 >= 4.2.0, PHP 5)

com_event_sink -- Connect events from a COM object to a PHP object

Description

bool com_event_sink ( variant $comobject, object $sinkobject [, mixed $sinkinterface] )

Instructs COM to sink events generated by comobject into the PHP object sinkobject. PHP will attempt to use the default dispinterface type specified by the typelibrary associated with comobject, but you may override this choice by setting sinkinterface to the name of the dispinterface that you want to use.

sinkobject should be an instance of a class with methods named after those of the desired dispinterface; you may use com_print_typeinfo() to help generate a template class for this purpose.

Be careful how you use this feature; if you are doing something similar to the example below, then it doesn't really make sense to run it in a web server context.

예 342. COM event sink example

<?php
class IEEventSinker {
  var $terminated = false;

  function ProgressChange($progress, $progressmax) {
    echo "Download progress: $progress / $progressmax\n";
  }

  function DocumentComplete(&$dom, $url) {
    echo "Document $url complete\n";
  }

  function OnQuit() {
    echo "Quit!\n";
    $this->terminated = true;
  }
}
$ie = new COM("InternetExplorer.Application");
// note that you don't need the & for PHP 5!
$sink =& new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.php.net");
while(!$sink->terminated) {
  com_message_pump(4000);
}
$ie = null;
?>

See also com_print_typeinfo(), com_message_pump().

이전 | 위로 | 다음
com_create_guid | 처음으로 | com_get_active_object


com_get_active_object

(PHP 5)

com_get_active_object -- Returns a handle to an already running instance of a COM object

Description

variant com_get_active_object ( string $progid [, int $code_page] )

com_get_active_object() is similar to creating a new instance of a COM object, except that it will only return an object to your script if the object is already running. OLE applications use something known as the Running Object Table to allow well-known applications to be launched only once; this function exposes the COM library function GetActiveObject() to get a handle on a running instance.

progid must be either the ProgID or CLSID for the object that you want to access (for example Word.Application). code_page acts in precisely the same way that it does for the COM class.

If the requested object is running, it will be returned to your script just like any other COM object. Otherwise a com_exception will be raised. There are a variety of reasons why this function might fail, the most common being that the object is not already running. In that situation, the exception error code will be MK_E_UNAVAILABLE; you can use the getCode method of the exception object to check the exception code.

주의

Using com_get_active_object() in a web server context is not always a smart idea. Most COM/OLE applications are not designed to handle more than one client concurrently, even (or especially!) Microsoft Office. You should read » Considerations for Server-Side Automation of Office for more information on the general issues involved.

이전 | 위로 | 다음
com_event_sink | 처음으로 | com_get


com_get

(PHP 4)

com_get -- Gets the value of a COM Component's property [deprecated]

Description

mixed com_get ( resource $com_object, string $property )

Returns the value of the property of the COM component referenced by com_object. Returns FALSE on error.

예 343. Don't use com_get(), use OO syntax instead

<?php
// do this
$var = $obj->property;
// instead of this:
$var = com_get($obj, 'property');
?>

참고: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

이전 | 위로 | 다음
com_get_active_object | 처음으로 | com_invoke


com_invoke

(PHP 4)

com_invoke -- Calls a COM component's method [deprecated]

Description

mixed com_invoke ( resource $com_object, string $function_name [, mixed $function_parameters] )

com_invoke() invokes the method named function_name of the COM component referenced by com_object. com_invoke() returns FALSE on error, returns the function_name's return value on success. All the extra parameters function_parameters are passed to the method function_name.

예 344. Don't use com_invoke(), use OO syntax instead

<?php
// do this
$val = $obj->method($one, $two);
// instead of this:
$val = com_invoke($obj, 'method', $one, $two);
?>

참고: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

이전 | 위로 | 다음
com_get | 처음으로 | com_isenum


com_isenum

(PHP 4 >= 4.0.7)

com_isenum -- Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]

Description

bool com_isenum ( variant $com_module )

Checks to see if a COM object can be enumerated using the Next() method hack. Returns TRUE if it can, FALSE if it cannot. See COM class for more details on these methods.

참고: This function does not exist in PHP 5; use the more natural foreach statement to iterate over the contents of COM objects. See “For Each” for more details.

이전 | 위로 | 다음
com_invoke | 처음으로 | com_load_typelib


com_load_typelib

(PHP 4 >= 4.0.7, PHP 5)

com_load_typelib -- Loads a Typelib

Description

bool com_load_typelib ( string $typelib_name [, bool $case_insensitive] )

Loads a type-library and registers its constants in the engine, as though they were defined using define(). The case_insensitive behaves in the same way as the parameter with the same name in the define() function.

typelib_name can be one of the following:

  • The filename of a .tlb file or the executable module that contains the type library.

  • The type library GUID, followed by its version number, for example {00000200-0000-0010-8000-00AA006D2EA4},2,0.

  • The type library name, e.g. Microsoft OLE DB ActiveX Data Objects 1.0 Library.

PHP will attempt to resolve the type library in this order, as the process gets more and more expensive as you progress down the list; searching for the type library by name is handled by physically enumerating the registry until we find a match.

Note that it is much more efficient to use the com.typelib_file configuration setting to pre-load and register the constants, although not so flexible.

If you have turned on com.autoregister_typelib , then PHP will attempt to automatically register the constants associated with a COM object when you instantiate it. This depends on the interfaces provided by the COM object itself, and may not always be possible.

이전 | 위로 | 다음
com_isenum | 처음으로 | com_load


com_load

(PHP 4)

com_load -- Creates a new reference to a COM component [deprecated]

Description

resource com_load ( string $module_name [, string $ server_name [, int $ codepage ]] )

Equivalent to using the new operator to create an instance of the COM class. You should do that instead of calling this function.

예 345. Don't use com_load(), use OO syntax instead

<?php
// do this
$obj = new COM($module);
// instead of this:
$obj = com_load($module);
?>

참고: This function does not exist in PHP 5; use the COM class instead.

이전 | 위로 | 다음
com_load_typelib | 처음으로 | com_message_pump


com_message_pump

(PHP 4 >= 4.2.0, PHP 5)

com_message_pump -- Process COM messages, sleeping for up to timeoutms milliseconds

Description

bool com_message_pump ( [int $timeoutms] )

This function will sleep for up to timeoutms milliseconds, or until a message arrives in the queue. If a message or messages arrives before the timeout, they will be dispatched, and the function will return TRUE. If the timeout occurs and no messages were processed, the return value will be FALSE. If you do not specify a value for timeoutms, then 0 will be assumed. A 0 value means that no waiting will be performed; if there are messages pending they will be dispatched as before; if there are no messages pending, the function will return FALSE immediately without sleeping.

The purpose of this function is to route COM calls between apartments and handle various synchronization issues. This allows your script to wait efficiently for events to be triggered, while still handling other events or running other code in the background. You should use it in a loop, as demonstrated by the example in the com_event_sink() function, until you are finished using event bound COM objects.

이전 | 위로 | 다음
com_load | 처음으로 | com_print_typeinfo


com_print_typeinfo

(PHP 4 >= 4.2.0, PHP 5)

com_print_typeinfo -- Print out a PHP class definition for a dispatchable interface

Description

bool com_print_typeinfo ( object $comobject [, string $dispinterface [, bool $wantsink]] )

The purpose of this function is to help generate a skeleton class for use as an event sink. You may also use it to generate a dump of any COM object, provided that it supports enough of the introspection interfaces, and that you know the name of the interface you want to display.

comobject should be either an instance of a COM object, or be the name of a typelibrary (which will be resolved according to the rules set out in com_load_typelib()). dispinterface is the name of an IDispatch descendant interface that you want to display. If wantsink is TRUE, the corresponding sink interface will be displayed instead.

See also com_event_sink(), com_load_typelib().

이전 | 위로 | 다음
com_message_pump | 처음으로 | com_propget


com_propget

(PHP 4)

com_propget -- Alias of com_get()

설명

이 함수는 다음 함수의 alias입니다: com_get().

참고: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

이전 | 위로 | 다음
com_print_typeinfo | 처음으로 | com_propput


com_propput

(PHP 4)

com_propput -- Alias of com_set()

설명

이 함수는 다음 함수의 alias입니다: com_set().

참고: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

이전 | 위로 | 다음
com_propget | 처음으로 | com_propset


com_propset

(PHP 4)

com_propset -- Alias of com_set()

설명

이 함수는 다음 함수의 alias입니다: com_set().

참고: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

이전 | 위로 | 다음
com_propput | 처음으로 | com_release


com_release

(PHP 4 >= 4.0.7)

com_release -- Decreases the components reference counter [deprecated]

Description

void com_release ( void )

Decreases the components reference counter.

주의

You should never need to use this function.

참고: This function has gone away in PHP 5.

이전 | 위로 | 다음
com_propset | 처음으로 | com_set


com_set

(PHP 4)

com_set -- Assigns a value to a COM component's property

Description

void com_set ( resource $com_object, string $property, mixed $value )

Sets the value of the property of the COM component referenced by com_object. Returns the newly set value if succeeded, FALSE on error.

예 346. Don't use com_set(), use OO syntax instead

<?php
// do this
$obj->property = $value;
// instead of this:
com_set($obj, 'property', $value);
?>

참고: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

이전 | 위로 | 다음
com_release | 처음으로 | variant_abs


variant_abs

(PHP 5)

variant_abs -- Returns the absolute value of a variant

Description

mixed variant_abs ( mixed $val )

Returns the absolute value of val.

See also abs().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
com_set | 처음으로 | variant_add


variant_add

(PHP 5)

variant_add -- "Adds" two variant values together and returns the result

Description

mixed variant_add ( mixed $left, mixed $right )

Adds left to right using the following rules (taken from the MSDN library), which correspond to those of Visual Basic:

표 25. Variant Addition Rules

If | Then
Both expressions are of the string type | Concatenation
One expression is a string type and the other a character | Addition
One expression is numeric and the other is a string | Addition
Both expressions are numeric | Addition
Either expression is NULL | NULL is returned
Both expressions are empty | Integer subtype is returned

See also variant_sub().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_abs | 처음으로 | variant_and


variant_and

(PHP 5)

variant_and -- performs a bitwise AND operation between two variants and returns the result

Description

mixed variant_and ( mixed $left, mixed $right )

Performs a bitwise AND operation, according to the following truth table; note that this is slightly different from a regular AND operation.

표 26. Variant AND Rules

If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | FALSE
TRUE | NULL | NULL
FALSE | TRUE | FALSE
FALSE | FALSE | FALSE
FALSE | NULL | FALSE
NULL | TRUE | NULL
NULL | FALSE | FALSE
NULL | NULL | NULL

See also variant_or().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_add | 처음으로 | variant_cast


variant_cast

(PHP 5)

variant_cast -- Convert a variant into a new variant object of another type

Description

variant variant_cast ( variant $variant, int $type )

This function makes a copy of variant and then performs a variant cast operation to force the copy to have the type given by type. type should be one of the VT_XXX constants.

This function wraps VariantChangeType() in the COM library; consult MSDN for more information.

See also variant_set_type().

이전 | 위로 | 다음
variant_and | 처음으로 | variant_cat


variant_cat

(PHP 5)

variant_cat -- concatenates two variant values together and returns the result

Description

mixed variant_cat ( mixed $left, mixed $right )

Concatenates left with right and returns the result.

See also “문자열 연산자” for the string concatenation operator; this function is notionally equivalent to $left . $right.

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_cast | 처음으로 | variant_cmp


variant_cmp

(PHP 5)

variant_cmp -- Compares two variants

Description

int variant_cmp ( mixed $left, mixed $right [, int $lcid [, int $flags]] )

Compares left with right and returns one of the following values:

표 27. Variant Comparision Results

value | meaning
VARCMP_LT | left is less than right
VARCMP_EQ | left is equal to right
VARCMP_GT | left is greater than right
VARCMP_NULL | Either left, right or both are NULL

This function will only compare scalar values, not arrays or variant records.

lcid is a valid Locale Identifier to use when comparing strings (this affects string collation). flags can be one or more of the following values OR'd together, and affects string comparisons:

표 28. Variant Comparision Flags

value | meaning
NORM_IGNORECASE | Compare case insensitively
NORM_IGNORENONSPACE | Ignore nonspacing characters
NORM_IGNORESYMBOLS | Ignore symbols
NORM_IGNOREWIDTH | Ignore string width
NORM_IGNOREKANATYPE | Ignore Kana type
NORM_IGNOREKASHIDA | Ignore Arabic kashida characters

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_cat | 처음으로 | variant_date_from_timestamp


variant_date_from_timestamp

(PHP 5)

variant_date_from_timestamp -- Returns a variant date representation of a Unix timestamp

Description

variant variant_date_from_timestamp ( int $timestamp )

Converts timestamp from a unix timestamp value into a variant of type VT_DATE. This allows easier interopability between the unix-ish parts of PHP and COM.

See also variant_date_to_timestamp() for the inverse of this operation, mktime(), time().

이전 | 위로 | 다음
variant_cmp | 처음으로 | variant_date_to_timestamp


variant_date_to_timestamp

(PHP 5)

variant_date_to_timestamp -- Converts a variant date/time value to Unix timestamp

Description

int variant_date_to_timestamp ( variant $variant )

Converts variant from a VT_DATE (or similar) value into a Unix timestamp. This allows easier interopability between the Unix-ish parts of PHP and COM.

See also variant_date_from_timestamp() for the inverse of this operation, date(), strftime().

이전 | 위로 | 다음
variant_date_from_timestamp | 처음으로 | variant_div


variant_div

(PHP 5)

variant_div -- Returns the result from dividing two variants

Description

mixed variant_div ( mixed $left, mixed $right )

Divides left by right and returns the result, subject to the following rules:

표 29. Variant Division Rules

If | Then
Both expressions are of the string, date, character, boolean type | Double is returned
One expression is a string type and the other a character | Division and a double is returned
One expression is numeric and the other is a string | Division and a double is returned.
Both expressions are numeric | Division and a double is returned
Either expression is NULL | NULL is returned
right is empty and left is anything but empty | A com_exception with code DISP_E_DIVBYZERO is thrown
left is empty and right is anything but empty. | 0 as type double is returned
Both expressions are empty | A com_exception with code DISP_E_OVERFLOW is thrown

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_date_to_timestamp | 처음으로 | variant_eqv


variant_eqv

(PHP 5)

variant_eqv -- Performs a bitwise equivalence on two variants

Description

mixed variant_eqv ( mixed $left, mixed $right )

If each bit in left is equal to the corresponding bit in right then TRUE is returned, otherwise FALSE is returned.

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_div | 처음으로 | variant_fix


variant_fix

(PHP 5)

variant_fix -- Returns the integer portion ? of a variant

Description

mixed variant_fix ( mixed $variant )

If variant is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of variant.

See also variant_int(),
variant_round(), floor(),
ceil(),
round().

주의

This documentation is based on the MSDN documentation; it appears that this function is either the same as variant_int(), or that there is an error in the MSDN documentation.

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_eqv | 처음으로 | variant_get_type


variant_get_type

(PHP 5)

variant_get_type -- Returns the type of a variant object

Description

int variant_get_type ( variant $variant )

This function returns an integer value that indicates the type of variant, which can be an instance of COM, DOTNET or VARIANT classes. The return value can be compared to one of the VT_XXX constants.

The return value for COM and DOTNET objects will usually be VT_DISPATCH; the only reason this function works for those classes is because COM and DOTNET are descendants of VARIANT.

In PHP versions prior to 5, you could obtain this information from instances of the VARIANT class ONLY, by reading a fake type property. See the VARIANT class for more information on this.

이전 | 위로 | 다음
variant_fix | 처음으로 | variant_idiv


variant_idiv

(PHP 5)

variant_idiv -- Converts variants to integers and then returns the result from dividing them

Description

mixed variant_idiv ( mixed $left, mixed $right )

Converts left and right to integer values, and then performs integer division according the following rules:

표 30. Variant Integer Division Rules

If | Then
Both expressions are of the string, date, character, boolean type | Division and integer is returned
One expression is a string type and the other a character | Division
One expression is numeric and the other is a string | Division
Both expressions are numeric | Division
Either expression is NULL | NULL is returned
Both expressions are empty | A com_exception with code DISP_E_DIVBYZERO is thrown

See also variant_div().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_get_type | 처음으로 | variant_imp


variant_imp

(PHP 5)

variant_imp -- Performs a bitwise implication on two variants

Description

mixed variant_imp ( mixed $left, mixed $right )

Performs a bitwise implication operation, according to the following truth table:

표 31. Variant Implication Table

If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | TRUE
FALSE | NULL | TRUE
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_idiv | 처음으로 | variant_int


variant_int

(PHP 5)

variant_int -- Returns the integer portion of a variant

Description

mixed variant_int ( mixed $variant )

If variant is negative, then the first negative integer greater than or equal to the variant is returned, otherwise returns the integer portion of the value of variant.

See also variant_fix(),
variant_round(), floor(),
ceil(),
round().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_imp | 처음으로 | variant_mod


variant_mod

(PHP 5)

variant_mod -- Divides two variants and returns only the remainder

Description

mixed variant_mod ( mixed $left, mixed $right )

Divides left by right and returns the remainder.

See also variant_div(), variant_idiv().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_int | 처음으로 | variant_mul


variant_mul

(PHP 5)

variant_mul -- multiplies the values of the two variants and returns the result

Description

mixed variant_mul ( mixed $left, mixed $right )

Multiplies left by right and returns the result, subject to the following rules:

표 32. Variant Multiplication Rules

If | Then
Both expressions are of the string, date, character, boolean type | Multiplication
One expression is a string type and the other a character | Multiplication
One expression is numeric and the other is a string | Multiplication
Both expressions are numeric | Multiplication
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

Boolean values are converted to -1 for FALSE and 0 for TRUE.

See also variant_div(), variant_idiv().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_mod | 처음으로 | variant_neg


variant_neg

(PHP 5)

variant_neg -- Performs logical negation on a variant

Description

mixed variant_neg ( mixed $variant )

Performs logical negation of variant and returns the result.

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_mul | 처음으로 | variant_not


variant_not

(PHP 5)

variant_not -- Performs bitwise not negation on a variant

Description

mixed variant_not ( mixed $variant )

Performs bitwise not negation on variant and returns the result. If variant is NULL, the result will also be NULL.

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_neg | 처음으로 | variant_or


variant_or

(PHP 5)

variant_or -- Performs a logical disjunction on two variants

Description

mixed variant_or ( mixed $left, mixed $right )

Performs a bitwise OR operation, according to the following truth table; note that this is slightly different from a regular OR operation.

표 33. Variant OR Rules

If left is | If right is | then the result is
TRUE | TRUE | TRUE
TRUE | FALSE | TRUE
TRUE | NULL | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
FALSE | NULL | NULL
NULL | TRUE | TRUE
NULL | FALSE | NULL
NULL | NULL | NULL

See also variant_and(), variant_xor().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_not | 처음으로 | variant_pow


variant_pow

(PHP 5)

variant_pow -- Returns the result of performing the power function with two variants

Description

mixed variant_pow ( mixed $left, mixed $right )

Returns the result of left to the power of right.

See also pow().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_or | 처음으로 | variant_round


variant_round

(PHP 5)

variant_round -- Rounds a variant to the specified number of decimal places

Description

mixed variant_round ( mixed $variant, int $decimals )

Returns the value of variant rounded to decimals decimal places.

See also round().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_pow | 처음으로 | variant_set_type


variant_set_type

(PHP 5)

variant_set_type -- Convert a variant into another type "in-place"

Description

void variant_set_type ( variant $variant, int $type )

This function is similar to variant_cast() except that the variant is modified "in-place"; no new variant is created. The parameters for this function have identical meaning to those of variant_cast().

See also variant_cast().

이전 | 위로 | 다음
variant_round | 처음으로 | variant_set


variant_set

(PHP 5)

variant_set -- Assigns a new value for a variant object

Description

void variant_set ( variant $variant, mixed $value )

Converts value to a variant and assigns it to the variant object; no new variant object is created, and the old value of variant is freed/released.

이전 | 위로 | 다음
variant_set_type | 처음으로 | variant_sub


variant_sub

(PHP 5)

variant_sub -- subtracts the value of the right variant from the left variant value and returns the result

Description

mixed variant_sub ( mixed $left, mixed $right )

Subtracts right from left using the following rules:

표 34. Variant Subtraction Rules

If | Then
Both expressions are of the string type | Subtraction
One expression is a string type and the other a character | Subtraction
One expression is numeric and the other is a string | Subtraction.
Both expressions are numeric | Subtraction
Either expression is NULL | NULL is returned
Both expressions are empty | Empty string is returned

See also variant_add().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_set | 처음으로 | variant_xor


variant_xor

(PHP 5)

variant_xor -- Performs a logical exclusion on two variants

Description

mixed variant_xor ( mixed $left, mixed $right )

Performs a logical exclusion, according to the following truth table:

표 35. Variant XOR Rules

If left is | If right is | then the result is
TRUE | TRUE | FALSE
TRUE | FALSE | TRUE
FALSE | TRUE | TRUE
FALSE | FALSE | FALSE
NULL | NULL | NULL

See also variant_and(), variant_or().

참고: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.

The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

이전 | 위로 | 다음
variant_sub | 처음으로 | XVII. Crack Functions


Classkit Functions

이전 VI. 함수 레퍼런스 다음

XIV. Classkit Functions

소개

These functions allow the dynamic manipulation of PHP classes, at runtime.

참고: This extension has been replaced by runkit, which is not limited to class manipulation but has function manipulation, as well.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/classkit.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

CLASSKIT_ACC_PRIVATE (int)
Marks the method private
CLASSKIT_ACC_PROTECTED (int)
Marks the method protected
CLASSKIT_ACC_PUBLIC (int)
Marks the method public

차례

classkit_import -- Import new class method definitions from a file
classkit_method_add -- Dynamically adds a new method to a given class
classkit_method_copy -- Copies a method from class to another
classkit_method_redefine -- Dynamically changes the code of the given method
classkit_method_remove -- Dynamically removes the given method
classkit_method_rename -- Dynamically changes the name of the given method
이전 | 위로 | 다음
property_exists | 처음으로 | classkit_import


classkit_import

(PECL classkit:0.3-0.4 runkit:0.7-0.9)

classkit_import -- Import new class method definitions from a file

설명

array classkit_import ( string $filename )

참고: This function cannot be used to manipulate the currently running (or chained) method.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

filename

The filename of the class method definitions to import

반환값

Associative array of imported methods

예제

예 321. classkit_import() example

<?php
// file: newclass.php
class Example {
    function foo() {
        return "bar!\n";
    }
}
?> <?php
// requires newclass.php (see above)
class Example {
    function foo() {
        return "foo!\n";
    }
}

$e = new Example();

// output original
echo $e->foo();

// import replacement method
classkit_import('newclass.php');

// output imported
echo $e->foo();

?>

위 예제의 출력:

foo!
bar!

참고

classkit_method_add()
classkit_method_copy()

이전 | 위로 | 다음
XIV. Classkit Functions | 처음으로 | classkit_method_add


classkit_method_add

(PECL classkit:0.1-0.4 runkit:0.7-0.9)

classkit_method_add -- Dynamically adds a new method to a given class

설명

bool classkit_method_add ( string $classname, string $methodname, string $args, string $code [, int $flags] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

classname

The class to which this method will be added

methodname

The name of the method to add

args

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when methodname is called

flags

The type of method to create, can be CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE

참고: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 322. classkit_method_add() example

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
classkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    CLASSKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

위 예제의 출력:

16

참고

classkit_method_copy()
classkit_method_redefine()
classkit_method_remove()
classkit_method_rename()
create_function()

이전 | 위로 | 다음
classkit_import | 처음으로 | classkit_method_copy


classkit_method_copy

(PECL classkit:0.2-0.4 runkit:0.7-0.9)

classkit_method_copy -- Copies a method from class to another

설명

bool classkit_method_copy ( string $dClass, string $dMethod, string $sClass [, string $sMethod] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

dClass

Destination class for copied method

dMethod

Destination method name

sClass

Source class of the method to copy

sMethod

Name of the method to copy from the source class. If this parameter is omitted, the value of dMethod is assumed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 323. classkit_method_copy() example

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
classkit_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

위 예제의 출력:

foo!

참고

classkit_method_add()
classkit_method_redefine()
classkit_method_remove()
classkit_method_rename()

이전 | 위로 | 다음
classkit_method_add | 처음으로 | classkit_method_redefine


classkit_method_redefine

(PECL classkit:0.1-0.4 runkit:0.7-0.9)

classkit_method_redefine -- Dynamically changes the code of the given method

설명

bool classkit_method_redefine ( string $classname, string $methodname, string $args, string $code [, int $flags] )

참고: This function cannot be used to manipulate the currently running (or chained) method.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

classname

The class in which to redefine the method

methodname

The name of the method to redefine

args

Comma-delimited list of arguments for the redefined method

code

The new code to be evaluated when methodname is called

flags

The redefined method can be CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE

참고: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 324. classkit_method_redefine() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
classkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    CLASSKIT_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

위 예제의 출력:

Before: foo!
After: bar!

참고

classkit_method_add()
classkit_method_copy()
classkit_method_remove()
classkit_method_rename()

이전 | 위로 | 다음
classkit_method_copy | 처음으로 | classkit_method_remove


classkit_method_remove

(PECL classkit:0.1-0.4 runkit:0.7-0.9)

classkit_method_remove -- Dynamically removes the given method

설명

bool classkit_method_remove ( string $classname, string $methodname )

참고: This function cannot be used to manipulate the currently running (or chained) method.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

classname

The class in which to remove the method

methodname

The name of the method to remove

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 325. classkit_method_remove() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Remove the 'foo' method
classkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

위 예제의 출력:

bar

참고

classkit_method_add()
classkit_method_copy()
classkit_method_redefine()
classkit_method_rename()

이전 | 위로 | 다음
classkit_method_redefine | 처음으로 | classkit_method_rename


classkit_method_rename

(PECL classkit:0.1-0.4 runkit:0.7-0.9)

classkit_method_rename -- Dynamically changes the name of the given method

설명

bool classkit_method_rename ( string $classname, string $methodname, string $newname )

참고: This function cannot be used to manipulate the currently running (or chained) method.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

classname

The class in which to rename the method

methodname

The name of the method to rename

newname

The new name to give to the renamed method

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 326. classkit_method_rename() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Rename the 'foo' method to 'bar'
classkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

위 예제의 출력:

foo!

참고

classkit_method_add()
classkit_method_copy()
classkit_method_redefine()
classkit_method_remove()

이전 | 위로 | 다음
classkit_method_remove | 처음으로 | XV. ClibPDF Functions [deprecated]


클래스/객체 함수

이전 VI. 함수 레퍼런스 다음

XIII. 클래스/객체 함수

소개

이 함수들은 클래스와 객체에 대한 정보를 얻을수 있게 해준다. 특정 객체가 속한 클래스명은 물론 그 객체의 멤버 속성과 메소드를 찾을수 있다. 이 함수들을 사용함으로써, 특정 객체의 클래스 멤버들 뿐만 아니라, 그 객체의 혈통(즉, 그 객체 클래스가 상속하는 클래스) 도 알아낼수 있다.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

다음 예제코드를 보면, 먼저 기본 클래스를 선언하고, 그 클래스를 상속받는 클래스를 선언한다. 기본 클래스는 일반적인 야채에 대한 클래스로, 야채가 먹을수 있는지 아닌지 그리고 그 야채의 색깔이 무엇인지를 정의한다. 하위클래스 Spinach 는 그 야채를 요리하는 메소드와 요리되었는지 알아낼수 있는 메소드를 추가한다.

예 311. classes.inc

<?php

// 멤버 속성과 메소드를 갖는 기본 클래스
class Vegetable {

    var $edible;
    var $color;

    function Vegetable( $edible, $color="green" ) {
        $this->edible = $edible;
        $this->color = $color;
    }

    function is_edible() {
        return $this->edible;
    }

    function what_color() {
        return $this->color;
    }

} // end of class Vegetable

// 기본 클래스를 확장
class Spinach extends Vegetable {

    var $cooked = false;

    function Spinach() {
        $this->Vegetable( true, "green" );
    }

    function cook_it() {
        $this->cooked = true;
    }

    function is_cooked() {
        return $this->cooked;
    }

} // end of class Spinach

?>

이 클래스들로부터 2개의 객체를 생성하고, 그 클래스들의 혈통을 포함한 클래스들의 정보를 출력한다. 또한 변수의 깔끔한 출력을 위한 몇개의 유용한 함수들도 선언한다.

예 312. test_script.php

<pre>
<?php

include "classes.inc";

// 유용한 함수들

function print_vars($obj) {
    $arr = get_object_vars($obj);
    while (list($prop, $val) = each($arr))
        echo "\t$prop = $val\n";
}

function print_methods($obj) {
    $arr = get_class_methods(get_class($obj));
    foreach ($arr as $method)
        echo "\tfunction $method()\n";
}

function class_parentage($obj, $class) {
    global $$obj;
    if (is_subclass_of($$obj, $class)) {
        echo "Object $obj belongs to class ".get_class($$obj);
        echo " a subclass of $class\n";
    } else {
        echo "Object $obj does not belong to a subclass of $class\n";
    }
}

// 2개의 객체 생성

$veggie = new Vegetable(true,"blue");
$leafy = new Spinach();

// 객체 정보를 출력
echo "veggie: CLASS ".get_class($veggie)."\n";
echo "leafy: CLASS ".get_class($leafy);
echo ", PARENT ".get_parent_class($leafy)."\n";

// veggie 속성을 보임
echo "\nveggie: Properties\n";
print_vars($veggie);

// leafy 메소드를 보임
echo "\nleafy: Methods\n";
print_methods($leafy);

echo "\nParentage:\n";
class_parentage("leafy", "Spinach");
class_parentage("leafy", "Vegetable");
?>
</pre>

위 예제코드에서 가장 유의 해야 할 사항은 객체 $leafy 가 클래스 Spinach 의 인스턴스이고, 이 클래스는 Vegetable 의 하위 클래스라는 것이다. 따라서 위 스크립트의 제일 아래 부분에서는 다음과 같이 출력될것이다:

       [...]
Parentage:
Object leafy does not belong to a subclass of Spinach
Object leafy belongs to class spinach a subclass of Vegetable

차례

call_user_method_array -- 배열 매개변수와 함께 사용자 메소드를 호출한다 [낡았음]
call_user_method -- 특정 객체의 사용자 메소드를 호출한다 [낡았음]
class_exists -- 클래스가 선언되었는지 검사한다
get_class_methods -- 클래스의 메소드명에 대한 배열을 반환한다
get_class_vars -- 클래스의 기본 속성에 대한 배열을 반환한다
get_class -- 객체의 클래스명을 반환한다
get_declared_classes -- 선언된 클래스명을 배열로 반환한다
get_declared_interfaces -- Returns an array of all declared interfaces
get_object_vars -- 객체 속성의 연관 배열을 반환한다
get_parent_class -- 객체나 클래스의 부모 클래스명을 가져온다
interface_exists -- Checks if the interface has been defined
is_a -- 객체가 이 클래스에 속해있거나 부모 클래스의 하나가 이 클래스이면, TRUE를 반환한다
is_subclass_of -- 객체가 이 클래스를 부모 클래스로 갖는다면 TRUE를 반환한다
method_exists -- 클래스 메소드가 존재하는지 검사한다
property_exists -- Checks if the object or class has a property
이전 | 위로 | 다음
ccvs_void | 처음으로 | call_user_method_array


call_user_method_array

(PHP 4 >= 4.0.5, PHP 5)

call_user_method_array -- 배열 매개변수와 함께 사용자 메소드를 호출한다 [낡았음]

설명

mixed call_user_method_array ( string $method_name, object $obj [, array $paramarr] )
주의

이 call_user_method_array() 함수는 PHP 4.1.0 부터 낡은 함수가 되었다. 대신 array(&$obj, "method_name") 문법을 갖는 call_user_func_array() 변종(variety)을 사용하도록 한다.

paramarr 매개변수를 사용하여, 사용자 선언된 obj 객체에서 method_name으로 참조되는 메소드를 호출한다.

call_user_func_array(),
call_user_func(),
call_user_method() 참고.

참고: 이 함수는 PHP 4.0.4pl1 릴리즈 이후의 CVS 코드에 추가되었다.

이전 | 위로 | 다음
XIII. 클래스/객체 함수 | 처음으로 | call_user_method


call_user_method

(PHP 4, PHP 5)

call_user_method -- 특정 객체의 사용자 메소드를 호출한다 [낡았음]

설명

mixed call_user_method ( string $method_name, object $obj [, mixed $parameter [, mixed $...]] )
주의

이 call_user_method() 함수는 PHP 4.1.0 부터 낡은 함수가 되었다. 대신 array(&$obj, "method_name") 문법을 갖는 call_user_func_array() 변종(variety)을 사용하도록 한다.

사용자 선언된 obj 객체에서 method_name으로 참조되는 메소드를 호출한다. 아래 예제코드를 보면, 클래스를 선언하고 객체를 생성하고 print_info 메소드를 간접적으로 호출하기 위해 call_user_method() 함수를 사용하는 것을 볼수 있다.

<?php
class Country {
    var $NAME;
    var $TLD;

    function Country($name, $tld) {
        $this->NAME = $name;
        $this->TLD = $tld;
    }

    function print_info($prestr="") {
        echo $prestr."Country: ".$this->NAME."\n";
        echo $prestr."Top Level Domain: ".$this->TLD."\n";
    }
}

$cntry = new Country("Peru","pe");

echo "* Calling the object method directly\n";
$cntry->print_info();

echo "\n* Calling the same method indirectly\n";
call_user_method ("print_info", $cntry, "\t");
?>

call_user_func_array(),
call_user_func(),
call_user_method_array() 참고.

이전 | 위로 | 다음
call_user_method_array | 처음으로 | class_exists


class_exists

(PHP 4, PHP 5)

class_exists -- 클래스가 선언되었는지 검사한다

설명

bool class_exists ( string $class_name )

이 함수는 class_name 이라는 클래스가 선언되어있으면, TRUE를 반환하고, 그렇지 않으면 FALSE를 반환한다.

get_declared_classes() 참고.

이전 | 위로 | 다음
call_user_method | 처음으로 | get_class_methods


get_class_methods

(PHP 4, PHP 5)

get_class_methods -- 클래스의 메소드명에 대한 배열을 반환한다

설명

array get_class_methods ( mixed $class_name )

이 함수는 class_name의 클래스에서 선언된 메소드명의 배열을 반환한다.

참고: PHP 4.0.6 부터 class_name 대신 객체 자신을 설정할수 있다. 예를 들면:

<?php
$class_methods = get_class_methods($my_class); // see below the full example
?>

예 313. get_class_methods() 예제코드

<?php

class myclass {
    // constructor
    function myclass() {
        return(TRUE);
    }

    // method 1
    function myfunc1() {
        return(TRUE);
    }

    // method 2
    function myfunc2() {
        return(TRUE);
    }
}

$my_object = new myclass();

$class_methods = get_class_methods(get_class($my_object));

foreach ($class_methods as $method_name) {
    echo "$method_name\n";
}

?>

Will produce:

myclass
myfunc1
myfunc2

get_class_vars(), get_object_vars() 참고.

이전 | 위로 | 다음
class_exists | 처음으로 | get_class_vars


get_class_vars

(PHP 4, PHP 5)

get_class_vars -- 클래스의 기본 속성에 대한 배열을 반환한다

설명

array get_class_vars ( string $class_name )

이 함수는 클래스의 기본 속성에 대한 연관 배열을 반환할것이다. 결과 배열 원소들은 varname => value 형태가 된다.

참고: PHP 4.2.0 이전 버전에서는, 초기화되지 않은 클래스 변수들은 get_class_vars()에 의해 보고되지 않을것이다.

예 314. get_class_vars() 예제코드

<?php

class myclass {

    var $var1; // this has no default value...
    var $var2 = "xyz";
    var $var3 = 100;

    // constructor
    function myclass() {
        return(TRUE);
    }

}

$my_class = new myclass();

$class_vars = get_class_vars(get_class($my_class));

foreach ($class_vars as $name => $value) {
    echo "$name : $value\n";
}

?>

다음을 생성할것이다:

// Before PHP 4.2.0
var2 : xyz
var3 : 100

// As of PHP 4.2.0
var1 :
var2 : xyz
var3 : 100

get_class_methods(), get_object_vars() 참고

이전 | 위로 | 다음
get_class_methods | 처음으로 | get_class


get_class

(PHP 4, PHP 5)

get_class -- 객체의 클래스명을 반환한다

설명

string get_class ( object $obj )

이 함수는 생성된 객체 obj의 클래스명을 반환한다. obj이 객체가 아니면, FALSE 를 반환한다.

참고: get_class()는 사용자 선언된 클래스명을 소문자로 반환한다. PHP 확장에서 선언된 클래스는 선언명 그대로를 반환한다.

예 315. get_class() 사용예

<?php

class foo {
    function foo() {
    // 일부 로직을 구현
    }

    function name() {
        echo "My name is " , get_class($this) , "\n";
    }
}

// 객체를 생성
$bar = new foo();

// 외부 호출
echo "Its name is " , get_class($bar) , "\n";

// 내부 호출
$bar->name();

?>

출력은 다음과 같다:

Its name is foo
My name is foo

get_parent_class(),
gettype(),
is_subclass_of() 참고.

이전 | 위로 | 다음
get_class_vars | 처음으로 | get_declared_classes


get_declared_classes

(PHP 4, PHP 5)

get_declared_classes -- 선언된 클래스명을 배열로 반환한다

설명

array get_declared_classes ( void )

이 함수는 현재 스크립트에서 선언된 클래스명을 배열로 반환한다.

참고: PHP 4.0.1pl2에서는 배열의 첫부분에 세개의 클래스들이 들어가 있다: stdClass (Zend/zend.c에 정의되어있는 클래스), OverloadedTestClass (ext/standard/basic_functions.c에 정의되어있는 클래스), Directory (ext/standard/dir.c에 정의되어있는 클래스)

추가적인 클래스가 존재할수 있는 라이브러리가 PHP 로 컴파일 될수 있다는것에 주의해야 한다. 이말의 의미는 그 이름을 사용하는 사용자 선언 클래스를 선언할수 없다는 것이다. 부록의 기선언된 클래스 섹션에서 미리선언된 클래스명 이 있다.

class_exists() 참고.

이전 | 위로 | 다음
get_class | 처음으로 | get_declared_interfaces


get_declared_interfaces

(PHP 5)

get_declared_interfaces -- Returns an array of all declared interfaces

설명

array get_declared_interfaces ( void )

Gets the declared interfaces.

반환값

Returns an array of the names of the declared interfaces in the current script.

예제

예 316. get_declared_interfaces() example

<?php
print_r(get_declared_interfaces());
?>

위 예제의 출력 예:

Array
(
    [0] => Traversable
    [1] => IteratorAggregate
    [2] => Iterator
    [3] => ArrayAccess
    [4] => reflector
    [5] => RecursiveIterator
    [6] => SeekableIterator
)

참고

get_declared_classes()

이전 | 위로 | 다음
get_declared_classes | 처음으로 | get_object_vars


get_object_vars

(PHP 4, PHP 5)

get_object_vars -- 객체 속성의 연관 배열을 반환한다

설명

array get_object_vars ( object $obj )

이 함수는 주어진 객체 obj 에서 선언된 객체 속성의 연관 배열을 반환한다.

참고: PHP 4.2.0 이전버전에서는, obj를 초기화시킨 클래스에서 선언된 변수가 어떤 값으로도 설정되어있지 않으면, 그 변수들은 배열로 반환되지 않을것이다. PHP 4.2.0 이후버전부터 그런 키는 NULL 값으로 설정된다.

예 317. get_object_vars() 사용예

<?php
class Point2D {
    var $x, $y;
    var $label;

    function Point2D($x, $y) {
        $this->x = $x;
        $this->y = $y;
    }

    function setLabel($label) {
        $this->label = $label;
    }

    function getPoint() {
        return array("x" => $this->x,
                     "y" => $this->y,
                     "label" => $this->label);
    }
}

// "$label" is declared but not defined
$p1 = new Point2D(1.233, 3.445);
print_r(get_object_vars($p1));

$p1->setLabel("point #1");
print_r(get_object_vars($p1));

?>

위 프로그램의 출력은 다음과 같을것이다:

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] =>
 )

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )

get_class_methods(), get_class_vars() 참고!

이전 | 위로 | 다음
get_declared_interfaces | 처음으로 | get_parent_class


get_parent_class

(PHP 4, PHP 5)

get_parent_class -- 객체나 클래스의 부모 클래스명을 가져온다

설명

string get_parent_class ( mixed $obj )

obj가 객체이면, obj를 초기화시킨 클래스의 부모 클래스명을 반환한다.

obj가 문자열이면, 그 이름을 갖는 클래스의 부모 클래스명을 반환한다. 이 기능은 PHP 4.0.5에서 추가되었다.

예 318. get_parent_class() 사용예

<?php

class dad {
    function dad() {
    // implements some logic
    }
}

class child extends dad {
    function child() {
        echo "I'm " , get_parent_class($this) , "'s son\n";
    }
}

class child2 extends dad {
    function child2() {
        echo "I'm " , get_parent_class('child2') , "'s son too\n";
    }
}

$foo = new child();
$bar = new child2();

?>

출력은 다음과 같다:

I'm dad's son
I'm dad's son too

get_class(), is_subclass_of() 참고.

이전 | 위로 | 다음
get_object_vars | 처음으로 | interface_exists


interface_exists

(PHP 5 >= 5.0.2)

interface_exists -- Checks if the interface has been defined

설명

bool interface_exists ( string $interface_name [, bool $autoload] )

Checks if the given interface has been defined.

매개변수

interface_name

The interface name

autoload

Whether to call __autoload or not by default

반환값

Returns TRUE if the interface given by interface_name has been defined, FALSE otherwise.

예제

예 319. interface_exists() example

<?php
// Check the interface exists before trying to use it
if (interface_exists('MyInterface')) {
    class MyClass implements MyInterface
    {
        // Methods
    }
}

?>

참고

class_exists()

이전 | 위로 | 다음
get_parent_class | 처음으로 | is_a


is_a

(PHP 4 >= 4.2.0, PHP 5)

is_a -- 객체가 이 클래스에 속해있거나 부모 클래스의 하나가 이 클래스이면, TRUE를 반환한다

설명

bool is_a ( object $object, string $class_name )

이 함수는 특정 객체가 이 클래스에 속해있거나 부모 클래스의 하나가 이 클래스이면, TRUE를 반환하고, 그렇지 않으면, FALSE를 반환한다.

get_class(),
get_parent_class(),
is_subclass_of() 참고.

이전 | 위로 | 다음
interface_exists | 처음으로 | is_subclass_of


is_subclass_of

(PHP 4, PHP 5)

is_subclass_of -- 객체가 이 클래스를 부모 클래스로 갖는다면 TRUE를 반환한다

설명

bool is_subclass_of ( object $object, string $class_name )

객체 object가 class_name의 하위클래스에 속하면 TRUE를 반환하고, 그렇지 않으면, FALSE를 반환한다.

get_class(),
get_parent_class(),
is_a() 참고.

이전 | 위로 | 다음
is_a | 처음으로 | method_exists


method_exists

(PHP 4, PHP 5)

method_exists -- 클래스 메소드가 존재하는지 검사한다

설명

bool method_exists ( object $object, string $method_name )

이 함수는 method_name에 의해 주어진 메소드가 주어진 object에 대해서 선언되어있으면, TRUE를 반환하고, 그렇지 않으면 FALSE를 반환한다.

이전 | 위로 | 다음
is_subclass_of | 처음으로 | property_exists


ClibPDF Functions [deprecated]

이전 VI. 함수 레퍼런스 다음

XV. ClibPDF Functions [deprecated]

소개

주의

ClibPDF support is deprecated and users are strongly encouraged to use an alternative, like Haru, PDFlib, or one of the available PHP alternatives.

ClibPDF lets you create PDF documents with PHP. ClibPDF functionality and API are similar to PDFlib. This documentation should be read alongside the ClibPDF manual since it explains the library in much greater detail.

Many functions in the native ClibPDF and the PHP module, as well as in PDFlib, have the same name. All functions except for cpdf_open() take the handle for the document as their first parameter.

Currently this handle is not used internally since ClibPDF does not support the creation of several PDF documents at the same time. Actually, you should not even try it, the results are unpredictable. I can't oversee what the consequences in a multi threaded environment are. According to the author of ClibPDF this will change in one of the next releases (current version when this was written is 1.10). If you need this functionality use the pdflib module.

A nice feature of ClibPDF (and PDFlib) is the ability to create the pdf document completely in memory without using temporary files. It also provides the ability to pass coordinates in a predefined unit length. (This feature can also be simulated by pdf_translate() when using the PDFlib functions.)

Another nice feature of ClibPDF is the fact that any page can be modified at any time even if a new page has been already opened. The function cpdf_set_current_page() allows to leave the current page and presume modifying an other page.

Most of the functions are fairly easy to use. The most difficult part is probably creating a very simple PDF document at all. The following example should help you to get started. It creates a document with one page. The page contains the text "Times-Roman" in an outlined 30pt font. The text is underlined.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

참고: If you're interested in alternative free PDF generators that do not utilize external PDF libraries, see this related FAQ.

요구 조건

In order to use the ClibPDF functions you need to install the ClibPDF package. It is available for download from » FastIO, but requires that you purchase a license for commercial use. PHP requires that you use cpdflib >= 2. The development of ClibPDF library has been discontinued thus FastIO website would be most probably inaccessible.

설치

To get these functions to work, you have to compile PHP with --with-cpdflib[=DIR]. DIR is the cpdflib install directory, defaults to /usr. In addition you can specify the jpeg library and the tiff library for ClibPDF to use. To do so add to your configure line the options --with-jpeg-dir[=DIR] --with-tiff-dir[=DIR].

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

CPDF_PM_NONE (integer)
CPDF_PM_OUTLINES (integer)
CPDF_PM_THUMBS (integer)
CPDF_PM_FULLSCREEN (integer)
CPDF_PL_SINGLE (integer)
CPDF_PL_1COLUMN (integer)
CPDF_PL_2LCOLUMN (integer)
CPDF_PL_2RCOLUMN (integer)

예제

예 327. Simple ClibPDF Example

<?php
$cpdf = cpdf_open(0);
cpdf_page_init($cpdf, 1, 0, 595, 842, 1.0);
cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1");
cpdf_begin_text($cpdf);
cpdf_set_font($cpdf, "Times-Roman", 30, "WinAnsiEncoding");
cpdf_set_text_rendering($cpdf, 1);
cpdf_text($cpdf, "Times Roman outlined", 50, 50);
cpdf_end_text($cpdf);
cpdf_moveto($cpdf, 50, 50);
cpdf_lineto($cpdf, 740, 330);
cpdf_stroke($cpdf);
cpdf_finalize_page($cpdf, 1);
cpdf_finalize($cpdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($cpdf);
cpdf_close($cpdf);
?>

The pdflib distribution contains a more complex example which creates a series of pages with an analog clock. Here is that example converted into PHP using the ClibPDF extension:

예 328. pdfclock example from pdflib 2.0 distribution

<?php
$radius = 200;
$margin = 20;
$pagecount = 40;

$pdf = cpdf_open(0);
cpdf_set_creator($pdf, "pdf_clock.php");
cpdf_set_title($pdf, "Analog Clock");

while ($pagecount-- > 0) {
  cpdf_page_init($pdf, $pagecount+1, 0, 2 * ($radius + $margin), 2 * ($radius + $margin), 1.0);

  cpdf_set_page_animation($pdf, 4, 0.5, 0, 0, 0);  /* wipe */

  cpdf_translate($pdf, $radius + $margin, $radius + $margin);
  cpdf_save($pdf);
  cpdf_setrgbcolor($pdf, 0.0, 0.0, 1.0);

  /* minute strokes */
  cpdf_setlinewidth($pdf, 2.0);
  for ($alpha = 0; $alpha < 360; $alpha += 6) {
    cpdf_rotate($pdf, 6.0);
    cpdf_moveto($pdf, $radius, 0.0);
    cpdf_lineto($pdf, $radius-$margin/3, 0.0);
    cpdf_stroke($pdf);
  }

  cpdf_restore($pdf);
  cpdf_save($pdf);

  /* 5 minute strokes */
  cpdf_setlinewidth($pdf, 3.0);
  for ($alpha = 0; $alpha < 360; $alpha += 30) {
    cpdf_rotate($pdf, 30.0);
    cpdf_moveto($pdf, $radius, 0.0);
    cpdf_lineto($pdf, $radius-$margin, 0.0);
    cpdf_stroke($pdf);
  }

  $ltime = getdate();

  /* draw hour hand */
  cpdf_save($pdf);
  cpdf_rotate($pdf, -(($ltime['minutes']/60.0) + $ltime['hours'] - 3.0) * 30.0);
  cpdf_moveto($pdf, -$radius/10, -$radius/20);
  cpdf_lineto($pdf, $radius/2, 0.0);
  cpdf_lineto($pdf, -$radius/10, $radius/20);
  cpdf_closepath($pdf);
  cpdf_fill($pdf);
  cpdf_restore($pdf);

  /* draw minute hand */
  cpdf_save($pdf);
  cpdf_rotate($pdf, -(($ltime['seconds']/60.0) + $ltime['minutes'] - 15.0) * 6.0);
  cpdf_moveto($pdf, -$radius/10, -$radius/20);
  cpdf_lineto($pdf, $radius * 0.8, 0.0);
  cpdf_lineto($pdf, -$radius/10, $radius/20);
  cpdf_closepath($pdf);
  cpdf_fill($pdf);
  cpdf_restore($pdf);

  /* draw second hand */
  cpdf_setrgbcolor($pdf, 1.0, 0.0, 0.0);
  cpdf_setlinewidth($pdf, 2);
  cpdf_save($pdf);
  cpdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0));
  cpdf_moveto($pdf, -$radius/5, 0.0);
  cpdf_lineto($pdf, $radius, 0.0);
  cpdf_stroke($pdf);
  cpdf_restore($pdf);

  /* draw little circle at center */
  cpdf_circle($pdf, 0, 0, $radius/30);
  cpdf_fill($pdf);

  cpdf_restore($pdf);

  cpdf_finalize_page($pdf, $pagecount+1);
}

cpdf_finalize($pdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($pdf);
cpdf_close($pdf);
?>

참고

See also the PDFlib extension documentation.

차례

cpdf_add_annotation -- Adds annotation
cpdf_add_outline -- Adds bookmark for current page
cpdf_arc -- Draws an arc
cpdf_begin_text -- Starts text section
cpdf_circle -- Draw a circle
cpdf_clip -- Clips to current path
cpdf_close -- Closes the pdf document
cpdf_closepath_fill_stroke -- Close, fill and stroke current path
cpdf_closepath_stroke -- Close path and draw line along path
cpdf_closepath -- Close path
cpdf_continue_text -- Output text in next line
cpdf_curveto -- Draws a curve
cpdf_end_text -- Ends text section
cpdf_fill_stroke -- Fill and stroke current path
cpdf_fill -- Fill current path
cpdf_finalize_page -- Ends page
cpdf_finalize -- Ends document
cpdf_global_set_document_limits -- Sets document limits for any pdf document
cpdf_import_jpeg -- Opens a JPEG image
cpdf_lineto -- Draws a line
cpdf_moveto -- Sets current point
cpdf_newpath -- Starts a new path
cpdf_open -- Opens a new pdf document
cpdf_output_buffer -- Outputs the pdf document in memory buffer
cpdf_page_init -- Starts new page
cpdf_place_inline_image -- Places an image on the page
cpdf_rect -- Draw a rectangle
cpdf_restore -- Restores formerly saved environment
cpdf_rlineto -- Draws a line
cpdf_rmoveto -- Sets current point
cpdf_rotate_text -- Sets text rotation angle
cpdf_rotate -- Sets rotation
cpdf_save_to_file -- Writes the pdf document into a file
cpdf_save -- Saves current environment
cpdf_scale -- Sets scaling
cpdf_set_action_url -- Sets hyperlink
cpdf_set_char_spacing -- Sets character spacing
cpdf_set_creator -- Sets the creator field in the pdf document
cpdf_set_current_page -- Sets current page
cpdf_set_font_directories -- Sets directories to search when using external fonts
cpdf_set_font_map_file -- Sets fontname to filename translation map when using external fonts
cpdf_set_font -- Select the current font face and size
cpdf_set_horiz_scaling -- Sets horizontal scaling of text
cpdf_set_keywords -- Sets the keywords field of the pdf document
cpdf_set_leading -- Sets distance between text lines
cpdf_set_page_animation -- Sets duration between pages
cpdf_set_subject -- Sets the subject field of the pdf document
cpdf_set_text_matrix -- Sets the text matrix
cpdf_set_text_pos -- Sets text position
cpdf_set_text_rendering -- Determines how text is rendered
cpdf_set_text_rise -- Sets the text rise
cpdf_set_title -- Sets the title field of the pdf document
cpdf_set_viewer_preferences -- How to show the document in the viewer
cpdf_set_word_spacing -- Sets spacing between words
cpdf_setdash -- Sets dash pattern
cpdf_setflat -- Sets flatness
cpdf_setgray_fill -- Sets filling color to gray value
cpdf_setgray_stroke -- Sets drawing color to gray value
cpdf_setgray -- Sets drawing and filling color to gray value
cpdf_setlinecap -- Sets linecap parameter
cpdf_setlinejoin -- Sets linejoin parameter
cpdf_setlinewidth -- Sets line width
cpdf_setmiterlimit -- Sets miter limit
cpdf_setrgbcolor_fill -- Sets filling color to rgb color value
cpdf_setrgbcolor_stroke -- Sets drawing color to rgb color value
cpdf_setrgbcolor -- Sets drawing and filling color to rgb color value
cpdf_show_xy -- Output text at position
cpdf_show -- Output text at current position
cpdf_stringwidth -- Returns width of text in current font
cpdf_stroke -- Draw line along path
cpdf_text -- Output text with parameters
cpdf_translate -- Sets origin of coordinate system
이전 | 위로 | 다음
classkit_method_rename | 처음으로 | cpdf_add_annotation


cpdf_add_annotation

(PHP 4, PHP 5 <= 5.0.5)

cpdf_add_annotation -- Adds annotation

설명

bool cpdf_add_annotation ( int $pdf_document, float $llx, float $lly, float $urx, float $ury, string $title, string $content [, int $mode] )

Adds a note at the specified point.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

llx

Lower left X

lly

Lower left Y

urx

Upper right X

ury

Upper right Y

title

The title of the annotation

text

The contents of the annotation

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
XV. ClibPDF Functions [deprecated] | 처음으로 | cpdf_add_outline


cpdf_add_outline

(PHP 4, PHP 5 <= 5.0.5)

cpdf_add_outline -- Adds bookmark for current page

설명

int cpdf_add_outline ( int $pdf_document, int $lastoutline, int $sublevel, int $open, int $pagenr, string $text )

Adds a bookmark with text text that points to the current page.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

lastoutline

sublevel

open

pagenr

text

The bookmark text

예제

예 329. Adding a page outline

<?php
$cpdf = cpdf_open(0);
cpdf_page_init($cpdf, 1, 0, 595, 842);
cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1");
// ...
// some drawing
// ...
cpdf_finalize($cpdf);
header("Content-type: application/pdf");
cpdf_output_buffer($cpdf);
cpdf_close($cpdf);
?>

이전 | 위로 | 다음
cpdf_add_annotation | 처음으로 | cpdf_arc


cpdf_arc

(PHP 4, PHP 5 <= 5.0.5)

cpdf_arc -- Draws an arc

설명

bool cpdf_arc ( int $pdf_document, float $x_coor, float $y_coor, float $radius, float $start, float $end [, int $mode] )

Draws an arc.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x

The x-coordinate of the center

y

The y-coordinate of the center

radius

The arc radius

start

The starting angle, in degrees

end

The ending angle, in degrees

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_circle()

이전 | 위로 | 다음
cpdf_add_outline | 처음으로 | cpdf_begin_text


cpdf_begin_text

(PHP 4, PHP 5 <= 5.0.5)

cpdf_begin_text -- Starts text section

설명

bool cpdf_begin_text ( int $pdf_document )

Starts a text section.

The created text section must be ended with cpdf_end_text().

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 330. Text output

<?php
cpdf_begin_text($pdf);
cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");
cpdf_text($pdf, 100, 100, "Some text");
cpdf_end_text($pdf)
?>

참고

cpdf_end_text()

이전 | 위로 | 다음
cpdf_arc | 처음으로 | cpdf_circle


cpdf_circle

(PHP 4, PHP 5 <= 5.0.5)

cpdf_circle -- Draw a circle

설명

bool cpdf_circle ( int $pdf_document, float $x_coor, float $y_coor, float $radius [, int $mode] )

Draws a circle.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x_coor

The x-coordinate of the center

y_coor

The y-coordinate of the center

radius

The circle radius

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_arc()

이전 | 위로 | 다음
cpdf_begin_text | 처음으로 | cpdf_clip


cpdf_clip

(PHP 4, PHP 5 <= 5.0.5)

cpdf_clip -- Clips to current path

설명

bool cpdf_clip ( int $pdf_document )

Clips all drawing to the current path.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_circle | 처음으로 | cpdf_close


cpdf_close

(PHP 4, PHP 5 <= 5.0.5)

cpdf_close -- Closes the pdf document

설명

bool cpdf_close ( int $pdf_document )

Closes the PDF document.

This should be the last function called, even after cpdf_finalize(), cpdf_output_buffer() or cpdf_save_to_file().

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_open()

이전 | 위로 | 다음
cpdf_clip | 처음으로 | cpdf_closepath_fill_stroke


cpdf_closepath_fill_stroke

(PHP 4, PHP 5 <= 5.0.5)

cpdf_closepath_fill_stroke -- Close, fill and stroke current path

설명

bool cpdf_closepath_fill_stroke ( int $pdf_document )

Closes, fills the interior of the current path with the current fill color and draws current path.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_closepath()
cpdf_stroke()
cpdf_fill()
cpdf_setgray_fill()
cpdf_setgray()
cpdf_setrgbcolor_fill()
cpdf_setrgbcolor()

이전 | 위로 | 다음
cpdf_close | 처음으로 | cpdf_closepath_stroke


cpdf_closepath_stroke

(PHP 4, PHP 5 <= 5.0.5)

cpdf_closepath_stroke -- Close path and draw line along path

설명

bool cpdf_closepath_stroke ( int $pdf_document )

Closes the current path and draws a line along it.

cpdf_closepath_stroke() is a combination of cpdf_closepath() and cpdf_stroke().

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_closepath()
cpdf_stroke()

이전 | 위로 | 다음
cpdf_closepath_fill_stroke | 처음으로 | cpdf_closepath


cpdf_closepath

(PHP 4, PHP 5 <= 5.0.5)

cpdf_closepath -- Close path

설명

bool cpdf_closepath ( int $pdf_document )

Closes the current path.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_closepath_stroke | 처음으로 | cpdf_continue_text


cpdf_continue_text

(PHP 4, PHP 5 <= 5.0.5)

cpdf_continue_text -- Output text in next line

설명

bool cpdf_continue_text ( int $pdf_document, string $text )

Outputs the string in text in the next line.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

text

The string to output

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_show_xy()
cpdf_text()
cpdf_set_leading()
cpdf_set_text_pos()

이전 | 위로 | 다음
cpdf_closepath | 처음으로 | cpdf_curveto


cpdf_curveto

(PHP 4, PHP 5 <= 5.0.5)

cpdf_curveto -- Draws a curve

설명

bool cpdf_curveto ( int $pdf_document, float $x1, float $y1, float $x2, float $y2, float $x3, float $y3 [, int $mode] )

Draws a Bezier curve from the current point to the point (x3, y3) using (x1, y1) and (x2, y2) as control points.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x1

x-coordinate for the first control point

y1

y-coordinate for the first control point

x2

x-coordinate for the second control point

y2

y-coordinate for the second control point

x3

x-coordinate for the target

y3

y-coordinate for the target

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_moveto()
cpdf_rmoveto()
cpdf_rlineto()
cpdf_lineto()

이전 | 위로 | 다음
cpdf_continue_text | 처음으로 | cpdf_end_text


cpdf_end_text

(PHP 4, PHP 5 <= 5.0.5)

cpdf_end_text -- Ends text section

설명

bool cpdf_end_text ( int $pdf_document )

Ends a text section which was started with cpdf_begin_text().

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 331. Text output

<?php
cpdf_begin_text($pdf);
cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");
cpdf_text($pdf, 100, 100, "Some text");
cpdf_end_text($pdf)
?>

참고

cpdf_begin_text()

이전 | 위로 | 다음
cpdf_curveto | 처음으로 | cpdf_fill_stroke


cpdf_fill_stroke

(PHP 4, PHP 5 <= 5.0.5)

cpdf_fill_stroke -- Fill and stroke current path

설명

bool cpdf_fill_stroke ( int $pdf_document )

Fills the interior of the current path with the current fill color and draws current path.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_closepath()
cpdf_stroke()
cpdf_fill()
cpdf_setgray_fill()
cpdf_setgray()
cpdf_setrgbcolor_fill()
cpdf_setrgbcolor()

이전 | 위로 | 다음
cpdf_end_text | 처음으로 | cpdf_fill


cpdf_fill

(PHP 4, PHP 5 <= 5.0.5)

cpdf_fill -- Fill current path

설명

bool cpdf_fill ( int $pdf_document )

Fills the interior of the current path with the current fill color.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_closepath()
cpdf_stroke()
cpdf_setgray_fill()
cpdf_setgray()
cpdf_setrgbcolor_fill()
cpdf_setrgbcolor()

이전 | 위로 | 다음
cpdf_fill_stroke | 처음으로 | cpdf_finalize_page


cpdf_finalize_page

(PHP 4, PHP 5 <= 5.0.5)

cpdf_finalize_page -- Ends page

설명

bool cpdf_finalize_page ( int $pdf_document, int $page_number )

Ends the page which number is page_number.

This function is only used for saving memory. A finalized page takes less memory but cannot be modified anymore.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

page_number

The page number

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_page_init()

이전 | 위로 | 다음
cpdf_fill | 처음으로 | cpdf_finalize


cpdf_finalize

(PHP 4, PHP 5 <= 5.0.5)

cpdf_finalize -- Ends document

설명

bool cpdf_finalize ( int $pdf_document )

Ends the PDF document.

You still have to call cpdf_close().

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_close()

이전 | 위로 | 다음
cpdf_finalize_page | 처음으로 | cpdf_global_set_document_limits


cpdf_global_set_document_limits

(PHP 4, PHP 5 <= 5.0.5)

cpdf_global_set_document_limits -- Sets document limits for any pdf document

설명

bool cpdf_global_set_document_limits ( int $maxpages, int $maxfonts, int $maximages, int $maxannotations, int $maxobjects )

Sets several document limits. This function has to be called before cpdf_open() to take effect. It sets the limits for any document open afterwards.

매개변수

maxPages

The maximum number of pages

maxFonts

The maximum number of fonts

maxImages

The maximum number of images

maxAnnots

The maximum number of annotations

maxObjects

The maximum number of objects

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_open()

이전 | 위로 | 다음
cpdf_finalize | 처음으로 | cpdf_import_jpeg


cpdf_import_jpeg

(PHP 4, PHP 5 <= 5.0.5)

cpdf_import_jpeg -- Opens a JPEG image

설명

bool cpdf_import_jpeg ( int $pdf_document, string $file_name, float $x_coor, float $y_coor, float $angle, float $width, float $height, float $x_scale, float $y_scale, int $gsave [, int $mode] )

Opens a JPEG image.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

file_name

The path to the image file. The format of the image has to be JPEG

x_coor

The x-coordinate of the image

y_coor

The y-coordinate of the image

angle

The image rotation angle, in degrees

width

The image width

height

The image height

x_scale

y_scale

gsave

Should be non-zero to allow this function to operate correctly

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_place_inline_image()

이전 | 위로 | 다음
cpdf_global_set_document_limits | 처음으로 | cpdf_lineto


cpdf_lineto

(PHP 4, PHP 5 <= 5.0.5)

cpdf_lineto -- Draws a line

설명

bool cpdf_lineto ( int $pdf_document, float $x_coor, float $y_coor [, int $mode] )

The cpdf_lineto() function draws a line from the current point to the specified point.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x_coor

The x-coordinate of the destination point

y_coor

The y-coordinate of the destination point

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_moveto()
cpdf_rmoveto()
cpdf_curveto()

이전 | 위로 | 다음
cpdf_import_jpeg | 처음으로 | cpdf_moveto


cpdf_moveto

(PHP 4, PHP 5 <= 5.0.5)

cpdf_moveto -- Sets current point

설명

bool cpdf_moveto ( int $pdf_document, float $x_coor, float $y_coor [, int $mode] )

Sets the current point to the given coordinates.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x_coor

The x-coordinate

y_coor

The y-coordinate

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_lineto | 처음으로 | cpdf_newpath


cpdf_newpath

(PHP 4, PHP 5 <= 5.0.5)

cpdf_newpath -- Starts a new path

설명

bool cpdf_newpath ( int $pdf_document )

Starts a new path on the document.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_moveto | 처음으로 | cpdf_open


cpdf_open

(PHP 4, PHP 5 <= 5.0.5)

cpdf_open -- Opens a new pdf document

설명

int cpdf_open ( int $compression [, string $filename [, array $doc_limits]] )

Opens a new PDF document.

매개변수

compression

If different from 0, document compression is turned on

filename

Sets the file in which the document is written. - is a synonym for stdout.

If omitted, the document is created in memory and can either be written into a file with cpdf_save_to_file() or written to standard output with cpdf_output_buffer().

참고: Using stdout will not work if PHP is compiled as an apache module. You can solve this problem by skipping this parameter filename and using cpdf_output_buffer() later to output the PDF document.

doc_limits

An array defining the document limitation. See cpdf_global_set_document_limits() for more information

반환값

Returns a document handle, needed as the first parameter for all other functions of the library.

참고

cpdf_close()
cpdf_output_buffer()

이전 | 위로 | 다음
cpdf_newpath | 처음으로 | cpdf_output_buffer


cpdf_output_buffer

(PHP 4, PHP 5 <= 5.0.5)

cpdf_output_buffer -- Outputs the pdf document in memory buffer

설명

bool cpdf_output_buffer ( int $pdf_document )

Outputs the pdf document to stdout.

The document has to be created in memory which is the case if cpdf_open() has been called without the file name parameter.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_open()

이전 | 위로 | 다음
cpdf_open | 처음으로 | cpdf_page_init


cpdf_page_init

(PHP 4, PHP 5 <= 5.0.5)

cpdf_page_init -- Starts new page

설명

bool cpdf_page_init ( int $pdf_document, int $page_number, int $orientation, float $height, float $width [, float $unit] )

Starts a new page.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

page_number

The page number

orientation

0 for portrait and 1 for landscape

height

The page height

width

The page width

unit

The unit for the coordinate system. The value should be the number of postscript points per unit. Since one inch is equal to 72 points, a value of 72 would set the unit to one inch. The default is also 72.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_current_page()

이전 | 위로 | 다음
cpdf_output_buffer | 처음으로 | cpdf_place_inline_image


cpdf_place_inline_image

(PHP 4, PHP 5 <= 5.0.5)

cpdf_place_inline_image -- Places an image on the page

설명

bool cpdf_place_inline_image ( int $pdf_document, int $image, float $x_coor, float $y_coor, float $angle, float $width, float $height, int $gsave [, int $mode] )

Places an image created with the PHP image functions on the page. The image can be scaled at the same time.

참고: This function is only available if PHP was compiled with the GD Graphics Library 1.3. See the GD extension installation instructions for further information.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

image

An image created with the PHP image functions

x_coor

The x-coordinate of the image

y_coor

The y-coordinate of the image

angle

The image rotation angle, in degrees

width

The image width

height

The image height

gsave

Should be non-zero to allow this function to operate correctly

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_import_jpeg()

이전 | 위로 | 다음
cpdf_page_init | 처음으로 | cpdf_rect


cpdf_rect

(PHP 4, PHP 5 <= 5.0.5)

cpdf_rect -- Draw a rectangle

설명

bool cpdf_rect ( int $pdf_document, float $x_coor, float $y_coor, float $width, float $height [, int $mode] )

Draws a rectangle.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x_coor

The x-coordinate of the lower left corner

y_coor

The y-coordinate of the lower left corner

width

The rectangle width

height

The rectangle height

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 332. Drawing a rectangle

<?php

$cpdf = cpdf_open(0);
cpdf_page_init($cpdf, 1, 0, 595, 842, 1.0);

// set the fill color to red
cpdf_setrgbcolor($cpdf, 1, 0, 0);

// draw a (180 * 100) rectangle
cpdf_rect($cpdf, 645, 400, 180, 100);

// fill the rectangle
cpdf_fill($cpdf);

cpdf_finalize($cpdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($cpdf);
cpdf_close($cpdf);

?>

이전 | 위로 | 다음
cpdf_place_inline_image | 처음으로 | cpdf_restore


cpdf_restore

(PHP 4, PHP 5 <= 5.0.5)

cpdf_restore -- Restores formerly saved environment

설명

bool cpdf_restore ( int $pdf_document )

Restores the environment saved with cpdf_save(). It works like the postscript command grestore. Very useful if you want to translate or rotate an object without effecting other objects.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 333. Save/Restore

<?php
cpdf_save($pdf);
// do all kinds of rotations, transformations, ...
cpdf_restore($pdf)
?>

참고

cpdf_save()

이전 | 위로 | 다음
cpdf_rect | 처음으로 | cpdf_rlineto


cpdf_rlineto

(PHP 4, PHP 5 <= 5.0.5)

cpdf_rlineto -- Draws a line

설명

bool cpdf_rlineto ( int $pdf_document, float $x_coor, float $y_coor [, int $mode] )

The cpdf_rlineto() function draws a line from the current point to the given relative point.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x_coor

The x-coordinate of the destination point

y_coor

The y-coordinate of the destination point

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_moveto()
cpdf_rmoveto()
cpdf_curveto()

이전 | 위로 | 다음
cpdf_restore | 처음으로 | cpdf_rmoveto


cpdf_rmoveto

(PHP 4, PHP 5 <= 5.0.5)

cpdf_rmoveto -- Sets current point

설명

bool cpdf_rmoveto ( int $pdf_document, float $x_coor, float $y_coor [, int $mode] )

Set the current point relative to the given coordinates.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x_coor

The x-coordinate of the destination point

y_coor

The y-coordinate of the destination point

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_moveto()

이전 | 위로 | 다음
cpdf_rlineto | 처음으로 | cpdf_rotate_text


cpdf_rotate_text

(PHP 4, PHP 5 <= 5.0.5)

cpdf_rotate_text -- Sets text rotation angle

설명

bool cpdf_rotate_text ( int $pdfdoc, float $angle )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cpdf_rmoveto | 처음으로 | cpdf_rotate


cpdf_rotate

(PHP 4, PHP 5 <= 5.0.5)

cpdf_rotate -- Sets rotation

설명

bool cpdf_rotate ( int $pdf_document, float $angle )

Sets the rotation in degrees to angle.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

angle

The angle, in degrees

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_rotate_text | 처음으로 | cpdf_save_to_file


cpdf_save_to_file

(PHP 4, PHP 5 <= 5.0.5)

cpdf_save_to_file -- Writes the pdf document into a file

설명

bool cpdf_save_to_file ( int $pdf_document, string $filename )

Outputs the PDF document into a file if it has been created in memory.

This function is not needed if the PDF document has been open by specifying a filename as a parameter of cpdf_open().

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

filename

The path to the saved PDF document

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_output_buffer()
cpdf_open()

이전 | 위로 | 다음
cpdf_rotate | 처음으로 | cpdf_save


cpdf_save

(PHP 4, PHP 5 <= 5.0.5)

cpdf_save -- Saves current environment

설명

bool cpdf_save ( int $pdf_document )

Saves the current environment. It works like the postscript command gsave. Very useful if you want to translate or rotate an object without effecting other objects.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_restore()

이전 | 위로 | 다음
cpdf_save_to_file | 처음으로 | cpdf_scale


cpdf_scale

(PHP 4, PHP 5 <= 5.0.5)

cpdf_scale -- Sets scaling

설명

bool cpdf_scale ( int $pdf_document, float $x_scale, float $y_scale )

Sets the scaling factor in both directions.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x_scale

The X scale percent to set. Default to 0.0

y_scale

The Y scale percent to set. Default to 0.0

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_save | 처음으로 | cpdf_set_action_url


cpdf_set_action_url

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_action_url -- Sets hyperlink

설명

bool cpdf_set_action_url ( int $pdfdoc, float $xll, float $yll, float $xur, float $xur, string $url [, int $mode] )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cpdf_scale | 처음으로 | cpdf_set_char_spacing


cpdf_set_char_spacing

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_char_spacing -- Sets character spacing

설명

bool cpdf_set_char_spacing ( int $pdf_document, float $space )

Sets the spacing between characters.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

space

Distance between individual characters in a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_word_spacing()
cpdf_set_leading()

이전 | 위로 | 다음
cpdf_set_action_url | 처음으로 | cpdf_set_creator


cpdf_set_creator

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_creator -- Sets the creator field in the pdf document

설명

bool cpdf_set_creator ( int $pdf_document, string $creator )

Sets the creator of a PDF document.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

creator

The creator of the document

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_subject()
cpdf_set_title()
cpdf_set_keywords()

이전 | 위로 | 다음
cpdf_set_char_spacing | 처음으로 | cpdf_set_current_page


cpdf_set_current_page

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_current_page -- Sets current page

설명

bool cpdf_set_current_page ( int $pdf_document, int $page_number )

Sets the page on which all operations are performed. One can switch between pages until a page is finished with cpdf_finalize_page().

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

page_number

The page number

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_finalize_page()

이전 | 위로 | 다음
cpdf_set_creator | 처음으로 | cpdf_set_font_directories


cpdf_set_font_directories

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

cpdf_set_font_directories -- Sets directories to search when using external fonts

설명

bool cpdf_set_font_directories ( int $pdfdoc, string $pfmdir, string $pfbdir )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cpdf_set_current_page | 처음으로 | cpdf_set_font_map_file


cpdf_set_font_map_file

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

cpdf_set_font_map_file -- Sets fontname to filename translation map when using external fonts

설명

bool cpdf_set_font_map_file ( int $pdfdoc, string $filename )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cpdf_set_font_directories | 처음으로 | cpdf_set_font


cpdf_set_font

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_font -- Select the current font face and size

설명

bool cpdf_set_font ( int $pdf_document, string $font_name, float $size, string $encoding )

Sets the current font face, font size and encoding.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

font_name

The font name. Currently only the standard postscript fonts are supported.

See the ClibPDF Manual for more information, especially on how to support Asian fonts.

size

The font size

encoding

Can take the following values: MacRomanEncoding, MacExpertEncoding, WinAnsiEncoding, and NULL (the font's built-in encoding).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_set_font_map_file | 처음으로 | cpdf_set_horiz_scaling


cpdf_set_horiz_scaling

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_horiz_scaling -- Sets horizontal scaling of text

설명

bool cpdf_set_horiz_scaling ( int $pdf_document, float $scale )

Sets the horizontal scaling to scale percent.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

scale

The scale percent to set

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_set_font | 처음으로 | cpdf_set_keywords


cpdf_set_keywords

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_keywords -- Sets the keywords field of the pdf document

설명

bool cpdf_set_keywords ( int $pdf_document, string $keywords )

Sets the keywords of the PDF document.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

keywords

The keywords to set on the document

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_title()
cpdf_set_creator()
cpdf_set_subject()

이전 | 위로 | 다음
cpdf_set_horiz_scaling | 처음으로 | cpdf_set_leading


cpdf_set_leading

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_leading -- Sets distance between text lines

설명

bool cpdf_set_leading ( int $pdf_document, float $distance )

Sets the distance between text lines. This will be used if text is output by cpdf_continue_text().

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

distance

The distance between text lines, as a float

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_continue_text()

이전 | 위로 | 다음
cpdf_set_keywords | 처음으로 | cpdf_set_page_animation


cpdf_set_page_animation

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_page_animation -- Sets duration between pages

설명

bool cpdf_set_page_animation ( int $pdf_document, int $transition, float $duration, float $direction, int $orientation, int $inout )

Sets the transition between following pages.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

transition

The value of transition can be

0 for none,
1 for two lines sweeping across the screen reveal the page,
2 for multiple lines sweeping across the screen reveal the page,
3 for a box reveals the page,
4 for a single line sweeping across the screen reveals the page,
5 for the old page dissolves to reveal the page,
6 for the dissolve effect moves from one screen edge to another,
7 for the old page is simply replaced by the new page (default)

duration

The value of duration is the number of seconds between page flipping.

direction

orientation

inout

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_set_leading | 처음으로 | cpdf_set_subject


cpdf_set_subject

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_subject -- Sets the subject field of the pdf document

설명

bool cpdf_set_subject ( int $pdf_document, string $subject )

Sets the subject of the PDF document.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

subject

The subject of the document

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_title()
cpdf_set_creator()
cpdf_set_keywords()

이전 | 위로 | 다음
cpdf_set_page_animation | 처음으로 | cpdf_set_text_matrix


cpdf_set_text_matrix

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_text_matrix -- Sets the text matrix

설명

bool cpdf_set_text_matrix ( int $pdf_document, array $matrix )

Sets a matrix which describes a transformation applied on the current text font.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

matrix

An array of six elements describing the transformation

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_text_rendering()
cpdf_set_text_rise()

이전 | 위로 | 다음
cpdf_set_subject | 처음으로 | cpdf_set_text_pos


cpdf_set_text_pos

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_text_pos -- Sets text position

설명

bool cpdf_set_text_pos ( int $pdf_document, float $x_coor, float $y_coor [, int $mode] )

Sets the position of text for the next cpdf_show() call.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x_coor

The x-coordinate of the text position

y_coor

The y-coordinate of the text position

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_show()
cpdf_text()

이전 | 위로 | 다음
cpdf_set_text_matrix | 처음으로 | cpdf_set_text_rendering


cpdf_set_text_rendering

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_text_rendering -- Determines how text is rendered

설명

bool cpdf_set_text_rendering ( int $pdf_document, int $rendermode )

Determines how the text is rendered.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

rendermode

The possible values for rendermode are 0=fill text, 1=stroke text, 2=fill and stroke text, 3=invisible, 4=fill text and add it to clipping path, 5=stroke text and add it to clipping path, 6=fill and stroke text and add it to clipping path, 7=add it to clipping path.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_text_matrix()
cpdf_set_text_rise()

이전 | 위로 | 다음
cpdf_set_text_pos | 처음으로 | cpdf_set_text_rise


cpdf_set_text_rise

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_text_rise -- Sets the text rise

설명

bool cpdf_set_text_rise ( int $pdf_document, float $value )

Sets the text rising to value units.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

value

The text rising, as a float

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_text_rendering()
cpdf_set_text_matrix()

이전 | 위로 | 다음
cpdf_set_text_rendering | 처음으로 | cpdf_set_title


cpdf_set_title

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_title -- Sets the title field of the pdf document

설명

bool cpdf_set_title ( int $pdf_document, string $title )

Sets the title of a PDF document.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

title

The title of the document

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_subject()
cpdf_set_creator()
cpdf_set_keywords()

이전 | 위로 | 다음
cpdf_set_text_rise | 처음으로 | cpdf_set_viewer_preferences


cpdf_set_viewer_preferences

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_viewer_preferences -- How to show the document in the viewer

설명

bool cpdf_set_viewer_preferences ( int $pdfdoc, array $preferences )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cpdf_set_title | 처음으로 | cpdf_set_word_spacing


cpdf_set_word_spacing

(PHP 4, PHP 5 <= 5.0.5)

cpdf_set_word_spacing -- Sets spacing between words

설명

bool cpdf_set_word_spacing ( int $pdf_document, float $space )

Sets the spacing between words.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

space

The spacing, as a float

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_set_char_spacing()
cpdf_set_leading()

이전 | 위로 | 다음
cpdf_set_viewer_preferences | 처음으로 | cpdf_setdash


cpdf_setdash

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setdash -- Sets dash pattern

설명

bool cpdf_setdash ( int $pdf_document, float $white, float $black )

Sets the dash pattern to the given one. If both parameters are 0, a solid line is set.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

white

White units, as a float

black

Black units, as a float

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_set_word_spacing | 처음으로 | cpdf_setflat


cpdf_setflat

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setflat -- Sets flatness

설명

bool cpdf_setflat ( int $pdf_document, float $value )

Sets the flatness.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

value

The flatness as a float, between 0 and 100

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_setdash | 처음으로 | cpdf_setgray_fill


cpdf_setgray_fill

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setgray_fill -- Sets filling color to gray value

설명

bool cpdf_setgray_fill ( int $pdf_document, float $value )

Sets the current gray value to fill a path.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

value

The gray value, as a float

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_setrgbcolor_fill()

이전 | 위로 | 다음
cpdf_setflat | 처음으로 | cpdf_setgray_stroke


cpdf_setgray_stroke

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setgray_stroke -- Sets drawing color to gray value

설명

bool cpdf_setgray_stroke ( int $pdf_document, float $gray_value )

Sets the current drawing color to the given gray value.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

gray_value

The gray value, as a float

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_setrgbcolor_stroke()

이전 | 위로 | 다음
cpdf_setgray_fill | 처음으로 | cpdf_setgray


cpdf_setgray

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setgray -- Sets drawing and filling color to gray value

설명

bool cpdf_setgray ( int $pdf_document, float $gray_value )

Sets the current drawing and filling color to the given gray value.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

gray_value

The gray value, as a float

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_setrgbcolor_stroke()
cpdf_setrgbcolor_fill()

이전 | 위로 | 다음
cpdf_setgray_stroke | 처음으로 | cpdf_setlinecap


cpdf_setlinecap

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setlinecap -- Sets linecap parameter

설명

bool cpdf_setlinecap ( int $pdf_document, int $value )

Sets the linecap parameter.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

value

0 = butt end, 1 = round, 2 = projecting square

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_setgray | 처음으로 | cpdf_setlinejoin


cpdf_setlinejoin

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setlinejoin -- Sets linejoin parameter

설명

bool cpdf_setlinejoin ( int $pdf_document, int $value )

Set the linejoin parameter.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

value

0 = miter, 1 = round, 2 = bevel

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_setlinecap | 처음으로 | cpdf_setlinewidth


cpdf_setlinewidth

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setlinewidth -- Sets line width

설명

bool cpdf_setlinewidth ( int $pdf_document, float $width )

Set the line width.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

width

The line width, as a float

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_setlinejoin | 처음으로 | cpdf_setmiterlimit


cpdf_setmiterlimit

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setmiterlimit -- Sets miter limit

설명

bool cpdf_setmiterlimit ( int $pdf_document, float $value )

Sets the miter limit.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

value

The miter limit. Must be greater or equal than 1

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_setlinewidth | 처음으로 | cpdf_setrgbcolor_fill


cpdf_setrgbcolor_fill

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setrgbcolor_fill -- Sets filling color to rgb color value

설명

bool cpdf_setrgbcolor_fill ( int $pdf_document, float $red_value, float $green_value, float $blue_value )

Sets the current rgb color value to fill a path.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

red_value

The red value, as a float between 0.0 (black) and 1.0 (red)

green_value

The green value, as a float between 0.0 (black) and 1.0 (green)

blue_value

The blue value, as a float between 0.0 (black) and 1.0 (blue)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_setrgbcolor_stroke()
cpdf_setrgbcolor()

이전 | 위로 | 다음
cpdf_setmiterlimit | 처음으로 | cpdf_setrgbcolor_stroke


cpdf_setrgbcolor_stroke

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setrgbcolor_stroke -- Sets drawing color to rgb color value

설명

bool cpdf_setrgbcolor_stroke ( int $pdf_document, float $red_value, float $green_value, float $blue_value )

Sets the current drawing color to the given rgb color value.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

red_value

The red value, as a float between 0.0 (black) and 1.0 (red)

green_value

The green value, as a float between 0.0 (black) and 1.0 (green)

blue_value

The blue value, as a float between 0.0 (black) and 1.0 (blue)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_setrgbcolor()
cpdf_setrgbcolor_fill()

이전 | 위로 | 다음
cpdf_setrgbcolor_fill | 처음으로 | cpdf_setrgbcolor


cpdf_setrgbcolor

(PHP 4, PHP 5 <= 5.0.5)

cpdf_setrgbcolor -- Sets drawing and filling color to rgb color value

설명

bool cpdf_setrgbcolor ( int $pdf_document, float $red_value, float $green_value, float $blue_value )

Sets the current drawing and filling color to the given rgb color value.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

red_value

The red value, as a float between 0.0 (black) and 1.0 (red)

green_value

The green value, as a float between 0.0 (black) and 1.0 (green)

blue_value

The blue value, as a float between 0.0 (black) and 1.0 (blue)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_setrgbcolor_stroke()
cpdf_setrgbcolor_fill()

이전 | 위로 | 다음
cpdf_setrgbcolor_stroke | 처음으로 | cpdf_show_xy


cpdf_show_xy

(PHP 4, PHP 5 <= 5.0.5)

cpdf_show_xy -- Output text at position

설명

bool cpdf_show_xy ( int $pdf_document, string $text, float $x_coor, float $y_coor [, int $mode] )

Outputs the string text at the given position.

참고: The function cpdf_show_xy() is identical to cpdf_text() without the optional parameters.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

text

The text

x_coor

The x-coordinate of the text position

y_coor

The y-coordinate of the text position

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_text()

이전 | 위로 | 다음
cpdf_setrgbcolor | 처음으로 | cpdf_show


cpdf_show

(PHP 4, PHP 5 <= 5.0.5)

cpdf_show -- Output text at current position

설명

bool cpdf_show ( int $pdf_document, string $text )

Outputs a text at the current position.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

text

The text, as a string

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_text()
cpdf_begin_text()
cpdf_end_text()

이전 | 위로 | 다음
cpdf_show_xy | 처음으로 | cpdf_stringwidth


cpdf_stringwidth

(PHP 4, PHP 5 <= 5.0.5)

cpdf_stringwidth -- Returns width of text in current font

설명

float cpdf_stringwidth ( int $pdf_document, string $text )

Returns the width of the string in text.

This function requires a font to be set before.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

text

The text, as a string

반환값

Returns the width of text.

참고

cpdf_set_font()

이전 | 위로 | 다음
cpdf_show | 처음으로 | cpdf_stroke


cpdf_stroke

(PHP 4, PHP 5 <= 5.0.5)

cpdf_stroke -- Draw line along path

설명

bool cpdf_stroke ( int $pdf_document )

Draws a line along current path.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_closepath()
cpdf_closepath_stroke()

이전 | 위로 | 다음
cpdf_stringwidth | 처음으로 | cpdf_text


cpdf_text

(PHP 4, PHP 5 <= 5.0.5)

cpdf_text -- Output text with parameters

설명

bool cpdf_text ( int $pdf_document, string $text [, float $x_coor, float $y_coor [, int $mode [, float $orientation [, int $alignmode]]]] )

Outputs the string text at the given position.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

text

The text

x_coor

The x-coordinate of the text position

y_coor

The y-coordinate of the text position

mode

선택적인 mode 매개변수는 단위 길이를 결정합니다. 0이나 없을 경우, 사용하는 페이지의 기본 단위를 사용합니다. 그 외에는 현재 단위에 관계 없이 좌표를 postscript 포인트로 측정합니다.

orientation

Rotation of the text in degrees

alignmode

Determines how the text is aligned. See the ClibPDF documentation for possible values.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

cpdf_show_xy()

이전 | 위로 | 다음
cpdf_stroke | 처음으로 | cpdf_translate


cpdf_translate

(PHP 4, PHP 5 <= 5.0.5)

cpdf_translate -- Sets origin of coordinate system

설명

bool cpdf_translate ( int $pdf_document, float $x_coor, float $y_coor )

Sets the origin of coordinate system to the specified point.

매개변수

pdf_document

cpdf_open()이 반환한 문서 핸들.

x_coor

The x-coordinate of the point

y_coor

The y-coordinate of the point

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
cpdf_text | 처음으로 | XVI. COM and .Net (Windows)


Crack Functions

이전 VI. 함수 레퍼런스 다음

XVII. Crack Functions

소개

These functions allow you to use the CrackLib library to test the 'strength' of a password. The 'strength' of a password is tested by that checks length, use of upper and lower case and checked against the specified CrackLib dictionary. CrackLib will also give helpful diagnostic messages that will help 'strengthen' the password.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

요구 조건

More information regarding CrackLib along with the library can be found at » http://sourceforge.net/projects/cracklib.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/crack.

PHP 4에서 이 PECL 확장의 소스는 PHP 소스의 ext/ 디렉토리 안이나, 위의 PECL 링크에서 찾을 수 있습니다. In order to use these functions you must compile PHP with Crack support by using the --with-crack[=DIR] configuration option.

Windows users will enable php_crack.dll inside of php.ini in order to use these functions. PHP 4에서 이 DLL 형식은 내려받은 PHP 윈도우 바이너리 안의 extensions/ 디렉토리 안에 있습니다. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 36. Crack configuration options

Name | Default | Changeable | Changelog
crack.default_dictionary | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM in crack <= 0.2. Available since PHP 4.0.5. Removed in PHP 5.0.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

The CrackLib extension defines a dictionary resource identifier returned by crack_opendict().

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

This example shows how to open a CrackLib dictionary, test a given password, retrieve any diagnostic messages, and close the dictionary.

예 347. CrackLib example

<?php
// Open CrackLib Dictionary
$dictionary = crack_opendict('/usr/local/lib/pw_dict')
     or die('Unable to open CrackLib dictionary');

// Perform password check
$check = crack_check($dictionary, 'gx9A2s0x');

// Retrieve messages
$diag = crack_getlastmessage();
echo $diag; // 'strong password'

// Close dictionary
crack_closedict($dictionary);
?>

참고: If crack_check() returns TRUE, crack_getlastmessage() will return 'strong password'.

차례

crack_check -- Performs an obscure check with the given password
crack_closedict -- Closes an open CrackLib dictionary
crack_getlastmessage -- Returns the message from the last obscure check
crack_opendict -- Opens a new CrackLib dictionary
이전 | 위로 | 다음
variant_xor | 처음으로 | crack_check


crack_check

(PHP 4 >= 4.0.5, PECL crack:0.1-0.4)

crack_check -- Performs an obscure check with the given password

설명

bool crack_check ( resource $dictionary, string $password )
bool crack_check ( string $password )

Performs an obscure check with the given password on the specified dictionary.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

dictionary

The crack lib dictionary. If not specified, the last opened dictionary is used.

password

The tested password.

반환값

Returns TRUE if password is strong, or FALSE otherwise.

이전 | 위로 | 다음
XVII. Crack Functions | 처음으로 | crack_closedict


crack_closedict

(PHP 4 >= 4.0.5, PECL crack:0.1-0.4)

crack_closedict -- Closes an open CrackLib dictionary

설명

bool crack_closedict ( [resource $dictionary] )

crack_closedict() closes the specified dictionary identifier.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

dictionary

The dictionary to close. If not specified, the current directory is closed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

crack_opendict()

이전 | 위로 | 다음
crack_check | 처음으로 | crack_getlastmessage


crack_getlastmessage

(PHP 4 >= 4.0.5, PECL crack:0.1-0.4)

crack_getlastmessage -- Returns the message from the last obscure check

설명

string crack_getlastmessage ( void )

crack_getlastmessage() returns the message from the last obscure check.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

반환값

The message from the last obscure check or FALSE if there was no obscure checks made so far.

The returned message is one of:

  • it's WAY too short
  • it is too short
  • it does not contain enough DIFFERENT characters
  • it is all whitespace
  • it is too simplistic/systematic
  • it looks like a National Insurance number.
  • it is based on a dictionary word
  • it is based on a (reversed) dictionary word
  • strong password

참고

crack_check()

이전 | 위로 | 다음
crack_closedict | 처음으로 | crack_opendict


crack_opendict

(PHP 4 >= 4.0.5, PECL crack:0.1-0.4)

crack_opendict -- Opens a new CrackLib dictionary

설명

resource crack_opendict ( string $dictionary )

crack_opendict() opens the specified CrackLib dictionary for use with crack_check().

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고: Only one dictionary may be open at a time.

매개변수

dictionary

The path to the Cracklib dictionary.

반환값

Returns a dictionary resource identifier on success, or FALSE on failure.

참고

crack_check()
crack_closedict()

이전 | 위로 | 다음
crack_getlastmessage | 처음으로 | XVIII. Character Type Functions


CURL, Client URL Library Functions

이전 VI. 함수 레퍼런스 다음

XIX. CURL, Client URL Library Functions

소개

PHP supports libcurl, a library created by Daniel Stenberg, that allows you to connect and communicate to many different types of servers with many different types of protocols. libcurl currently supports the http, https, ftp, gopher, telnet, dict, file, and ldap protocols. libcurl also supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading (this can also be done with PHP's ftp extension), HTTP form based upload, proxies, cookies, and user+password authentication.

These functions have been added in PHP 4.0.2.

요구 조건

In order to use PHP's cURL functions you need to install the » libcurl package. PHP requires that you use libcurl 7.0.2-beta or higher. In PHP 4.2.3, you will need libcurl version 7.9.0 or higher. From PHP 4.3.0, you will need a libcurl version that's 7.9.8 or higher. PHP 5.0.0 requires a libcurl version 7.10.5 or greater.

설치

To use PHP's cURL support you must also compile PHP --with-curl[=DIR] where DIR is the location of the directory containing the lib and include directories. In the "include" directory there should be a folder named "curl" which should contain the easy.h and curl.h files. There should be a file named libcurl.a located in the "lib" directory. Beginning with PHP 4.3.0 you can configure PHP to use cURL for URL streams --with-curlwrappers.

Note to Win32 Users: In order to enable this module on a Windows environment, libeay32.dll and ssleay32.dll must be present in your PATH.

You don't need libcurl.dll from the cURL site.

자원형

This extension defines two resource types: a cURL handle and a cURL multi handle.

예약 상수

See also the cURL Predefined Constants

예제

Once you've compiled PHP with cURL support, you can begin using the cURL functions. The basic idea behind the cURL functions is that you initialize a cURL session using the curl_init(), then you can set all your options for the transfer via the curl_setopt(), then you can execute the session with the curl_exec() and then you finish off your session using the curl_close(). Here is an example that uses the cURL functions to fetch the example.com homepage into a file:

예 359. Using PHP's cURL module to fetch the example.com homepage

<?php

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

차례

Constants -- Curl Predefined Constants
curl_close -- Close a cURL session
curl_copy_handle -- Copy a cURL handle along with all of its preferences
curl_errno -- Return the last error number
curl_error -- Return a string containing the last error for the current session
curl_exec -- Perform a cURL session
curl_getinfo -- Get information regarding a specific transfer
curl_init -- Initialize a cURL session
curl_multi_add_handle -- Add a normal cURL handle to a cURL multi handle
curl_multi_close -- Close a set of cURL handles
curl_multi_exec -- Run the sub-connections of the current cURL handle
curl_multi_getcontent -- Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set
curl_multi_info_read -- Get information about the current transfers
curl_multi_init -- Returns a new cURL multi handle
curl_multi_remove_handle -- Remove a multi handle from a set of cURL handles
curl_multi_select -- Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array -- Set multiple options for a cURL transfer
curl_setopt -- Set an option for a cURL transfer
curl_version -- Gets cURL version information
이전 | 위로 | 다음
ctype_xdigit | 처음으로 | Constants


curl_close

(PHP 4 >= 4.0.2, PHP 5)

curl_close -- Close a cURL session

설명

void curl_close ( resource $ch )

Closes a cURL session and frees all resources. The cURL handle, ch, is also deleted.

매개변수

ch

curl_init()가 반환한 cURL 핸들입니다.

반환값

값을 반환하지 않습니다.

예제

예 360. Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

참고

curl_init()
curl_multi_close()

이전 | 위로 | 다음
Constants | 처음으로 | curl_copy_handle


curl_copy_handle

(PHP 5)

curl_copy_handle -- Copy a cURL handle along with all of its preferences

설명

resource curl_copy_handle ( resource $ch )

Copies a cURL handle keeping the same preferences.

매개변수

ch

curl_init()가 반환한 cURL 핸들입니다.

반환값

Returns a new cURL handle.

예제

예 361. Copying a cURL handle

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// copy the handle
$ch2 = curl_copy_handle($ch);

// grab URL (http://www.example.com/) and pass it to the browser
curl_exec($ch2);

// close cURL resources, and free up system resources
curl_close($ch2);
curl_close($ch);
?>

이전 | 위로 | 다음
curl_close | 처음으로 | curl_errno


curl_errno

(PHP 4 >= 4.0.3, PHP 5)

curl_errno -- Return the last error number

설명

int curl_errno ( resource $ch )

Returns the error number for the last cURL operation.

매개변수

ch

curl_init()가 반환한 cURL 핸들입니다.

반환값

Returns the error number or 0 (zero) if no error occurred.

참고

curl_error()
» Curl error codes

이전 | 위로 | 다음
curl_copy_handle | 처음으로 | curl_error


curl_error

(PHP 4 >= 4.0.3, PHP 5)

curl_error -- Return a string containing the last error for the current session

설명

string curl_error ( resource $ch )

Returns a clear text error message for the last cURL operation.

매개변수

ch

curl_init()가 반환한 cURL 핸들입니다.

반환값

Returns the error number or '' (the empty string) if no error occurred.

참고

curl_errno()
» Curl error codes

이전 | 위로 | 다음
curl_errno | 처음으로 | curl_exec


curl_exec

(PHP 4 >= 4.0.2, PHP 5)

curl_exec -- Perform a cURL session

설명

mixed curl_exec ( resource $ch )

Execute the given cURL session.

This function should be called after initializing a cURL session and all the options for the session are set.

매개변수

ch

curl_init()가 반환한 cURL 핸들입니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure.

예제

예 362. Fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

참고

curl_multi_exec()

이전 | 위로 | 다음
curl_error | 처음으로 | curl_getinfo


curl_getinfo

(PHP 4 >= 4.0.4, PHP 5)

curl_getinfo -- Get information regarding a specific transfer

설명

mixed curl_getinfo ( resource $ch [, int $opt] )

Gets information about the last transfer,

매개변수

ch

curl_init()가 반환한 cURL 핸들입니다.

opt

This may be one of the following constants:

  • CURLINFO_EFFECTIVE_URL - Last effective URL
  • CURLINFO_HTTP_CODE - Last received HTTP code
  • CURLINFO_FILETIME - Remote time of the retrieved document, if -1 is returned the time of the document is unknown
  • CURLINFO_TOTAL_TIME - Total transaction time in seconds for last transfer
  • CURLINFO_NAMELOOKUP_TIME - Time in seconds until name resolving was complete
  • CURLINFO_CONNECT_TIME - Time in seconds it took to establish the connection
  • CURLINFO_PRETRANSFER_TIME - Time in seconds from start until just before file transfer begins
  • CURLINFO_STARTTRANSFER_TIME - Time in seconds until the first byte is about to be transferred
  • CURLINFO_REDIRECT_TIME - Time in seconds of all redirection steps before final transaction was started
  • CURLINFO_SIZE_UPLOAD - Total number of bytes uploaded
  • CURLINFO_SIZE_DOWNLOAD - Total number of bytes downloaded
  • CURLINFO_SPEED_DOWNLOAD - Average download speed
  • CURLINFO_SPEED_UPLOAD - Average upload speed
  • CURLINFO_HEADER_SIZE - Total size of all headers received
  • CURLINFO_HEADER_OUT - The request string sent. Available since PHP 5.1.3
  • CURLINFO_REQUEST_SIZE - Total size of issued requests, currently only for HTTP requests
  • CURLINFO_SSL_VERIFYRESULT - Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - content-length of download, read from Content-Length: field
  • CURLINFO_CONTENT_LENGTH_UPLOAD - Specified size of upload
  • CURLINFO_CONTENT_TYPE - Content-type of downloaded object, NULL indicates server did not send valid Content-Type: header

반환값

If opt is given, returns its value as a string. Otherwise, returns an associative array with the following elements (which correspond to opt):

  • "url"
  • "content_type"
  • "http_code"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"

이전 | 위로 | 다음
curl_exec | 처음으로 | curl_init


curl_init

(PHP 4 >= 4.0.2, PHP 5)

curl_init -- Initialize a cURL session

설명

resource curl_init ( [string $url] )

Initializes a new session and return a cURL handle for use with the curl_setopt(), curl_exec(), and curl_close() functions.

매개변수

url

If provided, the CURLOPT_URL option will be set to its value. You can manually set this using the curl_setopt() function.

반환값

Returns a cURL handle on success, FALSE on errors.

예제

예 363. Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

참고

curl_close()
curl_multi_init()

이전 | 위로 | 다음
curl_getinfo | 처음으로 | curl_multi_add_handle


curl_multi_add_handle

(PHP 5)

curl_multi_add_handle -- Add a normal cURL handle to a cURL multi handle

설명

int curl_multi_add_handle ( resource $mh, resource $ch )

Adds the ch handle to the multi handle mh

매개변수

mh

curl_multi_init()가 반환한 curl 다중 핸들입니다.

ch

curl_init()가 반환한 cURL 핸들입니다.

반환값

Returns 0 on success, or one of the CURLM_XXX errors code.

예제

예 364. curl_multi_add_handle() example

This example will create two cURL handles, add them to a multi handle, and then run them in parallel.

<?php
// create both cURL resources
$ch1 = curl_init();
$ch2 = curl_init();

// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//create the multiple cURL handle
$mh = curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
//execute the handles
do {
    curl_multi_exec($mh,$running);
} while($running > 0);

//close all the handles
curl_multi_remove_handle($ch1);
curl_multi_remove_handle($ch2);
curl_multi_close($mh);
?>

참고

curl_multi_remove_handle()
curl_multi_init()
curl_init()

이전 | 위로 | 다음
curl_init | 처음으로 | curl_multi_close


curl_multi_close

(PHP 5)

curl_multi_close -- Close a set of cURL handles

설명

void curl_multi_close ( resource $mh )

Closes a set of cURL handles.

매개변수

mh

curl_multi_init()가 반환한 curl 다중 핸들입니다.

반환값

값을 반환하지 않습니다.

예제

예 365. curl_multi_close() example

This example will create two cURL handles, add them to a multi handle, and then run them in parallel.

<?php
// create both cURL resources
$ch1 = curl_init();
$ch2 = curl_init();

// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//create the multiple cURL handle
$mh = curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
//execute the handles
do {
    curl_multi_exec($mh,$running);
} while ($running > 0)
//close the handles
curl_multi_remove_handle($ch1);
curl_multi_remove_handle($ch2);
curl_multi_close($mh);

?>

참고

curl_multi_init()
curl_close()

이전 | 위로 | 다음
curl_multi_add_handle | 처음으로 | curl_multi_exec


curl_multi_exec

(PHP 5)

curl_multi_exec -- Run the sub-connections of the current cURL handle

설명

int curl_multi_exec ( resource $mh, int &$still_running )

Processes each of the handles in the stack. This method can be called whether or not a handle needs to read or write data.

매개변수

mh

curl_multi_init()가 반환한 curl 다중 핸들입니다.

still_running

A reference to a flag to tell whether the operations are still running.

반환값

A cURL code defined in the cURL Predefined Constants.

참고: This only returns errors regarding the whole multi stack. There might still have occurred problems on individual transfers even when this function returns CURLM_OK.

예제

예 366. curl_multi_exec() example

This example will create two cURL handles, add them to a multi handle, and then run them in parallel.

<?php
// create both cURL resources
$ch1 = curl_init();
$ch2 = curl_init();

// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//create the multiple cURL handle
$mh = curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
//execute the handles
do {
    $mrc = curl_multi_exec($mh, $running);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

//close the handles
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

?>

참고

curl_multi_init()
curl_exec()

이전 | 위로 | 다음
curl_multi_close | 처음으로 | curl_multi_getcontent


curl_multi_getcontent

(PHP 5)

curl_multi_getcontent -- Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set

설명

string curl_multi_getcontent ( resource $ch )

If CURLOPT_RETURNTRANSFER is an option that is set for a specific handle, then this function will return the content of that cURL handle in the form of a string.

매개변수

ch

curl_init()가 반환한 cURL 핸들입니다.

반환값

Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set.

참고

curl_multi_init()

이전 | 위로 | 다음
curl_multi_exec | 처음으로 | curl_multi_info_read


curl_multi_info_read

(PHP 5)

curl_multi_info_read -- Get information about the current transfers

설명

array curl_multi_info_read ( resource $mh [, int $msgs_in_queue] )

Ask the multi handle if there are any messages/informationals from the individual transfers. Messages may include informationals such as an error code from the transfer or just the fact that a transfer is completed.

Repeated calls to this function will return a new result each time, until a FALSE is returned as a signal that there is no more to get at this point. The integer pointed to with msgs_in_queue will contain the number of remaining messages after this function was called.

주의

The data the returned resource points to will not survive calling curl_multi_remove_handle().

매개변수

mh

curl_multi_init()가 반환한 curl 다중 핸들입니다.

msgs_in_queue

Number of messages that are still in the queue

반환값

On success, returns an associative array for the message, FALSE on failure.

변경 기록

버전 | 설명
5.2.0 | msgs_in_queue was added.

참고

curl_multi_init()

이전 | 위로 | 다음
curl_multi_getcontent | 처음으로 | curl_multi_init


curl_multi_init

(PHP 5)

curl_multi_init -- Returns a new cURL multi handle

설명

resource curl_multi_init ( void )

Allows the processing of multiple cURL handles in parallel.

매개변수

mh

curl_multi_init()가 반환한 curl 다중 핸들입니다.

반환값

Returns a cURL on handle on success, FALSE on failure.

예제

예 367. curl_multi_init() example

This example will create two cURL handles, add them to a multi handle, and then run them in parallel.

<?php
// create both cURL resources
$ch1 = curl_init();
$ch2 = curl_init();

// set URL and other appropriate options
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

//create the multiple cURL handle
$mh = curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
//execute the handles
do {
    curl_multi_exec($mh,$running);
} while ($running > 0);

//close the handles
curl_multi_remove_handle($ch1);
curl_multi_remove_handle($ch2);
curl_multi_close($mh);

?>

참고

curl_init()
curl_multi_close()

이전 | 위로 | 다음
curl_multi_info_read | 처음으로 | curl_multi_remove_handle


curl_multi_remove_handle

(PHP 5)

curl_multi_remove_handle -- Remove a multi handle from a set of cURL handles

설명

int curl_multi_remove_handle ( resource $mh, resource $ch )

Removes a given ch handle from the given mh handle. When the ch handle has been removed, it is again perfectly legal to run curl_exec() on this handle. Removing a handle while being used, will effectively halt all transfers in progress.

매개변수

mh

curl_multi_init()가 반환한 curl 다중 핸들입니다.

ch

curl_init()가 반환한 cURL 핸들입니다.

반환값

On success, returns a cURL handle, FALSE on failure.

참고

curl_init()
curl_multi_init()
curl_multi_add_handle()

이전 | 위로 | 다음
curl_multi_init | 처음으로 | curl_multi_select


curl_multi_select

(PHP 5)

curl_multi_select -- Get all the sockets associated with the cURL extension, which can then be "selected"

설명

int curl_multi_select ( resource $mh [, float $timeout] )

Get all the sockets associated with the cURL extension, which can then be "selected".

매개변수

mh

curl_multi_init()가 반환한 curl 다중 핸들입니다.

timeout

Time, in seconds, to wait for a response.

반환값

On success, returns the number of descriptors contained in, the descriptor sets. On failure, this function will return FALSE.

참고

curl_multi_init()

이전 | 위로 | 다음
curl_multi_remove_handle | 처음으로 | curl_setopt_array


curl_setopt

(PHP 4 >= 4.0.2, PHP 5)

curl_setopt -- Set an option for a cURL transfer

설명

bool curl_setopt ( resource $ch, int $option, mixed $value )

Sets an option on the given cURL session handle.

매개변수

ch

curl_init()가 반환한 cURL 핸들입니다.

option

The CURLOPT_XXX option to set.

value

The value to be set on option.

value should be a bool for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_AUTOREFERER | TRUE to automatically set the Referer: field in requests where it follows a Location: redirect. | Available since PHP 5.1.0.
CURLOPT_BINARYTRANSFER | TRUE to return the raw output when CURLOPT_RETURNTRANSFER is used.
CURLOPT_COOKIESESSION | TRUE to mark this as a new cookie "session". It will force libcurl to ignore all cookies it is about to load that are "session cookies" from the previous session. By default, libcurl always stores and loads all cookies, independent if they are session cookies are not. Session cookies are cookies without expiry date and they are meant to be alive and existing for this "session" only. | Available since PHP 5.1.0.
CURLOPT_CRLF | TRUE to convert Unix newlines to CRLF newlines on transfers.
CURLOPT_DNS_USE_GLOBAL_CACHE | TRUE to use a global DNS cache. This option is not thread-safe and is enabled by default.
CURLOPT_FAILONERROR | TRUE to fail silently if the HTTP code returned is greater than or equal to 400. The default behavior is to return the page normally, ignoring the code.
CURLOPT_FILETIME | TRUE to attempt to retrieve the modification date of the remote document. This value can be retrieved using the CURLINFO_FILETIME option with curl_getinfo().
CURLOPT_FOLLOWLOCATION | TRUE to follow any "Location: " header that the server sends as part of the HTTP header (note this is recursive, PHP will follow as many "Location: " headers that it is sent, unless CURLOPT_MAXREDIRS is set).
CURLOPT_FORBID_REUSE | TRUE to force the connection to explicitly close when it has finished processing, and not be pooled for reuse.
CURLOPT_FRESH_CONNECT | TRUE to force the use of a new connection instead of a cached one.
CURLOPT_FTP_USE_EPRT | TRUE to use EPRT (and LPRT) when doing active FTP downloads. Use FALSE to disable EPRT and LPRT and use PORT only. | Added in PHP 5.0.0.
CURLOPT_FTP_USE_EPSV | TRUE to first try an EPSV command for FTP transfers before reverting back to PASV. Set to FALSE to disable EPSV.
CURLOPT_FTPAPPEND | TRUE to append to the remote file instead of overwriting it.
CURLOPT_FTPASCII | An alias of CURLOPT_TRANSFERTEXT. Use that instead.
CURLOPT_FTPLISTONLY | TRUE to only list the names of an FTP directory.
CURLOPT_HEADER | TRUE to include the header in the output.
CURLOPT_HTTPGET | TRUE to reset the HTTP request method to GET. Since GET is the default, this is only necessary if the request method has been changed.
CURLOPT_HTTPPROXYTUNNEL | TRUE to tunnel through a given HTTP proxy.
CURLOPT_MUTE | TRUE to be completely silent with regards to the cURL functions.
CURLOPT_NETRC | TRUE to scan the ~/.netrc file to find a username and password for the remote site that a connection is being established with.
CURLOPT_NOBODY | TRUE to exclude the body from the output.
CURLOPT_NOPROGRESS

TRUE to disable the progress meter for cURL transfers.

참고: PHP automatically sets this option to TRUE, this should only be changed for debugging purposes.

CURLOPT_NOSIGNAL | TRUE to ignore any cURL function that causes a signal to be sent to the PHP process. This is turned on by default in multi-threaded SAPIs so timeout options can still be used. | Added in cURL 7.10 and PHP 5.0.0.
CURLOPT_POST | TRUE to do a regular HTTP POST. This POST is the normal application/x-www-form-urlencoded kind, most commonly used by HTML forms.
CURLOPT_PUT | TRUE to HTTP PUT a file. The file to PUT must be set with CURLOPT_INFILE and CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFER | TRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
CURLOPT_SSL_VERIFYPEER | FALSE to stop cURL from verifying the peer's certificate. Alternate certificates to verify against can be specified with the CURLOPT_CAINFO option or a certificate directory can be specified with the CURLOPT_CAPATH option. CURLOPT_SSL_VERIFYHOST may also need to be TRUE or FALSE if CURLOPT_SSL_VERIFYPEER is disabled (it defaults to 2). | TRUE by default as of cURL 7.10. Default bundle installed as of cURL 7.10.
CURLOPT_TRANSFERTEXT | TRUE to use ASCII mode for FTP transfers. For LDAP, it retrieves data in plain text instead of HTML. On Windows systems, it will not set STDOUT to binary mode.
CURLOPT_UNRESTRICTED_AUTH | TRUE to keep sending the username and password when following locations (using CURLOPT_FOLLOWLOCATION), even when the hostname has changed. | Added in PHP 5.0.0.
CURLOPT_UPLOAD | TRUE to prepare for an upload.
CURLOPT_VERBOSE | TRUE to output verbose information. Writes output to STDERR, or the file specified using CURLOPT_STDERR.

value should be an integer for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_BUFFERSIZE | The size of the buffer to use for each read. There is no guarantee this request will be fulfilled, however. | Added in cURL 7.10 and PHP 5.0.0.
CURLOPT_CLOSEPOLICY | Either CURLCLOSEPOLICY_LEAST_RECENTLY_USED or CURLCLOSEPOLICY_OLDEST. There are three other CURLCLOSEPOLICY_ constants, but cURL does not support them yet.
CURLOPT_CONNECTTIMEOUT | The number of seconds to wait whilst trying to connect. Use 0 to wait indefinitely.
CURLOPT_DNS_CACHE_TIMEOUT | The number of seconds to keep DNS entries in memory. This option is set to 120 (2 minutes) by default.
CURLOPT_FTPSSLAUTH | The FTP authentication method (when is activated): CURLFTPAUTH_SSL (try SSL first), CURLFTPAUTH_TLS (try TLS first), or CURLFTPAUTH_DEFAULT (let cURL decide). | Added in cURL 7.12.2 and PHP 5.1.0.
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (default, lets CURL decide which version to use), CURL_HTTP_VERSION_1_0 (forces HTTP/1.0), or CURL_HTTP_VERSION_1_1 (forces HTTP/1.1).
CURLOPT_HTTPAUTH

The HTTP authentication method(s) to use. The options are: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY, and CURLAUTH_ANYSAFE.

The bitwise | (or) operator can be used to combine more than one method. If this is done, cURL will poll the server to see what methods it supports and pick the best one.

CURLAUTH_ANY is an alias for CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE is an alias for CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

Added in PHP 5.0.0.
CURLOPT_INFILESIZE | The expected size, in bytes, of the file when uploading a file to a remote site.
CURLOPT_LOW_SPEED_LIMIT | The transfer speed, in bytes per second, that the transfer should be below during CURLOPT_LOW_SPEED_TIME seconds for PHP to consider the transfer too slow and abort.
CURLOPT_LOW_SPEED_TIME | The number of seconds the transfer should be below CURLOPT_LOW_SPEED_LIMIT for PHP to consider the transfer too slow and abort.
CURLOPT_MAXCONNECTS | The maximum amount of persistent connections that are allowed. When the limit is reached, CURLOPT_CLOSEPOLICY is used to determine which connection to close.
CURLOPT_MAXREDIRS | The maximum amount of HTTP redirections to follow. Use this option alongside CURLOPT_FOLLOWLOCATION.
CURLOPT_PORT | An alternative port number to connect to.
CURLOPT_PROXYAUTH | The HTTP authentication method(s) to use for the proxy connection. Use the same bitmasks as described in CURLOPT_HTTPAUTH. For proxy authentication, only CURLAUTH_BASIC and CURLAUTH_NTLM are currently supported. | Added in cURL 7.10.7 and PHP 5.1.0.
CURLOPT_PROXYPORT | The port number of the proxy to connect to. This port number can also be set in CURLOPT_PROXY. | Added in PHP 5.0.0.
CURLOPT_PROXYTYPE | Either CURLPROXY_HTTP (default) or CURLPROXY_SOCKS5. | Added in cURL 7.10 and PHP 5.0.0.
CURLOPT_RESUME_FROM | The offset, in bytes, to resume a transfer from.
CURLOPT_SSL_VERIFYHOST | 1 to check the existence of a common name in the SSL peer certificate. 2 to check the existence of a common name and also verify that it matches the hostname provided.
CURLOPT_SSLVERSION | The SSL version (2 or 3) to use. By default PHP will try to determine this itself, although in some cases this must be set manually.
CURLOPT_TIMECONDITION | How CURLOPT_TIMEVALUE is treated. Use CURL_TIMECOND_IFMODSINCE to return the page only if it has been modified since the time specified in CURLOPT_TIMEVALUE. If it hasn't been modified, a "304 Not Modified" header will be returned assuming CURLOPT_HEADER is TRUE. Use CURL_TIMECOND_ISUNMODSINCE for the reverse effect. CURL_TIMECOND_IFMODSINCE is the default. | Added in PHP 5.1.0.
CURLOPT_TIMEOUT | The maximum number of seconds to allow cURL functions to execute.
CURLOPT_TIMEVALUE | The time in seconds since January 1st, 1970. The time will be used by CURLOPT_TIMECONDITION. By default, CURL_TIMECOND_IFMODSINCE is used.

value should be a string for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_CAINFO | The name of a file holding one or more certificates to verify the peer with. This only makes sense when used in combination with CURLOPT_SSL_VERIFYPEER.
CURLOPT_CAPATH | A directory that holds multiple CA certificates. Use this option alongside CURLOPT_SSL_VERIFYPEER.
CURLOPT_COOKIE | The contents of the "Set-Cookie: " header to be used in the HTTP request.
CURLOPT_COOKIEFILE | The name of the file containing the cookie data. The cookie file can be in Netscape format, or just plain HTTP-style headers dumped into a file.
CURLOPT_COOKIEJAR | The name of a file to save all internal cookies to when the connection closes.
CURLOPT_CUSTOMREQUEST

A custom request method to use instead of "GET" or "HEAD" when doing a HTTP request. This is useful for doing "DELETE" or other, more obscure HTTP requests. Valid values are things like "GET", "POST", "CONNECT" and so on; i.e. Do not enter a whole HTTP request line here. For instance, entering "GET /index.html HTTP/1.0\r\n\r\n" would be incorrect.

참고: Don't do this without making sure the server supports the custom request method first.

CURLOPT_EGBSOCKET | Like CURLOPT_RANDOM_FILE, except a filename to an Entropy Gathering Daemon socket.
CURLOPT_ENCODING | The contents of the "Accept-Encoding: " header. This enables decoding of the response. Supported encodings are "identity", "deflate", and "gzip". If an empty string, "", is set, a header containing all supported encoding types is sent. | Added in cURL 7.10.
CURLOPT_FTPPORT | The value which will be used to get the IP address to use for the FTP "POST" instruction. The "POST" instruction tells the remote server to connect to our specified IP address. The string may be a plain IP address, a hostname, a network interface name (under Unix), or just a plain '-' to use the systems default IP address.
CURLOPT_INTERFACE | The name of the outgoing network interface to use. This can be an interface name, an IP address or a host name.
CURLOPT_KRB4LEVEL | The KRB4 (Kerberos 4) security level. Any of the following values (in order from least to most powerful) are valid: "clear", "safe", "confidential", "private".. If the string does not match one of these, "private" is used. Setting this option to NULL will disable KRB4 security. Currently KRB4 security only works with FTP transactions.
CURLOPT_POSTFIELDS | The full data to post in a HTTP "POST" operation. To post a file, prepend a filename with @.
CURLOPT_PROXY | The HTTP proxy to tunnel requests through.
CURLOPT_PROXYUSERPWD | A username and password formatted as "[username]:[password]" to use for the connection to the proxy.
CURLOPT_RANDOM_FILE | A filename to be used to seed the random number generator for SSL.
CURLOPT_RANGE | Range(s) of data to retrieve in the format "X-Y" where X or Y are optional. HTTP transfers also support several intervals, separated with commas in the format "X-Y,N-M".
CURLOPT_REFERER | The contents of the "Referer: " header to be used in a HTTP request.
CURLOPT_SSL_CIPHER_LIST | A list of ciphers to use for SSL. For example, RC4-SHA and TLSv1 are valid cipher lists.
CURLOPT_SSLCERT | The name of a file containing a PEM formatted certificate.
CURLOPT_SSLCERTPASSWD | The password required to use the CURLOPT_SSLCERT certificate.
CURLOPT_SSLCERTTYPE | The format of the certificate. Supported formats are "PEM" (default), "DER", and "ENG". | Added in cURL 7.9.3 and PHP 5.0.0.
CURLOPT_SSLENGINE | The identifier for the crypto engine of the private SSL key specified in CURLOPT_SSLKEY.
CURLOPT_SSLENGINE_DEFAULT | The identifier for the crypto engine used for asymmetric crypto operations.
CURLOPT_SSLKEY | The name of a file containing a private SSL key.
CURLOPT_SSLKEYPASSWD

The secret password needed to use the private SSL key specified in CURLOPT_SSLKEY.

참고: Since this option contains a sensitive password, remember to keep the PHP script it is contained within safe.

CURLOPT_SSLKEYTYPE | The key type of the private SSL key specified in CURLOPT_SSLKEY. Supported key types are "PEM" (default), "DER", and "ENG".
CURLOPT_URL | The URL to fetch. This can also be set when initializing a session with curl_init().
CURLOPT_USERAGENT | The contents of the "User-Agent: " header to be used in a HTTP request.
CURLOPT_USERPWD | A username and password formatted as "[username]:[password]" to use for the connection.

value should be an array for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_HTTP200ALIASES | An array of HTTP 200 responses that will be treated as valid responses and not as errors. | Added in cURL 7.10.3 and PHP 5.0.0.
CURLOPT_HTTPHEADER | An array of HTTP header fields to set.
CURLOPT_POSTQUOTE | An array of FTP commands to execute on the server after the FTP request has been performed.
CURLOPT_QUOTE | An array of FTP commands to execute on the server prior to the FTP request.

value should be a stream resource (using fopen(), for example) for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_FILE | The file that the transfer should be written to. The default is STDOUT (the browser window).
CURLOPT_INFILE | The file that the transfer should be read from when uploading.
CURLOPT_STDERR | An alternative location to output errors to instead of STDERR.
CURLOPT_WRITEHEADER | The file that the header part of the transfer is written to.

value should be a string that is the name of a valid callback function for the following values of the option parameter:

Option | Set value to | Notes
CURLOPT_HEADERFUNCTION | The name of a callback function where the callback function takes two parameters. The first is the cURL resource, the second is a string with the header data to be written. The header data must be written when using this callback function. Return the number of bytes written.
CURLOPT_PASSWDFUNCTION | The name of a callback function where the callback function takes three parameters. The first is the cURL resource, the second is a string containing a password prompt, and the third is the maximum password length. Return the string containing the password.
CURLOPT_READFUNCTION | The name of a callback function where the callback function takes two parameters. The first is the cURL resource, and the second is a string with the data to be read. The data must be read by using this callback function. Return the number of bytes read. Return 0 to signal EOF.
CURLOPT_WRITEFUNCTION | The name of a callback function where the callback function takes two parameters. The first is the cURL resource, and the second is a string with the data to be written. The data must be written by using this callback function. Must return the exact number of bytes written or this will fail.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 370. Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

참고

curl_setopt_array()

이전 | 위로 | 다음
curl_setopt_array | 처음으로 | curl_version


curl_version

(PHP 4 >= 4.0.2, PHP 5)

curl_version -- Gets cURL version information

설명

array curl_version ( [int $age] )

Returns information about the cURL version.

매개변수

age

반환값

Returns an associative array with the following elements:

version_number | cURL 24 bit version number
version | cURL version number, as a string
ssl_version_number | OpenSSL 24 bit version number
ssl_version | OpenSSL version number, as a string
libz_version | zlib version number, as a string
host | Information about the host where cURL was built
age |
features | A bitmask of the CURL_VERSION_XXX constants
protocols | An array of protocols names supported by cURL

이전 | 위로 | 다음
curl_setopt | 처음으로 | XX. Cybercash Payment Functions


Cybercash Payment Functions

이전 VI. 함수 레퍼런스 다음

XX. Cybercash Payment Functions

설치

These functions are only available if the interpreter has been compiled with the --with-cybercash=[DIR].

This extension has been moved from PHP as of PHP 4.3.0 and now CyberCash lives in » PECL.

If you have questions as to the latest status of CyberCash then the following » CyberCash Faq will be helpful. In short, CyberCash was bought out by VeriSign and although the CyberCash service continues to exist, VeriSign encourages users to switch. See the above faq and PECL link for details.

차례

cybercash_base64_decode -- base64 decode data for Cybercash
cybercash_base64_encode -- base64 encode data for Cybercash
cybercash_decr -- Cybercash decrypt
cybercash_encr -- Cybercash encrypt
이전 | 위로 | 다음
curl_version | 처음으로 | cybercash_base64_decode


cybercash_base64_decode

(PHP 4 <= 4.2.3, PECL cybercash:1.18)

cybercash_base64_decode -- base64 decode data for Cybercash

설명

string cybercash_base64_decode ( string $inbuff )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
XX. Cybercash Payment Functions | 처음으로 | cybercash_base64_encode


cybercash_base64_encode

(PHP 4 <= 4.2.3, PECL cybercash:1.18)

cybercash_base64_encode -- base64 encode data for Cybercash

설명

string cybercash_base64_encode ( string $inbuff )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cybercash_base64_decode | 처음으로 | cybercash_decr


cybercash_decr

(PHP 4 <= 4.2.3, PECL cybercash:1.18)

cybercash_decr -- Cybercash decrypt

설명

array cybercash_decr ( string $wmk, string $sk, string $inbuff )

Decrypts information.

매개변수

wmk

The merchant key.

sk

The session key.

inbuff

반환값

The function returns an associative array with the elements "errcode" and, if "errcode" is FALSE, "outbuff" (string), "outLth" (long) and "macbuff" (string).

참고

cybercash_encr()

이전 | 위로 | 다음
cybercash_base64_encode | 처음으로 | cybercash_encr


cybercash_encr

(PHP 4 <= 4.2.3, PECL cybercash:1.18)

cybercash_encr -- Cybercash encrypt

설명

array cybercash_encr ( string $wmk, string $sk, string $inbuff )

Encrypts information.

매개변수

wmk

The merchant key.

sk

The session key.

inbuff

URL encoded string of value pairs, i.e. order-id=12345&amount=USD+12.34&card_number=......

반환값

The function returns an associative array with the elements "errcode" and, if "errcode" is FALSE, "outbuff" (string), "outLth" (long) and "macbuff" (string).

참고

cybercash_decr()

이전 | 위로 | 다음
cybercash_decr | 처음으로 | XXI. Credit Mutuel CyberMUT functions


Cyrus IMAP administration Functions

이전 VI. 함수 레퍼런스 다음

XXII. Cyrus IMAP administration Functions

소개

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

설치

To enable Cyrus IMAP support and to use these functions you have to compile PHP with the --with-cyrus option.

주의

IMAP, recode, YAZ, Cyrus 확장은 같은 내부 심볼을 공유하기 때문에, 동시에 사용할 수 없습니다.

자원형

This extension defines a Cyrus IMAP connection identifier returned by cyrus_connect().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

CYRUS_CONN_NONSYNCLITERAL (integer)
CYRUS_CONN_INITIALRESPONSE (integer)
CYRUS_CALLBACK_NUMBERED (integer)
CYRUS_CALLBACK_NOLITERAL (integer)

차례

cyrus_authenticate -- Authenticate against a Cyrus IMAP server
cyrus_bind -- Bind callbacks to a Cyrus IMAP connection
cyrus_close -- Close connection to a Cyrus IMAP server
cyrus_connect -- Connect to a Cyrus IMAP server
cyrus_query -- Send a query to a Cyrus IMAP server
cyrus_unbind -- Unbind ...
이전 | 위로 | 다음
cybermut_testmac | 처음으로 | cyrus_authenticate


cyrus_authenticate

(PHP 4 >= 4.0.7, PECL cyrus:1.0)

cyrus_authenticate -- Authenticate against a Cyrus IMAP server

설명

void cyrus_authenticate ( resource $connection [, string $mechlist [, string $service [, string $user [, int $minssf [, int $maxssf [, string $authname [, string $password]]]]]]] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
XXII. Cyrus IMAP administration Functions | 처음으로 | cyrus_bind


cyrus_bind

(PHP 4 >= 4.0.7, PECL cyrus:1.0)

cyrus_bind -- Bind callbacks to a Cyrus IMAP connection

설명

bool cyrus_bind ( resource $connection, array $callbacks )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cyrus_authenticate | 처음으로 | cyrus_close


cyrus_close

(PHP 4 >= 4.0.7, PECL cyrus:1.0)

cyrus_close -- Close connection to a Cyrus IMAP server

설명

bool cyrus_close ( resource $connection )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cyrus_bind | 처음으로 | cyrus_connect


cyrus_connect

(PHP 4 >= 4.0.7, PECL cyrus:1.0)

cyrus_connect -- Connect to a Cyrus IMAP server

설명

resource cyrus_connect ( [string $host [, string $port [, int $flags]]] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cyrus_close | 처음으로 | cyrus_query


cyrus_query

(PHP 4 >= 4.0.7, PECL cyrus:1.0)

cyrus_query -- Send a query to a Cyrus IMAP server

설명

array cyrus_query ( resource $connection, string $query )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cyrus_connect | 처음으로 | cyrus_unbind


cyrus_unbind

(PHP 4 >= 4.0.7, PECL cyrus:1.0)

cyrus_unbind -- Unbind ...

설명

bool cyrus_unbind ( resource $connection, string $trigger_name )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
cyrus_query | 처음으로 | XXIII. 날짜와 시간 함수


Character Type Functions

이전 VI. 함수 레퍼런스 다음

XVIII. Character Type Functions

소개

The functions provided by this extension check whether a character or string falls into a certain character class according to the current locale (see also setlocale()).

When called with an integer argument these functions behave exactly like their C counterparts from ctype.h. It means that if you pass an integer smaller than 256 it will use the ASCII value of it to see if it fits in the specified range (digits are in 0x30-0x39). If the number is between -128 and -1 inclusive then 256 will be added and the check will be done on that.

When called with a string argument they will check every character in the string and will only return TRUE if every character in the string matches the requested criteria. When called with an empty string the result will always be TRUE in PHP < 5.1 and FALSE since 5.1.

Passing anything else but a string or integer will return FALSE immediately.

It should be noted that ctype functions are always preferred over regular expressions, and even to some equivalent str_* and is_* functions. This is because of the fact that ctype uses a native C library and thus processes significantly faster.

요구 조건

None besides functions from the standard C library which are always available.

설치

Beginning with PHP 4.2.0 these functions are enabled by default. For older versions you have to configure and compile PHP with --enable-ctype. You can disable ctype support with --disable-ctype.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

참고: Builtin support for ctype is available with PHP 4.3.0.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

ctype_alnum -- Check for alphanumeric character(s)
ctype_alpha -- Check for alphabetic character(s)
ctype_cntrl -- Check for control character(s)
ctype_digit -- Check for numeric character(s)
ctype_graph -- Check for any printable character(s) except space
ctype_lower -- Check for lowercase character(s)
ctype_print -- Check for printable character(s)
ctype_punct -- Check for any printable character which is not whitespace or an alphanumeric character
ctype_space -- Check for whitespace character(s)
ctype_upper -- Check for uppercase character(s)
ctype_xdigit -- Check for character(s) representing a hexadecimal digit
이전 | 위로 | 다음
crack_opendict | 처음으로 | ctype_alnum


ctype_alnum

(PHP 4 >= 4.0.4, PHP 5)

ctype_alnum -- Check for alphanumeric character(s)

설명

bool ctype_alnum ( string $text )

Checks if all of the characters in the provided string, text, are alphanumeric. In the standard C locale letters are just [A-Za-z].

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text is either a letter or a digit, FALSE otherwise.

예제

예 348. A ctype_alnum() example (using the default locale)

<?php
$strings = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($strings as $testcase) {
    if (ctype_alnum($testcase)) {
        echo "The string $testcase consists of all letters or digits.\n";
    } else {
        echo "The string $testcase does not consist of all letters or digits.\n";
    }
}
?>

위 예제의 출력:

The string AbCd1zyZ9 consists of all letters or digits.
The string foo!#$bar does not consist of all letters or digits.

참고

ctype_alpha()
ctype_digit()
setlocale()

이전 | 위로 | 다음
XVIII. Character Type Functions | 처음으로 | ctype_alpha


ctype_alpha

(PHP 4 >= 4.0.4, PHP 5)

ctype_alpha -- Check for alphabetic character(s)

설명

bool ctype_alpha ( string $text )

Checks if all of the characters in the provided string, text, are alphabetic. In the standard C locale letters are just [A-Za-z] and ctype_alpha() is equivalent to (ctype_upper($text) || ctype_lower($text)) if $text is just a single character, but other languages have letters that are considered neither upper nor lower case.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text is a letter from the current locale, FALSE otherwise.

예제

예 349. A ctype_alpha() example (using the default locale)

<?php
$strings = array('KjgWZC', 'arf12');
foreach ($strings as $testcase) {
    if (ctype_alpha($testcase)) {
        echo "The string $testcase consists of all letters.\n";
    } else {
        echo "The string $testcase does not consist of all letters.\n";
    }
}
?>

위 예제의 출력:

The string KjgWZC consists of all letters.
The string arf12 does not consist of all letters.

참고

ctype_upper()
ctype_lower()
setlocale()

이전 | 위로 | 다음
ctype_alnum | 처음으로 | ctype_cntrl


ctype_cntrl

(PHP 4 >= 4.0.4, PHP 5)

ctype_cntrl -- Check for control character(s)

설명

bool ctype_cntrl ( string $text )

Checks if all of the characters in the provided string, text, are control characters. Control characters are e.g. line feed, tab, escape.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text is a control character from the current locale, FALSE otherwise.

예제

예 350. A ctype_cntrl() example

<?php
$strings = array('string1' => "\n\r\t", 'string2' => 'arf12');
foreach ($strings as $name => $testcase) {
    if (ctype_cntrl($testcase)) {
        echo "The string '$name' consists of all control characters.\n";
    } else {
        echo "The string '$name' does not consist of all control characters.\n";
    }
}
?>

위 예제의 출력:

The string 'string1' consists of all control characters.
The string 'string2' does not consist of all control characters.

참고

ctype_print()

이전 | 위로 | 다음
ctype_alpha | 처음으로 | ctype_digit


ctype_digit

(PHP 4 >= 4.0.4, PHP 5)

ctype_digit -- Check for numeric character(s)

설명

bool ctype_digit ( string $text )

Checks if all of the characters in the provided string, text, are numerical.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text is a decimal digit, FALSE otherwise.

예제

예 351. A ctype_digit() example

<?php
$strings = array('1820.20', '10002', 'wsl!12');
foreach ($strings as $testcase) {
    if (ctype_digit($testcase)) {
        echo "The string $testcase consists of all digits.\n";
    } else {
        echo "The string $testcase does not consist of all digits.\n";
    }
}
?>

위 예제의 출력:

The string 1820.20 does not consist of all digits.
The string 10002 consists of all digits.
The string wsl!12 does not consist of all digits.

참고

ctype_alnum()
ctype_xdigit()

이전 | 위로 | 다음
ctype_cntrl | 처음으로 | ctype_graph


ctype_graph

(PHP 4 >= 4.0.4, PHP 5)

ctype_graph -- Check for any printable character(s) except space

설명

bool ctype_graph ( string $text )

Checks if all of the characters in the provided string, text, creates visible output.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text is printable and actually creates visible output (no white space), FALSE otherwise.

예제

예 352. A ctype_graph() example

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
    if (ctype_graph($testcase)) {
        echo "The string '$name' consists of all (visibly) printable characters.\n";
    } else {
        echo "The string '$name' does not consist of all (visibly) printable characters.\n";
    }
}
?>

위 예제의 출력:

The string 'string1' does not consist of all (visibly) printable characters.
The string 'string2' consists of all (visibly) printable characters.
The string 'string3' consists of all (visibly) printable characters.

참고

ctype_alnum()
ctype_print()
ctype_punct()

이전 | 위로 | 다음
ctype_digit | 처음으로 | ctype_lower


ctype_lower

(PHP 4 >= 4.0.4, PHP 5)

ctype_lower -- Check for lowercase character(s)

설명

bool ctype_lower ( string $text )

Checks if all of the characters in the provided string, text, are lowercase letters.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text is a lowercase letter in the current locale.

예제

예 353. A ctype_lower() example (using the default locale)

<?php
$strings = array('aac123', 'qiutoas', 'QASsdks');
foreach ($strings as $testcase) {
    if (ctype_lower($testcase)) {
        echo "The string $testcase consists of all lowercase letters.\n";
    } else {
        echo "The string $testcase does not consist of all lowercase letters.\n";
    }
}
?>

위 예제의 출력:

The string aac123 does not consist of all lowercase letters.
The string qiutoas consists of all lowercase letters.
The string QASsdks does not consist of all lowercase letters.

참고

ctype_alpha()
ctype_upper()
setlocale()

이전 | 위로 | 다음
ctype_graph | 처음으로 | ctype_print


ctype_print

(PHP 4 >= 4.0.4, PHP 5)

ctype_print -- Check for printable character(s)

설명

bool ctype_print ( string $text )

Checks if all of the characters in the provided string, text, are printable.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text will actually create output (including blanks). Returns FALSE if text contains control characters or characters that do not have any output or control function at all.

예제

예 354. A ctype_print() example

<?php
$strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
foreach ($strings as $name => $testcase) {
    if (ctype_print($testcase)) {
        echo "The string '$name' consists of all printable characters.\n";
    } else {
        echo "The string '$name' does not consist of all printable characters.\n";
    }
}
?>

위 예제의 출력:

The string 'string1' does not consist of all printable characters.
The string 'string2' consists of all printable characters.
The string 'string3' consists of all printable characters.

참고

ctype_cntrl()
ctype_graph()
ctype_punct()

이전 | 위로 | 다음
ctype_lower | 처음으로 | ctype_punct


ctype_punct

(PHP 4 >= 4.0.4, PHP 5)

ctype_punct -- Check for any printable character which is not whitespace or an alphanumeric character

설명

bool ctype_punct ( string $text )

Checks if all of the characters in the provided string, text, are punctuation character.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text is printable, but neither letter, digit or blank, FALSE otherwise.

예제

예 355. A ctype_punct() example

<?php
$strings = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($strings as $testcase) {
    if (ctype_punct($testcase)) {
        echo "The string $testcase consists of all punctuation.\n";
    } else {
        echo "The string $testcase does not consist of all punctuation.\n";
    }
}
?>

위 예제의 출력:

The string ABasdk!@!$# does not consist of all punctuation.
The string !@ # $ does not consist of all punctuation.
The string *&$() consists of all punctuation.

참고

ctype_cntrl()
ctype_graph()

이전 | 위로 | 다음
ctype_print | 처음으로 | ctype_space


ctype_space

(PHP 4 >= 4.0.4, PHP 5)

ctype_space -- Check for whitespace character(s)

설명

bool ctype_space ( string $text )

Checks if all of the characters in the provided string, text, creates whitespace.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text creates some sort of white space, FALSE otherwise. Besides the blank character this also includes tab, vertical tab, line feed, carriage return and form feed characters.

예제

예 356. A ctype_space() example

<?php
$strings = array('string1' => "\n\r\t", 'string2' => "\narf12", 'string3' => '\n\r\t');
foreach ($strings as $name => $testcase) {
    if (ctype_space($testcase)) {
        echo "The string '$name' consists of all whitespace characters.\n";
    } else {
        echo "The string '$name' does not consist of all whitespace characters.\n";
    }
}
?>

위 예제의 출력:

The string 'string1' consists of all whitespace characters.
The string 'string2' does not consist of all whitespace characters.
The string 'string3' does not consist of all whitespace characters.

참고

ctype_cntrl()
ctype_graph()
ctype_punct()

이전 | 위로 | 다음
ctype_punct | 처음으로 | ctype_upper


ctype_upper

(PHP 4 >= 4.0.4, PHP 5)

ctype_upper -- Check for uppercase character(s)

설명

bool ctype_upper ( string $text )

Checks if all of the characters in the provided string, text, are uppercase characters.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text is an uppercase letter in the current locale.

예제

예 357. A ctype_upper() example (using the default locale)

<?php
$strings = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($strings as $testcase) {
    if (ctype_upper($testcase)) {
        echo "The string $testcase consists of all uppercase letters.\n";
    } else {
        echo "The string $testcase does not consist of all uppercase letters.\n";
    }
}
?>

위 예제의 출력:

The string AKLWC139 does not consist of all uppercase letters.
The string LMNSDO consists of all uppercase letters.
The string akwSKWsm does not consist of all uppercase letters.

참고

ctype_alpha()
ctype_lower()
setlocale()

이전 | 위로 | 다음
ctype_space | 처음으로 | ctype_xdigit


ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5)

ctype_xdigit -- Check for character(s) representing a hexadecimal digit

설명

bool ctype_xdigit ( string $text )

Checks if all of the characters in the provided string, text, are hexadecimal 'digits'.

매개변수

text

The tested string.

반환값

Returns TRUE if every character in text is a hexadecimal 'digit', that is a decimal digit or a character from [A-Fa-f] , FALSE otherwise.

예제

예 358. A ctype_xdigit() example

<?php
$strings = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($strings as $testcase) {
    if (ctype_xdigit($testcase)) {
        echo "The string $testcase consists of all hexadecimal digits.\n";
    } else {
        echo "The string $testcase does not consist of all hexadecimal digits.\n";
    }
}
?>

위 예제의 출력:

The string AB10BC99 consists of all hexadecimal digits.
The string AR1012 does not consist of all hexadecimal digits.
The string ab12bc99 consists of all hexadecimal digits.

참고

ctype_digit()

이전 | 위로 | 다음
ctype_upper | 처음으로 | XIX. CURL, Client URL Library Functions


Database (dbm-style) Abstraction Layer Functions

이전 VI. 함수 레퍼런스 다음

XXV. Database (dbm-style) Abstraction Layer Functions

소개

These functions build the foundation for accessing Berkeley DB style databases.

This is a general abstraction layer for several file-based databases. As such, functionality is limited to a common subset of features supported by modern databases such as » Sleepycat Software's DB2. (This is not to be confused with IBM's DB2 software, which is supported through the ODBC functions.)

요구 조건

The behaviour of various aspects depends on the implementation of the underlying database. Functions such as dba_optimize() and dba_sync() will do what they promise for one database and will do nothing for others. You have to download and install supported dba-Handlers.

표 45. List of DBA handlers

Handler | Notes
dbm | Dbm is the oldest (original) type of Berkeley DB style databases. You should avoid it, if possible. We do not support the compatibility functions built into DB2 and gdbm, because they are only compatible on the source code level, but cannot handle the original dbm format.
ndbm | Ndbm is a newer type and more flexible than dbm. It still has most of the arbitrary limits of dbm (therefore it is deprecated).
gdbm | Gdbm is the » GNU database manager.
db2 | DB2 is » Sleepycat Software's DB2. It is described as "a programmatic toolkit that provides high-performance built-in database support for both standalone and client/server applications.
db3 | DB3 is » Sleepycat Software's DB3.
db4 | DB4 is » Sleepycat Software's DB4. This is available since PHP 4.3.2.
cdb | Cdb is "a fast, reliable, lightweight package for creating and reading constant databases." It is from the author of qmail and can be found at » http://cr.yp.to/cdb.html. Since it is constant, we support only reading operations. And since PHP 4.3.0 we support writing (not updating) through the internal cdb library.
cdb_make | Since PHP 4.3.0 we support creation (not updating) of cdb files when the bundled cdb library is used.
flatfile | This is available since PHP 4.3.0 for compatibility with the deprecated dbm extension only and should be avoided. However you may use this where files were created in this format. That happens when configure could not find any external library.
inifile | This is available since PHP 4.3.3 to be able to modify php.ini files from within PHP scripts. When working with ini files you can pass arrays of the form array(0=>group,1=>value_name) or strings of the form "[group]value_name" where group is optional. As the functions dba_firstkey() and dba_nextkey() return string representations of the key there is a new function dba_key_split() available since PHP 5 which allows to convert the string keys into array keys without loosing FALSE.
qdbm | This is available since PHP 5.0.0. The qdbm library can be loaded from » http://qdbm.sourceforge.net.

When invoking the dba_open() or dba_popen() functions, one of the handler names must be supplied as an argument. The actually available list of handlers is displayed by invoking phpinfo() or dba_handlers().

설치

By using the --enable-dba=shared configuration option you can build a dynamic loadable module to enable PHP for basic support of dbm-style databases. You also have to add support for at least one of the following handlers by specifying the --with-XXXX configure switch to your PHP configure line.

주의

After configuring and compiling PHP you must execute the following test from commandline: php run-tests.php ext/dba. This shows whether your combination of handlers works. Most problematic are dbm and ndbm which conflict with many installations. The reason for this is that on several systems these libraries are part of more than one other library. The configuration test only prevents you from configuring malfunctioning single handlers but not combinations.

표 46. Supported DBA handlers

Handler | Configure Switch
dbm

To enable support for dbm add --with-dbm[=DIR].

참고: dbm normally is a wrapper which often results in failures. This means you should only use dbm if you are sure it works and if you really need this format.

ndbm

To enable support for ndbm add --with-ndbm[=DIR].

참고: ndbm normally is a wrapper which often results in failures. This means you should only use ndbm if you are sure it works and if you really need this format.

gdbm | To enable support for gdbm add --with-gdbm[=DIR].
db2

To enable support for db2 add --with-db2[=DIR].

참고: db2 conflicts with db3 and db4.

db3

To enable support for db3 add --with-db3[=DIR].

참고: db3 conflicts with db2 and db4.

db4

To enable support for db4 add --with-db4[=DIR].

참고: db4 conflicts with db2 and db3.

참고: This was added in PHP 4.3.2. In earlier versions of PHP you need to use --with-db3=DIR with DIR being the path to db4 library. It is not possible to use db versions starting from 4.1 with PHP prior to version 4.3.0. Also, the db libraries with versions 4.1 through 4.1.24 cannot be used in any PHP version.

cdb

To enable support for cdb add --with-cdb[=DIR].

참고: Since PHP 4.3.0 you can omit DIR to use the bundled cdb library that adds the cdb_make handler which allows creation of cdb files and allows to access cdb files on the network using PHP's streams.

flatfile

To enable support for flatfile add --with-flatfile.

참고: This was added in PHP 4.3.0 to add compatibility with deprecated dbm extension. Use this handler only when you cannot install one of the libraries required by the other handlers and when you cannot use bundled cdb handler.

inifile

To enable support for inifile add --with-inifile.

참고: This was added in PHP 5.0.0 and allows to read and set microsoft style .ini files (like the php.ini file).

qdbm

To enable support for qdbm add --with-qdbm[=DIR].

참고: qdbm conflicts with dbm and gdbm.

참고: This was added in PHP 5.0.0. The qdbm library can be loaded from » http://qdbm.sourceforge.net.

참고: Up to PHP 4.3.0 you are able to add both db2 and db3 handler but only one of them can be used internally. That means that you cannot have both file formats. Starting with PHP 5.0.0 there is a configuration check avoid such misconfigurations.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

The functions dba_open() and dba_popen() return a handle to the specified database file to access which is used by all other dba-function calls.

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

예 403. DBA example

<?php

$id = dba_open("/tmp/test.db", "n", "db2");

if (!$id) {
    echo "dba_open failed\n";
    exit;
}

dba_replace("key", "This is an example!", $id);

if (dba_exists("key", $id)) {
    echo dba_fetch("key", $id);
    dba_delete("key", $id);
}

dba_close($id);
?>

DBA is binary safe and does not have any arbitrary limits. However, it inherits all limits set by the underlying database implementation.

All file-based databases must provide a way of setting the file mode of a new created database, if that is possible at all. The file mode is commonly passed as the fourth argument to dba_open() or dba_popen().

You can access all entries of a database in a linear way by using the dba_firstkey() and dba_nextkey() functions. You may not change the database while traversing it.

예 404. Traversing a database

<?php

// ...open database...

$key = dba_firstkey($id);

while ($key != false) {
    if (true) {          // remember the key to perform some action later
        $handle_later[] = $key;
    }
    $key = dba_nextkey($id);
}

foreach ($handle_later as $val) {
    dba_delete($val, $id);
}

?>

차례

dba_close -- Close a DBA database
dba_delete -- Delete DBA entry specified by key
dba_exists -- Check whether key exists
dba_fetch -- Fetch data specified by key
dba_firstkey -- Fetch first key
dba_handlers -- List all the handlers available
dba_insert -- Insert entry
dba_key_split -- Splits a key in string representation into array representation
dba_list -- List all open database files
dba_nextkey -- Fetch next key
dba_open -- Open database
dba_optimize -- Optimize database
dba_popen -- Open database persistently
dba_replace -- Replace or insert entry
dba_sync -- Synchronize database
이전 | 위로 | 다음
dbplus_xunlockrel | 처음으로 | dba_close


dba_close

(PHP 4, PHP 5)

dba_close -- Close a DBA database

설명

void dba_close ( resource $handle )

dba_close() closes the established database and frees all resources of the specified database handle.

매개변수

handle

The database handler, returned by dba_open() or dba_popen().

반환값

값을 반환하지 않습니다.

참고

dba_open()
dba_popen()

이전 | 위로 | 다음
XXV. Database (dbm-style) Abstraction Layer Functions | 처음으로 | dba_delete


dba_delete

(PHP 4, PHP 5)

dba_delete -- Delete DBA entry specified by key

설명

bool dba_delete ( string $key, resource $handle )

dba_delete() deletes the specified entry from the database.

매개변수

key

The key of the entry which is deleted.

handle

The database handler, returned by dba_open() or dba_popen().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dba_exists()
dba_fetch()
dba_insert()
dba_replace()

이전 | 위로 | 다음
dba_close | 처음으로 | dba_exists


dba_exists

(PHP 4, PHP 5)

dba_exists -- Check whether key exists

설명

bool dba_exists ( string $key, resource $handle )

dba_exists() checks whether the specified key exists in the database.

매개변수

key

The key the check is performed for.

handle

The database handler, returned by dba_open() or dba_popen().

반환값

Returns TRUE if the key exists, FALSE otherwise.

참고

dba_delete()
dba_fetch()
dba_insert()
dba_replace()

이전 | 위로 | 다음
dba_delete | 처음으로 | dba_fetch


dba_fetch

(PHP 4, PHP 5)

dba_fetch -- Fetch data specified by key

설명

string dba_fetch ( string $key, resource $handle )
string dba_fetch ( string $key, int $skip, resource $handle )

dba_fetch() fetches the data specified by key from the database specified with handle.

매개변수

key

The key the data is specified by.

참고: When working with inifiles this function accepts arrays as keys where index 0 is the group and index 1 is the value name. See: dba_key_split().

skip

The number of key-value pairs to ignore when using cdb databases. This value is ignored for all other databases which do not support multiple keys with the same name.

handle

The database handler, returned by dba_open() or dba_popen().

반환값

Returns the associated string if the key/data pair is found, FALSE otherwise.

변경 기록

버전 | 설명
4.3 | The skip parameter is available to support cdb's capability of multiple keys having the same name.

참고

dba_exists()
dba_delete()
dba_insert()
dba_replace()
dba_key_split()

이전 | 위로 | 다음
dba_exists | 처음으로 | dba_firstkey


dba_firstkey

(PHP 4, PHP 5)

dba_firstkey -- Fetch first key

설명

string dba_firstkey ( resource $handle )

dba_firstkey() returns the first key of the database and resets the internal key pointer. This permits a linear search through the whole database.

매개변수

handle

The database handler, returned by dba_open() or dba_popen().

반환값

Returns the key on success, or FALSE on failure.

참고

dba_nextkey()
dba_key_split()
Example 2 in the DBA examples

이전 | 위로 | 다음
dba_fetch | 처음으로 | dba_handlers


dba_handlers

(PHP 4 >= 4.3.0, PHP 5)

dba_handlers -- List all the handlers available

설명

array dba_handlers ( [bool $full_info] )

dba_handlers() list all the handlers supported by this extension.

매개변수

full_info

Turns on/off full information display in the result. The default is FALSE.

반환값

Returns an array of database handlers. If full_info is set to TRUE, the array will be associative with the handlers names as keys, and their version information as value. Otherwise, the result will be an indexed array of handlers names.

참고: When the internal cdb library is used you will see cdb and cdb_make.

예제

예 405. dba_handlers() Example

<?php

echo "Available DBA handlers:\n";
foreach (dba_handlers(true) as $handler_name => $handler_version) {
  // clean the versions
  $handler_version = str_replace('$', '', $handler_version);
  echo " - $handler_name: $handler_version\n";
}

?>

위 예제의 출력 예:

Available DBA handlers:
 - cdb: 0.75, Revision: 1.3.2.3
 - cdb_make: 0.75, Revision: 1.2.2.4
 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
 - inifile: 1.0, Revision: 1.6.2.3
 - flatfile: 1.0, Revision: 1.5.2.4

이전 | 위로 | 다음
dba_firstkey | 처음으로 | dba_insert


dba_insert

(PHP 4, PHP 5)

dba_insert -- Insert entry

설명

bool dba_insert ( string $key, string $value, resource $handle )

dba_insert() inserts the entry described with key and value into the database.

매개변수

key

The key of the entry to be inserted. If this key already exist in the database, this function will fail. Use dba_replace() if you need to replace an existent key.

value

The value to be inserted.

handle

The database handler, returned by dba_open() or dba_popen().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dba_exists()
dba_delete()
dba_fetch()
dba_replace()

이전 | 위로 | 다음
dba_handlers | 처음으로 | dba_key_split


dba_key_split

(PHP 5)

dba_key_split -- Splits a key in string representation into array representation

설명

mixed dba_key_split ( mixed $key )

dba_key_split() splits a key (string representation) into an array representation.

매개변수

key

The key in string representation.

반환값

Returns an array of the form array(0 => group, 1 => value_name). This function will return FALSE if key is NULL or FALSE.

참고

dba_firstkey()
dba_nextkey()
dba_fetch()

이전 | 위로 | 다음
dba_insert | 처음으로 | dba_list


dba_list

(PHP 4 >= 4.3.0, PHP 5)

dba_list -- List all open database files

설명

array dba_list ( void )

dba_list() list all open database files.

반환값

An associative array, in the form resourceid => filename.

이전 | 위로 | 다음
dba_key_split | 처음으로 | dba_nextkey


dba_nextkey

(PHP 4, PHP 5)

dba_nextkey -- Fetch next key

설명

string dba_nextkey ( resource $handle )

dba_nextkey() returns the next key of the database and advances the internal key pointer.

매개변수

handle

The database handler, returned by dba_open() or dba_popen().

반환값

Returns the key on success, or FALSE on failure.

참고

dba_firstkey()
dba_key_split()
Example 2 in the DBA examples

이전 | 위로 | 다음
dba_list | 처음으로 | dba_open


dba_open

(PHP 4, PHP 5)

dba_open -- Open database

설명

resource dba_open ( string $path, string $mode [, string $handler [, mixed $...]] )

dba_open() establishes a database instance for path with mode using handler.

매개변수

path

Commonly a regular path in your filesystem.

mode

It is r for read access, w for read/write access to an already existing database, c for read/write access and database creation if it doesn't currently exist, and n for create, truncate and read/write access.

Additionally you can set the database lock method with the next char. Use l to lock the database with a .lck file or d to lock the databasefile itself. It is important that all of your applications do this consistently.

If you want to test the access and do not want to wait for the lock you can add t as third character. When you are absolutely sure that you do not require database locking you can do so by using - instead of l or d. When none of d, l or - is used, dba will lock on the database file as it would with d.

참고: There can only be one writer for one database file. When you use dba on a web server and more than one request requires write operations they can only be done one after another. Also read during write is not allowed. The dba extension uses locks to prevent this. See the following table:

표 47. DBA locking

already open | mode = "rl" | mode = "rlt" | mode = "wl" | mode = "wlt" | mode = "rd" | mode = "rdt" | mode = "wd" | mode = "wdt"
not open | ok | ok | ok | ok | ok | ok | ok | ok
mode = "rl" | ok | ok | wait | false | illegal | illegal | illegal | illegal
mode = "wl" | wait | false | wait | false | illegal | illegal | illegal | illegal
mode = "rd" | illegal | illegal | illegal | illegal | ok | ok | wait | false
mode = "wd" | illegal | illegal | illegal | illegal | wait | false | wait | false

ok: the second call will be successfull.
wait: the second call waits until dba_close() is called for the first.
false: the second call returns false.
illegal: you must not mix "l" and "d" modifiers for mode parameter.

handler

The name of the handler which shall be used for accessing path. It is passed all optional parameters given to dba_open() and can act on behalf of them.

반환값

Returns a positive handle on success, or FALSE on failure.

변경 기록

버전 | 설명
4.3.0 | It's possible to open database files over network connection. However in cases a socket connection will be used (as with http or ftp) the connection will be locked instead of the resource itself. This is important to know since in such cases locking is simply ignored on the resource and other solutions have to be found.
4.3.0 | Locking and the mode modifiers "l", "d", "-" and "t" were added. In previous PHP versions, you must use semaphores to guard against simultaneous database access for any database handler with the exception of GDBM. See System V semaphore support.
before 4.3.5 | open mode 'c' is broken for several internal handlers and truncates the database instead of appending data to an existent database. Also dbm and ndbm fail on mode 'c' in typical configurations (this cannot be fixed).

참고

dba_popen()
dba_close()

이전 | 위로 | 다음
dba_nextkey | 처음으로 | dba_optimize


dba_optimize

(PHP 4, PHP 5)

dba_optimize -- Optimize database

설명

bool dba_optimize ( resource $handle )

dba_optimize() optimizes the underlying database.

매개변수

handle

The database handler, returned by dba_open() or dba_popen().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dba_sync()

이전 | 위로 | 다음
dba_open | 처음으로 | dba_popen


dba_popen

(PHP 4, PHP 5)

dba_popen -- Open database persistently

설명

resource dba_popen ( string $path, string $mode [, string $handler [, mixed $...]] )

dba_popen() establishes a persistent database instance for path with mode using handler.

매개변수

path

Commonly a regular path in your filesystem.

mode

It is r for read access, w for read/write access to an already existing database, c for read/write access and database creation if it doesn't currently exist, and n for create, truncate and read/write access.

handler

The name of the handler which shall be used for accessing path. It is passed all optional parameters given to dba_popen() and can act on behalf of them.

반환값

Returns a positive handle on success, or FALSE on failure.

참고

dba_open()
dba_close()

이전 | 위로 | 다음
dba_optimize | 처음으로 | dba_replace


dba_replace

(PHP 4, PHP 5)

dba_replace -- Replace or insert entry

설명

bool dba_replace ( string $key, string $value, resource $handle )

dba_replace() replaces or inserts the entry described with key and value into the database specified by handle.

매개변수

key

The key of the entry to be replaced.

value

The value to be replaced.

handle

The database handler, returned by dba_open() or dba_popen().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dba_exists()
dba_delete()
dba_fetch()
dba_insert()

이전 | 위로 | 다음
dba_popen | 처음으로 | dba_sync


dba_sync

(PHP 4, PHP 5)

dba_sync -- Synchronize database

설명

bool dba_sync ( resource $handle )

dba_sync() synchronizes the database. This will probably trigger a physical write to the disk, if supported.

매개변수

handle

The database handler, returned by dba_open() or dba_popen().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dba_optimize()

이전 | 위로 | 다음
dba_replace | 처음으로 | XXVI. dBase Functions


날짜와 시간 함수

이전 VI. 함수 레퍼런스 다음

XXIII. 날짜와 시간 함수

소개

이 함수들은 PHP가 실행되고 있는 서버로부터 날짜와 시간을 얻을 수 있게 합니다. 여러가지 다른 방법으로 날짜와 시간 출력을 형식화할 수 있습니다.

참고: 이 함수들은 서버의 지역설정에 의존한다는 점을 명심하십시오. 특히 윤년과 일광 절약 시간을 생각해서 작업하십시오. (즉, $date += 7*24*60*60이 아니라 $date = strtotime('+7 days'), $date)을 사용하십시오)

참고: 이 섹션에서 참고하는 타임존은 부록 J. List of Supported Timezones에서 볼 수 있습니다.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

참고: 최신 버전의 타임존 데이터베이스는 PECL » timezonedb를 통해 설치할 수 있습니다. 윈도우 사용자는 PECL4Win 사이트에서 컴파일 된 DLL을 받을 수 있습니다: » php_timezonedb.dll

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 37. Date/Time Configuration Options

Name | Default | Changeable | Changelog
date.default_latitude | "31.7667" | PHP_INI_ALL | Available since PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Available since PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Available since PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Available since PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Available since PHP 5.1.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

date.default_latitude float

The default latitude.

date.default_longitude float

The default longitude.

date.sunrise_zenith float

The default sunrise zenith.

date.sunset_zenith float

The default sunset zenith.

date.timezone string

The default timezone used by all date/time functions if the TZ environment variable isn't set. The precedence order is described in the date_default_timezone_get() page. See 부록 J. List of Supported Timezones for a list of supported timezones.

참고: The first four configuration options are currently only used by date_sunrise() and date_sunset().

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

The following constants are defined since PHP 5.1.1 and they offer standard date representations, which can be used along with the date format functions (like date()).

DATE_ATOM (string)
Atom (example: 2005-08-15T15:52:01+00:00)
DATE_COOKIE (string)
HTTP Cookies (example: Monday, 15-Aug-05 15:52:01 UTC)
DATE_ISO8601 (string)
ISO-8601 (example: 2005-08-15T15:52:01+0000)
DATE_RFC822 (string)
RFC 822 (example: Mon, 15 Aug 05 15:52:01 +0000)
DATE_RFC850 (string)
RFC 850 (example: Monday, 15-Aug-05 15:52:01 UTC)
DATE_RFC1036 (string)
RFC 1036 (example: Mon, 15 Aug 05 15:52:01 +0000)
DATE_RFC1123 (string)
RFC 1123 (example: Mon, 15 Aug 2005 15:52:01 +0000)
DATE_RFC2822 (string)
RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000)
DATE_RFC3339 (string)
Same as DATE_ATOM (since PHP 5.1.3)
DATE_RSS (string)
RSS (Mon, 15 Aug 2005 15:52:01 +0000)
DATE_W3C (string)
World Wide Web Consortium (example: 2005-08-15T15:52:01+00:00)

Following constants exists since PHP 5.1.2 and specify a format returned by functions date_sunrise() and date_sunset().

SUNFUNCS_RET_TIMESTAMP (integer)
Timestamp
SUNFUNCS_RET_STRING (integer)
Hours:minutes (example: 08:02)
SUNFUNCS_RET_DOUBLE (integer)
Hours as floating point number (example 8.75)

차례

checkdate -- 그레고리안력 날짜를 확인합니다.
date_create -- Returns new DateTime object
date_date_set -- Sets the date
date_default_timezone_get -- Gets the default timezone used by all date/time functions in a script
date_default_timezone_set -- Sets the default timezone used by all date/time functions in a script
date_format -- Returns date formatted according to given format
date_isodate_set -- Sets the ISO date
date_modify -- Alters the timestamp
date_offset_get -- Returns the daylight saving time offset
date_parse -- Returns associative array with detailed info about given date
date_sun_info -- Returns an array with information about sunset/sunrise and twilight begin/end
date_sunrise -- Returns time of sunrise for a given day and location
date_sunset -- Returns time of sunset for a given day and location
date_time_set -- Sets the time
date_timezone_get -- Return time zone relative to given DateTime
date_timezone_set -- Sets the time zone for the DateTime object
date -- 로컬 날짜/시간을 형식화합니다.
getdate -- 날짜/시간 정보를 가져온다
gettimeofday -- Get current time
gmdate -- Format a GMT/UTC date/time
gmmktime -- Get Unix timestamp for a GMT date
gmstrftime -- Format a GMT/UTC time/date according to locale settings
idate -- Format a local time/date as integer
localtime -- Get the local time
microtime -- Return current Unix timestamp with microseconds
mktime -- Get Unix timestamp for a date
strftime -- Format a local time/date according to locale settings
strptime -- Parse a time/date generated with strftime()
strtotime -- Parse about any English textual datetime description into a Unix timestamp
time -- Return current Unix timestamp
timezone_abbreviations_list -- Returns associative array containing dst, offset and the timezone name
timezone_identifiers_list -- Returns numerically index array with all timezone identifiers
timezone_name_from_abbr -- Returns the timezone name from abbrevation
timezone_name_get -- Returns the name of the timezone
timezone_offset_get -- Returns the timezone offset from GMT
timezone_open -- Returns new DateTimeZone object
timezone_transitions_get -- Returns all transitions for the timezone
이전 | 위로 | 다음
cyrus_unbind | 처음으로 | checkdate


checkdate

(PHP 4, PHP 5)

checkdate -- 그레고리안력 날짜를 확인합니다.

설명

bool checkdate ( int $month, int $day, int $year )

주어진 날짜가 유효하면 TRUE를, 유효하지 않으면 FALSE를 반환합니다. 각 인자가 구성하는 날짜의 유효성을 확인합니다. 다음과 같은 날짜가 유효합니다.

  • year는 1 이상 32767 이하
  • month는 1 이상 12 이하
  • Day는 주어진 month가 허용하는 일수입니다. 윤년 (Leaf year)도 고려합니다.

예 371. checkdate() 예제

<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>

위 예제의 출력:

bool(true);
bool(false);

참고: mktime(), strtotime().

이전 | 위로 | 다음
XXIII. 날짜와 시간 함수 | 처음으로 | date_create


date_sunrise

(PHP 5)

date_sunrise -- Returns time of sunrise for a given day and location

설명

mixed date_sunrise ( int $timestamp [, int $format [, float $latitude [, float $longitude [, float $zenith [, float $gmt_offset]]]]] )

date_sunrise() returns the sunrise time for a given day (specified as a timestamp) and location.

매개변수

timestamp

The timestamp of the day from which the sunrise time is taken.

format

표 38. format constants

constant | description | example
SUNFUNCS_RET_STRING | returns the result as string | 16:46
SUNFUNCS_RET_DOUBLE | returns the result as float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | returns the result as integer (timestamp) | 1095034606

latitude

Defaults to North, pass in a negative value for South. See also: date.default_latitude

longitude

Defaults to East, pass in a negative value for West. See also: date.default_longitude

zenith

Default: date.sunrise_zenith

gmtoffset

Specified in hours.

반환값

Returns the sunrise time in a specified format on success, or FALSE on failure.

오류/예외

모든 날짜/시간 함수 호출은 시간대가 유효하지 않을 때 E_NOTICE를, 시스템 설정이나 TZ 환경 변수를 사용할 때 E_STRICT를 생성합니다. date_default_timezone_set()을 참고하십시오.

변경 기록

버전 | 설명
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

예제

예 375. date_sunrise() example

<?php

/* calculate the sunrise time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

위 예제의 출력 예:

Mon Dec 20 2004, sunrise time : 08:54

참고

date_sunset()

이전 | 위로 | 다음
date_sun_info | 처음으로 | date_sunset


date_sunset

(PHP 5)

date_sunset -- Returns time of sunset for a given day and location

설명

mixed date_sunset ( int $timestamp [, int $format [, float $latitude [, float $longitude [, float $zenith [, float $gmt_offset]]]]] )

date_sunset() returns the sunset time for a given day (specified as a timestamp) and location.

매개변수

timestamp

The timestamp of the day from which the sunset time is taken.

format

표 39. format constants

constant | description | example
SUNFUNCS_RET_STRING | returns the result as string | 16:46
SUNFUNCS_RET_DOUBLE | returns the result as float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | returns the result as integer (timestamp) | 1095034606

latitude

Defaults to North, pass in a negative value for South. See also: date.default_latitude

longitude

Defaults to East, pass in a negative value for West. See also: date.default_longitude

zenith

Default: date.sunrise_zenith

gmtoffset

Specified in hours.

오류/예외

모든 날짜/시간 함수 호출은 시간대가 유효하지 않을 때 E_NOTICE를, 시스템 설정이나 TZ 환경 변수를 사용할 때 E_STRICT를 생성합니다. date_default_timezone_set()을 참고하십시오.

변경 기록

버전 | 설명
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

반환값

Returns the sunset time in a specified format on success, or FALSE on failure.

예제

예 376. date_sunset() example

<?php

/* calculate the sunset time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

위 예제의 출력 예:

Mon Dec 20 2004, sunset time : 18:13

참고

date_sunrise()

이전 | 위로 | 다음
date_sunrise | 처음으로 | date_time_set


date

(PHP 4, PHP 5)

date -- 로컬 날짜/시간을 형식화합니다.

설명

string date ( string $format [, int $ timestamp ] )

정수형으로 주어지는 timestamp나, timestamp가 주어지지 않았을 경우에는 현재 로컬 시간을 사용하여, 주어진 포맷 문자열에 따라 형식화한 문자열을 반환합니다. 즉 timestamp는 선택적이고, 기본값은 time()의 값입니다.

참고: 전형적인 timestamp의 유효 범위는 1901년 12월 13일 금요일 20:45:54 GMT부터 2038년 1월 19일 화요일 03:14:07 GMT입니다. (이것은 부호 있는 32비트 정수형의 최소와 최대값에 대응합니다. 윈도우즈에서는 이 값은 1970-01-01부터 2038-01-19로 제한됩니다)

참고: 날짜를 표시하는 문자열로부터 timestamp를 생성하기 위해서, strtotime()을 사용할 수 있습니다. 또한, 몇몇 데이터베이스는 각자의 날짜 형식으로에서 timestamp로 변환하는 함수를 가지고 있습니다. (예: MySQL의 UNIX_TIMESTAMP 함수)

표 40. 다음 문자들은 format 인자 문자열로 인식합니다.

format 문자 | 설명 | 반환값 예
a | 오전과 오후, 소문자 | am, pm
A | 오전과 오후, 대문자 | AM, PM
B | 스왓치 인터넷 시간 | 000부터 999
c | ISO 8601 날짜 (PHP 5에서 추가) | 2004-02-12T15:19:21+00:00
d | 일, 앞에 0이 붙는 2자리 | 01부터 31
D | 요일, 3글자 문자 | Mon부터 Sun
F | 월, January, March 등의 완전한 문자 표현 | January부터 December
g | 시, 0이 붙지 않는 12시간 형식 | 1부터 12
G | 시, 0이 붙지 않는 24시간 형식 | 0부터 23
h | 시, 0이 붙는 12시간 형식 | 01부터 12
H | 시, 0이 붙는 24시간 형식 | 00부터 23
i | 분, 0이 붙는 형식 | 00부터 59
I (대문자 i) | 일광 절약 시간 여부 | 일광 절약 시간이면 1, 아니면 0
j | 일, 0이 붙지 않는 형식 | 1부터 31
l (소문자 'L') | 요일, 완전한 문자 표현 | Sunday부터 Saturday
L | 윤년인지 여부 | 윤년이면 1, 아니면 0
m | 월, 숫자 표현, 0이 붙는 형식 | 01부터 12
M | 월, 짧은 문자 표현, 3문자 | Jan부터 Dec
n | 월, 숫자 표현, 0이 붙지 않는 형식 | 1부터 12
O | 그리니치 시간(GMT)과의 차이 | 예: +0200
r | » RFC 2822 형식 날짜 | 예: Thu, 21 Dec 2000 16:01:07 +0200
s | 초, 0이 붙는 형식 | 00 부터 59
S | 일 표현을 위한 영어 서수 접미어, 2문자 | st, nd, rd나 th. j와 잘 작동합니다.
t | 주어진 월의 일수 | 28부터 31
T | 이 기계의 표준 시간대 설정 | 예: EST, MDT ...
U | 유닉스 Epoch(January 1 1970 00:00:00 GMT)로부터의 초 | time() 참고
w | 요일, 숫자형 | 0(일요일)부터 6(토요일)
W | ISO-8601 연도의 주차, 주는 월요일에 시작 (PHP 4.1.0에서 추가) | 예: 42 (연도의 42번째 주)
Y | 연도, 4 자리수 표현 | 예: 1999, 2003
y | 연도, 2 자리수 표현 | 예: 99, 03
z | 연도의 일차 (0부터 시작) | 0부터 365
Z | 표준 시간대의 오프셋 초. UTC로부터 서쪽의 오프셋은 항상 음수이고, UTC로부터 동쪽의 오프셋은 항상 양수. | -43200부터 43200

format 문자열로 인식되지 않는 문자는 그대로 출력합니다. Z 형식은 gmdate()를 이용할 때는 항상 0을 반환합니다.

예 377. date() 예제코드

<?php
// 다음의 출력: Wednesday
echo date("l");

// 다음의 출력: Wednesday 15th of January 2003 05:51:38 AM
echo date("l dS of F Y h:i:s A");

// 출력: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
?>

format 문자열로 인식하는 문자 바로 앞에 백슬래쉬를 붙여서 이스케이프를 함으로써, 인식하는 것 막을 수 있습니다. 백슬래쉬가 붙는 문자가 이미 특별한 의미를 가지고 있다면, 백슬래쉬를 이스케이프해야 합니다.

예 378. date()의 회피 문자

<?php
// 다음의 출력: Wednesday the 15th
echo date("l \\t\h\e jS");
?>

date()와 mktime()을 함께 사용함으로써 미래나 과거의 시간을 얻을 수 있습니다.

예 379. date() 와 mktime() 예제코드

<?php
$tomorrow  = mktime (0,0,0,date("m")  , date("d")+1, date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1, date("d"),   date("Y"));
$nextyear  = mktime (0,0,0,date("m"),   date("d"),   date("Y")+1);
?>

참고: 이는 일광 절약 시간을 고려하기 때문에, 단순히 timestamp에 하루나 한달에 해당하는 초를 더하는 것보다 신뢰할 수 있습니다.

date() 형식화의 몇몇 예제. 모든 다른 문자들도 이스케이프 해야함에 주의하십시오. 현재 특별한 의미를 가진 어떤 것이 바람직하지 못한 결과를 가져올 수 있고, 앞으로의 PHP 버전에서는 다른 문자들도 지정될 수가 있습니다. 이스케이프 할 때는, \n이 줄바꿈으로 인식 되는 것과 같은 예을 피하기 위해서는 작은 따옴표를 사용해야만 합니다.

예 380. date() 형식화

<?php
// Assuming today is: March 10th, 2001, 5:16:18 pm

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$today = date("H:i:s");                         // 17:16:17
?>

다른 언어로 날짜를 형식화 하기 위해서는, setlocale()과 strftime() 함수를 사용해야 합니다.

참고: getlastmod(), gmdate(),
mktime(), strftime(),
time().

이전 | 위로 | 다음
date_timezone_set | 처음으로 | getdate


getdate

(PHP 4, PHP 5)

getdate -- 날짜/시간 정보를 가져온다

설명

array getdate ( [int $timestamp] )

timestamp의 날짜 정보를 포함하는 연관 배열이나, timestamp가 주어지지 않는다면 현재 로컬 시간를 반환한다. 다음과 같은 배열 원소로 반환된다.

표 41. 반환되는 연관 배열의 키 원소들

키 | 설명 | Example returned values
"seconds" | 초의 숫자 표현 | 0 부터 59
"minutes" | 분의 숫자 표현 | 0 부터 59
"hours" | 시간의 숫자 표현 | 0 부터 23
"mday" | 일의 숫자 표현 | 1 부터 31
"wday" | 요일의 숫자 표현 | 0 (일요일) 부터 6 (토요일)
"mon" | 월의 숫자 표현 | 1 부터 12
"year" | 연도의 숫자표현, 4 자리 | Examples: 1999 또는 2003
"yday" | 연도의 일차 | 0 부터 365
"weekday" | 요일, 완전한 문자 | Sunday 부터 Saturday
"month" | 월, 완전한 문자, January 나 March | January 부터 December
0 | 유닉스 Epoch (January 1 1970 00:00:00 GMT)로부터의 초, time()에 의해 반환되는 값과 유사하고, date()에 의해서 사용된다. | 시스템 의존적이다, 일반적으로 -2147483648 부터 2147483647.

예 381. getdate() 예제코드

<?php
$today = getdate();
print_r($today);
?>

출력은 다음과 같을것이다:

Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1055901520
)

참고: date(),
time(),
setlocale().

이전 | 위로 | 다음
date | 처음으로 | gettimeofday


gettimeofday

(PHP 4, PHP 5)

gettimeofday -- Get current time

설명

mixed gettimeofday ( [bool $return_float] )

This is an interface to gettimeofday(2). It returns an associative array containing the data returned from the system call.

매개변수

return_float

When set to TRUE, a float instead of an array is returned.

반환값

By default an array is returned. If return_float is set, then a float is returned.

Array keys:

  • "sec" - seconds since the Unix Epoch
  • "usec" - microseconds
  • "minuteswest" - minutes west of Greenwich
  • "dsttime" - type of dst correction

변경 기록

버전 | 설명
5.1.0 | The return_float parameter was added.

예제

예 382. gettimeofday() example

<?php
print_r(gettimeofday());

echo gettimeofday(true);
?>

위 예제의 출력 예:

Array
(
    [sec] => 1073504408
    [usec] => 238215
    [minuteswest] => 0
    [dsttime] => 1
)

1073504408.23910

이전 | 위로 | 다음
getdate | 처음으로 | gmdate


gmdate

(PHP 4, PHP 5)

gmdate -- Format a GMT/UTC date/time

설명

string gmdate ( string $format [, int $timestamp] )

Identical to the date() function except that the time returned is Greenwich Mean Time (GMT).

매개변수

format

The format of the outputted date string. See the formatting options for the date() function.

timestamp

선택적인 timestamp 매개변수는 현재 로컬 시간을 기본값으로 가지는 integer 유닉스 타임스탬프입니다. 즉, 기본값은 time() 값입니다.

반환값

Returns a formatted date string. If a non-numeric value is used for timestamp, FALSE is returned and an E_WARNING level error is emitted.

변경 기록

버전 | 설명
5.1.0 | The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer). However, before PHP 5.1.0 this range was limited from 01-01-1970 to 19-01-2038 on some systems (e.g. Windows).
5.1.1 | There are useful constants of standard date/time formats that can be used to specify the format parameter.

예제

예 383. gmdate() example

When run in Finland (GMT +0200), the first line below prints "Jan 01 1998 00:00:00", while the second prints "Dec 31 1997 22:00:00".

<?php
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
?>

참고

date()
mktime()
gmmktime()
strftime()

이전 | 위로 | 다음
gettimeofday | 처음으로 | gmmktime


gmmktime

(PHP 4, PHP 5)

gmmktime -- Get Unix timestamp for a GMT date

설명

int gmmktime ( [int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst]]]]]]] )

Identical to mktime() except the passed parameters represents a GMT date. gmmktime() internally uses mktime() so only times valid in derived local time can be used.

Like mktime(), arguments may be left out in order from right to left, with any omitted arguments being set to the current corresponding GMT value.

매개변수

hour

The hour

minute

The minute

second

The second

month

The month

day

The day

year

The year

is_dst

Parameters always represent a GMT date so is_dst doesn't influence the result.

반환값

Returns a integer Unix timestamp.

변경 기록

버전 | 설명
5.1.0 | As of PHP 5.1.0, the is_dst parameter became deprecated. As a result, the new timezone handling features should be used instead.

예제

예 384. gmmktime() on Windows boundary

<?php
gmmktime(0, 0, 0, 1, 1, 1970); // valid in GMT and west, invalid in east
?>

참고

mktime()
date()
time()

이전 | 위로 | 다음
gmdate | 처음으로 | gmstrftime


gmstrftime

(PHP 4, PHP 5)

gmstrftime -- Format a GMT/UTC time/date according to locale settings

설명

string gmstrftime ( string $format [, int $timestamp] )

Behaves the same as strftime() except that the time returned is Greenwich Mean Time (GMT). For example, when run in Eastern Standard Time (GMT -0500), the first line below prints "Dec 31 1998 20:00:00", while the second prints "Jan 01 1999 01:00:00".

예제

예 385. gmstrftime() example

<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

참고

strftime()

이전 | 위로 | 다음
gmmktime | 처음으로 | idate


idate

(PHP 5)

idate -- Format a local time/date as integer

설명

int idate ( string $format [, int $timestamp] )

Returns a number formatted according to the given format string using the given integer timestamp or the current local time if no timestamp is given. In other words, timestamp is optional and defaults to the value of time().

Unlike the function date(), idate() accepts just one char in the format parameter.

매개변수

format

표 42. The following characters are recognized in the format parameter string

format character | Description
B | Swatch Beat/Internet Time
d | Day of the month
h | Hour (12 hour format)
H | Hour (24 hour format)
i | Minutes
I | returns 1 if DST is activated, 0 otherwise
L | returns 1 for leap year, 0 otherwise
m | Month number
s | Seconds
t | Days in current month
U | Seconds since the Unix Epoch - January 1 1970 00:00:00 GMT - this is the same as time()
w | Day of the week (0 on Sunday)
W | ISO-8601 week number of year, weeks starting on Monday
y | Year (1 or 2 digits - check note below)
Y | Year (4 digits)
z | Day of the year
Z | Timezone offset in seconds

timestamp

선택적인 timestamp 매개변수는 현재 로컬 시간을 기본값으로 가지는 integer 유닉스 타임스탬프입니다. 즉, 기본값은 time() 값입니다.

반환값

Returns an integer.

As idate() always returns an integer and as they can't start with a "0", idate() may return fewer digits than you would expect. See the example below.

오류/예외

모든 날짜/시간 함수 호출은 시간대가 유효하지 않을 때 E_NOTICE를, 시스템 설정이나 TZ 환경 변수를 사용할 때 E_STRICT를 생성합니다. date_default_timezone_set()을 참고하십시오.

변경 기록

버전 | 설명
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

예제

예 386. idate() example

<?php
$timestamp = strtotime('1st January 2004'); //1072915200

// this prints the year in a two digit format
// however, as this would start with a "0", it
// only prints "4"
echo idate('y', $timestamp);
?>

참고

date()
time()

이전 | 위로 | 다음
gmstrftime | 처음으로 | localtime


localtime

(PHP 4, PHP 5)

localtime -- Get the local time

설명

array localtime ( [int $timestamp [, bool $is_associative]] )

The localtime() function returns an array identical to that of the structure returned by the C function call.

매개변수

timestamp

선택적인 timestamp 매개변수는 현재 로컬 시간을 기본값으로 가지는 integer 유닉스 타임스탬프입니다. 즉, 기본값은 time() 값입니다.

is_associative

If set to FALSE or not supplied than the array is returned as a regular, numerically indexed array. If the argument is set to TRUE then localtime() is an associative array containing all the different elements of the structure returned by the C function call to localtime. The names of the different keys of the associative array are as follows:

  • "tm_sec" - seconds
  • "tm_min" - minutes
  • "tm_hour" - hour

  • "tm_mday" - day of the month

    Months are from 0 (Jan) to 11 (Dec) and days of the week are from 0 (Sun) to 6 (Sat).

  • "tm_mon" - month of the year, starting with 0 for January
  • "tm_year" - Years since 1900
  • "tm_wday" - Day of the week
  • "tm_yday" - Day of the year
  • "tm_isdst" - Is daylight savings time in effect

오류/예외

모든 날짜/시간 함수 호출은 시간대가 유효하지 않을 때 E_NOTICE를, 시스템 설정이나 TZ 환경 변수를 사용할 때 E_STRICT를 생성합니다. date_default_timezone_set()을 참고하십시오.

변경 기록

버전 | 설명
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

예제

예 387. localtime() example

<?php
$localtime = localtime();
$localtime_assoc = localtime(time(), true);
print_r($localtime);
print_r($localtime_assoc);
?>

위 예제의 출력 예:

Array
(
    [0] => 24
    [1] => 3
    [2] => 19
    [3] => 3
    [4] => 3
    [5] => 105
    [6] => 0
    [7] => 92
    [8] => 1
)

Array
(
    [tm_sec] => 24
    [tm_min] => 3
    [tm_hour] => 19
    [tm_mday] => 3
    [tm_mon] => 3
    [tm_year] => 105
    [tm_wday] => 0
    [tm_yday] => 92
    [tm_isdst] => 1
)

이전 | 위로 | 다음
idate | 처음으로 | microtime


microtime

(PHP 4, PHP 5)

microtime -- Return current Unix timestamp with microseconds

설명

mixed microtime ( [bool $get_as_float] )

microtime() returns the current Unix timestamp with microseconds. This function is only available on operating systems that support the gettimeofday() system call.

매개변수

get_as_float

When called without the optional argument, this function returns the string "msec sec" where sec is the current time measured in the number of seconds since the Unix Epoch (0:00:00 January 1, 1970 GMT), and msec is the microseconds part. Both portions of the string are returned in units of seconds.

If the optional get_as_float is set to TRUE then a float (in seconds) is returned.

변경 기록

버전 | 설명
5.0.0 | The get_as_float parameter was added.

예제

예 388. Timing script execution with microtime()

<?php
/**
 * Simple function to replicate PHP 5 behaviour
 */
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();

// Sleep for a while
usleep(100);

$time_end = microtime_float();
$time = $time_end - $time_start;

echo "Did nothing in $time seconds\n";
?>

예 389. Timing script execution in PHP 5

<?php
$time_start = microtime(true);

// Sleep for a while
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "Did nothing in $time seconds\n";
?>

참고

time()

이전 | 위로 | 다음
localtime | 처음으로 | mktime


mktime

(PHP 4, PHP 5)

mktime -- Get Unix timestamp for a date

설명

int mktime ( [int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst]]]]]]] )

Returns the Unix timestamp corresponding to the arguments given. This timestamp is a long integer containing the number of seconds between the Unix Epoch (January 1 1970 00:00:00 GMT) and the time specified.

Arguments may be left out in order from right to left; any arguments thus omitted will be set to the current value according to the local date and time.

매개변수

hour

The number of the hour.

minute

The number of the minute.

second

The number of seconds past the minute.

month

The number of the month.

day

The number of the day.

year

The number of the year, may be a two or four digit value, with values between 0-69 mapping to 2000-2069 and 70-100 to 1970-2000. On systems where time_t is a 32bit signed integer, as most common today, the valid range for year is somewhere between 1901 and 2038. However, before PHP 5.1.0 this range was limited from 1970 to 2038 on some systems (e.g. Windows).

is_dst

This parameter can be set to 1 if the time is during daylight savings time (DST), 0 if it is not, or -1 (the default) if it is unknown whether the time is within daylight savings time or not. If it's unknown, PHP tries to figure it out itself. This can cause unexpected (but not incorrect) results. Some times are invalid if DST is enabled on the system PHP is running on or is_dst is set to 1. If DST is enabled in e.g. 2:00, all times between 2:00 and 3:00 are invalid and mktime() returns an undefined (usually negative) value. Some systems (e.g. Solaris 8) enable DST at midnight so time 0:30 of the day when DST is enabled is evaluated as 23:30 of the previous day.

참고: As of PHP 5.1.0, this parameter became deprecated. As a result, the new timezone handling features should be used instead.

반환값

mktime() returns the Unix timestamp of the arguments given. If the arguments are invalid, the function returns FALSE (before PHP 5.1 it returned -1).

오류/예외

모든 날짜/시간 함수 호출은 시간대가 유효하지 않을 때 E_NOTICE를, 시스템 설정이나 TZ 환경 변수를 사용할 때 E_STRICT를 생성합니다. date_default_timezone_set()을 참고하십시오.

변경 기록

버전 | 설명
3.0.10 | Added is_dst parameter
5.1.0 | The is_dst parameter became deprecated. Made the function return FALSE on error, instead of -1. Fixed the function to accept the year, month and day to be all passed as zero.
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

예제

예 390. mktime() example

mktime() is useful for doing date arithmetic and validation, as it will automatically calculate the correct value for out-of-range input. For example, each of the following lines produces the string "Jan-01-1998".

<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>

예 391. Last day of next month

The last day of any given month can be expressed as the "0" day of the next month, not the -1 day. Both of the following examples will produce the string "The last day in Feb 2000 is: 29".

<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
?>

주의

경고

Before PHP 5.1.0, negative timestamps were not supported under any known version of Windows and some other systems as well. Therefore the range of valid years was limited to 1970 through 2038.

참고

gmmktime()
date()
time()

이전 | 위로 | 다음
microtime | 처음으로 | strftime


strftime

(PHP 4, PHP 5)

strftime -- Format a local time/date according to locale settings

설명

string strftime ( string $format [, int $timestamp] )

Returns a string formatted according to the given format string using the given timestamp or the current local time if no timestamp is given. Month and weekday names and other language dependent strings respect the current locale set with setlocale().

Not all conversion specifiers may be supported by your C library, in which case they will not be supported by PHP's strftime(). Additionally, not all platforms support negative timestamps, therefore your date range may be limited to no earlier than the Unix epoch. This means that e.g. %e, %T, %R and %D (there might be more) and dates prior to Jan 1, 1970 will not work on Windows, some Linux distributions, and a few other operating systems. For Windows systems a complete overview of supported conversion specifiers can be found at this » MSDN website.

매개변수

format

The following conversion specifiers are recognized in the format string:

  • %a - abbreviated weekday name according to the current locale
  • %A - full weekday name according to the current locale
  • %b - abbreviated month name according to the current locale
  • %B - full month name according to the current locale
  • %c - preferred date and time representation for the current locale
  • %C - century number (the year divided by 100 and truncated to an integer, range 00 to 99)
  • %d - day of the month as a decimal number (range 01 to 31)
  • %D - same as %m/%d/%y
  • %e - day of the month as a decimal number, a single digit is preceded by a space (range ' 1' to '31')
  • %g - like %G, but without the century.
  • %G - The 4-digit year corresponding to the ISO week number (see %V). This has the same format and value as %Y, except that if the ISO week number belongs to the previous or next year, that year is used instead.
  • %h - same as %b
  • %H - hour as a decimal number using a 24-hour clock (range 00 to 23)
  • %I - hour as a decimal number using a 12-hour clock (range 01 to 12)
  • %j - day of the year as a decimal number (range 001 to 366)
  • %m - month as a decimal number (range 01 to 12)
  • %M - minute as a decimal number
  • %n - newline character
  • %p - either `am' or `pm' according to the given time value, or the corresponding strings for the current locale
  • %r - time in a.m. and p.m. notation
  • %R - time in 24 hour notation
  • %S - second as a decimal number
  • %t - tab character
  • %T - current time, equal to %H:%M:%S

  • %u - weekday as a decimal number [1,7], with 1 representing Monday

    주의

    Sun Solaris seems to start with Sunday as 1 although ISO 9889:1999 (the current C standard) clearly specifies that it should be Monday.

  • %U - week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week
  • %V - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week. (Use %G or %g for the year component that corresponds to the week number for the specified timestamp.)
  • %W - week number of the current year as a decimal number, starting with the first Monday as the first day of the first week
  • %w - day of the week as a decimal, Sunday being 0
  • %x - preferred date representation for the current locale without the time
  • %X - preferred time representation for the current locale without the date
  • %y - year as a decimal number without a century (range 00 to 99)
  • %Y - year as a decimal number including the century
  • %Z or %z - time zone or name or abbreviation
  • %% - a literal `%' character

Maximum length of this parameter is 1023 characters.

timestamp

선택적인 timestamp 매개변수는 현재 로컬 시간을 기본값으로 가지는 integer 유닉스 타임스탬프입니다. 즉, 기본값은 time() 값입니다.

오류/예외

모든 날짜/시간 함수 호출은 시간대가 유효하지 않을 때 E_NOTICE를, 시스템 설정이나 TZ 환경 변수를 사용할 때 E_STRICT를 생성합니다. date_default_timezone_set()을 참고하십시오.

변경 기록

버전 | 설명
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

예제

This example works if you have the respective locales installed in your system.

예 392. strftime() locale examples

<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
?>

예 393. ISO 8601:1988 week number example

<?php
/*     December 2002 / January 2003
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     16  17  18  19  20  21  22
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Outputs: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Outputs: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Outputs: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Outputs: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";

/*     December 2004 / January 2005
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Outputs: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Outputs: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Outputs: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Outputs: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

주의

참고: %G and %V, which are based on ISO 8601:1988 week numbers can give unexpected (albeit correct) results if the numbering system is not thoroughly understood. See %V examples in this manual page.

참고

setlocale()
mktime()
strptime()
» Open Group specification of strftime()

이전 | 위로 | 다음
mktime | 처음으로 | strptime


strptime

(PHP 5 >= 5.1.0)

strptime -- Parse a time/date generated with strftime()

설명

array strptime ( string $date, string $format )

strptime() returns an array with the date parsed, or FALSE on error.

Month and weekday names and other language dependent strings respect the current locale set with setlocale() (LC_TIME).

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

매개변수

date (string)

The string to parse (e.g. returned from strftime())

format (string)

The format used in date (e.g. the same as used in strftime()).

For more information about the format options, read the strftime() page.

반환값

Returns an array, or FALSE on failure.

표 43. The following parameters are returned in the array

parameters | Description
tm_sec | Seconds after the minute (0-61)
tm_min | Minutes after the hour (0-59)
tm_hour | Hour since midnight (0-23)
tm_mday | Day of the month (1-31)
tm_mon | Months since January (0-11)
tm_year | Years since 1900
tm_wday | Days since Sunday (0-6)
tm_yday | Days since January 1 (0-365)
unparsed | the date part which was not recognized using the specified format

예제

예 394. strptime() example

<?php
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);

echo "$strf\n";

print_r(strptime($strf, $format));
?>

위 예제의 출력 예:

03/10/2004 15:54:19

Array
(
    [tm_sec] => 19
    [tm_min] => 54
    [tm_hour] => 15
    [tm_mday] => 3
    [tm_mon] => 9
    [tm_year] => 104
    [tm_wday] => 0
    [tm_yday] => 276
    [unparsed] =>
)

참고

strftime()

이전 | 위로 | 다음
strftime | 처음으로 | strtotime


strtotime

(PHP 4, PHP 5)

strtotime -- Parse about any English textual datetime description into a Unix timestamp

설명

int strtotime ( string $time [, int $now] )

The function expects to be given a string containing a US English date format and will try to parse that format into a Unix timestamp (the number of seconds since January 1 1970 00:00:00 GMT), relative to the timestamp given in now, or the current time if now is not supplied.

This function will use the TZ environment variable (if available) to calculate the timestamp. Since PHP 5.1.0 there are easier ways to define the timezone that is used across all date/time functions. That process is explained in the date_default_timezone_get() function page.

참고: If the number of the year is specified in a two digit format, the values between 00-69 are mapped to 2000-2069 and 70-99 to 1970-1999.

매개변수

time

The string to parse, according to the GNU » Date Input Formats syntax. Before PHP 5.0.0, microseconds weren't allowed in the time, since PHP 5.0.0 they are allowed but ignored.

now

The timestamp used to calculate the returned value.

반환값

Returns a timestamp on success, FALSE otherwise. Previous to PHP 5.1.0, this function would return -1 on failure.

오류/예외

모든 날짜/시간 함수 호출은 시간대가 유효하지 않을 때 E_NOTICE를, 시스템 설정이나 TZ 환경 변수를 사용할 때 E_STRICT를 생성합니다. date_default_timezone_set()을 참고하십시오.

변경 기록

버전 | 설명
5.1.0 | It now returns FALSE on failure, instead of -1.
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

예제

예 395. A strtotime() example

<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>

예 396. Checking for failure

<?php
$str = 'Not Good';

// previous to PHP 5.1.0 you would compare with -1, instead of false
if (($timestamp = strtotime($str)) === false) {
    echo "The string ($str) is bogus";
} else {
    echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
?>

주의

주의

In PHP 5 up to 5.0.2, "now" and other relative times are wrongly computed from today's midnight. It differs from other versions where it is correctly computed from current time.

주의

In PHP versions prior to 4.4.0, "next" is incorrectly computed as +2. A typical solution to this is to use "+1".

참고: The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer.) Additionally, not all platforms support negative timestamps, therefore your date range may be limited to no earlier than the Unix epoch. This means that e.g. dates prior to Jan 1, 1970 will not work on Windows, some Linux distributions, and a few other operating systems. PHP 5.1.0 and newer versions overcome this limitation though.

참고

strptime()

이전 | 위로 | 다음
strptime | 처음으로 | time


time

(PHP 4, PHP 5)

time -- Return current Unix timestamp

설명

int time ( void )

Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).

예제

예 397. time() example

<?php
$nextWeek = time() + (7 * 24 * 60 * 60);
                   // 7 days; 24 hours; 60 mins; 60secs
echo 'Now:       '. date('Y-m-d') ."\n";
echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
// or using strtotime():
echo 'Next Week: '. date('Y-m-d', strtotime('+1 week')) ."\n";
?>

위 예제의 출력 예:

Now:       2005-03-30
Next Week: 2005-04-06
Next Week: 2005-04-06

주의

작은 정보

Timestamp of the start of the request is available in $_SERVER['REQUEST_TIME'] since PHP 5.1.

참고

date()
microtime()

이전 | 위로 | 다음
strtotime | 처음으로 | timezone_abbreviations_list


dBase Functions

이전 VI. 함수 레퍼런스 다음

XXVI. dBase Functions

소개

These functions allow you to access records stored in dBase-format (dbf) databases.

dBase files are simple sequential files of fixed length records. Records are appended to the end of the file and delete records are kept until you call dbase_pack().

The types of dBase fields available are:

표 48. Available types of fields

Field | dBase Type | Format | Additional information
M | Memo | n/a | This type is not supported by PHP, such field will be ignored
D | Date | YYYYMMDD | The field length is limited to 8
N | Number | A number | You must declare a length and a precision (the number of digits after the decimal point)
C | String | A string | You must declare a length. When retrieving data, the string will be right-padded with spaces to fit the declared length.
L | Boolean | T or Y for TRUE, F or N for FALSE | Stored and returned as an integer (1 or 0)
F | Float | A float number | Support for this type of field was added in PHP 5.2.0

주의

There is no support for indexes or memo fields. There is no support for locking, too. Two concurrent web server processes modifying the same dBase file will very likely ruin your database.

We recommend that you do not use dBase files as your production database. Choose any real SQL server instead; » MySQL or » Postgres are common choices with PHP. dBase support is here to allow you to import and export data to and from your web database, because the file format is commonly understood by Windows spreadsheets and organizers.

설치

In order to enable the bundled dbase library and to use these functions, you must compile PHP with the --enable-dbase option.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예제

Many examples in this reference require a dBase database. We will use /tmp/test.dbf that will be created in the example of dbase_create().

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

dbase_add_record -- Adds a record to a database
dbase_close -- Closes a database
dbase_create -- Creates a database
dbase_delete_record -- Deletes a record from a database
dbase_get_header_info -- Gets the header info of a database
dbase_get_record_with_names -- Gets a record from a database as an associative array
dbase_get_record -- Gets a record from a database as an indexed array
dbase_numfields -- Gets the number of fields of a database
dbase_numrecords -- Gets the number of records in a database
dbase_open -- Opens a database
dbase_pack -- Packs a database
dbase_replace_record -- Replaces a record in a database
이전 | 위로 | 다음
dba_sync | 처음으로 | dbase_add_record


dbase_add_record

(PHP 4, PHP 5)

dbase_add_record -- Adds a record to a database

설명

bool dbase_add_record ( int $dbase_identifier, array $record )

Adds the given data to the database.

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record

An indexed array of data. The number of items must be equal to the number of fields in the database, otherwise dbase_add_record() will fail.

참고: If you're using dbase_get_record() return value for this parameter, remember to reset the key named deleted.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 406. Inserting a record in a dBase database

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  dbase_add_record($db, array(
      date('Ymd'),
      'Maxim Topolov',
      '23',
      'max@example.com',
      'T'));
  dbase_close($db);
}

?>

참고

dbase_delete_record()
dbase_replace_record()

이전 | 위로 | 다음
XXVI. dBase Functions | 처음으로 | dbase_close


dbase_close

(PHP 4, PHP 5)

dbase_close -- Closes a database

설명

bool dbase_close ( int $dbase_identifier )

Closes the given database link identifier.

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 407. Closing a dBase database file

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // read some data ..

  dbase_close($db);
}

?>

참고

dbase_open()
dbase_create()

이전 | 위로 | 다음
dbase_add_record | 처음으로 | dbase_create


dbase_create

(PHP 4, PHP 5)

dbase_create -- Creates a database

설명

int dbase_create ( string $filename, array $fields )

dbase_create() creates a dBase database with the given definition.

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

참고: 이 함수는 open_basedir에 영향을 받습니다.

매개변수

filename

The name of the database. It can be a relative or absolute path to the file where dBase will store your data.

fields

An array of arrays, each array describing the format of one field of the database. Each field consists of a name, a character indicating the field type, and optionally, a length, and a precision.

참고: The fieldnames are limited in length and must not exceed 10 chars.

반환값

Returns a database link identifier if the database is successfully created, or FALSE if an error occurred.

예제

예 408. Creating a dBase database file

<?php

// database "definition"
$def = array(
  array("date",     "D"),
  array("name",     "C",  50),
  array("age",      "N",   3, 0),
  array("email",    "C", 128),
  array("ismember", "L")
);

// creation
if (!dbase_create('/tmp/test.dbf', $def)) {
  echo "Error, can't create the database\n";
}

?>

참고

dbase_open()
dbase_close()

이전 | 위로 | 다음
dbase_close | 처음으로 | dbase_delete_record


dbase_delete_record

(PHP 4, PHP 5)

dbase_delete_record -- Deletes a record from a database

설명

bool dbase_delete_record ( int $dbase_identifier, int $record_number )

Marks the given record to be deleted from the database.

참고: To actually remove the record from the database, you must also call dbase_pack().

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record_number

An integer which spans from 1 to the number of records in the database (as returned by dbase_numrecords()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dbase_add_record()
dbase_replace_record()

이전 | 위로 | 다음
dbase_create | 처음으로 | dbase_get_header_info


dbase_get_header_info

(PHP 5)

dbase_get_header_info -- Gets the header info of a database

설명

array dbase_get_header_info ( int $dbase_identifier )

Returns information on the column structure of the given database link identifier.

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

반환값

An indexed array with an entry for each column in the database. The array index starts at 0.

Each array element contains an associative array of column information, as described here:

name
The name of the column
type
The human-readable name for the dbase type of the column (i.e. date, boolean, etc.)
length
The number of bytes this column can hold
precision
The number of digits of decimal precision for the column
format
A suggested printf() format specifier for the column
offset
The byte offset of the column from the start of the row

If the database header information cannot be read, FALSE is returned.

예제

예 409. Showing header information for a dBase database file

<?php
// Path to dbase file
$db_path = "/tmp/test.dbf";

// Open dbase file
$dbh = dbase_open($db_path, 0)
  or die("Error! Could not open dbase database file '$db_path'.");

// Get column information
$column_info = dbase_get_header_info($dbh);

// Display information
print_r($column_info);
?>

이전 | 위로 | 다음
dbase_delete_record | 처음으로 | dbase_get_record_with_names


dbase_get_record_with_names

(PHP 4, PHP 5)

dbase_get_record_with_names -- Gets a record from a database as an associative array

설명

array dbase_get_record_with_names ( int $dbase_identifier, int $record_number )

Gets a record from a dBase database as an associative array.

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record_number

The index of the record.

반환값

An associative array with the record. This will also include a key named deleted which is set to 1 if the record has been marked for deletion (see dbase_delete_record()).

Each field is converted to the appropriate PHP type, except:

  • Dates are left as strings.
  • Integers that would have caused an overflow (> 32 bits) are returned as strings.

On error, dbase_get_record_with_names() will return FALSE.

예제

예 410. Listing all the registered members in the database

<?php
// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      $row = dbase_get_record_with_names($db, $i);
      if ($row['ismember'] == 1) {
          echo "Member #$i: " . trim($row['name']) . "\n";
      }
  }
}
?>

참고

dbase_get_record()

이전 | 위로 | 다음
dbase_get_header_info | 처음으로 | dbase_get_record


dbase_get_record

(PHP 4, PHP 5)

dbase_get_record -- Gets a record from a database as an indexed array

설명

array dbase_get_record ( int $dbase_identifier, int $record_number )

Gets a record from a database as an indexed array.

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record_number

The index of the record.

반환값

An indexed array with the record. This array will also include an associative key named deleted which is set to 1 if the record has been marked for deletion (see dbase_delete_record()).

Each field is converted to the appropriate PHP type, except:

  • Dates are left as strings.
  • Integers that would have caused an overflow (> 32 bits) are returned as strings.

On error, dbase_get_record() will return FALSE.

참고

dbase_get_record_with_names()

이전 | 위로 | 다음
dbase_get_record_with_names | 처음으로 | dbase_numfields


dbase_numfields

(PHP 4, PHP 5)

dbase_numfields -- Gets the number of fields of a database

설명

int dbase_numfields ( int $dbase_identifier )

Gets the number of fields (columns) in the specified database.

참고: Field numbers are between 0 and dbase_numfields($db)-1, while record numbers are between 1 and dbase_numrecords($db).

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

반환값

The number of fields in the database, or FALSE if an error occurs.

예제

예 411. dbase_numfields() Example

<?php

$rec = dbase_get_record($db, $recno);
$nf  = dbase_numfields($db);
for ($i = 0; $i < $nf; $i++) {
  echo $rec[$i], "\n";
}

?>

참고

dbase_numrecords()

이전 | 위로 | 다음
dbase_get_record | 처음으로 | dbase_numrecords


dbase_numrecords

(PHP 4, PHP 5)

dbase_numrecords -- Gets the number of records in a database

설명

int dbase_numrecords ( int $dbase_identifier )

Gets the number of records (rows) in the specified database.

참고: Record numbers are between 1 and dbase_numrecords($db), while field numbers are between 0 and dbase_numfields($db)-1.

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

반환값

The number of records in the database, or FALSE if an error occurs.

예제

예 412. Looping over all the records of the database

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      // do something here, for each record
  }
}

?>

참고

dbase_num_fields()

이전 | 위로 | 다음
dbase_numfields | 처음으로 | dbase_open


dbase_open

(PHP 4, PHP 5)

dbase_open -- Opens a database

설명

int dbase_open ( string $filename, int $mode )

dbase_open() opens a dBase database with the given access mode.

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

참고: 이 함수는 open_basedir에 영향을 받습니다.

매개변수

filename

The name of the database. It can be a relative or absolute path to the file where dBase will store your data.

mode

An integer which correspond to those for the open() system call (Typically 0 means read-only, 1 means write-only, and 2 means read and write).

참고: You can't open a dBase file in write-only mode as the function will fail to read the headers information and thus you can't use 1 as mode.

예제

예 413. Opening a dBase database file

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // read some data ..

  dbase_close($db);
}

?>

반환값

Returns a database link identifier if the database is successfully opened, or FALSE if an error occurred.

참고

dbase_create()
dbase_close()

이전 | 위로 | 다음
dbase_numrecords | 처음으로 | dbase_pack


dbase_pack

(PHP 4, PHP 5)

dbase_pack -- Packs a database

설명

bool dbase_pack ( int $dbase_identifier )

Packs the specified database by permanently deleting all records marked for deletion using dbase_delete_record().

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 414. Emptying a dBase database

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      dbase_delete_record($db, $i);
  }
  // expunge the database
  dbase_pack($db);
}

?>

참고

dbase_delete_record()

이전 | 위로 | 다음
dbase_open | 처음으로 | dbase_replace_record


dbase_replace_record

(PHP 4, PHP 5)

dbase_replace_record -- Replaces a record in a database

설명

bool dbase_replace_record ( int $dbase_identifier, array $record, int $record_number )

Replaces the given record in the database with the given data.

매개변수

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record

An indexed array of data. The number of items must be equal to the number of fields in the database, otherwise dbase_add_record() will fail.

참고: If you're using dbase_get_record() return value for this parameter, remember to reset the key named deleted.

record_number

An integer which spans from 1 to the number of records in the database (as returned by dbase_numrecords()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 415. Updating a record in the database

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  // gets the old row
  $row = dbase_get_record_with_names($db, 1);

  // remove the 'deleted' entry
  unset($row['deleted']);

  // Update the date field with the current timestamp
  $row['date'] = date('Ymd');

  // Replace the record
  dbase_replace_record($db, $row, 1);
  dbase_close($db);
}

?>

참고

dbase_add_record()
dbase_delete_record()

이전 | 위로 | 다음
dbase_pack | 처음으로 | XXVII. DBM Functions [deprecated]


DBM Functions [deprecated]

이전 VI. 함수 레퍼런스 다음

XXVII. DBM Functions [deprecated]

소개

These functions allow you to store records stored in a dbm-style database. This type of database (supported by the Berkeley DB, » GDBM, and some system libraries, as well as a built-in flatfile library) stores key/value pairs (as opposed to the full-blown records supported by relational databases).

참고: DBM support is deprecated and you are encouraged to use the Database (dbm-style) abstraction layer functions instead.

참고: This extension has been removed from PHP and is no longer available as of PHP 5.0.0.

요구 조건

To use this functions you have to compile PHP with support for an underlying database. See the list of supported Databases.

설치

In order to use these functions, you must compile PHP with dbm support by using the --with-db option. In addition you must ensure support for an underlying database or you can use some system libraries.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

The function dbmopen() returns an database identifier which is used by the other dbm-functions.

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

예 416. DBM example

<?php

$dbm = dbmopen("lastseen", "w");
if (dbmexists($dbm, $userid)) {
    $last_seen = dbmfetch($dbm, $userid);
} else {
    dbminsert($dbm, $userid, time());
}
do_stuff();
dbmreplace($dbm, $userid, time());
dbmclose($dbm);

?>

차례

dblist -- Describes the DBM-compatible library being used
dbmclose -- Closes a dbm database
dbmdelete -- Deletes the value for a key from a DBM database
dbmexists -- Tells if a value exists for a key in a DBM database
dbmfetch -- Fetches a value for a key from a DBM database
dbmfirstkey -- Retrieves the first key from a DBM database
dbminsert -- Inserts a value for a key in a DBM database
dbmnextkey
dbmopen -- Opens a DBM database
dbmreplace -- Replaces the value for a key in a DBM database
이전 | 위로 | 다음
dbase_replace_record | 처음으로 | dblist


dblist

(PHP 4)

dblist -- Describes the DBM-compatible library being used

설명

string dblist ( void )

Describes the GDBM version.

반환값

Returns a string describing the GDBM version.

예제

예 417. Getting the information on the command line

[marcus@zaphod marcus]$ php -r 'echo dblist();'
This is GDBM version 1.8.0, as of May 19, 1999.

이전 | 위로 | 다음
XXVII. DBM Functions [deprecated] | 처음으로 | dbmclose


dbmclose

(PHP 4)

dbmclose -- Closes a dbm database

설명

bool dbmclose ( resource $dbm_identifier )

Unlocks and closes the specified database.

매개변수

dbm_identifier

dbmopen()이 반환한 DBM 연결 식별자입니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dbmopen()

이전 | 위로 | 다음
dblist | 처음으로 | dbmdelete


dbmdelete

(PHP 4)

dbmdelete -- Deletes the value for a key from a DBM database

설명

bool dbmdelete ( resource $dbm_identifier, string $key )

Deletes the value for key in the database.

매개변수

dbm_identifier

dbmopen()이 반환한 DBM 연결 식별자입니다.

key

The key, as a string

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Returns FALSE if the key didn't exist in the database.

참고

dbminsert()

이전 | 위로 | 다음
dbmclose | 처음으로 | dbmexists


dbmexists

(PHP 4)

dbmexists -- Tells if a value exists for a key in a DBM database

설명

bool dbmexists ( resource $dbm_identifier, string $key )

Returns TRUE if there is a value associated with the key.

매개변수

dbm_identifier

dbmopen()이 반환한 DBM 연결 식별자입니다.

key

The key, as a string

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dbmfetch()

이전 | 위로 | 다음
dbmdelete | 처음으로 | dbmfetch


dbmfetch

(PHP 4)

dbmfetch -- Fetches a value for a key from a DBM database

설명

string dbmfetch ( resource $dbm_identifier, string $key )

Gets the value associated with the given key.

매개변수

dbm_identifier

dbmopen()이 반환한 DBM 연결 식별자입니다.

key

The key, as a string

반환값

Returns the value associated with key.

이전 | 위로 | 다음
dbmexists | 처음으로 | dbmfirstkey


dbmfirstkey

(PHP 4)

dbmfirstkey -- Retrieves the first key from a DBM database

설명

string dbmfirstkey ( resource $dbm_identifier )

Returns the first key in the database. Note that no particular order is guaranteed since the database may be built using a hash-table, which doesn't guarantee any ordering.

매개변수

dbm_identifier

dbmopen()이 반환한 DBM 연결 식별자입니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dbmnextkey()

이전 | 위로 | 다음
dbmfetch | 처음으로 | dbminsert


dbminsert

(PHP 4)

dbminsert -- Inserts a value for a key in a DBM database

설명

int dbminsert ( resource $dbm_identifier, string $key, string $value )

Adds the value to the database with the specified key.

매개변수

dbm_identifier

dbmopen()이 반환한 DBM 연결 식별자입니다.

key

The added key

value

The added key value

반환값

Returns -1 if the database was opened read-only, 0 if the insert was successful, and 1 if the specified key already exists. (To replace the value, use dbmreplace().)

참고

dbmreplace()
dbmdelete()

이전 | 위로 | 다음
dbmfirstkey | 처음으로 | dbmnextkey


dbmnextkey

(PHP 4)

dbmnextkey

설명

string dbmnextkey ( resource $dbm_identifier, string $key )

Returns the next key after key.

매개변수

dbm_identifier

dbmopen()이 반환한 DBM 연결 식별자입니다.

key

The previous key

반환값

The next key if possible

예제

By calling dbmfirstkey() followed by successive calls to dbmnextkey() it is possible to visit every key/value pair in the dbm database. For example:

예 418. Visiting every key/value pair in a DBM database

<?php

$key = dbmfirstkey($dbm_id);
while ($key) {
    echo "$key = " . dbmfetch($dbm_id, $key) . "\n";
    $key = dbmnextkey($dbm_id, $key);
}

?>

참고

dbmfirstkey()

이전 | 위로 | 다음
dbminsert | 처음으로 | dbmopen


dbmopen

(PHP 4)

dbmopen -- Opens a DBM database

설명

resource dbmopen ( string $filename, string $flags )

Opens the specified DBM database in the given mode.

매개변수

filename

The full-path filename of the DBM file to be opened

flags

The file open mode which is one of r, n, c or w, for read-only, new (implies read-write, and most likely will truncate an already-existing database of the same name), create (implies read-write, and will not truncate an already-existing database of the same name) and read-write respectively.

반환값

Returns an identifier to be passed to the other DBM functions on success, or FALSE on failure.

주의

참고: If NDBM support is used, NDBM will actually create filename.dir and filename.pag files. GDBM only uses one file, as does the internal flat-file support, and Berkeley DB creates a filename.db file.

Note that PHP does its own file locking in addition to any file locking that may be done by the DBM library itself. PHP does not delete the .lck files it creates. It uses these files simply as fixed inodes on which to do the file locking. For more information on DBM files, see your Unix man pages, or obtain » GNU's GDBM.

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

참고

dbmclose()

이전 | 위로 | 다음
dbmnextkey | 처음으로 | dbmreplace


dbmreplace

(PHP 4)

dbmreplace -- Replaces the value for a key in a DBM database

설명

int dbmreplace ( resource $dbm_identifier, string $key, string $value )

Replaces the value for the specified key in the database.

This will also add the key to the database if it didn't already exist.

매개변수

dbm_identifier

dbmopen()이 반환한 DBM 연결 식별자입니다.

key

The replaced key

value

The new value

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

dbminsert()

이전 | 위로 | 다음
dbmopen | 처음으로 | XXVIII. dbx Functions


dbx Functions

이전 VI. 함수 레퍼런스 다음

XXVIII. dbx Functions

소개

The dbx module is a database abstraction layer (db 'X', where 'X' is a supported database). The dbx functions allow you to access all supported databases using a single calling convention. The dbx-functions themselves do not interface directly to the databases, but interface to the modules that are used to support these databases.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

요구 조건

To be able to use a database with the dbx-module, the module must be either linked or loaded into PHP, and the database module must be supported by the dbx-module. Currently, the following databases are supported, but others will follow:

  • FrontBase (available from PHP 4.1.0).
  • Microsoft SQL Server
  • MySQL
  • ODBC
  • PostgreSQL
  • Sybase-CT (available from PHP 4.2.0).
  • Oracle (oci8) (available from PHP 4.3.0).
  • SQLite (PHP 5).

Documentation for adding additional database support to dbx can be found at » http://www.guidance.nl/php/dbx/doc/.

설치

In order to have these functions available, you must compile PHP with dbx support by using the --enable-dbx option and all options for the databases that will be used, e.g. for MySQL you must also specify --with-mysql=[DIR]. To get other supported databases to work with the dbx-module refer to their specific documentation.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 49. DBX Configuration Options

Name | Default | Changeable | Changelog
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Available since PHP 4.3.0. Removed in PHP 5.1.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

dbx.colnames_case string

Columns names can be returned "unchanged" or converted to "uppercase" or "lowercase". This directive can be overridden with a flag to dbx_query().

자원형

There are two resource types used in the dbx module. The first one is the link-object for a database connection, the second a result-object which holds the result of a query.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

DBX_MYSQL (integer)
DBX_ODBC (integer)
DBX_PGSQL (integer)
DBX_MSSQL (integer)
DBX_FBSQL (integer)
DBX_OCI8 (integer) (available from PHP 4.3.0)
DBX_SYBASECT (integer)
DBX_SQLITE (integer) (PHP 5)
DBX_PERSISTENT (integer)
DBX_RESULT_INFO (integer)
DBX_RESULT_INDEX (integer)
DBX_RESULT_ASSOC (integer)
DBX_RESULT_UNBUFFERED (integer) (PHP 5)
DBX_COLNAMES_UNCHANGED (integer) (available from PHP 4.3.0)
DBX_COLNAMES_UPPERCASE (integer) (available from PHP 4.3.0)
DBX_COLNAMES_LOWERCASE (integer) (available from PHP 4.3.0)
DBX_CMP_NATIVE (integer)
DBX_CMP_TEXT (integer)
DBX_CMP_NUMBER (integer)
DBX_CMP_ASC (integer)
DBX_CMP_DESC (integer)

차례

dbx_close -- Close an open connection/database
dbx_compare -- Compare two rows for sorting purposes
dbx_connect -- Open a connection/database
dbx_error -- Report the error message of the latest function call in the module
dbx_escape_string -- Escape a string so it can safely be used in an sql-statement
dbx_fetch_row -- Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set
dbx_query -- Send a query and fetch all results (if any)
dbx_sort -- Sort a result from a dbx_query by a custom sort function
이전 | 위로 | 다음
dbmreplace | 처음으로 | dbx_close


dbx_close

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx:1.1.0)

dbx_close -- Close an open connection/database

설명

int dbx_close ( object $link_identifier )

매개변수

link_identifier

The DBX link object to close.

반환값

Returns 1 on success and 0 on errors.

예제

예 419. dbx_close() example

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

echo "Connected successfully";
dbx_close($link);
?>

주의

참고: Always refer to the module-specific documentation as well.

참고

dbx_connect()

이전 | 위로 | 다음
XXVIII. dbx Functions | 처음으로 | dbx_compare


dbx_compare

(PHP 4 >= 4.0.7, PHP 5 <= 5.0.5, PECL dbx:1.1.0)

dbx_compare -- Compare two rows for sorting purposes

설명

int dbx_compare ( array $row_a, array $row_b, string $column_key [, int $flags] )

dbx_compare() is a helper function for dbx_sort() to ease the make and use of the custom sorting function.

매개변수

row_a

First row

row_b

Second row

column_key

The compared column

flags

The flags can be set to specify comparison direction:

  • DBX_CMP_ASC - ascending order
  • DBX_CMP_DESC - descending order

and the preferred comparison type:

  • DBX_CMP_NATIVE - no type conversion
  • DBX_CMP_TEXT - compare items as strings
  • DBX_CMP_NUMBER - compare items numerically

One of the direction and one of the type constant can be combined with bitwise OR operator (|). The default value for the flags parameter is DBX_CMP_ASC | DBX_CMP_NATIVE.

반환값

Returns 0 if the row_a[$column_key] is equal to row_b[$column_key], and 1 or -1 if the former is greater or is smaller than the latter one, respectively, or vice versa if the flag is set to DBX_CMP_DESC.

예제

예 420. dbx_compare() example

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, "SELECT id, parentid, description FROM table ORDER BY id");
    // data in $result is now ordered by id

dbx_sort($result, "user_re_order");
    // date in $result is now ordered by parentid (descending), then by id

dbx_close($link);
?>

참고

dbx_sort()

이전 | 위로 | 다음
dbx_close | 처음으로 | dbx_connect


dbx_connect

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx:1.1.0)

dbx_connect -- Open a connection/database

설명

object dbx_connect ( mixed $module, string $host, string $database, string $username, string $password [, int $persistent] )

Opens a connection to a database.

매개변수

module

The module parameter can be either a string or a constant, though the latter form is preferred. The possible values are given below, but keep in mind that they only work if the module is actually loaded.

  • DBX_MYSQL or "mysql"
  • DBX_ODBC or "odbc"
  • DBX_PGSQL or "pgsql"
  • DBX_MSSQL or "mssql"
  • DBX_FBSQL or "fbsql" (available from PHP 4.1.0)
  • DBX_SYBASECT or "sybase_ct" (available from PHP 4.2.0)
  • DBX_OCI8 or "oci8" (available from PHP 4.3.0)
  • DBX_SQLITE or "sqlite" (PHP 5)

host

The SQL server host

database

The database name

username

The username

password

The password

persistent

The persistent parameter can be set to DBX_PERSISTENT, if so, a persistent connection will be created.

The host, database, username and password parameters are expected, but not always used depending on the connect functions for the abstracted module.

반환값

Returns an object on success, FALSE on error. If a connection has been made but the database could not be selected, the connection is closed and FALSE is returned.

The returned object has three properties:

database
It is the name of the currently selected database.
handle

It is a valid handle for the connected database, and as such it can be used in module-specific functions (if required).

<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password");
mysql_close($link->handle); // dbx_close($link) would be better here
?>

module
It is used internally by dbx only, and is actually the module number mentioned above.

예제

예 421. dbx_connect() example

<?php
$link = dbx_connect(DBX_ODBC, "", "db", "username", "password", DBX_PERSISTENT)
    or die("Could not connect");

echo "Connected successfully";
dbx_close($link);
?>

주의

참고: Always refer to the module-specific documentation as well.

참고

dbx_close()

이전 | 위로 | 다음
dbx_compare | 처음으로 | dbx_error


dbx_error

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx:1.1.0)

dbx_error -- Report the error message of the latest function call in the module

설명

string dbx_error ( object $link_identifier )

dbx_error() returns the last error message.

매개변수

link_identifier

The DBX link object returned by dbx_connect()

반환값

Returns a string containing the error message from the last function call of the abstracted module (e.g. mysql module). If there are multiple connections in the same module, just the last error is given. If there are connections on different modules, the latest error is returned for the module specified by the link_identifier parameter.

예제

예 422. dbx_error() example

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, "select id from non_existing_table");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

주의

참고: Always refer to the module-specific documentation as well.

The error message for Microsoft SQL Server is actually the result of the mssql_get_last_message() function.

The error message for Oracle (oci8) is not implemented yet.

이전 | 위로 | 다음
dbx_connect | 처음으로 | dbx_escape_string


dbx_escape_string

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5, PECL dbx:1.1.0)

dbx_escape_string -- Escape a string so it can safely be used in an sql-statement

설명

string dbx_escape_string ( object $link_identifier, string $text )

Escape the given string so that it can safely be used in an sql-statement.

매개변수

link_identifier

The DBX link object returned by dbx_connect()

text

The string to escape.

반환값

Returns the text, escaped where necessary (such as quotes, backslashes etc). On error, NULL is returned.

예제

예 423. dbx_escape_string() example

<?php
$link   = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password")
    or die("Could not connect");

$text = dbx_escape_string($link, "It\'s quoted and backslashed (\\).");
$result = dbx_query($link, "insert into tbl (txt) values ('" . $text . "')");
if ($result == 0) {
    echo dbx_error($link);
}
dbx_close($link);
?>

참고

dbx_query()

이전 | 위로 | 다음
dbx_error | 처음으로 | dbx_fetch_row


dbx_fetch_row

(PHP 5 <= 5.0.5, PECL dbx:1.1.0)

dbx_fetch_row -- Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set

설명

mixed dbx_fetch_row ( object $result_identifier )

dbx_fetch_row() fetches rows from a result identifier that had the DBX_RESULT_UNBUFFERED flag set.

When the DBX_RESULT_UNBUFFERED is not set in the query, dbx_fetch_row() will fail as all rows have already been fetched into the results data property.

As a side effect, the rows property of the query-result object is incremented for each successful call to dbx_fetch_row().

매개변수

result_identifier

A result set returned by dbx_query().

반환값

Returns an object on success that contains the same information as any row would have in the dbx_query() result data property, including columns accessible by index or fieldname when the flags for dbx_query() were set that way.

Upon failure, returns 0 (e.g. when no more rows are available).

예제

예 424. How to handle the returned value

<?php
$result = dbx_query($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($row = dbx_fetch_row($result)) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

참고

dbx_query()

이전 | 위로 | 다음
dbx_escape_string | 처음으로 | dbx_query


dbx_query

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx:1.1.0)

dbx_query -- Send a query and fetch all results (if any)

설명

mixed dbx_query ( object $link_identifier, string $sql_statement [, int $flags] )

Sends a query and fetch all results.

매개변수

link_identifier

The DBX link object returned by dbx_connect()

sql_statement

SQL statement.

flags

The flags parameter is used to control the amount of information that is returned. It may be any combination of the following constants with the bitwise OR operator (|). The DBX_COLNAMES_* flags override the dbx.colnames_case setting from php.ini.

DBX_RESULT_INDEX

It is always set, that is, the returned object has a data property which is a 2 dimensional array indexed numerically. For example, in the expression data[2][3] 2 stands for the row (or record) number and 3 stands for the column (or field) number. The first row and column are indexed at 0.

If DBX_RESULT_ASSOC is also specified, the returning object contains the information related to DBX_RESULT_INFO too, even if it was not specified.

DBX_RESULT_INFO
It provides info about columns, such as field names and field types.
DBX_RESULT_ASSOC

It effects that the field values can be accessed with the respective column names used as keys to the returned object's data property.

Associated results are actually references to the numerically indexed data, so modifying data[0][0] causes that data[0]['field_name_for_first_column'] is modified as well.

DBX_RESULT_UNBUFFERED (PHP 5)

This flag will not create the data property, and the rows property will initially be 0. Use this flag for large datasets, and use dbx_fetch_row() to retrieve the results row by row.

The dbx_fetch_row() function will return rows that are conformant to the flags set with this query. Incidentally, it will also update the rows each time it is called.

DBX_COLNAMES_UNCHANGED (available from PHP 4.3.0)
The case of the returned column names will not be changed.
DBX_COLNAMES_UPPERCASE (available from PHP 4.3.0)
The case of the returned column names will be changed to uppercase.
DBX_COLNAMES_LOWERCASE (available from PHP 4.3.0)
The case of the returned column names will be changed to lowercase.

Note that DBX_RESULT_INDEX is always used, regardless of the actual value of flags parameter. This means that only the following combinations are effective:

  • DBX_RESULT_INDEX
  • DBX_RESULT_INDEX | DBX_RESULT_INFO
  • DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC - this is the default, if flags is not specified.

반환값

dbx_query() returns an object or 1 on success, and 0 on failure. The result object is returned only if the query given in sql_statement produces a result set (i.e. a SELECT query, even if the result set is empty).

The returned object has four or five properties depending on flags:

handle

It is a valid handle for the connected database, and as such it can be used in module specific functions (if required).

<?php
$result = dbx_query($link, "SELECT id FROM table");
mysql_field_len($result->handle, 0);
?>

cols and rows

These contain the number of columns (or fields) and rows (or records) respectively.

<?php
$result = dbx_query($link, 'SELECT id FROM table');
echo $result->rows; // number of records
echo $result->cols; // number of fields
?>

info (optional)

It is returned only if either DBX_RESULT_INFO or DBX_RESULT_ASSOC is specified in the flags parameter. It is a 2 dimensional array, that has two named rows (name and type) to retrieve column information.

예 425. lists each field's name and type

<?php
$result = dbx_query($link, 'SELECT id FROM table',
                     DBX_RESULT_INDEX | DBX_RESULT_INFO);

for ($i = 0; $i < $result->cols; $i++ ) {
    echo $result->info['name'][$i] . "\n";
    echo $result->info['type'][$i] . "\n";
}
?>

data

This property contains the actual resulting data, possibly associated with column names as well depending on flags. If DBX_RESULT_ASSOC is set, it is possible to use $result->data[2]["field_name"].

예 426. outputs the content of data property into HTML table

<?php
$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

echo "<table>\n";
foreach ($result->data as $row) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>

예 427. How to handle UNBUFFERED queries

<?php

$result = dbx_query ($link, 'SELECT id, parentid, description FROM table', DBX_RESULT_UNBUFFERED);

echo "<table>\n";
while ($row = dbx_fetch_row($result)) {
    echo "<tr>\n";
    foreach ($row as $field) {
        echo "<td>$field</td>";
    }
    echo "</tr>\n";
}
echo "</table>\n";

?>

예제

예 428. How to handle the returned value

<?php
$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, 'SELECT id, parentid, description FROM table');

if (is_object($result) ) {
    // ... do some stuff here, see detailed examples below ...
    // first, print out field names and types
    // then, draw a table filled with the returned field values
} else {
    exit("Query failed");
}

dbx_close($link);
?>

주의

참고: Always refer to the module-specific documentation as well.

Column names for queries on an Oracle database are returned in lowercase.

참고

dbx_escape_string()
dbx_fetch_row()
dbx_connect()

이전 | 위로 | 다음
dbx_fetch_row | 처음으로 | dbx_sort


dbx_sort

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx:1.1.0)

dbx_sort -- Sort a result from a dbx_query by a custom sort function

설명

bool dbx_sort ( object $result, string $user_compare_function )

Sort a result from a dbx_query() call with a custom sort function.

매개변수

result

A result set returned by dbx_query().

user_compare_function

The user-defined comparison function. It must accept two arguments and return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 429. dbx_sort() example

<?php
function user_re_order($a, $b)
{
    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
    if (!$rv) {
        $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die("Could not connect");

$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
    // data in $result is now ordered by id

dbx_sort($result, "user_re_order");
    // data in $result is now ordered by parentid (descending), then by id

dbx_close($link);
?>

주의

참고: It is always better to use ORDER BY SQL clause instead of dbx_sort() if possible.

참고

dbx_compare()

이전 | 위로 | 다음
dbx_query | 처음으로 | XXIX. Direct IO Functions


DB++ Functions

이전 VI. 함수 레퍼런스 다음

XXIV. DB++ Functions

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

소개

db++, made by the German company » Concept asa, is a relational database system with high performance and low memory and disk usage in mind. While providing SQL as an additional language interface, it is not really a SQL database in the first place but provides its own AQL query language which is much more influenced by the relational algebra than SQL is.

Concept asa always had an interest in supporting open source languages, db++ has had Perl and Tcl call interfaces for years now and uses Tcl as its internal stored procedure language.

요구 조건

This extension relies on external client libraries so you have to have a db++ client installed on the system you want to use this extension on.

» Concept asa provides » db++ Demo versions and » documentation for Linux, some other Unix versions. There is also a Windows version of db++, but this extension doesn't support it (yet).

설치

In order to build this extension yourself you need the db++ client libraries and header files to be installed on your system (these are included in the db++ installation archives by default). You have to run configure with option --with-dbplus to build this extension.

configure looks for the client libraries and header files under the default paths /usr/dbplus, /usr/local/dbplus and /opt/dblus. If you have installed db++ in a different place you have add the installation path to the configure option like this: --with-dbplus=/your/installation/path.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

dbplus_relation

Most db++ functions operate on or return dbplus_relation resources. A dbplus_relation is a handle to a stored relation or a relation generated as the result of a query.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

db++ error codes

표 44. DB++ Error Codes

PHP Constant | db++ constant | meaning
DBPLUS_ERR_NOERR (integer) | ERR_NOERR | Null error condition
DBPLUS_ERR_DUPLICATE (integer) | ERR_DUPLICATE | Tried to insert a duplicate tuple
DBPLUS_ERR_EOSCAN (integer) | ERR_EOSCAN | End of scan from rget()
DBPLUS_ERR_EMPTY (integer) | ERR_EMPTY | Relation is empty (server)
DBPLUS_ERR_CLOSE (integer) | ERR_CLOSE | The server can't close
DBPLUS_ERR_WLOCKED (integer) | ERR_WLOCKED | The record is write locked
DBPLUS_ERR_LOCKED (integer) | ERR_LOCKED | Relation was already locked
DBPLUS_ERR_NOLOCK (integer) | ERR_NOLOCK | Relation cannot be locked
DBPLUS_ERR_READ (integer) | ERR_READ | Read error on relation
DBPLUS_ERR_WRITE (integer) | ERR_WRITE | Write error on relation
DBPLUS_ERR_CREATE (integer) | ERR_CREATE | Create() system call failed
DBPLUS_ERR_LSEEK (integer) | ERR_LSEEK | Lseek() system call failed
DBPLUS_ERR_LENGTH (integer) | ERR_LENGTH | Tuple exceeds maximum length
DBPLUS_ERR_OPEN (integer) | ERR_OPEN | Open() system call failed
DBPLUS_ERR_WOPEN (integer) | ERR_WOPEN | Relation already opened for writing
DBPLUS_ERR_MAGIC (integer) | ERR_MAGIC | File is not a relation
DBPLUS_ERR_VERSION (integer) | ERR_VERSION | File is a very old relation
DBPLUS_ERR_PGSIZE (integer) | ERR_PGSIZE | Relation uses a different page size
DBPLUS_ERR_CRC (integer) | ERR_CRC | Invalid crc in the superpage
DBPLUS_ERR_PIPE (integer) | ERR_PIPE | Piped relation requires lseek()
DBPLUS_ERR_NIDX (integer) | ERR_NIDX | Too many secondary indices
DBPLUS_ERR_MALLOC (integer) | ERR_MALLOC | Malloc() call failed
DBPLUS_ERR_NUSERS (integer) | ERR_NUSERS | Error use of max users
DBPLUS_ERR_PREEXIT (integer) | ERR_PREEXIT | Caused by invalid usage
DBPLUS_ERR_ONTRAP (integer) | ERR_ONTRAP | Caused by a signal
DBPLUS_ERR_PREPROC (integer) | ERR_PREPROC | Error in the preprocessor
DBPLUS_ERR_DBPARSE (integer) | ERR_DBPARSE | Error in the parser
DBPLUS_ERR_DBRUNERR (integer) | ERR_DBRUNERR | Run error in db
DBPLUS_ERR_DBPREEXIT (integer) | ERR_DBPREEXIT | Exit condition caused by prexit() * procedure
DBPLUS_ERR_WAIT (integer) | ERR_WAIT | Wait a little (Simple only)
DBPLUS_ERR_CORRUPT_TUPLE (integer) | ERR_CORRUPT_TUPLE | A client sent a corrupt tuple
DBPLUS_ERR_WARNING0 (integer) | ERR_WARNING0 | The Simple routines encountered a non fatal error which was corrected
DBPLUS_ERR_PANIC (integer) | ERR_PANIC | The server should not really die but after a disaster send ERR_PANIC to all its clients
DBPLUS_ERR_FIFO (integer) | ERR_FIFO | Can't create a fifo
DBPLUS_ERR_PERM (integer) | ERR_PERM | Permission denied
DBPLUS_ERR_TCL (integer) | ERR_TCL | TCL_error
DBPLUS_ERR_RESTRICTED (integer) | ERR_RESTRICTED | Only two users
DBPLUS_ERR_USER (integer) | ERR_USER | An error in the use of the library by an application programmer
DBPLUS_ERR_UNKNOWN (integer) | ERR_UNKNOWN |

차례

dbplus_add -- Add a tuple to a relation
dbplus_aql -- Perform AQL query
dbplus_chdir -- Get/Set database virtual current directory
dbplus_close -- Close a relation
dbplus_curr -- Get current tuple from relation
dbplus_errcode -- Get error string for given errorcode or last error
dbplus_errno -- Get error code for last operation
dbplus_find -- Set a constraint on a relation
dbplus_first -- Get first tuple from relation
dbplus_flush -- Flush all changes made on a relation
dbplus_freealllocks -- Free all locks held by this client
dbplus_freelock -- Release write lock on tuple
dbplus_freerlocks -- Free all tuple locks on given relation
dbplus_getlock -- Get a write lock on a tuple
dbplus_getunique -- Get an id number unique to a relation
dbplus_info -- Get information about a relation
dbplus_last -- Get last tuple from relation
dbplus_lockrel -- Request write lock on relation
dbplus_next -- Get next tuple from relation
dbplus_open -- Open relation file
dbplus_prev -- Get previous tuple from relation
dbplus_rchperm -- Change relation permissions
dbplus_rcreate -- Creates a new DB++ relation
dbplus_rcrtexact -- Creates an exact but empty copy of a relation including indices
dbplus_rcrtlike -- Creates an empty copy of a relation with default indices
dbplus_resolve -- Resolve host information for relation
dbplus_restorepos -- Restore position
dbplus_rkeys -- Specify new primary key for a relation
dbplus_ropen -- Open relation file local
dbplus_rquery -- Perform local (raw) AQL query
dbplus_rrename -- Rename a relation
dbplus_rsecindex -- Create a new secondary index for a relation
dbplus_runlink -- Remove relation from filesystem
dbplus_rzap -- Remove all tuples from relation
dbplus_savepos -- Save position
dbplus_setindex -- Set index
dbplus_setindexbynumber -- Set index by number
dbplus_sql -- Perform SQL query
dbplus_tcl -- Execute TCL code on server side
dbplus_tremove -- Remove tuple and return new current tuple
dbplus_undo -- Undo
dbplus_undoprepare -- Prepare undo
dbplus_unlockrel -- Give up write lock on relation
dbplus_unselect -- Remove a constraint from relation
dbplus_update -- Update specified tuple in relation
dbplus_xlockrel -- Request exclusive lock on relation
dbplus_xunlockrel -- Free exclusive lock on relation
이전 | 위로 | 다음
timezone_transitions_get | 처음으로 | dbplus_add


dbplus_add

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_add -- Add a tuple to a relation

설명

int dbplus_add ( resource $relation, array $tuple )

Adds a tuple to a relation.

매개변수

relation

tuple

An array of attribute/value pairs to be inserted into the given relation.

After successful execution this array will contain the complete data of the newly created tuple, including all implicitly set domain fields like sequences.

반환값

The function will return DBPLUS_ERR_NOERR on success or a db++ error code on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_errcode()

이전 | 위로 | 다음
XXIV. DB++ Functions | 처음으로 | dbplus_aql


dbplus_aql

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_aql -- Perform AQL query

설명

resource dbplus_aql ( string $query [, string $server [, string $dbpath]] )

Executes an AQL query on the given server and dbpath.

매개변수

query

The AQL query to be executed. Further information on the AQL A... Query Language is provided in the original db++ manual.

server

dbpath

반환값

Returns a relation handle on success. The result data may be fetched from this relation by calling dbplus_next() and dbplus_current(). Other relation access functions will not work on a result relation.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_add | 처음으로 | dbplus_chdir


dbplus_chdir

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_chdir -- Get/Set database virtual current directory

설명

string dbplus_chdir ( [string $newdir] )

Changes the virtual current directory where relation files will be looked for by dbplus_open().

매개변수

newdir

The new directory for relation files. You can omit this parameter to query the current working directory.

반환값

Returns the absolute path of the current directory.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_aql | 처음으로 | dbplus_close


dbplus_close

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_close -- Close a relation

설명

mixed dbplus_close ( resource $relation )

Closes a relation previously opened by dbplus_open().

매개변수

relation

A relation opened by dbplus_open().

반환값

Returns TRUE on success or DBPLUS_ERR_UNKNOWN on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_chdir | 처음으로 | dbplus_curr


dbplus_curr

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_curr -- Get current tuple from relation

설명

int dbplus_curr ( resource $relation, array &$tuple )

Reads the data for the current tuple for the given relation.

매개변수

relation

A relation opened by dbplus_open().

tuple

The data will be passed back in this parameter, as an associative array.

반환값

The function will return zero (aka. DBPLUS_ERR_NOERR) on success or a db++ error code on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_first()
dbplus_prev()
dbplus_next()
dbplus_last()
dbplus_errcode()

이전 | 위로 | 다음
dbplus_close | 처음으로 | dbplus_errcode


dbplus_errcode

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_errcode -- Get error string for given errorcode or last error

설명

string dbplus_errcode ( [int $errno] )

Returns a clear error string for the given error code.

매개변수

errno

The error code. If not provided, the result code of the last db++ operation is assumed.

반환값

Returns the error message.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_curr | 처음으로 | dbplus_errno


dbplus_errno

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_errno -- Get error code for last operation

설명

int dbplus_errno ( void )

Returns the error code returned by the last db++ operation.

반환값

Returns the error code, as an integer.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_errcode()

이전 | 위로 | 다음
dbplus_errcode | 처음으로 | dbplus_find


dbplus_find

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_find -- Set a constraint on a relation

설명

int dbplus_find ( resource $relation, array $constraints, mixed $tuple )

Places a constraint on the given relation.

Further calls to functions like dbplus_curr() or dbplus_next() will only return tuples matching the given constraints.

매개변수

relation

A relation opened by dbplus_open().

constraints

Constraints are triplets of strings containing of a domain name, a comparison operator and a comparison value. The constraints parameter array may consist of a collection of string arrays, each of which contains a domain, an operator and a value, or of a single string array containing a multiple of three elements.

The comparison operator may be one of the following strings: '==', '>', '>=', '<', '<=', '!=', '~' for a regular expression match and 'BAND' or 'BOR' for bitwise operations.

tuple

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_unselect()

이전 | 위로 | 다음
dbplus_errno | 처음으로 | dbplus_first


dbplus_first

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_first -- Get first tuple from relation

설명

int dbplus_first ( resource $relation, array &$tuple )

Reads the data for the first tuple for the given relation, makes it the current tuple and pass it back as an associative array in tuple.

매개변수

relation

A relation opened by dbplus_open().

tuple

반환값

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_curr()
dbplus_prev()
dbplus_next()
dbplus_last()
dbplus_errcode()

이전 | 위로 | 다음
dbplus_find | 처음으로 | dbplus_flush


dbplus_flush

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_flush -- Flush all changes made on a relation

설명

int dbplus_flush ( resource $relation )

Writes all changes applied to relation since the last flush to disk.

매개변수

relation

A relation opened by dbplus_open().

반환값

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_errcode()

이전 | 위로 | 다음
dbplus_first | 처음으로 | dbplus_freealllocks


dbplus_freealllocks

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_freealllocks -- Free all locks held by this client

설명

int dbplus_freealllocks ( void )

Frees all tuple locks held by this client.

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_getlock()
dbplus_freelock()
dbplus_freerlocks()

이전 | 위로 | 다음
dbplus_flush | 처음으로 | dbplus_freelock


dbplus_freelock

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_freelock -- Release write lock on tuple

설명

int dbplus_freelock ( resource $relation, string $tuple )

Releases a write lock on the given tuple previously obtained by dbplus_getlock().

매개변수

relation

A relation opened by dbplus_open().

tuple

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_getlock()
dbplus_freerlocks()
dbplus_freealllocks()

이전 | 위로 | 다음
dbplus_freealllocks | 처음으로 | dbplus_freerlocks


dbplus_freerlocks

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_freerlocks -- Free all tuple locks on given relation

설명

int dbplus_freerlocks ( resource $relation )

Frees all tuple locks held on the given relation.

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_getlock()
dbplus_freelock()
dbplus_freealllocks()

이전 | 위로 | 다음
dbplus_freelock | 처음으로 | dbplus_getlock


dbplus_getlock

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_getlock -- Get a write lock on a tuple

설명

int dbplus_getlock ( resource $relation, string $tuple )

Requests a write lock on the specified tuple.

매개변수

relation

A relation opened by dbplus_open().

tuple

반환값

Returns zero on success or a non-zero error code, especially DBPLUS_ERR_WLOCKED on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_freelock()
dbplus_freerlocks()
dbplus_freealllocks()

이전 | 위로 | 다음
dbplus_freerlocks | 처음으로 | dbplus_getunique


dbplus_getunique

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_getunique -- Get an id number unique to a relation

설명

int dbplus_getunique ( resource $relation, int $uniqueid )

Obtains a number guaranteed to be unique for the given relation and will pass it back in the variable given as uniqueid.

매개변수

relation

A relation opened by dbplus_open().

uniqueid

반환값

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_getlock | 처음으로 | dbplus_info


dbplus_info

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_info -- Get information about a relation

설명

int dbplus_info ( resource $relation, string $key, array &$result )
주의

This function is currently not documented; only the argument list is available.

매개변수

relation

A relation opened by dbplus_open().

key

result

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_getunique | 처음으로 | dbplus_last


dbplus_last

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_last -- Get last tuple from relation

설명

int dbplus_last ( resource $relation, array &$tuple )

Reads the data for the last tuple for the given relation, makes it the current tuple and pass it back as an associative array in tuple.

매개변수

relation

A relation opened by dbplus_open().

tuple

반환값

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_first()
dbplus_curr()
dbplus_prev()
dbplus_next()

이전 | 위로 | 다음
dbplus_info | 처음으로 | dbplus_lockrel


dbplus_lockrel

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_lockrel -- Request write lock on relation

설명

int dbplus_lockrel ( resource $relation )

Requests a write lock on the given relation.

Other clients may still query the relation, but can't alter it while it is locked.

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_last | 처음으로 | dbplus_next


dbplus_next

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_next -- Get next tuple from relation

설명

int dbplus_next ( resource $relation, array &$tuple )

Reads the data for the next tuple for the given relation, makes it the current tuple and will pass it back as an associative array in tuple.

매개변수

relation

A relation opened by dbplus_open().

tuple

반환값

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_first()
dbplus_curr()
dbplus_prev()
dbplus_last()

이전 | 위로 | 다음
dbplus_lockrel | 처음으로 | dbplus_open


dbplus_open

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_open -- Open relation file

설명

resource dbplus_open ( string $name )

Opens the given relation file.

매개변수

name

Can be either a file name or a relative or absolute path name. This will be mapped in any case to an absolute relation file path on a specific host machine and server.

반환값

On success a relation file resource (cursor) is returned which must be used in any subsequent commands referencing the relation. Failure leads to a zero return value, the actual error code may be asked for by calling dbplus_errno().

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_next | 처음으로 | dbplus_prev


dbplus_prev

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_prev -- Get previous tuple from relation

설명

int dbplus_prev ( resource $relation, array &$tuple )

Reads the data for the previous tuple for the given relation, makes it the current tuple and will pass it back as an associative array in tuple.

매개변수

relation

A relation opened by dbplus_open().

tuple

반환값

Returns DBPLUS_ERR_NOERR on success or a db++ error code on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_first()
dbplus_curr()
dbplus_next()
dbplus_last()

이전 | 위로 | 다음
dbplus_open | 처음으로 | dbplus_rchperm


dbplus_rchperm

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_rchperm -- Change relation permissions

설명

int dbplus_rchperm ( resource $relation, int $mask, string $user, string $group )

Changes access permissions as specified by mask, user and group. The values for these are operating system specific.

매개변수

relation

A relation opened by dbplus_open().

mask

user

group

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_prev | 처음으로 | dbplus_rcreate


dbplus_rcreate

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_rcreate -- Creates a new DB++ relation

설명

resource dbplus_rcreate ( string $name, mixed $domlist [, bool $overwrite] )

Creates a new relation. Any existing relation sharing the same name will be overwritten if the relation is currently not in use and overwrite is set to TRUE.

매개변수

name

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

This parameter should contain the domain specification for the new relation within an array of domain description strings. A domain description string consists of a domain name unique to this relation, a slash and a type specification character. See the db++ documentation, especially the dbcreate(1) manpage, for a description of available type specifiers and their meanings.

참고: This function will also accept a string with space delimited domain description strings, but it is recommended to use an array

overwrite

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_rchperm | 처음으로 | dbplus_rcrtexact


dbplus_rcrtexact

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_rcrtexact -- Creates an exact but empty copy of a relation including indices

설명

mixed dbplus_rcrtexact ( string $name, resource $relation [, bool $overwrite] )

dbplus_rcrtexact() will create an exact but empty copy of the given relation under a new name.

매개변수

name

relation

The copied relation, opened by dbplus_open().

overwrite

An existing relation by the same name will only be overwritten if this parameter is set to TRUE and no other process is currently using the relation.

반환값

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_rcreate | 처음으로 | dbplus_rcrtlike


dbplus_rcrtlike

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_rcrtlike -- Creates an empty copy of a relation with default indices

설명

mixed dbplus_rcrtlike ( string $name, resource $relation [, int $overwrite] )

dbplus_rcrtexact() will create an empty copy of the given relation under a new name, but with default indices.

매개변수

name

relation

The copied relation, opened by dbplus_open().

overwrite

An existing relation by the same name will only be overwritten if this parameter is set to TRUE and no other process is currently using the relation.

반환값

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_rcrtexact | 처음으로 | dbplus_resolve


dbplus_resolve

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_resolve -- Resolve host information for relation

설명

array dbplus_resolve ( string $relation_name )

dbplus_resolve() will try to resolve the given relation_name and find out internal server id, real hostname and the database path on this host.

매개변수

relation_name

The relation name.

반환값

Returns an array containing these values under the keys sid, host and host_path or FALSE on error.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_tcl()

이전 | 위로 | 다음
dbplus_rcrtlike | 처음으로 | dbplus_restorepos


dbplus_restorepos

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_restorepos -- Restore position

설명

int dbplus_restorepos ( resource $relation, array $tuple )
주의

This function is currently not documented; only the argument list is available.

매개변수

relation

A relation opened by dbplus_open().

tuple

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_resolve | 처음으로 | dbplus_rkeys


dbplus_rkeys

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_rkeys -- Specify new primary key for a relation

설명

mixed dbplus_rkeys ( resource $relation, mixed $domlist )

dbplus_rkeys() will replace the current primary key for relation with the combination of domains specified by domlist.

매개변수

relation

A relation opened by dbplus_open().

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

반환값

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_restorepos | 처음으로 | dbplus_ropen


dbplus_ropen

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_ropen -- Open relation file local

설명

resource dbplus_ropen ( string $name )

dbplus_ropen() will open the relation file locally for quick access without any client/server overhead. Access is read only and only dbplus_current() and dbplus_next() may be applied to the returned relation.

매개변수

name

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_rkeys | 처음으로 | dbplus_rquery


dbplus_rquery

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_rquery -- Perform local (raw) AQL query

설명

resource dbplus_rquery ( string $query [, string $dbpath] )

dbplus_rquery() performs a local (raw) AQL query using an AQL interpreter embedded into the db++ client library. dbplus_rquery() is faster than dbplus_aql() but will work on local data only.

매개변수

query

dbpath

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_ropen | 처음으로 | dbplus_rrename


dbplus_rrename

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_rrename -- Rename a relation

설명

int dbplus_rrename ( resource $relation, string $name )

dbplus_rrename() will change the name of relation to name.

매개변수

relation

A relation opened by dbplus_open().

name

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_rquery | 처음으로 | dbplus_rsecindex


dbplus_rsecindex

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_rsecindex -- Create a new secondary index for a relation

설명

mixed dbplus_rsecindex ( resource $relation, mixed $domlist, int $type )

dbplus_rsecindex() will create a new secondary index for relation with consists of the domains specified by domlist and is of type type

매개변수

relation

A relation opened by dbplus_open().

domlist

A combination of domains. May be passed as a single domain name string or as an array of domain names.

type

반환값

Returns resource on success or DBPLUS_ERR_UNKNOWN on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_rrename | 처음으로 | dbplus_runlink


dbplus_runlink

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_runlink -- Remove relation from filesystem

설명

int dbplus_runlink ( resource $relation )

dbplus_unlink() will close and remove the relation.

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_rsecindex | 처음으로 | dbplus_rzap


dbplus_rzap

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_rzap -- Remove all tuples from relation

설명

int dbplus_rzap ( resource $relation )

dbplus_rzap() will remove all tuples from relation.

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_runlink | 처음으로 | dbplus_savepos


dbplus_savepos

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_savepos -- Save position

설명

int dbplus_savepos ( resource $relation )
주의

This function is currently not documented; only the argument list is available.

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_rzap | 처음으로 | dbplus_setindex


dbplus_setindex

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_setindex -- Set index

설명

int dbplus_setindex ( resource $relation, string $idx_name )
주의

This function is currently not documented; only the argument list is available.

매개변수

relation

A relation opened by dbplus_open().

idx_name

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_savepos | 처음으로 | dbplus_setindexbynumber


dbplus_setindexbynumber

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_setindexbynumber -- Set index by number

설명

int dbplus_setindexbynumber ( resource $relation, int $idx_number )
주의

This function is currently not documented; only the argument list is available.

매개변수

relation

A relation opened by dbplus_open().

idx_number

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_setindex | 처음으로 | dbplus_sql


dbplus_sql

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_sql -- Perform SQL query

설명

resource dbplus_sql ( string $query [, string $server [, string $dbpath]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

query

server

dbpath

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_setindexbynumber | 처음으로 | dbplus_tcl


dbplus_tcl

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_tcl -- Execute TCL code on server side

설명

string dbplus_tcl ( int $sid, string $script )

A db++ server will prepare a TCL interpreter for each client connection. This interpreter will enable the server to execute TCL code provided by the client as a sort of stored procedures to improve the performance of database operations by avoiding client/server data transfers and context switches.

dbplus_tcl() needs to pass the client connection id the TCL script code should be executed by. dbplus_resolve() will provide this connection id. The function will return whatever the TCL code returns or a TCL error message if the TCL code fails.

매개변수

sid

script

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_resolve()

이전 | 위로 | 다음
dbplus_sql | 처음으로 | dbplus_tremove


dbplus_tremove

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_tremove -- Remove tuple and return new current tuple

설명

int dbplus_tremove ( resource $relation, array $tuple [, array &$current] )

dbplus_tremove() removes tuple from relation if it perfectly matches a tuple within the relation. current, if given, will contain the data of the new current tuple after calling dbplus_tremove().

매개변수

relation

A relation opened by dbplus_open().

tuple

current

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_tcl | 처음으로 | dbplus_undo


dbplus_undo

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_undo -- Undo

설명

int dbplus_undo ( resource $relation )
주의

This function is currently not documented; only the argument list is available.

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_tremove | 처음으로 | dbplus_undoprepare


dbplus_undoprepare

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_undoprepare -- Prepare undo

설명

int dbplus_undoprepare ( resource $relation )
주의

This function is currently not documented; only the argument list is available.

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_undo | 처음으로 | dbplus_unlockrel


dbplus_unlockrel

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_unlockrel -- Give up write lock on relation

설명

int dbplus_unlockrel ( resource $relation )

Release a write lock previously obtained by dbplus_lockrel().

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_undoprepare | 처음으로 | dbplus_unselect


dbplus_unselect

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_unselect -- Remove a constraint from relation

설명

int dbplus_unselect ( resource $relation )

Calling dbplus_unselect() will remove a constraint previously set by dbplus_find() on relation.

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_unlockrel | 처음으로 | dbplus_update


dbplus_update

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_update -- Update specified tuple in relation

설명

int dbplus_update ( resource $relation, array $old, array $new )

dbplus_update() replaces the old tuple with the data from the new one, only if the old completely matches a tuple within relation.

매개변수

relation

A relation opened by dbplus_open().

old

The old tuple.

new

The new tuple.

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_unselect | 처음으로 | dbplus_xlockrel


dbplus_xlockrel

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_xlockrel -- Request exclusive lock on relation

설명

int dbplus_xlockrel ( resource $relation )

Request an exclusive lock on relation preventing even read access from other clients.

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

dbplus_xunlockrel()

이전 | 위로 | 다음
dbplus_update | 처음으로 | dbplus_xunlockrel


dbplus_xunlockrel

(PHP 4 >= 4.0.7, PECL dbplus:0.9)

dbplus_xunlockrel -- Free exclusive lock on relation

설명

int dbplus_xunlockrel ( resource $relation )

Releases an exclusive lock previously obtained by dbplus_xlockrel().

매개변수

relation

A relation opened by dbplus_open().

반환값

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
dbplus_xlockrel | 처음으로 | XXV. Database (dbm-style) Abstraction Layer Functions


Direct IO Functions

이전 VI. 함수 레퍼런스 다음

XXIX. Direct IO Functions

소개

PHP supports the direct io functions as described in the Posix Standard (Section 6) for performing I/O functions at a lower level than the C-Language stream I/O functions (fopen(), fread(),..). The use of the DIO functions should be considered only when direct control of a device is needed. In all other cases, the standard filesystem functions are more than adequate.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

This extension is only available on Windows Platforms as of PHP 5.0.0

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

To get these functions to work, you have to configure PHP with --enable-dio.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

c (integer)

F_DUPFD (integer)

F_GETFD (integer)

F_GETFL (integer)

F_GETLK (integer)

F_GETOWN (integer)

F_RDLCK (integer)

F_SETFL (integer)

F_SETLK (integer)

F_SETLKW (integer)

F_SETOWN (integer)

F_UNLCK (integer)

F_WRLCK (integer)

O_APPEND (integer)

O_ASYNC (integer)

O_CREAT (integer)

O_EXCL (integer)

O_NDELAY (integer)

O_NOCTTY (integer)

O_NONBLOCK (integer)

O_RDONLY (integer)

O_RDWR (integer)

O_SYNC (integer)

O_TRUNC (integer)

O_WRONLY (integer)

S_IRGRP (integer)

S_IROTH (integer)

S_IRUSR (integer)

S_IRWXG (integer)

S_IRWXO (integer)

S_IRWXU (integer)

S_IWGRP (integer)

S_IWOTH (integer)

S_IWUSR (integer)

S_IXGRP (integer)

S_IXOTH (integer)

S_IXUSR (integer)

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

One resource type is defined by this extension: a file descriptor returned by dio_open().

차례

dio_close -- Closes the file descriptor given by fd
dio_fcntl -- Performs a c library fcntl on fd
dio_open -- Opens a new filename with specified permissions of flags and creation permissions of mode
dio_read -- Reads bytes from a file descriptor
dio_seek -- Seeks to pos on fd from whence
dio_stat -- Gets stat information about the file descriptor fd
dio_tcsetattr -- Sets terminal attributes and baud rate for a serial port
dio_truncate -- Truncates file descriptor fd to offset bytes
dio_write -- Writes data to fd with optional truncation at length
이전 | 위로 | 다음
dbx_sort | 처음으로 | dio_close


dio_close

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_close -- Closes the file descriptor given by fd

설명

void dio_close ( resource $fd )

The function dio_close() closes the file descriptor fd.

매개변수

fd

The file descriptor returned by dio_open().

반환값

값을 반환하지 않습니다.

예제

예 430. Closing an open file descriptor

<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_close($fd);
?>

참고

dio_open()

이전 | 위로 | 다음
XXIX. Direct IO Functions | 처음으로 | dio_fcntl


dio_fcntl

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_fcntl -- Performs a c library fcntl on fd

설명

mixed dio_fcntl ( resource $fd, int $cmd [, mixed $args] )

The dio_fcntl() function performs the operation specified by cmd on the file descriptor fd. Some commands require additional arguments args to be supplied.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

매개변수

fd

The file descriptor returned by dio_open().

cmd

Can be one of the following operations:

  • F_SETLK - Lock is set or cleared. If the lock is held by someone else dio_fcntl() returns -1.

  • F_SETLKW - like F_SETLK, but in case the lock is held by someone else, dio_fcntl() waits until the lock is released.

  • F_GETLK - dio_fcntl() returns an associative array (as described above) if someone else prevents lock. If there is no obstruction key "type" will set to F_UNLCK.

  • F_DUPFD - finds the lowest numbered available file descriptor greater than or equal to args and returns them.

  • F_SETFL - Sets the file descriptors flags to the value specified by args, which can be O_APPEND, O_NONBLOCK or O_ASYNC. To use O_ASYNC you will need to use the PCNTL extension.

args

args is an associative array, when cmd is F_SETLK or F_SETLLW, with the following keys:

  • "start" - offset where lock begins

  • "length" - size of locked area. zero means to end of file

  • "wenth" - Where l_start is relative to: can be SEEK_SET, SEEK_END and SEEK_CUR

  • "type" - type of lock: can be F_RDLCK (read lock), F_WRLCK (write lock) or F_UNLCK (unlock)

반환값

Returns the result of the C call.

예제

예 431. Setting and clearing a lock

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
   // the file descriptor appears locked
   echo "The lock can not be cleared. It is held by someone else.";
} else {
   echo "Lock succesfully set/cleared";
}

dio_close($fd);
?>

이전 | 위로 | 다음
dio_close | 처음으로 | dio_open


dio_open

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_open -- Opens a new filename with specified permissions of flags and creation permissions of mode

설명

resource dio_open ( string $filename, int $flags [, int $mode] )

dio_open() opens a file and returns a new file descriptor for it.

매개변수

filename

The opened file.

flags

The flags parameter can also include any combination of the following flags:

  • O_CREAT - creates the file, if it doesn't already exist.

  • O_EXCL - if both, O_CREAT and O_EXCL are set, dio_open() fails, if the file already exists.

  • O_TRUNC - if the file exists, and its opened for write access, the file will be truncated to zero length.

  • O_APPEND - write operations write data at the end of the file.

  • O_NONBLOCK - sets non blocking mode.

mode

If flags is O_CREAT, mode will set the mode of the file (creation permissions).

  • O_RDONLY - opens the file for read access.

  • O_WRONLY - opens the file for write access.

  • O_RDWR - opens the file for both reading and writing.

반환값

A file descriptor or FALSE on error.

예제

예 432. Opening a file descriptor

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_close($fd);
?>

참고

dio_close()

이전 | 위로 | 다음
dio_fcntl | 처음으로 | dio_read


dio_read

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_read -- Reads bytes from a file descriptor

설명

string dio_read ( resource $fd [, int $len] )

The function dio_read() reads and returns len bytes from file with descriptor fd.

매개변수

fd

The file descriptor returned by dio_open().

len

The number of bytes to read. If not specified, dio_read() reads 1K sized block.

반환값

The bytes read from fd.

참고

dio_write()

이전 | 위로 | 다음
dio_open | 처음으로 | dio_seek


dio_seek

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_seek -- Seeks to pos on fd from whence

설명

int dio_seek ( resource $fd, int $pos [, int $whence] )

The function dio_seek() is used to change the file position of the given file descriptor.

매개변수

fd

The file descriptor returned by dio_open().

pos

The new position.

whence

Specifies how the position pos should be interpreted:

  • SEEK_SET (default) - specifies that pos is specified from the beginning of the file.

  • SEEK_CUR - Specifies that pos is a count of characters from the current file position. This count may be positive or negative.

  • SEEK_END - Specifies that pos is a count of characters from the end of the file. A negative count specifies a position within the current extent of the file; a positive count specifies a position past the current end. If you set the position past the current end, and actually write data, you will extend the file with zeros up to that position.

반환값

예제

예 433. Positioning in a file

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_seek($fd, 10, SEEK_SET);
// position is now at 10 characters from the start of the file

dio_seek($fd, -2, SEEK_CUR);
// position is now at 8 characters from the start of the file

dio_seek($fd, -5, SEEK_END);
// position is now at 5 characters from the end of the file

dio_seek($fd, 10, SEEK_END);
// position is now at 10 characters past the end of the file.
// The 10 characters between the end of the file and the current
// position are filled with zeros.

dio_close($fd);
?>

이전 | 위로 | 다음
dio_read | 처음으로 | dio_stat


dio_stat

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_stat -- Gets stat information about the file descriptor fd

설명

array dio_stat ( resource $fd )

dio_stat() returns information about the given file descriptor.

매개변수

fd

The file descriptor returned by dio_open().

반환값

Returns an associative array with the following keys:

  • "device" - device

  • "inode" - inode

  • "mode" - mode

  • "nlink" - number of hard links

  • "uid" - user id

  • "gid" - group id

  • "device_type" - device type (if inode device)

  • "size" - total size in bytes

  • "blocksize" - blocksize

  • "blocks" - number of blocks allocated

  • "atime" - time of last access

  • "mtime" - time of last modification

  • "ctime" - time of last change

On error dio_stat() returns NULL.

이전 | 위로 | 다음
dio_seek | 처음으로 | dio_tcsetattr


dio_tcsetattr

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5)

dio_tcsetattr -- Sets terminal attributes and baud rate for a serial port

설명

bool dio_tcsetattr ( resource $fd, array $options )

dio_tcsetattr() sets the terminal attributes and baud rate of the open fd.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

매개변수

fd

The file descriptor returned by dio_open().

options

The currently available options are:

  • 'baud' - baud rate of the port - can be 38400,19200,9600,4800,2400,1800, 1200,600,300,200,150,134,110,75 or 50, default value is 9600.

  • 'bits' - data bits - can be 8,7,6 or 5. Default value is 8.

  • 'stop' - stop bits - can be 1 or 2. Default value is 1.

  • 'parity' - can be 0,1 or 2. Default value is 0.

반환값

값을 반환하지 않습니다.

예제

예 434. Setting the baud rate on a serial port

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_fcntl($fd, F_SETFL, O_SYNC);

dio_tcsetattr($fd, array(
  'baud' => 9600,
  'bits' => 8,
  'stop'  => 1,
  'parity' => 0
));

while (1) {

  $data = dio_read($fd, 256);

  if ($data) {
      echo $data;
  }
}

?>

이전 | 위로 | 다음
dio_stat | 처음으로 | dio_truncate


dio_truncate

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_truncate -- Truncates file descriptor fd to offset bytes

설명

bool dio_truncate ( resource $fd, int $offset )

dio_truncate() truncates a file to at most offset bytes in size.

If the file previously was larger than this size, the extra data is lost. If the file previously was shorter, it is unspecified whether the file is left unchanged or is extended. In the latter case the extended part reads as zero bytes.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

매개변수

fd

The file descriptor returned by dio_open().

offset

The offset in bytes.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
dio_tcsetattr | 처음으로 | dio_write


dio_write

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_write -- Writes data to fd with optional truncation at length

설명

int dio_write ( resource $fd, string $data [, int $len] )

dio_write() writes up to len bytes from data to file fd.

매개변수

fd

The file descriptor returned by dio_open().

data

The written data.

len

The length of data to write in bytes. If not specified, the function writes all the data to the specified file.

반환값

Returns the number of bytes written to fd.

참고

dio_read()

이전 | 위로 | 다음
dio_truncate | 처음으로 | XXX. 디렉토리 함수


디렉토리 함수

이전 VI. 함수 레퍼런스 다음

XXX. 디렉토리 함수

소개

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

DIRECTORY_SEPARATOR (string)
PATH_SEPARATOR (string)

참고: PATH_SEPARATOR는 PHP 4.3.0-RC2에서 추가되었습니다.

참고

dirname(), is_dir(), mkdir(), rmdir() 등의 관련 함수에 대해서, 파일시스템 섹션을 참고하십시오.

차례

chdir -- 디렉토리를 변경합니다.
chroot -- 루트 디렉토리를 변경합니다.
dir -- 디렉토리 클래스
closedir -- 디렉토리 핸들을 닫습니다.
getcwd -- 현재 작업 디렉토리를 구합니다.
opendir -- 디렉토리 핸들을 엽니다.
readdir -- 디렉토리 핸들에서 엔트리를 읽습니다.
rewinddir -- 디렉토리 핸들을 되감습니다.
scandir -- 지정 경로 안의 파일과 디렉토리 목록
이전 | 위로 | 다음
dio_write | 처음으로 | chdir


chdir

(PHP 4, PHP 5)

chdir -- 디렉토리를 변경합니다.

설명

bool chdir ( string $directory )

PHP의 현재 디렉토리를 directory로 변경합니다. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예 435. chdir() 예제

<?php

// 현재 디렉토리
echo getcwd() . "\n";

chdir('public_html');

// 현재 디렉토리
echo getcwd() . "\n";

?>

출력 예는:

/home/vincent
/home/vincent/public_html

참고: 안전 모드를 활성화했을 경우, PHP는 작업하려는 디렉토리가 실행중인 스크립트와 같은 UID(owner)를 가지고 있는지 확인합니다.

참고: getcwd().

이전 | 위로 | 다음
XXX. 디렉토리 함수 | 처음으로 | chroot


chroot

(PHP 4 >= 4.0.5, PHP 5)

chroot -- 루트 디렉토리를 변경합니다.

설명

bool chroot ( string $directory )

현재 프로세스의 루트 디렉토리를 directory로 변경합니다. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이 함수는 시스템이 지원하고, CLI, CGI, Embed SAPI를 사용할 때만 사용할 수 있습니다.

참고: chroot()는 루트 권한이 필요합니다.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

이전 | 위로 | 다음
chdir | 처음으로 | dir


dir

(PHP 4, PHP 5)

dir -- 디렉토리 클래스

설명

class dir {
dir ( string $directory )
string path
resource handle
string read ( void )
void rewind ( void )
void close ( void )
}

디렉토리를 읽는 모조-객체 기반 방법입니다. 주어진 directory를 엽니다. 열려진 디렉토리에 사용할 수 있는 두가지 속성이 존재합니다. handle 속성은 readdir(), rewinddir(), closedir() 등의 다른 디렉토리 함수에 사용할 수 있습니다. path 속성에은 열려진 디렉토리의 경로가 지정됩니다. 세가지 메쏘드를 사용할 수 있습니다: read, rewind, close.

dir()의 반환값은 아래 예제처럼 확인해야 하는 점에 주의하십시오. 반환값이 FALSE와 완전히 동일한지 (형까지 같게--자세한 정보는 비교 연산자를 참고하십시오) 확인하고 있습니다. 이렇게 하지 않으면, FALSE로 판단할 수 있는 이름을 가진 디렉토리 엔트리에서 루프가 멈춥니다.

예 436. dir() 예제

<?php
$d = dir("/etc");
echo "Handle: " . $d->handle . "<br />\n";
echo "Path: " . $d->path . "<br />\n";
while (false !== ($entry = $d->read())) {
   echo $entry."<br />\n";
}
$d->close();
?>

참고: read 메쏘드가 반환하는 디렉토리 엔트리의 순서는 시스템 의존적입니다.

참고: 이는 내부적으로 Directory 클래스를 정의하기에, 이 이름을 가지는 클래스를 정의할 수 없습니다. PHP에 미리 정의된 클래스의 전체 목록은 미리 정의된 클래스를 참고하십시오.

이전 | 위로 | 다음
chroot | 처음으로 | closedir


closedir

(PHP 4, PHP 5)

closedir -- 디렉토리 핸들을 닫습니다.

설명

void closedir ( resource $dir_handle )

dir_handle가 지시하는 디렉토리 스트림을 닫습니다. 스트림은 opendir()로 열려 있는 것이여야 합니다.

이전 | 위로 | 다음
dir | 처음으로 | getcwd


getcwd

(PHP 4, PHP 5)

getcwd -- 현재 작업 디렉토리를 구합니다.

설명

string getcwd ( void )

현재 작업 디렉토리를 반환합니다.

예 437. getcwd() 예제

<?php

// 현재 디렉토리
echo getcwd() . "\n";

chdir('cvs');

// 현재 디렉토리
echo getcwd() . "\n";

?>

다음과 비슷한 출력을 합니다:

/home/didou
/home/didou/cvs

참고: chdir().

이전 | 위로 | 다음
closedir | 처음으로 | opendir


opendir

(PHP 4, PHP 5)

opendir -- 디렉토리 핸들을 엽니다.

설명

resource opendir ( string $path )

closedir(), readdir(), rewinddir() 호출에서 사용하는 디렉토리 핸들을 반환합니다.

path가 유효하지 않은 디렉토리이거나, 권한 제한이나 파일시스템 에러로 인해 디렉토리를 열 수 없는 경우, opendir()은 FALSE를 반환하고 E_WARNING 레벨의 PHP 에러를 발생합니다. opendir() 앞에 '@'를 붙여 에러 출력을 없앨 수 있습니다.

예 438. opendir() 예제

<?php
$dir = "/tmp/";

// 알고 있는 디렉토리를 열어서, 내용을 읽어들이는 작업입니다.
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

PHP 4.3.0부터 path는 디렉토리 목록을 지원하는 URL일 수 있지만, PHP 4.3에서는 file:// URL 래퍼만 지원합니다. PHP 5.0.0부터는 ftp:// URL 래퍼도 지원합니다.

참고: is_dir(), readdir(), Dir

이전 | 위로 | 다음
getcwd | 처음으로 | readdir


readdir

(PHP 4, PHP 5)

readdir -- 디렉토리 핸들에서 엔트리를 읽습니다.

설명

string readdir ( resource $dir_handle )

디렉토리에서 다음 파일의 파일명을 반환합니다. 반환하는 파일명의 순서는 파일시스템에 저장한 순서입니다.

readdir()의 반환값은 아래 예제체럼 확인해야 하는 점에 주의하십시오. 반환값이 FALSE와 완전히 동일한지 (형까지 일치--자세한 정보는 비교 연산자를 참고하십시오) 확인하고 있습니다. 이렇게 하지 않으면, FALSE로 인식하는 디렉토리 엔트리에서 루프가 멈춥니다. (예. 디렉토리 이름이 "0")

예 439. 디렉토리 안의 모든 파일 목록

<?php
// !== 은 4.0.0-RC2까지 존재하지 않았던 점에 주의하십시오.

if ($handle = opendir('/path/to/files')) {
    echo "Directory handle: $handle\n";
    echo "Files:\n";

    /* 디렉토리 안을 루프하는 올바른 방법입니다. */
    while (false !== ($file = readdir($handle))) {
        echo "$file\n";
    }

    /* 디렉토리 안을 루프하는 *틀린* 방법입니다. */
    while ($file = readdir($handle)) {
        echo "$file\n";
    }

    closedir($handle);
}
?>

readdir()이 .과 ..을 반환하는 점에 주의하십시오. 이들이 필요하지 않으면 간단히 제거할 수 있습니다:

예 440. .과 ..을 제외한 현재 디렉토리의 모든 파일 목록

<?php
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo "$file\n";
        }
    }
    closedir($handle);
}
?>

참고: is_dir(), glob().

이전 | 위로 | 다음
opendir | 처음으로 | rewinddir


rewinddir

(PHP 4, PHP 5)

rewinddir -- 디렉토리 핸들을 되감습니다.

설명

void rewinddir ( resource $dir_handle )

dir_handle에 지정한 디렉토리 핸들을 디렉토리의 처음 위치로 되돌립니다.

이전 | 위로 | 다음
readdir | 처음으로 | scandir


scandir

(PHP 5)

scandir -- 지정 경로 안의 파일과 디렉토리 목록

설명

array scandir ( string $directory [, int $sorting_order [, resource $context]] )

directory에서 파일과 디렉토리의 array를 반환합니다. directory가 디렉토리가 아닐 경우, 불린 FALSE를 반환하고, 에러 레벨 E_WARNING를 생생합니다.

기본값으로, 정렬 순서는 알파벳 오름 차순입니다. 선택적인 sorting_order를 사용하면(1로 설정), 정렬 순서는 알파벳 내림 차순입니다.

예 441. 간단한 scandir() 예제

<?php
$dir    = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);
?>

출력 예는:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

예 442. scandir()과 동일한 PHP 4 방법

<?php
$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

sort($files);

print_r($files);

rsort($files);

print_r($files);

?>

출력 예는:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

참고: opendir(),
readdir(),
glob(),
is_dir(),
sort().

이전 | 위로 | 다음
rewinddir | 처음으로 | XXXI. DOM Functions


DOM Functions

이전 VI. 함수 레퍼런스 다음

XXXI. DOM Functions

소개

The DOM extension allows you to operate on XML documents through the DOM API with PHP 5.

For PHP 4, use DOM XML.

참고: DOM extension uses UTF-8 encoding. Use utf8_encode() and utf8_decode() to work with texts in ISO-8859-1 encoding or Iconv for other encodings.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

예약 클래스

The API of the module follows the » DOM Level 3 standard as closely as possible. Consequently, the API is fully object-oriented. It is a good idea to have the DOM standard available when using this module.

This module defines a number of classes, which are explained in the following tables. Classes with an equivalent in the DOM standard are named DOMxxx.

DOMAttr

Extends DOMNode. The DOMAttr interface represents an attribute in an DOMElement object.

생성자

  • DOMAttr->__construct() - construct a new DOMAttr object

메쏘드

  • DOMAttr->isId() - Checks if attribute is a defined ID

속성

표 50.

Name | Type | Read-only | Description
name | string | yes | The name of the attribute
ownerElement | DOMElement | yes | The element which contains the attribute
schemaTypeInfo | bool | yes | Not implemented yet, always return NULL
specified | bool | yes | Not implemented yet, always return NULL
value | string | no | The value of the attribute

DOMCharacterData

Extends DOMNode.

메쏘드

  • DOMCharacterData->appendData() - Append a string to the end of the character data of the node

  • DOMCharacterData->deleteData() - Remove a range of characters from the node

  • DOMCharacterData->insertData() - Insert a string at the specified 16-bit unit offset

  • DOMCharacterData->replaceData() - Replace a substring within the DOMCharacterData node

  • DOMCharacterData->substringData() - Extracts a range of data from the node

속성

표 51.

Name | Type | Read-only | Description
data | string | no | The contents of the node
length | int | yes | The length of the contents

DOMComment

Extends DOMCharacterData.

생성자

  • DOMComment->__construct() - construct a new DOMComment object

DOMDocument

Extends DOMNode.

생성자

  • DOMDocument->__construct() - construct a new DOMDocument object

메쏘드

  • DOMDocument->createAttribute() - Create new attribute

  • DOMDocument->createAttributeNS() - Create new attribute node with an associated namespace

  • DOMDocument->createCDATASection() - Create new cdata node

  • DOMDocument->createComment() - Create new comment node

  • DOMDocument->createDocumentFragment() - Create new document fragment

  • DOMDocument->createElement() - Create new element node

  • DOMDocument->createElementNS() - Create new element node with an associated namespace

  • DOMDocument->createEntityReference() - Create new entity reference node

  • DOMDocument->createProcessingInstruction() - Creates new PI node

  • DOMDocument->createTextNode() - Create new text node

  • DOMDocument->getElementById() - Searches for an element with a certain id

  • DOMDocument->getElementsByTagName() - Searches for all elements with given tag name

  • DOMDocument->getElementsByTagNameNS() - Searches for all elements with given tag name in specified namespace

  • DOMDocument->importNode() - Import node into current document

  • DOMDocument->load() - Load XML from a file

  • DOMDocument->loadHTML() - Load HTML from a string

  • DOMDocument->loadHTMLFile() - Load HTML from a file

  • DOMDocument->loadXML() - Load XML from a string

  • DOMDocument->normalizeDocument() - Normalizes the document

  • DOMDocument->relaxNGValidate() - Performs relaxNG validation on the document

  • DOMDocument->relaxNGValidateSource() - Performs relaxNG validation on the document

  • DOMDocument->registerNodeClass() - Register extended class used to create base node type (not DOM standard)

  • DOMDocument->save() - Dumps the internal XML tree back into a file

  • DOMDocument->saveHTML() - Dumps the internal document into a string using HTML formatting

  • DOMDocument->saveHTMLFile() - Dumps the internal document back into a file using HTML formatting

  • DOMDocument->saveXML() - Dumps the internal XML tree back into a string

  • DOMDocument->schemaValidate() - Validates a document based on a schema

  • DOMDocument->schemaValidateSource() - Validates a document based on a schema

  • DOMDocument->validate() - Validates the document based on its DTD

  • DOMDocument->xinclude() - Substitutes XIncludes in a DOMDocument Object

속성

표 52.

Name | Type | Read-only | Description
actualEncoding | string | yes |
config | DOMConfiguration | yes |
doctype | DOMDocumentType | yes | The Document Type Declaration associated with this document.
documentElement | DOMElement | yes | This is a convenience attribute that allows direct access to the child node that is the document element of the document.
documentURI | string | no | The location of the document or NULL if undefined.
encoding | string | no |
formatOutput | bool | no |
implementation | DOMImplementation | yes | The DOMImplementation object that handles this document.
preserveWhiteSpace | bool | no | Do not remove redundant white space. Default to TRUE.
recover | bool | no |
resolveExternals | bool | no | Set it to TRUE to load external entities from a doctype declaration. This is useful for including character entities in your XML document.
standalone | bool | no |
strictErrorChecking | bool | no | Throws DOMException on errors. Default to TRUE.
substituteEntities | bool | no |
validateOnParse | bool | no | Loads and validates against the DTD. Default to FALSE.
version | string | no |
xmlEncoding | string | yes | An attribute specifying, as part of the XML declaration, the encoding of this document. This is NULL when unspecified or when it is not known, such as when the Document was created in memory.
xmlStandalone | bool | no | An attribute specifying, as part of the XML declaration, whether this document is standalone. This is FALSE when unspecified.
xmlVersion | string | no | An attribute specifying, as part of the XML declaration, the version number of this document. If there is no declaration and if this document supports the "XML" feature, the value is "1.0".

DOMDocumentFragment

Extends DOMNode.

메쏘드

  • DOMDocumentFragment->appendXML() - Append raw XML data (not DOM standard)

DOMDocumentType

Extends DOMNode

Each DOMDocument has a doctype attribute whose value is either NULL or a DOMDocumentType object.

속성

표 53.

Name | Type | Read-only | Description
publicId | string | yes | The public identifier of the external subset.
systemId | string | yes | The system identifier of the external subset. This may be an absolute URI or not.
name | string | yes | The name of DTD; i.e., the name immediately following the DOCTYPE keyword.
entities | DOMNamedNodeMap | yes | A DOMNamedNodeMap containing the general entities, both external and internal, declared in the DTD.
notations | DOMNamedNodeMap | yes | A DOMNamedNodeMap containing the notations declared in the DTD.
internalSubset | string | yes | The internal subset as a string, or null if there is none. This is does not contain the delimiting square brackets.

DOMElement

Extends DOMNode.

생성자

  • DOMElement->__construct() - construct a new DOMElement object

메쏘드

  • DOMElement->getAttribute() - Returns value of attribute

  • DOMElement->getAttributeNode() - Returns attribute node

  • DOMElement->getAttributeNodeNS() - Returns attribute node

  • DOMElement->getAttributeNS() - Returns value of attribute

  • DOMElement->getElementsByTagName() - Gets elements by tagname

  • DOMElement->getElementsByTagNameNS() - Get elements by namespaceURI and localName

  • DOMElement->hasAttribute() - Checks to see if attribute exists

  • DOMElement->hasAttributeNS() - Checks to see if attribute exists

  • DOMElement->removeAttribute() - Removes attribute

  • DOMElement->removeAttributeNode() - Removes attribute

  • DOMElement->removeAttributeNS() - Removes attribute

  • DOMElement->setAttribute() - Adds new attribute

  • DOMElement->setAttributeNode() - Adds new attribute node to element

  • DOMElement->setAttributeNodeNS() - Adds new attribute node to element

  • DOMElement->setAttributeNS() - Adds new attribute

  • DOMElement->setIdAttribute() - Declares the ID attribute

  • DOMElement->setIdAttributeNode() - Declares the ID attribute

  • DOMElement->setIdAttributeNS() - Declares the ID attribute

속성

표 54.

Name | Type | Read-only | Description
schemaTypeInfo | bool | yes | Not implemented yet, always return NULL
tagName | string | yes | The element name

DOMEntity

Extends DOMNode

This interface represents a known entity, either parsed or unparsed, in an XML document.

속성

표 55.

Name | Type | Read-only | Description
publicId | string | yes | The public identifier associated with the entity if specified, and NULL otherwise.
systemId | string | yes | The system identifier associated with the entity if specified, and NULL otherwise. This may be an absolute URI or not.
notationName | string | yes | For unparsed entities, the name of the notation for the entity. For parsed entities, this is NULL.
actualEncoding | string | no | An attribute specifying the encoding used for this entity at the time of parsing, when it is an external parsed entity. This is NULL if it an entity from the internal subset or if it is not known.
encoding | string | yes | An attribute specifying, as part of the text declaration, the encoding of this entity, when it is an external parsed entity. This is NULL otherwise.
version | string | yes | An attribute specifying, as part of the text declaration, the version number of this entity, when it is an external parsed entity. This is NULL otherwise.

DOMEntityReference

Extends DOMNode.

생성자

  • DOMEntityReference->__construct() - construct a new DOMEntityReference object

DOMException

DOM operations raise exceptions under particular circumstances, i.e., when an operation is impossible to perform for logical reasons.

See also 21장. Exceptions.

속성

표 56.

Name | Type | Read-only | Description
code | int | yes | An integer indicating the type of error generated

DOMImplementation

The DOMImplementation interface provides a number of methods for performing operations that are independent of any particular instance of the document object model.

생성자

  • DOMImplementation->__construct() - construct a new DOMImplementation object

메쏘드

  • DOMImplementation->createDocument() - Creates a DOM Document object of the specified type with its document element

  • DOMImplementation->createDocumentType() - Creates an empty DOMDocumentType object

  • DOMImplementation->hasFeature() - Test if the DOM implementation implements a specific feature

DOMNamedNodeMap

메쏘드

  • DOMNamedNodeMap->getNamedItem() - Retrieves a node specified by name

  • DOMNamedNodeMap->getNamedItemNS() - Retrieves a node specified by local name and namespace URI

  • DOMNamedNodeMap->item() - Retrieves a node specified by index

DOMNode

메쏘드

  • DOMNode->appendChild() - Adds new child at the end of the children

  • DOMNode->cloneNode() - Clones a node

  • DOMNode->hasAttributes() - Checks if node has attributes

  • DOMNode->hasChildNodes() - Checks if node has children

  • DOMNode->insertBefore() - Adds a new child before a reference node

  • DOMNode->isDefaultNamespace() - Checks if the specified namespaceURI is the default namespace

  • DOMNode->isSameNode() - Indicates if two nodes are the same node

  • DOMNode->isSupported() - Checks if feature is supported for specified version

  • DOMNode->lookupNamespaceURI() - Returns namespace URI of the node based on the prefix

  • DOMNode->lookupPrefix() - Returns name space prefix of the node based on namespaceURI

  • DOMNode->normalize() - Normalizes the node

  • DOMNode->removeChild() - Removes child from list of children

  • DOMNode->replaceChild() - Replaces a child

속성

표 57.

Name | Type | Read-only | Description
nodeName | string | yes | Returns the most accurate name for the current node type
nodeValue | string | no | The value of this node, depending on its type.
nodeType | int | yes | Gets the type of the node. One of the predefined XML_xxx_NODE constants
parentNode | DOMNode | yes | The parent of this node.
childNodes | DOMNodeList | yes | A DOMNodeList that contains all children of this node. If there are no children, this is an empty DOMNodeList.
firstChild | DOMNode | yes | The first child of this node. If there is no such node, this returns NULL.
lastChild | DOMNode | yes | The last child of this node. If there is no such node, this returns NULL.
previousSibling | DOMNode | yes | The node immediately preceding this node. If there is no such node, this returns NULL.
nextSibling | DOMNode | yes | The node immediately following this node. If there is no such node, this returns NULL.
attributes | DOMNamedNodeMap | yes | A DOMNamedNodeMap containing the attributes of this node (if it is a DOMElement) or NULL otherwise.
ownerDocument | DOMDocument | yes | The DOMDocument object associated with this node.
namespaceURI | string | yes | The namespace URI of this node, or NULL if it is unspecified.
prefix | string | no | The namespace prefix of this node, or NULL if it is unspecified.
localName | string | yes | Returns the local part of the qualified name of this node.
baseURI | string | yes | The absolute base URI of this node or NULL if the implementation wasn't able to obtain an absolute URI.
textContent | string | no | This attribute returns the text content of this node and its descendants.

DOMNodeList

메쏘드

  • DOMNodelist->item() - Retrieves a node specified by index

속성

표 58.

Name | Type | Read-only | Description
length | int | yes | The number of nodes in the list. The range of valid child node indices is 0 to length - 1 inclusive.

DOMNotation

Extends DOMNode

속성

표 59.

Name | Type | Read-only | Description
publicId | string | yes |
systemId | string | yes |

DOMProcessingInstruction

Extends DOMNode.

생성자

  • DOMProcessingInstruction->__construct() - construct a new DOMProcessingInstruction object

속성

표 60.

Name | Type | Read-only | Description
target | string | yes |
data | string | no |

DOMText

Extends DOMCharacterData.

생성자

  • DOMText->__construct() - construct a new DOMText object

메쏘드

  • DOMText->isWhitespaceInElementContent() - Indicates whether this text node contains whitespace

  • DOMText->splitText() - Breaks the node into two nodes at the specified offset

속성

표 61.

Name | Type | Read-only | Description
wholeText | string | yes |

DOMXPath

생성자

  • DOMXPath->__construct() - construct a new DOMXPath object

메쏘드

  • DOMXPath->registerNamespace() - Registers the namespace with the DOMXpath object

  • DOMXPath->evaluate() - Evaluates the given XPath expression and returns a typed result if possible

  • DOMXPath->query() - Evaluates the given XPath expression

속성

표 62.

Name | Type | Read-only | Description
document | DOMDocument |  |

예제

Many examples in this reference require an XML file. We will use book.xml that contains the following:

예 443. book.xml

<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<book id="listing">
<title>My lists</title>
<chapter id="books">
<title>My books</title>
<para>
<informaltable>
<tgroup cols="4">
<thead>
<row>
<entry>Title</entry>
<entry>Author</entry>
<entry>Language</entry>
<entry>ISBN</entry>
</row>
</thead>
<tbody>
<row>
<entry>The Grapes of Wrath</entry>
<entry>John Steinbeck</entry>
<entry>en</entry>
<entry>0140186409</entry>
</row>
<row>
<entry>The Pearl</entry>
<entry>John Steinbeck</entry>
<entry>en</entry>
<entry>014017737X</entry>
</row>
<row>
<entry>Samarcande</entry>
<entry>Amine Maalouf</entry>
<entry>fr</entry>
<entry>2253051209</entry>
</row>
<!-- TODO: I have a lot of remaining books to add.. -->
</tbody>
</tgroup>
</informaltable>
</para>
</chapter>
</book>

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

표 63. XML constants

Constant | Value | Description
XML_ELEMENT_NODE (integer) | 1 | Node is a DOMElement
XML_ATTRIBUTE_NODE (integer) | 2 | Node is a DOMAttr
XML_TEXT_NODE (integer) | 3 | Node is a DOMText
XML_CDATA_SECTION_NODE (integer) | 4 | Node is a DOMCharacterData
XML_ENTITY_REF_NODE (integer) | 5 | Node is a DOMEntityReference
XML_ENTITY_NODE (integer) | 6 | Node is a DOMEntity
XML_PI_NODE (integer) | 7 | Node is a DOMProcessingInstruction
XML_COMMENT_NODE (integer) | 8 | Node is a DOMComment
XML_DOCUMENT_NODE (integer) | 9 | Node is a DOMDocument
XML_DOCUMENT_TYPE_NODE (integer) | 10 | Node is a DOMDocumentType
XML_DOCUMENT_FRAG_NODE (integer) | 11 | Node is a DOMDocumentFragment
XML_NOTATION_NODE (integer) | 12 | Node is a DOMNotation
XML_HTML_DOCUMENT_NODE (integer) | 13 |
XML_DTD_NODE (integer) | 14 |
XML_ELEMENT_DECL_NODE (integer) | 15 |
XML_ATTRIBUTE_DECL_NODE (integer) | 16 |
XML_ENTITY_DECL_NODE (integer) | 17 |
XML_NAMESPACE_DECL_NODE (integer) | 18 |
XML_ATTRIBUTE_CDATA (integer) | 1 |
XML_ATTRIBUTE_ID (integer) | 2 |
XML_ATTRIBUTE_IDREF (integer) | 3 |
XML_ATTRIBUTE_IDREFS (integer) | 4 |
XML_ATTRIBUTE_ENTITY (integer) | 5 |
XML_ATTRIBUTE_NMTOKEN (integer) | 7 |
XML_ATTRIBUTE_NMTOKENS (integer) | 8 |
XML_ATTRIBUTE_ENUMERATION (integer) | 9 |
XML_ATTRIBUTE_NOTATION (integer) | 10 |

표 64. DOMException constants

Constant | Value | Description
DOM_INDEX_SIZE_ERR (integer) | 1 | If index or size is negative, or greater than the allowed value.
DOMSTRING_SIZE_ERR (integer) | 2 | If the specified range of text does not fit into a DOMString.
DOM_HIERARCHY_REQUEST_ERR (integer) | 3 | If any node is inserted somewhere it doesn't belong
DOM_WRONG_DOCUMENT_ERR (integer) | 4 | If a node is used in a different document than the one that created it.
DOM_INVALID_CHARACTER_ERR (integer) | 5 | If an invalid or illegal character is specified, such as in a name.
DOM_NO_DATA_ALLOWED_ERR (integer) | 6 | If data is specified for a node which does not support data.
DOM_NO_MODIFICATION_ALLOWED_ERR (integer) | 7 | If an attempt is made to modify an object where modifications are not allowed.
DOM_NOT_FOUND_ERR (integer) | 8 | If an attempt is made to reference a node in a context where it does not exist.
DOM_NOT_SUPPORTED_ERR (integer) | 9 | If the implementation does not support the requested type of object or operation.
DOM_INUSE_ATTRIBUTE_ERR (integer) | 10 | If an attempt is made to add an attribute that is already in use elsewhere.
DOM_INVALID_STATE_ERR (integer) | 11 | If an attempt is made to use an object that is not, or is no longer, usable.
DOM_SYNTAX_ERR (integer) | 12 | If an invalid or illegal string is specified.
DOM_INVALID_MODIFICATION_ERR (integer) | 13 | If an attempt is made to modify the type of the underlying object.
DOM_NAMESPACE_ERR (integer) | 14 | If an attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
DOM_INVALID_ACCESS_ERR (integer) | 15 | If a parameter or an operation is not supported by the underlying object.
DOM_VALIDATION_ERR (integer) | 16 | If a call to a method such as insertBefore or removeChild would make the Node invalid with respect to "partial validity", this exception would be raised and the operation would not be done.

차례

DOMAttr->__construct() -- Creates a new DOMAttr object
DOMAttr->isId() -- Checks if attribute is a defined ID
DOMCharacterData->appendData() -- Append the string to the end of the character data of the node
DOMCharacterData->deleteData() -- Remove a range of characters from the node
DOMCharacterData->insertData() -- Insert a string at the specified 16-bit unit offset
DOMCharacterData->replaceData() -- Replace a substring within the DOMCharacterData node
DOMCharacterData->substringData() -- Extracts a range of data from the node
DOMComment->__construct() -- Creates a new DOMComment object
DOMDocument->__construct() -- Creates a new DOMDocument object
DOMDocument->createAttribute() -- Create new attribute
DOMDocument->createAttributeNS() -- Create new attribute node with an associated namespace
DOMDocument->createCDATASection() -- Create new cdata node
DOMDocument->createComment() -- Create new comment node
DOMDocument->createDocumentFragment() -- Create new document fragment
DOMDocument->createElement() -- Create new element node
DOMDocument->createElementNS() -- Create new element node with an associated namespace
DOMDocument->createEntityReference() -- Create new entity reference node
DOMDocument->createProcessingInstruction() -- Creates new PI node
DOMDocument->createTextNode() -- Create new text node
DOMDocument->getElementById() -- Searches for an element with a certain id
DOMDocument->getElementsByTagName() -- Searches for all elements with given tag name
DOMDocument->getElementsByTagNameNS() -- Searches for all elements with given tag name in specified namespace
DOMDocument->importNode() -- Import node into current document
DOMDocument->load() -- Load XML from a file
DOMDocument->loadHTML() -- Load HTML from a string
DOMDocument->loadHTMLFile() -- Load HTML from a file
DOMDocument->loadXML() -- Load XML from a string
DOMDocument->normalizeDocument() -- Normalizes the document
DOMDocument->registerNodeClass() -- Register extended class used to create base node type
DOMDocument->relaxNGValidate() -- Performs relaxNG validation on the document
DOMDocument->relaxNGValidateSource() -- Performs relaxNG validation on the document
DOMDocument->save() -- Dumps the internal XML tree back into a file
DOMDocument->saveHTML() -- Dumps the internal document into a string using HTML formatting
DOMDocument->saveHTMLFile() -- Dumps the internal document into a file using HTML formatting
DOMDocument->saveXML() -- Dumps the internal XML tree back into a string
DOMDocument->schemaValidate() -- Validates a document based on a schema
DOMDocument->schemaValidateSource() -- Validates a document based on a schema
DOMDocument->validate() -- Validates the document based on its DTD
DOMDocument->xinclude() -- Substitutes XIncludes in a DOMDocument Object
DOMDocumentFragment->appendXML() -- Append raw XML data
DOMElement->__construct() -- Creates a new DOMElement object
DOMElement->getAttribute() -- Returns value of attribute
DOMElement->getAttributeNode() -- Returns attribute node
DOMElement->getAttributeNodeNS() -- Returns attribute node
DOMElement->getAttributeNS() -- Returns value of attribute
DOMElement->getElementsByTagName() -- Gets elements by tagname
DOMElement->getElementsByTagNameNS() -- Get elements by namespaceURI and localName
DOMElement->hasAttribute() -- Checks to see if attribute exists
DOMElement->hasAttributeNS() -- Checks to see if attribute exists
DOMElement->removeAttribute() -- Removes attribute
DOMElement->removeAttributeNode() -- Removes attribute
DOMElement->removeAttributeNS() -- Removes attribute
DOMElement->setAttribute() -- Adds new attribute
DOMElement->setAttributeNode() -- Adds new attribute node to element
DOMElement->setAttributeNodeNS() -- Adds new attribute node to element
DOMElement->setAttributeNS() -- Adds new attribute
DOMElement->setIdAttribute() -- Declares the attribute specified by name to be of type ID
DOMElement->setIdAttributeNode() -- Declares the attribute specified by node to be of type ID
DOMElement->setIdAttributeNS() -- Declares the attribute specified by local name and namespace URI to be of type ID
DOMEntityReference->__construct() -- Creates a new DOMEntityReference object
DOMImplementation->__construct() -- Creates a new DOMImplementation object
DOMImplementation->createDocument() -- Creates a DOMDocument object of the specified type with its document element
DOMImplementation->createDocumentType() -- Creates an empty DOMDocumentType object
DOMImplementation->hasFeature() -- Test if the DOM implementation implements a specific feature
DOMNamedNodeMap->getNamedItem() -- Retrieves a node specified by name
DOMNamedNodeMap->getNamedItemNS() -- Retrieves a node specified by local name and namespace URI
DOMNamedNodeMap->item() -- Retrieves a node specified by index
DOMNode->appendChild() -- Adds new child at the end of the children
DOMNode->cloneNode() -- Clones a node
DOMNode->hasAttributes() -- Checks if node has attributes
DOMNode->hasChildNodes() -- Checks if node has children
DOMNode->insertBefore() -- Adds a new child before a reference node
DOMNode->isDefaultNamespace() -- Checks if the specified namespaceURI is the default namespace or not
DOMNode->isSameNode() -- Indicates if two nodes are the same node
DOMNode->isSupported() -- Checks if feature is supported for specified version
DOMNode->lookupNamespaceURI() -- Gets the namespace URI of the node based on the prefix
DOMNode->lookupPrefix() -- Gets the namespace prefix of the node based on the namespace URI
DOMNode->normalize() -- Normalizes the node
DOMNode->removeChild() -- Removes child from list of children
DOMNode->replaceChild() -- Replaces a child
DOMNodelist->item() -- Retrieves a node specified by index
DOMProcessingInstruction->__construct() -- Creates a new DOMProcessingInstruction object
DOMText->__construct() -- Creates a new DOMText object
DOMText->isWhitespaceInElementContent() -- Indicates whether this text node contains whitespace
DOMText->splitText() -- Breaks this node into two nodes at the specified offset
DOMXPath->__construct() -- Creates a new DOMXPath object
DOMXPath->evaluate() -- Evaluates the given XPath expression and returns a typed result if possible.
DOMXPath->query() -- Evaluates the given XPath expression
DOMXPath->registerNamespace() -- Registers the namespace with the DOMXPath object
dom_import_simplexml -- Gets a DOMElement object from a SimpleXMLElement object
이전 | 위로 | 다음
scandir | 처음으로 | DOMAttr->__construct()


DOMAttr->isId()

(No version information available, might be only in CVS)

DOMAttr->isId() -- Checks if attribute is a defined ID

설명

class DOMAttr {
bool isId ( void )
}

This function checks if the attribute is a defined ID.

According to the DOM standard this requires a DTD which defines the attribute ID to be of type ID. You need to validate your document with DOMDocument->validate() or DOMDocument::validateOnParse before using this function.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 445. DOMAttr->isId() Example

<?php

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

// We retrieve the attribute named id of the chapter element
$attr = $doc->getElementsByTagName('chapter')->item(0)->getAttributeNode('id');

var_dump($attr->isId()); // bool(true)

?>

이전 | 위로 | 다음
DOMAttr->__construct() | 처음으로 | DOMCharacterData->appendData()


DOMCharacterData->appendData()

(No version information available, might be only in CVS)

DOMCharacterData->appendData() -- Append the string to the end of the character data of the node

설명

class DOMCharacterData {
void appendData ( string $data )
}

Append the string data to the end of the character data of the node.

매개변수

data

The string to append.

반환값

값을 반환하지 않습니다.

참고

DOMCharacterData->deleteData()
DOMCharacterData->insertData()
DOMCharacterData->replaceData()
DOMCharacterData->substringData()

이전 | 위로 | 다음
DOMAttr->isId() | 처음으로 | DOMCharacterData->deleteData()


DOMCharacterData->deleteData()

(No version information available, might be only in CVS)

DOMCharacterData->deleteData() -- Remove a range of characters from the node

설명

class DOMCharacterData {
void deleteData ( int $offset, int $count )
}

Deletes count characters starting from position offset.

매개변수

offset

The offset from which to start removing.

count

The number of characters to delete. If the sum of offset and count exceeds the length, then all characters to the end of the data are deleted.

반환값

값을 반환하지 않습니다.

오류/예외

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

참고

DOMCharacterData->appendData()
DOMCharacterData->insertData()
DOMCharacterData->replaceData()
DOMCharacterData->substringData()

이전 | 위로 | 다음
DOMCharacterData->appendData() | 처음으로 | DOMCharacterData->insertData()


DOMCharacterData->insertData()

(No version information available, might be only in CVS)

DOMCharacterData->insertData() -- Insert a string at the specified 16-bit unit offset

설명

class DOMCharacterData {
void insertData ( int $offset, string $data )
}

Inserts string data at position offset.

매개변수

offset

The character offset at which to insert.

data

The string to insert.

반환값

값을 반환하지 않습니다.

오류/예외

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data.

참고

DOMCharacterData->appendData()
DOMCharacterData->deleteData()
DOMCharacterData->replaceData()
DOMCharacterData->substringData()

이전 | 위로 | 다음
DOMCharacterData->deleteData() | 처음으로 | DOMCharacterData->replaceData()


DOMCharacterData->replaceData()

(No version information available, might be only in CVS)

DOMCharacterData->replaceData() -- Replace a substring within the DOMCharacterData node

설명

class DOMCharacterData {
void replaceData ( int $offset, int $count, string $data )
}

Replace count characters starting from position offset with data.

매개변수

offset

The offset from which to start replacing.

count

The number of characters to replace. If the sum of offset and count exceeds the length, then all characters to the end of the data are replaced.

data

The string with which the range must be replaced.

반환값

값을 반환하지 않습니다.

오류/예외

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

참고

DOMCharacterData->appendData()
DOMCharacterData->deleteData()
DOMCharacterData->insertData()
DOMCharacterData->substringData()

이전 | 위로 | 다음
DOMCharacterData->insertData() | 처음으로 | DOMCharacterData->substringData()


DOMCharacterData->substringData()

(No version information available, might be only in CVS)

DOMCharacterData->substringData() -- Extracts a range of data from the node

설명

class DOMCharacterData {
string substringData ( int $offset, int $count )
}

Returns the specified substring.

매개변수

offset

Start offset of substring to extract.

count

The number of characters to extract.

반환값

The specified substring. If the sum of offset and count exceeds the length, then all 16-bit units to the end of the data are returned.

오류/예외

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

참고

DOMCharacterData->appendData()
DOMCharacterData->deleteData()
DOMCharacterData->insertData()
DOMCharacterData->replaceData()

이전 | 위로 | 다음
DOMCharacterData->replaceData() | 처음으로 | DOMComment->__construct()


DOMDocument->createAttribute()

(No version information available, might be only in CVS)

DOMDocument->createAttribute() -- Create new attribute

설명

class DOMDocument {
DOMAttr createAttribute ( string $name )
}

This function creates a new instance of class DOMAttr. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

매개변수

name

The name of the attribute.

반환값

The new DOMAttr or FALSE if an error occured.

오류/예외

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

참고

DOMNode->appendChild()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMDocument->__construct() | 처음으로 | DOMDocument->createAttributeNS()


DOMDocument->createAttributeNS()

(No version information available, might be only in CVS)

DOMDocument->createAttributeNS() -- Create new attribute node with an associated namespace

설명

class DOMDocument {
DOMAttr createAttributeNS ( string $namespaceURI, string $qualifiedName )
}

This function creates a new instance of class DOMAttr. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

매개변수

namespaceURI

The URI of the namespace.

qualifiedName

The tag name and prefix of the attribute, as prefix:tagname.

반환값

The new DOMAttr or FALSE if an error occured.

오류/예외

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespaceURI is NULL.

참고

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMDocument->createAttribute() | 처음으로 | DOMDocument->createCDATASection()


DOMDocument->createCDATASection()

(No version information available, might be only in CVS)

DOMDocument->createCDATASection() -- Create new cdata node

설명

class DOMDocument {
DOMCDATASection createCDATASection ( string $data )
}

This function creates a new instance of class DOMCDATASection. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

매개변수

data

The content of the cdata.

반환값

The new DOMCDATASection or FALSE if an error occured.

참고

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMDocument->createAttributeNS() | 처음으로 | DOMDocument->createComment()


DOMDocument->createComment()

(No version information available, might be only in CVS)

DOMDocument->createComment() -- Create new comment node

설명

class DOMDocument {
DOMComment createComment ( string $data )
}

This function creates a new instance of class DOMComment. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

매개변수

data

The content of the comment.

반환값

The new DOMComment or FALSE if an error occured.

참고

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMDocument->createCDATASection() | 처음으로 | DOMDocument->createDocumentFragment()


DOMDocument->createDocumentFragment()

(No version information available, might be only in CVS)

DOMDocument->createDocumentFragment() -- Create new document fragment

설명

class DOMDocument {
DOMDocumentFragment createDocumentFragment ( void )
}

This function creates a new instance of class DOMDocumentFragment. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

반환값

The new DOMDocumentFragment or FALSE if an error occured.

참고

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMDocument->createComment() | 처음으로 | DOMDocument->createElement()


DOMDocument->createElement()

(No version information available, might be only in CVS)

DOMDocument->createElement() -- Create new element node

설명

class DOMDocument {
DOMElement createElement ( string $name [, string $value] )
}

This function creates a new instance of class DOMElement. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

매개변수

name

The tag name of the element.

value

The value of the element. By default, an empty element will be created. You can also set the value later with DOMElement->nodeValue.

반환값

Returns a new instance of class DOMElement or FALSE if an error occured.

오류/예외

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

예제

예 448. Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

$element = $dom->createElement('test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

위 예제의 출력:

<?xml version="1.0" encoding="iso-8859-1" ?>
<test>This is the root element!</test>

참고

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMDocument->createDocumentFragment() | 처음으로 | DOMDocument->createElementNS()


DOMDocument->createElementNS()

(No version information available, might be only in CVS)

DOMDocument->createElementNS() -- Create new element node with an associated namespace

설명

class DOMDocument {
DOMElement createElementNS ( string $namespaceURI, string $qualifiedName [, string $value] )
}

This function creates a new element node with an associated namespace. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

매개변수

namespaceURI

The URI of the namespace.

qualifiedName

The qualified name of the element, as prefix:tagname.

value

The value of the element. By default, an empty element will be created. You can also set the value later with DOMElement->nodeValue.

반환값

The new DOMElement or FALSE if an error occured.

오류/예외

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a maformed qualified name.

예제

예 449. Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

위 예제의 출력:

<?xml version="1.0" encoding="iso-8859-1" ?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>

참고

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMDocument->createElement() | 처음으로 | DOMDocument->createEntityReference()


DOMDocument->createEntityReference()

(No version information available, might be only in CVS)

DOMDocument->createEntityReference() -- Create new entity reference node

설명

class DOMDocument {
DOMEntityReference createEntityReference ( string $name )
}

This function creates a new instance of class DOMEntityReference. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

매개변수

name

The content of the entity reference, e.g. the entity reference minus the leading & and the trailing ; characters.

반환값

The new DOMEntityReference or FALSE if an error occured.

오류/예외

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

참고

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createProcessingInstruction()
DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMDocument->createElementNS() | 처음으로 | DOMDocument->createProcessingInstruction()


DOMDocument->createProcessingInstruction()

(No version information available, might be only in CVS)

DOMDocument->createProcessingInstruction() -- Creates new PI node

설명

class DOMDocument {
DOMProcessingInstruction createProcessingInstruction ( string $target [, string $data] )
}

This function creates a new instance of class DOMProcessingInstruction. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

매개변수

target

The target of the processing instruction.

data

The content of the processing instruction.

반환값

The new DOMProcessingInstruction or FALSE if an error occured.

오류/예외

DOM_INVALID_CHARACTER_ERR

Raised if target contains an invalid character.

참고

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMDocument->createEntityReference() | 처음으로 | DOMDocument->createTextNode()


DOMDocument->createTextNode()

(No version information available, might be only in CVS)

DOMDocument->createTextNode() -- Create new text node

설명

class DOMDocument {
DOMText createTextNode ( string $content )
}

This function creates a new instance of class DOMText. 이 노드는 DOMNode->appendChild() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

매개변수

content

The content of the text.

반환값

The new DOMText or FALSE if an error occured.

참고

DOMNode->appendChild()
DOMDocument->createAttribute()
DOMDocument->createAttributeNS()
DOMDocument->createCDATASection()
DOMDocument->createComment()
DOMDocument->createDocumentFragment()
DOMDocument->createElement()
DOMDocument->createElementNS()
DOMDocument->createEntityReference()
DOMDocument->createProcessingInstruction()

이전 | 위로 | 다음
DOMDocument->createProcessingInstruction() | 처음으로 | DOMDocument->getElementById()


DOMDocument->getElementById()

(No version information available, might be only in CVS)

DOMDocument->getElementById() -- Searches for an element with a certain id

설명

class DOMDocument {
DOMElement getElementById ( string $elementId )
}

This function is similar to DOMDocument->getElementsByTagName() but searches for an element with a given id.

For this function to work, you will need either to set some ID attributes with DOMElement->setIdAttribute() or a DTD which defines an attribute to be of type ID. In the later case, you will need to validate your document with DOMDocument->validate() or DOMDocument->validateOnParse before using this function.

매개변수

elementId

The unique id value for an element.

반환값

Returns the DOMElement or NULL if the element is not found.

예제

예 450. DOMDocument->getElementById() Example

<?php

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

echo "The element whose id is books is: " . $doc->getElementById('books')->tagName . "\n";

?>

위 예제의 출력:

The element whose id is books is: chapter

참고

DOMDocument->getElementsByTagName()

이전 | 위로 | 다음
DOMDocument->createTextNode() | 처음으로 | DOMDocument->getElementsByTagName()


DOMDocument->getElementsByTagName()

(No version information available, might be only in CVS)

DOMDocument->getElementsByTagName() -- Searches for all elements with given tag name

설명

class DOMDocument {
DOMNodeList getElementsByTagName ( string $name )
}

This function returns a new instance of class DOMNodeList containing the elements with a given tag name.

매개변수

name

The name of the tag to match on. The special value * matches all tags.

반환값

A new DOMNodeList object containing all the matched elements.

참고

DOMDocument->getElementsByTagNameNS()

이전 | 위로 | 다음
DOMDocument->getElementById() | 처음으로 | DOMDocument->getElementsByTagNameNS()


DOMDocument->getElementsByTagNameNS()

(No version information available, might be only in CVS)

DOMDocument->getElementsByTagNameNS() -- Searches for all elements with given tag name in specified namespace

설명

class DOMDocument {
DOMNodeList getElementsByTagNameNS ( string $namespaceURI, string $localName )
}

Returns a DOMNodeList of all elements with a given local name and a namespace URI.

매개변수

namespaceURI

The namespace URI of the elements to match on. The special value * matches all namespaces.

localName

The local name of the elements to match on. The special value * matches all local names.

반환값

A new DOMNodeList object containing all the matched elements.

예제

예 451. Get all the XInclude elements

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
 <xi:include href="book.xml">
  <xi:fallback>
   <error>xinclude: book.xml not found</error>
  </xi:fallback>
 </xi:include>
 <include>
  This is another namespace
 </include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// load the XML string defined above
$dom->loadXML($xml);

foreach ($dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
    echo 'local name: ', $element->localName, ', prefix: ', $element->prefix, "\n";
}
?>

위 예제의 출력:

local name: include, prefix: xi
local name: fallback, prefix: xi

참고

DOMDocument->getElementsByTagName()

이전 | 위로 | 다음
DOMDocument->getElementsByTagName() | 처음으로 | DOMDocument->importNode()


DOMDocument->importNode()

(No version information available, might be only in CVS)

DOMDocument->importNode() -- Import node into current document

설명

class DOMDocument {
DOMNode importNode ( DOMNode $importedNode [, bool $deep] )
}

This function returns a copy of the node to import and associates it with the current document.

매개변수

importedNode

The node to import.

deep

If set to TRUE, this method will recursively import the subtree under the importedNode.

반환값

The copied node.

오류/예외

DOMException is thrown if node cannot be imported.

이전 | 위로 | 다음
DOMDocument->getElementsByTagNameNS() | 처음으로 | DOMDocument->load()


DOMDocument->load()

(No version information available, might be only in CVS)

DOMDocument->load() -- Load XML from a file

설명

class DOMDocument {
mixed load ( string $filename [, int $options] )
}

Loads an XML document from a file.

매개변수

filename

The path to the XML document.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. If called statically, returns a DOMDocument but also causes an E_STRICT warning.

오류/예외

If an empty string is passed as the filename or an empty file is named, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

예제

예 452. Creating a Document

<?php
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
?>

참고

DOMDocument->loadXML()
DOMDocument->save()
DOMDocument->saveXML()

이전 | 위로 | 다음
DOMDocument->importNode() | 처음으로 | DOMDocument->loadHTML()


DOMDocument->loadHTML()

(No version information available, might be only in CVS)

DOMDocument->loadHTML() -- Load HTML from a string

설명

class DOMDocument {
bool loadHTML ( string $source )
}

The function parses the HTML contained in the string source. Unlike loading XML, HTML does not have to be well-formed to load. This function may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

매개변수

source

The HTML string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

If an empty string is passed as the source, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

예제

예 453. Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>

참고

DOMDocument->loadHTMLFile()
DOMDocument->saveHTML()
DOMDocument->saveHTMLFile()

이전 | 위로 | 다음
DOMDocument->load() | 처음으로 | DOMDocument->loadHTMLFile()


DOMDocument->loadHTMLFile()

(No version information available, might be only in CVS)

DOMDocument->loadHTMLFile() -- Load HTML from a file

설명

class DOMDocument {
bool loadHTMLFile ( string $filename )
}

The function parses the HTML document in the file named filename. Unlike loading XML, HTML does not have to be well-formed to load.

This function may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

매개변수

filename

The path to the HTML file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

If an empty string is passed as the filename or an empty file is named, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

예제

예 454. Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo $doc->saveHTML();
?>

참고

DOMDocument->loadHTML()
DOMDocument->saveHTML()
DOMDocument->saveHTMLFile()

이전 | 위로 | 다음
DOMDocument->loadHTML() | 처음으로 | DOMDocument->loadXML()


DOMDocument->loadXML()

(No version information available, might be only in CVS)

DOMDocument->loadXML() -- Load XML from a string

설명

class DOMDocument {
mixed loadXML ( string $source [, int $options] )
}

Loads an XML document from a string.

This method may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

매개변수

source

The string containing the XML.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. If called statically, returns a DOMDocument.

오류/예외

If an empty string is passed as the source, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

예제

예 455. Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

예 456. Static invocation of loadXML

<?php
$doc = DOMDocument::loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

참고

DOMDocument->load()
DOMDocument->save()
DOMDocument->saveXML()

이전 | 위로 | 다음
DOMDocument->loadHTMLFile() | 처음으로 | DOMDocument->normalizeDocument()


DOMDocument->relaxNGValidate()

(No version information available, might be only in CVS)

DOMDocument->relaxNGValidate() -- Performs relaxNG validation on the document

설명

class DOMDocument {
bool relaxNGValidate ( string $filename )
}

Performs » relaxNG validation on the document based on the given RNG schema.

매개변수

filename

The RNG file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

DOMDocument->relaxNGValidateSource()
DOMDocument->schemaValidate()
DOMDocument->schemaValidateSource()
DOMDocument->validate()

이전 | 위로 | 다음
DOMDocument->registerNodeClass() | 처음으로 | DOMDocument->relaxNGValidateSource()


DOMDocument->relaxNGValidateSource()

(No version information available, might be only in CVS)

DOMDocument->relaxNGValidateSource() -- Performs relaxNG validation on the document

설명

class DOMDocument {
bool relaxNGValidateSource ( string $source )
}

Performs » relaxNG validation on the document based on the given RNG source.

매개변수

source

A string containing the RNG schema.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

DOMDocument->relaxNGValidate()
DOMDocument->schemaValidate()
DOMDocument->schemaValidateSource()
DOMDocument->validate()

이전 | 위로 | 다음
DOMDocument->relaxNGValidate() | 처음으로 | DOMDocument->save()


DOMDocument->save()

(No version information available, might be only in CVS)

DOMDocument->save() -- Dumps the internal XML tree back into a file

설명

class DOMDocument {
mixed save ( string $filename [, int $options] )
}

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

매개변수

filename

The path to the saved XML document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

반환값

Returns the number of bytes written or FALSE if an error occurred.

변경 기록

버전 | 설명
5.1.0 | Added the options parameter

예제

예 458. Saving a DOM tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Wrote: ' . $doc->save("/tmp/test.xml") . ' bytes'; // Wrote: 72 bytes

?>

참고

DOMDocument->saveXML()
DOMDocument->load()
DOMDocument->loadXML()

이전 | 위로 | 다음
DOMDocument->relaxNGValidateSource() | 처음으로 | DOMDocument->saveHTML()


DOMDocument->saveHTML()

(No version information available, might be only in CVS)

DOMDocument->saveHTML() -- Dumps the internal document into a string using HTML formatting

설명

class DOMDocument {
string saveHTML ( void )
}

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

반환값

Returns the HTML, or FALSE if an error occurred.

예제

예 459. Saving a HTML tree into a string

<?php

$doc = new DOMDocument('1.0');

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo $doc->saveHTML();

?>

참고

DOMDocument->saveHTMLFile()
DOMDocument->loadHTML()
DOMDocument->loadHTMLFile()

이전 | 위로 | 다음
DOMDocument->save() | 처음으로 | DOMDocument->saveHTMLFile()


DOMDocument->saveHTMLFile()

(No version information available, might be only in CVS)

DOMDocument->saveHTMLFile() -- Dumps the internal document into a file using HTML formatting

설명

class DOMDocument {
int saveHTMLFile ( string $filename )
}

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

매개변수

filename

The path to the saved HTML document.

반환값

Returns the number of bytes written or FALSE if an error occurred.

예제

예 460. Saving a HTML tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo 'Wrote: ' . $doc->saveHTMLFile("/tmp/test.html") . ' bytes'; // Wrote: 129 bytes

?>

참고

DOMDocument->saveHTML()
DOMDocument->loadHTML()
DOMDocument->loadHTMLFile()

이전 | 위로 | 다음
DOMDocument->saveHTML() | 처음으로 | DOMDocument->saveXML()


DOMDocument->saveXML()

(No version information available, might be only in CVS)

DOMDocument->saveXML() -- Dumps the internal XML tree back into a string

설명

class DOMDocument {
string saveXML ( [DOMNode $node [, int $options]] )
}

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

매개변수

node

Use this parameter to output only a specific node without XML declaration rather than the entire document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

반환값

Returns the XML, or FALSE if an error occurred.

오류/예외

DOM_WRONG_DOCUMENT_ERR

Raised if node is from another document.

변경 기록

버전 | 설명
5.1.0 | Added the options parameter

예제

예 461. Saving a DOM tree into a string

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo "Saving all the document:\n";
echo $doc->saveXML() . "\n";

echo "Saving only the title part:\n";
echo $doc->saveXML($title);

?>

위 예제의 출력:

Saving all the document:
<?xml version="1.0"?>
<book>
  <title>This is the title</title>
</book>

Saving only the title part:
<title>This is the title</title>

참고

DOMDocument->save()
DOMDocument->load()
DOMDocument->loadXML()

이전 | 위로 | 다음
DOMDocument->saveHTMLFile() | 처음으로 | DOMDocument->schemaValidate()


DOMDocument->schemaValidate()

(No version information available, might be only in CVS)

DOMDocument->schemaValidate() -- Validates a document based on a schema

설명

class DOMDocument {
bool schemaValidate ( string $filename )
}

Validates a document based on the given schema file.

매개변수

filename

The path to the schema.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

DOMDocument->schemaValidateSource()
DOMDocument->relaxNGValidate()
DOMDocument->relaxNGValidateSource()
DOMDocument->validate()

이전 | 위로 | 다음
DOMDocument->saveXML() | 처음으로 | DOMDocument->schemaValidateSource()


DOMDocument->schemaValidateSource()

(No version information available, might be only in CVS)

DOMDocument->schemaValidateSource() -- Validates a document based on a schema

설명

class DOMDocument {
bool schemaValidateSource ( string $source )
}

Validates a document based on a schema defined in the given string.

매개변수

source

A string containing the schema.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

DOMDocument->schemaValidate()
DOMDocument->relaxNGValidate()
DOMDocument->relaxNGValidateSource()
DOMDocument->validate()

이전 | 위로 | 다음
DOMDocument->schemaValidate() | 처음으로 | DOMDocument->validate()


DOMDocument->validate()

(No version information available, might be only in CVS)

DOMDocument->validate() -- Validates the document based on its DTD

설명

class DOMDocument {
bool validate ( void )
}

Validates the document based on its DTD.

You can also use the validateOnParse property of DOMDocument to make a DTD validation.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. If the document have no DTD attached, this method will return FALSE.

예제

예 462. Example of DTD validation

<?php
$dom = new DOMDocument;
$dom->Load('book.xml');
if ($dom->validate()) {
    echo "This document is valid!\n";
}
?>

You can also validate your XML file while loading it:

<?php
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->Load('book.xml');
?>

참고

DOMDocument->schemaValidate()
DOMDocument->schemaValidateSource()
DOMDocument->relaxNGValidate()
DOMDocument->relaxNGValidateSource()

이전 | 위로 | 다음
DOMDocument->schemaValidateSource() | 처음으로 | DOMDocument->xinclude()


DOMDocument->xinclude()

(No version information available, might be only in CVS)

DOMDocument->xinclude() -- Substitutes XIncludes in a DOMDocument Object

설명

class DOMDocument {
int xinclude ( [int $options] )
}

This method substitutes » XIncludes in a DOMDocument object.

참고: Due to libxml2 automatically resolving entities, this method will produce unexpected results if the included XML file have an attached DTD.

매개변수

options

libxml parameters. Available since PHP 5.1.0 and Libxml 2.6.7.

반환값

Returns the number of XIncludes in the document.

예제

예 463. DOMDocument->xinclude() example

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Books of the other guy..</title>
 <para>
  <xi:include href="book.xml">
   <xi:fallback>
    <error>xinclude: book.xml not found</error>
   </xi:fallback>
  </xi:include>
 </para>
</chapter>
EOD;

$dom = new DOMDocument;

// let's have a nice output
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

// load the XML string defined above
$dom->loadXML($xml);

// substitute xincludes
$dom->xinclude();

echo $dom->saveXML();

?>

위 예제의 출력 예:

<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
<row xml:base="/home/didou/book.xml">
<entry>The Grapes of Wrath</entry>
<entry>John Steinbeck</entry>
<entry>en</entry>
<entry>0140186409</entry>
</row>
<row xml:base="/home/didou/book.xml">
<entry>The Pearl</entry>
<entry>John Steinbeck</entry>
<entry>en</entry>
<entry>014017737X</entry>
</row>
<row xml:base="/home/didou/book.xml">
<entry>Samarcande</entry>
<entry>Amine Maalouf</entry>
<entry>fr</entry>
<entry>2253051209</entry>
</row>
</para>
</chapter>

이전 | 위로 | 다음
DOMDocument->validate() | 처음으로 | DOMDocumentFragment->appendXML()


DOMElement->getAttribute()

(No version information available, might be only in CVS)

DOMElement->getAttribute() -- Returns value of attribute

설명

class DOMElement {
string getAttribute ( string $name )
}

Gets the value of the attribute with name name for the current node.

매개변수

name

The name of the attribute.

반환값

The value of the attribute, or an empty string if no attribute with the given name is found.

참고

DOMElement->hasAttribute()
DOMElement->setAttribute()
DOMElement->removeAttribute()

이전 | 위로 | 다음
DOMElement->__construct() | 처음으로 | DOMElement->getAttributeNode()


DOMElement->getAttributeNode()

(No version information available, might be only in CVS)

DOMElement->getAttributeNode() -- Returns attribute node

설명

class DOMElement {
DOMAttr getAttributeNode ( string $name )
}

Returns the attribute node with name name for the current element.

매개변수

name

The name of the attribute.

반환값

The attribute node.

참고

DOMElement->hasAttribute()
DOMElement->setAttributeNode()
DOMElement->removeAttributeNode()

이전 | 위로 | 다음
DOMElement->getAttribute() | 처음으로 | DOMElement->getAttributeNodeNS()


DOMElement->getAttributeNodeNS()

(No version information available, might be only in CVS)

DOMElement->getAttributeNodeNS() -- Returns attribute node

설명

class DOMElement {
DOMAttr getAttributeNodeNS ( string $namespaceURI, string $localName )
}

Returns the attribute node in namespace namespaceURI with local name localName for the current node.

매개변수

namespaceURI

The namespace URI.

localName

The local name.

반환값

The attribute node.

참고

DOMElement->hasAttributeNS()
DOMElement->setAttributeNodeNS()
DOMElement->removeAttributeNode()

이전 | 위로 | 다음
DOMElement->getAttributeNode() | 처음으로 | DOMElement->getAttributeNS()


DOMElement->getAttributeNS()

(No version information available, might be only in CVS)

DOMElement->getAttributeNS() -- Returns value of attribute

설명

class DOMElement {
string getAttributeNS ( string $namespaceURI, string $localName )
}

Gets the value of the attribute in namespace namespaceURI with local name localName for the current node.

매개변수

namespaceURI

The namespace URI.

localName

The local name.

반환값

The value of the attribute, or an empty string if no attribute with the given localName and namespaceURI is found.

참고

DOMElement->hasAttributeNS()
DOMElement->setAttributeNS()
DOMElement->removeAttributeNS()

이전 | 위로 | 다음
DOMElement->getAttributeNodeNS() | 처음으로 | DOMElement->getElementsByTagName()


DOMElement->getElementsByTagName()

(No version information available, might be only in CVS)

DOMElement->getElementsByTagName() -- Gets elements by tagname

설명

class DOMElement {
DOMNodeList getElementsByTagName ( string $name )
}

This function returns a new instance of the class DOMNodeList of all descendant elements with a given tag name, in the order in which they are encountered in a preorder traversal of this element tree.

매개변수

name

The tag name. Use * to return all elements within the element tree.

반환값

This function returns a new instance of the class DOMNodeList of all matched elements.

참고

DOMElement->getElementsByTagNameNS()

이전 | 위로 | 다음
DOMElement->getAttributeNS() | 처음으로 | DOMElement->getElementsByTagNameNS()


DOMElement->getElementsByTagNameNS()

(No version information available, might be only in CVS)

DOMElement->getElementsByTagNameNS() -- Get elements by namespaceURI and localName

설명

class DOMElement {
DOMNodeList getElementsByTagNameNS ( string $namespaceURI, string $localName )
}

This function fetch all the descendant elements with a given localName and namespaceURI.

매개변수

namespaceURI

The namespace URI.

localName

The local name. Use * to return all elements within the element tree.

반환값

This function returns a new instance of the class DOMNodeList of all matched elements in the order in which they are encountered in a preorder traversal of this element tree.

참고

DOMElement->getElementsByTagName()

이전 | 위로 | 다음
DOMElement->getElementsByTagName() | 처음으로 | DOMElement->hasAttribute()


DOMElement->hasAttribute()

(No version information available, might be only in CVS)

DOMElement->hasAttribute() -- Checks to see if attribute exists

설명

class DOMElement {
bool hasAttribute ( string $name )
}

Indicates whether attribute named name exists as a member of the element.

매개변수

name

The attribute name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

DOMElement->hasAttributeNS()
DOMElement->getAttribute()
DOMElement->setAttribute()
DOMElement->removeAttribute()

이전 | 위로 | 다음
DOMElement->getElementsByTagNameNS() | 처음으로 | DOMElement->hasAttributeNS()


DOMElement->hasAttributeNS()

(No version information available, might be only in CVS)

DOMElement->hasAttributeNS() -- Checks to see if attribute exists

설명

class DOMElement {
bool hasAttributeNS ( string $namespaceURI, string $localName )
}

Indicates whether attribute in namespace namespaceURI named localName exists as a member of the element.

매개변수

namespaceURI

The namespace URI.

localName

The local name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

DOMElement->hasAttribute()
DOMElement->getAttributeNS()
DOMElement->setAttributeNS()
DOMElement->removeAttributeNS()

이전 | 위로 | 다음
DOMElement->hasAttribute() | 처음으로 | DOMElement->removeAttribute()


DOMElement->removeAttribute()

(No version information available, might be only in CVS)

DOMElement->removeAttribute() -- Removes attribute

설명

class DOMElement {
bool removeAttribute ( string $name )
}

Removes attribute named name from the element.

매개변수

name

The name of the attribute.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

참고

DOMElement->hasAttribute()
DOMElement->getAttribute()
DOMElement->setAttribute()

이전 | 위로 | 다음
DOMElement->hasAttributeNS() | 처음으로 | DOMElement->removeAttributeNode()


DOMElement->removeAttributeNode()

(No version information available, might be only in CVS)

DOMElement->removeAttributeNode() -- Removes attribute

설명

class DOMElement {
bool removeAttributeNode ( DOMAttr $oldnode )
}

Removes attribute oldnode from the element.

매개변수

oldnode

The attribute node.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND_ERROR

Raised if oldnode is not an attribute of the element.

참고

DOMElement->hasAttribute()
DOMElement->getAttributeNode()
DOMElement->setAttributeNode()

이전 | 위로 | 다음
DOMElement->removeAttribute() | 처음으로 | DOMElement->removeAttributeNS()


DOMElement->removeAttributeNS()

(No version information available, might be only in CVS)

DOMElement->removeAttributeNS() -- Removes attribute

설명

class DOMElement {
bool removeAttributeNS ( string $namespaceURI, string $localName )
}

Removes attribute is namespace namespaceURI named localName from the element.

매개변수

namespaceURI

The namespace URI.

localName

The local name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

참고

DOMElement->hasAttributeNS()
DOMElement->getAttributeNS()
DOMElement->setAttributeNS()

이전 | 위로 | 다음
DOMElement->removeAttributeNode() | 처음으로 | DOMElement->setAttribute()


DOMElement->setAttribute()

(No version information available, might be only in CVS)

DOMElement->setAttribute() -- Adds new attribute

설명

class DOMElement {
bool setAttribute ( string $name, string $value )
}

Sets an attribute with name name to the given value. If the attribute does not exist, it will be created.

매개변수

name

The name of the attribute.

value

The value of the attribute.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

예제

예 466. Setting an attribute

<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>

참고

DOMElement->hasAttribute()
DOMElement->getAttribute()
DOMElement->removeAttribute()

이전 | 위로 | 다음
DOMElement->removeAttributeNS() | 처음으로 | DOMElement->setAttributeNode()


DOMElement->setAttributeNode()

(No version information available, might be only in CVS)

DOMElement->setAttributeNode() -- Adds new attribute node to element

설명

class DOMElement {
DOMAttr setAttributeNode ( DOMAttr $attr )
}

Adds new attribute node attr to element.

매개변수

attr

The attribute node.

반환값

Returns old node if the attribute has been replaced or NULL.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

참고

DOMElement->hasAttribute()
DOMElement->getAttributeNode()
DOMElement->removeAttributeNode()

이전 | 위로 | 다음
DOMElement->setAttribute() | 처음으로 | DOMElement->setAttributeNodeNS()


DOMElement->setAttributeNodeNS()

(No version information available, might be only in CVS)

DOMElement->setAttributeNodeNS() -- Adds new attribute node to element

설명

class DOMElement {
DOMAttr setAttributeNodeNS ( DOMAttr $attr )
}

Adds new attribute node attr to element.

매개변수

name

The attribute node.

반환값

Returns the old node if the attribute has been replaced.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

참고

DOMElement->hasAttributeNS()
DOMElement->getAttributeNodeNS()
DOMElement->removeAttributeNode()

이전 | 위로 | 다음
DOMElement->setAttributeNode() | 처음으로 | DOMElement->setAttributeNS()


DOMElement->setAttributeNS()

(No version information available, might be only in CVS)

DOMElement->setAttributeNS() -- Adds new attribute

설명

class DOMElement {
void setAttributeNS ( string $namespaceURI, string $qualifiedName, string $value )
}

Sets an attribute with namespace namespaceURI and name name to the given value. If the attribute does not exist, it will be created.

매개변수

namespaceURI

The namespace URI.

qualifiedName

The qualified name of the attribute, as prefix:tagname.

value

The value of the attribute.

반환값

값을 반환하지 않습니다.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespaceURI is NULL.

참고

DOMElement->hasAttributeNS()
DOMElement->getAttributeNS()
DOMElement->removeAttributeNS()

이전 | 위로 | 다음
DOMElement->setAttributeNodeNS() | 처음으로 | DOMElement->setIdAttribute()


DOMImplementation->createDocument()

(No version information available, might be only in CVS)

DOMImplementation->createDocument() -- Creates a DOMDocument object of the specified type with its document element

설명

class DOMImplementation {
DOMDocument createDocument ( [string $namespaceURI [, string $qualifiedName [, DOMDocumentType $doctype]]] )
}

Creates a DOMDocument object of the specified type with its document element.

매개변수

namespaceURI

The namespace URI of the document element to create.

qualifiedName

The qualified name of the document element to create.

doctype

The type of document to create or NULL.

반환값

A new DOMDocument object. If namespaceURI, qualifiedName, and doctype are null, the returned DOMDocument is empty with no document element

오류/예외

DOM_WRONG_DOCUMENT_ERR

Raised if doctype has already been used with a different document or was created from a different implementation.

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by namespaceURI and qualifiedName.

참고

DOMDocument->__construct()
DOMImplementation->createDocumentType()

이전 | 위로 | 다음
DOMImplementation->__construct() | 처음으로 | DOMImplementation->createDocumentType()


DOMImplementation->createDocumentType()

(No version information available, might be only in CVS)

DOMImplementation->createDocumentType() -- Creates an empty DOMDocumentType object

설명

class DOMImplementation {
DOMDocumentType createDocumentType ( [string $qualifiedName [, string $publicId [, string $systemId]]] )
}

Creates an empty DOMDocumentType object. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur.

매개변수

qualifiedName

The qualified name of the document type to create.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

반환값

A new DOMDocumentType node with its ownerDocument set to NULL.

예제

예 468. Creating a document with an attached DTD

<?php

// Creates an instance of the DOMImplementation class
$imp = new DOMImplementation;

// Creates a DOMDocumentType instance
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

// Creates a DOMDocument instance
$dom = $imp->createDocument("", "", $dtd);

// Set other properties
$dom->encoding = 'UTF-8';
$dom->standalone = false;

// Create an empty element
$element = $dom->createElement('graph');

// Append the element
$dom->appendChild($element);

// Retrieve and print the document
echo $dom->saveXML();

?>

위 예제의 출력:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

오류/예외

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by qualifiedName.

참고

DOMImplementation->createDocument()

이전 | 위로 | 다음
DOMImplementation->createDocument() | 처음으로 | DOMImplementation->hasFeature()


DOMImplementation->hasFeature()

(No version information available, might be only in CVS)

DOMImplementation->hasFeature() -- Test if the DOM implementation implements a specific feature

설명

class DOMImplementation {
bool hasFeature ( string $feature, string $version )
}

Test if the DOM implementation implements a specific feature.

You can find a list of all features in the » Conformance section of the DOM specification.

매개변수

feature

The feature to test.

version

The version number of the feature to test. In level 2, this can be either 2.0 or 1.0.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 469. Testing your DOM Implementation

<?php

$features = array(
  'Core'           => 'Core module',
  'XML'            => 'XML module',
  'HTML'           => 'HTML module',
  'Views'          => 'Views module',
  'Stylesheets'    => 'Style Sheets module',
  'CSS'            => 'CSS module',
  'CSS2'           => 'CSS2 module',
  'Events'         => 'Events module',
  'UIEvents'       => 'User interface Events module',
  'MouseEvents'    => 'Mouse Events module',
  'MutationEvents' => 'Mutation Events module',
  'HTMLEvents'     => 'HTML Events module',
  'Range'          => 'Range module',
  'Traversal'      => 'Traversal module'
);

foreach ($features as $key => $name) {
  if (DOMImplementation::hasFeature($key, '2.0')) {
    echo "Has feature $name\n";
  } else {
    echo "Missing feature $name\n";
  }
}

?>

참고

DOMNode->isSupported()

이전 | 위로 | 다음
DOMImplementation->createDocumentType() | 처음으로 | DOMNamedNodeMap->getNamedItem()


DOMNamedNodeMap->getNamedItem()

(No version information available, might be only in CVS)

DOMNamedNodeMap->getNamedItem() -- Retrieves a node specified by name

설명

class DOMNamedNodeMap {
DOMNode getNamedItem ( string $name )
}

Retrieves a node specified by its nodeName.

매개변수

name

The nodeName of the node to retrieve.

반환값

A node (of any type) with the specified nodeName, or NULL if no node is found.

참고

DOMNamedNodeMap->getNamedItemNS()

이전 | 위로 | 다음
DOMImplementation->hasFeature() | 처음으로 | DOMNamedNodeMap->getNamedItemNS()


DOMNamedNodeMap->getNamedItemNS()

(No version information available, might be only in CVS)

DOMNamedNodeMap->getNamedItemNS() -- Retrieves a node specified by local name and namespace URI

설명

class DOMNamedNodeMap {
DOMNode getNamedItemNS ( string $namespaceURI, string $localName )
}

Retrieves a node specified by localName and namespaceURI.

매개변수

namespaceURI

The namespace URI of the node to retrieve.

localName

The local name of the node to retrieve.

반환값

A node (of any type) with the specified local name and namespace URI, or NULL if no node is found.

참고

DOMNamedNodeMap->getNamedItem()

이전 | 위로 | 다음
DOMNamedNodeMap->getNamedItem() | 처음으로 | DOMNamedNodeMap->item()


DOMNamedNodeMap->item()

(No version information available, might be only in CVS)

DOMNamedNodeMap->item() -- Retrieves a node specified by index

설명

class DOMNamedNodeMap {
DOMNode item ( int $index )
}

Retrieves a node specified by index within the DOMNamedNodeMap object.

매개변수

index

Index into this map.

반환값

The node at the indexth position in the map, or NULL if that is not a valid index (greater than or equal to the number of nodes in this map).

이전 | 위로 | 다음
DOMNamedNodeMap->getNamedItemNS() | 처음으로 | DOMNode->appendChild()


DOMNode->appendChild()

(No version information available, might be only in CVS)

DOMNode->appendChild() -- Adds new child at the end of the children

설명

class DOMNode {
DOMNode appendChild ( DOMNode $newnode )
}

This functions appends a child to an existing list of children or creates a new list of children. The child can be created with e.g. DOMDocument->createElement(), DOMDocument->createTextNode() etc. or simply by using any other node.

매개변수

newnode

The appended child.

반환값

The node added.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to append is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

예제

The following example will add a new element node to a fresh document.

예 470. Adding a child

<?php

$doc = new DOMDocument;

$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);

echo $doc->saveXML();
?>

참고

DOMNode->removeChild()
DOMNode->replaceChild()

이전 | 위로 | 다음
DOMNamedNodeMap->item() | 처음으로 | DOMNode->cloneNode()


DOMNode->cloneNode()

(No version information available, might be only in CVS)

DOMNode->cloneNode() -- Clones a node

설명

class DOMNode {
DOMNode cloneNode ( [bool $deep] )
}

Creates a copy of the node.

매개변수

deep

Indicates whether to copy all descendant nodes. This parameter is defaulted to FALSE.

반환값

The cloned node.

이전 | 위로 | 다음
DOMNode->appendChild() | 처음으로 | DOMNode->hasAttributes()


DOMNode->hasAttributes()

(No version information available, might be only in CVS)

DOMNode->hasAttributes() -- Checks if node has attributes

설명

class DOMNode {
bool hasAttributes ( void )
}

This method checks if the node has attributes. The tested node have to be an XML_ELEMENT_NODE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

DOMNode->hasChildNodes()

이전 | 위로 | 다음
DOMNode->cloneNode() | 처음으로 | DOMNode->hasChildNodes()


DOMNode->hasChildNodes()

(No version information available, might be only in CVS)

DOMNode->hasChildNodes() -- Checks if node has children

설명

class DOMNode {
bool hasChildNodes ( void )
}

This function checks if the node has children.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

DOMNode->hasAttributes()

이전 | 위로 | 다음
DOMNode->hasAttributes() | 처음으로 | DOMNode->insertBefore()


DOMNode->insertBefore()

(No version information available, might be only in CVS)

DOMNode->insertBefore() -- Adds a new child before a reference node

설명

class DOMNode {
DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode] )
}

This function inserts a new node right before the reference node. If you plan to do further modifications on the appended child you must use the returned node.

매개변수

newnode

The new node.

refnode

The reference node. If not supplied, newnode is appended to the children.

반환값

The inserted node.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to append is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if refnode is not a child of this node.

이전 | 위로 | 다음
DOMNode->hasChildNodes() | 처음으로 | DOMNode->isDefaultNamespace()


DOMNode->isSameNode()

(No version information available, might be only in CVS)

DOMNode->isSameNode() -- Indicates if two nodes are the same node

설명

class DOMNode {
bool isSameNode ( DOMNode $node )
}

This function indicates if two nodes are the same node. The comparison is not based on content

매개변수

node

The compared node.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
DOMNode->isDefaultNamespace() | 처음으로 | DOMNode->isSupported()


DOMNode->isSupported()

(No version information available, might be only in CVS)

DOMNode->isSupported() -- Checks if feature is supported for specified version

설명

class DOMNode {
bool isSupported ( string $feature, string $version )
}

Checks if the asked feature is supported for the specified version.

매개변수

feature

The feature to test. See the example of DOMImplementation->hasFeature() for a list of features.

version

The version number of the feature to test.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

DOMImplementation->hasFeature()

이전 | 위로 | 다음
DOMNode->isSameNode() | 처음으로 | DOMNode->lookupNamespaceURI()


DOMNode->lookupNamespaceURI()

(No version information available, might be only in CVS)

DOMNode->lookupNamespaceURI() -- Gets the namespace URI of the node based on the prefix

설명

class DOMNode {
string lookupNamespaceURI ( string $prefix )
}

Gets the namespace URI of the node based on the prefix.

매개변수

prefix

The prefix of the namespace.

반환값

The namespace URI of the node.

참고

DOMNode->lookupPrefix()

이전 | 위로 | 다음
DOMNode->isSupported() | 처음으로 | DOMNode->lookupPrefix()


DOMNode->lookupPrefix()

(No version information available, might be only in CVS)

DOMNode->lookupPrefix() -- Gets the namespace prefix of the node based on the namespace URI

설명

class DOMNode {
string lookupPrefix ( string $namespaceURI )
}

Gets the namespace prefix of the node based on the namespace URI.

매개변수

namespaceURI

The namespace URI.

반환값

The prefix of the namespace.

참고

DOMNode->lookupNamespaceURI()

이전 | 위로 | 다음
DOMNode->lookupNamespaceURI() | 처음으로 | DOMNode->normalize()


DOMNode->normalize()

(No version information available, might be only in CVS)

DOMNode->normalize() -- Normalizes the node

설명

class DOMNode {
void normalize ( void )
}

Normalizes the node.

반환값

값을 반환하지 않습니다.

참고

» The DOM Specification
DOMDocument->normalizeDocument()

이전 | 위로 | 다음
DOMNode->lookupPrefix() | 처음으로 | DOMNode->removeChild()


DOMNode->removeChild()

(No version information available, might be only in CVS)

DOMNode->removeChild() -- Removes child from list of children

설명

class DOMNode {
DOMNode removeChild ( DOMNode $oldnode )
}

This functions removes a child from a list of children.

매개변수

oldnode

The removed child.

반환값

If the child could be removed the functions returns the old child.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly.

DOM_NOT_FOUND

Raised if oldnode is not a child of this node.

예제

The following example will delete the chapter element of our XML document.

예 471. Removing a child

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$book = $doc->documentElement;

// we retrieve the chapter and remove it from the book
$chapter = $book->getElementsByTagName('chapter')->item(0);
$oldchapter = $book->removeChild($chapter);

echo $doc->saveXML();
?>

위 예제의 출력:

<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="listing">
<title>My lists</title>

</book>

참고

DOMNode->appendChild()
DOMNode->replaceChild()

이전 | 위로 | 다음
DOMNode->normalize() | 처음으로 | DOMNode->replaceChild()


DOMNode->replaceChild()

(No version information available, might be only in CVS)

DOMNode->replaceChild() -- Replaces a child

설명

class DOMNode {
DOMNode replaceChild ( DOMNode $newnode, DOMNode $oldnode )
}

This function replaces the child oldnode with the passed new node. If the new node is already a child it will not be added a second time. If the replacement succeeds the old node is returned.

매개변수

newnode

The new node. It must be a member of the target document, i.e. created by one of the DOMDocument->createXXX() methods or imported in the document by DOMDocument->importNode().

oldnode

The old node.

반환값

The old node or FALSE if an error occur.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if oldnode is not a child of this node.

참고

DOMNode->appendChild()
DOMNode->removeChild()

이전 | 위로 | 다음
DOMNode->removeChild() | 처음으로 | DOMNodelist->item()


DOMNodelist->item()

(No version information available, might be only in CVS)

DOMNodelist->item() -- Retrieves a node specified by index

설명

class DOMNodeList {
DOMNode item ( int $index )
}

Retrieves a node specified by index within the DOMNodeList object.

작은 정보

If you need to know the number of nodes in the collection, use the length property of the DOMNodeList object.

매개변수

index

Index of the node into the collection.

반환값

The node at the indexth position in the DOMNodeList, or NULL if that is not a valid index.

예제

예 472. Traversing all the entries of the table

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$items = $doc->getElementsByTagName('entry');

for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "\n";
}

?>

Alternatively, you can use foreach, which is a much more convenient way:

<?php

foreach ($items as $item) {
    echo $item->nodeValue . "\n";
}

?>

위 예제의 출력:

Title
Author
Language
ISBN
The Grapes of Wrath
John Steinbeck
en
0140186409
The Pearl
John Steinbeck
en
014017737X
Samarcande
Amine Maalouf
fr
2253051209

이전 | 위로 | 다음
DOMNode->replaceChild() | 처음으로 | DOMProcessingInstruction->__construct()


DOMText->isWhitespaceInElementContent()

(No version information available, might be only in CVS)

DOMText->isWhitespaceInElementContent() -- Indicates whether this text node contains whitespace

설명

class DOMText {
bool isWhitespaceInElementContent ( void )
}

Indicates whether this text node contains whitespace. The text node is determined to contain whitespace in element content during the load of the document.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
DOMText->__construct() | 처음으로 | DOMText->splitText()


DOMText->splitText()

(No version information available, might be only in CVS)

DOMText->splitText() -- Breaks this node into two nodes at the specified offset

설명

class DOMText {
DOMText splitText ( int $offset )
}

Breaks this node into two nodes at the specified offset, keeping both in the tree as siblings.

After being split, this node will contain all the content up to the offset. If the original node had a parent node, the new node is inserted as the next sibling of the original node. When the offset is equal to the length of this node, the new node has no data.

매개변수

offset

The offset at which to split, starting from 0.

반환값

The new node of the same type, which contains all the content at and after the offset.

이전 | 위로 | 다음
DOMText->isWhitespaceInElementContent() | 처음으로 | DOMXPath->__construct()


DOMXPath->query()

(No version information available, might be only in CVS)

DOMXPath->query() -- Evaluates the given XPath expression

설명

class DOMXPath {
DOMNodeList query ( string $expression [, DOMNode $contextnode] )
}

Executes the given XPath expression.

매개변수

expression

The XPath expression to execute.

contextnode

The optional contextnode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

반환값

Returns a DOMNodeList containing all nodes matching the given XPath expression. Any expression which do not return nodes will return an empty DOMNodeList.

예제

예 476. Getting all the english books

<?php

$doc = new DOMDocument;

// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;

$doc->Load('book.xml');

$xpath = new DOMXPath($doc);

// We starts from the root element
$query = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';

$entries = $xpath->query($query);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

위 예제의 출력:

Found The Grapes of Wrath, by John Steinbeck
Found The Pearl, by John Steinbeck

We can also use the contextnode parameter to shorten our expression:

<?php

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'row/entry[. = "en"]';

$entries = $xpath->query($query, $tbody);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

참고

DOMXPath->evaluate()

이전 | 위로 | 다음
DOMXPath->evaluate() | 처음으로 | DOMXPath->registerNamespace()


DOMXPath->registerNamespace()

(No version information available, might be only in CVS)

DOMXPath->registerNamespace() -- Registers the namespace with the DOMXPath object

설명

class DOMXPath {
bool registerNamespace ( string $prefix, string $namespaceURI )
}

Registers the namespaceURI and prefix with the DOMXPath object.

매개변수

prefix

The prefix.

namespaceURI

The URI of the namespace.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
DOMXPath->query() | 처음으로 | dom_import_simplexml


dom_import_simplexml

(PHP 5)

dom_import_simplexml -- Gets a DOMElement object from a SimpleXMLElement object

설명

DOMElement dom_import_simplexml ( SimpleXMLElement $node )

This function takes the node node of class SimpleXML and makes it into a DOMElement node. This new object can then be used as a native DOMElement node.

매개변수

node

The SimpleXMLElement node.

반환값

The DOMElement node added or FALSE if any errors occur.

예제

예 477. Import SimpleXML into DOM with dom_import_simplexml()

<?php

$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');

if ($sxe === false) {
    echo 'Error while parsing the document';
    exit;
}

$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
    echo 'Error while converting XML';
    exit;
}

$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);

echo $dom->saveXML();

?>

참고

simplexml_import_dom()

이전 | 위로 | 다음
DOMXPath->registerNamespace() | 처음으로 | XXXII. DOM XML Functions


DOM XML Functions

이전 VI. 함수 레퍼런스 다음

XXXII. DOM XML Functions

소개

The DOM XML extension has been overhauled in PHP 4.3.0 to better comply with the DOM standard. The extension still contains many old functions, but they should no longer be used. In particular, functions that are not object-oriented should be avoided.

The extension allows you to operate on an XML document with the DOM API. It also provides a function domxml_xmltree() to turn the complete XML document into a tree of PHP objects. Currently, this tree should be considered read-only - you can modify it, but this would not make any sense since DomDocument_dump_mem() cannot be applied to it. Therefore, if you want to read an XML file and write a modified version, use DomDocument_create_element(), DomDocument_create_text_node(), set_attribute(), etc. and finally the DomDocument_dump_mem() function.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

참고: This extension is no longer marked experimental. It will, however, never be released with PHP 5, and will only be distributed with PHP 4. If you need DOM XML support with PHP 5 you can use the DOM extension. This domxml extension is not compatible with the DOM extension.

요구 조건

This extension makes use of the » GNOME XML library. Download and install this library. You will need at least libxml-2.4.14. To use DOM XSLT features you can use the » libxslt library and EXSLT enhancements from » http://www.exslt.org/. Download and install these libraries if you plan to use (enhanced) XSLT features. You will need at least libxslt-1.0.18.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/domxml.

PHP 4에서 이 PECL 확장의 소스는 PHP 소스의 ext/ 디렉토리 안이나, 위의 PECL 링크에서 찾을 수 있습니다. This extension is only available if PHP was configured with --with-dom[=DIR]. Add --with-dom-xslt[=DIR] to include DOM XSLT support. DIR is the libxslt install directory. Add --with-dom-exslt[=DIR] to include DOM EXSLT support, where DIR is the libexslt install directory.

Windows users will enable php_domxml.dll inside of php.ini in order to use these functions. PHP 4에서 이 DLL 형식은 내려받은 PHP 윈도우 바이너리 안의 extensions/ 디렉토리 안에 있습니다. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다. Also, there is one additional DLL that must be made available to your system's PATH in order for this extension to work. In PHP 4 this is in the dlls/ directory. It's name: For PHP <= 4.2.0, it's libxml2.dll. For PHP >= 4.3.0, it's iconv.dll. And as of PHP 5.0.0, iconv is compiled into your Windows PHP binaries by default so no extra DLL is needed.

Deprecated functions

There are quite a few functions that do not fit into the DOM standard and should no longer be used. These functions are listed in the following table. The function DomNode_append_child() has changed its behaviour. It now adds a child and not a sibling. If this breaks your application, use the non-DOM function DomNode_append_sibling().

표 65. Deprecated functions and their replacements

Old function | New function
xmldoc | domxml_open_mem()
xmldocfile | domxml_open_file()
domxml_new_xmldoc | domxml_new_doc()
domxml_dump_mem | DomDocument_dump_mem()
domxml_dump_mem_file | DomDocument_dump_file()
DomDocument_dump_mem_file | DomDocument_dump_file()
DomDocument_add_root | DomDocument_create_element() followed by DomNode_append_child()
DomDocument_dtd | DomDocument_doctype()
DomDocument_root | DomDocument_document_element()
DomDocument_children | DomNode_child_nodes()
DomDocument_imported_node | No replacement.
DomNode_add_child | Create a new node with e.g. DomDocument_create_element() and add it with DomNode_append_child().
DomNode_children | DomNode_child_nodes()
DomNode_parent | DomNode_parent_node()
DomNode_new_child | Create a new node with e.g. DomDocument_create_element() and add it with DomNode_append_child().
DomNode_set_content | Create a new node with e.g. DomDocument_create_text_node() and add it with DomNode_append_child().
DomNode_get_content | Content is just a text node and can be accessed with DomNode_child_nodes().
DomNode_set_content | Content is just a text node and can be added with DomNode_append_child().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

표 66. XML constants

Constant | Value | Description
XML_ELEMENT_NODE (integer) | 1 | Node is an element
XML_ATTRIBUTE_NODE (integer) | 2 | Node is an attribute
XML_TEXT_NODE (integer) | 3 | Node is a piece of text
XML_CDATA_SECTION_NODE (integer) | 4 |
XML_ENTITY_REF_NODE (integer) | 5 |
XML_ENTITY_NODE (integer) | 6 | Node is an entity like &nbsp;
XML_PI_NODE (integer) | 7 | Node is a processing instruction
XML_COMMENT_NODE (integer) | 8 | Node is a comment
XML_DOCUMENT_NODE (integer) | 9 | Node is a document
XML_DOCUMENT_TYPE_NODE (integer) | 10 |
XML_DOCUMENT_FRAG_NODE (integer) | 11 |
XML_NOTATION_NODE (integer) | 12 |
XML_GLOBAL_NAMESPACE (integer) | 1 |
XML_LOCAL_NAMESPACE (integer) | 2 |
XML_HTML_DOCUMENT_NODE (integer) |  |
XML_DTD_NODE (integer) |  |
XML_ELEMENT_DECL_NODE (integer) |  |
XML_ATTRIBUTE_DECL_NODE (integer) |  |
XML_ENTITY_DECL_NODE (integer) |  |
XML_NAMESPACE_DECL_NODE (integer) |  |
XML_ATTRIBUTE_CDATA (integer) |  |
XML_ATTRIBUTE_ID (integer) |  |
XML_ATTRIBUTE_IDREF (integer) |  |
XML_ATTRIBUTE_IDREFS (integer) |  |
XML_ATTRIBUTE_ENTITY (integer) |  |
XML_ATTRIBUTE_NMTOKEN (integer) |  |
XML_ATTRIBUTE_NMTOKENS (integer) |  |
XML_ATTRIBUTE_ENUMERATION (integer) |  |
XML_ATTRIBUTE_NOTATION (integer) |  |
XPATH_UNDEFINED (integer) |  |
XPATH_NODESET (integer) |  |
XPATH_BOOLEAN (integer) |  |
XPATH_NUMBER (integer) |  |
XPATH_STRING (integer) |  |
XPATH_POINT (integer) |  |
XPATH_RANGE (integer) |  |
XPATH_LOCATIONSET (integer) |  |
XPATH_USERS (integer) |  |
XPATH_NUMBER (integer) |  |

Classes

The API of the module follows the DOM Level 2 standard as closely as possible. Consequently, the API is fully object-oriented. It is a good idea to have the DOM standard available when using this module. Though the API is object-oriented, there are many functions which can be called in a non-object-oriented way by passing the object to operate on as the first argument. These functions are mainly to retain compatibility to older versions of the extension, and should not be used when creating new scripts.

This API differs from the official DOM API in two ways. First, all class attributes are implemented as functions with the same name. Secondly, the function names follow the PHP naming convention. This means that a DOM function lastChild() will be written as last_child().

This module defines a number of classes, which are listed - including their method - in the following tables. Classes with an equivalent in the DOM standard are named DOMxxx.

표 67. List of classes

Class name | Parent classes
DomAttribute | DomNode
DomCData | DomNode
DomComment | DomCData : DomNode
DomDocument | DomNode
DomDocumentType | DomNode
DomElement | DomNode
DomEntity | DomNode
DomEntityReference | DomNode
DomProcessingInstruction | DomNode
DomText | DomCData : DomNode
Parser | Currently still called DomParser
XPathContext |

표 68. DomDocument class (DomDocument : DomNode)

Method name | Function name | Remark
doctype | DomDocument_doctype() |
document_element | DomDocument_document_element() |
create_element | DomDocument_create_element() |
create_text_node | DomDocument_create_text_node() |
create_comment | DomDocument_create_comment() |
create_cdata_section | DomDocument_create_cdata_section() |
create_processing_instruction | DomDocument_create_processing_instruction() |
create_attribute | DomDocument_create_attribute() |
create_entity_reference | DomDocument_create_entity_reference() |
get_elements_by_tagname | DomDocument_get_elements_by_tagname() |
get_element_by_id | DomDocument_get_element_by_id() |
dump_mem | DomDocument_dump_mem() | not DOM standard
dump_file | DomDocument_dump_file() | not DOM standard
html_dump_mem | DomDocument_html_dump_mem() | not DOM standard
xpath_init | xpath_init | not DOM standard
xpath_new_context | xpath_new_context | not DOM standard
xptr_new_context | xptr_new_context | not DOM standard

표 69. DomElement class (DomElement : DomNode)

Method name | Function name | Remark
tagname | DomElement_tagname() |
get_attribute | DomElement_get_attribute() |
set_attribute | DomElement_set_attribute() |
remove_attribute | DomElement_remove_attribute() |
get_attribute_node | DomElement_get_attribute_node() |
set_attribute_node | DomElement_set_attribute_node() |
get_elements_by_tagname | DomElement_get_elements_by_tagname() |
has_attribute | DomElement_has_attribute() |

표 70. DomNode class

Method name | Remark
DomNode_node_name() |
DomNode_node_value() |
DomNode_node_type() |
DomNode_last_child() |
DomNode_first_child() |
DomNode_child_nodes() |
DomNode_previous_sibling() |
DomNode_next_sibling() |
DomNode_parent_node() |
DomNode_owner_document() |
DomNode_insert_before() |
DomNode_append_child() |
DomNode_append_sibling() | Not in DOM standard. This function emulates the former behaviour of DomNode_append_child().
DomNode_remove_child() |
DomNode_has_child_nodes() |
DomNode_has_attributes() |
DomNode_clone_node() |
DomNode_attributes() |
DomNode_unlink_node() | Not in DOM standard
DomNode_replace_node() | Not in DOM standard
DomNode_set_content() | Not in DOM standard, deprecated
DomNode_get_content() | Not in DOM standard, deprecated
DomNode_dump_node() | Not in DOM standard
DomNode_is_blank_node() | Not in DOM standard

표 71. DomAttribute class (DomAttribute : DomNode)

Method name |  | Remark
name | DomAttribute_name() |
value | DomAttribute_value() |
specified | DomAttribute_specified() |

표 72. DomProcessingInstruction class (DomProcessingInstruction : DomNode)

Method name | Function name | Remark
target | DomProcessingInstruction_target() |
data | DomProcessingInstruction_data() |

표 73. Parser class

Method name | Function name | Remark
add_chunk | Parser_add_chunk() |
end | Parser_end() |

표 74. XPathContext class

Method name | Function name | Remark
eval | XPathContext_eval() |
eval_expression | XPathContext_eval_expression() |
register_ns | XPathContext_register_ns() |

표 75. DomDocumentType class (DomDocumentType : DomNode)

Method name | Function name | Remark
name | DomDocumentType_name() |
entities | DomDocumentType_entities() |
notations | DomDocumentType_notations() |
public_id | DomDocumentType_public_id() |
system_id | DomDocumentType_system_id() |
internal_subset | DomDocumentType_internal_subset() |

The classes DomDtd is derived from DomNode. DomComment is derived from DomCData.

예제

Many examples in this reference require an XML string. Instead of repeating this string in every example, it will be put into a file which will be included by each example. This include file is shown in the following example section. Alternatively, you could create an XML document and read it with DomDocument_open_file().

예 478. Include file example.inc with XML string

<?php
$xmlstr = "<?xml version='1.0' standalone='yes'?>
<!DOCTYPE chapter SYSTEM '/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd'
[ <!ENTITY sp \"spanish\">
]>
<!-- lsfj  -->
<chapter language='en'><title language='en'>Title</title>
 <para language='ge'>
  &sp;
  <!-- comment -->
  <informaltable ID='findme' language='&sp;'>
   <tgroup cols='3'>
    <tbody>
     <row><entry>a1</entry><entry
morerows='1'>b1</entry><entry>c1</entry></row>
<row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
</chapter>";
?>

차례

DomAttribute->name -- Returns the name of attribute
DomAttribute->set_value -- Sets the value of an attribute
DomAttribute->specified -- Checks if attribute is specified
DomAttribute->value -- Returns value of attribute
DomDocument->add_root -- Adds a root node [deprecated]
DomDocument->create_attribute -- Create new attribute
DomDocument->create_cdata_section -- Create new cdata node
DomDocument->create_comment -- Create new comment node
DomDocument->create_element_ns -- Create new element node with an associated namespace
DomDocument->create_element -- Create new element node
DomDocument->create_entity_reference -- Create an entity reference
DomDocument->create_processing_instruction -- Creates new PI node
DomDocument->create_text_node -- Create new text node
DomDocument->doctype -- Returns the document type
DomDocument->document_element -- Returns root element node
DomDocument->dump_file -- Dumps the internal XML tree back into a file
DomDocument->dump_mem -- Dumps the internal XML tree back into a string
DomDocument->get_element_by_id -- Searches for an element with a certain id
DomDocument->get_elements_by_tagname -- Returns array with nodes with given tagname in document or empty array, if not found
DomDocument->html_dump_mem -- Dumps the internal XML tree back into a string as HTML
DomDocument->xinclude -- Substitutes XIncludes in a DomDocument Object
DomDocumentType->entities() -- Returns list of entities
DomDocumentType->internal_subset() -- Returns internal subset
DomDocumentType->name() -- Returns name of document type
DomDocumentType->notations() -- Returns list of notations
DomDocumentType->public_id() -- Returns public id of document type
DomDocumentType->system_id() -- Returns the system id of document type
DomElement->get_attribute_node() -- Returns the node of the given attribute
DomElement->get_attribute() -- Returns the value of the given attribute
DomElement->get_elements_by_tagname() -- Gets elements by tagname
DomElement->has_attribute() -- Checks to see if an attribute exists in the current node
DomElement->remove_attribute() -- Removes attribute
DomElement->set_attribute_node() -- Adds new attribute
DomElement->set_attribute() -- Sets the value of an attribute
DomElement->tagname() -- Returns the name of the current element
DomNode->add_namespace -- Adds a namespace declaration to a node
DomNode->append_child -- Adds a new child at the end of the children
DomNode->append_sibling -- Adds new sibling to a node
DomNode->attributes -- Returns list of attributes
DomNode->child_nodes -- Returns children of node
DomNode->clone_node -- Clones a node
DomNode->dump_node -- Dumps a single node
DomNode->first_child -- Returns first child of node
DomNode->get_content -- Gets content of node
DomNode->has_attributes -- Checks if node has attributes
DomNode->has_child_nodes -- Checks if node has children
DomNode->insert_before -- Inserts new node as child
DomNode->is_blank_node -- Checks if node is blank
DomNode->last_child -- Returns last child of node
DomNode->next_sibling -- Returns the next sibling of node
DomNode->node_name -- Returns name of node
DomNode->node_type -- Returns type of node
DomNode->node_value -- Returns value of a node
DomNode->owner_document -- Returns the document this node belongs to
DomNode->parent_node -- Returns the parent of the node
DomNode->prefix -- Returns name space prefix of node
DomNode->previous_sibling -- Returns the previous sibling of node
DomNode->remove_child -- Removes child from list of children
DomNode->replace_child -- Replaces a child
DomNode->replace_node -- Replaces node
DomNode->set_content -- Sets content of node
DomNode->set_name -- Sets name of node
DomNode->set_namespace -- Sets namespace of a node
DomNode->unlink_node -- Deletes node
DomProcessingInstruction->data -- Returns the data of ProcessingInstruction node
DomProcessingInstruction->target -- Returns the target of a ProcessingInstruction node
DomXsltStylesheet->process() -- Applies the XSLT-Transformation on a DomDocument Object
DomXsltStylesheet->result_dump_file() -- Dumps the result from a XSLT-Transformation into a file
DomXsltStylesheet->result_dump_mem() -- Dumps the result from a XSLT-Transformation back into a string
domxml_new_doc -- Creates new empty XML document
domxml_open_file -- Creates a DOM object from an XML file
domxml_open_mem -- Creates a DOM object of an XML document
domxml_version -- Gets the XML library version
domxml_xmltree -- Creates a tree of PHP objects from an XML document
domxml_xslt_stylesheet_doc -- Creates a DomXsltStylesheet Object from a DomDocument Object
domxml_xslt_stylesheet_file -- Creates a DomXsltStylesheet Object from an XSL document in a file
domxml_xslt_stylesheet -- Creates a DomXsltStylesheet object from an XSL document in a string
domxml_xslt_version -- Gets the XSLT library version
xpath_eval_expression -- Evaluates the XPath Location Path in the given string
xpath_eval -- Evaluates the XPath Location Path in the given string
xpath_new_context -- Creates new xpath context
xpath_register_ns_auto -- Register the given namespace in the passed XPath context
xpath_register_ns -- Register the given namespace in the passed XPath context
xptr_eval -- Evaluate the XPtr Location Path in the given string
xptr_new_context -- Create new XPath Context
이전 | 위로 | 다음
dom_import_simplexml | 처음으로 | DomAttribute->name


DomAttribute->name

(No version information available, might be only in CVS)

DomAttribute->name -- Returns the name of attribute

설명

class DomAttribute {
string name ( void )
}

Gets the name of the attribute.

반환값

Returns the name of the attribute.

Migrating to PHP 5

Use the name property of DOMAttr.

참고

DomAttribute->value for an example

이전 | 위로 | 다음
XXXII. DOM XML Functions | 처음으로 | DomAttribute->set_value


DomAttribute->specified

(No version information available, might be only in CVS)

DomAttribute->specified -- Checks if attribute is specified

설명

class DomAttribute {
bool specified ( void )
}

Checks if the attribute was explicitly given a value in the original document.

참고: This method is not implemented yet.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

The definition of » specified in the DOM Recommendations

이전 | 위로 | 다음
DomAttribute->set_value | 처음으로 | DomAttribute->value


DomAttribute->value

(No version information available, might be only in CVS)

DomAttribute->value -- Returns value of attribute

설명

class DomAttribute {
string value ( void )
}

This function returns the value of the attribute.

예제

예 479. Getting all the attributes of a node

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
     echo "Error while parsing the document\n";
     exit;
}

$root = $dom->document_element();
$attrs = $root->attributes();

echo 'Attributes of ' . $root->node_name() . "\n";
foreach ($attrs as $attribute) {
     echo ' - ' . $attribute->name . ' : ' . $attribute->value . "\n";
}

?>

위 예제의 출력:

Attributes of chapter
 - language : en

반환값

Returns the value of the attribute.

Migrating to PHP 5

Use the value property of DOMAttr.

참고

DomAttribute->set_value
DomAttribute->name

이전 | 위로 | 다음
DomAttribute->specified | 처음으로 | DomDocument->add_root


DomDocument->add_root

(No version information available, might be only in CVS)

DomDocument->add_root -- Adds a root node [deprecated]

설명

domelement DomDocument->add_root ( string $name )

Adds a root element node to a dom document and returns the new node. The element name is given in the passed parameter.

예 480. Creating a simple HTML document header

<?php
$doc = domxml_new_doc("1.0");
$root = $doc->add_root("html");
$head = $root->new_child("head", "");
$head->new_child("title", "Hier der Titel");
echo htmlentities($doc->dump_mem());
?>

이전 | 위로 | 다음
DomAttribute->value | 처음으로 | DomDocument->create_attribute


DomDocument->create_attribute

(No version information available, might be only in CVS)

DomDocument->create_attribute -- Create new attribute

설명

domattribute DomDocument->create_attribute ( string $name, string $value )

This function returns a new instance of class DomAttribute. The name of the attribute is the value of the first parameter. The value of the attribute is the value of the second parameter. 이 노드는 domnode_append_child() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

이전 | 위로 | 다음
DomDocument->add_root | 처음으로 | DomDocument->create_cdata_section


DomDocument->create_cdata_section

(No version information available, might be only in CVS)

DomDocument->create_cdata_section -- Create new cdata node

설명

domcdata DomDocument->create_cdata_section ( string $content )

This function returns a new instance of class DomCData. The content of the cdata is the value of the passed parameter. 이 노드는 domnode_append_child() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

이전 | 위로 | 다음
DomDocument->create_attribute | 처음으로 | DomDocument->create_comment


DomDocument->create_comment

(No version information available, might be only in CVS)

DomDocument->create_comment -- Create new comment node

설명

domcomment DomDocument->create_comment ( string $content )

This function returns a new instance of class DomComment. The content of the comment is the value of the passed parameter. 이 노드는 domnode_append_child() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

이전 | 위로 | 다음
DomDocument->create_cdata_section | 처음으로 | DomDocument->create_element_ns


DomDocument->create_element_ns

(No version information available, might be only in CVS)

DomDocument->create_element_ns -- Create new element node with an associated namespace

설명

domelement DomDocument->create_element_ns ( string $uri, string $name [, string $prefix] )

This function returns a new instance of class DomElement. The tag name of the element is the value of the passed parameter name. The URI of the namespace is the value of the passed parameter uri. If there is already a namespace declaration with the same uri in the root-node of the document, the prefix of this is taken, otherwise it will take the one provided in the optional parameter prefix or generate a random one. 이 노드는 domnode_append_child() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

The return value is FALSE if an error occurred.

See also domdocument_create_element_ns(),
domnode_add_namespace(),
domnode_set_namespace(),
domnode_append_child(),
domdocument_create_text(),
domdocument_create_comment(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

이전 | 위로 | 다음
DomDocument->create_comment | 처음으로 | DomDocument->create_element


DomDocument->create_element

(No version information available, might be only in CVS)

DomDocument->create_element -- Create new element node

설명

domelement DomDocument->create_element ( string $name )

This function returns a new instance of class DomElement. The tag name of the element is the value of the passed parameter. 이 노드는 domnode_append_child() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

The return value is FALSE if an error occurred.

See also domdocument_create_element_ns(),
domnode_append_child(),
domdocument_create_text(),
domdocument_create_comment(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

이전 | 위로 | 다음
DomDocument->create_element_ns | 처음으로 | DomDocument->create_entity_reference


DomDocument->create_entity_reference

(No version information available, might be only in CVS)

DomDocument->create_entity_reference -- Create an entity reference

설명

domentityreference DomDocument->create_entity_reference ( string $content )

This function returns a new instance of class DomEntityReference. The content of the entity reference is the value of the passed parameter. 이 노드는 domnode_append_child() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_attribute(), and
domnode_insert_before().

이전 | 위로 | 다음
DomDocument->create_element | 처음으로 | DomDocument->create_processing_instruction


DomDocument->create_processing_instruction

(No version information available, might be only in CVS)

DomDocument->create_processing_instruction -- Creates new PI node

설명

domprocessinginstruction DomDocument->create_processing_instruction ( string $content )

This function returns a new instance of class DomCData. The content of the pi is the value of the passed parameter. 이 노드는 domnode_append_child() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_attribute(),
domdocument_create_entity_reference(), and
domnode_insert_before().

이전 | 위로 | 다음
DomDocument->create_entity_reference | 처음으로 | DomDocument->create_text_node


DomDocument->create_text_node

(No version information available, might be only in CVS)

DomDocument->create_text_node -- Create new text node

설명

domtext DomDocument->create_text_node ( string $content )

This function returns a new instance of class DomText. The content of the text is the value of the passed parameter. 이 노드는 domnode_append_child() 등을 통하여 삽입하지 않으면 보여지지 않습니다.

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_comment(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

이전 | 위로 | 다음
DomDocument->create_processing_instruction | 처음으로 | DomDocument->doctype


DomDocument->doctype

(No version information available, might be only in CVS)

DomDocument->doctype -- Returns the document type

설명

domdocumenttype DomDocument->doctype ( void )

This function returns an object of class DomDocumentType. In versions of PHP before 4.3 this has been the class Dtd, but the DOM Standard does not know such a class.

See also the methods of class DomDocumentType.

이전 | 위로 | 다음
DomDocument->create_text_node | 처음으로 | DomDocument->document_element


DomDocument->document_element

(No version information available, might be only in CVS)

DomDocument->document_element -- Returns root element node

설명

domelement DomDocument->document_element ( void )

This function returns the root element node of a document.

The following example returns just the element with name CHAPTER and prints it. The other node -- the comment -- is not returned.

예 481. Retrieving root element

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$root = $dom->document_element();
print_r($root);
?>

위 예제의 출력:

domelement Object
(
    [type] => 1
    [tagname] => chapter
    [0] => 6
    [1] => 137960648
)

이전 | 위로 | 다음
DomDocument->doctype | 처음으로 | DomDocument->dump_file


DomDocument->dump_file

(No version information available, might be only in CVS)

DomDocument->dump_file -- Dumps the internal XML tree back into a file

설명

string DomDocument->dump_file ( string $filename [, bool $compressionmode [, bool $format]] )

Creates an XML document from the dom representation. This function usually is called after building a new dom document from scratch as in the example below. The format specifies whether the output should be neatly formatted, or not. The first parameter specifies the name of the filename and the second parameter, whether it should be compressed or not.

예 482. Creating a simple HTML document header

<?php
$doc = domxml_new_doc("1.0");
$root = $doc->create_element("HTML");
$root = $doc->append_child($root);
$head = $doc->create_element("HEAD");
$head = $root->append_child($head);
$title = $doc->create_element("TITLE");
$title = $head->append_child($title);
$text = $doc->create_text_node("This is the title");
$text = $title->append_child($text);
$doc->dump_file("/tmp/test.xml", false, true);
?>

See also domdocument_dump_mem(), and domdocument_html_dump_mem().

이전 | 위로 | 다음
DomDocument->document_element | 처음으로 | DomDocument->dump_mem


DomDocument->dump_mem

(No version information available, might be only in CVS)

DomDocument->dump_mem -- Dumps the internal XML tree back into a string

설명

string DomDocument->dump_mem ( [bool $format [, string $encoding]] )

Creates an XML document from the dom representation. This function usually is called after building a new dom document from scratch as in the example below. The format specifies whether the output should be neatly formatted, or not.

예 483. Creating a simple HTML document header

<?php
$doc = domxml_new_doc("1.0");
$root = $doc->create_element("HTML");
$root = $doc->append_child($root);
$head = $doc->create_element("HEAD");
$head = $root->append_child($head);
$title = $doc->create_element("TITLE");
$title = $head->append_child($title);
$text = $doc->create_text_node("This is the title");
$text = $title->append_child($text);
echo "<PRE>";
echo htmlentities($doc->dump_mem(true));
echo "</PRE>";
?>

참고: The first parameter was added in PHP 4.3.0.

See also domdocument_dump_file(), and domdocument_html_dump_mem().

이전 | 위로 | 다음
DomDocument->dump_file | 처음으로 | DomDocument->get_element_by_id


DomDocument->get_element_by_id

(No version information available, might be only in CVS)

DomDocument->get_element_by_id -- Searches for an element with a certain id

설명

domelement DomDocument->get_element_by_id ( string $id )

This function is similar to domdocument_get_elements_by_tagname() but searches for an element with a given id. According to the DOM standard this requires a DTD which defines the attribute ID to be of type ID, though the current implementation simply does an xpath search for "//*[@ID = '%s']". This does not comply to the DOM standard which requires to return null if it is not known which attribute is of type id. This behaviour is likely to be fixed, so do not rely on the current behaviour.

See also domdocument_get_elements_by_tagname()

이전 | 위로 | 다음
DomDocument->dump_mem | 처음으로 | DomDocument->get_elements_by_tagname


DomDocument->get_elements_by_tagname

(No version information available, might be only in CVS)

DomDocument->get_elements_by_tagname -- Returns array with nodes with given tagname in document or empty array, if not found

설명

array DomDocument->get_elements_by_tagname ( string $name )

See also domdocument_add_root()

이전 | 위로 | 다음
DomDocument->get_element_by_id | 처음으로 | DomDocument->html_dump_mem


DomDocument->html_dump_mem

(No version information available, might be only in CVS)

DomDocument->html_dump_mem -- Dumps the internal XML tree back into a string as HTML

설명

string DomDocument->html_dump_mem ( void )

Creates an HTML document from the dom representation. This function usually is called after building a new dom document from scratch as in the example below.

예 484. Creating a simple HTML document header

<?php

// Creates the document
$doc = domxml_new_doc("1.0");

$root = $doc->create_element("html");
$root = $doc->append_child($root);

$head = $doc->create_element("head");
$head = $root->append_child($head);

$title = $doc->create_element("title");
$title = $head->append_child($title);

$text = $doc->create_text_node("This is the title");
$text = $title->append_child($text);

echo $doc->html_dump_mem();
?>

위 예제의 출력:

<html><head><title>This is the title</title></head></html>

See also domdocument_dump_file(), and domdocument_html_dump_mem().

이전 | 위로 | 다음
DomDocument->get_elements_by_tagname | 처음으로 | DomDocument->xinclude


DomDocument->xinclude

(No version information available, might be only in CVS)

DomDocument->xinclude -- Substitutes XIncludes in a DomDocument Object

설명

int DomDocument->xinclude ( void )

This function substitutes » XIncludes in a DomDocument object.

예 485. Substituting Xincludes

<?php

// include.xml contains :
// <child>test</child>

$xml = '<?xml version="1.0"?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="include.xml">
    <xi:fallback>
      <error>xinclude: include.xml not found</error>
    </xi:fallback>
  </xi:include>
</root>';

$domxml = domxml_open_mem($xml);
$domxml->xinclude();

echo $domxml->dump_mem();

?>

위 예제의 출력:

<?xml version="1.0" ?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
<child>test</child>
</root>

If include.xml doesn't exist, you'll see:

<?xml version="1.0" ?>
<root xmlns:xi="http://www.w3.org/2001/XInclude">
<error>xinclude:dom.xml not found</error>
</root>

이전 | 위로 | 다음
DomDocument->html_dump_mem | 처음으로 | DomDocumentType->entities()


DomDocumentType->entities()

(No version information available, might be only in CVS)

DomDocumentType->entities() -- Returns list of entities

설명

class DomDocumentType {
array entities ( void )
}

주의

This function is currently not documented; only the argument list is available.

Migrating to PHP 5

Use the entities property of the DOMDocumentType object.

이전 | 위로 | 다음
DomDocument->xinclude | 처음으로 | DomDocumentType->internal_subset()


DomDocumentType->internal_subset()

(No version information available, might be only in CVS)

DomDocumentType->internal_subset() -- Returns internal subset

설명

class DomDocumentType {
bool internal_subset ( void )
}

주의

This function is currently not documented; only the argument list is available.

Migrating to PHP 5

Use the internalSubset property of the DOMDocumentType object.

이전 | 위로 | 다음
DomDocumentType->entities() | 처음으로 | DomDocumentType->name()


DomDocumentType->name()

(No version information available, might be only in CVS)

DomDocumentType->name() -- Returns name of document type

설명

class DomDocumentType {
string name ( void )
}

This function returns the name of the document type.

반환값

Returns the name of the DomDocumentType, as a string.

예제

예 486. Getting the document type's name

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

$doctype = $dom->doctype();
echo $doctype->name(); // chapter

?>

Migrating to PHP 5

Use the name property of the DOMDocumentType object.

이전 | 위로 | 다음
DomDocumentType->internal_subset() | 처음으로 | DomDocumentType->notations()


DomDocumentType->notations()

(No version information available, might be only in CVS)

DomDocumentType->notations() -- Returns list of notations

설명

class DomDocumentType {
array notations ( void )
}

주의

This function is currently not documented; only the argument list is available.

Migrating to PHP 5

Use the notations property of the DOMDocumentType object.

이전 | 위로 | 다음
DomDocumentType->name() | 처음으로 | DomDocumentType->public_id()


DomDocumentType->public_id()

(No version information available, might be only in CVS)

DomDocumentType->public_id() -- Returns public id of document type

설명

class DomDocumentType {
string public_id ( void )
}

This function returns the public id of the document type.

반환값

Returns the public id of the DomDocumentType, as a string.

예제

The following example echos nothing.

예 487. Retrieving the public id

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$doctype = $dom->doctype();
echo $doctype->public_id();
?>

Migrating to PHP 5

Use the publicId property of the DOMDocumentType object.

이전 | 위로 | 다음
DomDocumentType->notations() | 처음으로 | DomDocumentType->system_id()


DomDocumentType->system_id()

(No version information available, might be only in CVS)

DomDocumentType->system_id() -- Returns the system id of document type

설명

class DomDocumentType {
string system_id ( void )
}

Returns the system id of the document type.

반환값

Returns the system id of the DomDocumentType, as a string.

예제

예 488. Retrieving the system id

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$doctype = $dom->doctype();
echo $doctype->system_id();
?>

위 예제의 출력:

/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd

Migrating to PHP 5

Use the systemId property of the DOMDocumentType object.

이전 | 위로 | 다음
DomDocumentType->public_id() | 처음으로 | DomElement->get_attribute_node()


DomElement->get_attribute_node()

(No version information available, might be only in CVS)

DomElement->get_attribute_node() -- Returns the node of the given attribute

설명

class DomElement {
DomAttribute get_attribute_node ( string $name )
}

Returns the node of the given attribute in the current element.

매개변수

name

The name of the seeked attribute. This parameter is case sensitive.

반환값

Returns the node of the attribute as a DomAttribute or FALSE if no attribute with the given name is found.

예제

예 489. Getting an attribute node

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

$root = $dom->document_element();
if ($attribute = $root->get_attribute_node('language')) {
    echo 'Language is: ' . $attribute->value() . "\n";
}

?>

Migrating to PHP 5

Use DOMElement->getAttributeNode().

참고

DomElement->get_attribute()
DomElement->set_attribute()

이전 | 위로 | 다음
DomDocumentType->system_id() | 처음으로 | DomElement->get_attribute()


DomElement->get_attribute()

(No version information available, might be only in CVS)

DomElement->get_attribute() -- Returns the value of the given attribute

설명

class DomElement {
string get_attribute ( string $name )
}

Returns the value of the given attribute in the current element.

Since PHP 4.3, if no attribute with given name is found, an empty string is returned.

매개변수

name

The name of the seeked attribute. This parameter is case sensitive.

반환값

Returns the name of the attribute as a string or an empty string if no attribute with the given name is found.

예제

예 490. Getting the value of an attribute

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

// get chapter
$root = $dom->document_element();
echo $root->get_attribute('language'); // en

?>

Migrating to PHP 5

Use DOMElement->getAttribute().

참고

DomElement->get_attribute_node()
DomElement->set_attribute()

이전 | 위로 | 다음
DomElement->get_attribute_node() | 처음으로 | DomElement->get_elements_by_tagname()


DomElement->get_elements_by_tagname()

(No version information available, might be only in CVS)

DomElement->get_elements_by_tagname() -- Gets elements by tagname

설명

class DomElement {
array get_elements_by_tagname ( string $name )
}

Gets all the sub elements with the specific name within the current element.

매개변수

name

The name of the seeked element.

반환값

Returns an array of DomElement objects.

예제

예 491. Getting a content

<?php
if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$root = $dom->document_element();

$node_array = $root->get_elements_by_tagname('element');

foreach ($node_array as $node) {
    echo ' - ' . $node->get_content() . "\n";
}

?>

Migrating to PHP 5

Use DOMElement->getElementsByTagName().

이전 | 위로 | 다음
DomElement->get_attribute() | 처음으로 | DomElement->has_attribute()


DomElement->has_attribute()

(No version information available, might be only in CVS)

DomElement->has_attribute() -- Checks to see if an attribute exists in the current node

설명

class DomElement {
bool has_attribute ( string $name )
}

This functions checks to see if an attribute named name exists in the current node.

매개변수

name

The name of the tested attribute.

반환값

Returns TRUE if the asked attribute exists, FALSE otherwise.

예제

예 492. Testing the existence of an attribute

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

$root = $dom->document_element();

$buffer = '<html';
if ($root->has_attribute('language')) {
    $buffer .= 'lang="' . $root->get_attribute('language') . '"';
}
$buffer .= '>';

?>

Migrating to PHP 5

Use DOMElement->hasAttribute().

이전 | 위로 | 다음
DomElement->get_elements_by_tagname() | 처음으로 | DomElement->remove_attribute()


DomElement->remove_attribute()

(No version information available, might be only in CVS)

DomElement->remove_attribute() -- Removes attribute

설명

class DomElement {
bool remove_attribute ( string $name )
}

Removes an attribute from the current DomElement node.

매개변수

name

The name of the attribute to remove.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

Migrating to PHP 5

Use DOMElement->removeAttribute().

이전 | 위로 | 다음
DomElement->has_attribute() | 처음으로 | DomElement->set_attribute_node()


DomElement->set_attribute()

(No version information available, might be only in CVS)

DomElement->set_attribute() -- Sets the value of an attribute

설명

class DomElement {
DomAttribute set_attribute ( string $name, string $value )
}

Sets an attribute with name name to the given value.

매개변수

name

The name of the attribute. If this attribute doesn't exist, it will be created.

value

The value of the attribute.

반환값

Returns the old DomAttribute node, or the new one if you are creating the attribute for the first time.

예제

예 493. Setting an attribute

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>

Migrating to PHP 5

Use DOMElement->setAttribute().

참고

DomElement->get_attribute_node()
DomElement->get_attribute()

이전 | 위로 | 다음
DomElement->set_attribute_node() | 처음으로 | DomElement->tagname()


DomElement->tagname()

(No version information available, might be only in CVS)

DomElement->tagname() -- Returns the name of the current element

설명

class DomElement {
string tagname ( void )
}

Returns the name of the current node. Calling this function is the same as accessing the tagname property, or calling DomNode->node_name on the current node.

반환값

Returns the name of the current DomElement node.

예제

예 494. Getting the node name

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

$root = $dom->document_element();
echo $root->tagname();   // chapter
echo $root->tagname;     // chapter
echo $root->node_name(); // chapter

?>

Migrating to PHP 5

Use the tagName property of the DOMElement object.

이전 | 위로 | 다음
DomElement->set_attribute() | 처음으로 | DomNode->add_namespace


DomNode->add_namespace

(No version information available, might be only in CVS)

DomNode->add_namespace -- Adds a namespace declaration to a node

설명

class DOMNode {
bool add_namespace ( string $uri, string $prefix )
}

This method adds a namespace declaration to a node.

참고: This method is not part of the DOM specification.

매개변수

uri

The namespace URI of the node.

prefix

The namespace prefix of the node.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

Migrating to PHP 5

You can set the namespace URI and prefix of a DOMElement or a DOMAttr at creation time by using DOMDocument->createElementNS() or DOMDocument->createAttributeNS().

참고: Remember the an attribute does not inherit its namespace from the element it is attached to.

참고

DomDocument->create_element_ns
DomNode->set_namespace

이전 | 위로 | 다음
DomElement->tagname() | 처음으로 | DomNode->append_child


DomNode->append_child

(No version information available, might be only in CVS)

DomNode->append_child -- Adds a new child at the end of the children

설명

class DOMNode {
DOMNode append_child ( DOMNode $newnode )
}

This functions appends a child to an existing list of children or creates a new list of children.

매개변수

newnode

The node being appended. It can be created with e.g. DomDocument->create_element, DomDocument->create_text_node etc. or simply by using any other node.

참고: You can not append a DOMAttribute using this method. Use DomElement->set_attribute() instead.

반환값

Returns the appended node on success or FALSE on failure.

변경 기록

버전 | 설명
4.3.0 | You are not allowed anymore to insert a node from another document.
4.3.0 | Prior to PHP 4.3.0, the new child is duplicated before being appended. Therefore the new child is a completely new copy which can be modified without changing the node which was passed to this function. If the node passed has children itself, they will be duplicated as well, which makes it quite easy to duplicate large parts of an XML document. The return value is the appended child. If you plan to do further modifications on the appended child you must use the returned node.
4.3.0 and 4.3.1 | The new child newnode is first unlinked from its existing context, if it's already a child of DomNode. Therefore the newnode is moved and not copies anymore. This is the behaviour according to the W3C specifications. If you need the old behaviour, use DomNode->clone_node before appending.
4.3.2 | The new child newnode is first unlinked from its existing context, if it's already in the tree. Same rules apply.

예제

The following example adds a new element node to a fresh document and sets the attribute align to left.

예 495. Adding a child

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>

The above example could also be written as the following:

예 496. Adding a child

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node->set_attribute("align", "left");
$newnode = $doc->append_child($node);
?>

A more complex example is the one below. It first searches for a certain element, duplicates it including its children and adds it as a sibling. Finally a new attribute is added to one of the children of the new sibling and the whole document is dumped.

예 497. Adding a child

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("informaltable");
print_r($elements);
$element = $elements[0];

$parent = $element->parent_node();
$newnode = $parent->append_child($element);
$children = $newnode->children();
$attr = $children[1]->set_attribute("align", "left");

$xmlfile = $dom->dump_mem();
echo htmlentities($xmlfile);
?>

The above example could also be done with DomNode->insert_before instead of DomNode->append_child.

Migrating to PHP 5

You should use DOMNode->appendChild().

참고

DomNode->insert_before
DomNode->clone_node

이전 | 위로 | 다음
DomNode->add_namespace | 처음으로 | DomNode->append_sibling


DomNode->append_sibling

(No version information available, might be only in CVS)

DomNode->append_sibling -- Adds new sibling to a node

설명

domelement DomNode->append_sibling ( domelement $newnode )

This functions appends a sibling to an existing node. The child can be created with e.g. domdocument_create_element(), domdocument_create_text() etc. or simply by using any other node.

Before a new sibling is added it is first duplicated. Therefore the new child is a completely new copy which can be modified without changing the node which was passed to this function. If the node passed has children itself, they will be duplicated as well, which makes it quite easy to duplicate large parts of an XML document. The return value is the added sibling. If you plan to do further modifications on the added sibling you must use the returned node.

This function has been added to provide the behaviour of domnode_append_child() as it works till PHP 4.2.

See also domnode_append_before().

이전 | 위로 | 다음
DomNode->append_child | 처음으로 | DomNode->attributes


DomNode->attributes

(No version information available, might be only in CVS)

DomNode->attributes -- Returns list of attributes

설명

array DomNode->attributes ( void )

This function only returns an array of attributes if the node is of type XML_ELEMENT_NODE.

(PHP >= 4.3 only) If no attributes are found, NULL is returned.

이전 | 위로 | 다음
DomNode->append_sibling | 처음으로 | DomNode->child_nodes


DomNode->child_nodes

(No version information available, might be only in CVS)

DomNode->child_nodes -- Returns children of node

설명

array DomNode->child_nodes ( void )

Returns all children of the node.

See also domnode_next_sibling(), and domnode_previous_sibling().

이전 | 위로 | 다음
DomNode->attributes | 처음으로 | DomNode->clone_node


DomNode->clone_node

(No version information available, might be only in CVS)

DomNode->clone_node -- Clones a node

설명

domelement DomNode->clone_node ( void )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DomNode->child_nodes | 처음으로 | DomNode->dump_node


DomNode->dump_node

(No version information available, might be only in CVS)

DomNode->dump_node -- Dumps a single node

설명

string DomNode->dump_node ( void )

주의

This function is currently not documented; only the argument list is available.

See also domdocument_dump_mem().

이전 | 위로 | 다음
DomNode->clone_node | 처음으로 | DomNode->first_child


DomNode->first_child

(No version information available, might be only in CVS)

DomNode->first_child -- Returns first child of node

설명

domelement DomNode->first_child ( void )

Returns the first child of the node.

(PHP >= 4.3 only) If no first child is found, NULL is returned.

See also domnode_last_child(), and
domnode_next_sibling(),
domnode_previous_sibling().

이전 | 위로 | 다음
DomNode->dump_node | 처음으로 | DomNode->get_content


DomNode->get_content

(No version information available, might be only in CVS)

DomNode->get_content -- Gets content of node

설명

string DomNode->get_content ( void )

This function returns the content of the actual node.

예 498. Getting a content

<?php
if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$root = $dom->document_element();

$node_array = $root->get_elements_by_tagname("element");

for ($i = 0; $i<count($node_array); $i++) {
    $node = $node_array[$i];
    echo "The element[$i] is: " . $node->get_content();
}

?>

이전 | 위로 | 다음
DomNode->first_child | 처음으로 | DomNode->has_attributes


DomNode->has_attributes

(No version information available, might be only in CVS)

DomNode->has_attributes -- Checks if node has attributes

설명

bool DomNode->has_attributes ( void )

This function checks if the node has attributes.

See also domnode_has_child_nodes().

이전 | 위로 | 다음
DomNode->get_content | 처음으로 | DomNode->has_child_nodes


DomNode->has_child_nodes

(No version information available, might be only in CVS)

DomNode->has_child_nodes -- Checks if node has children

설명

bool DomNode->has_child_nodes ( void )

This function checks if the node has children.

See also domnode_child_nodes().

이전 | 위로 | 다음
DomNode->has_attributes | 처음으로 | DomNode->insert_before


DomNode->insert_before

(No version information available, might be only in CVS)

DomNode->insert_before -- Inserts new node as child

설명

domelement DomNode->insert_before ( domelement $newnode, domelement $refnode )

This function inserts the new node newnode right before the node refnode. The return value is the inserted node. If you plan to do further modifications on the appended child you must use the returned node.

(PHP >= 4.3 only) If newnode already is part of a document, it will be first unlinked from its existing context. If refnode is NULL, then newnode will be inserted at the end of the list of children.

domnode_insert_before() is very similar to domnode_append_child() as the following example shows which does the same as the example at domnode_append_child().

예 499. Adding a child

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("informaltable");
print_r($elements);
$element = $elements[0];

$newnode = $element->insert_before($element, $element);
$children = $newnode->children();
$attr = $children[1]->set_attribute("align", "left");

echo "<pre>";
$xmlfile = $dom->dump_mem();
echo htmlentities($xmlfile);
echo "</pre>";
?>

See also domnode_append_child().

이전 | 위로 | 다음
DomNode->has_child_nodes | 처음으로 | DomNode->is_blank_node


DomNode->is_blank_node

(No version information available, might be only in CVS)

DomNode->is_blank_node -- Checks if node is blank

설명

bool DomNode->is_blank_node ( void )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DomNode->insert_before | 처음으로 | DomNode->last_child


DomNode->last_child

(No version information available, might be only in CVS)

DomNode->last_child -- Returns last child of node

설명

domelement DomNode->last_child ( void )

Returns the last child of the node.

(PHP >= 4.3 only) If no last child is found, NULL is returned.

See also domnode_first_child(), and
domnode_next_sibling(),
domnode_previous_sibling().

이전 | 위로 | 다음
DomNode->is_blank_node | 처음으로 | DomNode->next_sibling


DomNode->next_sibling

(No version information available, might be only in CVS)

DomNode->next_sibling -- Returns the next sibling of node

설명

domelement DomNode->next_sibling ( void )

This function returns the next sibling of the current node. If there is no next sibling it returns FALSE (< 4.3) or null (>= 4.3). You can use this function to iterate over all children of a node as shown in the example.

예 500. Iterate over children

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("tbody");
$element = $elements[0];
$child = $element->first_child();

while ($child) {
   print_r($child);
   $child = $child->next_sibling();
}
?>

See also domnode_previous_sibling().

이전 | 위로 | 다음
DomNode->last_child | 처음으로 | DomNode->node_name


DomNode->node_name

(No version information available, might be only in CVS)

DomNode->node_name -- Returns name of node

설명

string DomNode->node_name ( void )

Returns name of the node. The name has different meanings for the different types of nodes as illustrated in the following table.

표 76. Meaning of value

Type | Meaning
DomAttribute | value of attribute
DomAttribute |
DomCDataSection | #cdata-section
DomComment | #comment
DomDocument | #document
DomDocumentType | document type name
DomElement | tag name
DomEntity | name of entity
DomEntityReference | name of entity reference
DomNotation | notation name
DomProcessingInstruction | target
DomText | #text

이전 | 위로 | 다음
DomNode->next_sibling | 처음으로 | DomNode->node_type


DomNode->node_type

(No version information available, might be only in CVS)

DomNode->node_type -- Returns type of node

설명

int DomNode->node_type ( void )

Returns the type of the node. All possible types are listed in the table in the introduction.

예 501.

<?php

include 'example.inc';

$dom = domxml_open_mem($xmlstr);

$chapter = $dom->document_element();

// Let's see the elements contained in chapter
foreach($chapter->child_nodes() as $node) {
  if ($node->node_type() == XML_ELEMENT_NODE) {
    echo $node->node_name() . "\n";
  }
}

?>

위 예제의 출력:

title
para

이전 | 위로 | 다음
DomNode->node_name | 처음으로 | DomNode->node_value


DomNode->node_value

(No version information available, might be only in CVS)

DomNode->node_value -- Returns value of a node

설명

string DomNode->node_value ( void )

Returns value of the node. The value has different meanings for the different types of nodes as illustrated in the following table.

표 77. Meaning of value

Type | Meaning
DomAttribute | value of attribute
DomAttribute |
DomCDataSection | content
DomComment | content of comment
DomDocument | null
DomDocumentType | null
DomElement | null
DomEntity | null
DomEntityReference | null
DomNotation | null
DomProcessingInstruction | entire content without target
DomText | content of text

이전 | 위로 | 다음
DomNode->node_type | 처음으로 | DomNode->owner_document


DomNode->owner_document

(No version information available, might be only in CVS)

DomNode->owner_document -- Returns the document this node belongs to

설명

domdocument DomNode->owner_document ( void )

This function returns the document the current node belongs to.

The following example will create two identical lists of children.

예 502. Finding the document of a node

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node = $doc->append_child($node);
$children = $doc->children();
print_r($children);

$doc2 = $node->owner_document();
$children = $doc2->children();
print_r($children);
?>

See also domnode_insert_before().

이전 | 위로 | 다음
DomNode->node_value | 처음으로 | DomNode->parent_node


DomNode->parent_node

(No version information available, might be only in CVS)

DomNode->parent_node -- Returns the parent of the node

설명

domnode DomNode->parent_node ( void )

This function returns the parent node.

(PHP >= 4.3 only) If no parent is found, NULL is returned.

The following example will show two identical lists of children.

예 503. Finding the document of a node

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node = $doc->append_child($node);
$children = $doc->children();
print_r($children);

$doc2 = $node->parent_node();
$children = $doc2->children();
print_r($children);
?>

이전 | 위로 | 다음
DomNode->owner_document | 처음으로 | DomNode->prefix


DomNode->prefix

(No version information available, might be only in CVS)

DomNode->prefix -- Returns name space prefix of node

설명

string DomNode->prefix ( void )

Returns the name space prefix of the node.

이전 | 위로 | 다음
DomNode->parent_node | 처음으로 | DomNode->previous_sibling


DomNode->previous_sibling

(No version information available, might be only in CVS)

DomNode->previous_sibling -- Returns the previous sibling of node

설명

domelement DomNode->previous_sibling ( void )

This function returns the previous sibling of the current node. If there is no previous sibling it returns FALSE (< 4.3) or NULL (>= 4.3). You can use this function to iterate over all children of a node as shown in the example.

See also domnode_next_sibling().

이전 | 위로 | 다음
DomNode->prefix | 처음으로 | DomNode->remove_child


DomNode->remove_child

(No version information available, might be only in CVS)

DomNode->remove_child -- Removes child from list of children

설명

domtext DomNode->remove_child ( domtext $oldchild )

This functions removes a child from a list of children. If child cannot be removed or is not a child the function will return FALSE. If the child could be removed the functions returns the old child.

예 504. Removing a child

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$elements = $dom->get_elements_by_tagname("tbody");
$element = $elements[0];
$children = $element->child_nodes();
$child = $element->remove_child($children[0]);

echo "<PRE>";
$xmlfile = $dom->dump_mem(true);
echo htmlentities($xmlfile);
echo "</PRE>";
?>

See also domnode_append_child().

이전 | 위로 | 다음
DomNode->previous_sibling | 처음으로 | DomNode->replace_child


DomNode->replace_child

(No version information available, might be only in CVS)

DomNode->replace_child -- Replaces a child

설명

domelement DomNode->replace_child ( domelement $newnode, domelement $oldnode )

(PHP 4.2) This function replaces the child oldnode with the passed new node. If the new node is already a child it will not be added a second time. If the old node cannot be found the function returns FALSE. If the replacement succeeds the old node is returned.

(PHP 4.3) This function replaces the child oldnode with the passed newnode, even if the new node already is a child of the DomNode. If newnode was already inserted in the document it is first unlinked from its existing context. If the old node cannot be found the function returns FALSE. If the replacement succeeds the old node is returned. (This behaviour is according to the W3C specs).

See also domnode_append_child()

이전 | 위로 | 다음
DomNode->remove_child | 처음으로 | DomNode->replace_node


DomNode->replace_node

(No version information available, might be only in CVS)

DomNode->replace_node -- Replaces node

설명

domelement DomNode->replace_node ( domelement $newnode )

(PHP 4.2) This function replaces an existing node with the passed new node. Before the replacement newnode is copied if it has a parent to make sure a node which is already in the document will not be inserted a second time. This behaviour enforces doing all modifications on the node before the replacement or to refetch the inserted node afterwards with functions like domnode_first_child(), domnode_child_nodes() etc..

(PHP 4.3) This function replaces an existing node with the passed new node. It is not copied anymore. If newnode was already inserted in the document it is first unlinked from its existing context. If the replacement succeeds the old node is returned.

See also domnode_append_child()

이전 | 위로 | 다음
DomNode->replace_child | 처음으로 | DomNode->set_content


DomNode->set_content

(No version information available, might be only in CVS)

DomNode->set_content -- Sets content of node

설명

bool DomNode->set_content ( string $content )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DomNode->replace_node | 처음으로 | DomNode->set_name


DomNode->set_name

(No version information available, might be only in CVS)

DomNode->set_name -- Sets name of node

설명

bool DomNode->set_name ( void )

Sets name of node.

See also domnode_node_name().

이전 | 위로 | 다음
DomNode->set_content | 처음으로 | DomNode->set_namespace


DomNode->set_namespace

(No version information available, might be only in CVS)

DomNode->set_namespace -- Sets namespace of a node

설명

void DomNode->set_namespace ( string $uri [, string $prefix] )

Sets the namespace of a node to uri. If there is already a namespace declaration with the same uri in one of the parent nodes of the node, the prefix of this is taken, otherwise it will take the one provided in the optional parameter prefix or generate a random one.

See also domdocument_create_element_ns(), and domnode_add_namespace()

이전 | 위로 | 다음
DomNode->set_name | 처음으로 | DomNode->unlink_node


DomNode->unlink_node

(No version information available, might be only in CVS)

DomNode->unlink_node -- Deletes node

설명

void DomNode->unlink_node ( void )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DomNode->set_namespace | 처음으로 | DomProcessingInstruction->data


DomProcessingInstruction->data

(No version information available, might be only in CVS)

DomProcessingInstruction->data -- Returns the data of ProcessingInstruction node

설명

class DomProcessingInstruction {
string data ( void )
}

This method gets the data of the ProcessingInstruction node.

반환값

Returns the data of the Processing Instruction.

Migrating to PHP 5

Use the data property of DOMProcessingInstruction.

이전 | 위로 | 다음
DomNode->unlink_node | 처음으로 | DomProcessingInstruction->target


DomProcessingInstruction->target

(No version information available, might be only in CVS)

DomProcessingInstruction->target -- Returns the target of a ProcessingInstruction node

설명

class DomProcessingInstruction {
string target ( void )
}

This method gets the target of the ProcessingInstruction node.

반환값

Returns the target of the Processing Instruction.

Migrating to PHP 5

Use the target property of DOMProcessingInstruction.

이전 | 위로 | 다음
DomProcessingInstruction->data | 처음으로 | DomXsltStylesheet->process()


DomXsltStylesheet->process()

(No version information available, might be only in CVS)

DomXsltStylesheet->process() -- Applies the XSLT-Transformation on a DomDocument Object

설명

class DomXsltStylesheet {
DomDocument process ( DomDocument $xml_doc [, array $xslt_params [, bool $is_xpath_param [, string $profile_filename]]] )
}

Applies an XSLT Transformation on the given DomDocument object.

매개변수

xml_doc

The XML document being transformed, as a DomDocument object.

xslt_params

An associative array that takes pairs of parameter names and values.

is_xpath_param

If set to FALSE the values of the xslt_params will be quoted. This is the default behavior. It allows you to pass the values as PHP strings.

참고: If your strings contains both single and double quotes, you must take care of quoting all the values by yourself and set this parameter to TRUE.

profile_filename

Set this to the path of a filename, if you want profiling information.

반환값

Returns the result of the processing, as a DomDocument object.

Migrating to PHP 5

Use XSLTProcessor::setParameter and XSLTProcessor::transformToDoc.

변경 기록

버전 | 설명
4.3.0 | The profile_filename parameter was added.

참고

domxml_xslt_stylesheet()
domxml_xslt_stylesheet_file()
domxml_xslt_stylesheet_doc()

이전 | 위로 | 다음
DomProcessingInstruction->target | 처음으로 | DomXsltStylesheet->result_dump_file()


DomXsltStylesheet->result_dump_file()

(No version information available, might be only in CVS)

DomXsltStylesheet->result_dump_file() -- Dumps the result from a XSLT-Transformation into a file

설명

class DomXsltStylesheet {
string result_dump_file ( DomDocument $xmldoc, string $filename )
}

Since DomXsltStylesheet->process() always returns a well-formed XML DomDocument, no matter what output method was declared in <xsl:output> and similar attributes/elements, it's of not much use, if you want to output HTML 4 or text data.

This function on the contrary honors <xsl:output method="html|text"> and other output control directives. See the example for instruction on how to use it.

예제

예 505. Saving the result of a XSLT transformation in a file

<?php
$filename = "stylesheet.xsl";
$xmldoc = domxml_open_file("data.xml");
$xsldoc = domxml_xslt_stylesheet_file($filename);
$result =  $xsldoc->process($xmldoc);
echo $xsldoc->result_dump_file($result, "filename");
?>

참고

DomXsltStylesheet->result_dump_mem()
DomXsltStylesheet->process()

이전 | 위로 | 다음
DomXsltStylesheet->process() | 처음으로 | DomXsltStylesheet->result_dump_mem()


DomXsltStylesheet->result_dump_mem()

(No version information available, might be only in CVS)

DomXsltStylesheet->result_dump_mem() -- Dumps the result from a XSLT-Transformation back into a string

설명

class DomXsltStylesheet {
string result_dump_mem ( DomDocument $xmldoc )
}

Since DomXsltStylesheet->process() always returns a well-formed XML DomDocument, no matter what output method was declared in <xsl:output> and similar attributes/elements, it's of not much use, if you want to output HTML 4 or text data.

This function on the contrary honors <xsl:output method="html|text"> and other output control directives. See the example for instruction on how to use it.

예제

예 506. Outputting the result of a XSLT transformation

<?php
$filename = "stylesheet.xsl";
$xmldoc = domxml_open_file("data.xml");
$xsldoc = domxml_xslt_stylesheet_file($filename);
$result =  $xsldoc->process($xmldoc);
echo $xsldoc->result_dump_mem($result);
?>

참고

DomXsltStylesheet->result_dump_file()
DomXsltStylesheet->process()

이전 | 위로 | 다음
DomXsltStylesheet->result_dump_file() | 처음으로 | domxml_new_doc


domxml_new_doc

(PHP 4 >= 4.2.0)

domxml_new_doc -- Creates new empty XML document

설명

DomDocument domxml_new_doc ( string $version )

Creates a new Dom document from scratch and returns it.

매개변수

version

The XML version number of the document.

반환값

Returns a new DomDocument instance.

이전 | 위로 | 다음
DomXsltStylesheet->result_dump_mem() | 처음으로 | domxml_open_file


domxml_open_file

(PHP 4 >= 4.2.0)

domxml_open_file -- Creates a DOM object from an XML file

설명

DomDocument domxml_open_file ( string $filename [, int $mode [, array &$error]] )

The function parses the XML document in the given file.

매개변수

filename

The path to the XML file. The file is accessed in read-only mode.

mode

This optional parameter can be used to change the behavior of this function.

You can use one of the following constants for it: DOMXML_LOAD_PARSING (default), DOMXML_LOAD_VALIDATING or DOMXML_LOAD_RECOVERING. You can add to it also DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES and DOMXML_LOAD_COMPLETE_ATTRS by bitwise or.

error

If used, it will contain the error messages. error must be passed in by reference.

반환값

Returns a DomDocument instance of the given file.

예제

예 507. Opening an XML document from a file

<?php

if (!$dom = domxml_open_file("example.xml")) {
  echo "Error while parsing the document\n";
  exit;
}

$root = $dom->document_element();
?>

변경 기록

버전 | 설명
4.3.0 | The parameters mode and error were added.

참고

domxml_open_mem()
domxml_new_doc()

이전 | 위로 | 다음
domxml_new_doc | 처음으로 | domxml_open_mem


domxml_open_mem

(PHP 4 >= 4.2.0)

domxml_open_mem -- Creates a DOM object of an XML document

설명

DomDocument domxml_open_mem ( string $str [, int $mode [, array &$error]] )

The function parses the XML document in the given string.

매개변수

str

The contents of the XML file.

mode

This optional parameter can be used to change the behavior of this function.

You can use one of the following constants for it: DOMXML_LOAD_PARSING (default), DOMXML_LOAD_VALIDATING or DOMXML_LOAD_RECOVERING. You can add to it also DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES and DOMXML_LOAD_COMPLETE_ATTRS by bitwise or.

error

If used, it will contain the error messages. error must be passed in by reference.

반환값

Returns a DomDocument instance of the given XML contents.

변경 기록

버전 | 설명
4.3.0 | The mode and error parameters were added.

예제

예 508. Opening an XML document in a string

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$root = $dom->document_element();
?>

참고

domxml_open_file()
domxml_new_doc()

이전 | 위로 | 다음
domxml_open_file | 처음으로 | domxml_version


domxml_version

(PHP 4 >= 4.0.7)

domxml_version -- Gets the XML library version

설명

string domxml_version ( void )

Gets the version of the XML library currently used.

반환값

The version of the XML library, as a string.

예제

예 509. domxml_version() Example

<?php

echo domxml_version();

?>

위 예제의 출력 예:

20607

이전 | 위로 | 다음
domxml_open_mem | 처음으로 | domxml_xmltree


domxml_xmltree

(PHP 4 >= 4.2.0)

domxml_xmltree -- Creates a tree of PHP objects from an XML document

설명

DomDocument domxml_xmltree ( string $str )

The function parses the XML document in str and returns a tree PHP objects as the parsed document.

This function is isolated from the other functions, which means you cannot access the tree with any of the other functions. Modifying it, for example by adding nodes, makes no sense since there is currently no way to dump it as an XML file.

However this function may be valuable if you want to read a file and investigate the content.

매개변수

str

The contents of the XML file.

반환값

Returns a tree of Dom objects starting by a DomDocument.

이전 | 위로 | 다음
domxml_version | 처음으로 | domxml_xslt_stylesheet_doc


domxml_xslt_stylesheet_doc

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet_doc -- Creates a DomXsltStylesheet Object from a DomDocument Object

설명

DomXsltStylesheet domxml_xslt_stylesheet_doc ( DomDocument $xsl_doc )

Creates a DomXsltStylesheet object from the given XSL document.

매개변수

xsl_doc

The XSL document, as a DomDocument object.

반환값

Returns a new instance of DomXsltStylesheet.

Migrating to PHP 5

Call XSLTProcessor::importStylesheet with the xsl_doc parameter.

참고

DomXsltStylesheet->process()
domxml_xslt_stylesheet()
domxml_xslt_stylesheet_file()

이전 | 위로 | 다음
domxml_xmltree | 처음으로 | domxml_xslt_stylesheet_file


domxml_xslt_stylesheet_file

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet_file -- Creates a DomXsltStylesheet Object from an XSL document in a file

설명

DomXsltStylesheet domxml_xslt_stylesheet_file ( string $xsl_file )

Creates a DomXsltStylesheet object from the given XSL file.

매개변수

xsl_file

The path to the XSL document, as a string.

반환값

Returns a new instance of DomXsltStylesheet.

Migrating to PHP 5

Call XSLTProcessor::importStylesheet with DOMDocument::load($xsl_file) as parameter.

참고

DomXsltStylesheet->process()
domxml_xslt_stylesheet()
domxml_xslt_stylesheet_doc()

이전 | 위로 | 다음
domxml_xslt_stylesheet_doc | 처음으로 | domxml_xslt_stylesheet


domxml_xslt_stylesheet

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet -- Creates a DomXsltStylesheet object from an XSL document in a string

설명

DomXsltStylesheet domxml_xslt_stylesheet ( string $xsl_buf )

Creates a DomXsltStylesheet object from the given XSL buffer.

매개변수

xsl_buf

The XSL document, as a string.

반환값

Returns a new instance of DomXsltStylesheet.

Migrating to PHP 5

Call XSLTProcessor::importStylesheet with DOMDocument::loadXML($xsl_buf) as parameter.

참고

DomXsltStylesheet->process()
domxml_xslt_stylesheet_file()
domxml_xslt_stylesheet_doc()

이전 | 위로 | 다음
domxml_xslt_stylesheet_file | 처음으로 | domxml_xslt_version


xpath_eval_expression

(PHP 4 >= 4.0.4)

xpath_eval_expression -- Evaluates the XPath Location Path in the given string

설명

class XPathContext {
XPathObject xpath_eval_expression ( string $expression [, domnode $contextnode] )
} XPathObject xpath_eval_expression ( XPathContext $xpath_context, string $expression [, domnode $contextnode] )

예 511. xpath_eval_expression() Example

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

$xpath = xpath_new_context($dom);
var_dump(xpath_eval_expression($xpath, '/chapter/@language'));

?>

위 예제의 출력:

object(XPathObject)(2) {
   ["type"]=>
   int(1)
   ["nodeset"]=>
   array(1) {
     [0]=>
     object(domattribute)(5) {
       ["type"]=>
       int(2)
       ["name"]=>
       string(8) "language"
       ["value"]=>
       string(2) "en"
       [0]=>
       int(7)
       [1]=>
       int(138004256)
     }
  }
}

See also xpath_eval().

이전 | 위로 | 다음
domxml_xslt_version | 처음으로 | xpath_eval


xpath_eval

(PHP 4 >= 4.0.4)

xpath_eval -- Evaluates the XPath Location Path in the given string

설명

class XPathContext {
XPathObject xpath_eval ( string $xpath_expression [, domnode $contextnode] )
} XPathObject xpath_eval ( XPathContext $xpath_context, string $xpath_expression [, domnode $contextnode] )

The optional contextnode can be specified for doing relative XPath queries.

See also xpath_new_context().

이전 | 위로 | 다음
xpath_eval_expression | 처음으로 | xpath_new_context


xpath_new_context

(PHP 4 >= 4.0.4)

xpath_new_context -- Creates new xpath context

설명

XPathContext xpath_new_context ( domdocument $dom_document )

See also xpath_eval().

이전 | 위로 | 다음
xpath_eval | 처음으로 | xpath_register_ns_auto


xptr_eval

(PHP 4 >= 4.0.4)

xptr_eval -- Evaluate the XPtr Location Path in the given string

설명

class XPathContext {
int xptr_eval ( string $eval_str [, domnode $contextnode] )
} int xptr_eval ( XPathContext $xpath_context, string $eval_str [, domnode $contextnode] )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xpath_register_ns | 처음으로 | xptr_new_context


xptr_new_context

(PHP 4 >= 4.0.4)

xptr_new_context -- Create new XPath Context

설명

XPathContext xptr_new_context ( void )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xptr_eval | 처음으로 | XXXIII. enchant Functions


.NET Functions

이전 VI. 함수 레퍼런스 다음

I. .NET Functions

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

차례

dotnet_load -- Loads a DOTNET module
이전 | 위로 | 다음
VI. 함수 레퍼런스 | 처음으로 | dotnet_load


dotnet_load

(No version information available, might be only in CVS)

dotnet_load -- Loads a DOTNET module

설명

int dotnet_load ( string $assembly_name [, string $datatype_name [, int $codepage]] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

변경 기록

버전 | 설명
4.1.0 | The codepage parameter was added

이전 | 위로 | 다음
I. .NET Functions | 처음으로 | II. 아파치 함수


Error Handling and Logging Functions

이전 VI. 함수 레퍼런스 다음

XXXIV. Error Handling and Logging Functions

소개

These are functions dealing with error handling and logging. They allow you to define your own error handling rules, as well as modify the way the errors can be logged. This allows you to change and enhance error reporting to suit your needs.

With the logging functions, you can send messages directly to other machines, to an email (or email to pager gateway!), to system logs, etc., so you can selectively log and monitor the most important parts of your applications and websites.

The error reporting functions allow you to customize what level and kind of error feedback is given, ranging from simple notices to customized functions returned during errors.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 78. Errors and Logging Configuration Options

Name | Default | Changeable | Changelog
error_reporting | NULL | PHP_INI_ALL |
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL | Available since PHP 4.0.3.
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Available since PHP 4.3.0.
ignore_repeated_errors | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
report_memleaks | "1" | PHP_INI_ALL | Available since PHP 4.3.0.
track_errors | "0" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.0.2.
docref_root | "" | PHP_INI_ALL | Available since PHP 4.3.0.
docref_ext | "" | PHP_INI_ALL | Available since PHP 4.3.2.
error_prepend_string | NULL | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
warn_plus_overloading | NULL |  | This option is no longer available as of PHP 4.0.0

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

error_reporting integer

Set the error reporting level. The parameter is either an integer representing a bit field, or named constants. The error_reporting levels and constants are described in Predefined Constants, and in php.ini. To set at runtime, use the error_reporting() function. See also the display_errors directive.

In PHP 4 and PHP 5 the default value is E_ALL & ~E_NOTICE. This setting does not show E_NOTICE level errors. You may want to show them during development.

참고: Enabling E_NOTICE during development has some benefits. For debugging purposes: NOTICE messages will warn you about possible bugs in your code. For example, use of unassigned values is warned. It is extremely useful to find typos and to save time for debugging. NOTICE messages will warn you about bad style. For example, $arr[item] is better to be written as $arr['item'] since PHP tries to treat "item" as constant. If it is not a constant, PHP assumes it is a string index for the array.

참고: In PHP 5 a new error level E_STRICT is available. As E_STRICT is not included within E_ALL you have to explicitly enable this kind of error level. Enabling E_STRICT during development has some benefits. STRICT messages will help you to use the latest and greatest suggested method of coding, for example warn you about using deprecated functions.

PHP Constants outside of PHP: Using PHP Constants outside of PHP, like in httpd.conf, will have no useful meaning so in such cases the integer values are required. And since error levels will be added over time, the maximum value (for E_ALL) will likely change. So in place of E_ALL consider using a larger value to cover all bit fields from now and well into the future, a numeric value like 2147483647.

In PHP 3, the default setting is (E_ERROR | E_WARNING | E_PARSE), meaning the same thing. Note, however, that since constants are not supported in PHP 3's php3.ini, the error_reporting setting there must be numeric; hence, it is 7.

display_errors string

This determines whether errors should be printed to the screen as part of the output or if they should be hidden from the user.

Value "stderr" sends the errors to stderr instead of stdout. The value is available as of PHP 5.2.4. In earlier versions, this directive was of type boolean.

참고: This is a feature to support your development and should never be used on production systems (e.g. systems connected to the internet).

참고: Although display_errors may be set at runtime (with ini_set()), it won't have any affect if the script has fatal errors. This is because the desired runtime action does not get executed.

display_startup_errors boolean

Even when display_errors is on, errors that occur during PHP's startup sequence are not displayed. It's strongly recommended to keep display_startup_errors off, except for debugging.

log_errors boolean

Tells whether script error messages should be logged to the server's error log or error_log. This option is thus server-specific.

참고: You're strongly advised to use error logging in place of error displaying on production web sites.

log_errors_max_len integer

Set the maximum length of log_errors in bytes. In error_log information about the source is added. The default is 1024 and 0 allows to not apply any maximum length at all. This length is applied to logged errors, displayed errors and also to $php_errormsg.

integer 형이 사용될 때, 바이트로 값을 측정합니다. FAQ에 설명된 단축어를 사용할 수도 있습니다.

ignore_repeated_errors boolean

Do not log repeated messages. Repeated errors must occur in the same file on the same line until ignore_repeated_source is set true.

ignore_repeated_source boolean

Ignore source of message when ignoring repeated messages. When this setting is On you will not log errors with repeated messages from different files or sourcelines.

report_memleaks boolean

If this parameter is set to Off, then memory leaks will not be shown (on stdout or in the log). This has only effect in a debug compile, and if error_reporting includes E_WARNING in the allowed list

track_errors boolean

If enabled, the last error message will always be present in the variable $php_errormsg.

html_errors boolean

Turn off HTML tags in error messages. The new format for HTML errors produces clickable messages that direct the user to a page describing the error or function in causing the error. These references are affected by docref_root and docref_ext.

docref_root string

The new error format contains a reference to a page describing the error or function causing the error. In case of manual pages you can download the manual in your language and set this ini directive to the URL of your local copy. If your local copy of the manual can be reached by '/manual/' you can simply use docref_root=/manual/. Additional you have to set docref_ext to match the fileextensions of your copy docref_ext=.html. It is possible to use external references. For example you can use docref_root=http://manual/en/ or docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"

Most of the time you want the docref_root value to end with a slash '/'. But see the second example above which does not have nor need it.

참고: This is a feature to support your development since it makes it easy to lookup a function description. However it should never be used on production systems (e.g. systems connected to the internet).

docref_ext string

See docref_root.

참고: The value of docref_ext must begin with a dot '.'.

error_prepend_string string

String to output before an error message.

error_append_string string

String to output after an error message.

error_log string

Name of the file where script errors should be logged. The file should be writable by the web server's user. If the special value syslog is used, the errors are sent to the system logger instead. On Unix, this means syslog(3) and on Windows NT it means the event log. The system logger is not supported on Windows 95. See also: syslog(). If this directive is not set, errors are sent to the SAPI error logger. For example, it is an error log in Apache or stderr in CLI.

warn_plus_overloading boolean

If enabled, this option makes PHP output a warning when the plus (+) operator is used on strings. This is to make it easier to find scripts that need to be rewritten to using the string concatenator instead (.). This option doesn't exist as of PHP 4.

예약 상수

아래 상수들은 PHP 코어의 일부로, 항상 사용할 수 있습니다.

참고: You may use these constant names in php.ini but not outside of PHP, like in httpd.conf, where you'd use the bitmask values instead.

표 79. Errors and Logging

Value | Constant | Description | Note
1 | E_ERROR (integer) | Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted. |
2 | E_WARNING (integer) | Run-time warnings (non-fatal errors). Execution of the script is not halted. |
4 | E_PARSE (integer) | Compile-time parse errors. Parse errors should only be generated by the parser. |
8 | E_NOTICE (integer) | Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script. |
16 | E_CORE_ERROR (integer) | Fatal errors that occur during PHP's initial startup. This is like an E_ERROR, except it is generated by the core of PHP. | since PHP 4
32 | E_CORE_WARNING (integer) | Warnings (non-fatal errors) that occur during PHP's initial startup. This is like an E_WARNING, except it is generated by the core of PHP. | since PHP 4
64 | E_COMPILE_ERROR (integer) | Fatal compile-time errors. This is like an E_ERROR, except it is generated by the Zend Scripting Engine. | since PHP 4
128 | E_COMPILE_WARNING (integer) | Compile-time warnings (non-fatal errors). This is like an E_WARNING, except it is generated by the Zend Scripting Engine. | since PHP 4
256 | E_USER_ERROR (integer) | User-generated error message. This is like an E_ERROR, except it is generated in PHP code by using the PHP function trigger_error(). | since PHP 4
512 | E_USER_WARNING (integer) | User-generated warning message. This is like an E_WARNING, except it is generated in PHP code by using the PHP function trigger_error(). | since PHP 4
1024 | E_USER_NOTICE (integer) | User-generated notice message. This is like an E_NOTICE, except it is generated in PHP code by using the PHP function trigger_error(). | since PHP 4
2048 | E_STRICT (integer) | Run-time notices. Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code. | since PHP 5
4096 | E_RECOVERABLE_ERROR (integer) | Catchable fatal error. It indicates that a probably dangerous error occured, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle (see also set_error_handler()), the application aborts as it was an E_ERROR. | since PHP 5.2.0
8191 | E_ALL (integer) | All errors and warnings, as supported, except of level E_STRICT in PHP < 6. | 6143 in PHP 5.2.x and 2047 previously

The above values (either numerical or symbolic) are used to build up a bitmask that specifies which errors to report. You can use the bitwise operators to combine these values or mask out certain types of errors. Note that only '|', '~', '!', '^' and '&' will be understood within php.ini, however, and that no bitwise operators will be understood within php3.ini.

예제

Below we can see an example of using the error handling capabilities in PHP. We define an error handling function which logs the information into a file (using an XML format), and e-mails the developer in case a critical error in the logic happens.

예 520. Using error handling in a script

<?php
// we will do our own error handling
error_reporting(0);

// user defined error handling function
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
    // timestamp for the error entry
    $dt = date("Y-m-d H:i:s (T)");

    // define an assoc array of error string
    // in reality the only entries we should
    // consider are E_WARNING, E_NOTICE, E_USER_ERROR,
    // E_USER_WARNING and E_USER_NOTICE
    $errortype = array (
                E_ERROR              => 'Error',
                E_WARNING            => 'Warning',
                E_PARSE              => 'Parsing Error',
                E_NOTICE             => 'Notice',
                E_CORE_ERROR         => 'Core Error',
                E_CORE_WARNING       => 'Core Warning',
                E_COMPILE_ERROR      => 'Compile Error',
                E_COMPILE_WARNING    => 'Compile Warning',
                E_USER_ERROR         => 'User Error',
                E_USER_WARNING       => 'User Warning',
                E_USER_NOTICE        => 'User Notice',
                E_STRICT             => 'Runtime Notice',
                E_RECOVERABLE_ERROR  => 'Catchable Fatal Error'
                );
    // set of errors for which a var trace will be saved
    $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);

    $err = "<errorentry>\n";
    $err .= "\t<datetime>" . $dt . "</datetime>\n";
    $err .= "\t<errornum>" . $errno . "</errornum>\n";
    $err .= "\t<errortype>" . $errortype[$errno] . "</errortype>\n";
    $err .= "\t<errormsg>" . $errmsg . "</errormsg>\n";
    $err .= "\t<scriptname>" . $filename . "</scriptname>\n";
    $err .= "\t<scriptlinenum>" . $linenum . "</scriptlinenum>\n";

    if (in_array($errno, $user_errors)) {
        $err .= "\t<vartrace>" . wddx_serialize_value($vars, "Variables") . "</vartrace>\n";
    }
    $err .= "</errorentry>\n\n";

    // for testing
    // echo $err;

    // save to the error log, and e-mail me if there is a critical user error
    error_log($err, 3, "/usr/local/php4/error.log");
    if ($errno == E_USER_ERROR) {
        mail("phpdev@example.com", "Critical User Error", $err);
    }
}

function distance($vect1, $vect2)
{
    if (!is_array($vect1) || !is_array($vect2)) {
        trigger_error("Incorrect parameters, arrays expected", E_USER_ERROR);
        return NULL;
    }

    if (count($vect1) != count($vect2)) {
        trigger_error("Vectors need to be of the same size", E_USER_ERROR);
        return NULL;
    }

    for ($i=0; $i<count($vect1); $i++) {
        $c1 = $vect1[$i]; $c2 = $vect2[$i];
        $d = 0.0;
        if (!is_numeric($c1)) {
            trigger_error("Coordinate $i in vector 1 is not a number, using zero",
                            E_USER_WARNING);
            $c1 = 0.0;
        }
        if (!is_numeric($c2)) {
            trigger_error("Coordinate $i in vector 2 is not a number, using zero",
                            E_USER_WARNING);
            $c2 = 0.0;
        }
        $d += $c2*$c2 - $c1*$c1;
    }
    return sqrt($d);
}

$old_error_handler = set_error_handler("userErrorHandler");

// undefined constant, generates a warning
$t = I_AM_NOT_DEFINED;

// define some "vectors"
$a = array(2, 3, "foo");
$b = array(5.5, 4.3, -1.6);
$c = array(1, -3);

// generate a user error
$t1 = distance($c, $b) . "\n";

// generate another user error
$t2 = distance($b, "i am not an array") . "\n";

// generate a warning
$t3 = distance($a, $b) . "\n";

?>

참고

See also syslog().

차례

debug_backtrace -- Generates a backtrace
debug_print_backtrace -- Prints a backtrace
error_get_last -- Get the last occurred error
error_log -- Send an error message somewhere
error_reporting -- Sets which PHP errors are reported
restore_error_handler -- Restores the previous error handler function
restore_exception_handler -- Restores the previously defined exception handler function
set_error_handler -- Sets a user-defined error handler function
set_exception_handler -- Sets a user-defined exception handler function
trigger_error -- Generates a user-level error/warning/notice message
user_error -- Alias of trigger_error()
이전 | 위로 | 다음
enchant_dict_suggest | 처음으로 | debug_backtrace


debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtrace -- Generates a backtrace

설명

array debug_backtrace ( void )

debug_backtrace() generates a PHP backtrace.

반환값

Returns an associative array. The possible returned elements are as follows:

표 80. Possible returned elements from debug_backtrace()

Name | Type | Description
function | string | The current function name. See also __FUNCTION__.
line | integer | The current line number. See also __LINE__.
file | string | The current file name. See also __FILE__.
class | string | The current class name. See also __CLASS__
object | object | The current object.
type | string | The current call type. If a method call, "->" is returned. If a static method call, "::" is returned. If a function call, nothing is returned.
args | array | If inside a function, this lists the functions arguments. If inside an included file, this lists the included file name(s).

변경 기록

버전 | 설명
5.1.1 | Added the current object as a possible return element.

예제

예 521. debug_backtrace() example

<?php
// filename: a.php

function a_test($str)
{
    echo "\nHi: $str";
    var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// filename: b.php
include_once '/tmp/a.php';
?>

Results similar to the following when executing /tmp/b.php:

Hi: friend
array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6) "a_test"
    ["args"]=>
    array(1) {
      [0] => &string(6) "friend"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}

참고

trigger_error()
debug_print_backtrace()

이전 | 위로 | 다음
XXXIV. Error Handling and Logging Functions | 처음으로 | debug_print_backtrace


debug_print_backtrace

(PHP 5)

debug_print_backtrace -- Prints a backtrace

설명

void debug_print_backtrace ( void )

debug_print_backtrace() prints a PHP backtrace. It prints the function calls, included/required files and eval()ed stuff.

매개변수

This function has no parameters.

반환값

값을 반환하지 않습니다.

예제

예 522. debug_print_backtrace() example

<?php
// include.php file

function a() {
    b();
}

function b() {
    c();
}

function c(){
    debug_print_backtrace();
}

a();

?> <?php
// test.php file
// this is the file you should run

include 'include.php';
?>

위 예제의 출력 예:

#0  eval() called at [/tmp/include.php:5]
#1  a() called at [/tmp/include.php:17]
#2  include(/tmp/include.php) called at [/tmp/test.php:3]

#0  c() called at [/tmp/include.php:10]
#1  b() called at [/tmp/include.php:6]
#2  a() called at [/tmp/include.php:17]
#3  include(/tmp/include.php) called at [/tmp/test.php:3]

참고

debug_backtrace()

이전 | 위로 | 다음
debug_backtrace | 처음으로 | error_get_last


error_log

(PHP 4, PHP 5)

error_log -- Send an error message somewhere

설명

bool error_log ( string $message [, int $message_type [, string $destination [, string $extra_headers]]] )

Sends an error message to the web server's error log, a TCP port or to a file.

매개변수

message

The error message that should be logged.

message_type

Says where the error should go. The possible message types are as follows:

표 81. error_log() log types

0 | message is sent to PHP's system logger, using the Operating System's system logging mechanism or a file, depending on what the error_log configuration directive is set to. This is the default option.
1 | message is sent by email to the address in the destination parameter. This is the only message type where the fourth parameter, extra_headers is used.
2 | message is sent through the PHP debugging connection. This option is only available if remote debugging has been enabled. In this case, the destination parameter specifies the host name or IP address and optionally, port number, of the socket receiving the debug information. This option is only available in PHP 3.
3 | message is appended to the file destination. A newline is not automatically added to the end of the message string.

destination

The destination. Its meaning depends on the message_type parameter as described above.

extra_headers

The extra headers. It's used when the message_type parameter is set to 1. This message type uses the same internal function as mail() does.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 524. error_log() examples

<?php
// Send notification through the server log if we can not
// connect to the database.
if (!Ora_Logon($username, $password)) {
    error_log("Oracle database not available!", 0);
}

// Notify administrator by email if we run out of FOO
if (!($foo = allocate_new_foo())) {
    error_log("Big trouble, we're all out of FOOs!", 1,
               "operator@example.com");
}

// other ways of calling error_log():
error_log("You messed up!", 2, "127.0.0.1:7000");
error_log("You messed up!", 2, "loghost");
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
?>

이전 | 위로 | 다음
error_get_last | 처음으로 | error_reporting


error_reporting

(PHP 4, PHP 5)

error_reporting -- Sets which PHP errors are reported

설명

int error_reporting ( [int $level] )

The error_reporting() function sets the error_reporting directive at runtime. PHP has many levels of errors, using this function sets that level for the duration (runtime) of your script.

매개변수

level

The new error_reporting level. It takes on either a bitmask, or named constants. Using named constants is strongly encouraged to ensure compatibility for future versions. As error levels are added, the range of integers increases, so older integer-based error levels will not always behave as expected.

The available error level constants are listed below. The actual meanings of these error levels are described in the predefined constants.

표 82. error_reporting() level constants and bit values

value | constant
1 | E_ERROR
2 | E_WARNING
4 | E_PARSE
8 | E_NOTICE
16 | E_CORE_ERROR
32 | E_CORE_WARNING
64 | E_COMPILE_ERROR
128 | E_COMPILE_WARNING
256 | E_USER_ERROR
512 | E_USER_WARNING
1024 | E_USER_NOTICE
6143 | E_ALL
2048 | E_STRICT
4096 | E_RECOVERABLE_ERROR

반환값

Returns the old error_reporting level.

변경 기록

버전 | 설명
5.0.0 | E_STRICT introduced (not part of E_ALL).
5.2.0 | E_RECOVERABLE_ERROR introduced.
6 | E_STRICT became part of E_ALL.

예제

예 525. error_reporting() examples

<?php

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

주의

주의

Most of E_STRICT errors are evaluated at the compile time thus such errors are not reported in the file where error_reporting is enhanced to include E_STRICT errors (and vice versa).

참고

The display_errors directive
ini_set()

이전 | 위로 | 다음
error_log | 처음으로 | restore_error_handler


restore_error_handler

(PHP 4 >= 4.0.1, PHP 5)

restore_error_handler -- Restores the previous error handler function

설명

bool restore_error_handler ( void )

Used after changing the error handler function using set_error_handler(), to revert to the previous error handler (which could be the built-in or a user defined function).

반환값

This function always returns TRUE.

예제

예 526. restore_error_handler() example

Decide if unserialize() caused an error, then restore the original error handler.

<?php
function unserialize_handler($errno, $errstr)
{
    echo "Invalid serialized value.\n";
}

$serialized = 'foo';
set_error_handler('unserialize_handler');
$original = unserialize($serialized);
restore_error_handler();
?>

위 예제의 출력:

Invalid serialized value.

주의

참고: Calling restore_error_handler() from the error_handler function is ignored.

참고

error_reporting()
set_error_handler()
restore_exception_handler()
trigger_error()

이전 | 위로 | 다음
error_reporting | 처음으로 | restore_exception_handler


restore_exception_handler

(PHP 5)

restore_exception_handler -- Restores the previously defined exception handler function

설명

bool restore_exception_handler ( void )

Used after changing the exception handler function using set_exception_handler(), to revert to the previous exception handler (which could be the built-in or a user defined function).

반환값

This function always returns TRUE.

참고

set_exception_handler()
set_error_handler()
restore_error_handler()
error_reporting()

이전 | 위로 | 다음
restore_error_handler | 처음으로 | set_error_handler


set_error_handler

(PHP 4 >= 4.0.1, PHP 5)

set_error_handler -- Sets a user-defined error handler function

설명

mixed set_error_handler ( callback $error_handler [, int $error_types] )

Sets a user function (error_handler) to handle errors in a script.

This function can be used for defining your own way of handling errors during runtime, for example in applications in which you need to do cleanup of data/files when a critical error happens, or when you need to trigger an error under certain conditions (using trigger_error()).

It is important to remember that the standard PHP error handler is completely bypassed. error_reporting() settings will have no effect and your error handler will be called regardless - however you are still able to read the current value of error_reporting and act appropriately. Of particular note is that this value will be 0 if the statement that caused the error was prepended by the @ error-control operator.

Also note that it is your responsibility to die() if necessary. If the error-handler function returns, script execution will continue with the next statement after the one that caused an error.

The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called.

If errors occur before the script is executed (e.g. on file uploads) the custom error handler cannot be called since it is not registered at that time.

매개변수

error_handler

The user function needs to accept two parameters: the error code, and a string describing the error. Then there are three optional parameters that may be supplied: the filename in which the error occurred, the line number in which the error occurred, and the context in which the error occurred (an array that points to the active symbol table at the point the error occurred). The function can be shown as:

handler ( int $errno, string $errstr [, string $errfile [, int $errline [, array $errcontext]]] )

errno
The first parameter, errno, contains the level of the error raised, as an integer.
errstr
The second parameter, errstr, contains the error message, as a string.
errfile
The third parameter is optional, errfile, which contains the filename that the error was raised in, as a string.
errline
The fourth parameter is optional, errline, which contains the line number the error was raised at, as an integer.
errcontext
The fifth parameter is optional, errcontext, which is an array that points to the active symbol table at the point the error occurred. In other words, errcontext will contain an array of every variable that existed in the scope the error was triggered in. User error handler must not modify error context.

If the function returns FALSE then the normal error handler continues.

error_types

Can be used to mask the triggering of the error_handler function just like the error_reporting ini setting controls which errors are shown. Without this mask set the error_handler will be called for every error regardless to the setting of the error_reporting setting.

반환값

Returns a string containing the previously defined error handler (if any), or NULL on error. If the previous handler was a class method, this function will return an indexed array with the class and the method name.

변경 기록

버전 | 설명
5.2.0 | The error handler must return FALSE to populate $php_errormsg.
5.0.0 | The error_types parameter was introduced.
4.3.0 | Instead of a function name, an array containing an object reference and a method name can also be supplied as the error_handler.
4.0.2 | Three optional parameters for the error_handler user function was introduced. These are the filename, the line number, and the context.

예제

예 527. Error handling with set_error_handler() and trigger_error()

The example below shows the handling of internal exceptions by triggering errors and handling them with a user defined function:

<?php
// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    switch ($errno) {
    case E_USER_ERROR:
        echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
        echo "  Fatal error on line $errline in file $errfile";
        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
        echo "Aborting...<br />\n";
        exit(1);
        break;

    case E_USER_WARNING:
        echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
        break;

    case E_USER_NOTICE:
        echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
        break;

    default:
        echo "Unknown error type: [$errno] $errstr<br />\n";
        break;
    }

    /* Don't execute PHP internal error handler */
    return true;
}

// function to test the error handling
function scale_by_log($vect, $scale)
{
    if (!is_numeric($scale) || $scale <= 0) {
        trigger_error("log(x) for x <= 0 is undefined, you used: scale = $scale", E_USER_ERROR);
    }

    if (!is_array($vect)) {
        trigger_error("Incorrect input vector, array of values expected", E_USER_WARNING);
        return null;
    }

    $temp = array();
    foreach($vect as $pos => $value) {
        if (!is_numeric($value)) {
            trigger_error("Value at position $pos is not a number, using 0 (zero)", E_USER_NOTICE);
            $value = 0;
        }
        $temp[$pos] = log($scale) * $value;
    }

    return $temp;
}

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");

// trigger some errors, first define a mixed array with a non-numeric item
echo "vector a\n";
$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
print_r($a);

// now generate second array
echo "----\nvector b - a notice (b = log(PI) * a)\n";
/* Value at position $pos is not a number, using 0 (zero) */
$b = scale_by_log($a, M_PI);
print_r($b);

// this is trouble, we pass a string instead of an array
echo "----\nvector c - a warning\n";
/* Incorrect input vector, array of values expected */
$c = scale_by_log("not array", 2.3);
var_dump($c); // NULL

// this is a critical error, log of zero or negative number is undefined
echo "----\nvector d - fatal error\n";
/* log(x) for x <= 0 is undefined, you used: scale = $scale" */
$d = scale_by_log($a, -2.5);
var_dump($d); // Never reached
?>

위 예제의 출력 예:

vector a
Array
(
    [0] => 2
    [1] => 3
    [2] => foo
    [3] => 5.5
    [4] => 43.3
    [5] => 21.11
)
----
vector b - a notice (b = log(PI) * a)
<b>My NOTICE</b> [1024] Value at position 2 is not a number, using 0 (zero)<br />
Array
(
    [0] => 2.2894597716988
    [1] => 3.4341896575482
    [2] => 0
    [3] => 6.2960143721717
    [4] => 49.566804057279
    [5] => 24.165247890281
)
----
vector c - a warning
<b>My WARNING</b> [512] Incorrect input vector, array of values expected<br />
NULL
----
vector d - fatal error
<b>My ERROR</b> [256] log(x) for x <= 0 is undefined, you used: scale = -2.5<br />
  Fatal error on line 35 in file trigger_error.php, PHP 5.2.1 (FreeBSD)<br />
Aborting...<br />

참고

error_reporting()
restore_error_handler()
trigger_error()
error level constants
callback 형에 대한 정보

이전 | 위로 | 다음
restore_exception_handler | 처음으로 | set_exception_handler


set_exception_handler

(PHP 5)

set_exception_handler -- Sets a user-defined exception handler function

설명

string set_exception_handler ( callback $exception_handler )

Sets the default exception handler if an exception is not caught within a try/catch block. Execution will stop after the exception_handler is called.

매개변수

exception_handler

Name of the function to be called when an uncaught exception occurs. This function must be defined before calling set_exception_handler(). This handler function needs to accept one parameter, which will be the exception object that was thrown.

반환값

Returns the name of the previously defined exception handler, or NULL on error. If no previous handler was defined, NULL is also returned.

예제

예 528. set_exception_handler() example

<?php
function exception_handler($exception) {
  echo "Uncaught exception: " , $exception->getMessage(), "\n";
}

set_exception_handler('exception_handler');

throw new Exception('Uncaught Exception');
echo "Not Executed\n";
?>

참고

restore_exception_handler(),
restore_error_handler(),
error_reporting(),
callback 형에 대한 정보,  그리고
PHP 5 Exceptions.

이전 | 위로 | 다음
set_error_handler | 처음으로 | trigger_error


trigger_error

(PHP 4 >= 4.0.1, PHP 5)

trigger_error -- Generates a user-level error/warning/notice message

설명

bool trigger_error ( string $error_msg [, int $error_type] )

Used to trigger a user error condition, it can be used by in conjunction with the built-in error handler, or with a user defined function that has been set as the new error handler (set_error_handler()).

This function is useful when you need to generate a particular response to an exception at runtime.

매개변수

error_msg

The designated error message for this error. It's limited to 1024 characters in length. Any additional characters beyond 1024 will be truncated.

error_type

The designated error type for this error. It only works with the E_USER family of constants, and will default to E_USER_NOTICE.

반환값

This function returns FALSE if wrong error_type is specified, TRUE otherwise.

예제

예 529. trigger_error() example

See set_error_handler() for a more extensive example.

<?php
if (assert($divisor == 0)) {
    trigger_error("Cannot divide by zero", E_USER_ERROR);
}
?>

참고

error_reporting()
set_error_handler()
restore_error_handler()
The error level constants

이전 | 위로 | 다음
set_exception_handler | 처음으로 | user_error


user_error

(PHP 4, PHP 5)

user_error -- Alias of trigger_error()

설명

이 함수는 다음 함수의 alias입니다: trigger_error().

이전 | 위로 | 다음
trigger_error | 처음으로 | XXXV. Exif Functions


Exif Functions

이전 VI. 함수 레퍼런스 다음

XXXV. Exif Functions

소개

With the exif extension you are able to work with image meta data. For example, you may use exif functions to read meta data of pictures taken from digital cameras by working with information stored in the headers of the JPEG and TIFF images.

요구 조건

Your PHP must be compiled in with --enable-exif. PHP does not require any additional library for the exif module. Windows users must also have the mbstring extension enabled.

설치

To enable exif-support configure PHP with --enable-exif

Windows users must enable both the php_mbstring.dll and php_exif.dll DLL's in php.ini. The php_mbstring.dll DLL must be loaded before the php_exif.dll DLL so adjust your php.ini accordingly.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

Exif supports automatically conversion for Unicode and JIS character encodings of user comments when module mbstring is available. This is done by first decoding the comment using the specified characterset. The result is then encoded with another characterset which should match your HTTP output.

표 83. Exif configuration options

Name | Default | Changeable | Changelog
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

exif.encode_unicode string

exif.encode_unicode defines the characterset UNICODE user comments are handled. This defaults to ISO-8859-15 which should work for most non Asian countries. The setting can be empty or must be an encoding supported by mbstring. If it is empty the current internal encoding of mbstring is used.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola defines the image internal characterset for Unicode encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2BE.

exif.decode_unicode_intel string

exif.decode_unicode_intel defines the image internal characterset for Unicode encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2LE.

exif.encode_jis string

exif.encode_jis defines the characterset JIS user comments are handled. This defaults to an empty value which forces the functions to use the current internal encoding of mbstring.

exif.decode_jis_motorola string

exif.decode_jis_motorola defines the image internal characterset for JIS encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.

exif.decode_jis_intel string

exif.decode_jis_intel defines the image internal characterset for JIS encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

EXIF_USE_MBSTRING (integer)

The exif_imagetype() lists several related built-in constants.

차례

exif_imagetype -- Determine the type of an image
exif_read_data -- Reads the EXIF headers from JPEG or TIFF
exif_tagname -- Get the header name for an index
exif_thumbnail -- Retrieve the embedded thumbnail of a TIFF or JPEG image
read_exif_data -- Alias of exif_read_data()
이전 | 위로 | 다음
user_error | 처음으로 | exif_imagetype


exif_imagetype

(PHP 4 >= 4.3.0, PHP 5)

exif_imagetype -- Determine the type of an image

설명

int exif_imagetype ( string $filename )

exif_imagetype() reads the first bytes of an image and checks its signature.

exif_imagetype() can be used to avoid calls to other exif functions with unsupported file types or in conjunction with $_SERVER['HTTP_ACCEPT'] to check whether or not the viewer is able to see a specific image in the browser.

매개변수

filename
The image being checked.

반환값

When a correct signature is found, the appropriate constant value will be returned otherwise the return value is FALSE. The return value is the same value that getimagesize() returns in index 2 but exif_imagetype() is much faster.

변경 기록

버전 | 설명
4.3.2 | Support for JPC, JP2, JPX, JB2, XBM, and WBMP
4.3.0 | Support for SWC

예약 상수

The following constants are defined, and represent possible exif_imagetype() return values:

표 84. Imagetype Constants

Value | Constant
1 | IMAGETYPE_GIF
2 | IMAGETYPE_JPEG
3 | IMAGETYPE_PNG
4 | IMAGETYPE_SWF
5 | IMAGETYPE_PSD
6 | IMAGETYPE_BMP
7 | IMAGETYPE_TIFF_II (intel byte order)
8 | IMAGETYPE_TIFF_MM (motorola byte order)
9 | IMAGETYPE_JPC
10 | IMAGETYPE_JP2
11 | IMAGETYPE_JPX
12 | IMAGETYPE_JB2
13 | IMAGETYPE_SWC
14 | IMAGETYPE_IFF
15 | IMAGETYPE_WBMP
16 | IMAGETYPE_XBM

예제

예 530. exif_imagetype() example

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'The picture is not a gif';
}
?>

참고

getimagesize()

이전 | 위로 | 다음
XXXV. Exif Functions | 처음으로 | exif_read_data


exif_read_data

(PHP 4 >= 4.2.0, PHP 5)

exif_read_data -- Reads the EXIF headers from JPEG or TIFF

설명

array exif_read_data ( string $filename [, string $sections [, bool $arrays [, bool $thumbnail]]] )

exif_read_data() reads the EXIF headers from a JPEG or TIFF image file. This way you can read meta data generated by digital cameras.

Exif headers tend to be present in JPEG/TIFF images generated by digital cameras, but unfortunately each digital camera maker has a different idea of how to actually tag their images, so you can't always rely on a specific Exif header being present.

Height and Width are computed the same way getimagesize() does so their values must not be part of any header returned. Also, html is a height/width text string to be used inside normal HTML.

When an Exif header contains a Copyright note, this itself can contain two values. As the solution is inconsistent in the Exif 2.10 standard, the COMPUTED section will return both entries Copyright.Photographer and Copyright.Editor while the IFD0 sections contains the byte array with the NULL character that splits both entries. Or just the first entry if the datatype was wrong (normal behaviour of Exif). The COMPUTED will also contain the entry Copyright which is either the original copyright string, or a comma separated list of the photo and editor copyright.

The tag UserComment has the same problem as the Copyright tag. It can store two values. First the encoding used, and second the value itself. If so the IFD section only contains the encoding or a byte array. The COMPUTED section will store both in the entries UserCommentEncoding and UserComment. The entry UserComment is available in both cases so it should be used in preference to the value in IFD0 section.

exif_read_data() also validates EXIF data tags according to the EXIF specification (» http://exif.org/Exif2-2.PDF, page 20).

참고: Windows ME/XP can both wipe the Exif headers when connecting to a camera. More information available at » http://www.canon.co.jp/Imaging/NOTICE/011214-e.html.

매개변수

filename

The name of the image file being read. This cannot be an URL.

sections

Is a comma separated list of sections that need to be present in file to produce a result array. If none of the requested sections could be found the return value is FALSE.

FILE | FileName, FileSize, FileDateTime, SectionsFound
COMPUTED | html, Width, Height, IsColor, and more if available. Height and Width are computed the same way getimagesize() does so their values must not be part of any header returned. Also, html is a height/width text string to be used inside normal HTML.
ANY_TAG | Any information that has a Tag e.g. IFD0, EXIF, ...
IFD0 | All tagged data of IFD0. In normal imagefiles this contains image size and so forth.
THUMBNAIL | A file is supposed to contain a thumbnail if it has a second IFD. All tagged information about the embedded thumbnail is stored in this section.
COMMENT | Comment headers of JPEG images.
EXIF | The EXIF section is a sub section of IFD0. It contains more detailed information about an image. Most of these entries are digital camera related.

arrays

Specifies whether or not each section becomes an array. The sections COMPUTED, THUMBNAIL, and COMMENT always become arrays as they may contain values whose names conflict with other sections.

thumbnail

When set to TRUE the thumbnail itself is read. Otherwise, only the tagged data is read.

반환값

It returns an associative array where the array indexes are the header names and the array values are the values associated with those headers. If no data can be returned, exif_read_data() will return FALSE.

변경 기록

버전 | 설명
4.3.0 | Can read all embedded IFD data including arrays (returned as such). Also the size of an embedded thumbnail is returned in a THUMBNAIL subarray, and can return thumbnails in TIFF format. Also, there is no longer a maximum length for returned values (not until the memory limit has been reached)
4.3.0 | If PHP has mbstring support, the user comment can automatically change encoding. Also, if the user comment uses Unicode or JIS encoding this encoding will automatically be changed according to the exif ini settings in php.ini
4.3.0 | If the image contains any IFD0 data then COMPUTED contains the entry ByteOrderMotorola which is 0 for little-endian (intel) and 1 for big-endian (motorola) byte order. Also, COMPUTED and UserComment no longer only contain the first copyright entry if the datatype was wrong.

예제

예 531. exif_read_data() example

<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}
?>

The first call fails because the image has no header information.

위 예제의 출력 예:

test1.jpg:
No header data found.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1

참고

exif_thumbnail()
getimagesize()

이전 | 위로 | 다음
exif_imagetype | 처음으로 | exif_tagname


exif_tagname

(PHP 4 >= 4.2.0, PHP 5)

exif_tagname -- Get the header name for an index

설명

string exif_tagname ( string $index )
주의

This function is currently not documented; only the argument list is available.

매개변수

index

The image index

반환값

Returns the header name, or FALSE if index is undefined.

참고

exif_imagetype()

이전 | 위로 | 다음
exif_read_data | 처음으로 | exif_thumbnail


exif_thumbnail

(PHP 4 >= 4.2.0, PHP 5)

exif_thumbnail -- Retrieve the embedded thumbnail of a TIFF or JPEG image

설명

string exif_thumbnail ( string $filename [, int &$width [, int &$height [, int &$imagetype]]] )

exif_thumbnail() reads the embedded thumbnail of a TIFF or JPEG image.

If you want to deliver thumbnails through this function, you should send the mimetype information using the header() function.

It is possible that exif_thumbnail() cannot create an image but can determine its size. In this case, the return value is FALSE but width and height are set.

매개변수

filename

The name of the image file being read. This image contains an embedded thumbnail.

width

The return width of the returned thumbnail.

height

The returned height of the returned thumbnail.

imagetype

The returned image type of the returned thumbnail. This is either TIFF or JPEG.

반환값

Returns the embedded thumbnail, or FALSE if the image contains no thumbnail.

변경 기록

버전 | 설명
4.3.0 | The optional parameters width, height, and imagetype all became available.
4.3.0 | May return thumbnails in the TIFF format.

예제

예 532. exif_thumbnail() example

<?php
if (array_key_exists('file', $_REQUEST)) {
    $image = exif_thumbnail($_REQUEST['file'], $width, $height, $type);
} else {
    $image = false;
}
if ($image!==false) {
    header('Content-type: ' .image_type_to_mime_type($type));
    echo $image;
    exit;
} else {
    // no thumbnail available, handle the error here
    echo 'No thumbnail available';
}
?>

참고

exif_read_data()
image_type_to_mime_type()

이전 | 위로 | 다음
exif_tagname | 처음으로 | read_exif_data


read_exif_data

(PHP 4 >= 4.0.1, PHP 5)

read_exif_data -- Alias of exif_read_data()

설명

이 함수는 다음 함수의 alias입니다: exif_read_data().

이전 | 위로 | 다음
exif_thumbnail | 처음으로 | XXXVI. Expect Functions


File Alteration Monitor Functions

이전 VI. 함수 레퍼런스 다음

XXXVII. File Alteration Monitor Functions

소개

FAM monitors files and directories, notifying interested applications of changes. More information about FAM is available at » http://oss.sgi.com/projects/fam/.

A PHP script may specify a list of files for FAM to monitor using the functions provided by this extension.

The FAM process is started when the first connection from any application to it is opened. It exits after all connections to it have been closed.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

요구 조건

This extension uses the functions of the » FAM library, developed by SGI. Therefore you have to download and install the FAM library.

설치

To use PHP's FAM support you must compile PHP --with-fam[=DIR] where DIR is the location of the directory containing the lib and include directories.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

There are two resource types used in the FAM module. The first one is the connection to the FAM service returned by fam_open(), the second a monitoring resource returned by the fam_monitor_XXX functions.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

표 87. FAM event constants

Constant | Description
FAMChanged (integer) | Some value which can be obtained with fstat(1) changed for a file or directory.
FAMDeleted (integer) | A file or directory was deleted or renamed.
FAMStartExecuting (integer) | An executable file started executing.
FAMStopExecuting (integer) | An executable file that was running finished.
FAMCreated (integer) | A file was created in a directory.
FAMMoved (integer) | This event never occurs.
FAMAcknowledge (integer) | An event in response to fam_cancel_monitor().
FAMExists (integer) | An event upon request to monitor a file or directory. When a directory is monitored, an event for that directory and every file contained in that directory is issued.
FAMEndExist (integer) | Event after the last FAMEExists event.

차례

fam_cancel_monitor -- Terminate monitoring
fam_close -- Close FAM connection
fam_monitor_collection -- Monitor a collection of files in a directory for changes
fam_monitor_directory -- Monitor a directory for changes
fam_monitor_file -- Monitor a regular file for changes
fam_next_event -- Get next pending FAM event
fam_open -- Open connection to FAM daemon
fam_pending -- Check for pending FAM events
fam_resume_monitor -- Resume suspended monitoring
fam_suspend_monitor -- Temporarily suspend monitoring
이전 | 위로 | 다음
expect_popen | 처음으로 | fam_cancel_monitor


fam_cancel_monitor

(PHP 5 <= 5.0.5)

fam_cancel_monitor -- Terminate monitoring

설명

bool fam_cancel_monitor ( resource $fam, resource $fam_monitor )

Terminates monitoring on a resource.

In addition an FAMAcknowledge event occurs.

매개변수

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fam_monitor_file()
fam_monitor_directory()
fam_monitor_collection()
fam_suspend_monitor()

이전 | 위로 | 다음
XXXVII. File Alteration Monitor Functions | 처음으로 | fam_close


fam_close

(PHP 5 <= 5.0.5)

fam_close -- Close FAM connection

설명

void fam_close ( resource $fam )

Closes a connection to the FAM service.

매개변수

fam

A resource representing a connection to the FAM service returned by fam_open()

반환값

값을 반환하지 않습니다.

참고

fam_monitor_open()

이전 | 위로 | 다음
fam_cancel_monitor | 처음으로 | fam_monitor_collection


fam_monitor_collection

(PHP 5 <= 5.0.5)

fam_monitor_collection -- Monitor a collection of files in a directory for changes

설명

resource fam_monitor_collection ( resource $fam, string $dirname, int $depth, string $mask )

Requests monitoring for a collection of files within a directory.

A FAM event will be generated whenever the status of the files change. The possible event codes are described in detail in the constants part of this section.

매개변수

fam

A resource representing a connection to the FAM service returned by fam_open()

dirname

Directory path to the monitored files

depth

The maximum search depth starting from this directory

mask

A shell pattern mask restricting the file names to look for

반환값

Returns a monitoring resource or FALSE on errors.

참고

fam_monitor_file()
fam_monitor_directory()
fam_cancel_monitor()
fam_suspend_monitor()
fam_resume_monitor()

이전 | 위로 | 다음
fam_close | 처음으로 | fam_monitor_directory


fam_monitor_directory

(PHP 5 <= 5.0.5)

fam_monitor_directory -- Monitor a directory for changes

설명

resource fam_monitor_directory ( resource $fam, string $dirname )

Requests monitoring for a directory and all contained files.

A FAM event will be generated whenever the status of the directory (i.e. the result of function stat() on that directory) or its content (i.e. the results of readdir()) changes.

The possible event codes are described in detail in the constants part of this section.

매개변수

fam

A resource representing a connection to the FAM service returned by fam_open()

dirname

Path to the monitored directory

반환값

Returns a monitoring resource or FALSE on errors.

참고

fam_monitor_file()
fam_monitor_collection()
fam_cancel_monitor()
fam_suspend_monitor()
fam_resume_monitor()

이전 | 위로 | 다음
fam_monitor_collection | 처음으로 | fam_monitor_file


fam_monitor_file

(PHP 5 <= 5.0.5)

fam_monitor_file -- Monitor a regular file for changes

설명

resource fam_monitor_file ( resource $fam, string $filename )

Requests monitoring for a single file. A FAM event will be generated whenever the file status changes (i.e. the result of function stat() on that file).

The possible event codes are described in detail in the constants part of this section.

매개변수

fam

A resource representing a connection to the FAM service returned by fam_open()

filename

Path to the monitored file

반환값

Returns a monitoring resource or FALSE on errors.

참고

fam_monitor_directory()
fam_monitor_collection()
fam_cancel_monitor()
fam_suspend_monitor()
fam_resume_monitor()

이전 | 위로 | 다음
fam_monitor_directory | 처음으로 | fam_next_event


fam_next_event

(PHP 5 <= 5.0.5)

fam_next_event -- Get next pending FAM event

설명

array fam_next_event ( resource $fam )

Returns the next pending FAM event.

The function will block until an event is available which can be checked for using fam_pending().

매개변수

fam

A resource representing a connection to the FAM service returned by fam_open()

반환값

Returns an array that contains a FAM event code in the 'code' element, the path of the file this event applies to in the 'filename' element and optionally a hostname in the 'hostname' element.

The possible event codes are described in detail in the constants part of this section.

참고

fam_pending()

이전 | 위로 | 다음
fam_monitor_file | 처음으로 | fam_open


fam_open

(PHP 5 <= 5.0.5)

fam_open -- Open connection to FAM daemon

설명

resource fam_open ( [string $appname] )

Opens a connection to the FAM service daemon.

매개변수

appname

A string identifying the application for logging reasons

반환값

Returns a resource representing a connection to the FAM service on success or FALSE on errors.

참고

fam_close()

이전 | 위로 | 다음
fam_next_event | 처음으로 | fam_pending


fam_pending

(PHP 5 <= 5.0.5)

fam_pending -- Check for pending FAM events

설명

int fam_pending ( resource $fam )

Checks for pending FAM events.

매개변수

fam

A resource representing a connection to the FAM service returned by fam_open()

반환값

Returns non-zero if events are available to be fetched using fam_next_event(), zero otherwise.

참고

fam_next_event()

이전 | 위로 | 다음
fam_open | 처음으로 | fam_resume_monitor


fam_resume_monitor

(PHP 5 <= 5.0.5)

fam_resume_monitor -- Resume suspended monitoring

설명

bool fam_resume_monitor ( resource $fam, resource $fam_monitor )

Resumes monitoring of a resource previously suspended using fam_suspend_monitor().

매개변수

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fam_suspend_monitor()

이전 | 위로 | 다음
fam_pending | 처음으로 | fam_suspend_monitor


fam_suspend_monitor

(PHP 5 <= 5.0.5)

fam_suspend_monitor -- Temporarily suspend monitoring

설명

bool fam_suspend_monitor ( resource $fam, resource $fam_monitor )

fam_suspend_monitor() temporarily suspend monitoring of a resource.

Monitoring can later be continued using fam_resume_monitor() without the need of requesting a complete new monitor.

매개변수

fam

A resource representing a connection to the FAM service returned by fam_open()

fam_monitor

A resource returned by one of the fam_monitor_XXX functions

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fam_cancel_monitor()
fam_resume_monitor()

이전 | 위로 | 다음
fam_resume_monitor | 처음으로 | XXXVIII. Forms Data Format Functions


FrontBase Functions

이전 VI. 함수 레퍼런스 다음

XLVI. FrontBase Functions

소개

These functions allow you to access FrontBase database servers. More information about FrontBase can be found at » http://www.frontbase.com/.

Documentation for FrontBase can be found at » http://www.frontbase.com/cgi-bin/WebObjects/FrontBase.woa/wa/productsPage?currentPage=Documentation.

Frontbase support has been added to PHP 4.0.6.

요구 조건

You must install the FrontBase database server or at least the fbsql client libraries to use this functions. You can get FrontBase from » http://www.frontbase.com/.

설치

In order to have these functions available, you must compile PHP with fbsql support by using the --with-fbsql[=DIR] option. If you use this option without specifying the path to fbsql, PHP will search for the fbsql client libraries in the default installation location for the platform. Users who installed FrontBase in a non standard directory should always specify the path to fbsql: --with-fbsql=/path/to/fbsql. This will force PHP to use the client libraries installed by FrontBase, avoiding any conflicts.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 96. FrontBase configuration options

Name | Default | Changeable | Changelog
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Available since PHP 4.2.0.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Available since PHP 4.2.0. Removed in PHP 5.1.0.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_database | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

FBSQL_ASSOC (integer)
FBSQL_NUM (integer)
FBSQL_BOTH (integer)
FBSQL_LOCK_DEFERRED (integer)
FBSQL_LOCK_OPTIMISTIC (integer)
FBSQL_LOCK_PESSIMISTIC (integer)
FBSQL_ISO_READ_UNCOMMITTED (integer)
FBSQL_ISO_READ_COMMITTED (integer)
FBSQL_ISO_REPEATABLE_READ (integer)
FBSQL_ISO_SERIALIZABLE (integer)
FBSQL_ISO_VERSIONED (integer)
FBSQL_UNKNOWN (integer)
FBSQL_STOPPED (integer)
FBSQL_STARTING (integer)
FBSQL_RUNNING (integer)
FBSQL_STOPPING (integer)
FBSQL_NOEXEC (integer)
FBSQL_LOB_DIRECT (integer)
FBSQL_LOB_HANDLE (integer)

차례

fbsql_affected_rows -- Get number of affected rows in previous FrontBase operation
fbsql_autocommit -- Enable or disable autocommit
fbsql_blob_size -- Get the size of a BLOB
fbsql_change_user -- Change logged in user of the active connection
fbsql_clob_size -- Get the size of a CLOB
fbsql_close -- Close FrontBase connection
fbsql_commit -- Commits a transaction to the database
fbsql_connect -- Open a connection to a FrontBase Server
fbsql_create_blob -- Create a BLOB
fbsql_create_clob -- Create a CLOB
fbsql_create_db -- Create a FrontBase database
fbsql_data_seek -- Move internal result pointer
fbsql_database_password -- Sets or retrieves the password for a FrontBase database
fbsql_database -- Get or set the database name used with a connection
fbsql_db_query -- Send a FrontBase query
fbsql_db_status -- Get the status for a given database
fbsql_drop_db -- Drop (delete) a FrontBase database
fbsql_errno -- Returns the error number from previous operation
fbsql_error -- Returns the error message from previous operation
fbsql_fetch_array -- Fetch a result row as an associative array, a numeric array, or both
fbsql_fetch_assoc -- Fetch a result row as an associative array
fbsql_fetch_field -- Get column information from a result and return as an object
fbsql_fetch_lengths -- Get the length of each output in a result
fbsql_fetch_object -- Fetch a result row as an object
fbsql_fetch_row -- Get a result row as an enumerated array
fbsql_field_flags -- Get the flags associated with the specified field in a result
fbsql_field_len -- Returns the length of the specified field
fbsql_field_name -- Get the name of the specified field in a result
fbsql_field_seek -- Set result pointer to a specified field offset
fbsql_field_table -- Get name of the table the specified field is in
fbsql_field_type -- Get the type of the specified field in a result
fbsql_free_result -- Free result memory
fbsql_get_autostart_info
fbsql_hostname -- Get or set the host name used with a connection
fbsql_insert_id -- Get the id generated from the previous INSERT operation
fbsql_list_dbs -- List databases available on a FrontBase server
fbsql_list_fields -- List FrontBase result fields
fbsql_list_tables -- List tables in a FrontBase database
fbsql_next_result -- Move the internal result pointer to the next result
fbsql_num_fields -- Get number of fields in result
fbsql_num_rows -- Get number of rows in result
fbsql_password -- Get or set the user password used with a connection
fbsql_pconnect -- Open a persistent connection to a FrontBase Server
fbsql_query -- Send a FrontBase query
fbsql_read_blob -- Read a BLOB from the database
fbsql_read_clob -- Read a CLOB from the database
fbsql_result -- Get result data
fbsql_rollback -- Rollback a transaction to the database
fbsql_rows_fetched -- Get the number of rows affected by the last statement
fbsql_select_db -- Select a FrontBase database
fbsql_set_characterset -- Change input/output character set
fbsql_set_lob_mode -- Set the LOB retrieve mode for a FrontBase result set
fbsql_set_password -- Change the password for a given user
fbsql_set_transaction -- Set the transaction locking and isolation
fbsql_start_db -- Start a database on local or remote server
fbsql_stop_db -- Stop a database on local or remote server
fbsql_table_name -- Get table name of field
fbsql_tablename -- Alias of of fbsql_table_name()
fbsql_username -- Get or set the username for the connection
fbsql_warnings -- Enable or disable FrontBase warnings
이전 | 위로 | 다음
fribidi_log2vis | 처음으로 | fbsql_affected_rows


fbsql_affected_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_affected_rows -- Get number of affected rows in previous FrontBase operation

설명

int fbsql_affected_rows ( [resource $link_identifier] )

fbsql_affected_rows() returns the number of rows affected by the last INSERT, UPDATE or DELETE query associated with link_identifier.

참고: If you are using transactions, you need to call fbsql_affected_rows() after your INSERT, UPDATE, or DELETE query, not after the commit.

If the last query was a DELETE query with no WHERE clause, all of the records will have been deleted from the table but this function will return zero.

참고: When using UPDATE, FrontBase will not update columns where the new value is the same as the old value. This creates the possibility that fbsql_affected_rows() may not actually equal the number of rows matched, only the number of rows that were literally affected by the query.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

If the last query failed, this function will return -1.

참고

fbsql_num_rows()

이전 | 위로 | 다음
XLVI. FrontBase Functions | 처음으로 | fbsql_autocommit


fbsql_autocommit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_autocommit -- Enable or disable autocommit

설명

bool fbsql_autocommit ( resource $link_identifier [, bool $OnOff] )

Returns the current autocommit status.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

OnOff

If this optional parameter is given the auto commit status will be changed.

With OnOff set to TRUE each statement will be committed automatically, if no errors was found.

With OnOff set to FALSE the user must commit or rollback the transaction using either fbsql_commit() or fbsql_rollback().

반환값

Returns the current autocommit status, as a boolean.

참고

fbsql_commit()
fbsql_rollback()

이전 | 위로 | 다음
fbsql_affected_rows | 처음으로 | fbsql_blob_size


fbsql_blob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_blob_size -- Get the size of a BLOB

설명

int fbsql_blob_size ( string $blob_handle [, resource $link_identifier] )

Returns the size of the given BLOB.

매개변수

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns the BLOB size as an integer, or FALSE on error.

참고

fbsql_clob_size()

이전 | 위로 | 다음
fbsql_autocommit | 처음으로 | fbsql_change_user


fbsql_change_user

(PHP 4 >= 4.0.6, PHP 5)

fbsql_change_user -- Change logged in user of the active connection

설명

bool fbsql_change_user ( string $user, string $password [, string $database [, resource $link_identifier]] )

fbsql_change_user() changes the logged in user of the specified connection. If the new user and password authorization fails, the current connected user stays active.

매개변수

user

The new user name.

password

The new user password.

database

If specified, this will be the default or current database after the user has been changed.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
fbsql_blob_size | 처음으로 | fbsql_clob_size


fbsql_clob_size

(PHP 4 >= 4.2.0, PHP 5)

fbsql_clob_size -- Get the size of a CLOB

설명

int fbsql_clob_size ( string $clob_handle [, resource $link_identifier] )

Returns the size of the given CLOB.

매개변수

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns the CLOB size as an integer, or FALSE on error.

참고

fbsql_blob_size()

이전 | 위로 | 다음
fbsql_change_user | 처음으로 | fbsql_close


fbsql_close

(PHP 4 >= 4.0.6, PHP 5)

fbsql_close -- Close FrontBase connection

설명

bool fbsql_close ( [resource $link_identifier] )

Closes the connection to the FrontBase server that's associated with the specified link identifier.

Using fbsql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 588. fbsql_close() example

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
echo "Connected successfully";
fbsql_close($link);
?>

참고

fbsql_connect()
fbsql_pconnect()

이전 | 위로 | 다음
fbsql_clob_size | 처음으로 | fbsql_commit


fbsql_commit

(PHP 4 >= 4.0.6, PHP 5)

fbsql_commit -- Commits a transaction to the database

설명

bool fbsql_commit ( [resource $link_identifier] )

Ends the current transaction by writing all inserts, updates and deletes to the disk and unlocking all row and table locks held by the transaction. This command is only needed if autocommit is set to false.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fbsql_autocommit()
fbsql_rollback()

이전 | 위로 | 다음
fbsql_close | 처음으로 | fbsql_connect


fbsql_connect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_connect -- Open a connection to a FrontBase Server

설명

resource fbsql_connect ( [string $hostname [, string $username [, string $password]]] )

fbsql_connect() establishes a connection to a FrontBase server.

If a second call is made to fbsql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling fbsql_close().

매개변수

hostname

The server host name. Defaults to 'NULL'.

username

The user name for the connection. Defaults to _SYSTEM.

password

The password for the connection. Defaults to the empty string.

반환값

Returns a positive FrontBase link identifier on success, or FALSE on errors.

예제

예 589. fbsql_connect() example

<?php

$link = fbsql_connect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
echo "Connected successfully";
fbsql_close($link);

?>

참고

fbsql_pconnect()
fbsql_close()

이전 | 위로 | 다음
fbsql_commit | 처음으로 | fbsql_create_blob


fbsql_create_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_blob -- Create a BLOB

설명

string fbsql_create_blob ( string $blob_data [, resource $link_identifier] )

Creates a BLOB from the given data.

매개변수

blob_data

The BLOB data.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns a resource handle to the newly created BLOB, which can be used with insert and update commands to store the BLOB in the database.

예제

예 590. fbsql_create_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "blobfile.bin";
$fp = fopen($filename, "rb");
$blobdata = fread($fp, filesize($filename));
fclose($fp);

$blobHandle = fbsql_create_blob($blobdata, $link);

$sql = "INSERT INTO BLOB_TABLE (BLOB_COLUMN) VALUES ($blobHandle);";
$rs = fbsql_query($sql, $link);
?>

참고

fbsql_create_clob()
fbsql_read_blob()
fbsql_read_clob()
fbsql_set_lob_mode()

이전 | 위로 | 다음
fbsql_connect | 처음으로 | fbsql_create_clob


fbsql_create_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_create_clob -- Create a CLOB

설명

string fbsql_create_clob ( string $clob_data [, resource $link_identifier] )

Creates a CLOB from the given data.

매개변수

clob_data

The CLOB data.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns a resource handle to the newly created CLOB, which can be used with insert and update commands to store the CLOB in the database.

예제

예 591. fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$filename = "clob_file.txt";
$fp = fopen($filename, "rb");
$clobdata = fread($fp, filesize($filename));
fclose($fp);

$clobHandle = fbsql_create_clob($clobdata, $link);

$sql = "INSERT INTO CLOB_TABLE (CLOB_COLUMN) VALUES ($clobHandle);";
$rs = fbsql_query($sql, $link);
?>

참고

fbsql_create_blob()
fbsql_read_blob()
fbsql_read_clob()
fbsql_set_lob_mode()

이전 | 위로 | 다음
fbsql_create_blob | 처음으로 | fbsql_create_db


fbsql_create_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_create_db -- Create a FrontBase database

설명

bool fbsql_create_db ( string $database_name [, resource $link_identifier [, string $database_options]] )

Attempts to create a new database on the specied server.

매개변수

database_name

The database name, as a string.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

database_options

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 592. fbsql_create_db() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
if (fbsql_create_db("my_db")) {
    echo "Database created successfully\n";
} else {
    printf("Error creating database: %s\n", fbsql_error());
}
?>

참고

fbsql_drop_db()

이전 | 위로 | 다음
fbsql_create_clob | 처음으로 | fbsql_data_seek


fbsql_data_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_data_seek -- Move internal result pointer

설명

bool fbsql_data_seek ( resource $result, int $row_number )

Moves the internal row pointer of the FrontBase result associated with the specified result identifier to point to the specified row number.

The next call to fbsql_fetch_row() would return that row.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

row_number

The row number. Starts at 0.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 593. fbsql_data_seek() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");

fbsql_select_db("samp_db")
    or die("Could not select database");

$query = "SELECT last_name, first_name FROM friends;";
$result = fbsql_query($query)
    or die("Query failed");

// fetch rows in reverse order

for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) {
    if (!fbsql_data_seek($result, $i)) {
        printf("Cannot seek to row %d\n", $i);
        continue;
    }

    if (!($row = fbsql_fetch_object($result)))
        continue;

    echo $row->last_name . $row->first_name . "<br />\n";
}

fbsql_free_result($result);
?>

이전 | 위로 | 다음
fbsql_create_db | 처음으로 | fbsql_database_password


fbsql_database_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database_password -- Sets or retrieves the password for a FrontBase database

설명

string fbsql_database_password ( resource $link_identifier [, string $database_password] )

Sets and retrieves the database password used by the connection. If a database is protected by a database password, the user must call this function before calling fbsql_select_db().

If no link is open, the function will try to establish a link as if fbsql_connect() was called, and use it.

This function does not change the database password in the database nor can it be used to retrieve the database password for a database.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

database_password

The database password, as a string. If given, the function sets the database password for the specified link identifier.

반환값

Returns the database password associated with the link identifier.

예제

예 594. fbsql_create_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
fbsql_database_password($link, "secret db password");
fbsql_select_db($database, $link);
?>

참고

fbsql_connect()
fbsql_pconnect()
fbsql_select_db()

이전 | 위로 | 다음
fbsql_data_seek | 처음으로 | fbsql_database


fbsql_database

(PHP 4 >= 4.0.6, PHP 5)

fbsql_database -- Get or set the database name used with a connection

설명

string fbsql_database ( resource $link_identifier [, string $database] )

Get or set the database name used with the connection.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

database

The database name. If given, the default database of the connexion will be changed to database.

반환값

Returns the name of the database used with this connection.

이전 | 위로 | 다음
fbsql_database_password | 처음으로 | fbsql_db_query


fbsql_db_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_db_query -- Send a FrontBase query

설명

resource fbsql_db_query ( string $database, string $query [, resource $link_identifier] )

Selects a database and executes a query on it.

매개변수

database

The database to be selected.

query

The SQL query to be executed.

참고: The query string shall always end with a semicolon.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns a positive FrontBase result identifier to the query result, or FALSE on error.

참고

fbsql_query()
fbsql_connect()

이전 | 위로 | 다음
fbsql_database | 처음으로 | fbsql_db_status


fbsql_db_status

(PHP 4 >= 4.0.7, PHP 5)

fbsql_db_status -- Get the status for a given database

설명

int fbsql_db_status ( string $database_name [, resource $link_identifier] )

Gets the current status of the specified database.

매개변수

database_name

The database name.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns an integer value with the current status. This can be one of the following constants:

  • FALSE - The exec handler for the host was invalid. This error will occur when the link_identifier connects directly to a database by using a port number. FBExec can be available on the server but no connection has been made for it.
  • FBSQL_UNKNOWN - The Status is unknown.
  • FBSQL_STOPPED - The database is not running. Use fbsql_start_db() to start the database.
  • FBSQL_STARTING - The database is starting.
  • FBSQL_RUNNING - The database is running and can be used to perform SQL operations.
  • FBSQL_STOPPING - The database is stopping.
  • FBSQL_NOEXEC - FBExec is not running on the server and it is not possible to get the status of the database.

참고

fbsql_start_db()
fbsql_stop_db()

이전 | 위로 | 다음
fbsql_db_query | 처음으로 | fbsql_drop_db


fbsql_drop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_drop_db -- Drop (delete) a FrontBase database

설명

bool fbsql_drop_db ( string $database_name [, resource $link_identifier] )

fbsql_drop_db() attempts to drop (remove) an entire database from the server associated with the specified link identifier.

매개변수

database_name

The database name, as a string.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fbsql_create_db()

이전 | 위로 | 다음
fbsql_db_status | 처음으로 | fbsql_errno


fbsql_errno

(PHP 4 >= 4.0.6, PHP 5)

fbsql_errno -- Returns the error number from previous operation

설명

int fbsql_errno ( [resource $link_identifier] )

Returns the numerical value of the error message from previous FrontBase operation.

Errors coming back from the fbsql database backend don't issue warnings. Instead, use fbsql_errno() to retrieve the error code. Note that this function only returns the error code from the most recently executed fbsql function (not including fbsql_error() and fbsql_errno()), so if you want to use it, make sure you check the value before calling another fbsql function.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns the error number from the last fbsql function, or 0 (zero) if no error occurred.

예제

예 595. fbsql_errno() Example

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

참고

fbsql_error()
fbsql_warnings()

이전 | 위로 | 다음
fbsql_drop_db | 처음으로 | fbsql_error


fbsql_error

(PHP 4 >= 4.0.6, PHP 5)

fbsql_error -- Returns the error message from previous operation

설명

string fbsql_error ( [resource $link_identifier] )

Returns the error message from previous FrontBase operation.

Errors coming back from the fbsql database backend don't issue warnings. Instead, use fbsql_error() to retrieve the error text. Note that this function only returns the error code from the most recently executed fbsql function (not including fbsql_error() and fbsql_errno()), so if you want to use it, make sure you check the value before calling another fbsql function.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns the error text from the last fbsql function, or '' (the empty string) if no error occurred.

예제

예 596. fbsql_error() Example

<?php
fbsql_connect("marliesle");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
fbsql_select_db("nonexistentdb");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
$conn = fbsql_query("SELECT * FROM nonexistenttable;");
echo fbsql_errno() . ": " . fbsql_error() . "<br />";
?>

참고

fbsql_errno()
fbsql_warnings()

이전 | 위로 | 다음
fbsql_errno | 처음으로 | fbsql_fetch_array


fbsql_fetch_array

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_array -- Fetch a result row as an associative array, a numeric array, or both

설명

array fbsql_fetch_array ( resource $result [, int $result_type] )

fbsql_fetch_array() is a combination of
fbsql_fetch_row() and
fbsql_fetch_assoc().

An important thing to note is that using fbsql_fetch_array() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

result_type

A constant and can take the following values: FBSQL_ASSOC, FBSQL_NUM, or FBSQL_BOTH.

When using FBSQL_BOTH, in addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must the numeric index of the column or make an alias for the column.

select t1.f1 as foo t2.f1 as bar from t1, t2

예제

예 597. fbsql_fetch_array() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select user_id, fullname from table");
while ($row = fbsql_fetch_array($result)) {
    echo "user_id: " . $row["user_id"] . "<br />\n";
    echo "user_id: " . $row[0] . "<br />\n";
    echo "fullname: " . $row["fullname"] . "<br />\n";
    echo "fullname: " . $row[1] . "<br />\n";
}
fbsql_free_result($result);
?>

참고

fbsql_fetch_row()
fbsql_fetch_assoc()
fbsql_fetch_object()

이전 | 위로 | 다음
fbsql_error | 처음으로 | fbsql_fetch_assoc


fbsql_fetch_assoc

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_assoc -- Fetch a result row as an associative array

설명

array fbsql_fetch_assoc ( resource $result )

Calling fbsql_fetch_assoc() is equivalent to calling fbsql_fetch_array() with FBSQL_ASSOC as second parameter. It only returns an associative array.

This is the way fbsql_fetch_array() originally worked. If you need the numeric indices as well as the associative, use fbsql_fetch_array().

An important thing to note is that using fbsql_fetch_assoc() is NOT significantly slower than using fbsql_fetch_row(), while it provides a significant added value.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

반환값

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must use fbsql_fetch_array() and have it return the numeric indices as well.

예제

예 598. fbsql_fetch_assoc() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_assoc($result)) {
    echo $row["user_id"];
    echo $row["fullname"];
}
fbsql_free_result($result);
?>

참고

fbsql_fetch_row()
fbsql_fetch_array()
fbsql_fetch_object()

이전 | 위로 | 다음
fbsql_fetch_array | 처음으로 | fbsql_fetch_field


fbsql_fetch_field

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_field -- Get column information from a result and return as an object

설명

object fbsql_fetch_field ( resource $result [, int $field_offset] )

Used in order to obtain information about fields in a certain query result.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

field_offset

The numerical offset of the field. The field index starts at 0. If not specified, the next field that wasn't yet retrieved by fbsql_fetch_field() is retrieved.

반환값

Returns an object containing field information, or FALSE on errors.

The properties of the object are:

  • name - column name
  • table - name of the table the column belongs to
  • max_length - maximum length of the column
  • not_null - 1 if the column cannot be NULL
  • type - the type of the column

예제

예 599. fbsql_fetch_field() example

<?php
fbsql_connect($host, $user, $password)
    or die("Could not connect");
$result = fbsql_db_query("database", "select * from table")
    or die("Query failed");
# get column metadata
$i = 0;
while ($i < fbsql_num_fields($result)) {
    echo "Information for column $i:<br />\n";
    $meta = fbsql_fetch_field($result);
    if (!$meta) {
        echo "No information available<br />\n";
    }
    echo "<pre>
max_length:   $meta->max_length
name:         $meta->name
not_null:     $meta->not_null
table:        $meta->table
type:         $meta->type
</pre>";
    $i++;
}
fbsql_free_result($result);
?>

참고

fbsql_field_seek()

이전 | 위로 | 다음
fbsql_fetch_assoc | 처음으로 | fbsql_fetch_lengths


fbsql_fetch_lengths

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_lengths -- Get the length of each output in a result

설명

array fbsql_fetch_lengths ( resource $result )

Stores the lengths of each result column in the last row returned by
fbsql_fetch_row(),
fbsql_fetch_array() and
fbsql_fetch_object() in an array.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

반환값

Returns an array, starting at offset 0, that corresponds to the lengths of each field in the last row fetched by fbsql_fetch_row(), or FALSE on error.

참고

fbsql_fetch_row()

이전 | 위로 | 다음
fbsql_fetch_field | 처음으로 | fbsql_fetch_object


fbsql_fetch_object

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_object -- Fetch a result row as an object

설명

object fbsql_fetch_object ( resource $result )

fbsql_fetch_object() is similar to fbsql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to fbsql_fetch_array(), and almost as quick as fbsql_fetch_row() (the difference is insignificant).

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

반환값

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

예제

예 600. fbsql_fetch_object() example

<?php
fbsql_connect($host, $user, $password);
$result = fbsql_db_query("database", "select * from table");
while ($row = fbsql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
fbsql_free_result($result);
?>

참고

fbsql_fetch_array()
fbsql_fetch_row()
fbsql_fetch_assoc()

이전 | 위로 | 다음
fbsql_fetch_lengths | 처음으로 | fbsql_fetch_row


fbsql_fetch_row

(PHP 4 >= 4.0.6, PHP 5)

fbsql_fetch_row -- Get a result row as an enumerated array

설명

array fbsql_fetch_row ( resource $result )

fbsql_fetch_row() fetches one row of data from the result associated with the specified result identifier.

Subsequent call to fbsql_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

반환값

Returns an array that corresponds to the fetched row where each result column is stored in an offset, starting at offset 0, or FALSE if there are no more rows.

참고

fbsql_fetch_array()
fbsql_fetch_assoc()
fbsql_fetch_object()
fbsql_data_seek()
fbsql_fetch_lengths()
fbsql_result()

이전 | 위로 | 다음
fbsql_fetch_object | 처음으로 | fbsql_field_flags


fbsql_field_flags

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_flags -- Get the flags associated with the specified field in a result

설명

string fbsql_field_flags ( resource $result [, int $field_offset] )

Gets the flags associated with the specified field in a result.

매개변수

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

반환값

Returns the field flags of the specified field as a single word per flag separated by a single space, so that you can split the returned value using explode().

이전 | 위로 | 다음
fbsql_fetch_row | 처음으로 | fbsql_field_len


fbsql_field_len

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_len -- Returns the length of the specified field

설명

int fbsql_field_len ( resource $result [, int $field_offset] )

Returns the length of the specified field.

매개변수

result

A result pointer returned by fbsql_list_fields().

field_offset

The numerical offset of the field. The field index starts at 0.

반환값

Returns the length of the specified field.

이전 | 위로 | 다음
fbsql_field_flags | 처음으로 | fbsql_field_name


fbsql_field_name

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_name -- Get the name of the specified field in a result

설명

string fbsql_field_name ( resource $result [, int $field_index] )

Returns the name of the specified field index.

매개변수

result

A result pointer returned by fbsql_list_fields().

field_index

The numerical offset of the field. The field index starts at 0.

반환값

Returns the name as a string, or FALSE if the field doesn't exist.

예제

예 601. fbsql_field_name() example

<?php
// The users table consists of three fields:
//   user_id
//   username
//   password.

$res = fbsql_db_query("users", "select * from users", $link);

echo fbsql_field_name($res, 0) . "\n";
echo fbsql_field_name($res, 2);
?>

위 예제의 출력:

user_id
password

참고

fbsql_field_type()

이전 | 위로 | 다음
fbsql_field_len | 처음으로 | fbsql_field_seek


fbsql_field_seek

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_seek -- Set result pointer to a specified field offset

설명

bool fbsql_field_seek ( resource $result [, int $field_offset] )

Seeks to the specified field offset. If the next call to fbsql_fetch_field() doesn't include a field offset, the field offset specified in fbsql_field_seek() will be returned.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

field_offset

The numerical offset of the field. The field index starts at 0.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fbsql_fetch_field()

이전 | 위로 | 다음
fbsql_field_name | 처음으로 | fbsql_field_table


fbsql_field_table

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_table -- Get name of the table the specified field is in

설명

string fbsql_field_table ( resource $result [, int $field_offset] )

Returns the name of the table that the specified field is in.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

field_offset

The numerical offset of the field. The field index starts at 0.

반환값

Returns the name of the table, as a string.

이전 | 위로 | 다음
fbsql_field_seek | 처음으로 | fbsql_field_type


fbsql_field_type

(PHP 4 >= 4.0.6, PHP 5)

fbsql_field_type -- Get the type of the specified field in a result

설명

string fbsql_field_type ( resource $result [, int $field_offset] )

fbsql_field_type() is similar to the fbsql_field_name() function, but the field type is returned instead.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

field_offset

The numerical offset of the field. The field index starts at 0.

반환값

Returns the field type, as a string.

This can be one of int, real, string, blob, and others as detailed in the » FrontBase documentation.

예제

예 602. fbsql_field_type() example

<?php

fbsql_connect("localhost", "_SYSTEM", "");
fbsql_select_db("wisconsin");
$result = fbsql_query("SELECT * FROM onek;");
$fields = fbsql_num_fields($result);
$rows   = fbsql_num_rows($result);
$i = 0;
$table = fbsql_field_table($result, $i);
echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " records <br />";
echo "The table has the following fields <br />";
while ($i < $fields) {
    $type  = fbsql_field_type($result, $i);
    $name  = fbsql_field_name($result, $i);
    $len   = fbsql_field_len($result, $i);
    $flags = fbsql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "<br />";
    $i++;
}
fbsql_close();

?>

참고

fbsql_field_name()

이전 | 위로 | 다음
fbsql_field_table | 처음으로 | fbsql_free_result


fbsql_free_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_free_result -- Free result memory

설명

bool fbsql_free_result ( resource $result )

Frees all memory associated with the given result identifier.

fbsql_free_result() only needs to be called if you are concerned about how much memory is being used for queries that return large result sets. All associated result memory is automatically freed at the end of the script's execution.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
fbsql_field_type | 처음으로 | fbsql_get_autostart_info


fbsql_get_autostart_info

(PHP 4 >= 4.0.7, PHP 5)

fbsql_get_autostart_info

설명

array fbsql_get_autostart_info ( [resource $link_identifier] )
주의

This function is currently not documented; only the argument list is available.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

이전 | 위로 | 다음
fbsql_free_result | 처음으로 | fbsql_hostname


fbsql_hostname

(PHP 4 >= 4.0.6, PHP 5)

fbsql_hostname -- Get or set the host name used with a connection

설명

string fbsql_hostname ( resource $link_identifier [, string $host_name] )

Gets or sets the host name used with a connection.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

host_name

If provided, this will be the new connection host name.

반환값

Returns the current host name used for the connection.

참고

fbsql_username()
fbsql_password()

이전 | 위로 | 다음
fbsql_get_autostart_info | 처음으로 | fbsql_insert_id


fbsql_insert_id

(PHP 4 >= 4.0.6, PHP 5)

fbsql_insert_id -- Get the id generated from the previous INSERT operation

설명

int fbsql_insert_id ( [resource $link_identifier] )

Gets the id generated from the previous INSERT operation which created a DEFAULT UNIQUE value.

참고: The value of the FrontBase SQL function fbsql_insert_id() always contains the most recently generated DEFAULT UNIQUE value, and is not reset between queries.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns the ID generated from the previous INSERT query, or 0 if the previous query does not generate an DEFAULT UNIQUE value.

If you need to save the value for later, be sure to call this function immediately after the query that generates the value.

참고

fbsql_affected_rows()

이전 | 위로 | 다음
fbsql_hostname | 처음으로 | fbsql_list_dbs


fbsql_list_dbs

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_dbs -- List databases available on a FrontBase server

설명

resource fbsql_list_dbs ( [resource $link_identifier] )

Return a result pointer containing the databases available from the current fbsql daemon. Use the fbsql_tablename() to traverse this result pointer.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns a result pointer or FALSE on error.

예제

예 603. fbsql_list_dbs() example

$link = fbsql_connect('localhost', 'myname', 'secret');
$db_list = fbsql_list_dbs($link);

while ($row = fbsql_fetch_object($db_list)) {
    echo $row->Database . "\n";
}

위 예제의 출력 예:

database1
database2
database3
...

참고: The above code would just as easily work with fbsql_fetch_row() or other similar functions.

참고

fbsql_list_fields()
fbsql_list_tables()

이전 | 위로 | 다음
fbsql_insert_id | 처음으로 | fbsql_list_fields


fbsql_list_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_fields -- List FrontBase result fields

설명

resource fbsql_list_fields ( string $database_name, string $table_name [, resource $link_identifier] )

Retrieves information about the given table.

매개변수

database_name

The database name.

table_name

The table name.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns a result pointer which can be used with the fbsql_field_xxx functions, or FALSE on error.

오류/예외

A string describing the error will be placed in $phperrmsg, and unless the function was called as @fbsql() then this error string will also be printed out.

예제

예 604. fbsql_list_fields() example

<?php
$link = fbsql_connect('localhost', 'myname', 'secret');

$fields = fbsql_list_fields("database1", "table1", $link);
$columns = fbsql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
    echo fbsql_field_name($fields, $i) . "\n";;
}
?>

위 예제의 출력 예:

field1
field2
field3
...

참고

fbsql_field_len()
fbsql_field_name()
fbsql_field_type()
fbsql_field_flags()

이전 | 위로 | 다음
fbsql_list_dbs | 처음으로 | fbsql_list_tables


fbsql_list_tables

(PHP 4 >= 4.0.6, PHP 5)

fbsql_list_tables -- List tables in a FrontBase database

설명

resource fbsql_list_tables ( string $database [, resource $link_identifier] )

Returns a result pointer describing the database.

매개변수

database

The database name.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns a result pointer which can be used with the fbsql_tablename() function to read the actual table names, or FALSE on error.

참고

fbsql_list_fields()
fbsql_list_dbs()

이전 | 위로 | 다음
fbsql_list_fields | 처음으로 | fbsql_next_result


fbsql_next_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_next_result -- Move the internal result pointer to the next result

설명

bool fbsql_next_result ( resource $result )

When sending more than one SQL statement to the server or executing a stored procedure with multiple results will cause the server to return multiple result sets. This function will test for additional results available form the server. If an additional result set exists it will free the existing result set and prepare to fetch the words from the new result set.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

반환값

Returns TRUE if an additional result set was available or FALSE otherwise.

예제

예 605. fbsql_next_result() example

<?php
$link = fbsql_connect("localhost", "_SYSTEM", "secret");
fbsql_select_db("MyDB", $link);
$SQL = "Select * from table1; select * from table2;";
$rs = fbsql_query($SQL, $link);
do {
    while ($row = fbsql_fetch_row($rs)) {
    }
} while (fbsql_next_result($rs));
fbsql_free_result($rs);
fbsql_close($link);
?>

이전 | 위로 | 다음
fbsql_list_tables | 처음으로 | fbsql_num_fields


fbsql_num_fields

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_fields -- Get number of fields in result

설명

int fbsql_num_fields ( resource $result )

Returns the number of fields in the given result set.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

반환값

Returns the number of fields, as an integer.

참고

fbsql_db_query()
fbsql_query()
fbsql_fetch_field()
fbsql_num_rows()

이전 | 위로 | 다음
fbsql_next_result | 처음으로 | fbsql_num_rows


fbsql_num_rows

(PHP 4 >= 4.0.6, PHP 5)

fbsql_num_rows -- Get number of rows in result

설명

int fbsql_num_rows ( resource $result )

Gets the number of rows in the given result set.

This function is only valid for SELECT statements. To retrieve the number of rows returned from a INSERT, UPDATE or DELETE query, use fbsql_affected_rows().

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

반환값

Returns the number of rows returned by the last SELECT statement.

예제

예 606. fbsql_num_rows() example

<?php

$link = fbsql_connect("localhost", "username", "password");
fbsql_select_db("database", $link);

$result = fbsql_query("SELECT * FROM table1;", $link);
$num_rows = fbsql_num_rows($result);

echo "$num_rows Rows\n";

?>

참고

fbsql_affected_rows()
fbsql_connect()
fbsql_select_db()
fbsql_query()

이전 | 위로 | 다음
fbsql_num_fields | 처음으로 | fbsql_password


fbsql_password

(PHP 4 >= 4.0.6, PHP 5)

fbsql_password -- Get or set the user password used with a connection

설명

string fbsql_password ( resource $link_identifier [, string $password] )

Get or set the user password used with a connection.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

password

If provided, this will be the new connection password.

반환값

Returns the current password used for the connection.

참고

fbsql_username()
fbsql_hostname()

이전 | 위로 | 다음
fbsql_num_rows | 처음으로 | fbsql_pconnect


fbsql_pconnect

(PHP 4 >= 4.0.6, PHP 5)

fbsql_pconnect -- Open a persistent connection to a FrontBase Server

설명

resource fbsql_pconnect ( [string $hostname [, string $username [, string $password]]] )

Establishes a persistent connection to a FrontBase server.

To set the server port number, use fbsql_select_db().

fbsql_pconnect() acts very much like fbsql_connect() with two major differences:

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use.

This type of links is therefore called 'persistent'.

매개변수

hostname

The server host name. Defaults to localhost.

username

The user name for the connection. Defaults to _SYSTEM.

password

The password for the connection. Defaults to the empty string.

반환값

Returns a positive FrontBase persistent link identifier on success, or FALSE on error.

참고

fbsql_connect()

이전 | 위로 | 다음
fbsql_password | 처음으로 | fbsql_query


fbsql_query

(PHP 4 >= 4.0.6, PHP 5)

fbsql_query -- Send a FrontBase query

설명

resource fbsql_query ( string $query [, resource $link_identifier [, int $batch_size]] )

Sends a query to the currently active database on the server.

If the query succeeds, you can call fbsql_num_rows() to find out how many rows were returned for a SELECT statement or fbsql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

매개변수

query

The SQL query to be executed.

참고: The query string shall always end with a semicolon.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

batch_size

반환값

fbsql_query() returns TRUE (non-zero) or FALSE to indicate whether or not the query succeeded. A return value of TRUE means that the query was legal and could be executed by the server. It does not indicate anything about the number of rows affected or returned. It is perfectly possible for a query to succeed but affect no rows or return no rows.

For SELECT statements, fbsql_query() returns a new result identifier that you can pass to fbsql_result().

fbsql_query() will also fail and return FALSE if you don't have permission to access the table(s) referenced by the query.

예제

The following query is syntactically invalid, so fbsql_query() fails and returns FALSE:

예 607. fbsql_query() example

<?php
$result = fbsql_query("SELECT * WHERE 1=1")
    or die ("Invalid query");
?>

The following query is semantically invalid if my_col is not a column in the table my_tbl, so fbsql_query() fails and returns FALSE:

예 608. fbsql_query() example

<?php
$result = fbsql_query ("SELECT my_col FROM my_tbl;")
    or die ("Invalid query");
?>

참고

fbsql_affected_rows()
fbsql_db_query()
fbsql_free_result()
fbsql_result()
fbsql_select_db()
fbsql_connect()

이전 | 위로 | 다음
fbsql_pconnect | 처음으로 | fbsql_read_blob


fbsql_read_blob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_blob -- Read a BLOB from the database

설명

string fbsql_read_blob ( string $blob_handle [, resource $link_identifier] )

Reads BLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_blob() to get the actual BLOB data from the database.

매개변수

blob_handle

A BLOB handle, returned by fbsql_create_blob().

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns a string containing the specified BLOB data.

예제

예 609. fbsql_read_blob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT BLOB_COLUMN FROM BLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the blob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the BLOB data in the first row
$blob_data = fbsql_read_blob($row_data[0]);
fbsql_free_result($rs);

?>

참고

fbsql_create_blob()
fbsql_read_clob()
fbsql_set_lob_mode()

이전 | 위로 | 다음
fbsql_query | 처음으로 | fbsql_read_clob


fbsql_read_clob

(PHP 4 >= 4.2.0, PHP 5)

fbsql_read_clob -- Read a CLOB from the database

설명

string fbsql_read_clob ( string $clob_handle [, resource $link_identifier] )

Reads CLOB data from the database.

If a select statement contains BLOB and/or CLOB columns FrontBase will return the data directly when data is fetched. This default behavior can be changed with fbsql_set_lob_mode() so the fetch functions will return handles to BLOB and CLOB data. If a handle is fetched a user must call fbsql_read_clob() to get the actual CLOB data from the database.

매개변수

clob_handle

A CLOB handle, returned by fbsql_create_clob().

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

Returns a string containing the specified CLOB data.

예제

예 610. fbsql_read_clob() example

<?php
$link = fbsql_pconnect("localhost", "_SYSTEM", "secret")
    or die("Could not connect");
$sql = "SELECT CLOB_COLUMN FROM CLOB_TABLE;";
$rs = fbsql_query($sql, $link);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain the clob data for the first row
fbsql_free_result($rs);

$rs = fbsql_query($sql, $link);
fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE);
$row_data = fbsql_fetch_row($rs);
// $row_data[0] will now contain a handle to the CLOB data in the first row
$clob_data = fbsql_read_clob($row_data[0]);
fbsql_free_result($rs);

?>

참고

fbsql_create_clob()
fbsql_read_blob()
fbsql_set_lob_mode()

이전 | 위로 | 다음
fbsql_read_blob | 처음으로 | fbsql_result


fbsql_result

(PHP 4 >= 4.0.6, PHP 5)

fbsql_result -- Get result data

설명

mixed fbsql_result ( resource $result [, int $row [, mixed $field]] )

Returns the contents of one cell from a FrontBase result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than fbsql_result().

Calls to fbsql_result() should not be mixed with calls to other functions that deal with the result set.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

row

field

Can be the field's offset, or the field's name, or the field's table dot field's name (tabledname.fieldname).

If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name.

참고: Specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

반환값

참고

Recommended high-performance alternatives:
fbsql_fetch_row()
fbsql_fetch_array()
fbsql_fetch_assoc()
fbsql_fetch_object()

이전 | 위로 | 다음
fbsql_read_clob | 처음으로 | fbsql_rollback


fbsql_rollback

(PHP 4 >= 4.0.6, PHP 5)

fbsql_rollback -- Rollback a transaction to the database

설명

bool fbsql_rollback ( [resource $link_identifier] )

Ends the current transaction by rolling back all statements issued since last commit.

This command is only needed if autocommit is set to false.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fbsql_autocommit()
fbsql_commit()

이전 | 위로 | 다음
fbsql_result | 처음으로 | fbsql_rows_fetched


fbsql_select_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_select_db -- Select a FrontBase database

설명

bool fbsql_select_db ( [string $database_name [, resource $link_identifier]] )

Sets the current active database on the given link identifier.

The client contacts FBExec to obtain the port number to use for the connection to the database. If the database name is a number the system will use that as a port number and it will not ask FBExec for the port number. The FrontBase server can be stared as FRontBase -FBExec=No -port=<port number> <database name>.

Every subsequent call to fbsql_query() will be made on the active database.

매개변수

database_name

The name of the database to be selected.

If the database is protected with a database password, the you must call fbsql_database_password() before selecting the database.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fbsql_connect()
fbsql_pconnect()
fbsql_database_password()
fbsql_query()

이전 | 위로 | 다음
fbsql_rows_fetched | 처음으로 | fbsql_set_characterset


fbsql_set_lob_mode

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_lob_mode -- Set the LOB retrieve mode for a FrontBase result set

설명

bool fbsql_set_lob_mode ( resource $result, int $lob_mode )

Sets the mode for retrieving LOB data from the database.

When BLOB and CLOB data is retrieved in FrontBase it can be retrieved direct or indirect. Direct retrieved LOB data will always be fetched no matter the setting of the lob mode. If the LOB data is less than 512 bytes it will always be retrieved directly.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

lob_mode

Can be one of:

  • FBSQL_LOB_DIRECT - LOB data is retrieved directly. When data is fetched from the database with fbsql_fetch_row(), and other fetch functions, all CLOB and BLOB columns will be returned as ordinary columns. This is the default value on a new FrontBase result.
  • FBSQL_LOB_HANDLE - LOB data is retrieved as handles to the data. When data is fetched from the database with fbsql_fetch_row(), and other fetch functions, LOB data will be returned as a handle to the data if the data is stored indirect or the data if it is stored direct. If a handle is returned it will be a 27 byte string formatted as @'000000000000000000000000'.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fbsql_create_blob()
fbsql_create_clob()
fbsql_read_blob()
fbsql_read_clob()

이전 | 위로 | 다음
fbsql_set_characterset | 처음으로 | fbsql_set_password


fbsql_set_password

(PHP 5)

fbsql_set_password -- Change the password for a given user

설명

bool fbsql_set_password ( resource $link_identifier, string $user, string $password, string $old_password )

Changes the password for the given user.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

user

The user name.

password

The new password to be set.

old_password

The old password to be replaced.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
fbsql_set_lob_mode | 처음으로 | fbsql_set_transaction


fbsql_set_transaction

(PHP 4 >= 4.2.0, PHP 5)

fbsql_set_transaction -- Set the transaction locking and isolation

설명

void fbsql_set_transaction ( resource $link_identifier, int $locking, int $isolation )

Sets the transaction locking and isolation.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

locking

The type of locking to be set. It can be one of the following constants: FBSQL_LOCK_DEFERRED, FBSQL_LOCK_OPTIMISTIC, or FBSQL_LOCK_PESSIMISTIC.

isolation

The type of isolation to be set. It can be one of the following constants: FBSQL_ISO_READ_UNCOMMITTED, FBSQL_ISO_READ_COMMITTED, FBSQL_ISO_REPEATABLE_READ, FBSQL_ISO_SERIALIZABLE, or FBSQL_ISO_VERSIONED.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
fbsql_set_password | 처음으로 | fbsql_start_db


fbsql_start_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_start_db -- Start a database on local or remote server

설명

bool fbsql_start_db ( string $database_name [, resource $link_identifier [, string $database_options]] )

Start a database on local or remote server.

매개변수

database_name

The database name.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

database_options

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fbsql_db_status()
fbsql_stop_db()

이전 | 위로 | 다음
fbsql_set_transaction | 처음으로 | fbsql_stop_db


fbsql_stop_db

(PHP 4 >= 4.0.6, PHP 5)

fbsql_stop_db -- Stop a database on local or remote server

설명

bool fbsql_stop_db ( string $database_name [, resource $link_identifier] )

Stops a database on local or remote server.

매개변수

database_name

The database name.

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fbsql_db_status()
fbsql_start_db()

이전 | 위로 | 다음
fbsql_start_db | 처음으로 | fbsql_table_name


fbsql_tablename

(PHP 4 >= 4.2.0, PHP 5)

fbsql_tablename -- Alias of of fbsql_table_name()

설명

이 함수는 다음 함수의 alias입니다: fbsql_table_name().

이전 | 위로 | 다음
fbsql_table_name | 처음으로 | fbsql_username


fbsql_username

(PHP 4 >= 4.0.6, PHP 5)

fbsql_username -- Get or set the username for the connection

설명

string fbsql_username ( resource $link_identifier [, string $username] )

Get or set the username used for the connection.

매개변수

link_identifier

fbsql_connect()나 fbsql_pconnect()가 반환한 FrontBase 연결 식별자.

username

If provided, this is the new username to set.

반환값

Returns the current username used with the connection, as a string.

참고

fbsql_password()
fbsql_hostname()

이전 | 위로 | 다음
fbsql_tablename | 처음으로 | fbsql_warnings


fbsql_warnings

(PHP 4 >= 4.0.6, PHP 5)

fbsql_warnings -- Enable or disable FrontBase warnings

설명

bool fbsql_warnings ( [bool $OnOff] )

Enables or disables FrontBase warnings.

매개변수

OnOff

Whether to enable warnings or no.

반환값

Returns TRUE if warnings is turned on, FALSE otherwise.

참고

fbsql_errno()
fbsql_error()

이전 | 위로 | 다음
fbsql_username | 처음으로 | XLVII. FTP Functions


filePro Functions

이전 VI. 함수 레퍼런스 다음

XL. filePro Functions

소개

These functions allow read-only access to data stored in filePro databases.

filePro is a registered trademark of fP Technologies, Inc. You can find more information about filePro at » http://www.fptech.com/.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.2.0.

설치

filePro support in PHP is not enabled by default. To enable the bundled read-only filePro support you need to use the--enable-filepro configuration option when compiling PHP.

차례

filepro_fieldcount -- Find out how many fields are in a filePro database
filepro_fieldname -- Gets the name of a field
filepro_fieldtype -- Gets the type of a field
filepro_fieldwidth -- Gets the width of a field
filepro_retrieve -- Retrieves data from a filePro database
filepro_rowcount -- Find out how many rows are in a filePro database
filepro -- Read and verify the map file
이전 | 위로 | 다음
finfo_set_flags | 처음으로 | filepro_fieldcount


filepro_fieldcount

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldcount -- Find out how many fields are in a filePro database

설명

int filepro_fieldcount ( void )

Returns the number of fields (columns) in the opened filePro database.

반환값

Returns the number of fields in the opened filePro database, or FALSE on errors.

참고

filepro()

이전 | 위로 | 다음
XL. filePro Functions | 처음으로 | filepro_fieldname


filepro_fieldname

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldname -- Gets the name of a field

설명

string filepro_fieldname ( int $field_number )

Returns the name of the field corresponding to field_number.

매개변수

field_number

The field number.

반환값

Returns the name of the field as a string, or FALSE on errors.

이전 | 위로 | 다음
filepro_fieldcount | 처음으로 | filepro_fieldtype


filepro_fieldtype

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldtype -- Gets the type of a field

설명

string filepro_fieldtype ( int $field_number )

Returns the edit type of the field corresponding to field_number.

매개변수

field_number

The field number.

반환값

Returns the edit type of the field as a string, or FALSE on errors.

이전 | 위로 | 다음
filepro_fieldname | 처음으로 | filepro_fieldwidth


filepro_fieldwidth

(PHP 4, PHP 5 <= 5.1.6)

filepro_fieldwidth -- Gets the width of a field

설명

int filepro_fieldwidth ( int $field_number )

Returns the width of the field corresponding to field_number.

매개변수

field_number

The field number.

반환값

Returns the width of the field as a integer, or FALSE on errors.

이전 | 위로 | 다음
filepro_fieldtype | 처음으로 | filepro_retrieve


filepro_retrieve

(PHP 4, PHP 5 <= 5.1.6)

filepro_retrieve -- Retrieves data from a filePro database

설명

string filepro_retrieve ( int $row_number, int $field_number )

Returns the data from the specified location in the database.

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

매개변수

row_number

The row number. Must be between zero and the total number of rows minus one (0..filepro_rowcount() - 1)

field_number

The field number. Accepts values between zero and the total number of fields minus one (0..filepro_fieldcount() - 1)

반환값

Returns the specified data, or FALSE on errors.

이전 | 위로 | 다음
filepro_fieldwidth | 처음으로 | filepro_rowcount


filepro_rowcount

(PHP 4, PHP 5 <= 5.1.6)

filepro_rowcount -- Find out how many rows are in a filePro database

설명

int filepro_rowcount ( void )

Returns the number of rows in the opened filePro database.

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

반환값

Returns the number of rows in the opened filePro database, or FALSE on errors.

참고

filepro()

이전 | 위로 | 다음
filepro_retrieve | 처음으로 | filepro


filepro

(PHP 4, PHP 5 <= 5.1.6)

filepro -- Read and verify the map file

설명

bool filepro ( string $directory )

This reads and verifies the map file, storing the field count and info.

No locking is done, so you should avoid modifying your filePro database while it may be opened in PHP.

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

매개변수

directory

The map directory.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
filepro_rowcount | 처음으로 | XLI. 파일시스템 함수


파일시스템 함수

이전 VI. 함수 레퍼런스 다음

XLI. 파일시스템 함수

소개

요구 조건

이 확장을 빌드하기 위해서 외부 라이브러리가 필요하지 않습니다. 그러나 리눅스에서 PHP가 LFS(large files)를 지원하려면, 최근의 glibc를 사용하고, PHP에 다음 플래그를 지정하여 컴파일해야 합니다: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 88. 파일시스템과 스트림 설정 옵션

이름 | 기본값 | 변경권한
allow_url_fopen | "1" | PHP_INI_SYSTEM
user_agent | NULL | PHP_INI_ALL
default_socket_timeout | "60" | PHP_INI_ALL
from | NULL | ??
auto_detect_line_endings | "Off" | PHP_INI_ALL

위 설정 지시어에 대한 간단한 설명입니다.

allow_url_fopen boolean

이 옵션은 URL 객체에 파일처럼 접근할 수 있는 URL-판단 fopen 랩퍼를 활성화합니다. 기본 랩퍼는 ftp나 http 프로토콜을 사용하여 원격 파일의 접근을 제공하며, zlib 등의 몇몇 확장은 추가 랩퍼를 등록합니다.

참고: 보안을 위해, 이 옵션은 php.ini에서만 설정할 수 있습니다.

참고: 이 옵션은 버전 4.0.3 릴리즈 후에 추가되었습니다. 버전 4.0.3과 이전 버전에서 이 기능을 무효화 하려면 설정 스위치 --disable-url-fopen-wrapper를 사용하여 컴파일해야만 했습니다.

주의

윈도우즈 버전 PHP 4.3.0 이전에는, 다음 함수는 원격 파일 접근을
허용하지 않습니다: include(),
include_once(), require(),
require_once(), 그리고 Image
확장의 imagecreatefromXXX 함수.

user_agent string

PHP가 전송하는 유저 에이전트를 지정합니다.

default_socket_timeout integer

소켓 기반 스트림의 기본 시간 제한(초단위).

참고: 이 설정 옵션은 PHP 4.3.0에서 추가되었습니다.

from="joe@example.com" string

익명 ftp 패스워드(email 주소)를 지정합니다.

auto_detect_line_endings boolean

on일 때, PHP는 fgets()과 file()으로 읽혀지는 데이터가 줄바꿈 방식으로 유닉스, MS-DOS, 매킨토시 방식 중 어느걸 사용하는지 검사합니다.

이는 PHP가 매킨토시 시스템과 작업을 할 수 있게 하지만, 첫째 줄에서 EOL 방식을 검출하기 위해서 아주 작은 성능에 페널티가 존재하고, 유닉스 시스템에서 사람들이 아이템 구분자로 캐리지-리턴을 사용해왔었기에, 하위 호환성이 사라질 수 있는 이유로 인해, 기본값은 Off입니다.

참고: 이 설정 옵션은 PHP 4.3.0에서 추가되었습니다.

자원형

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

GLOB_BRACE (integer)
GLOB_ONLYDIR (integer)
GLOB_MARK (integer)
GLOB_NOSORT (integer)
GLOB_NOCHECK (integer)
GLOB_NOESCAPE (integer)
PATHINFO_DIRNAME (integer)
PATHINFO_BASENAME (integer)
PATHINFO_EXTENSION (integer)
FILE_USE_INCLUDE_PATH (integer)
FILE_APPEND (integer)
FILE_IGNORE_NEW_LINES (integer)
FILE_SKIP_EMPTY_LINES (integer)

참고

관련있는 함수인, 디렉토리와 프로그램 실행 섹션을 참고하십시오.

원격 파일처럼 사용할 수 있는 여러가지 URL 랩퍼의 목록과 설명은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

차례

basename -- 경로명에서 파일이름만 반환합니다
chgrp -- 파일의 그룹을 변환합니다
chmod -- 파일의 모드 변경
chown -- 파일의 소유자 변경
clearstatcache -- 파일의 통계(stat) 캐시를 삭제합니다.
copy -- 파일을 복사합니다
delete -- 실제로는 없는 명령
dirname -- 경로의 구성요소중에서 디렉토리 이름만 반환합니다.
disk_free_space -- Returns available space in directory
disk_total_space -- Returns the total size of a directory
diskfreespace -- 디렉토리의 사용가능한 공간을 반환합니다.
fclose -- 열려있는 파일 포인터를 닫습니다.
feof -- 파일의 끝이 파일포인터에 있는지 테스트합니다.
fflush -- 출력결과를 파일로 보냅니다.
fgetc -- 파일포인터로부터 문자 가져오기
fgetcsv -- 파일포인터에서 라인을 가져오고 CVS 에 맞게 변환합니다.
fgets -- 파일 포인터에서 라인 가져오기
fgetss -- 파일포인터에서 라인을 가져오고 HTML 태그를 없애기
file_exists -- 파일이 있는지 체크
file_get_contents -- Reads entire file into a string
file_put_contents -- Write a string to a file
file -- 파일전체를 배열로 읽어들임
fileatime -- 최근에 파일에 접근한 시간을 가져옴
filectime -- 파일의 아이노드 변경시간을 가져옵니다
filegroup -- 파일의 그룹을 가져옵니다
fileinode -- 파일의 아이노드를 가져옵니다
filemtime -- 파일이 수정된 시간을 가져옵니다
fileowner -- 파일의 소유자를 가져옵니다
fileperms -- 파일의 권한을 가져옵니다
filesize -- 파일의 크기를 가져옵니다
filetype -- 파일의 형식을 가져옵니다
flock -- 파일 잠김에 관한 간단한 도움말
fnmatch -- Match filename against a pattern
fopen -- 파일이나 URL을 엽니다
fpassthru -- 파일 포인터에 남아있는 모든 데이타를 출력합니다
fputcsv -- Format line as CSV and write to file pointer
fputs -- 파일 포인터에 기록하기
fread -- Binary-safe 파일 읽기
fscanf -- 형식에 따라서 파일로 부터 분석하여 입력하기
fseek -- 파일 포인터에서 찾기
fstat -- 오픈 파일 포인터를 사용하는 파일에 대한 정보 가져오기
ftell -- 파일포인터의 읽기/쓰기 위치 말하기
ftruncate -- 주어진 길이로 잘라내기
fwrite -- Binary-safe 파일 쓰기
glob -- Find pathnames matching a pattern
is_dir -- filename 이 디렉토리인지 아닌지 이야기하기
is_executable -- filename이 실행가능한 것인지 아닌지 이야기하기
is_file -- filename이 보통 파일인지 아닌지 이야기하기
is_link -- filename이 심볼릭 링크인지 아닌지 이야기하기
is_readable -- filename이 읽기 가능한 것인지 아닌지 이야기하기
is_uploaded_file -- file이 HTTP POST를 통해 업로드된 것인지 아닌지 이야기하기
is_writable -- filename이 쓰기가능한 것인지 아닌지 이야기하기
is_writeable -- Alias of is_writable()
lchgrp -- Changes group ownership of symlink
lchown -- Changes user ownership of symlink
link -- hard link 만들기
linkinfo -- 링크 정보 가져오기
lstat -- 파일이나 심볼릭 링크에 관한 정보를 제공
mkdir -- 디렉토리 만들기
move_uploaded_file -- 업로드된 파일을 다른곳으로 이동하기
parse_ini_file -- Parse a configuration file
pathinfo -- Returns information about a file path
pclose -- 진행되는 파일 포인터 닫기
popen -- 진행되는 파일 포인터를 열기
readfile -- 파일을 출력합니다
readlink -- symbolic link의 target 반환
realpath -- 표준화된 절대 경로명을 반환합니다
rename -- 파일을 새 이름으로 고치기
rewind -- 파일포인터의 위치를 되돌립니다(rewind).
rmdir -- 디렉토리 제거하기
set_file_buffer -- 주어진 파일 포인터에 파일 버퍼링 설정하기
stat -- file에 대한 정보 제공
symlink -- 심볼릭 링크 만들기
tempnam -- 유일한 파일 이름 만들기
tmpfile -- 임시 파일 만들기
touch -- 파일의 수정시간을 설정합니다
umask -- 현재의 umask를 변경하기
unlink -- 파일을 삭제하기
이전 | 위로 | 다음
filepro | 처음으로 | basename


basename

(PHP 4, PHP 5)

basename -- 경로명에서 파일이름만 반환합니다

Description

string basename ( string $path [, string $ suffix ] )

이 함수는 경로가 포함된 파일이름이 주어졌을때 파일의 이름부분만 반환합니다. 만약 파일이름에 suffix (두번째 인자)가 붙어 있으면 이 역시 잘라집니다

윈도우즈에서는 슬래시와 (/) 백슬래시(\) 모두 경로구분자로 사용됩니다. 그 외의 환경에서는 슬래시(/)만 사용됩니다 .

예 550. basename() example

$path = "/home/httpd/html/index.php";
$file = basename ($path);        // $file 은 "index.php" 로 설정된다
$file = basename ($path,".php"); // $file 은 "index" 로 설정된다

참조: dirname()

이전 | 위로 | 다음
XLI. 파일시스템 함수 | 처음으로 | chgrp


chgrp

(PHP 4, PHP 5)

chgrp -- 파일의 그룹을 변환합니다

Description

int chgrp ( string $filename, mixed $group )

파일의 그룹을 filename에서 group으로 바꾸고자 할때 수퍼유저만이 파일의 그룹을 임으로 변경할 수 있고 그 외의 사용자들은 멤버로 있을때만 어떤 파일의 그룹을 변경할 수 있습니다.

성공하면 TRUE, 실패하면 FALSE를 반환합니다.

참조: chown() 그리고 chmod().

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다.

이전 | 위로 | 다음
basename | 처음으로 | chmod


chmod

(PHP 4, PHP 5)

chmod -- 파일의 모드 변경

Description

int chmod ( string $filename, int $mode )

filename에 정의된 파일의 모드를 주어진 mode로 변경하고자 할때 사용합니다.

주의할 점은 mode가 자동으로 8진수로 바뀌지 않는다는 것입니다. 그래서 만약에 문자열("g+w")를 사용한다면 정확하게 동작하지 않을 수 있습니다. 그래서 확실히 동작하는 구문을 사용하려면 0을 이용해서 mode의 형태를 미리 정의해 주어야 합니다:

chmod ("/somedir/somefile", 755);   // 10진수 : 정확하게 동작하지 않을 것임
chmod ("/somedir/somefile", "u+rwx,go+rx"); // 문자열 :  잘못된 구문
chmod ("/somedir/somefile", 0755);  // 8진수 : 정확한 모드 값

성공하면 TRUE, 실패하면 FALSE를 반환합니다.

참조: chown() 그리고 chgrp().

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다.

이전 | 위로 | 다음
chgrp | 처음으로 | chown


chown

(PHP 4, PHP 5)

chown -- 파일의 소유자 변경

Description

int chown ( string $filename, mixed $user )

어떤 파일의 소유자를 변경하고자 할때 수퍼유저만이 파일의 소유자를 바꿀 수 있습니다.

성공하면 TRUE, 그렇지 않으면 FALSE를 반환합니다.

참조: chown() 그리고 chmod().

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다.

이전 | 위로 | 다음
chmod | 처음으로 | clearstatcache


clearstatcache

(PHP 4, PHP 5)

clearstatcache -- 파일의 통계(stat) 캐시를 삭제합니다.

Description

void clearstatcache ( void )

대부분의 운영체제에서stat나lstat등의 시스템호출을 사용해서 일을하는 것은 꽤 자원을 많이 소모합니다. 그렇기 때문에 최종적으로 사용된 상태를 나타내는 함수(아래에 나열된)의 결과는 다음번에 같은 파일이름을 사용하여 그런 호출을 할 경우를 위하여 저장이 됩니다. 만약에 파일이 여러번 체크가 되었고 파일이 바뀌거나 파일이 없어졌을 경우등에 상태를 강제로 다시 체크하고자 한다면 이 함수를 사용하여 저장되어있는 최종결과를 메모리에서 삭제할 수 있습니다.

이 값은 어떤 단일 요청(request)이 유효할 때까지만 캐시된 값입니다.

stat()을 포함하여
 lstat(),
 file_exists(),
 is_writable(),
 is_readable(),
 is_executable(),
 is_file(),
 is_dir(),
 is_link(),
 filectime(),
 fileatime(),
 filemtime(),
 fileinode(),
 filegroup(),
 fileowner(),
 filesize(),
 filetype() 그리고
 fileperms()이 이 함수의 영향을 받게 되는 함수입니다.

이전 | 위로 | 다음
chown | 처음으로 | copy


copy

(PHP 4, PHP 5)

copy -- 파일을 복사합니다

Description설명

int copy ( string $source, string $dest )

파일의 복사본을 만듭니다. 복사가 되면 TRUE, 그렇지 않으면 FALSE를 반환합니다.

예 551. copy()예문

if (!copy($file, $file.'.bak')) {
    print ("$file을 복사하는데 실패했습니다...<br>\n");
}

참조: rename().

이전 | 위로 | 다음
clearstatcache | 처음으로 | delete


delete

(PECL zip:1.1.0-1.4.1)

delete -- 실제로는 없는 명령

Description

void delete ( string $file )

이것은 unlink()나 unset()의 함수를 잘못된 장소에서 사람들이 찾을까봐 목록에 끼워넣은 것입니다.

참조: unlink()는 파일을 삭제하고자 할때, unset()는 변수를 삭제하고자 할 때.

이전 | 위로 | 다음
copy | 처음으로 | dirname


dirname

(PHP 4, PHP 5)

dirname -- 경로의 구성요소중에서 디렉토리 이름만 반환합니다.

Description

string dirname ( string $path )

이 함수는 어떤 파일을 지정하는 경로가 주어졌을때 디렉토리의 이름을 반환합니다

윈도우즈에서는 슬래시(/) 와 역슬래시 (\) 모두 경로명을 구분하는 구분자로 사용되지만 기타의 운영체제에서는 슬래시(/)만 사용됩니다.

예 552. dirname() 예문

$path = "/etc/passwd";
$file = dirname ($path); // $file 은 "/etc" 로 설정됩니다.

참조: basename()

이전 | 위로 | 다음
delete | 처음으로 | disk_free_space


disk_free_space

(PHP 4 >= 4.0.7, PHP 5)

disk_free_space -- Returns available space in directory

설명

float disk_free_space ( string $directory )

Given a string containing a directory, this function will return the number of bytes available on the corresponding filesystem or disk partition.

매개변수

directory

A directory of the filesystem or disk partition.

참고: Given a file name instead of a directory, the behaviour of the function is unspecified and may differ between operating systems and PHP versions.

반환값

Returns the number of available bytes as a float.

예제

예 553. disk_free_space() example

<?php
// $df contains the number of bytes available on "/"
$df = disk_free_space("/");

// On Windows:
disk_free_space("C:");
disk_free_space("D:");
?>

주의

참고: 이 함수는 원격 파일을 다루지 못합니다. 파일은 서버 파일시스템을 통해서 사용 가능해야만 합니다.

참고

disk_total_space()

이전 | 위로 | 다음
dirname | 처음으로 | disk_total_space


disk_total_space

(PHP 4 >= 4.0.7, PHP 5)

disk_total_space -- Returns the total size of a directory

설명

float disk_total_space ( string $directory )

Given a string containing a directory, this function will return the total number of bytes on the corresponding filesystem or disk partition.

매개변수

directory

A directory of the filesystem or disk partition.

반환값

Returns the total number of bytes as a float.

예제

예 554. disk_total_space() example

<?php
// $df contains the total number of bytes available on "/"
$df = disk_total_space("/");

// On Windows:
disk_total_space("C:");
disk_total_space("D:");
?>

주의

참고: 이 함수는 원격 파일을 다루지 못합니다. 파일은 서버 파일시스템을 통해서 사용 가능해야만 합니다.

참고

disk_free_space()

이전 | 위로 | 다음
disk_free_space | 처음으로 | diskfreespace


diskfreespace

(PHP 4, PHP 5)

diskfreespace -- 디렉토리의 사용가능한 공간을 반환합니다.

Description

float diskfreespace ( string $directory )

이 함수는 디렉토리를 포함한 문자열이 주어졌을때 파일시스템이나 디스크파티션의 사용가능한 공간을 바이트로 반환합니다.

예 555. diskfreespace()예문

$df = diskfreespace("/"); // $df 는 "/"에서 사용가능한 공간의 바이트 크기를 보여줍니다.

이전 | 위로 | 다음
disk_total_space | 처음으로 | fclose


fclose

(PHP 4, PHP 5)

fclose -- 열려있는 파일 포인터를 닫습니다.

Description

int fclose ( int $fp )

이 파일은 fp가 닫힐때 지정됩니다.

성공하면 TRUE, 실패하면 FALSE를 반환합니다.

파일포인터는 반드시 유효한 것이어야 하고,fopen() 이나 fsockopen()등에의해 성공적으로 열려진 파일을 지정해야 합니다.

이전 | 위로 | 다음
diskfreespace | 처음으로 | feof


feof

(PHP 4, PHP 5)

feof -- 파일의 끝이 파일포인터에 있는지 테스트합니다.

Description

int feof ( int $fp )

파일 포인터가 파일의 끝에 있거나 에러가 발생하면 TRUE, 그렇지 않으면 FALSE를 반환합니다.

파일포인터는 반드시 유효한 것이어야하고,fopen() 이나 popen() 또는 fsockopen()에 의해 성공적으로 열려진 파일을 지정해야 합니다.

이전 | 위로 | 다음
fclose | 처음으로 | fflush


fflush

(PHP 4 >= 4.0.1, PHP 5)

fflush -- 출력결과를 파일로 보냅니다.

Description

int fflush ( int $fp )

이 함수는모든 버퍼에 저장되어있던 출력을 파일핸들에 의해 지정된 자원에 강제로 쓰기합니다. fp. 성공하면 TRUE, 실패하면 FALSE를 반환.

이 파일포인터는 반드시 유효한 것이어야 하고,fopen()이나 popen()또는 fsockopen()에 의해 성공적으로 열려진 파일을 가리켜야 합니다.

이전 | 위로 | 다음
feof | 처음으로 | fgetc


fgetc

(PHP 4, PHP 5)

fgetc -- 파일포인터로부터 문자 가져오기

Description

string fgetc ( int $fp )

fp에 의해 가리켜진 파일로부터 한개의 문자를 포함한 문자열을 반환합니다. FALSE 나 EOF를 반환합니다.

이 파일포인터는 반드시 유효한 것이어야 하고,fopen()이나 popen() 또는 fsockopen()에 의해 성공적으로 열려진 파일을 가리켜야 합니다.

참조: fread(), fopen(), popen(), fsockopen(), 그리고 fgets().

이전 | 위로 | 다음
fflush | 처음으로 | fgetcsv


fgetcsv

(PHP 4, PHP 5)

fgetcsv -- 파일포인터에서 라인을 가져오고 CVS 에 맞게 변환합니다.

Description

array fgetcsv ( int $fp, int $length [, string $ delimiter ] )

fgetcsv()가 CSV형식으로 필드를 읽어와서 변환하고 읽은 필드를 포함하는 배열로 반환하는 것을 제외하고는 fgets()와 비슷합니다. 세번째 매개변수로 특정한 구분문자를 지정하지 않는다면 필드의 구분문자는 콤마가 됩니다.

Fp는 fopen(),popen() 이나fsockopen()에 의해 성공적으로 열려진 파일에 대한 유효한 파일 포인터여야 합니다.

CSV 파일에서 가장 긴 라인보다 더 길어야 합니다.(마지막 문자 찾기가 허용되었을 때)

fgetcsv()는 파일의 끝이거나 실패시 FALSE를 반환합니다.

주의-- CSV 파일에서 비어있는 라인은 NULL 필드를 배열로 만들어서 반환하고 에러로 처리되지 않습니다.

예 556. fgetcsv()예문 - CSV 파일의 전체 내용을 읽고 프린트하기

$row = 1;
$fp = fopen ("test.csv","r");
while ($data = fgetcsv ($fp, 1000, ",")) {
    $num = count ($data);
    print "<p> $row 라인에 $num 개의 필드: <br>";
    $row++;
    for ($c=0; $c<$num; $c++) {
        print $data[$c] . "<br>";
    }
}
fclose ($fp);

이전 | 위로 | 다음
fgetc | 처음으로 | fgets


fgets

(PHP 4, PHP 5)

fgets -- 파일 포인터에서 라인 가져오기

Description

string fgets ( int $fp, int $length )

리턴값을 포함한 새로운 문자열이거나 파일의 끝중에서 먼저 도달되는 것에서 1 바이트를 읽어들인후 length만큼 증가되는 문자열 - fp에 의해 가리켜진 파일로부터 1 바이트를 읽습니다. length일때 끝을 읽습니다. - 을 반환합니다.

에러가 발생하면 FALSE를 반환합니다.

일반적인 함정:

fgets의 'C' 구조를 자주 사용하는 사람들은 EOF 가 반환되는 방법이 다르다는 것을 주의해야 합니다.

파일 포인터는 유효한 것이어야 하고 포인터가 가리키는 것은 성공적으로 열려진 fopen(),popen() 또는 fsockopen()에 의해 성공적으로 열려진 파일이어야 한다.

단순한 예문

예 557. 파일을 한 라인씩 읽어들이기

$fd = fopen ("/tmp/inputfile.txt", "r");
while (!feof ($fd)) {
    $buffer = fgets($fd, 4096);
    echo $buffer;
}
fclose ($fd);

참조: fread(), fopen(),
popen(), fgetc(),
fsockopen(), 그리고
socket_set_timeout().

이전 | 위로 | 다음
fgetcsv | 처음으로 | fgetss


fgetss

(PHP 4, PHP 5)

fgetss -- 파일포인터에서 라인을 가져오고 HTML 태그를 없애기

Description

string fgetss ( int $fp, int $length [, string $ allowable_tags ] )

fgetss가 읽어들인 텍스트에서 HTML과 PHP 태그를 없애는 것을 제외하고는 fgets()와 같습니다.

세번째 매개변수로 옵션을 사용해서 특정한 태그를 제외시킬 수가 있습니다.

참고: allowable_tags가 PHP 3.0.13, PHP4B3 에 추가되었습니다.

참조: fgets(), fopen(),
fsockopen(), popen(), 그리고
strip_tags().

이전 | 위로 | 다음
fgets | 처음으로 | file_exists


file_exists

(PHP 4, PHP 5)

file_exists -- 파일이 있는지 체크

Description

bool file_exists ( string $filename )

Returns TRUE if the file specified by filename에 의해 지정된 파일이 있으면 TRUE, 없으면 FALSE를 반환합니다.

file_exists()는 원격 파일에는 동작하지 않습니다.; 서버의 파일시스템을 통해 파일에 접근한 것인지 검사됩니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶다면 clearstatcache()를 보십시오.

이전 | 위로 | 다음
fgetss | 처음으로 | file_get_contents


file_get_contents

(PHP 4 >= 4.3.0, PHP 5)

file_get_contents -- Reads entire file into a string

설명

string file_get_contents ( string $filename [, int $flags [, resource $context [, int $offset [, int $maxlen]]]] )

This function is similar to file(), except that file_get_contents() returns the file in a string, starting at the specified offset up to maxlen bytes. On failure, file_get_contents() will return FALSE.

file_get_contents() is the preferred way to read the contents of a file into a string. It will use memory mapping techniques if supported by your OS to enhance performance.

참고: If you're opening a URI with special characters, such as spaces, you need to encode the URI with urlencode().

매개변수

filename

Name of the file to read.

flags
주의

For all versions prior to PHP 6, this parameter is called use_include_path and is a bool. The flags parameter is only available since PHP 6. If you use an older version and want to search for filename in the include path, this parameter must be TRUE. Since PHP 6, you have to use the FILE_USE_INCLUDE_PATH flag instead.

The value of flags can be any combination of the following flags (with some restrictions), joined with the binary OR (|) operator.

표 89. Available flags

Flag | Description
FILE_USE_INCLUDE_PATH | Search for filename in the include directory. See include_path for more information.
FILE_TEXT | If unicode semantics are enabled, the default encoding of the read data is UTF-8. You can specify a different encoding by creating a custom context or by changing the default using stream_default_encoding(). This flag cannot be used with FILE_BINARY.
FILE_BINARY | With this flag, the file is read in binary mode. This is the default setting and cannot be used with FILE_TEXT.

context

A valid context resource created with stream_context_create(). If you don't need to use a custom context, you can skip this parameter by NULL.

offset

The offset where the reading starts.

maxlen

Maximum length of data read.

반환값

The function returns the read data or FALSE on failure.

변경 기록

버전 | 설명
5.0.0 | Added context support.
5.1.0 | Added the offset and maxlen parameters.
6.0.0 | The use_include_path parameter was replaced by the flags parameter.

주의

참고: 이 함수는 바이너리 호환(binary-safe)입니다.

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

주의

SSL을 사용할 때, 마이크로소프트 IIS는 close_notify 식별자를 보내지 않은채 접속을 종료하는 프로토콜 오류가 있습니다. PHP는 데이터의 마지막에 도달했을때, 이를 "SSL: Fatal Protocol Error"로 보고합니다. 이를 다루기 위해서는 error_reporting 레벨에 경고를 포함하지 않도록 해야합니다. PHP 4.3.7 이후는 https:// 래퍼를 통해 스트림을 열 때, 문제가 있는 IIS 서버 소프트웨어를 검출하여 경고를 하지 않습니다. ssl:// 소켓을 만들기 위해 fsockopen()을 사용한다면, 경고를 직접 검출하여 없애야 합니다.

참고

file()
fgets()
fread()
readfile()
file_put_contents()
stream_get_contents()
stream_context_create()

이전 | 위로 | 다음
file_exists | 처음으로 | file_put_contents


file_put_contents

(PHP 5)

file_put_contents -- Write a string to a file

설명

int file_put_contents ( string $filename, mixed $data [, int $flags [, resource $context]] )

This function is identical to calling fopen(), fwrite() and fclose() successively to write data to a file.

If filename does not exist, the file is created. Otherwise, the existing file is overwritten, unless the FILE_APPEND flags is set.

매개변수

filename

Path to the file where to write the data.

data

The data to write. Can be either a string, an array or a stream resource (explained above).

If data is a stream resource, the remaining buffer of that stream will be copied to the specified file. This is similar with using stream_copy_to_stream().

You can also specify the data parameter as a single dimension array. This is equivalent to file_put_contents($filename, implode('', $array)).

flags

The value of flags can be any combination of the following flags (with some restrictions), joined with the binary OR (|) operator.

표 90. Available flags

Flag | Description
FILE_USE_INCLUDE_PATH | Search for filename in the include directory. See include_path for more information.
FILE_APPEND | If file filename already exists, append the data to the file instead of overwriting it.
LOCK_EX | Acquire an exclusive lock on the file while proceeding to the writing.
FILE_TEXT | data is written in text mode. If unicode semantics are enabled, the default encoding is UTF-8. You can specify a different encoding by creating a custom context or by using the stream_default_encoding() to change the default. This flag cannot be used with FILE_BINARY. This flag is only available since PHP 6.
FILE_BINARY | data will be written in binary mode. This is the default setting and cannot be used with FILE_TEXT. This flag is only available since PHP 6.

context

A valid context resource created with stream_context_create().

반환값

The function returns the number of bytes that were written to the file, or FALSE on failure.

변경 기록

버전 | 설명
5.0.0 | Added context support
5.1.0 | Added support for LOCK_EX and the ability to pass a stream resource to the data parameter
6.0.0 | Added support for the FILE_TEXT and FILE_BINARY flags

주의

참고: 이 함수는 바이너리 호환(binary-safe)입니다.

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

참고

fopen()
fwrite()
file_get_contents()
stream_context_create()

이전 | 위로 | 다음
file_get_contents | 처음으로 | file


file

(PHP 4, PHP 5)

file -- 파일전체를 배열로 읽어들임

Description

array file ( string $filename [, int $ use_include_path ] )

file()이 파일을 배열로 반환하는 것을 제외하고는 readfile()과 같습니다. 새로운 라인이 연결되는 것을 포함해서 배열의 매 요소는 파일의 라인과 비슷합니다.

파일에서 include_path에서 파일을 찾고 싶다면 두번째 매개변수로 "1"을 사용하면 됩니다.

<?php
// 배열로 웹 페이지를 가져오고 출력함
$fcontents = file ('http://www.php.net');
while (list ($line_num, $line) = each ($fcontents)) {
    echo "<b>Line $line_num:</b> " . htmlspecialchars ($line) . "<br>\n";
}

//문자열로 웹 페이지를 가져옴
$fcontents = join ('', file ('http://www.php.net'));
?>

참조: readfile(), fopen(), fsockopen(), 그리고 popen().

이전 | 위로 | 다음
file_put_contents | 처음으로 | fileatime


fileatime

(PHP 4, PHP 5)

fileatime -- 최근에 파일에 접근한 시간을 가져옴

Description

int fileatime ( string $filename )

파일에 최종 접근 시간을 반환하며 에러가 발생할 경우에는 FALSE를 반환합니다. 반환되는 시간은 유닉스형식입니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶다면 clearstatcache()를 보십시오.

주의: 파일에 접근한 시간은 파일을 읽어들인후에 접근이 막혔을 때마다 바뀌는 것이 지원됩니다.이렇게 하는 것은 정기적으로 매우 많은 파일이나 디렉토리에 어플리케이션에서 접근할 때 꽤 많은 자원을 요구합니다.몇몇 유닉스 시스템에서는 그런 어플리케이션의 퍼포먼스 증가를 막기 위해서 접근시간 업데이트 설정을 꺼놓고 마운트 하기도 합니다. USENET 뉴스 스풀이 일반적인 예입니다. 그런 파일시스템에는 이 함수는 별로 쓸모 없을것입니다.

이전 | 위로 | 다음
file | 처음으로 | filectime


filectime

(PHP 4, PHP 5)

filectime -- 파일의 아이노드 변경시간을 가져옵니다

Description

int filectime ( string $filename )

파일이 마지막으로 변경된 시간을 반환합니다. 에러가 발생하면 FALSE를 반환합니다. 반환되는 시간은 유닉스 형식입니다.

이 함수의 실행결과는 캐쉬가 됩니다. 좀 더 자세한 내용은 clearstatcache()를 참조하세요.

주의: 대부분의 유닉스 파일시스템에서는 아이노드의 데이타(권한, 소유자, 그룹이나 다른 요소)가 변경되었을 때 파일이 바뀌는 것이 허용됩니다. 참조: filemtime() (이것은 웹 페이지의 하단에 "마지막 수정시간"을 붙이고 싶을 때 사용합니다. ) 그리고 fileatime().

주의: 몇 몇 유닉스 텍스트에서 파일의 ctime이 파일이 만들어진 시간으로 사용하고자 하는 경우가 있는데 이것은 잘못된 것입니다. 대부분의 유닉스 파일시스템에는 파일이 만들어진 시간이라는 것이 없습니다.

이전 | 위로 | 다음
fileatime | 처음으로 | filegroup


filegroup

(PHP 4, PHP 5)

filegroup -- 파일의 그룹을 가져옵니다

Description

int filegroup ( string $filename )

파일의 소유자나 그룹의 ID를 반환합니다. 에러가 발생하면 FALSE를 반환합니다. 그룹 ID는 숫자형식으로 반환이 됩니다. 그룹의 이름으로 바꾸기 위해서 posix_getgrgid()함수가 사용됩니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶을 때는 clearstatcache()를 보십시오.

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다.

이전 | 위로 | 다음
filectime | 처음으로 | fileinode


fileinode

(PHP 4, PHP 5)

fileinode -- 파일의 아이노드를 가져옵니다

Description

int fileinode ( string $filename )

파일의 아이노드 숫자를 반환하거나 에러일 경우에는 FALSE를 반환합니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶을 때는 clearstatcache()를 보십시오.

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다

이전 | 위로 | 다음
filegroup | 처음으로 | filemtime


filemtime

(PHP 4, PHP 5)

filemtime -- 파일이 수정된 시간을 가져옵니다

Description

int filemtime ( string $filename )

파일이 마지막으로 수정이 된 시간을 반환하거나 실패할 경우에는 FALSE를 반환합니다. 반환되는 시간은 유닉스 형식입니다

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶을 때는 clearstatcache()를 보십시오.

주의: 이 함수는 파일의 내용이 수정되는 도중에 접근을 막은 시간이 기록이 됩니다. 이 함수의 실행결과와 함께 date()를 사용하면 페이지의 하단에 출력가능한 수정일자를 표시할 수 있습니다.

이전 | 위로 | 다음
fileinode | 처음으로 | fileowner


fileowner

(PHP 4, PHP 5)

fileowner -- 파일의 소유자를 가져옵니다

Description

int fileowner ( string $filename )

파일 소유자의 ID를 숫자형식으로 반환하거나 실패할 경우에는 FALSE를 반환합니다. ID를 사용자의 이름으로 바꾸기 위해서 posix_getpwuid()를 사용합니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶을 때는 clearstatcache()를 보십시오.

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다.

이전 | 위로 | 다음
filemtime | 처음으로 | fileperms


fileperms

(PHP 4, PHP 5)

fileperms -- 파일의 권한을 가져옵니다

Description

int fileperms ( string $filename )

파일의 권한을 반환하거나 실패할 경우에는 FALSE를 반환합니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶을때는 clearstatcache()를 참조하세요

이전 | 위로 | 다음
fileowner | 처음으로 | filesize


filesize

(PHP 4, PHP 5)

filesize -- 파일의 크기를 가져옵니다

Description

int filesize ( string $filename )

파일의 크기나 FALSE를 반환합니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶을때는 clearstatcache()를 참조하세요.

이전 | 위로 | 다음
fileperms | 처음으로 | filetype


filetype

(PHP 4, PHP 5)

filetype -- 파일의 형식을 가져옵니다

Description

string filetype ( string $filename )

반환되는 파일의 형식은 fifo, char, dir, block, link, file, 그리고 unknown 입니다.

에러가 발생하면 FALSE를 반환합니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶을때는 clearstatcache()를 참조하세요.

이전 | 위로 | 다음
filesize | 처음으로 | flock


flock

(PHP 4, PHP 5)

flock -- 파일 잠김에 관한 간단한 도움말

Description

bool flock ( int $fp, int $operation [, int $ wouldblock ] )

PHP는 파일에 대한 접근을 막는데 간단한 방법을 제공합니다. 이것은 모든 접근하는 프로그램이 파일을 잠그는데 같은 방법을 사용해야 하며 그렇지 않으면 동작하지 않습니다.

flock()은 fp가 열려진 파일에 대한 포인터일때 이것위에서 동작합니다 operation은 산출되는 값중에 하나입니다:

  • 공동으로 접근을 막고자 할때(읽는 사람) operation을 LOCK_SH로 설정합니다 (PHP 4.0.1 이전버전은 1로 설정합니다).
  • 단독으로 접근을 막는 것이 필요할때(쓰는 사람) operation을 LOCK_EX로 설정합니다 (PHP 4.0.1이전버전은 2로 설정합니다).
  • 파일에 대한 접근을 풀어줄때 (공동 또는 단독) operation을 LOCK_UN으로 설정합니다. (PHP 4.0.1이전 버전은 3으로 설정합니다).
  • 파일에 대한 접근을 막는데 flock()을 사용하고 싶지않으면 LOCK_NB을 추가 하세요 (PHP 4.0.1 이전버젼에서는) operation을 4로 설정하세요.

flock()은 실제로 모든 환경에서 간단한 읽기/쓰기 예를 수행할 수 있게 만들어줍니다 reader/writer model which can be used on virtually every platform (대부분의 유닉스와 윈도우즈 환경에서도). 접근을 막을 수가 없다면 세번째 매개변수가 TRUE로 설정되어 있는 것입니다.(EWOULDBLOCK errno condition)

flock()은 성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다. (예를 들면 파일 접근을 막는것이 요청되지 못할 때).

주의

flock()은 대부분의 운영체제에서 프로세스 단계에서 실행됩니다 . ISAPI같은 멀티쓰레드된 서버 API를 사용하고자 할 경우에 flock()이 같은 서버의 인스턴스의 병렬 쓰레드로서 다른 PHP스크립트가 진행될때 파일을 보호할 것을 기대하지 마십시오

이전 | 위로 | 다음
filetype | 처음으로 | fnmatch


fnmatch

(PHP 4 >= 4.3.0, PHP 5)

fnmatch -- Match filename against a pattern

설명

bool fnmatch ( string $pattern, string $string [, int $flags] )

fnmatch() checks if the passed string would match the given shell wildcard pattern.

매개변수

pattern

The shell wildcard pattern.

string

The tested string. This function is especially useful for filenames, but may also be used on regular strings.

The average user may be used to shell patterns or at least in their simplest form to '?' and '*' wildcards so using fnmatch() instead of ereg() or preg_match() for frontend search expression input may be way more convenient for non-programming users.

flags

See the Unix manpage on fnmatch(3) for flag names (as long as they are not documented here).

반환값

Returns TRUE if there is a match, FALSE otherwise.

예제

예 558. Checking a color name against a shell wildcard pattern

<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "some form of gray ...";
}
?>

주의

주의

For now this function is not available on Windows or other non-POSIX compliant systems.

참고

glob()
ereg()
preg_match()
sscanf()
printf()
sprintf()

이전 | 위로 | 다음
flock | 처음으로 | fopen


fopen

(PHP 4, PHP 5)

fopen -- 파일이나 URL을 엽니다

Description

int fopen ( string $filename, string $mode [, int $ use_include_path ] )

만약filename이 "http://"로 시작하면 (sensitive 하지 않은 경우에), HTTP 1.0 연결이 지정된 서버를 열어줍니다.그리고 파일 포인터는 응답텍스트의 시작부분으로 돌려집니다.. A '호스트:' 헤더부분은 name-based virtual hosts를 핸들링하기 위해서 요청과 함께 보내집니다.

HTTP 리다이렉트를 건드리지 마십시오. 반드시 디렉토리뒤에 따르는 슬래쉬를 포함시켜야 합니다.

만약에 filename이 "ftp://"로 시작이 되면 (sensitive 하지 않은 경우에), 지정된 서버가 ftp연결에 의해 열려집니다. 그리로 요청된 파일에 대한 포인터가 반환됩니다. 만약에 서버의 ftp가 받을 수 있는 모드를 지원하지 않으면, 이것은 실행될 수 없습니다. ftp를 통해서 파일을 읽거나 쓸수도 있습니다.ftp (동시에 할 수는 없습니다).

만약에filename이 "php://stdin", "php://stdout", "php://stderr",중의 하나라면 일치하는 표준입출력 스트림이 열리게 됩니다 (PHP 3.0.13에 소개가 되어 있습니다; 이전 버전에서 표준입출력 스트림에 접근하려면 filename이 "/dev/stdin" 이나 "/dev/fd/0" 이어야 합니다.)

filename이 다른 것으로 시작되면 그 파일은 파일 시스템에서 열려집니다. 그리고, 파일에 대한 파일 포인터가 열려서 반환됩니다.

열수가 없다면 FALSE를 반환합니다.

mode다음의 어느것이라도 될 수가 있습니다:

  • 'r' - 읽기전용으로 열립니다; 파일포인터를 파일의 맨 앞에 놓습니다.
  • 'r+' - 읽기 쓰기가 가능합니다.; 파일 포인터를 파일의 맨 앞에 놓습니다.
  • 'w' - 쓰기 전용으로 열립니다; 파일 포인터를 파일의 맨 앞에 놓습니다 그리고 파일의 크기를 0으로 만듭니다. 파일이 없으면 만듭니다.
  • 'w+' - 읽기 쓰기가 가능합니다; 파일포인터를 파일의 맨 앞에 놓습니다. 그리고 파일의 크기를0으로 만듭니다. 파일이 없으면 만듭니다.
  • 'a' - 쓰기 전용으로 열립니다; 파일 포인터를 파일의 끝에 놓습니다. 파일이 없으면 만듭니다.
  • 'a+' - 읽기 쓰기가 가능합니다; 파일 포인터를 파일의 끝에 놓습니다. 파일이 없으면 만듭니다.
mode가 문자'b'를 포함할 수도 있습니다. 이것은 시스템상에서 바이너리와 텍스트 파일을 구별짓는데 쓸모가 있습니다 (다시 말하면 유닉스에서는 쓸모가 없습니다).필요가 없으면 사용하지 마세요.

세번째 매개변수를 사용할 수 있는데 include_path가운데서 파일을 찾고 싶으면 "1"로 설정하세요.

예 559. fopen() example

$fp = fopen ("/home/rasmus/file.txt", "r");
$fp = fopen ("/home/rasmus/file.gif", "wb");
$fp = fopen ("http://www.php.net/", "r");
$fp = fopen ("ftp://user:password@example.com/", "w");

PHP의 서버 모듈 버전을 사용하는데 파일을 읽고 쓰는데 문제를 겪었다면 파일과 디렉토리를 서버 프로세스가 접근이 가능하게 했는지 확인해보세요

윈도우즈에서는, 파일의 경로에서 백슬래시를 사용했는지 슬래시를 사용했는지 주의하세요.

$fp = fopen ("c:\\data\\info.txt", "r");

참조 fclose(),
fsockopen(),
socket_set_timeout(), and
popen().

이전 | 위로 | 다음
fnmatch | 처음으로 | fpassthru


fpassthru

(PHP 4, PHP 5)

fpassthru -- 파일 포인터에 남아있는 모든 데이타를 출력합니다

Description

int fpassthru ( int $fp )

주어진 파일포인터를 끝까지 읽고 일반 출력으로 결과를 씁니다.

에러가 발생하면fpassthru()는 FALSE를 반환합니다.

파일포인터는 유효한 것이어야 합니다. 그리고 fopen(), popen(), or fsockopen()에 의해 성공적으로 열려진 파일을 가리켜야 합니다. fpassthru()가 파일읽기를 마치면 파일이 닫힙니다. (남겨진 fp는 쓸모가 없습니다).

파일의 내용을 일반출력으로 보내기 위한 것이라면, fopen()을 호출하는 것보다 readfile()을 사용하고 싶어할 것입니다

참조readfile(), fopen(), popen(), 그리고 fsockopen()

이전 | 위로 | 다음
fopen | 처음으로 | fputcsv


fputcsv

(PHP 5 >= 5.1.0)

fputcsv -- Format line as CSV and write to file pointer

설명

int fputcsv ( resource $handle, array $fields [, string $delimiter [, string $enclosure]] )

fputcsv() formats a line (passed as a fields array) as CSV and write it (terminated by a newline) to the specified file handle.

매개변수

handle

파일 포인터는 fopen(),
fsockopen()을 통하여 성공적으로 열려,
fclose()로 닫지 않은 유효한 파일이여야 합니다.

fields

An array of values.

delimiter

The optional delimiter parameter sets the field delimiter (one character only). Defaults as a comma: ,.

enclosure

The optional enclosure parameter sets the field enclosure (one character only) and defaults to a double quotation mark: ".

반환값

Returns the length of the written string, or FALSE on failure.

예제

예 560. fputcsv() example

<?php

$list = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
);

$fp = fopen('file.csv', 'w');

foreach ($list as $line) {
    fputcsv($fp, split(',', $line));
}

fclose($fp);
?>

주의

참고: 매킨토시 컴퓨터에서 작성한 파일을 읽어들일 때 PHP가 줄의 끝을 판단하지 못하면, auto_detect_line_endings 실행 옵션을 활성화할 수 있습니다.

참고

fgetcsv()

이전 | 위로 | 다음
fpassthru | 처음으로 | fputs


fputs

(PHP 4, PHP 5)

fputs -- 파일 포인터에 기록하기

Description

int fputs ( int $fp, string $str [, int $ length ] )

fputs()는 fwrite()로 언제나 앨리어스 됩니다. length매개변수는 선택이 가능하고 전체 문자열이 나열되지 않으면 쓰여진다는 것을 주의하세요.

이전 | 위로 | 다음
fputcsv | 처음으로 | fread


fread

(PHP 4, PHP 5)

fread -- Binary-safe 파일 읽기

Description

string fread ( int $fp, int $length )

fread()는 fp에 의해 참조가 되는 파일 포인터로부터 length를 바이트로 증가시키며 읽습니다. length바이트가 읽혔거나 파일의 끝에 도달되거나 둘중에 먼저 끝나는 것이 있으면 읽기가 종료됩니다..

// 파일의 내용을 문자열로 가져오기
$filename = "/usr/local/something.txt";
$fd = fopen ($filename, "r");
$contents = fread ($fd, 파일의크기 ($filename));
fclose ($fd);

참조 fwrite(), fopen(),
fsockopen(), popen(),
fgets(), fgetss(),
fscanf(), file(), and
fpassthru().

이전 | 위로 | 다음
fputs | 처음으로 | fscanf


fscanf

(PHP 4 >= 4.0.1, PHP 5)

fscanf -- 형식에 따라서 파일로 부터 분석하여 입력하기

Description

mixed fscanf ( int $handle, string $format [, string $ var1 ] )

fscanf()는 sscanf()과 비슷하지만, 내용을 파일로부터 가져온다는 것이 다릅니다. handle과 함께 일련의 format으로 입력내용을 바꾸어 줍니다. 이 함수에 두개의 매개변수만 사용된다면 배열 형식의 값으로 변환되어 반환됩니다. 그렇지 않은 경우에는 선택적인 매개변수를 사용하지 않으면 이 함수는 할당된 값을 숫자로 반환합니다. 선택적인 매개변수는 반드시 passed by reference여야 합니다.

예 561. fscanf()예

$fp = fopen ("users.txt","r");
while ($userinfo = fscanf ($fp, "%s\t%s\t%s\n")) {
    list ($name, $profession, $countrycode) = $userinfo;
    //... do something with the values
}
fclose($fp);

예 562. users.txt

javier  argonaut        pe
hiroshi sculptor        jp
robert  slacker us
luigi   florist it

참조 fread(), fgets(),
fgetss(), sscanf(),
printf(), and sprintf().

이전 | 위로 | 다음
fread | 처음으로 | fseek


fseek

(PHP 4, PHP 5)

fseek -- 파일 포인터에서 찾기

Description

int fseek ( int $fp, int $offset [, int $ whence ] )

fp에 의해 참조되는 파일을 파일 위치 측정자로 설정합니다. 파일의 시작위치에서부터 바이트단위로 측정되는 새로운위치는 아래와 같이 정의된 whence로부터 나열이 된 위치에 offset을 추가하여 얻어집니다
SEEK_SET - 위치를 offset바이트와 같게 합니다.
SEEK_CUR - 현재 위치에 offset을 더하여 위치를 정합니다.
SEEK_END - 파일의 끝에 offset을 더하여 위치를 정합니다.

만약에whence 가 정해지지 않았다면 SEEK_SET으로 가정이 됩니다.

성공하면 0을 반환하고 그렇지 않으면 1을 반환합니다. 이전에 EOF를 찾은 것은 에러에 영향을 주지 않습니다

만약에 "http://" or "ftp://" 형식을 사용한다면 fopen()에 의해 반환되는 파일포인터 상에서 사용되지 않을 것입니다

참고: whence인수는 PHP 4.0 RC1 이후에 추가되었습니다.

참조 ftell() and rewind().

이전 | 위로 | 다음
fscanf | 처음으로 | fstat


fstat

(PHP 4, PHP 5)

fstat -- 오픈 파일 포인터를 사용하는 파일에 대한 정보 가져오기

Description

array fstat ( int $fp )

파일 포인터 fp에 의해서 열려진 파일의 정보를 모읍니다.Gathers the statistics of the file opened by the file 이 함수는 filename대신에 오픈 파일 포인터위에서 동작한다는 것을 제외하고는 stat()과 비슷합니다.

다음의 요소들과 함께 파일의 통계자료를 배열로 반환합니다:

  1. 장치(device)
  2. 아이노드
  3. 링크의 갯수
  4. 소유자의 user id
  5. 소유자의 group id
  6. 아이노드 장치(device)가 있으면 장치(device) 형태*
  7. 바이트단위 크기
  8. 마지막 접근시간
  9. 마지막 수정된 시간
  10. 마지막 바뀐 시간
  11. 파일 시스템 입출력(I/O) blocksize*
  12. 할당된 block의 수
* - st_blksize 형태를 지원하는 시스템에만 유효합니다--다른 시스템 (다시 말해서 윈도우즈같은)은 -1을 반환합니다

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세히 알고 싶으면 clearstatcache()참조하세요

이전 | 위로 | 다음
fseek | 처음으로 | ftell


ftell

(PHP 4, PHP 5)

ftell -- 파일포인터의 읽기/쓰기 위치 말하기

Description

int ftell ( int $fp )

fp에 의해 참조되는 파일의 위치를 반환합니다. 다시 말해서 상쇄된 결과가 파일 스트림안으로 들어갑니다

에러가 발생하면 FALSE를 반환합니다.

파일 포인터는 반드시 유효한 것이어야 하고 fopen()이나 popen()에 의해 성공적으로 열려진 파일을 가리켜야 합니다.

참조fopen(), popen(), fseek() and rewind().

이전 | 위로 | 다음
fstat | 처음으로 | ftruncate


ftruncate

(PHP 4, PHP 5)

ftruncate -- 주어진 길이로 잘라내기

Description

int ftruncate ( int $fp, int $size )

파일포인터와 fp를 가져옵니다. 그리고 파일을 길이, 크기로 잘라냅니다. 이 함수는 성공하면 TRUE, 실패하면 FALSE를 반환합니다

이전 | 위로 | 다음
ftell | 처음으로 | fwrite


fwrite

(PHP 4, PHP 5)

fwrite -- Binary-safe 파일 쓰기

Description

int fwrite ( int $fp, string $string [, int $ length ] )

fwrite()는 fp에 의해 지정이 되는 파일 스트림에 string의 내용을 기록합니다. length인수가 주어지면 length바이트가 기록이 되거나 string의 끝에 도달하거나 먼저 끝나는 것에 의해 기록하는 것을 멈춥니다.

주의할 것은 length인수가 주어지면, magic_quotes_runtime설정옵션은 무시가 되고 슬래시는 string에서 제거되지 않게됩니다.

참조fread(), fopen(),
fsockopen(), popen(), and
fputs().

이전 | 위로 | 다음
ftruncate | 처음으로 | glob


glob

(PHP 4 >= 4.3.0, PHP 5)

glob -- Find pathnames matching a pattern

설명

array glob ( string $pattern [, int $flags] )

The glob() function searches for all the pathnames matching pattern according to the rules used by the libc glob() function, which is similar to the rules used by common shells.

매개변수

pattern

The pattern. No tilde expansion or parameter substitution is done.

flags

Valid flags:

  • GLOB_MARK - Adds a slash to each item returned
  • GLOB_NOSORT - Return files as they appear in the directory (no sorting)
  • GLOB_NOCHECK - Return the search pattern if no files matching it were found
  • GLOB_NOESCAPE - Backslashes do not quote metacharacters
  • GLOB_BRACE - Expands {a,b,c} to match 'a', 'b', or 'c'
  • GLOB_ONLYDIR - Return only directory entries which match the pattern
  • GLOB_ERR - Stop on read errors (like unreadable directories), by default errors are ignored.

반환값

Returns an array containing the matched files/directories, an empty array if no file matched or FALSE on error.

변경 기록

버전 | 설명
5.1.0 | GLOB_ERR was added
4.3.3 | GLOB_ONLYDIR became available on Windows and other systems not using the GNU C library

예제

예 563. Convenient way how glob() can replace opendir() and friends.

<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename size " . filesize($filename) . "\n";
}
?>

위 예제의 출력 예:

funclist.txt size 44686
funcsummary.txt size 267625
quickref.txt size 137820

주의

참고: 이 함수는 원격 파일을 다루지 못합니다. 파일은 서버 파일시스템을 통해서 사용 가능해야만 합니다.

참고: This function isn't available on some systems (e.g. old Sun OS).

참고: The GLOB_BRACE flag is not available on some non GNU systems, like Solaris.

참고

opendir()
readdir()
closedir()
fnmatch()

이전 | 위로 | 다음
fwrite | 처음으로 | is_dir


is_dir

(PHP 4, PHP 5)

is_dir -- filename 이 디렉토리인지 아닌지 이야기하기

Description

bool is_dir ( string $filename )

filename이 존재하고 디렉토리이면 TRUE를 반환합니다.

이 함수의 실행결과는 캐시가 됩니다. 좀더 자세한 내용을 알고 싶으면 clearstatcache()를 보세요

참조is_file()그리고 is_link().

이전 | 위로 | 다음
glob | 처음으로 | is_executable


is_executable

(PHP 4, PHP 5)

is_executable -- filename이 실행가능한 것인지 아닌지 이야기하기

Description

bool is_executable ( string $filename )

filename이 존재하고, 실행가능한 것이면 TRUE를 반환합니다

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶으면 clearstatcache()를 보세요

참조 is_file() 그리고 is_link().

이전 | 위로 | 다음
is_dir | 처음으로 | is_file


is_file

(PHP 4, PHP 5)

is_file -- filename이 보통 파일인지 아닌지 이야기하기

Description

bool is_file ( string $filename )

filename이 존재하고, 정상적인 보통의 파일이라면(regular) TRUE를 반환

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶으면 clearstatcache()를 보세요.

참조is_dir() 그리고 is_link().

이전 | 위로 | 다음
is_executable | 처음으로 | is_link


is_link

(PHP 4, PHP 5)

is_link -- filename이 심볼릭 링크인지 아닌지 이야기하기

Description

bool is_link ( string $filename )

filename이 존재하고 심볼릭링크된 파일이라면 TRUE

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶으면 clearstatcache()를 보세요.

참조 is_dir() 그리고 is_file().

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다.

이전 | 위로 | 다음
is_file | 처음으로 | is_readable


is_readable

(PHP 4, PHP 5)

is_readable -- filename이 읽기 가능한 것인지 아닌지 이야기하기

Description

bool is_readable ( string $filename )

filename이 존재하고 읽기 가능한 것이면 TRUE를 반환합니다

웹 서버가 자주 'nobody' 등으로 실행될 때 PHP는 파일에 접근할 때 사용자 아이디로 접근할 수가 있다는 것을 명심하세요.. 안전모드의 한계는 계정으로 받아들여지지 않는다는 것입니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶으면 clearstatcache() 를 보세요

참조is_writable().

이전 | 위로 | 다음
is_link | 처음으로 | is_uploaded_file


is_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

is_uploaded_file -- file이 HTTP POST를 통해 업로드된 것인지 아닌지 이야기하기

Description

bool is_uploaded_file ( string $filename )

이 함수는 PHP 3 에서는 3.0.16 이후, PHP 4 에서는 4.0.2 이후 버전부터 사용이 가능합니다..

HTTP POST를 통해 업로드되어 파일의 이름이 filename에 의해 붙여진 것이면 TRUE를 반환합니다. 악의적인 사용자가 동작하지 말아야할 파일에서 동작하는 스크립트를 사용하려는 트릭을 쓰지 못하도록 하는데 유용합니다.--예를 들자면, /etc/passwd같은 것입니다.

업로드된 파일에 전혀 손대지 않고 사용자나 같은 시스템내의 다른 사람에게 조차도 업로드된 파일의 내용을 감출수가 있는 어떤 기회라도 있다면 이런식으로 체크하는것은 특히 중요합니다.

참조move_uploaded_file(), 그리고 단순한 사용예를 위해서 Handling file uploads부분

이전 | 위로 | 다음
is_readable | 처음으로 | is_writable


is_writable

(PHP 4, PHP 5)

is_writable -- filename이 쓰기가능한 것인지 아닌지 이야기하기

Description

bool is_writable ( string $filename )

filename이 존재하고 쓰기가능한 것이면 TRUE를 반환합니다. filename의 인수는 디렉토리가 쓰기가능한 것일때 디렉토리이름인지 체크할 수 있도록 합니다.

웹 서버가 'nobody' 등으로 실행이 될때 PHP는 사용자 아이디로 파일에 접근하려고 할 수 있다는 것을 명심하세요. 안전모드의 한계는 계정이 받아들여지지 않는다는 것입니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶으면 clearstatcache()를 보세요

참조is_readable().

이전 | 위로 | 다음
is_uploaded_file | 처음으로 | is_writeable


is_writeable

(PHP 4, PHP 5)

is_writeable -- Alias of is_writable()

설명

이 함수는 다음 함수의 alias입니다: is_writable().

이전 | 위로 | 다음
is_writable | 처음으로 | lchgrp


link

(PHP 4, PHP 5)

link -- hard link 만들기

Description

int link ( string $target, string $link )

link() hard link를 만듭니다.

참조 symlink()soft links를 만듭니다. 그리고linkinfo()와 함께 수행되는readlink()

참고: 이 함수는 윈도우즈에서 동작하지 않습니다.

이전 | 위로 | 다음
lchown | 처음으로 | linkinfo


linkinfo

(PHP 4, PHP 5)

linkinfo -- 링크 정보 가져오기

Description

int linkinfo ( string $path )

linkinfo()는 마지막 시스템 호출에 의해서 반환이 되는 유닉스 C stat 구조체입니다. 이 함수는 링크(path에 의해 지정된)가 실제로 있는지 검증하는데 사용이 되곤 합니다. (stat.h에 매크로 정의된 S_ISLINK 와 같은 방법을 사용합니다.) This 0을 반환하거나 실패시 FALSE를 반환합니다.

참조symlink(), link(), 그리고readlink().

참고: 이 함수는 윈도우즈에서 동작하지 않습니다.

이전 | 위로 | 다음
link | 처음으로 | lstat


lstat

(PHP 4, PHP 5)

lstat -- 파일이나 심볼릭 링크에 관한 정보를 제공

Description

array lstat ( string $filename )

Gathers the statistics of the file or symbolic link named by filename에 의해 이름이 붙은 파일이나 심볼릭 링크에 관한 통계자료를 모읍니다. 이 함수는 filename매개변수가 심볼릭 링크면 심볼릭 링크가 가리키는 파일의 상태가 아니라 심볼릭 링크의 상태가 반환되는 것을 제외하면 stat()함수와 같습니다.

파일의 통계자료가 아래와 같은 요소들로 배열로 반환됩니다:

  1. 장치(device)
  2. 아이노드(inode)
  3. 아이노드 보호 모드(inode protection mode)
  4. 링크의 갯수
  5. 소유자의 사용자 아이디
  6. 소유자의 그룹 아이디
  7. 아이노드 장치(inode device)라면 장치의 타입(device type) *
  8. 바이트단위의 크기
  9. 최종 접속 시간
  10. 최종 수정 시간
  11. 최종 변경 시간
  12. 파일시스템 입출력(filesystem I/O)시의 블록 크기 *
  13. 할당된 블록의 수
* - st_blksize type을 지원하는 시스템에만 유효합니다 -- 다른 시스템들(예를 들어 윈도우즈 같은) 시스템에서는 -1 을 반환합니다.

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶다면 clearstatcache()을 보십시오.

이전 | 위로 | 다음
linkinfo | 처음으로 | mkdir


mkdir

(PHP 4, PHP 5)

mkdir -- 디렉토리 만들기

Description

int mkdir ( string $pathname, int $mode )

pathname에 명기된 이름으로 디렉토리 만들기

모드를 명기하는데 8진수를 사용하려고 할 경우에 주의할 것은 앞에 0이 붙어야 한다는 것입니다.

mkdir ("/path/to/my/dir", 0700);

성공하면 TRUE, 실패하면 FALSE를 반환합니다.

참조rmdir().

이전 | 위로 | 다음
lstat | 처음으로 | move_uploaded_file


move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

move_uploaded_file -- 업로드된 파일을 다른곳으로 이동하기

Description

bool move_uploaded_file ( string $filename, string $destination )

이 함수는 PHP 3 에서는 3.0.16 이후, PHP 4 에서는 4.0.2 이후 버전부터 사용할 수 있습니다.

이 함수는 filename에 의해서 지정된 파일이 PHP의 HTTP POST 파일 업로드 메카니즘을 통해서 업로드된 파일인지 확인합니다. 파일이 유효한 것일때 destination에 주어진 filename으로 이동이 됩니다

filename이 유효한 것이 아니면 아무 일도 발생하지 않습니다. 그리고 move_uploaded_file()는 FALSE를 반환합니다.

filename은 유효하나 어떤 이유가 있어서 이동할 수가 없을 때 아무런 일도 발생하지 않습니다. 그리고 move_uploaded_file()은 FALSE를 반환합니다. 덧붙여서 경고문이 보여집니다.

이런 체크방법은 파일의내용을 이용자, 같은 시스템내의 다른 사람에게 파일을 손대지 않고 파일의 내용을 감출 수 있는 어떤 기회가 있다면 특별히 더욱 중요합니다.

참조 is_uploaded_file(), 그리고 간단한 사용법 예를 위한 Handling file uploads부분.

이전 | 위로 | 다음
mkdir | 처음으로 | parse_ini_file


parse_ini_file

(PHP 4, PHP 5)

parse_ini_file -- Parse a configuration file

설명

array parse_ini_file ( string $filename [, bool $process_sections] )

parse_ini_file() loads in the ini file specified in filename, and returns the settings in it in an associative array.

The structure of the ini file is the same as the php.ini's.

매개변수

filename

The filename of the ini file being parsed.

process_sections

By setting the last process_sections parameter to TRUE, you get a multidimensional array, with the section names and settings included. The default for process_sections is FALSE

반환값

The settings are returned as an associative array.

변경 기록

버전 | 설명
5.2.4 | Keys and section names consisting of numbers are now evaluated as PHP integers thus numbers starting by 0 are evaluated as octals and numbers starting by 0x are evaluated as hexadecimals.
5.0.0 | Values enclosed in double quotes can contain new lines.
4.2.1 | This function is now affected by 안전 모드 and open_basedir.

예제

예 564. Contents of sample.ini

; This is a sample configuration file
; Comments start with ';', as in php.ini

[first_section]
one = 1
five = 5
animal = BIRD

[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"

예 565. parse_ini_file() example

Constants may also be parsed in the ini file so if you define a constant as an ini value before running parse_ini_file(), it will be integrated into the results. Only ini values are evaluated. For example:

<?php

define('BIRD', 'Dodo bird');

// Parse without sections
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);

// Parse with sections
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);

?>

위 예제의 출력 예:

Array
(
    [one] => 1
    [five] => 5
    [animal] => Dodo bird
    [path] => /usr/local/bin
    [URL] => http://www.example.com/~username
)
Array
(
    [first_section] => Array
        (
            [one] => 1
            [five] => 5
            [animal] = Dodo bird
        )

    [second_section] => Array
        (
            [path] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

)

주의

참고: This function has nothing to do with the php.ini file. It is already processed, the time you run your script. This function can be used to read in your own application's configuration files.

참고: If a value in the ini file contains any non-alphanumeric characters it needs to be enclosed in double-quotes (").

참고: There are reserved words which must not be used as keys for ini files. These include: null, yes, no, true, and false. Values null, no and false results in "", yes and true results in "1". Characters {}|&~![()" must not be used anywhere in the key and have a special meaning in the value.

이전 | 위로 | 다음
move_uploaded_file | 처음으로 | pathinfo


pathinfo

(PHP 4 >= 4.0.3, PHP 5)

pathinfo -- Returns information about a file path

설명

mixed pathinfo ( string $path [, int $options] )

pathinfo() returns an associative array containing information about path.

매개변수

path

The path being checked.

options

You can specify which elements are returned with optional parameter options. It composes from PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION and PATHINFO_FILENAME. It defaults to return all elements.

반환값

The following associative array elements are returned: dirname, basename extension (if any), and filename.

If options is used, this function will return a string if not all elements are requested.

변경 기록

버전 | 설명
5.2.0 | The PATHINFO_FILENAME constant was added.

예제

예 566. pathinfo() Example

<?php
$path_parts = pathinfo('/www/htdocs/index.html');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>

위 예제의 출력:

/www/htdocs
index.html
html
index

주의

참고: For information on retrieving the current path info, read the section on predefined reserved variables.

참고

dirname()
basename()
parse_url()
realpath()

이전 | 위로 | 다음
parse_ini_file | 처음으로 | pclose


pclose

(PHP 4, PHP 5)

pclose -- 진행되는 파일 포인터 닫기

Description

int pclose ( int $fp )

popen()에 의해 열려진 파일 포인터를 파이프로 닫기.

파일 포인터는 유효한 것이어야 하고 popen()으로 성공적으로 호출되어 반환된 것이어야 합니다.

실행된 프로세스의 결과통계를 반환합니다.

참조popen().

이전 | 위로 | 다음
pathinfo | 처음으로 | popen


popen

(PHP 4, PHP 5)

popen -- 진행되는 파일 포인터를 열기

Description

int popen ( string $command, string $mode )

파이프를 주어진 명령으로 명령을 포크함으로 실행되는 프로세스로 열어줍니다.

fopen()에 의해 반환되는 파일 포인터와 같지만, 단방향(읽기나 쓰기 둘중에 하나만 사용할 수 있는)이고 pclose()로 닫혀야만 한다는 점이 다릅니다. 이 포인터는 fgets(), fgetss(), fputs()과 함께 사용할 수 있습니다.

에러가 발생하면 FALSE를 반환합니다.

$fp = popen ("/bin/ls", "r");

참조pclose().

이전 | 위로 | 다음
pclose | 처음으로 | readfile


readfile

(PHP 4, PHP 5)

readfile -- 파일을 출력합니다

Description

int readfile ( string $filename [, int $ use_include_path ] )

파일을 읽어서 일반출력으로 내보냅니다.

파일에서 읽은 바이트수를 반환합니다. 에러가 발생하면 FALSE를 반환하고 함수가 @readfile로 반환되지 않는 한 에러 메시지가 프린트 됩니다

filename이 "http://"로 시작이 되면 (자동반응이 아닌 경우에), HTTP 1.0 은 지정된 서버로 연결이 됩니다. 응답된 텍스트는 표준 출력으로 쓰여집니다.

디렉토리에 슬래쉬를 포함시켜서 HTTP가 리다이렉트 되지 않도록 하세요.

filename이 "ftp://"로 시작이 되면 (자동반응이 아닌 경우에), ftp는 지정된 서버로 연결이 되고 요청된 파일은 표준 출력으로 쓰여집니다. 서버가 Passive 모드를 지원하지 않으면 이것은 실행될 수 없습니다.

filename이 이와 같은 문자열로 시작이 되지 않는다면 파일이 파일 시스템에서 열리고 내용은 표준 출력으로 쓰여집니다.

include_path에서 파일을 찾고 싶으면 두번째 매개변수를 "1"로 설정할 수 도 있습니다.

참조fpassthru(), file(), fopen(), include(), require(), virtual().

이전 | 위로 | 다음
popen | 처음으로 | readlink


readlink

(PHP 4, PHP 5)

readlink -- symbolic link의 target 반환

Description

string readlink ( string $path )

readlink()는 C에서의 readlink 함수와 같은 일을 수행합니다. symbolic link의 경로를 반환하거나 실패시 0 을 반환합니다.

참조symlink(), readlink() 그리고linkinfo().

참고: 윈도우즈에서 동작하지 않습니다.

이전 | 위로 | 다음
readfile | 처음으로 | realpath


realpath

(PHP 4, PHP 5)

realpath -- 표준화된 절대 경로명을 반환합니다

Description

string realpath ( string $path )

realpath()는 path로 입력된 경로에서 모든 심볼릭 링크와 '/./', '/../'로 참조된 경로 그리고 그 외의 '/' 을 확장해서 표준화된 절대 경로명을 반환합니다. 이렇게 해서 나온 경로명은 심볼릭 일크와 '/./' 또는 '/../' 등을 포함하고 있지 않습니다.

예 567. realpath()예문

$real_path = realpath ("../../index.php");

이전 | 위로 | 다음
readlink | 처음으로 | rename


rename

(PHP 4, PHP 5, PECL zip:1.1.0-1.4.1)

rename -- 파일을 새 이름으로 고치기

Description

int rename ( string $oldname, string $newname )

oldname을 newname으로 다시 이름 붙이고자 할 때.

성공하면 TRUE, 실패하면 FALSE를 반환합니다.

이전 | 위로 | 다음
realpath | 처음으로 | rewind


rewind

(PHP 4, PHP 5)

rewind -- 파일포인터의 위치를 되돌립니다(rewind).

Description

int rewind ( int $fp )

fp의 파일 위치 측정자를 파일 스트림의 시작부분에 위치하도록 설정합니다.

에러가 발생하면 0을 반환합니다.

파일 포인터는 유효한 것이어야 하고 fopen()에 의해 성공적으로 열려진 파일을 가리켜야 합니다.

참조fseek()그리고ftell().

이전 | 위로 | 다음
rename | 처음으로 | rmdir


rmdir

(PHP 4, PHP 5)

rmdir -- 디렉토리 제거하기

Description

int rmdir ( string $dirname )

pathname에 의해 이름이 붙은 디렉토리를 제거하려고 할때 디렉토리는 비어 있어야 하고 관련 퍼미션은 이것이 실행될 수 있도록 허가 되어 있어야 합니다 .

에러가 발생하면 0을 반환합니다.

참조: mkdir().

이전 | 위로 | 다음
rewind | 처음으로 | set_file_buffer


set_file_buffer

(PHP 4, PHP 5)

set_file_buffer -- 주어진 파일 포인터에 파일 버퍼링 설정하기

Description

int set_file_buffer ( int $fp, int $buffer )

출력시에 사용되는fwrite()는 보통 8K로 버퍼링 됩니다. 이것은 하나의 파일에 같은 출력 스트림에 쓰려고 하는 두개의 프로세스가 존재한다면, 각각은 8K의 데이터를 버퍼에 저장한후 다른 하나가 쓸 수 있도록 잠시 멈춘다는 의미입니다. set_file_buffer()는 fp가 주어진 파일 포인터 상에 buffer바이트 버퍼링 쓰기작업을 수행할 수 있도록 설정합니다 만약에 buffer가 0 이면 쓰기작업은 버퍼에 저장되지 않습니다. 이것은fwrite()로 수행하는 모든 쓰기가 다른 프로세스에서 출력 스트림에 기록하려는 것을 허용하기 전에 완료되도록 합니다.

The function returns 0 on success, or EOF if the request cannot be honored.

아래의 예는 어떻게 set_file_buffer()를 사용해서 버퍼되지 않는 스트림을 만드는 지 보여줍니다.

예 568. set_file_buffer()예

$fp=fopen($file, "w");
if($fp){
  set_file_buffer($fp, 0);
  fputs($fp, $output);
  fclose($fp);
}

참조fopen(), fwrite().

이전 | 위로 | 다음
rmdir | 처음으로 | stat


stat

(PHP 4, PHP 5, PECL maxdb:7.5.00.24-7.6.00.38)

stat -- file에 대한 정보 제공

Description

array stat ( string $filename )

filename에 의해 이름이 붙은 파일에 대한 통계자료 모으기.

다음의 요소대로 파일에 대한 통계를 배열로 반환합니다.:

  1. 장치(device)
  2. 아이노드(inode)
  3. 아이노드 보호 모드(inode protection mode)
  4. 링크의 갯수
  5. 소유자의 사용자 아이디
  6. 소유자의 그룹 아이디
  7. 아이노드 장치(inode device)이면 장치 타입(device type) *
  8. 바이트 단위 크기
  9. 최종 접속 시간
  10. 최종 수정 시간
  11. 최종 변경 시간
  12. 파일시스템 입출력(filesystem I/O)시의 블록크기 *
  13. 할당된 블록의 수
* - st_blksize type을 지원하는 시스템에만 유효합니다--다른 시스템 (예를 들어 윈도우즈 같은)에서는 -1 을 반환합니다

이 함수의 실행결과는 캐시가 됩니다. 좀 더 자세한 내용을 알고 싶다면 clearstatcache()을 보십시오.

이전 | 위로 | 다음
set_file_buffer | 처음으로 | symlink


symlink

(PHP 4, PHP 5)

symlink -- 심볼릭 링크 만들기

Description

int symlink ( string $target, string $link )

symlink()는 특정한 이름의 link로 있는 target에서 심볼릭 링크를 만듭니다.

참조 하드링크를 만드는link(), 그리고 linkinfo()와 같이 있는readlink().

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다.

이전 | 위로 | 다음
stat | 처음으로 | tempnam


tempnam

(PHP 4, PHP 5)

tempnam -- 유일한 파일 이름 만들기

Description

string tempnam ( string $dir, string $prefix )

특정 디렉토리에서 유일한 임시 파일이름을 만듭니다. 디렉토리가 존재하지 않으면 tempnam()은 시스템의 임시 디렉토리안에 파일 이름을 만듭니다.

tempnam()함수의 하는 일은 시스템 의존적입니다. 윈도우즈에서 TMP 환경변수는 dir매개변수를 뛰어넘고, 리눅스에서 TMPDIR 환경변수가 존재하고 있는 것을 가리키고 있다면 SVR4가 항상 dir 매개변수를 사용하려고 하는 동안에 앞서서 TMPDIR 환경변수가 실행됩니다. 미심쩍은 부분이 있다면 tempnam(3) 함수부분의 시스템 문서를 참고 하십시오.

새로운 임시 파일이름이나 널 문자열을 반환합니다.

예 569. tempnam()예문

$tmpfname = tempnam ("/tmp", "FOO");

참고: 이 함수는 4.0.3에서 동작이 변경되었습닏. 임시 파일은 문자열이 만들어지고 그 문자열이 파일을 생성하려고 하는 중간에 파일이 파일 시스템에 보여져야 하는 위치에서 진행상태를 나타내지 않습니다.

참조 tmpfile().

이전 | 위로 | 다음
symlink | 처음으로 | tmpfile


tmpfile

(PHP 4, PHP 5)

tmpfile -- 임시 파일 만들기

Description

int tmpfile ( void )

Creates a temporary file with an unique name in write mode, returning a file handle similar to the one returned by fopen()에 의해 반환된것과 비슷한 파일핸들을 반환하며 쓰기모드에서 유일한 임시파일을 생성합니다. 이 파일은 스크립트가 종료되거나 닫혔을때 (fclose()을 사용합니다) 자동으로 제거됩니다.

자세히 알아보려면 stdio.h 헤더파일 같은 tmpfile(3)함수의 시스템 문서를 살펴 보십시오

참조 tempnam().

이전 | 위로 | 다음
tempnam | 처음으로 | touch


touch

(PHP 4, PHP 5)

touch -- 파일의 수정시간을 설정합니다

Description

int touch ( string $filename [, int $ time ] )

filename 에 의해 이름붙여진 file의 수정시간을 주어진 시간으로 설정하려고 할때 사용합니다. 시간을 옵션으로 설정하지 않으면 현재 시간을 사용합니다.

파일이 존재하지 않으면 파일을 만듭니다.

성공하면 TRUE 를 반환하고 그렇지 않으면 FALSE를 반환합니다.

예 570. touch()예문

if (touch ($FileName)) {
    print "$FileName 은 오늘 날짜와 시간으로 변경되었습니다.";
} else {
    print "죄송합니다. $FileName의 수정시간을 바꾸지 못했습니다.";
}

이전 | 위로 | 다음
tmpfile | 처음으로 | umask


umask

(PHP 4, PHP 5)

umask -- 현재의 umask를 변경하기

Description

int umask ( int $mask )

umask()는 PHP의 umask를 mask & 0777로 바꾸고 이전의 umask를 반환합니다. PHP가 서버 모듈로 사용될 때 umask는 매 요청(request)가 끝날때 마다 저장이 됩니다.

인수가 없는 umask()는 단순히 현재의 umask를 반환합니다.

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다.

이전 | 위로 | 다음
touch | 처음으로 | unlink


unlink

(PHP 4, PHP 5)

unlink -- 파일을 삭제하기

Description

int unlink ( string $filename )

filename을 삭제합니다. Unix C의 unlink() 함수와 비슷합니다.

0 이나 FALSE를 반환합니다.

참조 디렉토리를 제거하는데 rmdir()

참고: 이 함수는 윈도우즈에서는 동작하지 않습니다.

이전 | 위로 | 다음
umask | 처음으로 | XLII. Filter Functions


Forms Data Format Functions

이전 VI. 함수 레퍼런스 다음

XXXVIII. Forms Data Format Functions

소개

Forms Data Format (FDF) is a format for handling forms within PDF documents. You should read the documentation at » http://partners.adobe.com/asn/acrobat/forms.jsp for more information on what FDF is and how it is used in general.

The general idea of FDF is similar to HTML forms. The difference is basically the format how data is transmitted to the server when the submit button is pressed (this is actually the Form Data Format) and the format of the form itself (which is the Portable Document Format, PDF). Processing the FDF data is one of the features provided by the fdf functions. But there is more. One may as well take an existing PDF form and populated the input fields with data without modifying the form itself. In such a case one would create a FDF document (fdf_create()) set the values of each input field (fdf_set_value()) and associate it with a PDF form (fdf_set_file()). Finally it has to be sent to the browser with MimeType application/vnd.fdf. The Acrobat reader plugin of your browser recognizes the MimeType, reads the associated PDF form and fills in the data from the FDF document.

If you look at an FDF-document with a text editor you will find a catalogue object with the name FDF. Such an object may contain a number of entries like Fields, F, Status etc.. The most commonly used entries are Fields which points to a list of input fields, and F which contains the filename of the PDF-document this data belongs to. Those entries are referred to in the FDF documentation as /F-Key or /Status-Key. Modifying this entries is done by functions like fdf_set_file() and fdf_set_status(). Fields are modified with fdf_set_value(), fdf_set_opt() etc..

요구 조건

You need the FDF toolkit SDK available from » http://partners.adobe.com/asn/acrobat/forms.jsp. As of PHP 4.3.0 you need at least SDK version 5.0. The FDF toolkit library is available in binary form only, platforms supported by Adobe are Win32, Linux, Solaris and AIX.

설치

You must compile PHP with --with-fdftk[=DIR].

참고: If you run into problems configuring PHP with fdftk support, check whether the header file fdftk.h and the library libfdftk.so are at the right place. The configure script supports both the directory structure of the FDF SDK distribution and the usual DIR/include / DIR/lib layout, so you can point it either directly to the unpacked distribution directory or put the header file and the appropriate library for your platform into e.g. /usr/local/include and /usr/local/lib and configure with --with-fdftk=/usr/local.

Note to Win32 Users: In order for this extension to work, there are DLL files that must be available to the Windows system PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the systems PATH), it is not recommended. This extension requires the following files to be in the PATH: fdftk.dll

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

fdf

Most fdf functions require a fdf resource as their first parameter. A fdf resource is a handle to an opened fdf file. fdf resources may be obtained using fdf_create(), fdf_open() and fdf_open_string().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

FDFValue (integer)
FDFStatus (integer)
FDFFile (integer)
FDFID (integer)
FDFFf (integer)
FDFSetFf (integer)
FDFClearFf (integer)
FDFFlags (integer)
FDFSetF (integer)
FDFClrF (integer)
FDFAP (integer)
FDFAS (integer)
FDFAction (integer)
FDFAA (integer)
FDFAPRef (integer)
FDFIF (integer)
FDFEnter (integer)
FDFExit (integer)
FDFDown (integer)
FDFUp (integer)
FDFFormat (integer)
FDFValidate (integer)
FDFKeystroke (integer)
FDFCalculate (integer)
FDFNormalAP (integer)
FDFRolloverAP (integer)
FDFDownAP (integer)

예제

The following examples shows just the evaluation of form data.

예 537. Evaluating a FDF document

<?php
// Open fdf from input string provided by the extension
// The pdf form contained several input text fields with the names
// volume, date, comment, publisher, preparer, and two checkboxes
// show_publisher and show_preparer.
$fdf = fdf_open_string($HTTP_FDF_DATA);
$volume = fdf_get_value($fdf, "volume");
echo "The volume field has the value '<b>$volume</b>'<br />";

$date = fdf_get_value($fdf, "date");
echo "The date field has the value '<b>$date</b>'<br />";

$comment = fdf_get_value($fdf, "comment");
echo "The comment field has the value '<b>$comment</b>'<br />";

if (fdf_get_value($fdf, "show_publisher") == "On") {
  $publisher = fdf_get_value($fdf, "publisher");
  echo "The publisher field has the value '<b>$publisher</b>'<br />";
} else
  echo "Publisher shall not be shown.<br />";

if (fdf_get_value($fdf, "show_preparer") == "On") {
  $preparer = fdf_get_value($fdf, "preparer");
  echo "The preparer field has the value '<b>$preparer</b>'<br />";
} else
  echo "Preparer shall not be shown.<br />";
fdf_close($fdf);
?>

차례

fdf_add_doc_javascript -- Adds javascript code to the FDF document
fdf_add_template -- Adds a template into the FDF document
fdf_close -- Close an FDF document
fdf_create -- Create a new FDF document
fdf_enum_values -- Call a user defined function for each document value
fdf_errno -- Return error code for last fdf operation
fdf_error -- Return error description for FDF error code
fdf_get_ap -- Get the appearance of a field
fdf_get_attachment -- Extracts uploaded file embedded in the FDF
fdf_get_encoding -- Get the value of the /Encoding key
fdf_get_file -- Get the value of the /F key
fdf_get_flags -- Gets the flags of a field
fdf_get_opt -- Gets a value from the opt array of a field
fdf_get_status -- Get the value of the /STATUS key
fdf_get_value -- Get the value of a field
fdf_get_version -- Gets version number for FDF API or file
fdf_header -- Sets FDF-specific output headers
fdf_next_field_name -- Get the next field name
fdf_open_string -- Read a FDF document from a string
fdf_open -- Open a FDF document
fdf_remove_item -- Sets target frame for form
fdf_save_string -- Returns the FDF document as a string
fdf_save -- Save a FDF document
fdf_set_ap -- Set the appearance of a field
fdf_set_encoding -- Sets FDF character encoding
fdf_set_file -- Set PDF document to display FDF data in
fdf_set_flags -- Sets a flag of a field
fdf_set_javascript_action -- Sets an javascript action of a field
fdf_set_on_import_javascript -- Adds javascript code to be executed when Acrobat opens the FDF
fdf_set_opt -- Sets an option of a field
fdf_set_status -- Set the value of the /STATUS key
fdf_set_submit_form_action -- Sets a submit form action of a field
fdf_set_target_frame -- Set target frame for form display
fdf_set_value -- Set the value of a field
fdf_set_version -- Sets version number for a FDF file
이전 | 위로 | 다음
fam_suspend_monitor | 처음으로 | fdf_add_doc_javascript


fdf_add_doc_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_add_doc_javascript -- Adds javascript code to the FDF document

설명

bool fdf_add_doc_javascript ( resource $fdf_document, string $script_name, string $script_code )

Adds a script to the FDF, which Acrobat then adds to the doc-level scripts of a document, once the FDF is imported into it.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

script_name

The script name.

script_code

The script code. It is strongly suggested to use \r for linebreaks within the script code.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 538. Adding JavaScript code to a FDF

<?php
$fdf = fdf_create();
fdf_add_doc_javascript($fdf, "PlusOne", "function PlusOne(x)\r{\r  return x+1;\r}\r");
fdf_save($fdf);
?>

will create a FDF like this:

%FDF-1.2
%????
1 0 obj
<<
/FDF << /JavaScript << /Doc [ (PlusOne)(function PlusOne\(x\)\r{\r  return x+1;\r}\r)] >> >>
>>
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

이전 | 위로 | 다음
XXXVIII. Forms Data Format Functions | 처음으로 | fdf_add_template


fdf_add_template

(PHP 4, PHP 5)

fdf_add_template -- Adds a template into the FDF document

설명

bool fdf_add_template ( resource $fdf_document, int $newpage, string $filename, string $template, int $rename )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
fdf_add_doc_javascript | 처음으로 | fdf_close


fdf_close

(PHP 4, PHP 5)

fdf_close -- Close an FDF document

설명

void fdf_close ( resource $fdf_document )

Closes the FDF document.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

반환값

값을 반환하지 않습니다.

참고

fdf_open()

이전 | 위로 | 다음
fdf_add_template | 처음으로 | fdf_create


fdf_create

(PHP 4, PHP 5)

fdf_create -- Create a new FDF document

설명

resource fdf_create ( void )

Creates a new FDF document.

This function is needed if one would like to populate input fields in a PDF document with data.

반환값

Returns a FDF document handle, or FALSE on error.

예제

예 539. Populating a PDF document

<?php
$outfdf = fdf_create();
fdf_set_value($outfdf, "volume", $volume, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

참고

fdf_close()
fdf_save()
fdf_open()

이전 | 위로 | 다음
fdf_close | 처음으로 | fdf_enum_values


fdf_enum_values

(PHP 4 >= 4.3.0, PHP 5)

fdf_enum_values -- Call a user defined function for each document value

설명

bool fdf_enum_values ( resource $fdf_document, callback $function [, mixed $userdata] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
fdf_create | 처음으로 | fdf_errno


fdf_errno

(PHP 4 >= 4.3.0, PHP 5)

fdf_errno -- Return error code for last fdf operation

설명

int fdf_errno ( void )

Gets the error code set by the last FDF function call.

A textual description of the error may be obtained using with fdf_error().

반환값

Returns the error code as an integer, or zero if there was no errors.

참고

fdf_error()

이전 | 위로 | 다음
fdf_enum_values | 처음으로 | fdf_error


fdf_error

(PHP 4 >= 4.3.0, PHP 5)

fdf_error -- Return error description for FDF error code

설명

string fdf_error ( [int $error_code] )

Gets a textual description for the FDF error code given in error_code.

매개변수

error_code

An error code obtained with fdf_errno(). If not provided, this function uses the internal error code set by the last operation.

반환값

Returns the error message as a string, or the string no error if nothing went wrong.

참고

fdf_errno()

이전 | 위로 | 다음
fdf_errno | 처음으로 | fdf_get_ap


fdf_get_ap

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_ap -- Get the appearance of a field

설명

bool fdf_get_ap ( resource $fdf_document, string $field, int $face, string $filename )

Gets the appearance of a field (i.e. the value of the /AP key) and stores it in a file.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field

face

The possible values are FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

The appearance will be stored in this parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
fdf_error | 처음으로 | fdf_get_attachment


fdf_get_attachment

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_attachment -- Extracts uploaded file embedded in the FDF

설명

array fdf_get_attachment ( resource $fdf_document, string $fieldname, string $savepath )

Extracts a file uploaded by means of the "file selection" field fieldname and stores it under savepath.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

savepath

May be the name of a plain file or an existing directory in which the file is to be created under its original name. Any existing file under the same name will be overwritten.

참고: There seems to be no other way to find out the original filename but to store the file using a directory as savepath and check for the basename it was stored under.

반환값

The returned array contains the following fields:

  • path - path were the file got stored
  • size - size of the stored file in bytes
  • type - mimetype if given in the FDF

예제

예 540. Storing an uploaded file

<?php
  $fdf = fdf_open_string($HTTP_FDF_DATA);
  $data = fdf_get_attachment($fdf, "filename", "/tmpdir");
  echo "The uploaded file is stored in $data[path]";
?>

이전 | 위로 | 다음
fdf_get_ap | 처음으로 | fdf_get_encoding


fdf_get_encoding

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_encoding -- Get the value of the /Encoding key

설명

string fdf_get_encoding ( resource $fdf_document )

Gets the value of the /Encoding key.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

반환값

Returns the encoding as a string. An empty string is returned if the default PDFDocEncoding/Unicode scheme is used.

참고

fdf_set_encoding()

이전 | 위로 | 다음
fdf_get_attachment | 처음으로 | fdf_get_file


fdf_get_file

(PHP 4, PHP 5)

fdf_get_file -- Get the value of the /F key

설명

string fdf_get_file ( resource $fdf_document )

Gets the value of the /F key.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

반환값

Returns the key value, as a string.

참고

fdf_set_file()

이전 | 위로 | 다음
fdf_get_encoding | 처음으로 | fdf_get_flags


fdf_get_flags

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_flags -- Gets the flags of a field

설명

int fdf_get_flags ( resource $fdf_document, string $fieldname, int $whichflags )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
fdf_get_file | 처음으로 | fdf_get_opt


fdf_get_opt

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_opt -- Gets a value from the opt array of a field

설명

mixed fdf_get_opt ( resource $fdf_document, string $fieldname [, int $element] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
fdf_get_flags | 처음으로 | fdf_get_status


fdf_get_status

(PHP 4, PHP 5)

fdf_get_status -- Get the value of the /STATUS key

설명

string fdf_get_status ( resource $fdf_document )

Gets the value of the /STATUS key.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

반환값

Returns the key value, as a string.

참고

fdf_set_status()

이전 | 위로 | 다음
fdf_get_opt | 처음으로 | fdf_get_value


fdf_get_value

(PHP 4, PHP 5)

fdf_get_value -- Get the value of a field

설명

mixed fdf_get_value ( resource $fdf_document, string $fieldname [, int $which] )

Gets the value for the requested field.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

which

Elements of an array field can be retrieved by passing this optional parameter, starting at zero. For non-array fields, this parameter will be ignored.

반환값

Returns the field value.

변경 기록

버전 | 설명
4.3.0 | Support for arrays and the which parameter were added.

참고

fdf_set_value()

이전 | 위로 | 다음
fdf_get_status | 처음으로 | fdf_get_version


fdf_get_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_version -- Gets version number for FDF API or file

설명

string fdf_get_version ( [resource $fdf_document] )

Return the FDF version for the given document, or the toolkit API version number if no parameter is given.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

반환값

Returns the version as a string. For the current FDF toolkit 5.0 the API version number is 5.0 and the document version number is either 1.2, 1.3 or 1.4.

참고

fdf_set_version()

이전 | 위로 | 다음
fdf_get_value | 처음으로 | fdf_header


fdf_header

(PHP 4 >= 4.3.0, PHP 5)

fdf_header -- Sets FDF-specific output headers

설명

void fdf_header ( void )

This is a convenience function to set appropriate HTTP headers for FDF output. It sets the Content-type: to application/vnd.fdf.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
fdf_get_version | 처음으로 | fdf_next_field_name


fdf_next_field_name

(PHP 4, PHP 5)

fdf_next_field_name -- Get the next field name

설명

string fdf_next_field_name ( resource $fdf_document [, string $fieldname] )

Gets the name of the field after the given field. This name can be used with several functions.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string. If not given, the first field will be assumed.

반환값

Returns the field name as a string.

예제

예 541. Detecting all fieldnames in a FDF

<?php
$fdf = fdf_open($HTTP_FDF_DATA);
for ($field = fdf_next_field_name($fdf);
    $field != "";
    $field = fdf_next_field_name($fdf, $field)) {
    echo "field: $field\n";
}
?>

참고

fdf_get_value()

이전 | 위로 | 다음
fdf_header | 처음으로 | fdf_open_string


fdf_open_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_open_string -- Read a FDF document from a string

설명

resource fdf_open_string ( string $fdf_data )

Reads form data from a string.

You can use fdf_open_string() together with $HTTP_FDF_DATA to process FDF form input from a remote client.

매개변수

fdf_data

The data as returned from a PDF form or created using fdf_create() and fdf_save_string().

반환값

Returns a FDF document handle, or FALSE on error.

예제

예 542. Accessing the form data

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
/* ... */
fdf_close($fdf);
?>

참고

fdf_open()
fdf_close()
fdf_create()
fdf_save_string()

이전 | 위로 | 다음
fdf_next_field_name | 처음으로 | fdf_open


fdf_open

(PHP 4, PHP 5)

fdf_open -- Open a FDF document

설명

resource fdf_open ( string $filename )

Opens a file with form data.

You can also use fdf_open_string() to process the results of a PDF form POST request.

매개변수

filename

Path to the FDF file. This file must contain the data as returned from a PDF form or created using fdf_create() and fdf_save().

반환값

Returns a FDF document handle, or FALSE on error.

예제

예 543. Accessing the form data

<?php
// Save the FDF data into a temp file
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);

// Open temp file and evaluate data
$fdf = fdf_open("test.fdf");
/* ... */
fdf_close($fdf);
?>

참고

fdf_open_string()
fdf_close()
fdf_create()
fdf_save()

이전 | 위로 | 다음
fdf_open_string | 처음으로 | fdf_remove_item


fdf_remove_item

(PHP 4 >= 4.3.0, PHP 5)

fdf_remove_item -- Sets target frame for form

설명

bool fdf_remove_item ( resource $fdf_document, string $fieldname, int $item )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
fdf_open | 처음으로 | fdf_save_string


fdf_save_string

(PHP 4 >= 4.3.0, PHP 5)

fdf_save_string -- Returns the FDF document as a string

설명

string fdf_save_string ( resource $fdf_document )

Returns the FDF document as a string.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

반환값

Returns the document as a string, or FALSE on error.

예제

예 544. Retrieving FDF as a string

<?php
$fdf = fdf_create();
fdf_set_value($fdf, "foo", "bar");
$str = fdf_save_string($fdf);
fdf_close($fdf);
echo $str;
?>

위 예제의 출력:

%FDF-1.2
%????
1 0 obj
<<
/FDF << /Fields 2 0 R >>
>>
endobj
2 0 obj
[
<< /T (foo)/V (bar)>>
]
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

참고

fdf_open_string()
fdf_close()
fdf_create()
fdf_save()

이전 | 위로 | 다음
fdf_remove_item | 처음으로 | fdf_save


fdf_save

(PHP 4, PHP 5)

fdf_save -- Save a FDF document

설명

bool fdf_save ( resource $fdf_document [, string $filename] )

Saves a FDF document.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

filename

If provided, the resulting FDF will be written in this parameter. Otherwise, this function will write the FDF to the default PHP output stream.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fdf_close()
fdf_create()
fdf_save_string()

이전 | 위로 | 다음
fdf_save_string | 처음으로 | fdf_set_ap


fdf_set_ap

(PHP 4, PHP 5)

fdf_set_ap -- Set the appearance of a field

설명

bool fdf_set_ap ( resource $fdf_document, string $field_name, int $face, string $filename, int $page_number )

Sets the appearance of a field (i.e. the value of the /AP key).

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field_name

face

The possible values FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

page_number

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
fdf_save | 처음으로 | fdf_set_encoding


fdf_set_encoding

(PHP 4 >= 4.0.7, PHP 5)

fdf_set_encoding -- Sets FDF character encoding

설명

bool fdf_set_encoding ( resource $fdf_document, string $encoding )

Sets the character encoding for the FDF document.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

encoding

The encoding name. The following values are supported: "Shift-JIS", "UHC", "GBK" and "BigFive".

An empty string resets the encoding to the default PDFDocEncoding/Unicode scheme.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
fdf_set_ap | 처음으로 | fdf_set_file


fdf_set_file

(PHP 4, PHP 5)

fdf_set_file -- Set PDF document to display FDF data in

설명

bool fdf_set_file ( resource $fdf_document, string $url [, string $target_frame] )

Selects a different PDF document to display the form results in then the form it originated from.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

url

Should be given as an absolute URL.

target_frame

Use this parameter to specify the frame in which the document will be displayed. You can also set the default value for this parameter using fdf_set_target_frame().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 545. Passing FDF data to a second form

<?php
  /* set content type for Adobe FDF */
  fdf_header();

  /* start new fdf */
  $fdf = fdf_create();

  /* set field "foo" to value "bar" */
  fdf_set_value($fdf, "foo", "bar");

  /* tell client to display FDF data using "fdf_form.pdf" */
  fdf_set_file($fdf, "http://www.example.com/fdf_form.pdf");

  /* output fdf */
  fdf_save($fdf);

  /* clean up */
  fdf_close($fdf);
?>

참고

fdf_get_file()
fdf_set_target_frame()

이전 | 위로 | 다음
fdf_set_encoding | 처음으로 | fdf_set_flags


fdf_set_flags

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_flags -- Sets a flag of a field

설명

bool fdf_set_flags ( resource $fdf_document, string $fieldname, int $whichFlags, int $newFlags )

Sets certain flags of the given field.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

whichFlags

newFlags

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fdf_set_opt()

이전 | 위로 | 다음
fdf_set_file | 처음으로 | fdf_set_javascript_action


fdf_set_javascript_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_javascript_action -- Sets an javascript action of a field

설명

bool fdf_set_javascript_action ( resource $fdf_document, string $fieldname, int $trigger, string $script )

Sets a javascript action for the given field.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fdf_set_submit_form_action()

이전 | 위로 | 다음
fdf_set_flags | 처음으로 | fdf_set_on_import_javascript


fdf_set_on_import_javascript

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_on_import_javascript -- Adds javascript code to be executed when Acrobat opens the FDF

설명

bool fdf_set_on_import_javascript ( resource $fdf_document, string $script, bool $before_data_import )
주의

This function is currently not documented; only the argument list is available.

참고

fdf_add_doc_javascript()
fdf_set_javascript_action()

이전 | 위로 | 다음
fdf_set_javascript_action | 처음으로 | fdf_set_opt


fdf_set_opt

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_opt -- Sets an option of a field

설명

bool fdf_set_opt ( resource $fdf_document, string $fieldname, int $element, string $str1, string $str2 )

Sets options of the given field.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

element

str1

str2

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fdf_set_flags()

이전 | 위로 | 다음
fdf_set_on_import_javascript | 처음으로 | fdf_set_status


fdf_set_status

(PHP 4, PHP 5)

fdf_set_status -- Set the value of the /STATUS key

설명

bool fdf_set_status ( resource $fdf_document, string $status )

Sets the value of the /STATUS key. When a client receives a FDF with a status set it will present the value in an alert box.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

status

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fdf_get_status()

이전 | 위로 | 다음
fdf_set_opt | 처음으로 | fdf_set_submit_form_action


fdf_set_submit_form_action

(PHP 4 >= 4.0.2, PHP 5)

fdf_set_submit_form_action -- Sets a submit form action of a field

설명

bool fdf_set_submit_form_action ( resource $fdf_document, string $fieldname, int $trigger, string $script, int $flags )

Sets a submit form action for the given field.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

flags

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fdf_set_javascript_action()

이전 | 위로 | 다음
fdf_set_status | 처음으로 | fdf_set_target_frame


fdf_set_target_frame

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_target_frame -- Set target frame for form display

설명

bool fdf_set_target_frame ( resource $fdf_document, string $frame_name )

Sets the target frame to display a result PDF defined with fdf_save_file() in.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

frame_name

The frame name, as a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fdf_save_file()

이전 | 위로 | 다음
fdf_set_submit_form_action | 처음으로 | fdf_set_value


fdf_set_value

(PHP 4, PHP 5)

fdf_set_value -- Set the value of a field

설명

bool fdf_set_value ( resource $fdf_document, string $fieldname, mixed $value [, int $isName] )

Sets the value for the given field.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

value

This parameter will be stored as a string unless it is an array. In this case all array elements will be stored as a value array.

isName

참고: In older versions of the FDF toolkit last parameter determined if the field value was to be converted to a PDF Name (= 1) or set to a PDF String (= 0).

The value is no longer used in the current toolkit version 5.0. For compatibility reasons it is still supported as an optional parameter beginning with PHP 4.3, but ignored internally.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
4.3.0 | Support for arrays in the value parameter was added.

참고

fdf_get_value()
fdf_remove_item()

이전 | 위로 | 다음
fdf_set_target_frame | 처음으로 | fdf_set_version


fdf_set_version

(PHP 4 >= 4.3.0, PHP 5)

fdf_set_version -- Sets version number for a FDF file

설명

bool fdf_set_version ( resource $fdf_document, string $version )

Sets the FDF version for the given document.

Some features supported by this extension are only available in newer FDF versions.

매개변수

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

version

The version number. For the current FDF toolkit 5.0, this may be either 1.2, 1.3 or 1.4.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fdf_get_version()

이전 | 위로 | 다음
fdf_set_value | 처음으로 | XXXIX. Fileinfo Functions


FriBiDi Functions

이전 VI. 함수 레퍼런스 다음

XLV. FriBiDi Functions

소개

FriBiDi is a free implementation of the » Unicode Bidirectional Algorithm.

요구 조건

You must download and install the » FriBiDi package.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/fribidi.

In order to use these functions you must compile PHP with Fribidi support by using the --with-fribidi[=DIR] configure option.

Windows users will enable php_fribidi.dll inside of php.ini in order to use these functions. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

실행시 설정

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

FRIBIDI_CHARSET_UTF8 (integer)
Unicode
FRIBIDI_CHARSET_8859_6 (integer)
Arabic
FRIBIDI_CHARSET_8859_8 (integer)
Hebrew
FRIBIDI_CHARSET_CP1255 (integer)
Hebrew/Yiddish
FRIBIDI_CHARSET_CP1256 (integer)
Arabic
FRIBIDI_CHARSET_ISIRI_3342 (integer)
Persian
FRIBIDI_CHARSET_CAP_RTL (integer)
Used for test purposes, will treat CAPS as non-English letters
FRIBIDI_RTL (integer)
Right to left
FRIBIDI_LTR (integer)
Left to right
FRIBIDI_AUTO (integer)
Autodetect the base direction

차례

fribidi_log2vis -- Convert a logical string to a visual one
이전 | 위로 | 다음
PDO_FIREBIRD DSN | 처음으로 | fribidi_log2vis


fribidi_log2vis

(PHP 4 >= 4.0.4, PECL fribidi:1.0)

fribidi_log2vis -- Convert a logical string to a visual one

설명

string fribidi_log2vis ( string $str, string $direction, int $charset )

Converts a logical string to a visual one.

매개변수

str

The logical string.

direction

One of FRIBIDI_RTL, FRIBIDI_LTR or FRIBIDI_AUTO.

charset

One of the FRIBIDI_CHARSET_XXX constants.

반환값

Returns the visual string on success, or FALSE on failure.

이전 | 위로 | 다음
XLV. FriBiDi Functions | 처음으로 | XLVI. FrontBase Functions


FTP Functions

이전 VI. 함수 레퍼런스 다음

XLVII. FTP Functions

소개

The functions in this extension implement client access to file servers speaking the File Transfer Protocol (FTP) as defined in » http://www.faqs.org/rfcs/rfc959. This extension is meant for detailed access to an FTP server providing a wide range of control to the executing script. If you only wish to read from or write to a file on an FTP server, consider using the ftp:// wrapper with the filesystem functions which provide a simpler and more intuitive interface.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

In order to use FTP functions with your PHP configuration, you should add the --enable-ftp option when installing PHP 4 or greater or --with-ftp when using PHP 3.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

This extension uses one resource type, which is the link identifier of the FTP connection, returned by ftp_connect() or ftp_ssl_connect().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

See ftp_set_option() for information.

The following constants were introduced in PHP 4.3.0.

FTP_AUTOSEEK (integer)

See ftp_set_option() for information.

FTP_AUTORESUME (integer)

Automatically determine resume position and start position for GET and PUT requests (only works if FTP_AUTOSEEK is enabled)

FTP_FAILED (integer)

Asynchronous transfer has failed

FTP_FINISHED (integer)

Asynchronous transfer has finished

FTP_MOREDATA (integer)

Asynchronous transfer is still active

예제

예 612. FTP example

<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name";
        exit;
    } else {
        echo "Connected to $ftp_server, for user $ftp_user_name";
    }

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

// check upload status
if (!$upload) {
        echo "FTP upload has failed!";
    } else {
        echo "Uploaded $source_file to $ftp_server as $destination_file";
    }

// close the FTP stream
ftp_close($conn_id);
?>

차례

ftp_alloc -- Allocates space for a file to be uploaded
ftp_cdup -- Changes to the parent directory
ftp_chdir -- Changes the current directory on a FTP server
ftp_chmod -- Set permissions on a file via FTP
ftp_close -- Closes an FTP connection
ftp_connect -- Opens an FTP connection
ftp_delete -- Deletes a file on the FTP server
ftp_exec -- Requests execution of a command on the FTP server
ftp_fget -- Downloads a file from the FTP server and saves to an open file
ftp_fput -- Uploads from an open file to the FTP server
ftp_get_option -- Retrieves various runtime behaviours of the current FTP stream
ftp_get -- Downloads a file from the FTP server
ftp_login -- Logs in to an FTP connection
ftp_mdtm -- Returns the last modified time of the given file
ftp_mkdir -- Creates a directory
ftp_nb_continue -- Continues retrieving/sending a file (non-blocking)
ftp_nb_fget -- Retrieves a file from the FTP server and writes it to an open file (non-blocking)
ftp_nb_fput -- Stores a file from an open file to the FTP server (non-blocking)
ftp_nb_get -- Retrieves a file from the FTP server and writes it to a local file (non-blocking)
ftp_nb_put -- Stores a file on the FTP server (non-blocking)
ftp_nlist -- Returns a list of files in the given directory
ftp_pasv -- Turns passive mode on or off
ftp_put -- Uploads a file to the FTP server
ftp_pwd -- Returns the current directory name
ftp_quit -- Alias of ftp_close()
ftp_raw -- Sends an arbitrary command to an FTP server
ftp_rawlist -- Returns a detailed list of files in the given directory
ftp_rename -- Renames a file or a directory on the FTP server
ftp_rmdir -- Removes a directory
ftp_set_option -- Set miscellaneous runtime FTP options
ftp_site -- Sends a SITE command to the server
ftp_size -- Returns the size of the given file
ftp_ssl_connect -- Opens an Secure SSL-FTP connection
ftp_systype -- Returns the system type identifier of the remote FTP server
이전 | 위로 | 다음
fbsql_warnings | 처음으로 | ftp_alloc


ftp_alloc

(PHP 5)

ftp_alloc -- Allocates space for a file to be uploaded

설명

bool ftp_alloc ( resource $ftp_stream, int $filesize [, string &$result] )

Sends an ALLO command to the remote FTP server to allocate space for a file to be uploaded.

참고: Many FTP servers do not support this command. These servers may return a failure code (FALSE) indicating the command is not supported or a success code (TRUE) to indicate that pre-allocation is not necessary and the client should continue as though the operation were successful. Because of this, it may be best to reserve this function for servers which explicitly require preallocation.

매개변수

ftp_stream

The link identifier of the FTP connection.

filezise

The number of bytes to allocate.

return

A textual representation of the servers response will be returned by reference in result if a variable is provided.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 613. ftp_alloc() example

<?php

$file = "/home/user/myfile";

/* connect to the server */
$conn_id = ftp_connect('ftp.example.com');
$login_result = ftp_login($conn_id, 'anonymous', 'user@example.com');

if (ftp_alloc($conn_id, filesize($file), $result)) {
  echo "Space successfully allocated on server.  Sending $file.\n";
  ftp_put($conn_id, '/incomming/myfile', $file, FTP_BINARY);
} else {
  echo "Unable to allocate space on server.  Server said: $result\n";
}

ftp_close($conn_id);

?>

참고

ftp_put()
ftp_fput()

이전 | 위로 | 다음
XLVII. FTP Functions | 처음으로 | ftp_cdup


ftp_cdup

(PHP 4, PHP 5)

ftp_cdup -- Changes to the parent directory

설명

bool ftp_cdup ( resource $ftp_stream )

Changes to the parent directory.

매개변수

ftp_stream

The link identifier of the FTP connection.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 614. ftp_cdup() example

<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// change the current directory to html
ftp_chdir($conn_id, 'html');

echo ftp_pwd($conn_id); // /html

// return to the parent directory
if (ftp_cdup($conn_id)) {
  echo "cdup successful\n";
} else {
  echo "cdup not successful\n";
}

echo ftp_pwd($conn_id); // /

ftp_close($conn_id);
?>

참고

ftp_chdir()
ftp_pwd()

이전 | 위로 | 다음
ftp_alloc | 처음으로 | ftp_chdir


ftp_chdir

(PHP 4, PHP 5)

ftp_chdir -- Changes the current directory on a FTP server

설명

bool ftp_chdir ( resource $ftp_stream, string $directory )

Changes the current directory to the specified one.

매개변수

ftp_stream

The link identifier of the FTP connection.

directory

The target directory.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. If changing directory fails, PHP will also throw a warning.

예제

예 615. ftp_chdir() example

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
    die("FTP connection has failed !");
}

echo "Current directory: " . ftp_pwd($conn_id) . "\n";

// try to change the directory to somedir
if (ftp_chdir($conn_id, "somedir")) {
    echo "Current directory is now: " . ftp_pwd($conn_id) . "\n";
} else {
    echo "Couldn't change directory\n";
}

// close the connection
ftp_close($conn_id);
?>

참고

ftp_cdup()
ftp_pwd()

이전 | 위로 | 다음
ftp_cdup | 처음으로 | ftp_chmod


ftp_chmod

(PHP 5)

ftp_chmod -- Set permissions on a file via FTP

설명

int ftp_chmod ( resource $ftp_stream, int $mode, string $filename )

Sets the permissions on the specified remote file to mode.

매개변수

ftp_stream

The link identifier of the FTP connection.

mode

The new permissions, given as an octal value.

filename

The remote file.

반환값

Returns the new file permissions on success or FALSE on error.

예제

예 616. ftp_chmod() example

<?php
$file = 'public_html/index.php';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to chmod $file to 644
if (ftp_chmod($conn_id, 0644, $file) !== false) {
 echo "$file chmoded successfully to 644\n";
} else {
 echo "could not chmod $file\n";
}

// close the connection
ftp_close($conn_id);
?>

참고

chmod()

이전 | 위로 | 다음
ftp_chdir | 처음으로 | ftp_close


ftp_close

(PHP 4 >= 4.2.0, PHP 5)

ftp_close -- Closes an FTP connection

설명

bool ftp_close ( resource $ftp_stream )

ftp_close() closes the given link identifier and releases the resource.

참고: After calling this function, you can no longer use the FTP connection and must create a new one with ftp_connect().

매개변수

ftp_stream

The link identifier of the FTP connection.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 617. ftp_close() example

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// print the current directory
echo ftp_pwd($conn_id); // /

// close this connection
ftp_close($conn_id);
?>

참고

ftp_connect()

이전 | 위로 | 다음
ftp_chmod | 처음으로 | ftp_connect


ftp_connect

(PHP 4, PHP 5)

ftp_connect -- Opens an FTP connection

설명

resource ftp_connect ( string $host [, int $port [, int $timeout]] )

ftp_connect() opens an FTP connection to the specified host.

매개변수

host

The FTP server address. This parameter shouldn't have any trailing slashes and shouldn't be prefixed with ftp://.

port

This parameter specifies an alternate port to connect to. If it is omitted or set to zero, then the default FTP port, 21, will be used.

timeout

This parameter specifies the timeout for all subsequent network operations. If omitted, the default value is 90 seconds. The timeout can be changed and queried at any time with ftp_set_option() and ftp_get_option().

반환값

Returns a FTP stream on success or FALSE on error.

예제

예 618. ftp_connect() example

<?php

$ftp_server = "ftp.example.com";

// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

?>

변경 기록

버전 | 설명
4.2.0 | timeout was added.

참고

ftp_close()
ftp_ssl_connect()

이전 | 위로 | 다음
ftp_close | 처음으로 | ftp_delete


ftp_delete

(PHP 4, PHP 5)

ftp_delete -- Deletes a file on the FTP server

설명

bool ftp_delete ( resource $ftp_stream, string $path )

ftp_delete() deletes the file specified by path from the FTP server.

매개변수

ftp_stream

The link identifier of the FTP connection.

path

The file to delete.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 619. ftp_delete() example

<?php
$file = 'public_html/old.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to delete $file
if (ftp_delete($conn_id, $file)) {
 echo "$file deleted successful\n";
} else {
 echo "could not delete $file\n";
}

// close the connection
ftp_close($conn_id);
?>

이전 | 위로 | 다음
ftp_connect | 처음으로 | ftp_exec


ftp_exec

(PHP 4 >= 4.0.3, PHP 5)

ftp_exec -- Requests execution of a command on the FTP server

설명

bool ftp_exec ( resource $ftp_stream, string $command )

Sends a SITE EXEC command request to the FTP server.

매개변수

ftp_stream

The link identifier of the FTP connection.

command

The command to execute.

반환값

Returns TRUE if the command was successful (server sent response code: 200); otherwise returns FALSE.

예제

예 620. ftp_exec() example

<?php

// variable initialization
$command = 'ls -al >files.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// execute command
if (ftp_exec($conn_id, $command)) {
    echo "$command executed successfully\n";
} else {
    echo "could not execute $command\n";
}

// close the connection
ftp_close($conn_id);

?>

참고

ftp_raw()

이전 | 위로 | 다음
ftp_delete | 처음으로 | ftp_fget


ftp_fget

(PHP 4, PHP 5)

ftp_fget -- Downloads a file from the FTP server and saves to an open file

설명

bool ftp_fget ( resource $ftp_stream, resource $handle, string $remote_file, int $mode [, int $resumepos] )

ftp_fget() retrieves remote_file from the FTP server, and writes it to the given file pointer.

매개변수

ftp_stream

The link identifier of the FTP connection.

handle

An open file pointer in which we store the data.

remote_file

The remote file path.

mode

The transfer mode. Must be either FTP_ASCII or FTP_BINARY.

resumepos

The position in the remote file to start downloading from.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 621. ftp_fget() example

<?php

// path to remote file
$remote_file = 'somefile.txt';
$local_file = 'localfile.txt';

// open some file to write to
$handle = fopen($local_file, 'w');

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to download $remote_file and save it to $handle
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
 echo "successfully written to $local_file\n";
} else {
 echo "There was a problem while downloading $remote_file to $local_file\n";
}

// close the connection and the file handler
ftp_close($conn_id);
fclose($handle);
?>

변경 기록

버전 | 설명
4.3.0 | resumepos was added.

참고

ftp_get()
ftp_nb_get()
ftp_nb_fget()

이전 | 위로 | 다음
ftp_exec | 처음으로 | ftp_fput


ftp_fput

(PHP 4, PHP 5)

ftp_fput -- Uploads from an open file to the FTP server

설명

bool ftp_fput ( resource $ftp_stream, string $remote_file, resource $handle, int $mode [, int $startpos] )

ftp_fput() uploads the data from a file pointer to a remote file on the FTP server.

매개변수

ftp_stream

The link identifier of the FTP connection.

remote_file

The remote file path.

handle

An open file pointer on the local file. Reading stops at end of file.

mode

The transfer mode. Must be either FTP_ASCII or FTP_BINARY.

startpos

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 622. ftp_fput() example

<?php

// open some file for reading
$file = 'somefile.txt';
$fp = fopen($file, 'r');

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to upload $file
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
    echo "Successfully uploaded $file\n";
} else {
    echo "There was a problem while uploading $file\n";
}

// close the connection and the file handler
ftp_close($conn_id);
fclose($fp);

?>

변경 기록

버전 | 설명
4.3.0 | startpos was added.

참고

ftp_put()
ftp_nb_fput()
ftp_nb_put()

이전 | 위로 | 다음
ftp_fget | 처음으로 | ftp_get_option


ftp_get_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_get_option -- Retrieves various runtime behaviours of the current FTP stream

설명

mixed ftp_get_option ( resource $ftp_stream, int $option )

This function returns the value for the requested option from the specified FTP connection.

매개변수

ftp_stream

The link identifier of the FTP connection.

option

Currently, the following options are supported:

표 97. Supported runtime FTP options

FTP_TIMEOUT_SEC | Returns the current timeout used for network related operations.
FTP_AUTOSEEK | Returns TRUE if this option is on, FALSE otherwise.

반환값

Returns the value on success or FALSE if the given option is not supported. In the latter case, a warning message is also thrown.

예제

예 623. ftp_get_option() example

<?php
// Get the timeout of the given FTP stream
$timeout = ftp_get_option($conn_id, FTP_TIMEOUT_SEC);
?>

참고

ftp_set_option()

이전 | 위로 | 다음
ftp_fput | 처음으로 | ftp_get


ftp_get

(PHP 4, PHP 5)

ftp_get -- Downloads a file from the FTP server

설명

bool ftp_get ( resource $ftp_stream, string $local_file, string $remote_file, int $mode [, int $resumepos] )

ftp_get() retrieves a remote file from the FTP server, and saves it into a local file.

매개변수

ftp_stream

The link identifier of the FTP connection.

local_file

The local file path (will be overwritten if the file already exists).

remote_file

The remote file path.

mode

The transfer mode. Must be either FTP_ASCII or FTP_BINARY.

resumepos

The position in the remote file to start downloading from.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 624. ftp_get() example

<?php

// define some variables
$local_file = 'local.zip';
$server_file = 'server.zip';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to download $server_file and save to $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
    echo "Successfully written to $local_file\n";
} else {
    echo "There was a problem\n";
}

// close the connection
ftp_close($conn_id);

?>

변경 기록

버전 | 설명
4.3.0 | resumepos was added.

참고

ftp_pasv()
ftp_fget()
ftp_nb_get()
ftp_nb_fget()

이전 | 위로 | 다음
ftp_get_option | 처음으로 | ftp_login


ftp_login

(PHP 4, PHP 5)

ftp_login -- Logs in to an FTP connection

설명

bool ftp_login ( resource $ftp_stream, string $username, string $password )

Logs in to the given FTP stream.

매개변수

ftp_stream

The link identifier of the FTP connection.

username

The username (USER).

password

The password (PASS).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. If login fails, PHP will also throw a warning.

예제

예 625. ftp_login() example

<?php

$ftp_server = "ftp.example.com";
$ftp_user = "foo";
$ftp_pass = "bar";

// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

// try to login
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    echo "Connected as $ftp_user@$ftp_server\n";
} else {
    echo "Couldn't connect as $ftp_user\n";
}

// close the connection
ftp_close($conn_id);
?>

이전 | 위로 | 다음
ftp_get | 처음으로 | ftp_mdtm


ftp_mdtm

(PHP 4, PHP 5)

ftp_mdtm -- Returns the last modified time of the given file

설명

int ftp_mdtm ( resource $ftp_stream, string $remote_file )

ftp_mdtm() gets the last modified time for a remote file.

참고: Not all servers support this feature!

참고: ftp_mdtm() does not work with directories.

매개변수

ftp_stream

The link identifier of the FTP connection.

remote_file

The file from which to extract the last modification time.

반환값

Returns the last modified time as a Unix timestamp on success, or -1 on error.

예제

예 626. ftp_mdtm() example

<?php

$file = 'somefile.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//  get the last modified time
$buff = ftp_mdtm($conn_id, $file);

if ($buff != -1) {
    // somefile.txt was last modified on: March 26 2003 14:16:41.
    echo "$file was last modified on : " . date("F d Y H:i:s.", $buff);
} else {
    echo "Couldn't get mdtime";
}

// close the connection
ftp_close($conn_id);

?>

이전 | 위로 | 다음
ftp_login | 처음으로 | ftp_mkdir


ftp_mkdir

(PHP 4, PHP 5)

ftp_mkdir -- Creates a directory

설명

string ftp_mkdir ( resource $ftp_stream, string $directory )

Creates the specified directory on the FTP server.

매개변수

ftp_stream

The link identifier of the FTP connection.

directory

The name of the directory that will be created.

반환값

Returns the newly created directory name on success or FALSE on error.

예제

예 627. ftp_mkdir() example

<?php

$dir = 'www';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to create the directory $dir
if (ftp_mkdir($conn_id, $dir)) {
 echo "successfully created $dir\n";
} else {
 echo "There was a problem while creating $dir\n";
}

// close the connection
ftp_close($conn_id);
?>

참고

ftp_rmdir()

이전 | 위로 | 다음
ftp_mdtm | 처음으로 | ftp_nb_continue


ftp_nb_continue

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_continue -- Continues retrieving/sending a file (non-blocking)

설명

int ftp_nb_continue ( resource $ftp_stream )

Continues retrieving/sending a file non-blocking.

매개변수

ftp_stream

The link identifier of the FTP connection.

반환값

Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.

예제

예 628. ftp_nb_continue() example

<?php

// Initate the download
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Continue downloading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error downloading the file...";
   exit(1);
}
?>

이전 | 위로 | 다음
ftp_mkdir | 처음으로 | ftp_nb_fget


ftp_nb_fget

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fget -- Retrieves a file from the FTP server and writes it to an open file (non-blocking)

설명

int ftp_nb_fget ( resource $ftp_stream, resource $handle, string $remote_file, int $mode [, int $resumepos] )

ftp_nb_fget() retrieves a remote file from the FTP server.

The difference between this function and ftp_fget() is that this function retrieves the file asynchronously, so your program can perform other operations while the file is being downloaded.

매개변수

ftp_stream

The link identifier of the FTP connection.

handle

An open file pointer in which we store the data.

remote_file

The remote file path.

mode

The transfer mode. Must be either FTP_ASCII or FTP_BINARY.

resumepos

반환값

Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.

예제

예 629. ftp_nb_fget() example

<?php

// open some file for reading
$file = 'index.php';
$fp = fopen($file, 'w');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Initate the download
$ret = ftp_nb_fget($conn_id, $fp, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue downloading...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error downloading the file...";
   exit(1);
}

// close filepointer
fclose($fp);
?>

참고

ftp_nb_get()
ftp_nb_continue()
ftp_fget()
ftp_get()

이전 | 위로 | 다음
ftp_nb_continue | 처음으로 | ftp_nb_fput


ftp_nb_fput

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_fput -- Stores a file from an open file to the FTP server (non-blocking)

설명

int ftp_nb_fput ( resource $ftp_stream, string $remote_file, resource $handle, int $mode [, int $startpos] )

ftp_nb_fput() uploads the data from a file pointer to a remote file on the FTP server.

The difference between this function and the ftp_fput() is that this function uploads the file asynchronously, so your program can perform other operations while the file is being uploaded.

매개변수

ftp_stream

The link identifier of the FTP connection.

remote_file

The remote file path.

handle

An open file pointer on the local file. Reading stops at end of file.

mode

The transfer mode. Must be either FTP_ASCII or FTP_BINARY.

startpos

반환값

Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.

예제

예 630. ftp_nb_fput() example

<?php

$file = 'index.php';

$fp = fopen($file, 'r');

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Initate the upload
$ret = ftp_nb_fput($conn_id, $file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue upload...
   $ret = ftp_nb_continue($conn_id);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error uploading the file...";
   exit(1);
}

fclose($fp);
?>

참고

ftp_nb_put()
ftp_nb_continue()
ftp_put()
ftp_fput()

이전 | 위로 | 다음
ftp_nb_fget | 처음으로 | ftp_nb_get


ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_get -- Retrieves a file from the FTP server and writes it to a local file (non-blocking)

설명

int ftp_nb_get ( resource $ftp_stream, string $local_file, string $remote_file, int $mode [, int $resumepos] )

ftp_nb_get() retrieves a remote file from the FTP server, and saves it into a local file.

The difference between this function and ftp_get() is that this function retrieves the file asynchronously, so your program can perform other operations while the file is being downloaded.

매개변수

ftp_stream

The link identifier of the FTP connection.

local_file

The local file path (will be overwritten if the file already exists).

remote_file

The remote file path.

mode

The transfer mode. Must be either FTP_ASCII or FTP_BINARY.

resumepos

반환값

Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.

예제

예 631. ftp_nb_get() example

<?php

// Initate the download
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue downloading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error downloading the file...";
   exit(1);
}
?>

예 632. Resuming a download with ftp_nb_get()

<?php

// Initate
$ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY,
                      filesize("test"));
// OR: $ret = ftp_nb_get($my_connection, "test", "README",
//                           FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue downloading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error downloading the file...";
   exit(1);
}
?>

예 633. Resuming a download at position 100 to a new file with ftp_nb_get()

<?php

// Disable Autoseek
ftp_set_option($my_connection, FTP_AUTOSEEK, false);

// Initiate
$ret = ftp_nb_get($my_connection, "newfile", "README", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {

   /* ... */

   // Continue downloading...
   $ret = ftp_nb_continue($my_connection);
}
?>

In the example above, newfile is 100 bytes smaller than README on the FTP server because we started reading at offset 100. If we didn't disable FTP_AUTOSEEK, the first 100 bytes of newfile would be '\0'.

참고

ftp_nb_fget()
ftp_nb_continue()
ftp_fget()
ftp_get()

이전 | 위로 | 다음
ftp_nb_fput | 처음으로 | ftp_nb_put


ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_put -- Stores a file on the FTP server (non-blocking)

설명

int ftp_nb_put ( resource $ftp_stream, string $remote_file, string $local_file, int $mode [, int $startpos] )

ftp_nb_put() stores a local file on the FTP server.

The difference between this function and the ftp_put() is that this function uploads the file asynchronously, so your program can perform other operations while the file is being uploaded.

매개변수

ftp_stream

The link identifier of the FTP connection.

remote_file

The remote file path.

local_file

The local file path.

mode

The transfer mode. Must be either FTP_ASCII or FTP_BINARY.

startpos

반환값

Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.

예제

예 634. ftp_nb_put() example

<?php

// Initiate the Upload
$ret = ftp_nb_put($my_connection, "test.remote", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue uploading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error uploading the file...";
   exit(1);
}
?>

예 635. Resuming an upload with ftp_nb_put()

<?php

// Initiate
$ret = ftp_nb_put($my_connection, "test.remote", "test.local",
                      FTP_BINARY, ftp_size("test.remote"));
// OR: $ret = ftp_nb_put($my_connection, "test.remote", "test.local",
//                           FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

   // Do whatever you want
   echo ".";

   // Continue uploading...
   $ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error uploading the file...";
   exit(1);
}
?>

참고

ftp_nb_fput()
ftp_nb_continue()
ftp_put()
ftp_fput()

이전 | 위로 | 다음
ftp_nb_get | 처음으로 | ftp_nlist


ftp_nlist

(PHP 4, PHP 5)

ftp_nlist -- Returns a list of files in the given directory

설명

array ftp_nlist ( resource $ftp_stream, string $directory )

매개변수

ftp_stream

The link identifier of the FTP connection.

directory

The directory to be listed. This parameter can also include arguments, eg. ftp_nlist($conn_id, "-la /your/dir"); Note that this parameter isn't escaped so there may be some issues with filenames containing spaces and other characters.

반환값

Returns an array of filenames from the specified directory on success or FALSE on error.

예제

예 636. ftp_nlist() example

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// get contents of the current directory
$contents = ftp_nlist($conn_id, ".");

// output $contents
var_dump($contents);

?>

위 예제의 출력 예:

array(3) {
  [0]=>
  string(11) "public_html"
  [1]=>
  string(10) "public_ftp"
  [2]=>
  string(3) "www"

참고

ftp_rawlist()

이전 | 위로 | 다음
ftp_nb_put | 처음으로 | ftp_pasv


ftp_pasv

(PHP 4, PHP 5)

ftp_pasv -- Turns passive mode on or off

설명

bool ftp_pasv ( resource $ftp_stream, bool $pasv )

ftp_pasv() turns on or off passive mode. In passive mode, data connections are initiated by the client, rather than by the server. It may be needed if the client is behind firewall.

Please note that ftp_pasv() can only be called after a successfull login or otherwise it will fail.

매개변수

ftp_stream

The link identifier of the FTP connection.

pasv

If TRUE, the passive mode is turned on, else it's turned off.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 637. ftp_pasv() example

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// turn passive mode on
ftp_pasv($conn_id, true);

// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "successfully uploaded $file\n";
} else {
 echo "There was a problem while uploading $file\n";
}

// close the connection
ftp_close($conn_id);
?>

이전 | 위로 | 다음
ftp_nlist | 처음으로 | ftp_put


ftp_put

(PHP 4, PHP 5)

ftp_put -- Uploads a file to the FTP server

설명

bool ftp_put ( resource $ftp_stream, string $remote_file, string $local_file, int $mode [, int $startpos] )

ftp_put() stores a local file on the FTP server.

매개변수

ftp_stream

The link identifier of the FTP connection.

remote_file

The remote file path.

local_file

The local file path.

mode

The transfer mode. Must be either FTP_ASCII or FTP_BINARY.

startpos

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 638. ftp_put() example

<?php
$file = 'somefile.txt';
$remote_file = 'readme.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
 echo "successfully uploaded $file\n";
} else {
 echo "There was a problem while uploading $file\n";
}

// close the connection
ftp_close($conn_id);
?>

변경 기록

버전 | 설명
4.3.0 | startpos was added.

참고

ftp_pasv()
ftp_fput()
ftp_nb_fput()
ftp_nb_put()

이전 | 위로 | 다음
ftp_pasv | 처음으로 | ftp_pwd


ftp_pwd

(PHP 4, PHP 5)

ftp_pwd -- Returns the current directory name

설명

string ftp_pwd ( resource $ftp_stream )

매개변수

ftp_stream

The link identifier of the FTP connection.

반환값

Returns the current directory name or FALSE on error.

예제

예 639. ftp_pwd() example

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// change directory to public_html
ftp_chdir($conn_id, 'public_html');

// print current directory
echo ftp_pwd($conn_id); // /public_html

// close the connection
ftp_close($conn_id);
?>

참고

ftp_chdir()
ftp_cdup()

이전 | 위로 | 다음
ftp_put | 처음으로 | ftp_quit


ftp_quit

(PHP 4, PHP 5)

ftp_quit -- Alias of ftp_close()

설명

이 함수는 다음 함수의 alias입니다: ftp_close().

이전 | 위로 | 다음
ftp_pwd | 처음으로 | ftp_raw


ftp_raw

(PHP 5)

ftp_raw -- Sends an arbitrary command to an FTP server

설명

array ftp_raw ( resource $ftp_stream, string $command )

Sends an arbitrary command to the FTP server.

매개변수

ftp_stream

The link identifier of the FTP connection.

command

The command to execute.

반환값

Returns the server's response as an array of strings. No parsing is performed on the response string, nor does ftp_raw() determine if the command succeeded.

예제

예 640. Using ftp_raw() to login to an FTP server manually.

<?php
$fp = ftp_connect("ftp.example.com");

/* This is the same as:
   ftp_login($fp, "joeblow", "secret"); */
ftp_raw($fp, "USER joeblow");
ftp_raw($fp, "PASS secret");
?>

참고

ftp_exec()

이전 | 위로 | 다음
ftp_quit | 처음으로 | ftp_rawlist


ftp_rawlist

(PHP 4, PHP 5)

ftp_rawlist -- Returns a detailed list of files in the given directory

설명

array ftp_rawlist ( resource $ftp_stream, string $directory [, bool $recursive] )

ftp_rawlist() executes the FTP LIST command, and returns the result as an array.

매개변수

ftp_stream

The link identifier of the FTP connection.

directory

The directory path.

recursive

If set to TRUE, the issued command will be LIST -R.

반환값

Returns an array where each element corresponds to one line of text.

The output is not parsed in any way. The system type identifier returned by ftp_systype() can be used to determine how the results should be interpreted.

예제

예 641. ftp_rawlist() example

<?php

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// get the file list for /
$buff = ftp_rawlist($conn_id, '/');

// close the connection
ftp_close($conn_id);

// output the buffer
var_dump($buff);
?>

위 예제의 출력 예:

array(3) {
  [0]=>
  string(65) "drwxr-x---   3 vincent  vincent      4096 Jul 12 12:16 public_ftp"
  [1]=>
  string(66) "drwxr-x---  15 vincent  vincent      4096 Nov  3 21:31 public_html"
  [2]=>
  string(73) "lrwxrwxrwx   1 vincent  vincent        11 Jul 12 12:16 www -> public_html"
}

변경 기록

버전 | 설명
4.3.0 | recursive was added.

참고

ftp_nlist()

이전 | 위로 | 다음
ftp_raw | 처음으로 | ftp_rename


ftp_rename

(PHP 4, PHP 5)

ftp_rename -- Renames a file or a directory on the FTP server

설명

bool ftp_rename ( resource $ftp_stream, string $oldname, string $newname )

ftp_rename() renames a file or a directory on the FTP server.

매개변수

ftp_stream

The link identifier of the FTP connection.

oldname

The old file/directory name.

newname

The new name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 642. ftp_rename() example

<?php
$old_file = 'somefile.txt.bak';
$new_file = 'somefile.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to rename $old_file to $new_file
if (ftp_rename($conn_id, $old_file, $new_file)) {
 echo "successfully renamed $old_file to $new_file\n";
} else {
 echo "There was a problem while renaming $old_file to $new_file\n";
}

// close the connection
ftp_close($conn_id);
?>

이전 | 위로 | 다음
ftp_rawlist | 처음으로 | ftp_rmdir


ftp_rmdir

(PHP 4, PHP 5)

ftp_rmdir -- Removes a directory

설명

bool ftp_rmdir ( resource $ftp_stream, string $directory )

Removes the specified directory on the FTP server.

매개변수

ftp_stream

The link identifier of the FTP connection.

directory

The directory to delete. This must be either an absolute or relative path to an empty directory.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 643. ftp_rmdir() example

<?php

$dir = 'www/';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to delete the directory $dir
if (ftp_rmdir($conn_id, $dir)) {
    echo "Successfully deleted $dir\n";
} else {
    echo "There was a problem while deleting $dir\n";
}

ftp_close($conn_id);

?>

참고

ftp_mkdir()

이전 | 위로 | 다음
ftp_rename | 처음으로 | ftp_set_option


ftp_set_option

(PHP 4 >= 4.2.0, PHP 5)

ftp_set_option -- Set miscellaneous runtime FTP options

설명

bool ftp_set_option ( resource $ftp_stream, int $option, mixed $value )

This function controls various runtime options for the specified FTP stream.

매개변수

ftp_stream

The link identifier of the FTP connection.

option

Currently, the following options are supported:

표 98. Supported runtime FTP options

FTP_TIMEOUT_SEC | Changes the timeout in seconds used for all network related functions. value must be an integer that is greater than 0. The default timeout is 90 seconds.
FTP_AUTOSEEK | When enabled, GET or PUT requests with a resumepos or startpos parameter will first seek to the requested position within the file. This is enabled by default.

value

This parameter depends on which option is chosen to be altered.

반환값

Returns TRUE if the option could be set; FALSE if not. A warning message will be thrown if the option is not supported or the passed value doesn't match the expected value for the given option.

예제

예 644. ftp_set_option() example

<?php
// Set the network timeout to 10 seconds
ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 10);
?>

참고

ftp_get_option()

이전 | 위로 | 다음
ftp_rmdir | 처음으로 | ftp_site


ftp_site

(PHP 4, PHP 5)

ftp_site -- Sends a SITE command to the server

설명

bool ftp_site ( resource $ftp_stream, string $command )

ftp_site() sends the given SITE command to the FTP server.

SITE commands are not standardized, and vary from server to server. They are useful for handling such things as file permissions and group membership.

매개변수

ftp_stream

The link identifier of the FTP connection.

command

The SITE command. Note that this parameter isn't escaped so there may be some issues with filenames containing spaces and other characters.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 645. Sending a SITE command to an ftp server

<?php
/* Connect to FTP server */
$conn = ftp_connect('ftp.example.com');
if (!$conn) die('Unable to connect to ftp.example.com');

/* Login as "user" with password "pass" */
if (!ftp_login($conn, 'user', 'pass')) die('Error logging into ftp.example.com');

/* Issue: "SITE CHMOD 0600 /home/user/privatefile" command to ftp server */
if (ftp_site($conn, 'CHMOD 0600 /home/user/privatefile')) {
   echo "Command executed successfully.\n";
} else {
   die('Command failed.');
}
?>

참고

ftp_raw()

이전 | 위로 | 다음
ftp_set_option | 처음으로 | ftp_size


ftp_size

(PHP 4, PHP 5)

ftp_size -- Returns the size of the given file

설명

int ftp_size ( resource $ftp_stream, string $remote_file )

ftp_size() returns the size of the given file in bytes.

참고: Not all servers support this feature.

매개변수

ftp_stream

The link identifier of the FTP connection.

remote_file

The remote file.

반환값

Returns the file size on success, or -1 on error.

예제

예 646. ftp_size() example

<?php

$file = 'somefile.txt';

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// get the size of $file
$res = ftp_size($conn_id, $file);

if ($res != -1) {
    echo "size of $file is $res bytes";
} else {
    echo "couldn't get the size";
}

// close the connection
ftp_close($conn_id);

?>

참고

ftp_rawlist()

이전 | 위로 | 다음
ftp_site | 처음으로 | ftp_ssl_connect


ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5)

ftp_ssl_connect -- Opens an Secure SSL-FTP connection

설명

resource ftp_ssl_connect ( string $host [, int $port [, int $timeout]] )

ftp_ssl_connect() opens a SSL-FTP connection to the specified host.

Why this function may not exist: ftp_ssl_connect() is only available if OpenSSL support is enabled into your version of PHP. If it's undefined and you've compiled FTP support then this is why. For Windows you must compile your own PHP binaries to support this function.

매개변수

host

The FTP server address. This parameter shouldn't have any trailing slashes and shouldn't be prefixed with ftp://.

port

This parameter specifies an alternate port to connect to. If it is omitted or set to zero, then the default FTP port, 21, will be used.

timeout

This parameter specifies the timeout for all subsequent network operations. If omitted, the default value is 90 seconds. The timeout can be changed and queried at any time with ftp_set_option() and ftp_get_option().

반환값

Returns a SSL-FTP stream on success or FALSE on error.

변경 기록

버전 | 설명
5.2.2 | The function was changed to return FALSE when it can't use an SSL connection, instead of fallbacking to a non-SSL one as previously.

예제

예 647. ftp_ssl_connect() example

<?php

// set up basic ssl connection
$conn_id = ftp_ssl_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

echo ftp_pwd($conn_id); // /

// close the ssl connection
ftp_close($conn_id);
?>

참고

ftp_connect()

이전 | 위로 | 다음
ftp_size | 처음으로 | ftp_systype


ftp_systype

(PHP 4, PHP 5)

ftp_systype -- Returns the system type identifier of the remote FTP server

설명

string ftp_systype ( resource $ftp_stream )

Returns the system type identifier of the remote FTP server.

매개변수

ftp_stream

The link identifier of the FTP connection.

반환값

Returns the remote system type, or FALSE on error.

예제

예 648. ftp_systype() example

<?php

// ftp connection
$ftp = ftp_connect('ftp.example.com');
ftp_login($ftp, 'user', 'password');

// get the system type
if ($type = ftp_systype($ftp)) {
    echo "Example.com is powered by $type\n";
} else {
    echo "Couldn't get the systype";
}

?>

위 예제의 출력 예:

Example.com is powered by UNIX

이전 | 위로 | 다음
ftp_ssl_connect | 처음으로 | XLVIII. Function Handling Functions


Function Handling Functions

이전 VI. 함수 레퍼런스 다음

XLVIII. Function Handling Functions

소개

These functions all handle various operations involved in working with functions.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

call_user_func_array -- Call a user function given with an array of parameters
call_user_func -- Call a user function given by the first parameter
create_function -- Create an anonymous (lambda-style) function
func_get_arg -- Return an item from the argument list
func_get_args -- Returns an array comprising a function's argument list
func_num_args -- Returns the number of arguments passed to the function
function_exists -- Return TRUE if the given function has been defined
get_defined_functions -- Returns an array of all defined functions
register_shutdown_function -- Register a function for execution on shutdown
register_tick_function -- Register a function for execution on each tick
unregister_tick_function -- De-register a function for execution on each tick
이전 | 위로 | 다음
ftp_systype | 처음으로 | call_user_func_array


call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array -- Call a user function given with an array of parameters

설명

mixed call_user_func_array ( callback $function, array $param_arr )

Call a user defined function with the parameters in param_arr.

매개변수

function

The function to be called.

param_arr

The parameters to be passed to the function, as an indexed array.

반환값

Returns the function result, or FALSE on error.

예제

예 649. call_user_func_array() example

<?php
function debug($var, $val)
{
    echo "***DEBUGGING\nVARIABLE: $var\nVALUE:";
    if (is_array($val) || is_object($val) || is_resource($val)) {
        print_r($val);
    } else {
        echo "\n$val\n";
    }
    echo "***\n";
}

$c = mysql_connect();
$host = $_SERVER["SERVER_NAME"];

call_user_func_array('debug', array("host", $host));
call_user_func_array('debug', array("c", $c));
call_user_func_array('debug', array("_POST", $_POST));
?>

주의

참고: Referenced variables in param_arr are passed to the function by a reference, others are passed by a value. In other words, it does not depend on the function signature whether the parameter is passed by a value or by a reference.

참고

call_user_func()
callback 형에 대한 정보

이전 | 위로 | 다음
XLVIII. Function Handling Functions | 처음으로 | call_user_func


call_user_func

(PHP 4, PHP 5)

call_user_func -- Call a user function given by the first parameter

설명

mixed call_user_func ( callback $function [, mixed $parameter [, mixed $...]] )

Call a user defined function given by the function parameter.

매개변수

function

The function to be called. Class methods may also be invoked statically using this function by passing array($classname, $methodname) to this parameter.

parameter

Zero or more parameters to be passed to the function.

참고: Note that the parameters for call_user_func() are not passed by reference.

<?php
function increment(&$var)
{
    $var++;
}

$a = 0;
call_user_func('increment', $a);
echo $a; // 0

call_user_func_array('increment', array(&$a)); // You can use this instead
echo $a; // 1
?>

반환값

Returns the function result, or FALSE on error.

예제

예 650. call_user_func() example

<?php
function barber($type)
{
    echo "You wanted a $type haircut, no problem";
}
call_user_func('barber', "mushroom");
call_user_func('barber', "shave");
?>

예 651. Using a class method

<?php
class myclass {
    function say_hello()
    {
        echo "Hello!\n";
    }
}

$classname = "myclass";

call_user_func(array($classname, 'say_hello'));
?>

참고

call_user_func_array()
is_callable()
callback 형에 대한 정보

이전 | 위로 | 다음
call_user_func_array | 처음으로 | create_function


create_function

(PHP 4 >= 4.0.1, PHP 5)

create_function -- Create an anonymous (lambda-style) function

설명

string create_function ( string $args, string $code )

Creates an anonymous function from the parameters passed, and returns a unique name for it.

매개변수

Usually these parameters will be passed as single quote delimited strings. The reason for using single quoted strings, is to protect the variable names from parsing, otherwise, if you use double quotes there will be a need to escape the variable names, e.g. \$avar.

args

The function arguments.

code

The function code.

반환값

Returns a unique function name as a string, or FALSE on error.

예제

예 652. Creating an anonymous function with create_function()

You can use this function, to (for example) create a function from information gathered at run time:

<?php
$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "New anonymous function: $newfunc\n";
echo $newfunc(2, M_E) . "\n";
// outputs
// New anonymous function: lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>

Or, perhaps to have general handler function that can apply a set of operations to a list of parameters:

예 653. Making a general processing function with create_function()

<?php
function process($var1, $var2, $farr)
{
    foreach ($farr as $f) {
        echo $f($var1, $var2) . "\n";
    }
}

// create a bunch of math functions
$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}';
$f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);";
$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }';
$farr = array(
    create_function('$x,$y', 'return "some trig: ".(sin($x) + $x*cos($y));'),
    create_function('$x,$y', 'return "a hypotenuse: ".sqrt($x*$x + $y*$y);'),
    create_function('$a,$b', $f1),
    create_function('$a,$b', $f2),
    create_function('$a,$b', $f3)
    );

echo "\nUsing the first array of anonymous functions\n";
echo "parameters: 2.3445, M_PI\n";
process(2.3445, M_PI, $farr);

// now make a bunch of string processing functions
$garr = array(
    create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "** \"$a\" '.
    'and \"$b\"\n** Look the same to me! (looking at the first 3 chars)";'),
    create_function('$a,$b', '; return "CRCs: " . crc32($a) . " , ".crc32(b);'),
    create_function('$a,$b', '; return "similar(a,b) = " . similar_text($a, $b, &$p) . "($p%)";')
    );
echo "\nUsing the second array of anonymous functions\n";
process("Twas brilling and the slithy toves", "Twas the night", $garr);
?>

위 예제의 출력:

Using the first array of anonymous functions
parameters: 2.3445, M_PI
some trig: -1.6291725057799
a hypotenuse: 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a/b) = 0.27122299212594

Using the second array of anonymous functions
** "Twas the night" and "Twas brilling and the slithy toves"
** Look the same to me! (looking at the first 3 chars)
CRCs: -725381282 , 1908338681
similar(a,b) = 11(45.833333333333%)

But perhaps the most common use for of lambda-style (anonymous) functions is to create callback functions, for example when using array_walk() or usort()

예 654. Using anonymous functions as callback functions

<?php
$av = array("the ", "a ", "that ", "this ");
array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
print_r($av);
?>

위 예제의 출력:

Array
(
  [0] => the mango
  [1] => a mango
  [2] => that mango
  [3] => this mango
)

an array of strings ordered from shorter to longer

<?php

$sv = array("small", "larger", "a big string", "it is a string thing");
print_r($sv);

?>

위 예제의 출력:

Array
(
  [0] => small
  [1] => larger
  [2] => a big string
  [3] => it is a string thing
)

sort it from longer to shorter

<?php

usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));
print_r($sv);

?>

위 예제의 출력:

Array
(
  [0] => it is a string thing
  [1] => a big string
  [2] => larger
  [3] => small
)

이전 | 위로 | 다음
call_user_func | 처음으로 | func_get_arg


func_get_arg

(PHP 4, PHP 5)

func_get_arg -- Return an item from the argument list

설명

mixed func_get_arg ( int $arg_num )

Gets the specified argument from a user-defined function's argument list.

This function may be used in conjunction with func_get_args() and func_num_args() to allow user-defined functions to accept variable-length argument lists.

매개변수

arg_num

The argument offset. Function arguments are counted starting from zero.

반환값

Returns the specified argument, or FALSE on error.

오류/예외

Generates a warning if called from outside of a user-defined function, or if arg_num is greater than the number of arguments actually passed.

예제

예 655. func_get_arg() example

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

foo (1, 2, 3);
?>

주의

참고: 이 함수는 매개변수를 현재 위치(scope)에 의존하기 때문에, 함수의 매개변수로 사용할 수 없습니다. 이 값을 넘겨야 한다면 결과값을 변수에 할당하여, 그 변수를 넘겨야 합니다.

참고: This function returns a copy of the passed arguments only, and does not account for default (non-passed) arguments.

참고

func_get_args()
func_num_args()

이전 | 위로 | 다음
create_function | 처음으로 | func_get_args


func_get_args

(PHP 4, PHP 5)

func_get_args -- Returns an array comprising a function's argument list

설명

array func_get_args ( void )

Gets an array of the function's argument list.

This function may be used in conjunction with func_get_arg() and func_num_args() to allow user-defined functions to accept variable-length argument lists.

반환값

Returns an array in which each element is a copy of the corresponding member of the current user-defined function's argument list.

오류/예외

Generates a warning if called from outside of a user-defined function.

예제

예 656. func_get_args() example

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

주의

참고: 이 함수는 매개변수를 현재 위치(scope)에 의존하기 때문에, 함수의 매개변수로 사용할 수 없습니다. 이 값을 넘겨야 한다면 결과값을 변수에 할당하여, 그 변수를 넘겨야 합니다.

참고: This function returns a copy of the passed arguments only, and does not account for default (non-passed) arguments.

참고

func_get_arg()
func_num_args()

이전 | 위로 | 다음
func_get_arg | 처음으로 | func_num_args


func_num_args

(PHP 4, PHP 5)

func_num_args -- Returns the number of arguments passed to the function

설명

int func_num_args ( void )

Gets the number of arguments passed to the function.

This function may be used in conjunction with func_get_arg() and func_get_args() to allow user-defined functions to accept variable-length argument lists.

반환값

Returns the number of arguments passed into the current user-defined function.

오류/예외

Generates a warning if called from outside of a user-defined function.

예제

예 657. func_num_args() example

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs\n";
}

foo(1, 2, 3);    // Prints 'Number of arguments: 3'
?>

주의

참고: 이 함수는 매개변수를 현재 위치(scope)에 의존하기 때문에, 함수의 매개변수로 사용할 수 없습니다. 이 값을 넘겨야 한다면 결과값을 변수에 할당하여, 그 변수를 넘겨야 합니다.

참고

func_get_arg()
func_get_args()

이전 | 위로 | 다음
func_get_args | 처음으로 | function_exists


function_exists

(PHP 4, PHP 5)

function_exists -- Return TRUE if the given function has been defined

설명

bool function_exists ( string $function_name )

Checks the list of defined functions, both built-in (internal) and user-defined, for function_name.

매개변수

function_name

The function name, as a string.

반환값

Returns TRUE if function_name exists and is a function, FALSE otherwise.

참고: This function will return FALSE for constructs, such as include_once() and echo().

예제

예 658. function_exists() example

<?php
if (function_exists('imap_open')) {
    echo "IMAP functions are available.<br />\n";
} else {
    echo "IMAP functions are not available.<br />\n";
}
?>

주의

참고: A function name may exist even if the function itself is unusable due to configuration or compiling options (with the image functions being an example).

참고

method_exists()
is_callable()
get_defined_functions()

이전 | 위로 | 다음
func_num_args | 처음으로 | get_defined_functions


get_defined_functions

(PHP 4 >= 4.0.4, PHP 5)

get_defined_functions -- Returns an array of all defined functions

설명

array get_defined_functions ( void )

Gets an array of all defined functions.

반환값

Returns an multidimensional array containing a list of all defined functions, both built-in (internal) and user-defined. The internal functions will be accessible via $arr["internal"], and the user defined ones using $arr["user"] (see example below).

예제

예 659. get_defined_functions() example

<?php
function myrow($id, $data)
{
    return "<tr><th>$id</th><td>$data</td></tr>\n";
}

$arr = get_defined_functions();

print_r($arr);
?>

위 예제의 출력 예:

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )

    [user] => Array
        (
            [0] => myrow
        )

)

참고

function_exists()
get_defined_vars()
get_defined_constants()

이전 | 위로 | 다음
function_exists | 처음으로 | register_shutdown_function


register_shutdown_function

(PHP 4, PHP 5)

register_shutdown_function -- Register a function for execution on shutdown

설명

void register_shutdown_function ( callback $function [, mixed $parameter [, mixed $...]] )

Registers the function named by function to be executed when script processing is complete.

Multiple calls to register_shutdown_function() can be made, and each will be called in the same order as they were registered. If you call exit() within one registered shutdown function, processing will stop completely and no other registered shutdown functions will be called.

In PHP 4.0.6 and earlier under Apache, the registered shutdown functions are called after the request has been completed (including sending any output buffers), so it is not possible to send output to the browser using echo() or print(), or retrieve the contents of any output buffers using ob_get_contents(). Since PHP 4.1, the shutdown functions are called as the part of the request so that it's possible to send the output from them. There is currently no way to process the data with output buffering functions in the shutdown function. Shutdown function is called after closing all opened output buffers thus, for example, its output will not be compressed if zlib.output_compression is enabled.

As of PHP 4, it is possible to pass parameters to the shutdown function by passing additional parameters to register_shutdown_function().

매개변수

function

parameter

...

반환값

값을 반환하지 않습니다.

주의

참고: Typically undefined functions cause fatal errors in PHP, but when the function called with register_shutdown_function() is undefined, an error of level E_WARNING is generated instead. Also, for reasons internal to PHP, this error will refer to Unknown at line #0.

참고: Working directory of the script can change inside the shutdown function under some web servers, e.g. Apache.

참고: Shutdown function is called during the script shutdown so headers are always already sent.

참고

auto_append_file
exit()
The section on connection handling

이전 | 위로 | 다음
get_defined_functions | 처음으로 | register_tick_function


register_tick_function

(PHP 4 >= 4.0.3, PHP 5)

register_tick_function -- Register a function for execution on each tick

설명

bool register_tick_function ( callback $function [, mixed $arg [, mixed $...]] )

Registers the given function to be executed when a tick is called.

매개변수

function

The function name as a string, or an array consisting of an object and a method.

arg

...

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 660. register_tick_function() example

<?php
// using a function as the callback
register_tick_function('my_function', true);

// using an object->method
$object = new my_class();
register_tick_function(array(&$object, 'my_method'), true);
?>

주의

주의

register_tick_function() should not be used with threaded web server modules. Ticks are not working in ZTS mode and may crash your web server.

참고

declare
unregister_tick_function()

이전 | 위로 | 다음
register_shutdown_function | 처음으로 | unregister_tick_function


unregister_tick_function

(PHP 4 >= 4.0.3, PHP 5)

unregister_tick_function -- De-register a function for execution on each tick

설명

void unregister_tick_function ( string $function_name )

De-registers the function named by function_name so it is no longer executed when a tick is called.

매개변수

function_name

The function name, as a string.

반환값

값을 반환하지 않습니다.

참고

register_tick_function()

이전 | 위로 | 다음
register_tick_function | 처음으로 | XLIX. GeoIP Functions


Gettext Functions

이전 VI. 함수 레퍼런스 다음

L. Gettext Functions

소개

The gettext functions implement an NLS (Native Language Support) API which can be used to internationalize your PHP applications. Please see the gettext documentation for your system for a thorough explanation of these functions or view the docs at » http://www.gnu.org/software/gettext/manual/gettext.html.

요구 조건

To use these functions you must download and install the GNU gettext package from » http://www.gnu.org/software/gettext/gettext.html

설치

To include GNU gettext support in your PHP build you must add the option --with-gettext[=DIR] where DIR is the gettext install directory, defaults to /usr/local.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

bind_textdomain_codeset -- Specify the character encoding in which the messages from the DOMAIN message catalog will be returned
bindtextdomain -- Sets the path for a domain
dcgettext -- Overrides the domain for a single lookup
dcngettext -- Plural version of dcgettext
dgettext -- Override the current domain
dngettext -- Plural version of dgettext
gettext -- Lookup a message in the current domain
ngettext -- Plural version of gettext
textdomain -- Sets the default domain
이전 | 위로 | 다음
geoip_region_by_name | 처음으로 | bind_textdomain_codeset


bind_textdomain_codeset

(PHP 4 >= 4.2.0, PHP 5)

bind_textdomain_codeset -- Specify the character encoding in which the messages from the DOMAIN message catalog will be returned

설명

string bind_textdomain_codeset ( string $domain, string $codeset )

With bind_textdomain_codeset(), you can set in which encoding will be messages from domain returned by gettext() and similar functions.

매개변수

domain

The domain

codeset

The code set

반환값

A string on success.

이전 | 위로 | 다음
L. Gettext Functions | 처음으로 | bindtextdomain


bindtextdomain

(PHP 4, PHP 5)

bindtextdomain -- Sets the path for a domain

설명

string bindtextdomain ( string $domain, string $directory )

The bindtextdomain() function sets the path for a domain.

매개변수

domain

The domain

directory

The directory path

반환값

The full pathname for the domain currently being set.

예제

예 674. bindtextdomain() example

<?php

$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');

?>

위 예제의 출력:

/usr/share/myapp/locale

이전 | 위로 | 다음
bind_textdomain_codeset | 처음으로 | dcgettext


dcgettext

(PHP 4, PHP 5)

dcgettext -- Overrides the domain for a single lookup

설명

string dcgettext ( string $domain, string $message, int $category )

This function allows you to override the current domain for a single message lookup.

매개변수

domain

The domain

message

The message

category

The category

반환값

A string on success.

참고

gettext()

이전 | 위로 | 다음
bindtextdomain | 처음으로 | dcngettext


dcngettext

(PHP 4 >= 4.2.0, PHP 5)

dcngettext -- Plural version of dcgettext

설명

string dcngettext ( string $domain, string $msgid1, string $msgid2, int $n, int $category )

This function allows you to override the current domain for a single plural message lookup.

매개변수

domain

The domain

msgid1

msgid2

n

category

반환값

A string on success.

참고

ngettext()

이전 | 위로 | 다음
dcgettext | 처음으로 | dgettext


dgettext

(PHP 4, PHP 5)

dgettext -- Override the current domain

설명

string dgettext ( string $domain, string $message )

The dgettext() function allows you to override the current domain for a single message lookup.

매개변수

domain

The domain

message

The message

반환값

A string on success.

참고

gettext()

이전 | 위로 | 다음
dcngettext | 처음으로 | dngettext


dngettext

(PHP 4 >= 4.2.0, PHP 5)

dngettext -- Plural version of dgettext

설명

string dngettext ( string $domain, string $msgid1, string $msgid2, int $n )

The dngettext() function allows you to override the current domain for a single plural message lookup.

매개변수

domain

The domain

msgid1

msgid2

n

반환값

A string on success.

참고

ngettext()

이전 | 위로 | 다음
dgettext | 처음으로 | gettext


gettext

(PHP 4, PHP 5, PECL axis2:0.1.0-0.1.1)

gettext -- Lookup a message in the current domain

설명

string gettext ( string $message )

Looks up a message in the current domain.

매개변수

message

반환값

Returns a translated string if one is found in the translation table, or the submitted message if not found.

예제

예 675. gettext()-check

<?php
// Set language to German
setlocale(LC_ALL, 'de_DE');

// Specify location of translation tables
bindtextdomain("myPHPApp", "./locale");

// Choose domain
textdomain("myPHPApp");

// Translation is looking for in ./locale/de_DE/LC_MESSAGES/myPHPApp.mo now

// Print a test message
echo gettext("Welcome to My PHP Application");

// Or use the alias _() for gettext()
echo _("Have a nice day");
?>

주의

참고: You may use the underscore character '_' as an alias to this function.

참고

setlocale()

이전 | 위로 | 다음
dngettext | 처음으로 | ngettext


ngettext

(PHP 4 >= 4.2.0, PHP 5)

ngettext -- Plural version of gettext

설명

string ngettext ( string $msgid1, string $msgid2, int $n )

The plural version of gettext(). Some languages have more than one form for plural messages dependent on the count.

매개변수

msgid1

msgid2

n

반환값

Returns correct plural form of message identified by msgid1 and msgid2 for count n.

예제

예 676. ngettext() example

<?php

setlocale(LC_ALL, 'cs_CZ');
printf(ngettext("%d window", "%d windows", 1), 1); // 1 okno
printf(ngettext("%d window", "%d windows", 2), 2); // 2 okna
printf(ngettext("%d window", "%d windows", 5), 5); // 5 oken

?>

이전 | 위로 | 다음
gettext | 처음으로 | textdomain


textdomain

(PHP 4, PHP 5)

textdomain -- Sets the default domain

설명

string textdomain ( string $text_domain )

This function sets the domain to search within when calls are made to gettext(), usually the named after an application.

매개변수

text_domain

The new message domain, or NULL to get the current setting without changing it

반환값

If successful, this function returns the current message domain, after possibly changing it.

이전 | 위로 | 다음
ngettext | 처음으로 | LI. GMP Functions


GMP Functions

이전 VI. 함수 레퍼런스 다음

LI. GMP Functions

소개

These functions allow you to work with arbitrary-length integers using the GNU MP library.

These functions have been added in PHP 4.0.4.

참고: Most GMP functions accept GMP number arguments, defined as resource below. However, most of these functions will also accept numeric and string arguments, given that it is possible to convert the latter to a number. Also, if there is a faster function that can operate on integer arguments, it would be used instead of the slower function when the supplied arguments are integers. This is done transparently, so the bottom line is that you can use integers in every function that expects GMP number. See also the gmp_init() function.

주의

If you want to explicitly specify a large integer, specify it as a string. If you don't do that, PHP will interpret the integer-literal first, possibly resulting in loss of precision, even before GMP comes into play.

참고: This extension is available on Windows platforms since PHP 5.1.0.

요구 조건

You can download the GMP library from » http://www.swox.com/gmp/. This site also has the GMP manual available.

You will need GMP version 2 or better to use these functions. Some functions may require more recent version of the GMP library.

설치

In order to have these functions available, you must compile PHP with GMP support by using the --with-gmp option.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

Most GPM functions operate on or return GMP number resources.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

GMP_ROUND_ZERO (integer)
GMP_ROUND_PLUSINF (integer)
GMP_ROUND_MINUSINF (integer)
GMP_VERSION (string)
The GMP library version

예제

예 677. Factorial function using GMP

<?php
function fact($x)
{
    $return = 1;
    for ($i=2; $i < $x; $i++) {
        $return = gmp_mul($return, $i);
    }
    return $return;
}

echo gmp_strval(fact(1000)) . "\n";
?>

This will calculate factorial of 1000 (pretty big number) very fast.

참고

More mathematical functions can be found in the sections BCMath Arbitrary Precision Mathematics Functions and Mathematical Functions.

차례

gmp_abs -- Absolute value
gmp_add -- Add numbers
gmp_and -- Logical AND
gmp_clrbit -- Clear bit
gmp_cmp -- Compare numbers
gmp_com -- Calculates one's complement
gmp_div_q -- Divide numbers
gmp_div_qr -- Divide numbers and get quotient and remainder
gmp_div_r -- Remainder of the division of numbers
gmp_div -- Alias of gmp_div_q()
gmp_divexact -- Exact division of numbers
gmp_fact -- Factorial
gmp_gcd -- Calculate GCD
gmp_gcdext -- Calculate GCD and multipliers
gmp_hamdist -- Hamming distance
gmp_init -- Create GMP number
gmp_intval -- Convert GMP number to integer
gmp_invert -- Inverse by modulo
gmp_jacobi -- Jacobi symbol
gmp_legendre -- Legendre symbol
gmp_mod -- Modulo operation
gmp_mul -- Multiply numbers
gmp_neg -- Negate number
gmp_nextprime -- Find next prime number
gmp_or -- Logical OR
gmp_perfect_square -- Perfect square check
gmp_popcount -- Population count
gmp_pow -- Raise number into power
gmp_powm -- Raise number into power with modulo
gmp_prob_prime -- Check if number is "probably prime"
gmp_random -- Random number
gmp_scan0 -- Scan for 0
gmp_scan1 -- Scan for 1
gmp_setbit -- Set bit
gmp_sign -- Sign of number
gmp_sqrt -- Calculate square root
gmp_sqrtrem -- Square root with remainder
gmp_strval -- Convert GMP number to string
gmp_sub -- Subtract numbers
gmp_testbit -- Tests if a bit is set
gmp_xor -- Logical XOR
이전 | 위로 | 다음
textdomain | 처음으로 | gmp_abs


gmp_abs

(PHP 4 >= 4.0.4, PHP 5)

gmp_abs -- Absolute value

설명

resource gmp_abs ( resource $a )

Get the absolute value of a number.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

Returns the absolute value of a, as a GMP number.

예제

예 678. gmp_abs() example

<?php
$abs1 = gmp_abs("274982683358");
$abs2 = gmp_abs("-274982683358");

echo gmp_strval($abs1) . "\n";
echo gmp_strval($abs2) . "\n";
?>

위 예제의 출력:

274982683358
274982683358

이전 | 위로 | 다음
LI. GMP Functions | 처음으로 | gmp_add


gmp_add

(PHP 4 >= 4.0.4, PHP 5)

gmp_add -- Add numbers

설명

resource gmp_add ( resource $a, resource $b )

Add two numbers.

매개변수

a

A number that will be added.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

A number that will be added.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

A GMP number representing the sum of the arguments.

예제

예 679. gmp_add() example

<?php
$sum = gmp_add("123456789012345", "76543210987655");
echo gmp_strval($sum) . "\n";
?>

위 예제의 출력:

200000000000000

이전 | 위로 | 다음
gmp_abs | 처음으로 | gmp_and


gmp_and

(PHP 4 >= 4.0.4, PHP 5)

gmp_and -- Logical AND

설명

resource gmp_and ( resource $a, resource $b )

Calculates logical AND of two GMP numbers.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

A GMP number representing the logical AND comparison.

예제

예 680. gmp_and() example

<?php
$and1 = gmp_and("0xfffffffff4", "0x4");
$and2 = gmp_and("0xfffffffff4", "0x8");
echo gmp_strval($and1) . "\n";
echo gmp_strval($and2) . "\n";
?>

위 예제의 출력:

4
0

이전 | 위로 | 다음
gmp_add | 처음으로 | gmp_clrbit


gmp_clrbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_clrbit -- Clear bit

설명

void gmp_clrbit ( resource &$a, int $index )

Clears (sets to 0) bit index in a. The index starts at 0.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

index

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

GMP 수 resource.

예제

예 681. gmp_clrbit() example

<?php
$a = gmp_init("0xff");
gmp_clrbit($a, 0); // index starts at 0, least significant bit
echo gmp_strval($a) . "\n";
?>

위 예제의 출력:

254

주의

참고: Unlike most of the other GMP functions, gmp_clrbit() must be called with a GMP resource that already exists (using gmp_init() for example). One will not be automatically created.

참고

gmp_setbit()
gmp_testbit()

이전 | 위로 | 다음
gmp_and | 처음으로 | gmp_cmp


gmp_cmp

(PHP 4 >= 4.0.4, PHP 5)

gmp_cmp -- Compare numbers

설명

int gmp_cmp ( resource $a, resource $b )

Compares two numbers.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

Returns a positive value if a > b, zero if a = b and a negative value if a < b.

예제

예 682. gmp_cmp() example

<?php
$cmp1 = gmp_cmp("1234", "1000"); // greater than
$cmp2 = gmp_cmp("1000", "1234"); // less than
$cmp3 = gmp_cmp("1234", "1234"); // equal to

echo "$cmp1 $cmp2 $cmp3\n";
?>

위 예제의 출력:

1 -1 0

이전 | 위로 | 다음
gmp_clrbit | 처음으로 | gmp_com


gmp_com

(PHP 4 >= 4.0.4, PHP 5)

gmp_com -- Calculates one's complement

설명

resource gmp_com ( resource $a )

Returns the one's complement of a.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

Returns the one's complement of a, as a GMP number.

예제

예 683. gmp_com() example

<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>

위 예제의 출력:

-1235

이전 | 위로 | 다음
gmp_cmp | 처음으로 | gmp_div_q


gmp_div_q

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_q -- Divide numbers

설명

resource gmp_div_q ( resource $a, resource $b [, int $round] )

Divides a by b and returns the integer result.

매개변수

a

The number being divided.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

The number that a is being divided by.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

round

The result rounding is defined by the round, which can have the following values:

  • GMP_ROUND_ZERO: The result is truncated towards 0.
  • GMP_ROUND_PLUSINF: The result is rounded towards +infinity.
  • GMP_ROUND_MINUSINF: The result is rounded towards -infinity.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

GMP 수 resource.

예제

예 684. gmp_div_q() example

<?php
$div1 = gmp_div_q("100", "5");
echo gmp_strval($div1) . "\n";

$div2 = gmp_div_q("1", "3");
echo gmp_strval($div2) . "\n";

$div3 = gmp_div_q("1", "3", GMP_ROUND_PLUSINF);
echo gmp_strval($div3) . "\n";

$div4 = gmp_div_q("-1", "4", GMP_ROUND_PLUSINF);
echo gmp_strval($div4) . "\n";

$div5 = gmp_div_q("-1", "4", GMP_ROUND_MINUSINF);
echo gmp_strval($div5) . "\n";
?>

위 예제의 출력:

20
0
1
0
-1

주의

참고: This function can also be called as gmp_div().

참고

gmp_div_r()
gmp_div_qr()

이전 | 위로 | 다음
gmp_com | 처음으로 | gmp_div_qr


gmp_div_qr

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_qr -- Divide numbers and get quotient and remainder

설명

array gmp_div_qr ( resource $n, resource $d [, int $round] )

The function divides n by d.

매개변수

n

The number being divided.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

d

The number that n is being divided by.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

round

See the gmp_div_q() function for description of the round argument.

반환값

Returns an array, with the first element being [n/d] (the integer result of the division) and the second being (n - [n/d] * d) (the remainder of the division).

예제

예 685. Division of GMP numbers

<?php
$a = gmp_init("0x41682179fbf5");
$res = gmp_div_qr($a, "0xDEFE75");
printf("Result is: q - %s, r - %s",
       gmp_strval($res[0]), gmp_strval($res[1]));
?>

참고

gmp_div_q()
gmp_div_r()

이전 | 위로 | 다음
gmp_div_q | 처음으로 | gmp_div_r


gmp_div_r

(PHP 4 >= 4.0.4, PHP 5)

gmp_div_r -- Remainder of the division of numbers

설명

resource gmp_div_r ( resource $n, resource $d [, int $round] )

Calculates remainder of the integer division of n by d. The remainder has the sign of the n argument, if not zero.

매개변수

n

The number being divided.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

d

The number that n is being divided by.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

round

See the gmp_div_q() function for description of the round argument.

반환값

The remainder, as a GMP number.

예제

예 686. gmp_div_r() example

<?php
$div = gmp_div_r("105", "20");
echo gmp_strval($div) . "\n";
?>

위 예제의 출력:

5

참고

gmp_div_q()
gmp_div_qr()

이전 | 위로 | 다음
gmp_div_qr | 처음으로 | gmp_div


gmp_div

(PHP 4 >= 4.0.4, PHP 5)

gmp_div -- Alias of gmp_div_q()

설명

이 함수는 다음 함수의 alias입니다: gmp_div_q().

이전 | 위로 | 다음
gmp_div_r | 처음으로 | gmp_divexact


gmp_divexact

(PHP 4 >= 4.0.4, PHP 5)

gmp_divexact -- Exact division of numbers

설명

resource gmp_divexact ( resource $n, resource $d )

Divides n by d, using fast "exact division" algorithm. This function produces correct results only when it is known in advance that d divides n.

매개변수

n

The number being divided.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

d

The number that a is being divided by.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

GMP 수 resource.

예제

예 687. gmp_divexact() example

<?php
$div1 = gmp_divexact("10", "2");
echo gmp_strval($div1) . "\n";

$div2 = gmp_divexact("10", "3"); // bogus result
echo gmp_strval($div2) . "\n";
?>

위 예제의 출력:

5
2863311534

이전 | 위로 | 다음
gmp_div | 처음으로 | gmp_fact


gmp_fact

(PHP 4 >= 4.0.4, PHP 5)

gmp_fact -- Factorial

설명

resource gmp_fact ( int $a )

Calculates factorial (a!) of a.

매개변수

a

The factorial number.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

GMP 수 resource.

예제

예 688. gmp_fact() example

<?php
$fact1 = gmp_fact(5); // 5 * 4 * 3 * 2 * 1
echo gmp_strval($fact1) . "\n";

$fact2 = gmp_fact(50); // 50 * 49 * 48, ... etc
echo gmp_strval($fact2) . "\n";
?>

위 예제의 출력:

120
30414093201713378043612608166064768844377641568960512000000000000

이전 | 위로 | 다음
gmp_divexact | 처음으로 | gmp_gcd


gmp_gcd

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcd -- Calculate GCD

설명

resource gmp_gcd ( resource $a, resource $b )

Calculate greatest common divisor of a and b. The result is always positive even if either of, or both, input operands are negative.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

A positive GMP number that divides into both a and b.

예제

예 689. gmp_gcd() example

<?php
$gcd = gmp_gcd("12", "21");
echo gmp_strval($gcd) . "\n";
?>

위 예제의 출력:

3

이전 | 위로 | 다음
gmp_fact | 처음으로 | gmp_gcdext


gmp_gcdext

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcdext -- Calculate GCD and multipliers

설명

array gmp_gcdext ( resource $a, resource $b )

Calculates g, s, and t, such that a*s + b*t = g = gcd(a,b), where gcd is the greatest common divisor. Returns an array with respective elements g, s and t.

This function can be used to solve linear Diophantine equations in two variables. These are equations that allow only integer solutions and have the form: a*x + b*y = c. For more information, go to the » "Diophantine Equation" page at MathWorld

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

An array of GMP numbers.

예제

예 690. Solving a linear Diophantine equation

<?php
// Solve the equation a*s + b*t = g
// where a = 12, b = 21, g = gcd(12, 21) = 3
$a = gmp_init(12);
$b = gmp_init(21);
$g = gmp_gcd($a, $b);
$r = gmp_gcdext($a, $b);

$check_gcd = (gmp_strval($g) == gmp_strval($r['g']));
$eq_res = gmp_add(gmp_mul($a, $r['s']), gmp_mul($b, $r['t']));
$check_res = (gmp_strval($g) == gmp_strval($eq_res));

if ($check_gcd && $check_res) {
    $fmt = "Solution: %d*%d + %d*%d = %d\n";
    printf($fmt, gmp_strval($a), gmp_strval($r['s']), gmp_strval($b),
    gmp_strval($r['t']), gmp_strval($r['g']));
} else {
    echo "Error while solving the equation\n";
}

// output: Solution: 12*2 + 21*-1 = 3
?>

이전 | 위로 | 다음
gmp_gcd | 처음으로 | gmp_hamdist


gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5)

gmp_hamdist -- Hamming distance

설명

int gmp_hamdist ( resource $a, resource $b )

Returns the hamming distance between a and b. Both operands should be non-negative.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

It should be positive.

b

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

It should be positive.

반환값

GMP 수 resource.

예제

예 691. gmp_hamdist() example

<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";

/* hamdist is equivilent to: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

위 예제의 출력:

6
6

참고

gmp_popcount()
gmp_xor()

이전 | 위로 | 다음
gmp_gcdext | 처음으로 | gmp_init


gmp_init

(PHP 4 >= 4.0.4, PHP 5)

gmp_init -- Create GMP number

설명

resource gmp_init ( mixed $number [, int $base] )

Creates a GMP number from an integer or string.

매개변수

number

An integer or a string. The string representation can be decimal, hexadecimal or octal.

base

The base. Defaults to 0.

The base may vary from 2 to 36. If base is 0 (default value), the actual base is determined from the leading characters: if the first two characters are 0x or 0X, hexadecimal is assumed, otherwise if the first character is "0", octal is assumed, otherwise decimal is assumed.

반환값

GMP 수 resource.

변경 기록

버전 | 설명
4.1.0 | The optional base parameter was added.

예제

예 692. Creating GMP number

<?php
$a = gmp_init(123456);
$b = gmp_init("0xFFFFDEBACDFEDF7200");
?>

주의

참고: It is not necessary to call this function if you want to use integer or string in place of GMP number in GMP functions, like gmp_add(). Function arguments are automatically converted to GMP numbers, if such conversion is possible and needed, using the same rules as gmp_init().

이전 | 위로 | 다음
gmp_hamdist | 처음으로 | gmp_intval


gmp_intval

(PHP 4 >= 4.0.4, PHP 5)

gmp_intval -- Convert GMP number to integer

설명

int gmp_intval ( resource $gmpnumber )

This function allows to convert GMP number to integer.

매개변수

gmpnumber

A GMP number.

반환값

An integer value of gmpnumber.

예제

예 693. gmp_intval() example

<?php
// displays correct result
echo gmp_intval("2147483647") . "\n";

// displays wrong result, above PHP integer limit
echo gmp_intval("2147483648") . "\n";

// displays correct result
echo gmp_strval("2147483648") . "\n";
?>

위 예제의 출력:

2147483647
2147483647
2147483648

주의

주의

This function returns a useful result only if the number actually fits the PHP integer (i.e., signed long type). If you want just to print the GMP number, use gmp_strval().

이전 | 위로 | 다음
gmp_init | 처음으로 | gmp_invert


gmp_invert

(PHP 4 >= 4.0.4, PHP 5)

gmp_invert -- Inverse by modulo

설명

resource gmp_invert ( resource $a, resource $b )

Computes the inverse of a modulo b.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

A GMP number on success or FALSE if an inverse does not exist.

예제

예 694. gmp_invert() example

<?php
echo gmp_invert("5", "10"); // no inverse, outputs nothing, result is FALSE
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>

위 예제의 출력:

9

이전 | 위로 | 다음
gmp_intval | 처음으로 | gmp_jacobi


gmp_jacobi

(PHP 4 >= 4.0.4, PHP 5)

gmp_jacobi -- Jacobi symbol

설명

int gmp_jacobi ( resource $a, resource $p )

Computes » Jacobi symbol of a and p. p should be odd and must be positive.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

p

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

Should be odd and must be positive.

반환값

GMP 수 resource.

예제

예 695. gmp_jacobi() example

<?php
echo gmp_jacobi("1", "3") . "\n";
echo gmp_jacobi("2", "3") . "\n";
?>

위 예제의 출력:

1
0

이전 | 위로 | 다음
gmp_invert | 처음으로 | gmp_legendre


gmp_legendre

(PHP 4 >= 4.0.4, PHP 5)

gmp_legendre -- Legendre symbol

설명

int gmp_legendre ( resource $a, resource $p )

Compute the » Legendre symbol of a and p. p should be odd and must be positive.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

p

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

Should be odd and must be positive.

반환값

GMP 수 resource.

예제

예 696. gmp_legendre() example

<?php
echo gmp_legendre("1", "3") . "\n";
echo gmp_legendre("2", "3") . "\n";
?>

위 예제의 출력:

1
0

이전 | 위로 | 다음
gmp_jacobi | 처음으로 | gmp_mod


gmp_mod

(PHP 4 >= 4.0.4, PHP 5)

gmp_mod -- Modulo operation

설명

resource gmp_mod ( resource $n, resource $d )

Calculates n modulo d. The result is always non-negative, the sign of d is ignored.

매개변수

n

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

d

The modulo that is being evaluated.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

GMP 수 resource.

예제

예 697. gmp_mod() example

<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>

위 예제의 출력:

2

이전 | 위로 | 다음
gmp_legendre | 처음으로 | gmp_mul


gmp_mul

(PHP 4 >= 4.0.4, PHP 5)

gmp_mul -- Multiply numbers

설명

resource gmp_mul ( resource $a, resource $b )

Multiplies a by b and returns the result.

매개변수

a

A number that will be multiplied by b.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

A number that will be multiplied by a.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

GMP 수 resource.

예제

예 698. gmp_mul() example

<?php
$mul = gmp_mul("12345678", "2000");
echo gmp_strval($mul) . "\n";
?>

위 예제의 출력:

24691356000

이전 | 위로 | 다음
gmp_mod | 처음으로 | gmp_neg


gmp_neg

(PHP 4 >= 4.0.4, PHP 5)

gmp_neg -- Negate number

설명

resource gmp_neg ( resource $a )

Returns the negative value of a number.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

Returns -a, as a GMP number.

예제

예 699. gmp_neg() example

<?php
$neg1 = gmp_neg("1");
echo gmp_strval($neg1) . "\n";
$neg2 = gmp_neg("-1");
echo gmp_strval($neg2) . "\n";
?>

위 예제의 출력:

-1
1

이전 | 위로 | 다음
gmp_mul | 처음으로 | gmp_nextprime


gmp_or

(PHP 4 >= 4.0.4, PHP 5)

gmp_or -- Logical OR

설명

resource gmp_or ( resource $a, resource $b )

Calculates logical inclusive OR of two GMP numbers.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

GMP 수 resource.

예제

예 701. gmp_or() example

<?php
$or1 = gmp_or("0xfffffff2", "4");
echo gmp_strval($or1, 16) . "\n";
$or2 = gmp_or("0xfffffff2", "2");
echo gmp_strval($or2, 16) . "\n";
?>

위 예제의 출력:

fffffff6
fffffff2

이전 | 위로 | 다음
gmp_nextprime | 처음으로 | gmp_perfect_square


gmp_perfect_square

(PHP 4 >= 4.0.4, PHP 5)

gmp_perfect_square -- Perfect square check

설명

bool gmp_perfect_square ( resource $a )

Check if a number is a perfect square.

매개변수

a

The number being checked as a perfect square.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

Returns TRUE if a is a perfect square, FALSE otherwise.

예제

예 702. gmp_perfect_square() example

<?php
// 3 * 3, perfect square
var_dump(gmp_perfect_square("9"));

// not a perfect square
var_dump(gmp_perfect_square("7"));

// 1234567890 * 1234567890, perfect square
var_dump(gmp_perfect_square("1524157875019052100"));
?>

위 예제의 출력:

bool(true)
bool(false)
bool(true)

참고

gmp_sqrt()
gmp_sqrtrem()

이전 | 위로 | 다음
gmp_or | 처음으로 | gmp_popcount


gmp_popcount

(PHP 4 >= 4.0.4, PHP 5)

gmp_popcount -- Population count

설명

int gmp_popcount ( resource $a )

Get the population count.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

The population count of a, as an integer.

예제

예 703. gmp_popcount() example

<?php
$pop1 = gmp_init("10000101", 2); // 3 1's
echo gmp_popcount($pop1) . "\n";
$pop2 = gmp_init("11111110", 2); // 7 1's
echo gmp_popcount($pop2) . "\n";
?>

위 예제의 출력:

3
7

이전 | 위로 | 다음
gmp_perfect_square | 처음으로 | gmp_pow


gmp_pow

(PHP 4 >= 4.0.4, PHP 5)

gmp_pow -- Raise number into power

설명

resource gmp_pow ( resource $base, int $exp )

Raise base into power exp.

매개변수

base

The base number.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

exp

The positive power to raise the base.

반환값

The new (raised) number, as a GMP number. The case of 0^0 yields 1.

예제

예 704. gmp_pow() example

<?php
$pow1 = gmp_pow("2", 31);
echo gmp_strval($pow1) . "\n";
$pow2 = gmp_pow("0", 0);
echo gmp_strval($pow2) . "\n";
$pow3 = gmp_pow("2", -1); // Negative exp, generates warning
echo gmp_strval($pow3) . "\n";
?>

위 예제의 출력:

2147483648
1

이전 | 위로 | 다음
gmp_popcount | 처음으로 | gmp_powm


gmp_powm

(PHP 4 >= 4.0.4, PHP 5)

gmp_powm -- Raise number into power with modulo

설명

resource gmp_powm ( resource $base, resource $exp, resource $mod )

Calculate (base raised into power exp) modulo mod. If exp is negative, result is undefined.

매개변수

base

The base number.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

exp

The positive power to raise the base.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

mod

The modulo.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

The new (raised) number, as a GMP number.

예제

예 705. gmp_powm() example

<?php
$pow1 = gmp_powm("2", "31", "2147483649");
echo gmp_strval($pow1) . "\n";
?>

위 예제의 출력:

2147483648

이전 | 위로 | 다음
gmp_pow | 처음으로 | gmp_prob_prime


gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5)

gmp_prob_prime -- Check if number is "probably prime"

설명

int gmp_prob_prime ( resource $a [, int $reps] )

The function uses Miller-Rabin's probabilistic test to check if a number is a prime.

매개변수

a

The number being checked as a prime.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

reps

Reasonable values of reps vary from 5 to 10 (default being 10); a higher value lowers the probability for a non-prime to pass as a "probable" prime.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

If this function returns 0, a is definitely not prime. If it returns 1, then a is "probably" prime. If it returns 2, then a is surely prime.

예제

예 706. gmp_prob_prime() example

<?php
// definitely not a prime
echo gmp_prob_prime("6") . "\n";

// probably a prime
echo gmp_prob_prime("1111111111111111111") . "\n";

// definitely a prime
echo gmp_prob_prime("11") . "\n";
?>

위 예제의 출력:

0
1
2

이전 | 위로 | 다음
gmp_powm | 처음으로 | gmp_random


gmp_random

(PHP 4 >= 4.0.4, PHP 5)

gmp_random -- Random number

설명

resource gmp_random ( int $limiter )

Generate a random number. The number will be between zero and the number of bits per limb multiplied by limiter. If limiter is negative, negative numbers are generated.

A limb is an internal GMP mechanism. The number of bits in a limb is not static, and can vary from system to system. Generally, the number of bits in a limb is either 16 or 32, but this is not guaranteed.

매개변수

limiter

The limiter.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

A random GMP number.

예제

예 707. gmp_random() example

<?php
$rand1 = gmp_random(1); // random number from 0 to 1 * bits per limb
$rand2 = gmp_random(2); // random number from 0 to 2 * bits per limb

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

위 예제의 출력:

1915834968
8642564075890328087

이전 | 위로 | 다음
gmp_prob_prime | 처음으로 | gmp_scan0


gmp_scan0

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan0 -- Scan for 0

설명

int gmp_scan0 ( resource $a, int $start )

Scans a, starting with bit start, towards more significant bits, until the first clear bit is found.

매개변수

a

The number to scan.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

start

The starting bit.

반환값

Returns the index of the found bit, as an integer. The index starts from 0.

예제

예 708. gmp_scan0() example

<?php
// "0" bit is found at position 3. index starts at 0
$s1 = gmp_init("10111", 2);
echo gmp_scan0($s1, 0) . "\n";

// "0" bit is found at position 7. index starts at 5
$s2 = gmp_init("101110000", 2);
echo gmp_scan0($s2, 5) . "\n";
?>

위 예제의 출력:

3
7

이전 | 위로 | 다음
gmp_random | 처음으로 | gmp_scan1


gmp_scan1

(PHP 4 >= 4.0.4, PHP 5)

gmp_scan1 -- Scan for 1

설명

int gmp_scan1 ( resource $a, int $start )

Scans a, starting with bit start, towards more significant bits, until the first set bit is found.

매개변수

a

The number to scan.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

start

The starting bit.

반환값

Returns the index of the found bit, as an integer. If no set bit is found, -1 is returned.

예제

예 709. gmp_scan1() example

<?php
// "1" bit is found at position 3. index starts at 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";

// "1" bit is found at position 9. index starts at 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>

위 예제의 출력:

3
9

이전 | 위로 | 다음
gmp_scan0 | 처음으로 | gmp_setbit


gmp_setbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_setbit -- Set bit

설명

void gmp_setbit ( resource &$a, int $index [, bool $set_clear] )

Sets bit index in a.

매개변수

a

The number being set to.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

index

The set bit.

set_clear

Defines if the bit is set to 0 or 1. By default the bit is set to 1. Index starts at 0.

반환값

GMP 수 resource.

예제

예 710. gmp_setbit() example

<?php
$a = gmp_init("0xfd");
gmp_setbit($a, 1); // index starts at 0
echo gmp_strval($a) . "\n";
?>

위 예제의 출력:

255

주의

참고: Unlike most of the other GMP functions, gmp_setbit() must be called with a GMP resource that already exists (using gmp_init() for example). One will not be automatically created.

참고

gmp_clrbit()
gmp_testbit()

이전 | 위로 | 다음
gmp_scan1 | 처음으로 | gmp_sign


gmp_sign

(PHP 4 >= 4.0.4, PHP 5)

gmp_sign -- Sign of number

설명

int gmp_sign ( resource $a )

Checks the sign of a number.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

Returns 1 if a is positive, -1 if a is negative, and 0 if a is zero.

예제

예 711. gmp_sign() example

<?php
// positive
echo gmp_sign("500") . "\n";

// negative
echo gmp_sign("-500") . "\n";

// zero
echo gmp_sign("0") . "\n";
?>

위 예제의 출력:

1
-1
0

이전 | 위로 | 다음
gmp_setbit | 처음으로 | gmp_sqrt


gmp_sqrt

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrt -- Calculate square root

설명

resource gmp_sqrt ( resource $a )

Calculates square root of a.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

The integer portion of the square root, as a GMP number.

예제

예 712. gmp_sqrt() example

<?php
$sqrt1 = gmp_sqrt("9");
$sqrt2 = gmp_sqrt("7");
$sqrt3 = gmp_sqrt("1524157875019052100");

echo gmp_strval($sqrt1) . "\n";
echo gmp_strval($sqrt2) . "\n";
echo gmp_strval($sqrt3) . "\n";
?>

위 예제의 출력:

3
2
1234567890

이전 | 위로 | 다음
gmp_sign | 처음으로 | gmp_sqrtrem


gmp_sqrtrem

(PHP 4 >= 4.0.4, PHP 5)

gmp_sqrtrem -- Square root with remainder

설명

array gmp_sqrtrem ( resource $a )

Calculate the square root of a number, with remainder.

매개변수

a

The number being square rooted.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

Returns array where first element is the integer square root of a and the second is the remainder (i.e., the difference between a and the first element squared).

예제

예 713. gmp_sqrtrem() example

<?php
list($sqrt1, $sqrt1rem) = gmp_sqrtrem("9");
list($sqrt2, $sqrt2rem) = gmp_sqrtrem("7");
list($sqrt3, $sqrt3rem) = gmp_sqrtrem("1048576");

echo gmp_strval($sqrt1) . ", " . gmp_strval($sqrt1rem) . "\n";
echo gmp_strval($sqrt2) . ", " . gmp_strval($sqrt2rem) . "\n";
echo gmp_strval($sqrt3) . ", " . gmp_strval($sqrt3rem) . "\n";
?>

위 예제의 출력:

3, 0
2, 3
1024, 0

이전 | 위로 | 다음
gmp_sqrt | 처음으로 | gmp_strval


gmp_strval

(PHP 4 >= 4.0.4, PHP 5)

gmp_strval -- Convert GMP number to string

설명

string gmp_strval ( resource $gmpnumber [, int $base] )

Convert GMP number to string representation in base base. The default base is 10.

매개변수

gmpnumber

The GMP number that will be converted to a string.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

base

The base of the returned number. The default base is 10. Allowed values for the base are from 2 to 36.

반환값

The number, as a string.

예제

예 714. Converting a GMP number to a string

<?php
$a = gmp_init("0x41682179fbf5");
printf("Decimal: %s, 36-based: %s", gmp_strval($a), gmp_strval($a,36));
?>

이전 | 위로 | 다음
gmp_sqrtrem | 처음으로 | gmp_sub


gmp_sub

(PHP 4 >= 4.0.4, PHP 5)

gmp_sub -- Subtract numbers

설명

resource gmp_sub ( resource $a, resource $b )

Subtracts b from a and returns the result.

매개변수

a

The number being subtracted from.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

The number subtracted from a.

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

GMP 수 resource.

예제

예 715. gmp_sub() example

<?php
$sub = gmp_sub("281474976710656", "4294967296"); // 2^48 - 2^32
echo gmp_strval($sub) . "\n";
?>

위 예제의 출력:

281470681743360

이전 | 위로 | 다음
gmp_strval | 처음으로 | gmp_testbit


gmp_xor

(PHP 4 >= 4.0.4, PHP 5)

gmp_xor -- Logical XOR

설명

resource gmp_xor ( resource $a, resource $b )

Calculates logical exclusive OR (XOR) of two GMP numbers.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

b

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

GMP 수 resource.

예제

예 717. gmp_xor() example

<?php
$xor1 = gmp_init("1101101110011101", 2);
$xor2 = gmp_init("0110011001011001", 2);

$xor3 = gmp_xor($xor1, $xor2);

echo gmp_strval($xor3, 2) . "\n";
?>

위 예제의 출력:

1011110111000100

이전 | 위로 | 다음
gmp_testbit | 처음으로 | LII. gnupg 함수


HTTP

이전 VI. 함수 레퍼런스 다음

LVI. HTTP

소개

HTTP 확장은 주요 PHP 어플리케이션에 편리하고 강력한 기능을 제공하는 것이 목적입니다.

HTTP의 URL, 날짜, 리다이렉트, 헤더, 메세지를 쉽게 다룰 수 있게 합니다. 즉, 간단하게 임의의 데이터 전송에 캐시 및 재송신 기능을 부가할 수 있고, 클라이언트가 선호하는 언어와 문자셋에 대한 협상을 할 숟도 있습니다.

CURL 지원을 사용한다면, 강력한 요청 기능을 제공합니다. PHP 5 이상에서는 병렬 요청을 할 수 있습니다.

매뉴얼에 있는 추가적인 API 레퍼런스와 설치 및 설정을 하는 방법, 예약된 전역 상수를 다음 섹션에서 확인할 수 있습니다:

설치
설정
전역 상수
자원형

클래스

이 확장은 다음의 클래스들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

HttpResponse 클래스는 PHP v5.1 이상이 필요합니다. 다른 클래스는 PHP v5.0부터 사용할 수 있습니다.

참고: 몇몇 메쏘드는 PHP v5.0에서 사용할 수 없는 점에 주의하십시오.

HttpMessage
HttpQueryString
HttpDeflateStream
HttpInflateStream
HttpRequest
HttpRequestPool
HttpResponse

함수

내장 함수

이 페이지에 있었던 HTTP 관련 내장함수는 네트워크 분류에서 찾아볼 수 있습니다.

다음 함수는 HTTP 모듈이 없어도 작동합니다: header(), headers_list(), headers_sent(), setcookie() 그리고 setrawcookie().

캐시

http_cache_etag()
http_cache_last_modified()

인코딩

http_chunked_decode()
http_deflate()
http_inflate()

기타

http_build_cookie()
http_date()
http_get_request_body_stream()
http_get_request_body()
http_get_request_headers()
http_match_etag()
http_match_modified()
http_match_request_header()
http_support()

협상

http_negotiate_charset()
http_negotiate_content_type()
http_negotiate_language()

출력핸들러

ob_deflatehandler()
ob_etaghandler()
ob_inflatehandler()

파서

http_parse_cookie()
http_parse_headers()
http_parse_message()
http_parse_params()

요청

http_get()
http_head()
http_post_data()
http_post_fields()
http_put_data()
http_put_file()
http_put_stream()
http_request_body_encode()
http_request_method_exists()
http_request_method_name()
http_request_method_register()
http_request_method_unregister()
http_request()

응답

http_redirect()
http_send_content_disposition()
http_send_content_type()
http_send_data()
http_send_file()
http_send_last_modified()
http_send_status()
http_send_stream()
http_throttle()

URL

http_build_str()
http_build_url()

지속 핸들

http_persistent_handles_count()
http_persistent_handles_ident()
http_persistent_handles_clean()

차례

Installation -- Installing the HTTP extension
Configuration -- http module configuration directives
Resources -- Resources created by the HTTP extension
Constants -- predefined http module constants
Request Options -- options usable with the HttpRequest class and request functions
HttpMessage -- HTTP Message Class
HttpMessage::__construct -- HttpMessage constructor
HttpMessage::factory -- Create HttpMessage from string
HttpMessage::fromEnv -- Create HttpMessage from environment
HttpMessage::fromString -- Create HttpMessage from string
HttpMessage::toString -- Get string representation
HttpMessage::toMessageTypeObject -- Create HTTP object regarding message type
HttpMessage::guessContentType -- Guess content type
HttpMessage::detach -- Detach HttpMessage
HttpMessage::prepend -- Prepend message(s)
HttpMessage::reverse -- Reverse message chain
HttpMessage::send -- Send message
HttpMessage::getParentMessage -- Get parent message
HttpMessage::getType -- Get message type
HttpMessage::setType -- Set message type
HttpMessage::getHttpVersion -- Get HTTP version
HttpMessage::setHttpVersion -- Set HTTP version
HttpMessage::getHeaders -- Get message headers
HttpMessage::getHeader -- Get header
HttpMessage::addHeaders -- Add headers
HttpMessage::setHeaders -- Set headers
HttpMessage::getBody -- Get message body
HttpMessage::setBody -- Set message body
HttpMessage::getRequestMethod -- Get request method
HttpMessage::setRequestMethod -- Set request method
HttpMessage::getRequestUrl -- Get request URL
HttpMessage::setRequestUrl -- Set request URL
HttpMessage::getResponseCode -- Get response code
HttpMessage::setResponseCode -- Set response code
HttpMessage::getResponseStatus -- Get response status
HttpMessage::setResponseStatus -- Set response status
HttpQueryString -- HTTP Query String Class
HttpQueryString::__construct -- HttpQueryString constructor
HttpQueryString::singleton -- HttpQueryString singleton
HttpQueryString::get -- Get (part of) query string
HttpQueryString::mod -- Modifiy query string copy
HttpQueryString::set -- Set query string params
HttpQueryString::toArray -- Get query string as array
HttpQueryString::toString -- Get query string
HttpQueryString::xlate -- Change query strings charset
HttpDeflateStream -- HTTP Deflate Stream Class
HttpDeflateStream::factory -- HttpDeflateStream class factory
HttpDeflateStream::__construct -- HttpDeflateStream class constructor
HttpDeflateStream::update -- Update deflate stream
HttpDeflateStream::flush -- Flush deflate stream
HttpDeflateStream::finish -- Finalize deflate stream
HttpInflateStream -- HTTP Inflate Stream
HttpInflateStream::factory -- HttpInflateStream class factory
HttpInflateStream::__construct -- HttpInflateStream class constructor
HttpInflateStream::update -- Update inflate stream
HttpInflateStream::flush -- Flush inflate stream
HttpInflateStream::finish -- Finalize inflate stream
HttpRequest -- HTTP Request Class
HttpRequest::addCookies -- Add cookies
HttpRequest::addHeaders -- Add headers
HttpRequest::addPostFields -- Add post fields
HttpRequest::addPostFile -- Add post file
HttpRequest::addPutData -- Add put data
HttpRequest::addQueryData -- Add query data
HttpRequest::addRawPostData -- Add raw post data
HttpRequest::addSslOptions -- Add ssl options
HttpRequest::clearHistory -- Clear history
HttpRequest::__construct -- HttpRequest constructor
HttpRequest::enableCookies -- Enable cookies
HttpRequest::getContentType -- Get content type
HttpRequest::getCookies -- Get cookies
HttpRequest::getHeaders -- Get headers
HttpRequest::getHistory -- Get history
HttpRequest::getMethod -- Get method
HttpRequest::getOptions -- Get options
HttpRequest::getPostFields -- Get post fields
HttpRequest::getPostFiles -- Get post files
HttpRequest::getPutData -- Get put data
HttpRequest::getPutFile -- Get put file
HttpRequest::getQueryData -- Get query data
HttpRequest::getRawPostData -- Get raw post data
HttpRequest::getRawRequestMessage -- Get raw request message
HttpRequest::getRawResponseMessage -- Get raw response message
HttpRequest::getRequestMessage -- Get request message
HttpRequest::getResponseBody -- Get response body
HttpRequest::getResponseCode -- Get response code
HttpRequest::getResponseCookies -- Get response cookie(s)
HttpRequest::getResponseData -- Get response data
HttpRequest::getResponseHeader -- Get response header(s)
HttpRequest::getResponseInfo -- Get response info
HttpRequest::getResponseMessage -- Get response message
HttpRequest::getResponseStatus -- Get response status
HttpRequest::getSslOptions -- Get ssl options
HttpRequest::getUrl -- Get url
HttpRequest::resetCookies -- Reset cookies
HttpRequest::send -- Send request
HttpRequest::setContentType -- Set content type
HttpRequest::setCookies -- Set cookies
HttpRequest::setHeaders -- Set headers
HttpRequest::setMethod -- Set method
HttpRequest::setOptions -- Set options
HttpRequest::setPostFields -- Set post fields
HttpRequest::setPostFiles -- Set post files
HttpRequest::setPutData -- Set put data
HttpRequest::setPutFile -- Set put file
HttpRequest::setQueryData -- Set query data
HttpRequest::setRawPostData -- Set raw post data
HttpRequest::setSslOptions -- Set ssl options
HttpRequest::setUrl -- Set URL
HttpRequestPool -- HTTP Request Pool Class
HttpRequestPool::attach -- Attach HttpRequest
HttpRequestPool::__construct -- HttpRequestPool constructor
HttpRequestPool::__destruct -- HttpRequestPool destructor
HttpRequestPool::detach -- Detach HttpRequest
HttpRequestPool::getAttachedRequests -- Get attached requests
HttpRequestPool::getFinishedRequests -- Get finished requests
HttpRequestPool::reset -- Reset request pool
HttpRequestPool::send -- Send all requests
HttpRequestPool::socketPerform -- Perform socket actions
HttpRequestPool::socketSelect -- Perform socket select
HttpResponse -- HTTP Response Class
HttpResponse::capture -- Capture script output
HttpResponse::getBufferSize -- Get buffer size
HttpResponse::getCacheControl -- Get cache control
HttpResponse::getCache -- Get cache
HttpResponse::getContentDisposition -- Get content disposition
HttpResponse::getContentType -- Get content type
HttpResponse::getData -- Get data
HttpResponse::getETag -- Get ETag
HttpResponse::getFile -- Get file
HttpResponse::getGzip -- Get gzip
HttpResponse::getHeader -- Get header
HttpResponse::getLastModified -- Get last modified
HttpResponse::getStream -- Get Stream
HttpResponse::getThrottleDelay -- Get throttle delay
HttpResponse::getRequestBody -- Get request body
HttpResponse::getRequestBodyStream -- Get request body stream
HttpResponse::getRequestHeaders -- Get request headers
HttpResponse::guessContentType -- Guess content type
HttpResponse::redirect -- Redirect
HttpResponse::send -- Send response
HttpResponse::setBufferSize -- Set buffer size
HttpResponse::setCacheControl -- Set cache control
HttpResponse::setCache -- Set cache
HttpResponse::setContentDisposition -- Set content disposition
HttpResponse::setContentType -- Set content type
HttpResponse::setData -- Set data
HttpResponse::setETag -- Set ETag
HttpResponse::setFile -- Set file
HttpResponse::setGzip -- Set gzip
HttpResponse::setHeader -- Set header
HttpResponse::setLastModified -- Set last modified
HttpResponse::setStream -- Set stream
HttpResponse::setThrottleDelay -- Set throttle delay
HttpResponse::status -- Send HTTP response status
http_cache_etag -- Caching by ETag
http_cache_last_modified -- Caching by last modification
http_chunked_decode -- Decode chunked-encoded data
http_deflate -- Deflate data
http_inflate -- Inflate data
http_get_request_body_stream -- Get request body as stream
http_get_request_body -- Get request body as string
http_get_request_headers -- Get request headers as array
http_date -- Compose HTTP RFC compliant date
http_support -- Check built-in HTTP support
http_match_etag -- Match ETag
http_match_modified -- Match last modification
http_match_request_header -- Match any header
http_build_cookie -- Build cookie string
http_negotiate_charset -- Negotiate clients preferred character set
http_negotiate_content_type -- Negotiate clients preferred content type
http_negotiate_language -- Negotiate clients preferred language
ob_deflatehandler -- Deflate output handler
ob_etaghandler -- ETag output handler
ob_inflatehandler -- Inflate output handler
http_parse_cookie -- Parse HTTP cookie
http_parse_headers -- Parse HTTP headers
http_parse_message -- Parse HTTP messages
http_parse_params -- Parse parameter list
http_persistent_handles_count -- Stat persistent handles
http_persistent_handles_ident -- Get/set ident of persistent handles
http_persistent_handles_clean -- Clean up persistent handles
http_get -- Perform GET request
http_head -- Perform HEAD request
http_post_data -- Perform POST request with pre-encoded data
http_post_fields -- Perform POST request with data to be encoded
http_put_data -- Perform PUT request with data
http_put_file -- Perform PUT request with file
http_put_stream -- Perform PUT request with stream
http_request_method_exists -- Check whether request method exists
http_request_method_name -- Get request method name
http_request_method_register -- Register request method
http_request_method_unregister -- Unregister request method
http_request -- Perform custom request
http_request_body_encode -- Encode request body
http_redirect -- Issue HTTP redirect
http_send_content_disposition -- Send Content-Disposition
http_send_content_type -- Send Content-Type
http_send_data -- Send arbitrary data
http_send_file -- Send file
http_send_last_modified -- Send Last-Modified
http_send_status -- Send HTTP response status
http_send_stream -- Send stream
http_throttle -- HTTP throttling
http_build_str -- Build query string
http_build_url -- Build an URL
이전 | 위로 | 다음
hash | 처음으로 | Installation


header

(PHP 4, PHP 5)

header -- Send a raw HTTP header

설명

void header ( string $string [, bool $replace [, int $http_response_code]] )

header() is used to send a raw HTTP header. See the » HTTP/1.1 specification for more information on HTTP headers.

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

<html>
<?php
/* This will give an error. Note the output
 * above, which is before the header() call */
header('Location: http://www.example.com/');
?>

매개변수

string

The header string.

There are two special-case header calls. The first is a header that starts with the string "HTTP/" (case is not significant), which will be used to figure out the HTTP status code to send. For example, if you have configured Apache to use a PHP script to handle requests for missing files (using the ErrorDocument directive), you may want to make sure that your script generates the proper status code.

<?php
header("HTTP/1.0 404 Not Found");
?>

The second special case is the "Location:" header. Not only does it send this header back to the browser, but it also returns a REDIRECT (302) status code to the browser unless some 3xx status code has already been set.

<?php
header("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

replace

The optional replace parameter indicates whether the header should replace a previous similar header, or add a second header of the same type. By default it will replace, but if you pass in FALSE as the second argument you can force multiple headers of the same type. For example:

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>

http_response_code

Forces the HTTP response code to the specified value.

반환값

값을 반환하지 않습니다.

변경 기록

버전 | 설명
4.4.2 and 5.1.2 | This function now prevents more than one header to be sent at once as a protection against header injection attacks.
4.3.0 | The http_response_code parameter was added.
4.0.4 | The replace parameter was added.

예제

예 1489. Download dialog

If you want the user to be prompted to save the data you are sending, such as a generated PDF file, you can use the » Content-Disposition header to supply a recommended filename and force the browser to display the save dialog.

<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>

예 1490. Caching directives

PHP scripts often generate dynamic content that must not be cached by the client browser or any proxy caches between the server and the client browser. Many proxies and clients can be forced to disable caching with:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

참고: You may find that your pages aren't cached even if you don't output all of the headers above. There are a number of options that users may be able to set for their browser that change its default caching behavior. By sending the headers above, you should override any settings that may otherwise cause the output of your script to be cached.

Additionally, session_cache_limiter() and the session.cache_limiter configuration setting can be used to automatically generate the correct caching-related headers when sessions are being used.

주의

참고: As of PHP 4, you can use output buffering to get around this problem, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling ob_start() and ob_end_flush() in your script, or setting the output_buffering configuration directive on in your php.ini or server configuration files.

참고: The HTTP status header line will always be the first sent to the client, regardless of the actual header() call being the first or not. The status may be overridden by calling header() with a new status line at any time unless the HTTP headers have already been sent.

참고: There is a bug in Microsoft Internet Explorer 4.01 that prevents this from working. There is no workaround. There is also a bug in Microsoft Internet Explorer 5.5 that interferes with this, which can be resolved by upgrading to Service Pack 2 or later.

참고: If safe mode is enabled the uid of the script is added to the realm part of the WWW-Authenticate header if you set this header (used for HTTP Authentication).

참고: HTTP/1.1 requires an absolute URI as argument to » Location: including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative one yourself:

<?php
/* Redirect to a different page in the current directory that was requested */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

참고: Session ID is not passed with Location header even if session.use_trans_sid is enabled. It must by passed manually using SID constant.

참고

headers_sent()
setcookie()
The section on HTTP authentication

이전 | 위로 | 다음
getservbyport | 처음으로 | headers_list


headers_list

(PHP 5)

headers_list -- Returns a list of response headers sent (or ready to send)

설명

array headers_list ( void )

headers_list() will return a list of headers to be sent to the browser / client. To determine whether or not these headers have been sent yet, use headers_sent().

반환값

Returns a numerically indexed array of headers.

예제

예 1491. Examples using headers_list()

<?php

/* setcookie() will add a response header on its own */
setcookie('foo', 'bar');

/* Define a custom response header
   This will be ignored by most clients */
header("X-Sample-Test: foo");

/* Specify plain text content in our response */
header('Content-type: text/plain');

/* What headers are going to be sent? */
var_dump(headers_list());

?>

위 예제의 출력:

array(4) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.1.3"
  [1]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  string(18) "X-Sample-Test: foo"
  [3]=>
  string(24) "Content-type: text/plain"
}

참고

headers_sent()
header()
setcookie()

이전 | 위로 | 다음
header | 처음으로 | headers_sent


headers_sent

(PHP 4, PHP 5)

headers_sent -- Checks if or where headers have been sent

설명

bool headers_sent ( [string &$file [, int &$line]] )

Checks if or where headers have been sent.

You can't add any more header lines using the header() function once the header block has already been sent. Using this function you can at least prevent getting HTTP header related error messages. Another option is to use Output Buffering.

매개변수

file

If the optional file and line parameters are set, headers_sent() will put the PHP source file name and line number where output started in the file and line variables.

line

The line number where the output started.

반환값

headers_sent() will return FALSE if no HTTP headers have already been sent or TRUE otherwise.

변경 기록

버전 | 설명
4.3.0 | The optional file and line parameters were added.

예제

예 1492. Examples using headers_sent()

<?php

// If no headers are sent, send one
if (!headers_sent()) {
    header('Location: http://www.example.com/');
    exit;
}

// An example using the optional file and line parameters, as of PHP 4.3.0
// Note that $filename and $linenum are passed in for later use.
// Do not assign them values beforehand.
if (!headers_sent($filename, $linenum)) {
    header('Location: http://www.example.com/');
    exit;

// You would most likely trigger an error here.
} else {

    echo "Headers already sent in $filename on line $linenum\n" .
          "Cannot redirect, for now please click this <a " .
          "href=\"http://www.example.com\">link</a> instead\n";
    exit;
}

?>

참고

ob_start()
trigger_error()
header() for a more detailed discussion of the matters involved.

이전 | 위로 | 다음
headers_list | 처음으로 | inet_ntop


setcookie

(PHP 4, PHP 5)

setcookie -- Send a cookie

설명

bool setcookie ( string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly]]]]]] )

setcookie() defines a cookie to be sent along with the rest of the HTTP headers. Like other headers, cookies must be sent before any output from your script (this is a protocol restriction). This requires that you place calls to this function prior to any output, including <html> and <head> tags as well as any whitespace.

Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS arrays. Note, superglobals such as $_COOKIE became available in PHP 4.1.0. $HTTP_COOKIE_VARS has existed since PHP 3. Cookie values also exist in $_REQUEST.

매개변수

All the arguments except the name argument are optional. You may also replace an argument with an empty string ("") in order to skip that argument. Because the expire argument is integer, it cannot be skipped with an empty string, use a zero (0) instead.

See » Netscape cookie specification for specifics on how each setcookie() parameter works

name

The name of the cookie.

value

The value of the cookie. This value is stored on the clients computer; do not store sensitive information. Assuming the name is 'cookiename', this value is retrieved through $_COOKIE['cookiename']

expire

The time the cookie expires. This is a Unix timestamp so is in number of seconds since the epoch. In other words, you'll most likely set this with the time() function plus the number of seconds before you want it to expire. Or you might use mktime(). time()+60*60*24*30 will set the cookie to expire in 30 days. If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).

참고: You may notice the expire parameter takes on a Unix timestamp, as opposed to the date format Wdy, DD-Mon-YYYY HH:MM:SS GMT, this is because PHP does this conversion internally.

expire is compared to the client's time which can differ from server's time.

path

The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.

domain

The domain that the cookie is available. To make the cookie available on all subdomains of example.com then you'd set it to '.example.com'. The . is not required but makes it compatible with more browsers. Setting it to www.example.com will make the cookie only available in the www subdomain. Refer to tail matching in the » spec for details.

secure

Indicates that the cookie should only be transmitted over a secure HTTPS connection from the client. When set to TRUE, the cookie will only be set if a secure connection exists. The default is FALSE. On the server-side, it's on the programmer to send this kind of cookie only on secure connection (e.g. with respect to $_SERVER["HTTPS"]).

httponly

When TRUE the cookie will be made accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. This setting can effectly help to reduce identity theft through XSS attacks (although it is not supported by all browsers). Added in PHP 5.2.0. TRUE or FALSE

반환값

If output exists prior to calling this function, setcookie() will fail and return FALSE. If setcookie() successfully runs, it will return TRUE. This does not indicate whether the user accepted the cookie.

예제

Some examples follow how to send cookies:

예 1496. setcookie() send example

<?php
$value = 'something from somewhere';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>

Note that the value portion of the cookie will automatically be urlencoded when you send the cookie, and when it is received, it is automatically decoded and assigned to a variable by the same name as the cookie name. If you don't want this, you can use setrawcookie() instead if you are using PHP 5. To see the contents of our test cookie in a script, simply use one of the following examples:

<?php
// Print an individual cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Another way to debug/test is to view all cookies
print_r($_COOKIE);
?>

예 1497. setcookie() delete example

When deleting a cookie you should assure that the expiration date is in the past, to trigger the removal mechanism in your browser. Examples follow how to delete cookies sent in previous example:

<?php
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>

예 1498. setcookie() and arrays

You may also set array cookies by using array notation in the cookie name. This has the effect of setting as many cookies as you have array elements, but when the cookie is received by your script, the values are all placed in an array with the cookie's name:

<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $name => $value) {
        echo "$name : $value <br />\n";
    }
}
?>

위 예제의 출력:

three : cookiethree
two : cookietwo
one : cookieone

주의

참고: As of PHP 4, you can use output buffering to send output prior to the call of this function, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling ob_start() and ob_end_flush() in your script, or setting the output_buffering configuration directive on in your php.ini or server configuration files.

참고: If the PHP directive register_globals is set to on then cookie values will also be made into variables. In our examples below, $TestCookie will exist. It's recommended to use $_COOKIE.

Common Pitfalls:

  • Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires. Expire time is set via the expire parameter. A nice way to debug the existence of cookies is by simply calling print_r($_COOKIE);.
  • Cookies must be deleted with the same parameters as they were set with. If the value argument is an empty string, or FALSE, and all other arguments match a previous call to setcookie, then the cookie with the specified name will be deleted from the remote client.
  • Because setting a cookie with a value of FALSE will try to delete the cookie, you should not use boolean values. Instead, use 0 for FALSE and 1 for TRUE.
  • Cookies names can be set as array names and will be available to your PHP scripts as arrays but separate cookies are stored on the users system. Consider explode() to set one cookie with multiple names and values. It is not recommended to use serialize() for this purpose, because it can result in security holes.

In PHP 3, multiple calls to setcookie() in the same script will be performed in reverse order. If you are trying to delete one cookie before inserting another you should put the insert before the delete. As of PHP 4, multiple calls to setcookie() are performed in the order called.

참고: Microsoft Internet Explorer 4 with Service Pack 1 applied does not correctly deal with cookies that have their path parameter set.

Netscape Communicator 4.05 and Microsoft Internet Explorer 3.x appear to handle cookies incorrectly when the path and time are not set.

참고

header()
setrawcookie()
cookies section
» RFC 2109
» RFC 2965

이전 | 위로 | 다음
pfsockopen | 처음으로 | setrawcookie


setrawcookie

(PHP 5)

setrawcookie -- Send a cookie without urlencoding the cookie value

설명

bool setrawcookie ( string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly]]]]]] )

setrawcookie() is exactly the same as setcookie() except that the cookie value will not be automatically urlencoded when sent to the browser.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
5.2.0 | The httponly parameter was added.

참고

setcookie()

이전 | 위로 | 다음
setcookie | 처음으로 | socket_get_status


Hyperwave Functions

이전 VI. 함수 레퍼런스 다음

LVII. Hyperwave Functions

소개

Hyperwave has been developed at » IICM in Graz. It started with the name Hyper-G and changed to Hyperwave when it was commercialised (in 1996).

Hyperwave is not free software. The current version, 5.5 is available at » http://www.hyperwave.com/. A time limited version can be ordered for free (30 days).

See also the Hyperwave API module.

Hyperwave is an information system similar to a database (HIS, Hyperwave Information Server). Its focus is the storage and management of documents. A document can be any possible piece of data that may as well be stored in file. Each document is accompanied by its object record. The object record contains meta data for the document. The meta data is a list of attributes which can be extended by the user. Certain attributes are always set by the Hyperwave server, other may be modified by the user. An attribute is a name/value pair of the form name=value. The complete object record contains as many of those pairs as the user likes. The name of an attribute does not have to be unique, e.g. a title may appear several times within an object record. This makes sense if you want to specify a title in several languages. In such a case there is a convention, that each title value is preceded by the two letter language abbreviation followed by a colon, e.g. 'en:Title in English' or 'ge:Titel in deutsch'. Other attributes like a description or keywords are potential candidates. You may also replace the language abbreviation by any other string as long as it separated by colon from the rest of the attribute value.

Each object record has native a string representation with each name/value pair separated by a newline. The Hyperwave extension also knows a second representation which is an associated array with the attribute name being the key. Multilingual attribute values itself form another associated array with the key being the language abbreviation. Actually any multiple attribute forms an associated array with the string left to the colon in the attribute value being the key. (This is not fully implemented. Only the attributes Title, Description and Keyword are treated properly yet.)

Besides the documents, all hyper links contained in a document are stored as object records as well. Hyper links which are in a document will be removed from it and stored as individual objects, when the document is inserted into the database. The object record of the link contains information about where it starts and where it ends. In order to gain the original document you will have to retrieve the plain document without the links and the list of links and reinsert them. The functions hw_pipedocument() and hw_gettext() do this for you. The advantage of separating links from the document is obvious. Once a document to which a link is pointing to changes its name, the link can easily be modified accordingly. The document containing the link is not affected at all. You may even add a link to a document without modifying the document itself.

Saying that hw_pipedocument() and hw_gettext() do the link insertion automatically is not as simple as it sounds. Inserting links implies a certain hierarchy of the documents. On a web server this is given by the file system, but Hyperwave has its own hierarchy and names do not reflect the position of an object in that hierarchy. Therefore creation of links first of all requires a mapping from the Hyperwave hierarchy and namespace into a web hierarchy respective web namespace. The fundamental difference between Hyperwave and the web is the clear distinction between names and hierarchy in Hyperwave. The name does not contain any information about the objects position in the hierarchy. In the web the name also contains the information on where the object is located in the hierarchy. This leads to two possibles ways of mapping. Either the Hyperwave hierarchy and name of the Hyperwave object is reflected in the URL or the name only. To make things simple the second approach is used. Hyperwave object with name my_object is mapped to http://host/my_object disregarding where it resides in the Hyperwave hierarchy. An object with name parent/my_object could be the child of my_object in the Hyperwave hierarchy, though in a web namespace it appears to be just the opposite and the user might get confused. This can only be prevented by selecting reasonable object names.

Having made this decision a second problem arises. How do you involve PHP? The URL http://host/my_object will not call any PHP script unless you tell your web server to rewrite it to e.g. http://host/php_script/my_object and the script php_script evaluates the $PATH_INFO variable and retrieves the object with name my_object from the Hyperwave server. Their is just one little drawback which can be fixed easily. Rewriting any URL would not allow any access to other document on the web server. A PHP script for searching in the Hyperwave server would be impossible. Therefore you will need at least a second rewriting rule to exclude certain URLs like all e.g. starting with http://host/Hyperwave This is basically sharing of a namespace by the web and Hyperwave server.

Based on the above mechanism links are insert into documents.

It gets more complicated if PHP is not run as a server module or CGI script but as a standalone application e.g. to dump the content of the Hyperwave server on a CD-ROM. In such a case it makes sense to retain the Hyperwave hierarchy and map in onto the file system. This conflicts with the object names if they reflect its own hierarchy (e.g. by choosing names including '/'). Therefore '/' has to be replaced by another character, e.g. '_'.

The network protocol to communicate with the Hyperwave server is called » HG-CSP (Hyper-G Client/Server Protocol). It is based on messages to initiate certain actions, e.g. get object record. In early versions of the Hyperwave Server two native clients (Harmony, Amadeus) were provided for communication with the server. Those two disappeared when Hyperwave was commercialised. As a replacement a so called wavemaster was provided. The wavemaster is like a protocol converter from HTTP to HG-CSP. The idea is to do all the administration of the database and visualisation of documents by a web interface. The wavemaster implements a set of placeholders for certain actions to customise the interface. This set of placeholders is called the PLACE Language. PLACE lacks a lot of features of a real programming language and any extension to it only enlarges the list of placeholders. This has led to the use of JavaScript which IMO does not make life easier.

Adding Hyperwave support to PHP should fill in the gap of a missing programming language for interface customisation. It implements all the messages as defined by the HG-CSP but also provides more powerful commands to e.g. retrieve complete documents.

Hyperwave has its own terminology to name certain pieces of information. This has widely been taken over and extended. Almost all functions operate on one of the following data types.

  • object ID: A unique integer value for each object in the Hyperwave server. It is also one of the attributes of the object record (ObjectID). Object ids are often used as an input parameter to specify an object.
  • object record: A string with attribute-value pairs of the form attribute=value. The pairs are separated by a carriage return from each other. An object record can easily be converted into an object array with hw_object2array(). Several functions return object records. The names of those functions end with obj.
  • object array: An associative array with all attributes of an object. The keys are the attribute names. If an attribute occurs more than once in an object record it will result in another indexed or associative array. Attributes which are language depended (like the title, keyword, description) will form an associative array with the keys set to the language abbreviations. All other multiple attributes will form an indexed array. PHP functions never return object arrays.
  • hw_document: This is a complete new data type which holds the actual document, e.g. HTML, PDF etc. It is somewhat optimized for HTML documents but may be used for any format.

Several functions which return an array of object records do also return an associative array with statistical information about them. The array is the last element of the object record array. The statistical array contains the following entries:

Hidden
Number of object records with attribute PresentationHints set to Hidden.
CollectionHead
Number of object records with attribute PresentationHints set to CollectionHead.
FullCollectionHead
Number of object records with attribute PresentationHints set to FullCollectionHead.
CollectionHeadNr
Index in array of object records with attribute PresentationHints set to CollectionHead.
FullCollectionHeadNr
Index in array of object records with attribute PresentationHints set to FullCollectionHead.
Total
Total: Number of object records.

요구 조건

This extension needs a Hyperwave server downloadable from » http://www.hyperwave.com/.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

In order to use these functions you must compile PHP with Hyperwave support by using the --with-hyperwave[=DIR] configure option.

Windows users will enable php_hyperwave.dll inside of php.ini in order to use these functions. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

Integration with Apache

The Hyperwave extension is best used when PHP is compiled as an Apache module. In such a case the underlying Hyperwave server can be hidden from users almost completely if Apache uses its rewriting engine. The following instructions will explain this.

Since PHP with Hyperwave support built into Apache is intended to replace the native Hyperwave solution based on Wavemaster, we will assume that the Apache server will only serve as a Hyperwave web interface for these examples. This is not necessary but it simplifies the configuration. The concept is quite simple. First of all you need a PHP script which evaluates the $_ENV['PATH_INFO'] variable and treats its value as the name of a Hyperwave object. Let's call this script 'Hyperwave'. The URL http://your.hostname/Hyperwave/name_of_object would than return the Hyperwave object with the name 'name_of_object'. Depending on the type of the object the script has to react accordingly. If it is a collection, it will probably return a list of children. If it is a document it will return the mime type and the content. A slight improvement can be achieved if the Apache rewriting engine is used. From the users point of view it would be more straight forward if the URL http://your.hostname/name_of_object would return the object. The rewriting rule is quite easy:

RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L]
Now every URL relates to an object in the Hyperwave server. This causes a simple to solve problem. There is no way to execute a different script, e.g. for searching, than the 'Hyperwave' script. This can be fixed with another rewriting rule like the following:

RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L]
This will reserve the directory /usr/local/apache/htdocs/hw for additional scripts and other files. Just make sure this rule is evaluated before the one above. There is just a little drawback: all Hyperwave objects whose name starts with 'hw/' will be shadowed. So, make sure you don't use such names. If you need more directories, e.g. for images just add more rules or place them all in one directory. Before you put those instructions, don't forget to turn on the rewriting engine with

RewriteEngine on
You will need scripts:
  • to return the object itself
  • to allow searching
  • to identify yourself
  • to set your profile
  • one for each additional function like to show the object attributes, to show information about users, to show the status of the server, etc.

As an alternative to the Rewrite Engine, you can also consider using the Apache ErrorDocument directive, but be aware, that ErrorDocument redirected pages cannot receive POST data.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 118. Hyperwave configuration options

Name | Default | Changeable | Changelog
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.2. Removed in PHP 5.0.0.
hyperwave.default_port | "418" | PHP_INI_ALL | Removed in PHP 5.0.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

HW_ATTR_LANG (integer)
HW_ATTR_NR (integer)
HW_ATTR_NONE (integer)

Todo

There are still some things to do:

  • The hw_InsertDocument has to be split into hw_insertobject() and hw_putdocument().
  • The names of several functions are not fixed, yet.
  • Most functions require the current connection as its first parameter. This leads to a lot of typing, which is quite often not necessary if there is just one open connection. A default connection will improve this.
  • Conversion form object record into object array needs to handle any multiple attribute.

차례

hw_Array2Objrec -- Convert attributes from object array to object record
hw_changeobject -- Changes attributes of an object (obsolete)
hw_Children -- Object ids of children
hw_ChildrenObj -- Object records of children
hw_Close -- Closes the Hyperwave connection
hw_Connect -- Opens a connection
hw_connection_info -- Prints information about the connection to Hyperwave server
hw_cp -- Copies objects
hw_Deleteobject -- Deletes object
hw_DocByAnchor -- Object id object belonging to anchor
hw_DocByAnchorObj -- Object record object belonging to anchor
hw_Document_Attributes -- Object record of hw_document
hw_Document_BodyTag -- Body tag of hw_document
hw_Document_Content -- Returns content of hw_document
hw_Document_SetContent -- Sets/replaces content of hw_document
hw_Document_Size -- Size of hw_document
hw_dummy -- Hyperwave dummy function
hw_EditText -- Retrieve text document
hw_Error -- Error number
hw_ErrorMsg -- Returns error message
hw_Free_Document -- Frees hw_document
hw_GetAnchors -- Object ids of anchors of document
hw_GetAnchorsObj -- Object records of anchors of document
hw_GetAndLock -- Return object record and lock object
hw_GetChildColl -- Object ids of child collections
hw_GetChildCollObj -- Object records of child collections
hw_GetChildDocColl -- Object ids of child documents of collection
hw_GetChildDocCollObj -- Object records of child documents of collection
hw_GetObject -- Object record
hw_GetObjectByQuery -- Search object
hw_GetObjectByQueryColl -- Search object in collection
hw_GetObjectByQueryCollObj -- Search object in collection
hw_GetObjectByQueryObj -- Search object
hw_GetParents -- Object ids of parents
hw_GetParentsObj -- Object records of parents
hw_getrellink -- Get link from source to dest relative to rootid
hw_GetRemote -- Gets a remote document
hw_getremotechildren -- Gets children of remote document
hw_GetSrcByDestObj -- Returns anchors pointing at object
hw_GetText -- Retrieve text document
hw_getusername -- Name of currently logged in user
hw_Identify -- Identifies as user
hw_InCollections -- Check if object ids in collections
hw_Info -- Info about connection
hw_InsColl -- Insert collection
hw_InsDoc -- Insert document
hw_insertanchors -- Inserts only anchors into text
hw_InsertDocument -- Upload any document
hw_InsertObject -- Inserts an object record
hw_mapid -- Maps global id on virtual local id
hw_Modifyobject -- Modifies object record
hw_mv -- Moves objects
hw_New_Document -- Create new document
hw_objrec2array -- Convert attributes from object record to object array
hw_Output_Document -- Prints hw_document
hw_pConnect -- Make a persistent database connection
hw_PipeDocument -- Retrieve any document
hw_Root -- Root object id
hw_setlinkroot -- Set the id to which links are calculated
hw_stat -- Returns status string
hw_Unlock -- Unlock object
hw_Who -- List of currently logged in users
이전 | 위로 | 다음
http_build_url | 처음으로 | hw_Array2Objrec


hw_Array2Objrec

(PHP 4)

hw_Array2Objrec -- Convert attributes from object array to object record

Description

string hw_array2objrec ( array $object_array )

Converts an object_array into an object record. Multiple attributes like 'Title' in different languages are treated properly.

See also hw_objrec2array().

이전 | 위로 | 다음
LVII. Hyperwave Functions | 처음으로 | hw_changeobject


hw_changeobject

(PHP 4)

hw_changeobject -- Changes attributes of an object (obsolete)

Description

bool hw_changeobject ( int $link, int $objid, array $attributes )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
hw_Array2Objrec | 처음으로 | hw_Children


hw_Children

(PHP 4)

hw_Children -- Object ids of children

Description

array hw_children ( int $connection, int $objectID )

Returns an array of object ids. Each id belongs to a child of the collection with ID objectID. The array contains all children both documents and collections.

이전 | 위로 | 다음
hw_changeobject | 처음으로 | hw_ChildrenObj


hw_ChildrenObj

(PHP 4)

hw_ChildrenObj -- Object records of children

Description

array hw_childrenobj ( int $connection, int $objectID )

Returns an array of object records. Each object record belongs to a child of the collection with ID objectID. The array contains all children both documents and collections.

이전 | 위로 | 다음
hw_Children | 처음으로 | hw_Close


hw_Close

(PHP 4)

hw_Close -- Closes the Hyperwave connection

Description

bool hw_close ( int $connection )

Returns FALSE if connection is not a valid connection index, otherwise TRUE. Closes down the connection to a Hyperwave server with the given connection index.

이전 | 위로 | 다음
hw_ChildrenObj | 처음으로 | hw_Connect


hw_Connect

(PHP 4)

hw_Connect -- Opens a connection

Description

int hw_connect ( string $host, int $port [, string $username, string $password] )

Opens a connection to a Hyperwave server and returns a connection index on success, or FALSE if the connection could not be made. Each of the arguments should be a quoted string, except for the port number. The username and password arguments are optional and can be left out. In such a case no identification with the server will be done. It is similar to identify as user anonymous. This function returns a connection index that is needed by other Hyperwave functions. You can have multiple connections open at once. Keep in mind, that the password is not encrypted.

See also hw_pconnect().

이전 | 위로 | 다음
hw_Close | 처음으로 | hw_connection_info


hw_connection_info

(PHP 4)

hw_connection_info -- Prints information about the connection to Hyperwave server

Description

void hw_connection_info ( int $link )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
hw_Connect | 처음으로 | hw_cp


hw_cp

(PHP 4)

hw_cp -- Copies objects

Description

int hw_cp ( int $connection, array $object_id_array, int $destination_id )

Copies the objects with object ids as specified in the second parameter to the collection with the id destination id.

The value return is the number of copied objects.

See also hw_mv().

이전 | 위로 | 다음
hw_connection_info | 처음으로 | hw_Deleteobject


hw_Deleteobject

(PHP 4)

hw_Deleteobject -- Deletes object

Description

bool hw_deleteobject ( int $connection, int $object_to_delete )

Deletes the object with the given object id in the second parameter. It will delete all instances of the object.

Returns TRUE if no error occurs otherwise FALSE.

See also hw_mv().

이전 | 위로 | 다음
hw_cp | 처음으로 | hw_DocByAnchor


hw_DocByAnchor

(PHP 4)

hw_DocByAnchor -- Object id object belonging to anchor

Description

int hw_docbyanchor ( int $connection, int $anchorID )

Returns an th object id of the document to which anchorID belongs.

이전 | 위로 | 다음
hw_Deleteobject | 처음으로 | hw_DocByAnchorObj


hw_DocByAnchorObj

(PHP 4)

hw_DocByAnchorObj -- Object record object belonging to anchor

Description

string hw_docbyanchorobj ( int $connection, int $anchorID )

Returns an th object record of the document to which anchorID belongs.

이전 | 위로 | 다음
hw_DocByAnchor | 처음으로 | hw_Document_Attributes


hw_Document_Attributes

(PHP 4)

hw_Document_Attributes -- Object record of hw_document

Description

string hw_document_attributes ( int $hw_document )

Returns the object record of the document.

For backward compatibility, hw_documentattributes() is also accepted. This is deprecated, however.

See also hw_document_bodytag(), and hw_document_size().

이전 | 위로 | 다음
hw_DocByAnchorObj | 처음으로 | hw_Document_BodyTag


hw_Document_BodyTag

(PHP 4)

hw_Document_BodyTag -- Body tag of hw_document

Description

string hw_document_bodytag ( int $hw_document [, string $prefix] )

Returns the BODY tag of the document. If the document is an HTML document the BODY tag should be printed before the document.

See also hw_document_attributes(), and hw_document_size().

For backward compatibility, hw_documentbodytag() is also accepted. This is deprecated, however.

이전 | 위로 | 다음
hw_Document_Attributes | 처음으로 | hw_Document_Content


hw_Document_Content

(PHP 4)

hw_Document_Content -- Returns content of hw_document

Description

string hw_document_content ( int $hw_document )

Returns the content of the document. If the document is an HTML document the content is everything after the BODY tag. Information from the HEAD and BODY tag is in the stored in the object record.

See also hw_document_attributes(),
hw_document_size(),
and hw_document_setcontent().

이전 | 위로 | 다음
hw_Document_BodyTag | 처음으로 | hw_Document_SetContent


hw_Document_SetContent

(PHP 4)

hw_Document_SetContent -- Sets/replaces content of hw_document

Description

bool hw_document_setcontent ( int $hw_document, string $content )

Sets or replaces the content of the document. If the document is an HTML document the content is everything after the BODY tag. Information from the HEAD and BODY tag is in the stored in the object record. If you provide this information in the content of the document too, the Hyperwave server will change the object record accordingly when the document is inserted. Probably not a very good idea. If this functions fails the document will retain its old content.

See also hw_document_attributes(),
hw_document_size(),
and hw_document_content().

이전 | 위로 | 다음
hw_Document_Content | 처음으로 | hw_Document_Size


hw_Document_Size

(PHP 4)

hw_Document_Size -- Size of hw_document

Description

int hw_document_size ( int $hw_document )

Returns the size in bytes of the document.

See also hw_document_bodytag(), and hw_document_attributes().

For backward compatibility, hw_documentsize() is also accepted. This is deprecated, however.

이전 | 위로 | 다음
hw_Document_SetContent | 처음으로 | hw_dummy


hw_dummy

(PHP 4)

hw_dummy -- Hyperwave dummy function

Description

string hw_dummy ( int $link, int $id, int $msgid )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
hw_Document_Size | 처음으로 | hw_EditText


hw_EditText

(PHP 4)

hw_EditText -- Retrieve text document

Description

bool hw_edittext ( int $connection, int $hw_document )

Uploads the text document to the server. The object record of the document may not be modified while the document is edited. This function will only works for pure text documents. It will not open a special data connection and therefore blocks the control connection during the transfer.

See also hw_pipedocument(),
hw_free_document(),
hw_document_bodytag(),
hw_document_size(),
hw_output_document(), and
hw_gettext().

이전 | 위로 | 다음
hw_dummy | 처음으로 | hw_Error


hw_Error

(PHP 4)

hw_Error -- Error number

Description

int hw_error ( int $connection )

Returns the last error number. If the return value is 0 no error has occurred. The error relates to the last command.

이전 | 위로 | 다음
hw_EditText | 처음으로 | hw_ErrorMsg


hw_ErrorMsg

(PHP 4)

hw_ErrorMsg -- Returns error message

Description

string hw_errormsg ( int $connection )

Returns a string containing the last error message or 'No Error'. If FALSE is returned, this function failed. The message relates to the last command.

이전 | 위로 | 다음
hw_Error | 처음으로 | hw_Free_Document


hw_Free_Document

(PHP 4)

hw_Free_Document -- Frees hw_document

Description

bool hw_free_document ( int $hw_document )

Frees the memory occupied by the Hyperwave document.

이전 | 위로 | 다음
hw_ErrorMsg | 처음으로 | hw_GetAnchors


hw_GetAnchors

(PHP 4)

hw_GetAnchors -- Object ids of anchors of document

Description

array hw_getanchors ( int $connection, int $objectID )

Returns an array of object ids with anchors of the document with object ID objectID.

이전 | 위로 | 다음
hw_Free_Document | 처음으로 | hw_GetAnchorsObj


hw_GetAnchorsObj

(PHP 4)

hw_GetAnchorsObj -- Object records of anchors of document

Description

array hw_getanchorsobj ( int $connection, int $objectID )

Returns an array of object records with anchors of the document with object ID objectID.

이전 | 위로 | 다음
hw_GetAnchors | 처음으로 | hw_GetAndLock


hw_GetAndLock

(PHP 4)

hw_GetAndLock -- Return object record and lock object

Description

string hw_getandlock ( int $connection, int $objectID )

Returns the object record for the object with ID objectID. It will also lock the object, so other users cannot access it until it is unlocked.

See also hw_unlock(), and hw_getobject().

이전 | 위로 | 다음
hw_GetAnchorsObj | 처음으로 | hw_GetChildColl


hw_GetChildColl

(PHP 4)

hw_GetChildColl -- Object ids of child collections

Description

array hw_getchildcoll ( int $connection, int $objectID )

Returns an array of object ids. Each object ID belongs to a child collection of the collection with ID objectID. The function will not return child documents.

See also hw_children(), and hw_getchilddoccoll().

이전 | 위로 | 다음
hw_GetAndLock | 처음으로 | hw_GetChildCollObj


hw_GetChildCollObj

(PHP 4)

hw_GetChildCollObj -- Object records of child collections

Description

array hw_getchildcollobj ( int $connection, int $objectID )

Returns an array of object records. Each object records belongs to a child collection of the collection with ID objectID. The function will not return child documents.

See also hw_childrenobj(), and hw_getchilddoccollobj().

이전 | 위로 | 다음
hw_GetChildColl | 처음으로 | hw_GetChildDocColl


hw_GetChildDocColl

(PHP 4)

hw_GetChildDocColl -- Object ids of child documents of collection

Description

array hw_getchilddoccoll ( int $connection, int $objectID )

Returns array of object ids for child documents of a collection.

See also hw_children(), and hw_getchildcoll().

이전 | 위로 | 다음
hw_GetChildCollObj | 처음으로 | hw_GetChildDocCollObj


hw_GetChildDocCollObj

(PHP 4)

hw_GetChildDocCollObj -- Object records of child documents of collection

Description

array hw_getchilddoccollobj ( int $connection, int $objectID )

Returns an array of object records for child documents of a collection.

See also hw_childrenobj(), and hw_getchildcollobj().

이전 | 위로 | 다음
hw_GetChildDocColl | 처음으로 | hw_GetObject


hw_GetObject

(PHP 4)

hw_GetObject -- Object record

Description

mixed hw_getobject ( int $connection, mixed $objectID [, string $query] )

Returns the object record for the object with ID objectID if the second parameter is an integer. If the second parameter is an array of integer the function will return an array of object records. In such a case the last parameter is also evaluated which is a query string.

The query string has the following syntax:

<expr> ::= "(" <expr> ")" |

"!" <expr> | /* NOT */

<expr> "||" <expr> | /* OR */

<expr> "&&" <expr> | /* AND */

<attribute> <operator> <value>

<attribute> ::= /* any attribute name (Title, Author, DocumentType ...) */

<operator> ::= "=" | /* equal */

"<" | /* less than (string compare) */

">" | /* greater than (string compare) */

"~" /* regular expression matching */

The query allows to further select certain objects from the list of given objects. Unlike the other query functions, this query may use not indexed attributes. How many object records are returned depends on the query and if access to the object is allowed.

See also hw_getandlock(), and hw_getobjectbyquery().

이전 | 위로 | 다음
hw_GetChildDocCollObj | 처음으로 | hw_GetObjectByQuery


hw_GetObjectByQuery

(PHP 4)

hw_GetObjectByQuery -- Search object

Description

array hw_getobjectbyquery ( int $connection, string $query, int $max_hits )

Searches for objects on the whole server and returns an array of object ids. The maximum number of matches is limited to max_hits. If max_hits is set to -1 the maximum number of matches is unlimited.

The query will only work with indexed attributes.

See also hw_getobjectbyqueryobj().

이전 | 위로 | 다음
hw_GetObject | 처음으로 | hw_GetObjectByQueryColl


hw_GetObjectByQueryColl

(PHP 4)

hw_GetObjectByQueryColl -- Search object in collection

Description

array hw_getobjectbyquerycoll ( int $connection, int $objectID, string $query, int $max_hits )

Searches for objects in collection with ID objectID and returns an array of object ids. The maximum number of matches is limited to max_hits. If max_hits is set to -1 the maximum number of matches is unlimited.

The query will only work with indexed attributes.

See also hw_getobjectbyquerycollobj().

이전 | 위로 | 다음
hw_GetObjectByQuery | 처음으로 | hw_GetObjectByQueryCollObj


hw_GetObjectByQueryCollObj

(PHP 4)

hw_GetObjectByQueryCollObj -- Search object in collection

Description

array hw_getobjectbyquerycollobj ( int $connection, int $objectID, string $query, int $max_hits )

Searches for objects in collection with ID objectID and returns an array of object records. The maximum number of matches is limited to max_hits. If max_hits is set to -1 the maximum number of matches is unlimited.

The query will only work with indexed attributes.

See also hw_getobjectbyquerycoll().

이전 | 위로 | 다음
hw_GetObjectByQueryColl | 처음으로 | hw_GetObjectByQueryObj


hw_GetObjectByQueryObj

(PHP 4)

hw_GetObjectByQueryObj -- Search object

Description

array hw_getobjectbyqueryobj ( int $connection, string $query, int $max_hits )

Searches for objects on the whole server and returns an array of object records. The maximum number of matches is limited to max_hits. If max_hits is set to -1 the maximum number of matches is unlimited.

The query will only work with indexed attributes.

See also hw_getobjectbyquery().

이전 | 위로 | 다음
hw_GetObjectByQueryCollObj | 처음으로 | hw_GetParents


hw_GetParents

(PHP 4)

hw_GetParents -- Object ids of parents

Description

array hw_getparents ( int $connection, int $objectID )

Returns an indexed array of object ids. Each object id belongs to a parent of the object with ID objectID.

이전 | 위로 | 다음
hw_GetObjectByQueryObj | 처음으로 | hw_GetParentsObj


hw_GetParentsObj

(PHP 4)

hw_GetParentsObj -- Object records of parents

Description

array hw_getparentsobj ( int $connection, int $objectID )

Returns an indexed array of object records plus an associated array with statistical information about the object records. The associated array is the last entry of the returned array. Each object record belongs to a parent of the object with ID objectID.

이전 | 위로 | 다음
hw_GetParents | 처음으로 | hw_getrellink


hw_getrellink

(PHP 4)

hw_getrellink -- Get link from source to dest relative to rootid

Description

string hw_getrellink ( int $link, int $rootid, int $sourceid, int $destid )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
hw_GetParentsObj | 처음으로 | hw_GetRemote


hw_GetRemote

(PHP 4)

hw_GetRemote -- Gets a remote document

Description

int hw_getremote ( int $connection, int $objectID )

Returns a remote document. Remote documents in Hyperwave notation are documents retrieved from an external source. Common remote documents are for example external web pages or queries in a database. In order to be able to access external sources through remote documents Hyperwave introduces the HGI (Hyperwave Gateway Interface) which is similar to the CGI. Currently, only ftp, http-servers and some databases can be accessed by the HGI. Calling hw_getremote() returns the document from the external source. If you want to use this function you should be very familiar with HGIs. You should also consider to use PHP instead of Hyperwave to access external sources. Adding database support by a Hyperwave gateway should be more difficult than doing it in PHP.

See also hw_getremotechildren().

이전 | 위로 | 다음
hw_getrellink | 처음으로 | hw_getremotechildren


hw_getremotechildren

(PHP 4)

hw_getremotechildren -- Gets children of remote document

Description

mixed hw_getremotechildren ( int $connection, string $object_record )

Returns the children of a remote document. Children of a remote document are remote documents itself. This makes sense if a database query has to be narrowed and is explained in Hyperwave Programmers' Guide. If the number of children is 1 the function will return the document itself formatted by the Hyperwave Gateway Interface (HGI). If the number of children is greater than 1 it will return an array of object record with each maybe the input value for another call to hw_getremotechildren(). Those object records are virtual and do not exist in the Hyperwave server, therefore they do not have a valid object ID. How exactly such an object record looks like is up to the HGI. If you want to use this function you should be very familiar with HGIs. You should also consider to use PHP instead of Hyperwave to access external sources. Adding database support by a Hyperwave gateway should be more difficult than doing it in PHP.

See also hw_getremote().

이전 | 위로 | 다음
hw_GetRemote | 처음으로 | hw_GetSrcByDestObj


hw_GetSrcByDestObj

(PHP 4)

hw_GetSrcByDestObj -- Returns anchors pointing at object

Description

array hw_getsrcbydestobj ( int $connection, int $objectID )

Returns the object records of all anchors pointing to the object with ID objectID. The object can either be a document or an anchor of type destination.

See also hw_getanchors().

이전 | 위로 | 다음
hw_getremotechildren | 처음으로 | hw_GetText


hw_GetText

(PHP 4)

hw_GetText -- Retrieve text document

Description

int hw_gettext ( int $connection, int $objectID [, mixed $ rootID/prefix ] )

Returns the document with object ID objectID. If the document has anchors which can be inserted, they will be inserted already. The optional parameter rootID/prefix can be a string or an integer. If it is an integer it determines how links are inserted into the document. The default is 0 and will result in links that are constructed from the name of the link's destination object. This is useful for web applications. If a link points to an object with name 'internet_movie' the HTML link will be <A HREF="/internet_movie">. The actual location of the source and destination object in the document hierarchy is disregarded. You will have to set up your web browser, to rewrite that URL to for example '/my_script.php3/internet_movie'. 'my_script.php3' will have to evaluate $PATH_INFO and retrieve the document. All links will have the prefix '/my_script.php3/'. If you do not want this you can set the optional parameter rootID/prefix to any prefix which is used instead. Is this case it has to be a string.

If rootID/prefix is an integer and unequal to 0 the link is constructed from all the names starting at the object with the id rootID/prefix separated by a slash relative to the current object. If for example the above document 'internet_movie' is located at 'a-b-c-internet_movie' with '-' being the separator between hierarchy levels on the Hyperwave server and the source document is located at 'a-b-d-source' the resulting HTML link would be: <A HREF="../c/internet_movie">. This is useful if you want to download the whole server content onto disk and map the document hierarchy onto the file system.

This function will only work for pure text documents. It will not open a special data connection and therefore blocks the control connection during the transfer.

See also hw_pipedocument(),
hw_free_document(),
hw_document_bodytag(),
hw_document_size(),
and hw_output_document().

이전 | 위로 | 다음
hw_GetSrcByDestObj | 처음으로 | hw_getusername


hw_getusername

(PHP 4)

hw_getusername -- Name of currently logged in user

Description

string hw_getusername ( int $connection )

Returns the username of the connection.

이전 | 위로 | 다음
hw_GetText | 처음으로 | hw_Identify


hw_Identify

(PHP 4)

hw_Identify -- Identifies as user

Description

string hw_identify ( int $link, string $username, string $password )

Identifies as user with username and password. Identification is only valid for the current session. I do not think this function will be needed very often. In most cases it will be easier to identify with the opening of the connection.

See also hw_connect().

이전 | 위로 | 다음
hw_getusername | 처음으로 | hw_InCollections


hw_InCollections

(PHP 4)

hw_InCollections -- Check if object ids in collections

Description

array hw_incollections ( int $connection, array $object_id_array, array $collection_id_array, int $return_collections )

Checks whether a set of objects (documents or collections) specified by the object_id_array is part of the collections listed in collection_id_array. When the fourth parameter return_collections is 0, the subset of object ids that is part of the collections (i.e., the documents or collections that are children of one or more collections of collection ids or their subcollections, recursively) is returned as an array. When the fourth parameter is 1, however, the set of collections that have one or more objects of this subset as children are returned as an array. This option allows a client to, e.g., highlight the part of the collection hierarchy that contains the matches of a previous query, in a graphical overview.

이전 | 위로 | 다음
hw_Identify | 처음으로 | hw_Info


hw_Info

(PHP 4)

hw_Info -- Info about connection

Description

string hw_info ( int $connection )

Returns information about the current connection. The returned string has the following format: <Serverstring>, <Host>, <Port>, <Username>, <Port of Client>, <Byte swapping>

이전 | 위로 | 다음
hw_InCollections | 처음으로 | hw_InsColl


hw_InsColl

(PHP 4)

hw_InsColl -- Insert collection

Description

int hw_inscoll ( int $connection, int $objectID, array $object_array )

Inserts a new collection with attributes as in object_array into collection with object ID objectID.

이전 | 위로 | 다음
hw_Info | 처음으로 | hw_InsDoc


hw_InsDoc

(PHP 4)

hw_InsDoc -- Insert document

Description

int hw_insdoc ( resource $connection, int $parentID, string $object_record [, string $text] )

Inserts a new document with attributes as in object_record into collection with object ID parentID. This function inserts either an object record only or an object record and a pure ascii text in text if text is given. If you want to insert a general document of any kind use hw_insertdocument() instead.

See also hw_insertdocument(), and hw_inscoll().

이전 | 위로 | 다음
hw_InsColl | 처음으로 | hw_insertanchors


hw_insertanchors

(PHP 4 >= 4.0.4)

hw_insertanchors -- Inserts only anchors into text

Description

bool hw_insertanchors ( int $hwdoc, array $anchorecs, array $dest [, array $urlprefixes] )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
hw_InsDoc | 처음으로 | hw_InsertDocument


hw_InsertDocument

(PHP 4)

hw_InsertDocument -- Upload any document

Description

int hw_insertdocument ( int $connection, int $parent_id, int $hw_document )

Uploads a document into the collection with parent_id. The document has to be created before with hw_new_document(). Make sure that the object record of the new document contains at least the attributes: Type, DocumentType, Title and Name. Possibly you also want to set the MimeType. The functions returns the object id of the new document or FALSE.

See also hw_pipedocument().

이전 | 위로 | 다음
hw_insertanchors | 처음으로 | hw_InsertObject


hw_InsertObject

(PHP 4)

hw_InsertObject -- Inserts an object record

Description

int hw_insertobject ( int $connection, string $object_rec, string $parameter )

Inserts an object into the server. The object can be any valid hyperwave object. See the HG-CSP documentation for a detailed information on how the parameters have to be.

Note: If you want to insert an Anchor, the attribute Position has always been set either to a start/end value or to 'invisible'. Invisible positions are needed if the annotation has no corresponding link in the annotation text.

See also hw_pipedocument(),
hw_insertdocument(),
hw_insdoc(),
and hw_inscoll().

이전 | 위로 | 다음
hw_InsertDocument | 처음으로 | hw_mapid


hw_mapid

(PHP 4)

hw_mapid -- Maps global id on virtual local id

Description

int hw_mapid ( int $connection, int $server_id, int $object_id )

Maps a global object id on any hyperwave server, even those you did not connect to with hw_connect(), onto a virtual object id. This virtual object id can then be used as any other object id, e.g. to obtain the object record with hw_getobject(). The server id is the first part of the global object id (GOid) of the object which is actually the IP number as an integer.

Note: In order to use this function you will have to set the F_DISTRIBUTED flag, which can currently only be set at compile time in hg_comm.c. It is not set by default. Read the comment at the beginning of hg_comm.c

이전 | 위로 | 다음
hw_InsertObject | 처음으로 | hw_Modifyobject


hw_Modifyobject

(PHP 4)

hw_Modifyobject -- Modifies object record

Description

bool hw_modifyobject ( int $connection, int $object_to_change, array $remove, array $add [, int $mode] )

This command allows to remove, add, or modify individual attributes of an object record. The object is specified by the Object ID object_to_change. The first array remove is a list of attributes to remove. The second array add is a list of attributes to add. In order to modify an attribute one will have to remove the old one and add a new one. hw_modifyobject() will always remove the attributes before it adds attributes unless the value of the attribute to remove is not a string or array.

The last parameter determines if the modification is performed recursively. 1 means recursive modification. If some of the objects cannot be modified they will be skipped without notice. hw_error() may not indicate an error though some of the objects could not be modified.

The keys of both arrays are the attributes name. The value of each array element can either be an array, a string or anything else. If it is an array each attribute value is constructed by the key of each element plus a colon and the value of each element. If it is a string it is taken as the attribute value. An empty string will result in a complete removal of that attribute. If the value is neither a string nor an array but something else, e.g. an integer, no operation at all will be performed on the attribute. This is necessary if you want to add a completely new attribute not just a new value for an existing attribute. If the remove array contained an empty string for that attribute, the attribute would be tried to be removed which would fail since it doesn't exist. The following addition of a new value for that attribute would also fail. Setting the value for that attribute to e.g. 0 would not even try to remove it and the addition will work.

If you would like to change the attribute 'Name' with the current value 'books' into 'articles' you will have to create two arrays and call hw_modifyobject().

예 799. modifying an attribute

<?php
       // $connect is an existing connection to the Hyperwave server
       // $objid is the ID of the object to modify
       $remarr = array("Name" => "books");
       $addarr = array("Name" => "articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

In order to delete/add a name=value pair from/to the object record just pass the remove/add array and set the last/third parameter to an empty array. If the attribute is the first one with that name to add, set attribute value in the remove array to an integer.

예 800. adding a completely new attribute

<?php
       // $connect is an existing connection to the Hyperwave server
       // $objid is the ID of the object to modify
       $remarr = array("Name" => 0);
       $addarr = array("Name" => "articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

참고: Multilingual attributes, e.g. 'Title', can be modified in two ways. Either by providing the attributes value in its native form 'language':'title' or by providing an array with elements for each language as described above. The above example would than be:

예 801. modifying Title attribute

<?php
       $remarr = array("Title" => "en:Books");
       $addarr = array("Title" => "en:Articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

or

예 802. modifying Title attribute

<?php
       $remarr = array("Title" => array("en" => "Books"));
       $addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel"));
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

This removes the English title 'Books' and adds the English title 'Articles' and the German title 'Artikel'.

예 803. removing attribute

<?php
       $remarr = array("Title" => "");
       $addarr = array("Title" => "en:Articles");
       $hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

참고: This will remove all attributes with the name 'Title' and adds a new 'Title' attribute. This comes in handy if you want to remove attributes recursively.

참고: If you need to delete all attributes with a certain name you will have to pass an empty string as the attribute value.

참고: Only the attributes 'Title', 'Description' and 'Keyword' will properly handle the language prefix. If those attributes don't carry a language prefix, the prefix 'xx' will be assigned.

참고: The 'Name' attribute is somewhat special. In some cases it cannot be complete removed. You will get an error message 'Change of base attribute' (not clear when this happens). Therefore you will always have to add a new Name first and than remove the old one.

참고: You may not surround this function by calls to hw_getandlock() and hw_unlock(). hw_modifyobject() does this internally.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
hw_mapid | 처음으로 | hw_mv


hw_mv

(PHP 4)

hw_mv -- Moves objects

Description

int hw_mv ( int $connection, array $object_id_array, int $source_id, int $destination_id )

Moves the objects with object ids as specified in the second parameter from the collection with id source_id to the collection with the id destination_id. If the destination id is 0 the objects will be unlinked from the source collection. If this is the last instance of that object it will be deleted. If you want to delete all instances at once, use hw_deleteobject().

The value returned is the number of moved objects.

See also hw_cp(), and hw_deleteobject().

이전 | 위로 | 다음
hw_Modifyobject | 처음으로 | hw_New_Document


hw_New_Document

(PHP 4)

hw_New_Document -- Create new document

Description

int hw_new_document ( string $object_record, string $document_data, int $document_size )

Returns a new Hyperwave document with document data set to document_data and object record set to object_record. The length of the document_data has to passed in document_sizeThis function does not insert the document into the Hyperwave server.

See also hw_free_document(),
hw_document_size(),
hw_document_bodytag(),
hw_output_document(),
and hw_insertdocument().

이전 | 위로 | 다음
hw_mv | 처음으로 | hw_objrec2array


hw_objrec2array

(PHP 4)

hw_objrec2array -- Convert attributes from object record to object array

Description

array hw_objrec2array ( string $object_record [, array $ format ] )

Converts an object_record into an object array. The keys of the resulting array are the attributes names. Multi-value attributes like 'Title' in different languages form its own array. The keys of this array are the left part to the colon of the attribute value. This left part must be two characters long. Other multi-value attributes without a prefix form an indexed array. If the optional parameter is missing the attributes 'Title', 'Description' and 'Keyword' are treated as language attributes and the attributes 'Group', 'Parent' and 'HtmlAttr' as non-prefixed multi-value attributes. By passing an array holding the type for each attribute you can alter this behaviour. The array is an associated array with the attribute name as its key and the value being one of HW_ATTR_LANG or HW_ATTR_NONE.

See also hw_array2objrec().

이전 | 위로 | 다음
hw_New_Document | 처음으로 | hw_Output_Document


hw_Output_Document

(PHP 4)

hw_Output_Document -- Prints hw_document

Description

bool hw_output_document ( int $hw_document )

Prints the document without the BODY tag.

For backward compatibility, hw_outputdocument() is also accepted. This is deprecated, however.

이전 | 위로 | 다음
hw_objrec2array | 처음으로 | hw_pConnect


hw_pConnect

(PHP 4)

hw_pConnect -- Make a persistent database connection

Description

int hw_pconnect ( string $host, int $port [, string $username, string $password] )

Returns a connection index on success, or FALSE if the connection could not be made. Opens a persistent connection to a Hyperwave server. Each of the arguments should be a quoted string, except for the port number. The username and password arguments are optional and can be left out. In such a case no identification with the server will be done. It is similar to identify as user anonymous. This function returns a connection index that is needed by other Hyperwave functions. You can have multiple persistent connections open at once.

See also hw_connect().

이전 | 위로 | 다음
hw_Output_Document | 처음으로 | hw_PipeDocument


hw_PipeDocument

(PHP 4)

hw_PipeDocument -- Retrieve any document

Description

int hw_pipedocument ( int $connection, int $objectID [, array $url_prefixes] )

Returns the Hyperwave document with object ID objectID. If the document has anchors which can be inserted, they will have been inserted already. The document will be transferred via a special data connection which does not block the control connection.

See also hw_gettext() for more on link insertion,
hw_free_document(),
hw_document_size(),
hw_document_bodytag(),
and hw_output_document().

이전 | 위로 | 다음
hw_pConnect | 처음으로 | hw_Root


hw_Root

(PHP 4)

hw_Root -- Root object id

Description

int hw_root ( $ )

Returns the object ID of the hyperroot collection. Currently this is always 0. The child collection of the hyperroot is the root collection of the connected server.

이전 | 위로 | 다음
hw_PipeDocument | 처음으로 | hw_setlinkroot


hw_setlinkroot

(PHP 4)

hw_setlinkroot -- Set the id to which links are calculated

Description

int hw_setlinkroot ( int $link, int $rootid )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
hw_Root | 처음으로 | hw_stat


hw_stat

(PHP 4)

hw_stat -- Returns status string

Description

string hw_stat ( int $link )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
hw_setlinkroot | 처음으로 | hw_Unlock


hw_Unlock

(PHP 4)

hw_Unlock -- Unlock object

Description

bool hw_unlock ( int $connection, int $objectID )

Unlocks a document, so other users regain access.

See also hw_getandlock().

이전 | 위로 | 다음
hw_stat | 처음으로 | hw_Who


hw_Who

(PHP 4)

hw_Who -- List of currently logged in users

Description

array hw_who ( int $connection )

Returns an array of users currently logged into the Hyperwave server. Each entry in this array is an array itself containing the elements id, name, system, onSinceDate, onSinceTime, TotalTime and self. 'self' is 1 if this entry belongs to the user who initiated the request.

이전 | 위로 | 다음
hw_Unlock | 처음으로 | LVIII. Hyperwave API Functions


Hyperwave API Functions

이전 VI. 함수 레퍼런스 다음

LVIII. Hyperwave API Functions

소개

Hyperwave has been developed at » IICM in Graz. It started with the name Hyper-G and changed to Hyperwave when it was commercialised (in 1996).

Hyperwave is not free software. The current version, 5.5, is available at » http://www.hyperwave.com/. A time limited version can be ordered for free (30 days).

See also the Hyperwave module.

Hyperwave is an information system similar to a database (HIS, Hyperwave Information Server). Its focus is the storage and management of documents. A document can be any possible piece of data that may as well be stored in file. Each document is accompanied by its object record. The object record contains meta data for the document. The meta data is a list of attributes which can be extended by the user. Certain attributes are always set by the Hyperwave server, other may be modified by the user.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.2.0.

요구 조건

Since 2001 there is a Hyperwave SDK available. It supports Java, JavaScript and C++. This PHP Extension is based on the C++ interface. In order to activate the hwapi support in PHP you will have to install the Hyperwave SDK first.

설치

After installing the Hyperwave SDK, configure PHP with --with-hwapi[=DIR].

Integration with Apache

The integration with Apache and possible other servers is already described in the Hyperwave module which has been the first extension to connect a Hyperwave Server.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 119. Hyperwave API configuration options

Name | Default | Changeable | Changelog
hwapi.allow_persistent | "0" | PHP_INI_SYSTEM |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

Classes

The API provided by the HW_API extension is fully object oriented. It is very similar to the C++ interface of the Hyperwave SDK. It consist of the following classes.

  • HW_API
  • HW_API_Object
  • HW_API_Attribute
  • HW_API_Error
  • HW_API_Content
  • HW_API_Reason
Some basic classes like HW_API_String, HW_API_String_Array, etc., which exist in the Hyperwave SDK have not been implemented since PHP has powerful replacements for them.

Each class has certain method, whose names are identical to its counterparts in the Hyperwave SDK. Passing arguments to this function differs from all the other PHP extensions but is close to the C++ API of the HW SDK. Instead of passing several parameters they are all put into an associated array and passed as one parameter. The names of the keys are identical to those documented in the HW SDK. The common parameters are listed below. If other parameters are required they will be documented if needed.

  • objectIdentifier The name or id of an object, e.g. "rootcollection", "0x873A8768 0x00000002".
  • parentIdentifier The name or id of an object which is considered to be a parent.
  • object An instance of class HW_API_Object.
  • parameters An instance of class HW_API_Object.
  • version The version of an object.
  • mode An integer value determine the way an operation is executed.
  • attributeSelector Any array of strings, each containing a name of an attribute. This is used if you retrieve the object record and want to include certain attributes.
  • objectQuery A query to select certain object out of a list of objects. This is used to reduce the number of objects which was delivered by a function like hw_api->children() or hw_api->find().

참고: Methods returning boolean can return TRUE, FALSE or HW_API_Error object.

차례

hw_api_attribute->key -- Returns key of the attribute
hw_api_attribute->langdepvalue -- Returns value for a given language
hw_api_attribute->value -- Returns value of the attribute
hw_api_attribute->values -- Returns all values of the attribute
hw_api_attribute -- Creates instance of class hw_api_attribute
hw_api->checkin -- Checks in an object
hw_api->checkout -- Checks out an object
hw_api->children -- Returns children of an object
hw_api_content->mimetype -- Returns mimetype
hw_api_content->read -- Read content
hw_api->content -- Returns content of an object
hw_api->copy -- Copies physically
hw_api->dbstat -- Returns statistics about database server
hw_api->dcstat -- Returns statistics about document cache server
hw_api->dstanchors -- Returns a list of all destination anchors
hw_api->dstofsrcanchor -- Returns destination of a source anchor
hw_api_error->count -- Returns number of reasons
hw_api_error->reason -- Returns reason of error
hw_api->find -- Search for objects
hw_api->ftstat -- Returns statistics about fulltext server
hwapi_hgcsp -- Returns object of class hw_api
hw_api->hwstat -- Returns statistics about Hyperwave server
hw_api->identify -- Log into Hyperwave Server
hw_api->info -- Returns information about server configuration
hw_api->insert -- Inserts a new object
hw_api->insertanchor -- Inserts a new object of type anchor
hw_api->insertcollection -- Inserts a new object of type collection
hw_api->insertdocument -- Inserts a new object of type document
hw_api->link -- Creates a link to an object
hw_api->lock -- Locks an object
hw_api->move -- Moves object between collections
hw_api_content -- Create new instance of class hw_api_content
hw_api_object->assign -- Clones object
hw_api_object->attreditable -- Checks whether an attribute is editable
hw_api_object->count -- Returns number of attributes
hw_api_object->insert -- Inserts new attribute
hw_api_object -- Creates a new instance of class hw_api_object
hw_api_object->remove -- Removes attribute
hw_api_object->title -- Returns the title attribute
hw_api_object->value -- Returns value of attribute
hw_api->object -- Retrieve attribute information
hw_api->objectbyanchor -- Returns the object an anchor belongs to
hw_api->parents -- Returns parents of an object
hw_api_reason->description -- Returns description of reason
hw_api_reason->type -- Returns type of reason
hw_api->remove -- Delete an object
hw_api->replace -- Replaces an object
hw_api->setcommittedversion -- Commits version other than last version
hw_api->srcanchors -- Returns a list of all source anchors
hw_api->srcsofdst -- Returns source of a destination object
hw_api->unlock -- Unlocks a locked object
hw_api->user -- Returns the own user object
hw_api->userlist -- Returns a list of all logged in users
이전 | 위로 | 다음
hw_Who | 처음으로 | hw_api_attribute->key


hw_api_attribute->key

(No version information available, might be only in CVS)

hw_api_attribute->key -- Returns key of the attribute

설명

class hw_api_attribute {
string key ( void )
}

Returns the name of the attribute.

반환값

Returns the name of the attribute as a string.

참고

hw_api_attribute->value

이전 | 위로 | 다음
LVIII. Hyperwave API Functions | 처음으로 | hw_api_attribute->langdepvalue


hw_api_attribute->langdepvalue

(No version information available, might be only in CVS)

hw_api_attribute->langdepvalue -- Returns value for a given language

설명

class hw_api_attribute {
string langdepvalue ( string $language )
}

Returns the value in the given language of the attribute.

매개변수

language

반환값

Returns the value of the attribute as a string.

참고

hw_api_attribute->value

이전 | 위로 | 다음
hw_api_attribute->key | 처음으로 | hw_api_attribute->value


hw_api_attribute->value

(No version information available, might be only in CVS)

hw_api_attribute->value -- Returns value of the attribute

설명

class hw_api_attribute {
string value ( void )
}

Gets the value of the attribute.

반환값

Returns the value, as a string.

참고

hw_api_attribute->key
hw_api_attribute->values

이전 | 위로 | 다음
hw_api_attribute->langdepvalue | 처음으로 | hw_api_attribute->values


hw_api_attribute->values

(No version information available, might be only in CVS)

hw_api_attribute->values -- Returns all values of the attribute

설명

class hw_api_attribute {
array values ( void )
}

Gets all values of the attribute.

반환값

Returns an array of attribute values.

참고

hw_api_attribute->value

이전 | 위로 | 다음
hw_api_attribute->value | 처음으로 | hw_api_attribute


hw_api_attribute

(No version information available, might be only in CVS)

hw_api_attribute -- Creates instance of class hw_api_attribute

설명

HW_API_Attribute hw_api_attribute ( [string $name [, string $value]] )

Creates a new instance of hw_api_attribute with the given name and value.

매개변수

name

The attribute name.

value

The attribute value.

반환값

Returns an instance of hw_api_attribute.

이전 | 위로 | 다음
hw_api_attribute->values | 처음으로 | hw_api->checkin


hw_api->checkin

(No version information available, might be only in CVS)

hw_api->checkin -- Checks in an object

설명

class hw_api {
bool checkin ( array $parameter )
}

This function checks in an object or a whole hierarchy of objects. The parameters array contains the required element 'objectIdentifier' and the optional element 'version', 'comment', 'mode' and 'objectQuery'. 'version' sets the version of the object. It consists of the major and minor version separated by a period. If the version is not set, the minor version is incremented. 'mode' can be one of the following values:

HW_API_CHECKIN_NORMAL
Checks in and commits the object. The object must be a document.
HW_API_CHECKIN_RECURSIVE
If the object to check in is a collection, all children will be checked in recursively if they are documents. Trying to check in a collection would result in an error.
HW_API_CHECKIN_FORCE_VERSION_CONTROL
Checks in an object even if it is not under version control.
HW_API_CHECKIN_REVERT_IF_NOT_CHANGED
Check if the new version is different from the last version. Unless this is the case the object will be checked in.
HW_API_CHECKIN_KEEP_TIME_MODIFIED
Keeps the time modified from the most recent object.
HW_API_CHECKIN_NO_AUTO_COMMIT
The object is not automatically committed on check-in.

매개변수

parameter

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

hw_api->checkout

이전 | 위로 | 다음
hw_api_attribute | 처음으로 | hw_api->checkout


hw_api->checkout

(No version information available, might be only in CVS)

hw_api->checkout -- Checks out an object

설명

class hw_api {
bool checkout ( array $parameter )
}

This function checks out an object or a whole hierarchy of objects.

매개변수

parameter

The parameters array contains the required element 'objectIdentifier' and the optional element 'version', 'mode' and 'objectQuery'. 'mode' can be one of the following values:

HW_API_CHECKIN_NORMAL
Checks out an object. The object must be a document.
HW_API_CHECKIN_RECURSIVE
If the object to check out is a collection, all children will be checked out recursively if they are documents. Trying to check out a collection would result in an error.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

hw_api->checkin

이전 | 위로 | 다음
hw_api->checkin | 처음으로 | hw_api->children


hw_api->children

(No version information available, might be only in CVS)

hw_api->children -- Returns children of an object

설명

class hw_api {
array children ( array $parameter )
}

Retrieves the children of a collection or the attributes of a document. The children can be further filtered by specifying an object query.

매개변수

parameter

The parameter array contains the required elements 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

반환값

The return value is an array of objects of type HW_API_Object or HW_API_Error.

참고

hw_api->parents

이전 | 위로 | 다음
hw_api->checkout | 처음으로 | hw_api_content->mimetype


hw_api_content->mimetype

(No version information available, might be only in CVS)

hw_api_content->mimetype -- Returns mimetype

설명

class hw_api_content {
string mimetype ( void )
}

Returns the mimetype of the content.

반환값

Returns the mimetype as a string.

이전 | 위로 | 다음
hw_api->children | 처음으로 | hw_api_content->read


hw_api_content->read

(No version information available, might be only in CVS)

hw_api_content->read -- Read content

설명

class hw_api_content {
string read ( string $buffer, int $len )
}

Reads len bytes from the content into the given buffer.

매개변수

buffer

len

Number of bytes to read.

반환값

이전 | 위로 | 다음
hw_api_content->mimetype | 처음으로 | hw_api->content


hw_api->content

(No version information available, might be only in CVS)

hw_api->content -- Returns content of an object

설명

class hw_api {
HW_API_Content content ( array $parameter )
}

This function returns the content of a document as an object of type hw_api_content.

매개변수

parameter

The parameter array contains the required elements 'objectidentifier' and the optional element 'mode'. The mode can be one of the constants HW_API_CONTENT_ALLLINKS, HW_API_CONTENT_REACHABLELINKS or HW_API_CONTENT_PLAIN.

HW_API_CONTENT_ALLLINKS means to insert all anchors even if the destination is not reachable.

HW_API_CONTENT_REACHABLELINKS tells this method to insert only reachable links and HW_API_CONTENT_PLAIN will lead to document without any links.

반환값

Returns an instance of hw_api_content.

이전 | 위로 | 다음
hw_api_content->read | 처음으로 | hw_api->copy


hw_api->copy

(No version information available, might be only in CVS)

hw_api->copy -- Copies physically

설명

class hw_api {
hw_api_content copy ( array $parameter )
}

This function will make a physical copy including the content if it exists and returns the new object or an error object.

매개변수

parameter

The parameter array contains the required elements 'objectIdentifier' and 'destinationParentIdentifier'. The optional parameter is 'attributeSelector'`

반환값

Returns the copied object.

참고

hw_api->move
hw_api->link

이전 | 위로 | 다음
hw_api->content | 처음으로 | hw_api->dbstat


hw_api->dbstat

(No version information available, might be only in CVS)

hw_api->dbstat -- Returns statistics about database server

설명

class hw_api {
hw_api_object dbstat ( array $parameter )
}

Returns statistics about database server.

매개변수

parameter

반환값

참고

hw_api->dcstat
hw_api->hwstat
hw_api->ftstat

이전 | 위로 | 다음
hw_api->copy | 처음으로 | hw_api->dcstat


hw_api->dcstat

(No version information available, might be only in CVS)

hw_api->dcstat -- Returns statistics about document cache server

설명

class hw_api {
hw_api_object dcstat ( array $parameter )
}

Returns statistics about document cache server.

매개변수

parameter

반환값

참고

hw_api->dbstat
hw_api->hwstat
hw_api->ftstat

이전 | 위로 | 다음
hw_api->dbstat | 처음으로 | hw_api->dstanchors


hw_api->dstanchors

(No version information available, might be only in CVS)

hw_api->dstanchors -- Returns a list of all destination anchors

설명

class hw_api {
array dstanchors ( array $parameter )
}

Retrieves all destination anchors of an object.

매개변수

parameter

The parameter array contains the required element 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

반환값

참고

hw_api->srcanchors

이전 | 위로 | 다음
hw_api->dcstat | 처음으로 | hw_api->dstofsrcanchor


hw_api->dstofsrcanchor

(No version information available, might be only in CVS)

hw_api->dstofsrcanchor -- Returns destination of a source anchor

설명

class hw_api {
hw_api_object dstofsrcanchor ( array $parameter )
}

Retrieves the destination object pointed by the specified source anchors. The destination object can either be a destination anchor or a whole document.

매개변수

parameter

The parameters array contains the required element 'objectIdentifier' and the optional element 'attributeSelector'.

반환값

참고

hw_api->srcanchors
hw_api->dstanchors
hw_api->objectbyanchor

이전 | 위로 | 다음
hw_api->dstanchors | 처음으로 | hw_api_error->count


hw_api_error->count

(No version information available, might be only in CVS)

hw_api_error->count -- Returns number of reasons

설명

class hw_api_error {
int count ( void )
}

Returns the number of error reasons.

반환값

Returns the number of errors, as an integer.

참고

hw_api_error->reason

이전 | 위로 | 다음
hw_api->dstofsrcanchor | 처음으로 | hw_api_error->reason


hw_api_error->reason

(No version information available, might be only in CVS)

hw_api_error->reason -- Returns reason of error

설명

class hw_api_error {
HW_API_Reason reason ( void )
}

Returns the first error reason.

반환값

참고

hw_api_error->count

이전 | 위로 | 다음
hw_api_error->count | 처음으로 | hw_api->find


hw_api->find

(No version information available, might be only in CVS)

hw_api->find -- Search for objects

설명

class hw_api {
array find ( array $parameter )
}

This functions searches for objects either by executing a key or/and full text query. The found objects can further be filtered by an optional object query. They are sorted by their importance. The second search operation is relatively slow and its result can be limited to a certain number of hits. This allows to perform an incremental search, each returning just a subset of all found documents, starting at a given index.

매개변수

parameter

The parameter array contains the 'keyquery' or/and 'fulltextquery' depending on who you would like to search. Optional parameters are 'objectquery', 'scope', 'languages' and 'attributeselector'. In case of an incremental search the optional parameters 'startIndex', 'numberOfObjectsToGet' and 'exactMatchUnit' can be passed.

반환값

이전 | 위로 | 다음
hw_api_error->reason | 처음으로 | hw_api->ftstat


hw_api->ftstat

(No version information available, might be only in CVS)

hw_api->ftstat -- Returns statistics about fulltext server

설명

class hw_api {
hw_api_object ftstat ( array $parameter )
}

Returns statistics about fulltext server.

매개변수

parameter

반환값

참고

hw_api->dcstat
hw_api->dbstat
hw_api->hwstat

이전 | 위로 | 다음
hw_api->find | 처음으로 | hwapi_hgcsp


hwapi_hgcsp

(No version information available, might be only in CVS)

hwapi_hgcsp -- Returns object of class hw_api

설명

HW_API hwapi_hgcsp ( string $hostname [, int $port] )

Opens a connection to the Hyperwave server on host hostname. The protocol used is HGCSP.

매개변수

hostname

The host name.

port

If you do not pass a port number, 418 is used.

반환값

Returns an instance of HW_API.

이전 | 위로 | 다음
hw_api->ftstat | 처음으로 | hw_api->hwstat


hw_api->hwstat

(No version information available, might be only in CVS)

hw_api->hwstat -- Returns statistics about Hyperwave server

설명

class hw_api {
hw_api_object hwstat ( array $parameter )
}

Returns statistics about Hyperwave server.

매개변수

parameter

반환값

참고

hw_api->dcstat
hw_api->dbstat
hw_api->ftstat

이전 | 위로 | 다음
hwapi_hgcsp | 처음으로 | hw_api->identify


hw_api->identify

(No version information available, might be only in CVS)

hw_api->identify -- Log into Hyperwave Server

설명

class hw_api {
bool identify ( array $parameter )
}

Logs into the Hyperwave Server.

매개변수

parameter

The parameter array must contain the elements 'username' and 'password'.

반환값

Returns an object of typeHW_API_Error if identification failed or TRUE if it was successful.

이전 | 위로 | 다음
hw_api->hwstat | 처음으로 | hw_api->info


hw_api->info

(No version information available, might be only in CVS)

hw_api->info -- Returns information about server configuration

설명

class hw_api {
array info ( array $parameter )
}

Returns information about server configuration.

매개변수

parameter

반환값

참고

hw_api->dcstat
hw_api->dbstat
hw_api->ftstat
hw_api->hwstat

이전 | 위로 | 다음
hw_api->identify | 처음으로 | hw_api->insert


hw_api->insert

(No version information available, might be only in CVS)

hw_api->insert -- Inserts a new object

설명

class hw_api {
hw_api_object insert ( array $parameter )
}

Insert a new object. The object type can be user, group, document or anchor. Depending on the type other object attributes has to be set.

매개변수

parameter

The parameter array contains the required elements 'object' and 'content' (if the object is a document) and the optional parameters 'parameters', 'mode' and 'attributeSelector'. The 'object' must contain all attributes of the object. 'parameters' is an object as well holding further attributes like the destination (attribute key is 'Parent'). 'content' is the content of the document. 'mode' can be a combination of the following flags:

HW_API_INSERT_NORMAL
The object in inserted into the server.
HW_API_INSERT_FORCE_VERSION_CONTROL
HW_API_INSERT_AUTOMATIC_CHECKOUT
HW_API_INSERT_PLAIN
HW_API_INSERT_KEEP_TIME_MODIFIED
HW_API_INSERT_DELAY_INDEXING

반환값

참고

hw_api->replace

이전 | 위로 | 다음
hw_api->info | 처음으로 | hw_api->insertanchor


hw_api->insertanchor

(No version information available, might be only in CVS)

hw_api->insertanchor -- Inserts a new object of type anchor

설명

class hw_api {
hw_api_object insertanchor ( array $parameter )
}

This function is a shortcut for hwapi_insert(). It inserts an object of type anchor and sets some of the attributes required for an anchor.

매개변수

parameter

The parameter array contains the required elements 'object' and 'documentIdentifier' and the optional elements 'destinationIdentifier', 'parameter', 'hint' and 'attributeSelector'. The 'documentIdentifier' specifies the document where the anchor shall be inserted. The target of the anchor is set in 'destinationIdentifier' if it already exists. If the target does not exists the element 'hint' has to be set to the name of object which is supposed to be inserted later. Once it is inserted the anchor target is resolved automatically.

반환값

참고

hw_api->insert
hw_api->insertdocument
hw_api->insertcollection

이전 | 위로 | 다음
hw_api->insert | 처음으로 | hw_api->insertcollection


hw_api->insertcollection

(No version information available, might be only in CVS)

hw_api->insertcollection -- Inserts a new object of type collection

설명

class hw_api {
hw_api_object insertcollection ( array $parameter )
}

This function is a shortcut for hwapi_insert(). It inserts an object of type collection and sets some of the attributes required for a collection.

매개변수

parameter

The parameter array contains the required elements 'object' and 'parentIdentifier' and the optional elements 'parameter' and 'attributeSelector'. See hwapi_insert() for the meaning of each element.

반환값

참고

hw_api->insert
hw_api->insertdocument
hw_api->insertanchor

이전 | 위로 | 다음
hw_api->insertanchor | 처음으로 | hw_api->insertdocument


hw_api->insertdocument

(No version information available, might be only in CVS)

hw_api->insertdocument -- Inserts a new object of type document

설명

class hw_api {
hw_api_object insertdocument ( array $parameter )
}

This function is a shortcut for hwapi_insert(). It inserts an object with content and sets some of the attributes required for a document.

매개변수

parameter

The parameter array contains the required elements 'object', 'parentIdentifier' and 'content' and the optional elements 'mode', 'parameter' and 'attributeSelector'.

See hwapi_insert() for the meaning of each element.

반환값

참고

hw_api->insert
hw_api->insertcollection
hw_api->insertanchor

이전 | 위로 | 다음
hw_api->insertcollection | 처음으로 | hw_api->link


hw_api->link

(No version information available, might be only in CVS)

hw_api->link -- Creates a link to an object

설명

class hw_api {
bool link ( array $parameter )
}

Creates a link to an object. Accessing this link is like accessing the object to links points to.

매개변수

parameter

The parameter array contains the required elements 'objectIdentifier' and 'destinationParentIdentifier'. 'destinationParentIdentifier' is the target collection.

반환값

The function returns TRUE on success or an error object.

참고

hw_api->copy

이전 | 위로 | 다음
hw_api->insertdocument | 처음으로 | hw_api->lock


hw_api->lock

(No version information available, might be only in CVS)

hw_api->lock -- Locks an object

설명

class hw_api {
bool lock ( array $parameter )
}

Locks an object for exclusive editing by the user calling this function. The object can be only unlocked by this user or the system user.

매개변수

parameter

The parameter array contains the required element 'objectIdentifier' and the optional parameters 'mode' and 'objectquery'.

'mode' determines how an object is locked. HW_API_LOCK_NORMAL means, an object is locked until it is unlocked. HW_API_LOCK_RECURSIVE is only valid for collection and locks all objects within the collection and possible subcollections. HW_API_LOCK_SESSION means, an object is locked only as long as the session is valid.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

hw_api->unlock

이전 | 위로 | 다음
hw_api->link | 처음으로 | hw_api->move


hw_api->move

(No version information available, might be only in CVS)

hw_api->move -- Moves object between collections

설명

class hw_api {
bool move ( array $parameter )
}

Moves object between collections.

매개변수

parameter

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

hw_objrec2array()

이전 | 위로 | 다음
hw_api->lock | 처음으로 | hw_api_content


hw_api_content

(No version information available, might be only in CVS)

hw_api_content -- Create new instance of class hw_api_content

설명

HW_API_Content hw_api_content ( string $content, string $mimetype )

Creates a new content object from the string content.

매개변수

content

mimetype

The mimetype for the contents.

반환값

이전 | 위로 | 다음
hw_api->move | 처음으로 | hw_api_object->assign


hw_api_object->assign

(No version information available, might be only in CVS)

hw_api_object->assign -- Clones object

설명

class hw_api_object {
bool assign ( array $parameter )
}

Clones the attributes of an object.

매개변수

parameter

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
hw_api_content | 처음으로 | hw_api_object->attreditable


hw_api_object->attreditable

(No version information available, might be only in CVS)

hw_api_object->attreditable -- Checks whether an attribute is editable

설명

class hw_api_object {
bool attreditable ( array $parameter )
}

Checks whether an attribute is editable.

매개변수

parameter

반환값

Returns TRUE if the attribute is editable, FALSE otherwise.

이전 | 위로 | 다음
hw_api_object->assign | 처음으로 | hw_api_object->count


hw_api_object->count

(No version information available, might be only in CVS)

hw_api_object->count -- Returns number of attributes

설명

class hw_api_object {
int count ( array $parameter )
}

Returns the number of attributes.

매개변수

parameter

반환값

Returns the number as an integer.

이전 | 위로 | 다음
hw_api_object->attreditable | 처음으로 | hw_api_object->insert


hw_api_object->insert

(No version information available, might be only in CVS)

hw_api_object->insert -- Inserts new attribute

설명

class hw_api_object {
bool insert ( HW_API_Attribute $attribute )
}

Adds an attribute to the object.

매개변수

attribute

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

hw_api_object->remove

이전 | 위로 | 다음
hw_api_object->count | 처음으로 | hw_api_object


hw_api_object

(No version information available, might be only in CVS)

hw_api_object -- Creates a new instance of class hw_api_object

설명

hw_api_object hw_api_object ( array $parameter )

Creates a new instance of the class hw_api_object.

매개변수

parameter

반환값

참고

hw_api->lock

이전 | 위로 | 다음
hw_api_object->insert | 처음으로 | hw_api_object->remove


hw_api_object->remove

(No version information available, might be only in CVS)

hw_api_object->remove -- Removes attribute

설명

class hw_api_object {
bool remove ( string $name )
}

Removes the attribute with the given name.

매개변수

name

The attribute name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

hw_api_object->insert

이전 | 위로 | 다음
hw_api_object | 처음으로 | hw_api_object->title


hw_api_object->title

(No version information available, might be only in CVS)

hw_api_object->title -- Returns the title attribute

설명

class hw_api_object {
string title ( array $parameter )
}

Returns the title attribute.

매개변수

parameter

반환값

Returns the title as a string.

이전 | 위로 | 다음
hw_api_object->remove | 처음으로 | hw_api_object->value


hw_api_object->value

(No version information available, might be only in CVS)

hw_api_object->value -- Returns value of attribute

설명

class hw_api_object {
string value ( string $name )
}

Returns value of an attribute.

매개변수

name

The attribute name.

반환값

Returns the value of the attribute with the given name or FALSE if an error occurred.

이전 | 위로 | 다음
hw_api_object->title | 처음으로 | hw_api->object


hw_api->object

(No version information available, might be only in CVS)

hw_api->object -- Retrieve attribute information

설명

class hw_api {
hw_api_object object ( array $parameter )
}

This function retrieves the attribute information of an object of any version. It will not return the document content.

매개변수

parameter

The parameter array contains the required elements 'objectIdentifier' and the optional elements 'attributeSelector' and 'version'.

반환값

The returned object is an instance of class HW_API_Object on success or HW_API_Error if an error occurred.

예제

This simple example retrieves an object and checks for errors.

예 804. Retrieve an object

<?php
function handle_error($error)
{
  $reason = $error->reason(0);
  echo "Type: <b>";
  switch ($reason->type()) {
    case 0:
      echo "Error";
      break;
    case 1:
      echo "Warning";
      break;
    case 2:
      echo "Message";
      break;
  }
  echo "</b><br />\n";
  echo "Description: " . $reason->description("en") . "<br />\n";
}

function list_attr($obj)
{
  echo "<table>\n";
  $count = $obj->count();
  for ($i=0; $i<$count; $i++) {
    $attr = $obj->attribute($i);
    printf("<tr><td align=\"right\" bgcolor=\"#c0c0c0\"><b>%s</b></td><td bgcolor=\"#F0F0F0\">%s</td></tr>\n",
             $attr->key(), $attr->value());
  }
  echo "</table>\n";
}

$hwapi = hwapi_hgcsp($g_config[HOSTNAME]);
$parms = array("objectIdentifier"=>"rootcollection", "attributeSelector"=>array("Title", "Name", "DocumentType"));
$root = $hwapi->object($parms);
if (get_class($root) == "HW_API_Error") {
  handle_error($root);
  exit;
}
list_attr($root);
?>

참고

hw_api->content

이전 | 위로 | 다음
hw_api_object->value | 처음으로 | hw_api->objectbyanchor


hw_api->objectbyanchor

(No version information available, might be only in CVS)

hw_api->objectbyanchor -- Returns the object an anchor belongs to

설명

class hw_api {
hw_api_object objectbyanchor ( array $parameter )
}

This function retrieves an object the specified anchor belongs to.

매개변수

parameter

The parameter array contains the required element 'objectIdentifier' and the optional element 'attributeSelector'.

반환값

참고

hw_api->dstofsrcanchor
hw_api->srcanchors
hw_api->dstanchors

이전 | 위로 | 다음
hw_api->object | 처음으로 | hw_api->parents


hw_api->parents

(No version information available, might be only in CVS)

hw_api->parents -- Returns parents of an object

설명

class hw_api {
array parents ( array $parameter )
}

Retrieves the parents of an object. The parents can be further filtered by specifying an object query.

매개변수

parameter

The parameter array contains the required elements 'objectidentifier' and the optional elements 'attributeselector' and 'objectquery'.

반환값

The return value is an array of objects of type HW_API_Object or HW_API_Error.

참고

hw_api->children

이전 | 위로 | 다음
hw_api->objectbyanchor | 처음으로 | hw_api_reason->description


hw_api_reason->description

(No version information available, might be only in CVS)

hw_api_reason->description -- Returns description of reason

설명

class hw_api_reason {
string description ( void )
}

Returns the description of a reason

반환값

Returns the description, as a string.

이전 | 위로 | 다음
hw_api->parents | 처음으로 | hw_api_reason->type


hw_api_reason->type

(No version information available, might be only in CVS)

hw_api_reason->type -- Returns type of reason

설명

class hw_api_reason {
HW_API_Reason type ( void )
}

Returns the type of a reason.

반환값

Returns an instance of HW_API_Reason.

이전 | 위로 | 다음
hw_api_reason->description | 처음으로 | hw_api->remove


hw_api->remove

(No version information available, might be only in CVS)

hw_api->remove -- Delete an object

설명

class hw_api {
bool remove ( array $parameter )
}

Removes an object from the specified parent. Collections will be removed recursively.

매개변수

parameter

You can pass an optional object query to remove only those objects which match the query. An object will be deleted physically if it is the last instance.

The parameter array contains the required elements 'objectidentifier' and 'parentidentifier'. If you want to remove a user or group 'parentidentifier' can be skipped.

The optional parameter 'mode' determines how the deletion is performed. In normal mode the object will not be removed physically until all instances are removed. In physical mode all instances of the object will be deleted immediately. In removelinks mode all references to and from the objects will be deleted as well. In nonrecursive the deletion is not performed recursive. Removing a collection which is not empty will cause an error.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

hw_api->move

이전 | 위로 | 다음
hw_api_reason->type | 처음으로 | hw_api->replace


hw_api->replace

(No version information available, might be only in CVS)

hw_api->replace -- Replaces an object

설명

class hw_api {
hw_api_object replace ( array $parameter )
}

Replaces the attributes and the content of an object.

매개변수

parameter

The parameter array contains the required elements 'objectIdentifier' and 'object' and the optional parameters 'content', 'parameters', 'mode' and 'attributeSelector'. 'objectIdentifier' contains the object to be replaced. 'object' contains the new object. 'content' contains the new content. 'parameters' contain extra information for HTML documents. HTML_Language is the letter abbreviation of the language of the title. HTML_Base sets the base attribute of the HTML document.

'mode' can be a combination of the following flags:

HW_API_REPLACE_NORMAL
The object on the server is replace with the object passed.
HW_API_REPLACE_FORCE_VERSION_CONTROL
HW_API_REPLACE_AUTOMATIC_CHECKOUT
HW_API_REPLACE_AUTOMATIC_CHECKIN
HW_API_REPLACE_PLAIN
HW_API_REPLACE_REVERT_IF_NOT_CHANGED
HW_API_REPLACE_KEEP_TIME_MODIFIED

반환값

참고

hw_api->insert

이전 | 위로 | 다음
hw_api->remove | 처음으로 | hw_api->setcommittedversion


hw_api->setcommittedversion

(No version information available, might be only in CVS)

hw_api->setcommittedversion -- Commits version other than last version

설명

class hw_api {
hw_api_object setcommittedversion ( array $parameter )
}

Commits a version of a document. The committed version is the one which is visible to users with read access. By default the last version is the committed version.

매개변수

parameter

반환값

참고

hw_api->checkin
hw_api->checkout

이전 | 위로 | 다음
hw_api->replace | 처음으로 | hw_api->srcanchors


hw_api->srcanchors

(No version information available, might be only in CVS)

hw_api->srcanchors -- Returns a list of all source anchors

설명

class hw_api {
array srcanchors ( array $parameter )
}

Retrieves all source anchors of an object.

매개변수

parameter

The parameter array contains the required element 'objectIdentifier' and the optional elements 'attributeSelector' and 'objectQuery'.

반환값

참고

hw_api->dstanchors

이전 | 위로 | 다음
hw_api->setcommittedversion | 처음으로 | hw_api->srcsofdst


hw_api->srcsofdst

(No version information available, might be only in CVS)

hw_api->srcsofdst -- Returns source of a destination object

설명

class hw_api {
array srcsofdst ( array $parameter )
}

Retrieves all the source anchors pointing to the specified destination. The destination object can either be a destination anchor or a whole document.

매개변수

parameter

The parameters array contains the required element 'objectIdentifier' and the optional element 'attributeSelector' and 'objectQuery'. The function returns an array of objects or an error.

반환값

참고

hw_api->dstofsrcanchor

이전 | 위로 | 다음
hw_api->srcanchors | 처음으로 | hw_api->unlock


hw_api->unlock

(No version information available, might be only in CVS)

hw_api->unlock -- Unlocks a locked object

설명

class hw_api {
bool unlock ( array $parameter )
}

Unlocks a locked object. Only the user who has locked the object and the system user may unlock an object.

매개변수

parameter

The parameter array contains the required element 'objectIdentifier' and the optional parameters 'mode' and 'objectquery'. The meaning of 'mode' is the same as in function hwapi_lock().

반환값

Returns TRUE on success or an object of class HW_API_Error.

참고

hw_api->lock

이전 | 위로 | 다음
hw_api->srcsofdst | 처음으로 | hw_api->user


hw_api->user

(No version information available, might be only in CVS)

hw_api->user -- Returns the own user object

설명

class hw_api {
hw_api_object user ( array $parameter )
}

Returns the own user object.

매개변수

parameter

반환값

참고

hw_api->userlist

이전 | 위로 | 다음
hw_api->unlock | 처음으로 | hw_api->userlist


hw_api->userlist

(No version information available, might be only in CVS)

hw_api->userlist -- Returns a list of all logged in users

설명

class hw_api {
array userlist ( array $parameter )
}

Returns a list of all logged in users.

매개변수

parameter

반환값

참고

hw_api->user

이전 | 위로 | 다음
hw_api->user | 처음으로 | LIX. i18n 함수


iconv 함수

이전 VI. 함수 레퍼런스 다음

LXII. iconv 함수

소개

이 모듈은 iconv 문자셋 변환 기능을 사용하는 인터페이스를 가지고 있습니다. 이 모듈로, 로컬 문자셋을 유니코드 문자셋 등의 다른 문자셋으로 변환할 수 있습니다. 지원하는 문자셋은 시스템의 iconv 실행에 의존합니다. 몇몇 시스템에서는 iconv가 기대한대로 작동하지 않을 수 있는 점에 주의하십시오. » GNU libiconv 라이브러리를 설치하면 대부분의 경우에 좋은 결과를 얻을 수 있습니다.

PHP 5.0.0부터, 이 확장 모듈은 다중 언어 스크립트를 작성할 때 도움을 주는 다양한 실용적인 함수를 제공합니다. 새로운 기능에 대해서 아래의 섹션을 살펴보십시오.

요구 조건

최근의 POSIX 호환 시스템을 사용한다면 iconv 기능을 표준 C 라이브러리에서 지원하기 때문에, 추가로 필요한 것이 없습니다. 그렇지 않다면 » libiconv 라이브러리를 얻어서 시스템에 설치해야 합니다.

설치

이 모듈이 제공하는 함수를 사용하려면, 설정 옵션 --with-iconv[=DIR]을 사용하여 PHP 바이너리를 빌드해야 합니다.

Windows® 사용자 주의: Windows® 환경에서 이 모듈을 사용하려면, PHP/Win32 바이너리 패키지에 들어 있는 iconv.dll, 또는 iconv-1.3.dll(4.2.1 이전) DLL 파일을 PATH 환경 변수로 지정한 디렉토리나 Windows®의 시스템 디렉토리에 놓아야 합니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 125. Iconv 설정 옵션

이름 | 기본값 | 설정권한 | 변경점
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 4.0.5부터 사용할 수 있습니다.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 4.0.5부터 사용할 수 있습니다.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 4.0.5부터 사용할 수 있습니다.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

주의

몇몇 시스템(IBM AIX 등)은 "ISO-8859-1" 대신에 "ISO8859-1"을 사용하기에, 이 값을 설정 옵션과 함수 매개변수로 사용합니다.

참고: 설정 옵션 iconv.input_encoding는 현재 사용되지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

PHP 4.3.0부터 실행시에 이 확장 모듈에서 어느 iconv implementation을 사용할지 결정할 수 있습니다.

표 126. iconv 상수

이름 | 형 | 설명
ICONV_IMPL | string | implementation 이름
ICONV_VERSION | string | implementation 버전

참고: 이 상수들을 사용하여 implementation 의존적인 스크립트를 작성하는 것은 절대 권장하지 않습니다.

PHP 5.0.0부터, 다음의 상수를 사용할 수 있습니다:

표 127. PHP 5.0.0부터 사용할 수 있는 iconv 상수

이름 | 형 | 설명
ICONV_MIME_DECODE_STRICT | integer | iconv_mime_decode()에서 사용하는 비트마스크
ICONV_MIME_DECODE_CONTINUE_ON_ERROR | integer | iconv_mime_decode()에서 사용하는 비트마스크

참고

참고: GNU Recode 함수.

차례

iconv_get_encoding -- 문자 인코딩 변환을 위한 현재 설정 상태를 문의
iconv_mime_decode_headers -- Decodes multiple MIME header fields at once
iconv_mime_decode -- Decodes a MIME header field
iconv_mime_encode -- Composes a MIME header field
iconv_set_encoding -- 문자 인코딩 변환을 설정 Set current setting for character encoding conversion
iconv_strlen -- Returns the character count of string
iconv_strpos -- Finds position of first occurrence of a needle within a haystack
iconv_strrpos -- Finds the last occurrence of a needle within a haystack
iconv_substr -- Cut out part of a string
iconv -- 원하는 문자 인코딩으로 변환한다
ob_iconv_handler -- 출력 버퍼 핸들러로 문자 엔코딩을 변환한다
이전 | 위로 | 다음
db2_tables | 처음으로 | iconv_get_encoding


iconv_get_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_get_encoding -- 문자 인코딩 변환을 위한 현재 설정 상태를 문의

Description

array iconv_get_encoding ( [string $type] )

배열로서 ob_iconv_handler()함수의 현재 설정을 리턴하고, 실패하면, FALSE을 리턴한다.

See also: iconv_set_encoding() and ob_iconv_handler().

이전 | 위로 | 다음
LXII. iconv 함수 | 처음으로 | iconv_mime_decode_headers


iconv_mime_decode_headers

(PHP 5)

iconv_mime_decode_headers -- Decodes multiple MIME header fields at once

설명

array iconv_mime_decode_headers ( string $encoded_headers [, int $mode [, string $charset]] )

Returns an associative array that holds a whole set of MIME header fields specified by encoded_headers on success, or FALSE if an error occurs during the decoding.

Each key of the return value represents an individual field name and the corresponding element represents a field value. If more than one field of the same name are present, iconv_mime_decode_headers() automatically incorporates them into a numerically indexed array in the order of occurrence.

매개변수

encoded_headers

The encoded headers, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode_headers() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.

표 128. Bitmasks acceptable to iconv_mime_decode_headers()

Value | Constant | Description
1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in » RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

charset

The optional charset parameter specifies the character set to represent the result by. If omitted, iconv.internal_encoding will be used.

예제

예 859. iconv_mime_decode_headers() example

<?php
$headers_string = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: example@example.com
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <example@example.com>
Received: from localhost (localhost [127.0.0.1]) by localhost
    with SMTP id example for <example@example.com>;
    Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
    (envelope-from example-return-0000-example=example.com@example.com)
Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000

EOF;

$headers =  iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1");
print_r($headers);
?>

위 예제의 출력:

Array
(
    [Subject] => Pr?fung Pr?fung
    [To] => example@example.com
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <example@example.com>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

참고

iconv_mime_decode()
mb_decode_mimeheader()
imap_mime_header_decode()
imap_base64()
imap_qprint()

이전 | 위로 | 다음
iconv_get_encoding | 처음으로 | iconv_mime_decode


iconv_mime_decode

(PHP 5)

iconv_mime_decode -- Decodes a MIME header field

설명

string iconv_mime_decode ( string $encoded_header [, int $mode [, string $charset]] )

Decodes a MIME header field.

매개변수

encoded_header

The encoded header, as a string.

mode

mode determines the behaviour in the event iconv_mime_decode() encounters a malformed MIME header field. You can specify any combination of the following bitmasks.

표 129. Bitmasks acceptable to iconv_mime_decode()

Value | Constant | Description
1 | ICONV_MIME_DECODE_STRICT | If set, the given header is decoded in full conformance with the standards defined in » RFC2047. This option is disabled by default because there are a lot of broken mail user agents that don't follow the specification and don't produce correct MIME headers.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | If set, iconv_mime_decode_headers() attempts to ignore any grammatical errors and continue to process a given header.

charset

The optional charset parameter specifies the character set to represent the result by. If omitted, iconv.internal_encoding will be used.

반환값

Returns a decoded MIME field on success, or FALSE if an error occurs during the decoding.

예제

예 860. iconv_mime_decode() example

<?php
// This yields "Subject: Pr?fung Pr?fung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
                       0, "ISO-8859-1");
?>

참고

iconv_mime_decode_headers()
mb_decode_mimeheader()
imap_mime_header_decode()
imap_base64()
imap_qprint()

이전 | 위로 | 다음
iconv_mime_decode_headers | 처음으로 | iconv_mime_encode


iconv_mime_encode

(PHP 5)

iconv_mime_encode -- Composes a MIME header field

설명

string iconv_mime_encode ( string $field_name, string $field_value [, array $preferences] )

Composes and returns a string that represents a valid MIME header field, which looks like the following:

Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME kopfzeile
In the above example, "Subject" is the field name and the portion that begins with "=?ISO-8859-1?..." is the field value.

매개변수

field_name

The field name.

field_value

The field value.

preferences

You can control the behaviour of iconv_mime_encode() by specifying an associative array that contains configuration items to the optional third parameter preferences. The items supported by iconv_mime_encode() are listed below. Note that item names are treated case-sensitive.

표 130. Configuration items supported by iconv_mime_encode()

Item | Type | Description | Default value | Example
scheme | string | Specifies the method to encode a field value by. The value of this item may be either "B" or "Q", where "B" stands for base64 encoding scheme and "Q" stands for quoted-printable encoding scheme. | B | B
input-charset | string | Specifies the character set in which the first parameter field_name and the second parameter field_value are presented. If not given, iconv_mime_encode() assumes those parameters are presented to it in the iconv.internal_encoding ini setting. | iconv.internal_encoding | ISO-8859-1
output-charset | string | Specifies the character set to use to compose the MIME header. If not given, the same value as input-charset will be used. | iconv.internal_encoding | UTF-8
line-length | integer | Specifies the maximum length of the header lines. The resulting header is "folded" to a set of multiple lines in case the resulting header field would be longer than the value of this parameter, according to » RFC2822 - Internet Message Format. If not given, the length will be limited to 76 characters. | 76 | 996
line-break-chars | string | Specifies the sequence of characters to append to each line as an end-of-line sign when "folding" is performed on a long header field. If not given, this defaults to "\r\n" (CR LF). Note that this parameter is always treated as an ASCII string regardless of the value of input-charset. | \r\n | \n

반환값

Returns an encoded MIME field on success, or FALSE if an error occurs during the encoding.

예제

예 861. iconv_mime_encode() example

<?php
$preferences = array(
    "input-charset" => "ISO-8859-1",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// This yields "Subject: =?UTF-8?Q?Pr=C3=BCfung_Pr=C3=BCfung?="
echo iconv_mime_encode("Subject", "Pr?fung Pr?fung", $preferences);

$preferences["scheme"] = "B";
// This yields "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject", "Pr?fung Pr?fung", $preferences);
?>

참고

imap_binary()
mb_encode_mimeheader()
imap_8bit()

이전 | 위로 | 다음
iconv_mime_decode | 처음으로 | iconv_set_encoding


iconv_set_encoding

(PHP 4 >= 4.0.5, PHP 5)

iconv_set_encoding -- 문자 인코딩 변환을 설정 Set current setting for character encoding conversion

Description

array iconv_set_encoding ( string $type, string $charset )

type을 charset로 변경하고 성공하면 TRUE를 실패하면 FALSE를 리턴한다.

예 862. iconv_set_encoding() example:

iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");

See also: iconv_get_encoding() and ob_iconv_handler().

이전 | 위로 | 다음
iconv_mime_encode | 처음으로 | iconv_strlen


iconv_strlen

(PHP 5)

iconv_strlen -- Returns the character count of string

설명

int iconv_strlen ( string $str [, string $charset] )

In contrast to strlen(), iconv_strlen() counts the occurrences of characters in the given byte sequence str on the basis of the specified character set, the result of which is not necessarily identical to the length of the string in byte.

매개변수

str

The string.

charset

If charset parameter is omitted, str is assumed to be encoded in iconv.internal_encoding.

반환값

Returns the character count of str, as an integer.

참고

strlen()
mb_strlen()

이전 | 위로 | 다음
iconv_set_encoding | 처음으로 | iconv_strpos


iconv_strpos

(PHP 5)

iconv_strpos -- Finds position of first occurrence of a needle within a haystack

설명

int iconv_strpos ( string $haystack, string $needle [, int $offset [, string $charset]] )

Finds position of first occurrence of a needle within a haystack.

In contrast to strpos(), the return value of iconv_strpos() is the number of characters that appear before the needle, rather than the offset in bytes to the position where the needle has been found. The characters are counted on the basis of the specified character set charset.

매개변수

haystack

The entire string.

needle

The searched substring.

offset

The optional offset parameter specifies the position from which the search should be performed.

charset

If charset parameter is omitted, string are assumed to be encoded in iconv.internal_encoding.

If haystack or needle is not a string, it is converted to a string and applied as the ordinal value of a character.

반환값

Returns the numeric position of the first occurrence of needle in haystack.

If needle is not found, iconv_strpos() will return FALSE.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

참고

strpos()
iconv_strrpos()
mb_strpos()

이전 | 위로 | 다음
iconv_strlen | 처음으로 | iconv_strrpos


iconv_strrpos

(PHP 5)

iconv_strrpos -- Finds the last occurrence of a needle within a haystack

설명

int iconv_strrpos ( string $haystack, string $needle [, string $charset] )

In contrast to strpos(), the return value of iconv_strrpos() is the number of characters that appear before the needle, rather than the offset in bytes to the position where the needle has been found.

매개변수

haystack

The entire string.

needle

The searched substring.

charset

If charset parameter is omitted, string are assumed to be encoded in iconv.internal_encoding.

If haystack or needle is not a string, it is converted to a string and applied as the ordinal value of a character.

반환값

Returns the numeric position of the last occurrence of needle in haystack. The characters are counted on the basis of the specified character set charset.

If needle is not found, iconv_strrpos() will return FALSE.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

참고

strrpos()
iconv_strpos()
mb_strrpos()

이전 | 위로 | 다음
iconv_strpos | 처음으로 | iconv_substr


iconv_substr

(PHP 5)

iconv_substr -- Cut out part of a string

설명

string iconv_substr ( string $str, int $offset [, int $length [, string $charset]] )

Cuts a portion of str specified by the offset and length parameters.

매개변수

str

The original string.

offset

If offset is non-negative, iconv_substr() cuts the portion out of str beginning at offset'th character, counting from zero.

If offset is negative, iconv_substr() cuts out the portion beginning at the position, offset characters away from the end of str.

length

If length is given and is positive, the return value will contain at most length characters of the portion that begins at offset (depending on the length of string).

If negative length is passed, iconv_substr() cuts the portion out of str from the offset'th character up to the character that is length characters away from the end of the string. In case offset is also negative, the start position is calculated beforehand according to the rule explained above.

charset

If charset parameter is omitted, string are assumed to be encoded in iconv.internal_encoding.

Note that offset and length parameters are always deemed to represent offsets that are calculated on the basis of the character set determined by charset, whilst the counterpart substr() always takes these for byte offsets.

반환값

Returns the portion of str specified by the offset and length parameters.

If str is shorter than offset characters long, FALSE will be returned.

참고

substr()
mb_substr()
mb_strcut()

이전 | 위로 | 다음
iconv_strrpos | 처음으로 | iconv


iconv

(PHP 4 >= 4.0.5, PHP 5)

iconv -- 원하는 문자 인코딩으로 변환한다

Description

string iconv ( string $in_charset, string $out_charset, string $str )

in_charset으로 인코드된 string을 out_charset으로 인코딩된 string으로 변환한다. 변환된 문자열을 리턴하거나, 실패하면 FALSE을 리턴한다.

예 863. iconv() example:

echo iconv("ISO-8859-1","UTF-8","This is test.");

이전 | 위로 | 다음
iconv_substr | 처음으로 | ob_iconv_handler


ob_iconv_handler

(PHP 4 >= 4.0.5, PHP 5)

ob_iconv_handler -- 출력 버퍼 핸들러로 문자 엔코딩을 변환한다

Description

array ob_iconv_handler ( string $contents, int $status )

internal_encoding에서 인코딩된 문자열을 output_encoding로 변환한다.

internal_encoding과 output_encoding는 iconv_set_encoding()함수나 설정파일에서 정의되어있어야 한다.

예 864. ob_iconv_handler() example:

ob_start("ob_iconv_handler"); // start output buffering

See also: iconv_get_encoding() and iconv_set_encoding().

이전 | 위로 | 다음
iconv | 처음으로 | LXIII. ID3 Functions


Image Functions

이전 VI. 함수 레퍼런스 다음

LXV. Image Functions

소개

PHP is not limited to creating just HTML output. It can also be used to create and manipulate image files in a variety of different image formats, including gif, png, jpg, wbmp, and xpm. Even more convenient, PHP can output image streams directly to a browser. You will need to compile PHP with the GD library of image functions for this to work. GD and PHP may also require other libraries, depending on which image formats you want to work with.

You can use the image functions in PHP to get the size of JPEG, GIF, PNG, SWF, TIFF and JPEG2000 images.

With the exif extension, you are able to work with information stored in headers of JPEG and TIFF images. This way you can read meta data generated by digital cameras. The exif functions do not require the GD library.

참고: Read the requirements section about how to expand image capabilities to read, write and modify images. To read meta data of pictures taken by digital cameras you need the above mentioned exif extension.

요구 조건

If you have the GD library (available at » http://www.libgd.org/) you will also be able to create and manipulate images.

The format of images you are able to manipulate depend on the version of GD you install, and any other libraries GD might need to access those image formats. Versions of GD older than gd-1.6 support GIF format images, and do not support PNG, where versions greater than gd-1.6 and less than gd-2.0.28 support PNG, not GIF. GIF support was re-enabled in gd-2.0.28.

참고: Since PHP 4.3 there is a bundled version of the GD lib. This bundled version has some additional features like alpha blending, and should be used in preference to the external library since its codebase is better maintained and more stable.

참고: Support for GD 1.x has been removed as of PHP 6.0.0, which requires GD 2.0.33 or later.

You may wish to enhance GD to handle more image formats.

표 132. Supported image formats

Image format | Library to download | Notes
gif |  | Only supported in GD versions older than gd-1.6 and newer than gd-2.0.28. Read-only GIF support is available with PHP 4.3.0 and the bundled GD-library. Write support is available since PHP 4.3.9 and PHP 5.0.1.
jpeg-6b | » ftp://ftp.uu.net/graphics/jpeg/ | When buliding the jpeg-v6b library (prior to building PHP) you must use the --enable-shared option in the configure step. If you do not, you will receive an error saying libjpeg.(a|so) not found when you get to the configure step of building PHP.
png | » http://www.libpng.org/pub/png/libpng.html | Only supported in GD versions greater than gd-1.6.
xpm | » ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html | It's likely you have this library already available, if your system has an installed X-Environment.

You may wish to enhance GD to deal with different fonts. The following font libraries are supported:

표 133. Supported font libraries

Font library | Download | Notes
FreeType 1.x | » http://www.freetype.org/ | Support removed as of PHP 6.0.0
FreeType 2 | » http://www.freetype.org/ |
T1lib | » ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | Support for Postscript Type 1 fonts.

설치

To enable GD-support configure PHP --with-gd[=DIR], where DIR is the GD base install directory. To use the recommended bundled version of the GD library (which was first bundled in PHP 4.3.0), use the configure option --with-gd. GD library requires libpng and libjpeg to compile.

In Windows, you'll include the GD2 DLL php_gd2.dll as an extension in php.ini. The GD1 DLL php_gd.dll was removed in PHP 4.3.2. Also note that the preferred truecolor image functions, such as imagecreatetruecolor(), require GD2.

To disable GD support in PHP 3 add --without-gd to your configure line.

Enhance the capabilities of GD to handle more image formats by specifying the --with-XXXX configure switch to your PHP configure line.

표 134. Supported image formats

Image Format | Configure Switch
jpeg-6b | To enable support for jpeg-6b add --with-jpeg-dir=DIR.
png | To enable support for png add --with-png-dir=DIR. Note, libpng requires the zlib library, therefore add --with-zlib-dir[=DIR] to your configure line.
xpm | To enable support for xpm add --with-xpm-dir=DIR. If configure is not able to find the required libraries, you may add the path to your X11 libraries.

참고: When compiling PHP with libpng, you must use the same version that was linked with the GD library.

Enhance the capabilities of GD to deal with different fonts by specifying the --with-XXXX configure switch to your PHP configure line.

표 135. Supported font libraries

Font library | Configure Switch
FreeType 1.x | To enable support for FreeType 1.x add --with-ttf[=DIR].
FreeType 2 | To enable support for FreeType 2 add --with-freetype-dir=DIR.
T1lib | To enable support for T1lib (Postscript Type 1 fonts) add --with-t1lib[=DIR].
Native TrueType string function | To enable support for native TrueType string function add --enable-gd-native-ttf.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 136. Image 설정 옵션

이름 | 기본값 | 가변성 | Changelog
gd.jpeg_ignore_warning | "0" | PHP_INI_ALL | Available since PHP 5.1.3.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

gd.jpeg_ignore_warning bool

Ignore warnings created by jpeg2wbmp() and imagecreatefromjpeg()

See also the exif configuration directives.

주의

Image functions are very memory intensive. Be sure to set memory_limit high enough.

자원형

This extension defines two resource types: an image identifier and a font identifier.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

GD_VERSION (string)
The GD version PHP was compiled against. (Available as of PHP 5.2.4)
GD_MAJOR_VERSION (integer)
The GD major version PHP was compiled against. (Available as of PHP 5.2.4)
GD_MINOR_VERSION (integer)
The GD minor version PHP was compiled against. (Available as of PHP 5.2.4)
GD_RELEASE_VERSION (integer)
The GD release version PHP was compiled against. (Available as of PHP 5.2.4)
GD_EXTRA_VERSION (string)
The GD "extra" version (beta/rc..) PHP was compiled against. (Available as of PHP 5.2.4)
IMG_GIF (integer)
Used as a return value by imagetypes()
IMG_JPG (integer)
Used as a return value by imagetypes()
IMG_JPEG (integer)

Used as a return value by imagetypes()

참고: This constant has the same value as IMAGE_JPG

IMG_PNG (integer)
Used as a return value by imagetypes()
IMG_WBMP (integer)
Used as a return value by imagetypes()
IMG_XPM (integer)
Used as a return value by imagetypes()
IMG_COLOR_TILED (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_COLOR_STYLED (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_COLOR_BRUSHED (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_COLOR_STYLEDBRUSHED (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_COLOR_TRANSPARENT (integer)
Special color option which can be used in stead of color allocated with imagecolorallocate() or imagecolorallocatealpha()
IMG_ARC_ROUNDED (integer)

A style constant used by the imagefilledarc() function.

참고: This constant has the same value as IMG_ARC_PIE

IMG_ARC_PIE (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_CHORD (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_NOFILL (integer)
A style constant used by the imagefilledarc() function.
IMG_ARC_EDGED (integer)
A style constant used by the imagefilledarc() function.
IMG_GD2_RAW (integer)
A type constant used by the imagegd2() function.
IMG_GD2_COMPRESSED (integer)
A type constant used by the imagegd2() function.
IMG_EFFECT_REPLACE (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_ALPHABLEND (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_NORMAL (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_EFFECT_OVERLAY (integer)
Alpha blending effect used by the imagelayereffect() function.
IMG_FILTER_NEGATE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_GRAYSCALE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_BRIGHTNESS (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_CONTRAST (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_COLORIZE (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_EDGEDETECT (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_GAUSSIAN_BLUR (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_SELECTIVE_BLUR (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_EMBOSS (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_MEAN_REMOVAL (integer)
Special GD filter used by the imagefilter() function.
IMG_FILTER_SMOOTH (integer)
Special GD filter used by the imagefilter() function.
IMAGETYPE_GIF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPEG (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_PNG (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_SWF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_PSD (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_BMP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_WBMP (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_XBM (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_TIFF_II (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_TIFF_MM (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_IFF (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JB2 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPC (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JP2 (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_JPX (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_SWC (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions.
IMAGETYPE_ICO (integer)
Image type constant used by the image_type_to_mime_type() and image_type_to_extension() functions. (Available as of PHP 5.3.0)
PNG_NO_FILTER (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_NONE (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_SUB (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_UP (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_AVG (integer)
A special PNG filter, used by the imagepng() function.
PNG_FILTER_PAETH (integer)
A special PNG filter, used by the imagepng() function.
PNG_ALL_FILTERS (integer)
A special PNG filter, used by the imagepng() function.

예제

예 875. PNG creation with PHP

<?php

header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);

?>

This example would be called from a page with a tag like: <img src="button.php?text=text">. The above button.php script then takes this "text" string and overlays it on top of a base image which in this case is "images/button1.png" and outputs the resulting image. This is a very convenient way to avoid having to draw new button images every time you want to change the text of a button. With this method they are dynamically generated.

차례

gd_info -- Retrieve information about the currently installed GD library
getimagesize -- Get the size of an image
image_type_to_extension -- Get file extension for image type
image_type_to_mime_type -- Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
image2wbmp -- Output image to browser or file
imagealphablending -- Set the blending mode for an image
imageantialias -- Should antialias functions be used or not
imagearc -- Draws an arc
imagechar -- Draw a character horizontally
imagecharup -- Draw a character vertically
imagecolorallocate -- Allocate a color for an image
imagecolorallocatealpha -- Allocate a color for an image
imagecolorat -- Get the index of the color of a pixel
imagecolorclosest -- Get the index of the closest color to the specified color
imagecolorclosestalpha -- Get the index of the closest color to the specified color + alpha
imagecolorclosesthwb -- Get the index of the color which has the hue, white and blackness nearest to the given color
imagecolordeallocate -- De-allocate a color for an image
imagecolorexact -- Get the index of the specified color
imagecolorexactalpha -- Get the index of the specified color + alpha
imagecolormatch -- Makes the colors of the palette version of an image more closely match the true color version
imagecolorresolve -- Get the index of the specified color or its closest possible alternative
imagecolorresolvealpha -- Get the index of the specified color + alpha or its closest possible alternative
imagecolorset -- Set the color for the specified palette index
imagecolorsforindex -- Get the colors for an index
imagecolorstotal -- Find out the number of colors in an image's palette
imagecolortransparent -- Define a color as transparent
imageconvolution -- Apply a 3x3 convolution matrix, using coefficient and offset
imagecopy -- Copy part of an image
imagecopymerge -- Copy and merge part of an image
imagecopymergegray -- Copy and merge part of an image with gray scale
imagecopyresampled -- Copy and resize part of an image with resampling
imagecopyresized -- Copy and resize part of an image
imagecreate -- Create a new palette based image
imagecreatefromgd2 -- Create a new image from GD2 file or URL
imagecreatefromgd2part -- Create a new image from a given part of GD2 file or URL
imagecreatefromgd -- Create a new image from GD file or URL
imagecreatefromgif -- Create a new image from file or URL
imagecreatefromjpeg -- Create a new image from file or URL
imagecreatefrompng -- Create a new image from file or URL
imagecreatefromstring -- Create a new image from the image stream in the string
imagecreatefromwbmp -- Create a new image from file or URL
imagecreatefromxbm -- Create a new image from file or URL
imagecreatefromxpm -- Create a new image from file or URL
imagecreatetruecolor -- Create a new true color image
imagedashedline -- Draw a dashed line
imagedestroy -- Destroy an image
imageellipse -- Draw an ellipse
imagefill -- Flood fill
imagefilledarc -- Draw a partial ellipse and fill it
imagefilledellipse -- Draw a filled ellipse
imagefilledpolygon -- Draw a filled polygon
imagefilledrectangle -- Draw a filled rectangle
imagefilltoborder -- Flood fill to specific color
imagefilter -- Applies a filter to an image
imagefontheight -- Get font height
imagefontwidth -- Get font width
imageftbbox -- Give the bounding box of a text using fonts via freetype2
imagefttext -- Write text to the image using fonts using FreeType 2
imagegammacorrect -- Apply a gamma correction to a GD image
imagegd2 -- Output GD2 image to browser or file
imagegd -- Output GD image to browser or file
imagegif -- Output image to browser or file
imagegrabscreen -- Captures the whole screen
imagegrabwindow -- Captures a window
imageinterlace -- Enable or disable interlace
imageistruecolor -- Finds whether an image is a truecolor image
imagejpeg -- Output image to browser or file
imagelayereffect -- Set the alpha blending flag to use the bundled libgd layering effects
imageline -- Draw a line
imageloadfont -- Load a new font
imagepalettecopy -- Copy the palette from one image to another
imagepng -- Output a PNG image to either the browser or a file
imagepolygon -- Draws a polygon
imagepsbbox -- Give the bounding box of a text rectangle using PostScript Type1 fonts
imagepsencodefont -- Change the character encoding vector of a font
imagepsextendfont -- Extend or condense a font
imagepsfreefont -- Free memory used by a PostScript Type 1 font
imagepsloadfont -- Load a PostScript Type 1 font from file
imagepsslantfont -- Slant a font
imagepstext -- Draws a text over an image using PostScript Type1 fonts
imagerectangle -- Draw a rectangle
imagerotate -- Rotate an image with a given angle
imagesavealpha -- Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images
imagesetbrush -- Set the brush image for line drawing
imagesetpixel -- Set a single pixel
imagesetstyle -- Set the style for line drawing
imagesetthickness -- Set the thickness for line drawing
imagesettile -- Set the tile image for filling
imagestring -- Draw a string horizontally
imagestringup -- Draw a string vertically
imagesx -- Get image width
imagesy -- Get image height
imagetruecolortopalette -- Convert a true color image to a palette image
imagettfbbox -- Give the bounding box of a text using TrueType fonts
imagettftext -- Write text to the image using TrueType fonts
imagetypes -- Return the image types supported by this PHP build
imagewbmp -- Output image to browser or file
imagexbm -- Output XBM image to browser or file
iptcembed -- Embed binary IPTC data into a JPEG image
iptcparse -- Parse a binary IPTC block into single tags.
jpeg2wbmp -- Convert JPEG image file to WBMP image file
png2wbmp -- Convert PNG image file to WBMP image file
이전 | 위로 | 다음
iis_stop_service | 처음으로 | gd_info


gd_info

(PHP 4 >= 4.3.0, PHP 5)

gd_info -- Retrieve information about the currently installed GD library

설명

array gd_info ( void )

Gets information about the version and capabilities of the installed GD library.

반환값

Returns an associative array.

표 137. Elements of array returned by gd_info()

Attribute | Meaning
GD Version | string value describing the installed libgd version.
Freetype Support | boolean value. TRUE if Freetype Support is installed.
Freetype Linkage | string value describing the way in which Freetype was linked. Expected values are: 'with freetype', 'with TTF library', and 'with unknown library'. This element will only be defined if Freetype Support evaluated to TRUE.
T1Lib Support | boolean value. TRUE if T1Lib support is included.
GIF Read Support | boolean value. TRUE if support for reading GIF images is included.
GIF Create Support | boolean value. TRUE if support for creating GIF images is included.
JPG Support | boolean value. TRUE if JPG support is included.
PNG Support | boolean value. TRUE if PNG support is included.
WBMP Support | boolean value. TRUE if WBMP support is included.
XBM Support | boolean value. TRUE if XBM support is included.

예제

예 876. Using gd_info()

<?php
var_dump(gd_info());
?>

위 예제의 출력 예:

array(9) {
  ["GD Version"]=>
  string(24) "bundled (2.0 compatible)"
  ["FreeType Support"]=>
  bool(false)
  ["T1Lib Support"]=>
  bool(false)
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(false)
  ["JPG Support"]=>
  bool(false)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(false)
}

참고

imagepng()
imagejpeg()
imagegif()
imagewbmp()
imagetypes()

이전 | 위로 | 다음
LXV. Image Functions | 처음으로 | getimagesize


getimagesize

(PHP 4, PHP 5)

getimagesize -- Get the size of an image

설명

array getimagesize ( string $filename [, array &$imageinfo] )

The getimagesize() function will determine the size of any given image file and return the dimensions along with the file type and a height/width text string to be used inside a normal HTML IMG tag and the correspondant HTTP content type.

getimagesize() can also return some more information in imageinfo parameter.

참고: Note that JPC and JP2 are capable of having components with different bit depths. In this case, the value for "bits" is the highest bit depth encountered. Also, JP2 files may contain multiple JPEG 2000 codestreams. In this case, getimagesize() returns the values for the first codestream it encounters in the root of the file.

참고: The information about icons are retreived from the icon with the highest bitrate.

매개변수

filename

This parameter specifies the file you wish to retrieve information about. It can reference a local file or (configuration permitting) a remote file using one of the supported streams.

imageinfo

This optional parameter allows you to extract some extended information from the image file. Currently, this will return the different JPG APP markers as an associative array. Some programs use these APP markers to embed text information in images. A very common one is to embed » IPTC information in the APP13 marker. You can use the iptcparse() function to parse the binary APP13 marker into something readable.

반환값

Returns an array with 5 elements.

Index 0 and 1 contains respectively the width and the height of the image.

참고: Some formats may contain no image or may contain multiple images. In these cases, getimagesize() might not be able to properly determine the image size. getimagesize() will return zero for width and height in these cases.

Index 2 is one of the IMAGETYPE_XXX constants indicating the type of the image.

Index 3 is a text string with the correct height="yyy" width="xxx" string that can be used directly in an IMG tag.

mime is the correspondant MIME type of the image. This information can be used to deliver images with correct the HTTP Content-type header:

예 877. getimagesize() and MIME types

<?php
$size = getimagesize($filename);
$fp = fopen($filename, "rb");
if ($size && $fp) {
    header("Content-type: {$size['mime']}");
    fpassthru($fp);
    exit;
} else {
    // error
}
?>

channels will be 3 for RGB pictures and 4 for CMYK pictures. bits is the number of bits for each color. However, for some image types, the presence of these values can be a bit confusing. As an example, GIF always uses 3 channels per pixel, but the number of bits per pixel cannot be calculated for an animated GIF with a global color table.

On failure, FALSE is returned.

오류/예외

If accessing the filename image is impossible, or if it isn't a valid picture, getimagesize() will generate an error of level E_WARNING. On read error, getimagesize() will generate an error of level E_NOTICE.

변경 기록

버전 | 설명
5.3.0 | Added icon support.
5.2.3 | Read errors generated by this function downgraded to E_NOTICE from E_WARNING.
4.3.2 | Support for JPC, JP2, JPX, JB2, XBM, and WBMP became available.
4.3.2 | JPEG 2000 support was added for the imageinfo parameter.
4.3.0 | bits and channels are present for other image types, too.
4.3.0 | mime was added.
4.3.0 | Support for SWC was added.
4.2.0 | Support for TIFF was added.
4.0.5 | URL support was added.

예제

예 878. getimagesize (file)

<?php
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />";
?>

예 879. getimagesize (URL)

<?php
$size = getimagesize("http://www.example.com/gifs/logo.gif");

// if the file name has space in it, encode it properly
$size = getimagesize("http://www.example.com/gifs/lo%20go.gif");

?>

예 880. getimagesize() returning IPTC

<?php
$size = getimagesize("testimg.jpg", $info);
if (isset($info["APP13"])) {
    $iptc = iptcparse($info["APP13"]);
    var_dump($iptc);
}
?>

주의

참고: The getimagesize() function does not require the GD image library.

참고

image_type_to_mime_type()
exif_imagetype()
exif_read_data()
exif_thumbnail()

이전 | 위로 | 다음
gd_info | 처음으로 | image_type_to_extension


image_type_to_extension

(PHP 5)

image_type_to_extension -- Get file extension for image type

설명

string image_type_to_extension ( int $imagetype [, bool $include_dot] )

Returns the extension for the given IMAGETYPE_XXX constant.

매개변수

imagetype

One of the IMAGETYPE_XXX constant.

include_dot

Whether to prepend a dot to the extension or not. Default to TRUE.

반환값

A string with the extension corresponding to the given image type.

이전 | 위로 | 다음
getimagesize | 처음으로 | image_type_to_mime_type


image_type_to_mime_type

(PHP 4 >= 4.3.0, PHP 5)

image_type_to_mime_type -- Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

설명

string image_type_to_mime_type ( int $imagetype )

The image_type_to_mime_type() function will determine the Mime-Type for an IMAGETYPE constant.

매개변수

imagetype

One of the IMAGETYPE_XXX constants

반환값

The returned values are as follows

표 138. Returned values Constants

imagetype | Returned value
IMAGETYPE_GIF | image/gif
IMAGETYPE_JPEG | image/jpeg
IMAGETYPE_PNG | image/png
IMAGETYPE_SWF | application/x-shockwave-flash
IMAGETYPE_PSD | image/psd
IMAGETYPE_BMP | image/bmp
IMAGETYPE_TIFF_II (intel byte order) | image/tiff
IMAGETYPE_TIFF_MM (motorola byte order) | image/tiff
IMAGETYPE_JPC | application/octet-stream
IMAGETYPE_JP2 | image/jp2
IMAGETYPE_JPX | application/octet-stream
IMAGETYPE_JB2 | application/octet-stream
IMAGETYPE_SWC | application/x-shockwave-flash
IMAGETYPE_IFF | image/iff
IMAGETYPE_WBMP | image/vnd.wap.wbmp
IMAGETYPE_XBM | image/xbm
IMAGETYPE_ICO | image/vnd.microsoft.icon

예제

예 881. image_type_to_mime_type (file)

<?php
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>

주의

참고: This function does not require the GD image library.

참고

getimagesize()
exif_imagetype()
exif_read_data()
exif_thumbnail()

이전 | 위로 | 다음
image_type_to_extension | 처음으로 | image2wbmp


image2wbmp

(PHP 4 >= 4.0.5, PHP 5)

image2wbmp -- Output image to browser or file

설명

bool image2wbmp ( resource $image [, string $filename [, int $threshold]] )

image2wbmp() outputs or save a WBMP version of the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

filename

Path to the saved file. If not given, the raw image stream will be outputed directly.

threshold

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 882. image2wbmp() example

<?php

$file = 'php.png';
$image = imagecreatefrompng($file);

header('Content-type: ' . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($image); // output the stream directly

?>

주의

참고: WBMP support is only available if PHP was compiled against GD-1.8 or later.

참고

imagewbmp()

이전 | 위로 | 다음
image_type_to_mime_type | 처음으로 | imagealphablending


imagealphablending

(PHP 4 >= 4.0.6, PHP 5)

imagealphablending -- Set the blending mode for an image

설명

bool imagealphablending ( resource $image, bool $blendmode )

imagealphablending() allows for two different modes of drawing on truecolor images. In blending mode, the alpha channel component of the color supplied to all drawing function, such as imagesetpixel() determines how much of the underlying color should be allowed to shine through. As a result, gd automatically blends the existing color at that point with the drawing color, and stores the result in the image. The resulting pixel is opaque. In non-blending mode, the drawing color is copied literally with its alpha channel information, replacing the destination pixel. Blending mode is not available when drawing on palette images.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

blendmode

Whether to enable the blending mode or not. Default to FALSE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

이전 | 위로 | 다음
image2wbmp | 처음으로 | imageantialias


imageantialias

(PHP 4 >= 4.3.2, PHP 5)

imageantialias -- Should antialias functions be used or not

설명

bool imageantialias ( resource $image, bool $on )

Activate the fast drawing antialiased methods for lines and wired polygons. It does not support alpha components. It works using a direct blend operation. It works only with truecolor images.

Thickness and styled are not supported.

Using antialiased primitives with transparent background color can end with some unexpected results. The blend method uses the background color as any other colors. The lack of alpha component support does not allow an alpha based antialiasing method.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

on

Whether to enable antialiasing or not.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 PHP에 포함된 GD 라이브러리를 사용하여 컴파일하였을 경우에만 사용할 수 있습니다.

참고

imagecreatetruecolor()

이전 | 위로 | 다음
imagealphablending | 처음으로 | imagearc


imagearc

(PHP 4, PHP 5)

imagearc -- Draws an arc

설명

bool imagearc ( resource $image, int $cx, int $cy, int $width, int $height, int $start, int $end, int $color )

imagearc() draws an arc of circle centered at the given coordinates.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

cx

x-coordinate of the center

cy

y-coordinate of the center

width

The arc width

height

The arc height

start

The arc start angle, in degrees.

end

The arc end angle, in degrees. 0° is located at the three-o'clock position, and the arc is drawn clockwise.

color

A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 883. Drawing a circle with imagearc()

<?php

// create a 200*200 image
$img = imagecreatetruecolor(200, 200);

// allocate some colors
$white = imagecolorallocate($img, 255, 255, 255);
$red   = imagecolorallocate($img, 255,   0,   0);
$green = imagecolorallocate($img,   0, 255,   0);
$blue  = imagecolorallocate($img,   0,   0, 255);

// draw the head
imagearc($img, 100, 100, 200, 200,  0, 360, $white);
// mouth
imagearc($img, 100, 100, 150, 150, 25, 155, $red);
// left and then the right eye
imagearc($img,  60,  75,  50,  50,  0, 360, $green);
imagearc($img, 140,  75,  50,  50,  0, 360, $blue);

// output image in the browser
header("Content-type: image/png");
imagepng($img);

// free memory
imagedestroy($img);

?>

위 예제의 출력 예:

참고

imagefilledarc()
imageellipse()
imagefilledellipse()

이전 | 위로 | 다음
imageantialias | 처음으로 | imagechar


imagechar

(PHP 4, PHP 5)

imagechar -- Draw a character horizontally

설명

bool imagechar ( resource $image, int $font, int $x, int $y, string $c, int $color )

imagechar() draws the first character of c in the image identified by image with its upper-left at x,y (top left is 0, 0) with the color color.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont().

x

x-coordinate of the start

y

y-coordinate of the start

c

The character to draw

color

A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 884. imagechar() example

<?php

$im = imagecreate(100, 100);

$string = 'PHP';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// prints a black "P" in the top left corner
imagechar($im, 1, 0, 0, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

위 예제의 출력 예:

참고

imagecharup()
imageloadfont()

이전 | 위로 | 다음
imagearc | 처음으로 | imagecharup


imagecharup

(PHP 4, PHP 5)

imagecharup -- Draw a character vertically

설명

bool imagecharup ( resource $image, int $font, int $x, int $y, string $c, int $color )

Draws the character c vertically at the specified coordinate on the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont().

x

x-coordinate of the start

y

y-coordinate of the start

c

The character to draw

color

A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 885. imagecharup() example

<?php

$im = imagecreate(100, 100);

$string = 'Note that the first letter is a N';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// prints a black "Z" on a white background
imagecharup($im, 3, 10, 10, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

위 예제의 출력 예:

참고

imagechar()
imageloadfont()

이전 | 위로 | 다음
imagechar | 처음으로 | imagecolorallocate


imagecolorallocate

(PHP 4, PHP 5)

imagecolorallocate -- Allocate a color for an image

설명

int imagecolorallocate ( resource $image, int $red, int $green, int $blue )

Returns a color identifier representing the color composed of the given RGB components.

imagecolorallocate() must be called to create each color that is to be used in the image represented by image.

참고: The first call to imagecolorallocate() fills the background color in palette-based images - images created using imagecreate().

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

red

Value of red component

green

Value of green component

blue

Value of blue component

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

반환값

A color identifier or FALSE if the allocation failed.

변경 기록

버전 | 설명
Prior to 5.1.3 | Returns -1 if the allocation failed.

예제

예 886. imagecolorallocate() example

<?php

$im = imagecreate(100, 100);

// sets background to red
$background = imagecolorallocate($im, 255, 0, 0);

// sets some colors
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// hexadecimal way
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

?>

참고

imagecolorallocatealpha()
imagecolordeallocate()

이전 | 위로 | 다음
imagecharup | 처음으로 | imagecolorallocatealpha


imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5)

imagecolorallocatealpha -- Allocate a color for an image

설명

int imagecolorallocatealpha ( resource $image, int $red, int $green, int $blue, int $alpha )

imagecolorallocatealpha() behaves identically to imagecolorallocate() with the addition of the transparency parameter alpha.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

red

Value of red component

green

Value of green component

blue

Value of blue component

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

반환값

A color identifier or FALSE if the allocation failed.

변경 기록

버전 | 설명
Prior to 5.1.3 | Returns -1 if the allocation failed.

예제

예 887. Example of using imagecolorallocatealpha()

<?php
$size = 300;
$image=imagecreatetruecolor($size, $size);

// something to get a white background with black border
$back = imagecolorallocate($image, 255, 255, 255);
$border = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);

$yellow_x = 100;
$yellow_y = 75;
$red_x    = 120;
$red_y    = 165;
$blue_x   = 187;
$blue_y   = 125;
$radius   = 150;

// allocate colors with alpha values
$yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
$red    = imagecolorallocatealpha($image, 255, 0, 0, 75);
$blue   = imagecolorallocatealpha($image, 0, 0, 255, 75);

// drawing 3 overlapped circle
imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);

// don't forget to output a correct header!
header('Content-type: image/png');

// and finally, output the result
imagepng($image);
imagedestroy($image);
?>

위 예제의 출력 예:

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고

imagecolorallocate()
imagecolordeallocate()

이전 | 위로 | 다음
imagecolorallocate | 처음으로 | imagecolorat


imagecolorat

(PHP 4, PHP 5)

imagecolorat -- Get the index of the color of a pixel

설명

int imagecolorat ( resource $image, int $x, int $y )

Returns the index of the color of the pixel at the specified location in the image specified by image.

If PHP is compiled against GD library 2.0 or higher and the image is a truecolor image, this function returns the RGB value of that pixel as integer. Use bitshifting and masking to access the distinct red, green and blue component values:

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

x

x-coordinate of the point

y

y-coordinate of the point

반환값

Returns the index of the color.

예제

예 888. Access distinct RGB values

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>

위 예제의 출력 예:

int(119)
int(123)
int(180)

참고

imagecolorset()
imagecolorsforindex()

이전 | 위로 | 다음
imagecolorallocatealpha | 처음으로 | imagecolorclosest


imagecolorclosest

(PHP 4, PHP 5)

imagecolorclosest -- Get the index of the closest color to the specified color

설명

int imagecolorclosest ( resource $image, int $red, int $green, int $blue )

Returns the index of the color in the palette of the image which is "closest" to the specified RGB value.

The "distance" between the desired color and each color in the palette is calculated as if the RGB values represented points in three-dimensional space.

If you created the image from a file, only colors used in the image are resolved. Colors present only in the pallete are not resolved.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

red

Value of red component

green

Value of green component

blue

Value of blue component

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

반환값

Returns the index of the closest color, in the palette of the image, to the specified one

참고

imagecolorexact()

이전 | 위로 | 다음
imagecolorat | 처음으로 | imagecolorclosestalpha


imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorclosestalpha -- Get the index of the closest color to the specified color + alpha

설명

int imagecolorclosestalpha ( resource $image, int $red, int $green, int $blue, int $alpha )

Returns the index of the color in the palette of the image which is "closest" to the specified RGB value and alpha level.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

red

Value of red component

green

Value of green component

blue

Value of blue component

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

반환값

Returns the index of the closest color in the palette.

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고

imagecolorexactalpha()

이전 | 위로 | 다음
imagecolorclosest | 처음으로 | imagecolorclosesthwb


imagecolorclosesthwb

(PHP 4 >= 4.0.1, PHP 5)

imagecolorclosesthwb -- Get the index of the color which has the hue, white and blackness nearest to the given color

설명

int imagecolorclosesthwb ( resource $image, int $red, int $green, int $blue )
주의

This function is currently not documented; only the argument list is available.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

red

Value of red component

green

Value of green component

blue

Value of blue component

이전 | 위로 | 다음
imagecolorclosestalpha | 처음으로 | imagecolordeallocate


imagecolordeallocate

(PHP 4, PHP 5)

imagecolordeallocate -- De-allocate a color for an image

설명

bool imagecolordeallocate ( resource $image, int $color )

De-allocates a color previously allocated with imagecolorallocate() or imagecolorallocatealpha().

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

color

The color identifier

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 889. Using imagecolordeallocate()

<?php
$white = imagecolorallocate($im, 255, 255, 255);
imagecolordeallocate($im, $white);
?>

참고

imagecolorallocate()
imagecolorallocatealpha()

이전 | 위로 | 다음
imagecolorclosesthwb | 처음으로 | imagecolorexact


imagecolorexact

(PHP 4, PHP 5)

imagecolorexact -- Get the index of the specified color

설명

int imagecolorexact ( resource $image, int $red, int $green, int $blue )

Returns the index of the specified color in the palette of the image.

If you created the image from a file, only colors used in the image are resolved. Colors present only in the pallete are not resolved.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

red

Value of red component

green

Value of green component

blue

Value of blue component

반환값

Returns the index of the specified color in the palette, or -1 if the color does not exist.

참고

imagecolorclosest()

이전 | 위로 | 다음
imagecolordeallocate | 처음으로 | imagecolorexactalpha


imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorexactalpha -- Get the index of the specified color + alpha

설명

int imagecolorexactalpha ( resource $image, int $red, int $green, int $blue, int $alpha )

Returns the index of the specified color+alpha in the palette of the image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

red

Value of red component

green

Value of green component

blue

Value of blue component

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

반환값

Returns the index of the specified color+alpha in the palette of the image, or -1 if the color does not exist in the image's palette.

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고

imagecolorclosestalpha()

이전 | 위로 | 다음
imagecolorexact | 처음으로 | imagecolormatch


imagecolormatch

(PHP 4 >= 4.3.0, PHP 5)

imagecolormatch -- Makes the colors of the palette version of an image more closely match the true color version

설명

bool imagecolormatch ( resource $image1, resource $image2 )
주의

This function is currently not documented; only the argument list is available.

매개변수

image1

A truecolor image link resource

image2

A palette image link resource pointing to an image that has the same size as image1

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 PHP에 포함된 GD 라이브러리를 사용하여 컴파일하였을 경우에만 사용할 수 있습니다.

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고

imagecreatetruecolor()

이전 | 위로 | 다음
imagecolorexactalpha | 처음으로 | imagecolorresolve


imagecolorresolve

(PHP 4, PHP 5)

imagecolorresolve -- Get the index of the specified color or its closest possible alternative

설명

int imagecolorresolve ( resource $image, int $red, int $green, int $blue )

This function is guaranteed to return a color index for a requested color, either the exact color or the closest possible alternative.

If you created the image from a file, only colors used in the image are resolved. Colors present only in the pallete are not resolved.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

red

Value of red component

green

Value of green component

blue

Value of blue component

반환값

Returns a color index.

참고

imagecolorclosest()

이전 | 위로 | 다음
imagecolormatch | 처음으로 | imagecolorresolvealpha


imagecolorresolvealpha

(PHP 4 >= 4.0.6, PHP 5)

imagecolorresolvealpha -- Get the index of the specified color + alpha or its closest possible alternative

설명

int imagecolorresolvealpha ( resource $image, int $red, int $green, int $blue, int $alpha )

This function is guaranteed to return a color index for a requested color, either the exact color or the closest possible alternative.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

red

Value of red component

green

Value of green component

blue

Value of blue component

alpha

A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

반환값

Returns a color index.

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고

imagecolorclosestalpha()

이전 | 위로 | 다음
imagecolorresolve | 처음으로 | imagecolorset


imagecolorset

(PHP 4, PHP 5)

imagecolorset -- Set the color for the specified palette index

설명

void imagecolorset ( resource $image, int $index, int $red, int $green, int $blue )

This sets the specified index in the palette to the specified color. This is useful for creating flood-fill-like effects in palleted images without the overhead of performing the actual flood-fill.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

index

An index in the palette

red

Value of red component

green

Value of green component

blue

Value of blue component

반환값

값을 반환하지 않습니다.

참고

imagecolorat()

이전 | 위로 | 다음
imagecolorresolvealpha | 처음으로 | imagecolorsforindex


imagecolorsforindex

(PHP 4, PHP 5)

imagecolorsforindex -- Get the colors for an index

설명

array imagecolorsforindex ( resource $image, int $index )

Gets the color for a specified index.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

index

반환값

Returns an associative array with red, green, blue and alpha keys that contain the appropriate values for the specified color index.

예제

예 890. imagecolorsforindex() example

<?php

// open an image
$im = imagecreatefrompng('nexen.png');

// get a color
$start_x = 40;
$start_y = 50;
$color_index = imagecolorat($im, $start_x, $start_y);

// make it human readable
$color_tran = imagecolorsforindex($im, $color_index);

// what is it ?
print_r($color_tran);

?>

위 예제의 출력 예:

Array
(
   [red] => 226
   [green] => 222
   [blue] => 252
   [alpha] => 0
)

참고

imagecolorat()
imagecolorexact()

이전 | 위로 | 다음
imagecolorset | 처음으로 | imagecolorstotal


imagecolorstotal

(PHP 4, PHP 5)

imagecolorstotal -- Find out the number of colors in an image's palette

설명

int imagecolorstotal ( resource $image )

Returns the number of colors in an image palette.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

반환값

Returns the number of colors in the specified image's palette or 0 for truecolor images.

참고

imagecolorat()
imagecolorsforindex()
imageistruecolor()

이전 | 위로 | 다음
imagecolorsforindex | 처음으로 | imagecolortransparent


imagecolortransparent

(PHP 4, PHP 5)

imagecolortransparent -- Define a color as transparent

설명

int imagecolortransparent ( resource $image [, int $color] )

Sets the transparent color in the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

color

A color identifier created with imagecolorallocate()

반환값

The identifier of the new (or current, if none is specified) transparent color is returned.

주의

참고: Transparency is copied only with imagecopymerge() and true color images, not with imagecopy() or pallete images.

참고: The transparent color is a property of the image, transparency is not a property of the color. Once you have set a color to be the transparent color, any regions of the image in that color that were drawn previously will be transparent.

이전 | 위로 | 다음
imagecolorstotal | 처음으로 | imageconvolution


imagecopy

(PHP 4, PHP 5)

imagecopy -- Copy part of an image

설명

bool imagecopy ( resource $dst_im, resource $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h )

Copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

매개변수

dst_im

Destination image link resource

src_im

Source image link resource

dst_x

x-coordinate of destination point

dst_y

y-coordinate of destination point

src_x

x-coordinate of source point

src_y

y-coordinate of source point

src_w

Source width

src_h

Source height

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
imageconvolution | 처음으로 | imagecopymerge


imagecopymerge

(PHP 4 >= 4.0.1, PHP 5)

imagecopymerge -- Copy and merge part of an image

설명

bool imagecopymerge ( resource $dst_im, resource $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h, int $pct )

Copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

매개변수

dst_im

Destination image link resource

src_im

Source image link resource

dst_x

x-coordinate of destination point

dst_y

y-coordinate of destination point

src_x

x-coordinate of source point

src_y

y-coordinate of source point

src_w

Source width

src_h

Source height

pct

The two images will be merged according to pct which can range from 0 to 100. When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy() for pallete images, while it implements alpha transparency for true colour images.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
imagecopy | 처음으로 | imagecopymergegray


imagecopymergegray

(PHP 4 >= 4.0.6, PHP 5)

imagecopymergegray -- Copy and merge part of an image with gray scale

설명

bool imagecopymergegray ( resource $dst_im, resource $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h, int $pct )

imagecopymergegray() copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y.

This function is identical to imagecopymerge() except that when merging it preserves the hue of the source by converting the destination pixels to gray scale before the copy operation.

매개변수

dst_im

Destination image link resource

src_im

Source image link resource

dst_x

x-coordinate of destination point

dst_y

y-coordinate of destination point

src_x

x-coordinate of source point

src_y

y-coordinate of source point

src_w

Source width

src_h

Source height

pct

The two images will be merged according to pct which can range from 0 to 100. When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy() for pallete images, while it implements alpha transparency for true colour images.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
imagecopymerge | 처음으로 | imagecopyresampled


imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5)

imagecopyresampled -- Copy and resize part of an image with resampling

설명

bool imagecopyresampled ( resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h )

imagecopyresampled() copies a rectangular portion of one image to another image, smoothly interpolating pixel values so that, in particular, reducing the size of an image still retains a great deal of clarity.

In other words, imagecopyresampled() will take an rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).

If the source and destination coordinates and width and heights differ, appropriate stretching or shrinking of the image fragment will be performed. The coordinates refer to the upper left corner. This function can be used to copy regions within the same image (if dst_image is the same as src_image) but if the regions overlap the results will be unpredictable.

매개변수

dst_im

Destination image link resource

src_im

Source image link resource

dst_x

x-coordinate of destination point

dst_y

y-coordinate of destination point

src_x

x-coordinate of source point

src_y

y-coordinate of source point

dst_w

Destination width

dst_h

Destination height

src_w

Source width

src_h

Source height

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 893. Simple example

This example will resample an image to half its original size.

<?php
// The file
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, null, 100);
?>

위 예제의 출력 예:

예 894. Resampling an image proportionally

This example will display an image with the maximum width, or height, of 200 pixels.

<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);
?>

위 예제의 출력 예:

주의

참고: There is a problem due to palette image limitations (255+1 colors). Resampling or filtering an image commonly needs more colors than 255, a kind of approximation is used to calculate the new resampled pixel and its color. With a palette image we try to allocate a new color, if that failed, we choose the closest (in theory) computed color. This is not always the closest visual color. That may produce a weird result, like blank (or visually blank) images. To skip this problem, please use a truecolor image as a destination image, such as one created by imagecreatetruecolor().

참고

imagecopyresized()

이전 | 위로 | 다음
imagecopymergegray | 처음으로 | imagecopyresized


imagecopyresized

(PHP 4, PHP 5)

imagecopyresized -- Copy and resize part of an image

설명

bool imagecopyresized ( resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h )

imagecopyresized() copies a rectangular portion of one image to another image. dst_image is the destination image, src_image is the source image identifier.

In other words, imagecopyresized() will take an rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).

If the source and destination coordinates and width and heights differ, appropriate stretching or shrinking of the image fragment will be performed. The coordinates refer to the upper left corner. This function can be used to copy regions within the same image (if dst_image is the same as src_image) but if the regions overlap the results will be unpredictable.

매개변수

dst_im

Destination image link resource

src_im

Source image link resource

dst_x

x-coordinate of destination point

dst_y

y-coordinate of destination point

src_x

x-coordinate of source point

src_y

y-coordinate of source point

dst_w

Destination width

dst_h

Destination height

src_w

Source width

src_h

Source height

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 895. Resizing an image

This example will display the image at half size.

<?php
// File and new size
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-type: image/jpeg');

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Output
imagejpeg($thumb);
?>

위 예제의 출력 예:

The image will be output at half size, though better quality could be obtained using imagecopyresampled().

주의

참고: There is a problem due to palette image limitations (255+1 colors). Resampling or filtering an image commonly needs more colors than 255, a kind of approximation is used to calculate the new resampled pixel and its color. With a palette image we try to allocate a new color, if that failed, we choose the closest (in theory) computed color. This is not always the closest visual color. That may produce a weird result, like blank (or visually blank) images. To skip this problem, please use a truecolor image as a destination image, such as one created by imagecreatetruecolor().

참고

imagecopyresampled()

이전 | 위로 | 다음
imagecopyresampled | 처음으로 | imagecreate


imagecreate

(PHP 4, PHP 5)

imagecreate -- Create a new palette based image

설명

resource imagecreate ( int $width, int $height )

imagecreate() returns an image identifier representing a blank image of specified size.

We recommend the use of imagecreatetruecolor().

매개변수

width

The image width

height

The image height

반환값

Returns an image resource identifier on success, FALSE on errors.

예제

예 896. Creating a new GD image stream and outputting an image.

<?php
header("Content-type: image/png");
$im = @imagecreate(110, 20)
    or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

위 예제의 출력 예:

참고

imagedestroy()
imagecreatetruecolor()

이전 | 위로 | 다음
imagecopyresized | 처음으로 | imagecreatefromgd2


imagecreatefromgd2

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd2 -- Create a new image from GD2 file or URL

설명

resource imagecreatefromgd2 ( string $filename )
주의

This function is currently not documented; only the argument list is available.

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

매개변수

filename

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

이전 | 위로 | 다음
imagecreate | 처음으로 | imagecreatefromgd2part


imagecreatefromgd2part

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd2part -- Create a new image from a given part of GD2 file or URL

설명

resource imagecreatefromgd2part ( string $filename, int $srcX, int $srcY, int $width, int $height )
주의

This function is currently not documented; only the argument list is available.

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

매개변수

filename

srcX

srcY

width

height

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

이전 | 위로 | 다음
imagecreatefromgd2 | 처음으로 | imagecreatefromgd


imagecreatefromgd

(PHP 4 >= 4.0.7, PHP 5)

imagecreatefromgd -- Create a new image from GD file or URL

설명

resource imagecreatefromgd ( string $filename )

주의

This function is currently not documented; only the argument list is available.

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

매개변수

filename

주의

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

이전 | 위로 | 다음
imagecreatefromgd2part | 처음으로 | imagecreatefromgif


imagecreatefromgif

(PHP 4, PHP 5)

imagecreatefromgif -- Create a new image from file or URL

설명

resource imagecreatefromgif ( string $filename )

imagecreatefromgif() returns an image identifier representing the image obtained from the given filename.

To ease debugging the following example will produce an error GIF:

예 897. Example to handle an error during creation

<?php
function LoadGif ($imgname)
{
    $im = @imagecreatefromgif ($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im = imagecreatetruecolor (150, 30); /* Create a blank image */
        $bgc = imagecolorallocate ($im, 255, 255, 255);
        $tc = imagecolorallocate ($im, 0, 0, 0);
        imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring ($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
header("Content-Type: image/gif");
$img = LoadGif("bogus.image");
imagegif($img);
?>

위 예제의 출력 예:

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

매개변수

filename

Path to the GIF image

반환값

Returns an image resource identifier on success, FALSE on errors.

주의

참고: GIF support was removed from the GD library in Version 1.6, and added back in Version 2.0.28. This function is not available between these versions.

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

이전 | 위로 | 다음
imagecreatefromgd | 처음으로 | imagecreatefromjpeg


imagecreatefromjpeg

(PHP 4, PHP 5)

imagecreatefromjpeg -- Create a new image from file or URL

설명

resource imagecreatefromjpeg ( string $filename )

imagecreatefromjpeg() returns an image identifier representing the image obtained from the given filename.

On failure imagecreatefromjpeg() outputs an error message, which unfortunately displays as a broken link in a browser. To ease debugging the following example will produce an error JPEG:

예 898. Example to handle an error during creation

<?php
function LoadJpeg($imgname)
{
    $im = @imagecreatefromjpeg($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreatetruecolor(150, 30); /* Create a black image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
header("Content-Type: image/jpeg");
$img = LoadJpeg("bogus.image");
imagejpeg($img);
?>

위 예제의 출력 예:

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

매개변수

filename

Path to the JPEG image

반환값

Returns an image resource identifier on success, FALSE on errors.

주의

참고: JPEG 지원은 PHP를 GD-1.8 이상에서 컴파일해야 합니다.

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

이전 | 위로 | 다음
imagecreatefromgif | 처음으로 | imagecreatefrompng


imagecreatefrompng

(PHP 4, PHP 5)

imagecreatefrompng -- Create a new image from file or URL

설명

resource imagecreatefrompng ( string $filename )

imagecreatefrompng() returns an image identifier representing the image obtained from the given filename.

imagecreatefrompng() returns an empty string on failure. It also outputs an error message, which unfortunately displays as a broken link in a browser. To ease debugging the following example will produce an error PNG:

예 899. Example to handle an error during creation

<?php
function LoadPNG($imgname)
{
    $im = @imagecreatefrompng($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreatetruecolor(150, 30); /* Create a blank image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
header("Content-Type: image/png");
$img = LoadPNG("bogus.image");
imagepng($img);
?>

위 예제의 출력 예:

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

매개변수

filename

Path to the PNG image

반환값

Returns an image resource identifier on success, FALSE on errors.

주의

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

이전 | 위로 | 다음
imagecreatefromjpeg | 처음으로 | imagecreatefromstring


imagecreatefromstring

(PHP 4 >= 4.0.4, PHP 5)

imagecreatefromstring -- Create a new image from the image stream in the string

설명

resource imagecreatefromstring ( string $data )

imagecreatefromstring() returns an image identifier representing the image obtained from the given data These types will be automatically detected if your build of PHP supports them: JPEG, PNG, GIF, WBMP, and GD2.

매개변수

image

A string containing the image data

반환값

An image resource will be returned on success. FALSE is returned if the image type is unsupported, the data is not in a recognised format, or the image is corrupt and cannot be loaded.

예제

예 900. imagecreatefromstring() example

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
}
else {
    echo 'An error occurred.';
}
?>

위 예제의 출력 예:

참고

imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromgif()
imagecreatetruecolor()

이전 | 위로 | 다음
imagecreatefrompng | 처음으로 | imagecreatefromwbmp


imagecreatefromwbmp

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromwbmp -- Create a new image from file or URL

설명

resource imagecreatefromwbmp ( string $filename )

imagecreatefromwbmp() returns an image identifier representing the image obtained from the given filename.

imagecreatefromwbmp() returns an empty string on failure. It also outputs an error message, which unfortunately displays as a broken link in a browser. To ease debugging the following example will produce an error WBMP:

예 901. Example to handle an error during creation

<?php
function LoadWBMP($imgname)
{
    $im = @imagecreatefromwbmp($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreatetruecolor (20, 20); /* Create a blank image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 10, 10, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
?>

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

매개변수

filename

Path to the WBMP image

반환값

Returns an image resource identifier on success, FALSE on errors.

주의

참고: WBMP 지원은 PHP를 GD-1.8 이상에서 컴파일해야 합니다.

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

이전 | 위로 | 다음
imagecreatefromstring | 처음으로 | imagecreatefromxbm


imagecreatefromxbm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxbm -- Create a new image from file or URL

설명

resource imagecreatefromxbm ( string $filename )

imagecreatefromxbm() returns an image identifier representing the image obtained from the given filename.

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

매개변수

filename

Path to the XBM image

반환값

Returns an image resource identifier on success, FALSE on errors.

이전 | 위로 | 다음
imagecreatefromwbmp | 처음으로 | imagecreatefromxpm


imagecreatefromxpm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxpm -- Create a new image from file or URL

설명

resource imagecreatefromxpm ( string $filename )

imagecreatefromxpm() returns an image identifier representing the image obtained from the given filename.

작은 정보

fopen 래퍼를 활성화하면, 이 함수의 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록를 참고하십시오.

매개변수

filename

Path to the XPM image

반환값

Returns an image resource identifier on success, FALSE on errors.

반환값

참고: 이 함수는 PHP에 포함된 GD 라이브러리를 사용하여 컴파일하였을 경우에만 사용할 수 있습니다.

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

이전 | 위로 | 다음
imagecreatefromxbm | 처음으로 | imagecreatetruecolor


imagecreatetruecolor

(PHP 4 >= 4.0.6, PHP 5)

imagecreatetruecolor -- Create a new true color image

설명

resource imagecreatetruecolor ( int $width, int $height )

imagecreatetruecolor() returns an image identifier representing a black image of the specified size.

Depending on your PHP and GD versions this function is defined or not. With PHP 4.0.6 through 4.1.x this function always exists if the GD module is loaded, but calling it without GD2 being installed PHP will issue a fatal error and exit. With PHP 4.2.x this behaviour is different in issuing a warning instead of an error. Other versions only define this function, if the correct GD version is installed.

매개변수

width

Image width

height

Image height

반환값

Returns an image resource identifier on success, FALSE on errors.

예제

예 902. Creating a new GD image stream and outputting an image.

<?php
header ("Content-type: image/png");
$im = @imagecreatetruecolor(120, 20)
      or die("Cannot Initialize new GD image stream");
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

위 예제의 출력 예:

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고: This function will not work with GIF file formats.

참고

imagedestroy()
imagecreate()

이전 | 위로 | 다음
imagecreatefromxpm | 처음으로 | imagedashedline


imagedashedline

(PHP 4, PHP 5)

imagedashedline -- Draw a dashed line

설명

bool imagedashedline ( resource $image, int $x1, int $y1, int $x2, int $y2, int $color )

This function is deprecated. Use combination of imagesetstyle() and imageline() instead.

이전 | 위로 | 다음
imagecreatetruecolor | 처음으로 | imagedestroy


imagedestroy

(PHP 4, PHP 5)

imagedestroy -- Destroy an image

설명

bool imagedestroy ( resource $image )

imagedestroy() frees any memory associated with image image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
imagedashedline | 처음으로 | imageellipse


imageellipse

(PHP 4 >= 4.0.6, PHP 5)

imageellipse -- Draw an ellipse

설명

bool imageellipse ( resource $image, int $cx, int $cy, int $width, int $height, int $color )

Draws an ellipse centered at the specified coordinates.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

cx

x-coordinate of the center

cy

y-coordinate of the center

width

The ellipse width

height

The ellipse height

color

The color of the ellipse. A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 903. imageellipse() example

<?php

// create a blank image
$image = imagecreatetruecolor(400, 300);

// fill the background color
$bg = imagecolorallocate($image, 0, 0, 0);

// choose a color for the ellipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// draw the ellipse
imageellipse($image, 200, 150, 300, 200, $col_ellipse);

// output the picture
header("Content-type: image/png");
imagepng($image);

?>

위 예제의 출력 예:

주의

참고: This function requires GD 2.0.2 or later.

참고

imagefilledellipse()
imagearc()

이전 | 위로 | 다음
imagedestroy | 처음으로 | imagefill


imagefill

(PHP 4, PHP 5)

imagefill -- Flood fill

설명

bool imagefill ( resource $image, int $x, int $y, int $color )

Performs a flood fill starting at the given coordinate (top left is 0, 0) with the given color in the image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

x

x-coordinate of start point

y

y-coordinate of start point

color

The fill color. A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 904. imagefill() example

<?php

$im = imagecreatetruecolor(100, 100);

// sets background to red
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

위 예제의 출력 예:

참고

imagecolorallocate()

이전 | 위로 | 다음
imageellipse | 처음으로 | imagefilledarc


imagefilledarc

(PHP 4 >= 4.0.6, PHP 5)

imagefilledarc -- Draw a partial ellipse and fill it

설명

bool imagefilledarc ( resource $image, int $cx, int $cy, int $width, int $height, int $start, int $end, int $color, int $style )

Draws a partial ellipse centered at the specified coordinate in the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

cx

x-coordinate of the center

cy

y-coordinate of the center

width

The arc width

height

The arc height

start

The arc start angle, in degrees.

end

The arc end angle, in degrees. 0° is located at the three-o'clock position, and the arc is drawn clockwise.

color

A color identifier created with imagecolorallocate()

style

A bitwise OR of the following possibilities:

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED

IMG_ARC_PIE and IMG_ARC_CHORD are mutually exclusive; IMG_ARC_CHORD just connects the starting and ending angles with a straight line, while IMG_ARC_PIE produces a rounded edge. IMG_ARC_NOFILL indicates that the arc or chord should be outlined, not filled. IMG_ARC_EDGED, used together with IMG_ARC_NOFILL, indicates that the beginning and ending angles should be connected to the center - this is a good way to outline (rather than fill) a 'pie slice'.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 905. Creating a 3D looking pie

<?php

// create image
$image = imagecreatetruecolor(100, 100);

// allocate some solors
$white    = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gray     = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy     = imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
$red      = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$darkred  = imagecolorallocate($image, 0x90, 0x00, 0x00);

// make the 3D effect
for ($i = 60; $i > 50; $i--) {
   imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
   imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}

imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);

// flush image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

위 예제의 출력 예:

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

이전 | 위로 | 다음
imagefill | 처음으로 | imagefilledellipse


imagefilledellipse

(PHP 4 >= 4.0.6, PHP 5)

imagefilledellipse -- Draw a filled ellipse

설명

bool imagefilledellipse ( resource $image, int $cx, int $cy, int $width, int $height, int $color )

Draws an ellipse centered at the specified coordinate on the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

cx

x-coordinate of the center

cy

y-coordinate of the center

width

The arc width

height

The arc height

color

The fill color. A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 906. imagefilledellipse() example

<?php

// create a blank image
$image = imagecreatetruecolor(400, 300);

// fill the background color
$bg = imagecolorallocate($image, 0, 0, 0);

// choose a color for the ellipse
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// draw the white ellipse
imagefilledellipse($image, 200, 150, 300, 200, $col_ellipse);

// output the picture
header("Content-type: image/png");
imagepng($image);

?>

위 예제의 출력 예:

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고

imageellipse()
imagefilledarc()

이전 | 위로 | 다음
imagefilledarc | 처음으로 | imagefilledpolygon


imagefilledpolygon

(PHP 4, PHP 5)

imagefilledpolygon -- Draw a filled polygon

설명

bool imagefilledpolygon ( resource $image, array $points, int $num_points, int $color )

imagefilledpolygon() creates a filled polygon in the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

points

An array containing the x and y coordinates of the polygons vertices consecutively

num_points

Total number of vertices, which must be bigger than 3

color

A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 907. imagefilledpolygon() example

<?php
// set up array of points for polygon
$values = array(
            40,  50,  // Point 1 (x, y)
            20,  240, // Point 2 (x, y)
            60,  60,  // Point 3 (x, y)
            240, 20,  // Point 4 (x, y)
            50,  40,  // Point 5 (x, y)
            10,  10   // Point 6 (x, y)
            );

// create image
$image = imagecreatetruecolor(250, 250);

// some colors
$bg   = imagecolorallocate($image, 200, 200, 200);
$blue = imagecolorallocate($image, 0, 0, 255);

// draw a polygon
imagefilledpolygon($image, $values, 6, $blue);

// flush image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

위 예제의 출력 예:

이전 | 위로 | 다음
imagefilledellipse | 처음으로 | imagefilledrectangle


imagefilledrectangle

(PHP 4, PHP 5)

imagefilledrectangle -- Draw a filled rectangle

설명

bool imagefilledrectangle ( resource $image, int $x1, int $y1, int $x2, int $y2, int $color )

Creates a rectangle filled with color in the given image starting at point 1 and ending at point 2. 0, 0 is the top left corner of the image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

x1

x-coordinate for point 1

y1

y-coordinate for point 1

x2

x-coordinate for point 2

y2

y-coordinate for point 2

color

The fill color. A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
imagefilledpolygon | 처음으로 | imagefilltoborder


imagefilltoborder

(PHP 4, PHP 5)

imagefilltoborder -- Flood fill to specific color

설명

bool imagefilltoborder ( resource $image, int $x, int $y, int $border, int $color )

imagefilltoborder() performs a flood fill whose border color is defined by border. The starting point for the fill is x, y (top left is 0, 0) and the region is filled with color color.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

x

x-coordinate of start

y

y-coordinate of start

border

The border color. A color identifier created with imagecolorallocate()

color

The fill color. A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
imagefilledrectangle | 처음으로 | imagefilter


imagefilter

(PHP 5)

imagefilter -- Applies a filter to an image

설명

bool imagefilter ( resource $image, int $filtertype [, int $arg1 [, int $arg2 [, int $arg3 [, int $arg4]]]] )

imagefilter() applies the given filter filtertype on the image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

filtertype

filtertype can be one of the following:

  • IMG_FILTER_NEGATE: Reverses all colors of the image.
  • IMG_FILTER_GRAYSCALE: Converts the image into grayscale.
  • IMG_FILTER_BRIGHTNESS: Changes the brightness of the image. Use arg1 to set the level of brightness.
  • IMG_FILTER_CONTRAST: Changes the contrast of the image. Use arg1 to set the level of contrast.
  • IMG_FILTER_COLORIZE: Like IMG_FILTER_GRAYSCALE, except you can specify the color. Use arg1, arg2 and arg3 in the form of red, blue, green and arg4 for the alpha channel. The range for each color is 0 to 255.
  • IMG_FILTER_EDGEDETECT: Uses edge detection to highlight the edges in the image.
  • IMG_FILTER_EMBOSS: Embosses the image.
  • IMG_FILTER_GAUSSIAN_BLUR: Blurs the image using the Gaussian method.
  • IMG_FILTER_SELECTIVE_BLUR: Blurs the image.
  • IMG_FILTER_MEAN_REMOVAL: Uses mean removal to achieve a "sketchy" effect.
  • IMG_FILTER_SMOOTH: Makes the image smoother. Use arg1 to set the level of smoothness.

arg1

arg2

arg3

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
5.2.5 | Alpha support for IMG_FILTER_COLORIZE was added.

예제

예 908. imagefilter() grayscale example

<?php
$im = imagecreatefrompng('dave.png');
if ($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) {
    echo 'Image converted to grayscale.';
    imagepng($im, 'dave.png');
} else {
    echo 'Conversion to grayscale failed.';
}

imagedestroy($im);
?>

예 909. imagefilter() brightness example

<?php
$im = imagecreatefrompng('sean.png');
if ($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, 20)) {
    echo 'Image brightness changed.';
    imagepng($im, 'sean.png');
} else {
    echo 'Image brightness change failed.';
}

imagedestroy($im);
?>

예 910. imagefilter() colorize example

<?php
$im = imagecreatefrompng('philip.png');

/* R, G, B, so 0, 255, 0 is green */
if ($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0)) {
    echo 'Image successfully shaded green.';
    imagepng($im, 'philip.png');
} else {
    echo 'Green shading failed.';
}

imagedestroy($im);
?>

주의

참고: 이 함수는 PHP에 포함된 GD 라이브러리를 사용하여 컴파일하였을 경우에만 사용할 수 있습니다.

참고

imageconvolution()

이전 | 위로 | 다음
imagefilltoborder | 처음으로 | imagefontheight


imagefontheight

(PHP 4, PHP 5)

imagefontheight -- Get font height

설명

int imagefontheight ( int $font )

Returns the pixel height of a character in the specified font.

매개변수

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont().

반환값

Returns the height of the pixel.

참고

imagefontwidth()
imageloadfont()

이전 | 위로 | 다음
imagefilter | 처음으로 | imagefontwidth


imagefontwidth

(PHP 4, PHP 5)

imagefontwidth -- Get font width

설명

int imagefontwidth ( int $font )

Returns the pixel width of a character in font.

매개변수

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont().

반환값

Returns the width of the pixel

참고

imagefontheight()
imageloadfont()

이전 | 위로 | 다음
imagefontheight | 처음으로 | imageftbbox


imageftbbox

(PHP 4 >= 4.0.7, PHP 5)

imageftbbox -- Give the bounding box of a text using fonts via freetype2

설명

array imageftbbox ( float $size, float $angle, string $font_file, string $text [, array $extrainfo] )
주의

This function is currently not documented; only the argument list is available.

매개변수

size

angle

font_file

text

extrainfo

반환값

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고: 이 함수는 PHP에 freetype 지원을 포함하여 컴파일해야 합니다. (--with-freetype-dir=DIR)

변경 기록

버전 | 설명
4.3.5 | extrainfo was made optional.

이전 | 위로 | 다음
imagefontwidth | 처음으로 | imagefttext


imagefttext

(PHP 4 >= 4.0.7, PHP 5)

imagefttext -- Write text to the image using fonts using FreeType 2

설명

array imagefttext ( resource $image, float $size, float $angle, int $x, int $y, int $color, string $font_file, string $text [, array $extrainfo] )

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

size

The font size to use in points

angle

The angle in degrees, with 0 degrees being left-to-right reading text. Higher values represent a counter-clockwise rotation. For example, a value of 90 would result in bottom-to-top reading text.

x

The coordinates given by x and y will define the basepoint of the first character (roughly the lower-left corner of the character). This is different from the imagestring(), where x and y define the upper-left corner of the first character. For example, "top left" is 0, 0.

y

The y-ordinate. This sets the position of the fonts baseline, not the very bottom of the character.

color

The index of the desired color for the text, see iamgecolorexact()

font_file

The full path to the font being used.

text

Text to be inserted into image.

extrainfo

반환값

This function returns an array defining the four points of the box, starting in the lower left and moving counter-clockwise:

0 | lower left x-coordinate
1 | lower left y-coordinate
2 | lower right x-coordinate
3 | lower right y-coordinate
4 | upper right x-coordinate
5 | upper right y-coordinate
6 | upper left x-coordinate
7 | upper left y-coordinate

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고: 이 함수는 PHP에 freetype 지원을 포함하여 컴파일해야 합니다. (--with-freetype-dir=DIR)

변경 기록

버전 | 설명
4.3.5 | extrainfo was made optional.

이전 | 위로 | 다음
imageftbbox | 처음으로 | imagegammacorrect


imagegammacorrect

(PHP 4, PHP 5)

imagegammacorrect -- Apply a gamma correction to a GD image

설명

bool imagegammacorrect ( resource $image, float $inputgamma, float $outputgamma )

Applies gamma correction to the given gd image given an input and an output gamma.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

inputgamma

The input gamma

outputgamma

The output gamma

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
imagefttext | 처음으로 | imagegd2


imagegd2

(PHP 4 >= 4.0.7, PHP 5)

imagegd2 -- Output GD2 image to browser or file

설명

bool imagegd2 ( resource $image [, string $filename [, int $chunk_size [, int $type]]] )

Outputs a GD2 image to the given filename.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

chunk_size

type

Either IMG_GD2_RAW or IMG_GD2_COMPRESSED. Default is IMG_GD2_RAW.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고: The GD2 format is commonly used to allow fast loading of parts of images. Note that the GD2 format is only usable in GD2-compatible applications.

변경 기록

버전 | 설명
4.3.2 | chunk_size and type were added.

참고

imagegd()

이전 | 위로 | 다음
imagegammacorrect | 처음으로 | imagegd


imagegd

(PHP 4 >= 4.0.7, PHP 5)

imagegd -- Output GD image to browser or file

설명

bool imagegd ( resource $image [, string $filename] )

Outputs a GD image to the given filename.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: The GD format is commonly used to allow fast loading of parts of images. Note that the GD format is only usable in GD-compatible applications.

참고

imagegd2()

이전 | 위로 | 다음
imagegd2 | 처음으로 | imagegif


imagegif

(PHP 4, PHP 5)

imagegif -- Output image to browser or file

설명

bool imagegif ( resource $image [, string $filename] )

imagegif() creates the GIF file in filename from the image image. The image argument is the return from the imagecreate() or imagecreatefrom* function.

The image format will be GIF87a unless the image has been made transparent with imagecolortransparent(), in which case the image format will be GIF89a.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: Since all GIF support was removed from the GD library in version 1.6, this function is not available if you are using that version of the GD library. Support is expected to return in a version subsequent to the rerelease of GIF support in the GD library in mid 2004. For more information, see the » GD Project site.

The following code snippet allows you to write more portable PHP applications by auto-detecting the type of GD support which is available. Replace the sequence header ("Content-type: image/gif"); imagegif ($im); by the more flexible sequence:

<?php
if (function_exists("imagegif")) {
    header("Content-type: image/gif");
    imagegif($im);
} elseif (function_exists("imagejpeg")) {
    header("Content-type: image/jpeg");
    imagejpeg($im, "", 0.5);
} elseif (function_exists("imagepng")) {
    header("Content-type: image/png");
    imagepng($im);
} elseif (function_exists("imagewbmp")) {
    header("Content-type: image/vnd.wap.wbmp");
    imagewbmp($im);
} else {
    die("No image support in this PHP server");
}
?>

참고: As of version 3.0.18 and 4.0.2 you can use the function imagetypes() in place of function_exists() for checking the presence of the various supported image formats:

<?php
if (imagetypes() & IMG_GIF) {
    header ("Content-type: image/gif");
    imagegif ($im);
} elseif (imagetypes() & IMG_JPG) {
    /* ... etc. */
}
?>

참고

imagepng()
imagewbmp()
imagejpeg()
imagetypes()

이전 | 위로 | 다음
imagegd | 처음으로 | imagegrabscreen


imageinterlace

(PHP 4, PHP 5)

imageinterlace -- Enable or disable interlace

설명

int imageinterlace ( resource $image [, int $interlace] )

imageinterlace() turns the interlace bit on or off.

If the interlace bit is set and the image is used as a JPEG image, the image is created as a progressive JPEG.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

interlace

If non-zero, the image will be interlaced, else the interlace bit is turned off.

반환값

Returns 1 if the interlace bit is set for the image, 0 otherwise.

이전 | 위로 | 다음
imagegrabwindow | 처음으로 | imageistruecolor


imageistruecolor

(PHP 4 >= 4.3.2, PHP 5)

imageistruecolor -- Finds whether an image is a truecolor image

설명

bool imageistruecolor ( resource $image )

imageistruecolor() finds whether the image image is a truecolor image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

반환값

Returns TRUE if the image is truecolor, FALSE otherwise.

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고

imagecreatetruecolor()

이전 | 위로 | 다음
imageinterlace | 처음으로 | imagejpeg


imagejpeg

(PHP 4, PHP 5)

imagejpeg -- Output image to browser or file

설명

bool imagejpeg ( resource $image [, string $filename [, int $quality]] )

imagejpeg() creates a JPEG file from the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

To skip this argument in order to provide the quality parameter, use NULL.

quality

quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default is the default IJG quality value (about 75).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: JPEG 지원은 PHP를 GD-1.8 이상에서 컴파일해야 합니다.

참고: If you want to output Progressive JPEGs, you need to set interlacing on with imageinterlace().

참고

imagepng()
imagegif()
imagewbmp()
imageinterlace()
imagetypes()

이전 | 위로 | 다음
imageistruecolor | 처음으로 | imagelayereffect


imagelayereffect

(PHP 4 >= 4.3.0, PHP 5)

imagelayereffect -- Set the alpha blending flag to use the bundled libgd layering effects

설명

bool imagelayereffect ( resource $image, int $effect )

Set the alpha blending flag to use the bundled libgd layering effects.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

effect

One of the following constants:

IMG_EFFECT_REPLACE
Use pixel replacement (equivalent of passing TRUE to imagealphablending())
IMG_EFFECT_ALPHABLEND
Use normal pixel blending (equivalent of passing FALSE to imagealphablending())
IMG_EFFECT_NORMAL
Same as IMG_EFFECT_ALPHABLEND.
IMG_EFFECT_OVERLAY
Overlay has the effect that black background pixels will remain black, white background pixels will remain white, but grey background pixels will take the colour of the foreground pixel.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 PHP에 포함된 GD 라이브러리를 사용하여 컴파일하였을 경우에만 사용할 수 있습니다.

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

이전 | 위로 | 다음
imagejpeg | 처음으로 | imageline


imageline

(PHP 4, PHP 5)

imageline -- Draw a line

설명

bool imageline ( resource $image, int $x1, int $y1, int $x2, int $y2, int $color )

imageline() draws a line between the two given points.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

x1

x-coordinate for first point

y1

y-coordinate for first point

x2

x-coordinate for second point

y2

y-coordinate for second point

color

The line color. A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 913. Drawing a thick line

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
    /* this way it works well only for orthogonal lines
    imagesetthickness($image, $thick);
    return imageline($image, $x1, $y1, $x2, $y2, $color);
    */
    if ($thick == 1) {
        return imageline($image, $x1, $y1, $x2, $y2, $color);
    }
    $t = $thick / 2 - 0.5;
    if ($x1 == $x2 || $y1 == $y2) {
        return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
    }
    $k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
    $a = $t / sqrt(1 + pow($k, 2));
    $points = array(
        round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
        round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
        round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
        round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
    );
    imagefilledpolygon($image, $points, 4, $color);
    return imagepolygon($image, $points, 4, $color);
}

?>

참고

imagecreatetruecolor()
imagecolorallocate()

이전 | 위로 | 다음
imagelayereffect | 처음으로 | imageloadfont


imageloadfont

(PHP 4, PHP 5)

imageloadfont -- Load a new font

설명

int imageloadfont ( string $file )

imageloadfont() loads a user-defined bitmap and returns its identifier.

매개변수

file

The font file format is currently binary and architecture dependent. This means you should generate the font files on the same type of CPU as the machine you are running PHP on.

표 139. Font file format

byte position | C data type | description
byte 0-3 | int | number of characters in the font
byte 4-7 | int | value of first character in the font (often 32 for space)
byte 8-11 | int | pixel width of each character
byte 12-15 | int | pixel height of each character
byte 16- | char | array with character data, one byte per pixel in each character, for a total of (nchars*width*height) bytes.

반환값

The font identifier which is always bigger than 5 to avoid conflicts with built-in fonts or FALSE on errors.

예제

예 914. Using imageloadfont

<?php
header("Content-type: image/png");
$im = imagecreatetruecolor(50, 20);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 49, 19, $white);
$font = imageloadfont("04b.gdf");
imagestring($im, $font, 0, 0, "Hello", $black);
imagepng($im);
?>

참고

imagefontwidth()
imagefontheight()

이전 | 위로 | 다음
imageline | 처음으로 | imagepalettecopy


imagepalettecopy

(PHP 4 >= 4.0.1, PHP 5)

imagepalettecopy -- Copy the palette from one image to another

설명

void imagepalettecopy ( resource $destination, resource $source )

imagepalettecopy() copies the palette from the source image to the destination image.

매개변수

destination

The destination image resource

source

The source image resource

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
imageloadfont | 처음으로 | imagepng


imagepng

(PHP 4, PHP 5)

imagepng -- Output a PNG image to either the browser or a file

설명

bool imagepng ( resource $image [, string $filename [, int $quality [, int $filters]]] )

Outputs or saves a PNG image from the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

참고: NULL is invalid if the quality and filters arguments are not used.

quality

Compression level: from 0 (no compression) to 9.

filters

Allows reducing the PNG file size. It is a bitmask field which may be set to any combination of the PNG_FILTER_XXX constants. PNG_NO_FILTER or PNG_ALL_FILTERS may also be used to respectively disable or activate all filters.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
5.1.3 | Added the filters parameter.
5.1.2 | Added the quality parameter.

예제

<?php
$im = imagecreatefrompng("test.png");
imagepng($im);
?>

참고

imagegif()
imagewbmp()
imagejpeg()
imagetypes()

이전 | 위로 | 다음
imagepalettecopy | 처음으로 | imagepolygon


imagepolygon

(PHP 4, PHP 5)

imagepolygon -- Draws a polygon

설명

bool imagepolygon ( resource $image, array $points, int $num_points, int $color )

imagepolygon() creates a polygon in the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

points

An array containing the polygon's vertices, i.e. points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc.

num_points

Total number of points (vertices)

color

A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 915. imagepolygon() example

<?php
// create a blank image
$image = imagecreatetruecolor(400, 300);

// fill the background color
$bg = imagecolorallocate($image, 0, 0, 0);

// choose a color for the polygon
$col_poly = imagecolorallocate($image, 255, 255, 255);

// draw the polygon
imagepolygon($image, array (
        0,   0,
        100, 200,
        300, 200
    ),
    3,
    $col_poly);

// output the picture
header("Content-type: image/png");
imagepng($image);

?>

위 예제의 출력 예:

참고

imagecreate()
imagecreatetruecolor()

이전 | 위로 | 다음
imagepng | 처음으로 | imagepsbbox


imagepsbbox

(PHP 4, PHP 5)

imagepsbbox -- Give the bounding box of a text rectangle using PostScript Type1 fonts

설명

array imagepsbbox ( string $text, int $font, int $size [, int $space, int $tightness, float $angle] )

Gives the bounding box of a text rectangle using PostScript Type1 fonts.

The bounding box is calculated using information available from character metrics, and unfortunately tends to differ slightly from the results achieved by actually rasterizing the text. If the angle is 0 degrees, you can expect the text to need 1 pixel more to every direction.

매개변수

text

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont().

size

size is expressed in pixels.

space

Allows you to change the default value of a space in a font. This amount is added to the normal value and can also be negative. Expressed in character space units, where 1 unit is 1/1000th of an em-square.

tightness

tightness allows you to control the amount of white space between characters. This amount is added to the normal character width and can also be negative. Expressed in character space units, where 1 unit is 1/1000th of an em-square.

angle

angle is in degrees.

반환값

Returns an array containing the following elements:

0 | left x-coordinate
1 | upper y-coordinate
2 | right x-coordinate
3 | lower y-coordinate

주의

참고: 이 함수는 --enable-t1lib를 사용하여 PHP를 컴파일 했을 경우에만 사용할 수 있습니다.

참고

imagepstext()

이전 | 위로 | 다음
imagepolygon | 처음으로 | imagepsencodefont


imagepsencodefont

(PHP 4, PHP 5)

imagepsencodefont -- Change the character encoding vector of a font

설명

bool imagepsencodefont ( resource $font_index, string $encodingfile )

Loads a character encoding vector from a file and changes the fonts encoding vector to it. As a PostScript fonts default vector lacks most of the character positions above 127, you'll definitely want to change this if you use an other language than English.

If you find yourself using this function all the time, a much better way to define the encoding is to set ps.default_encoding in the configuration file to point to the right encoding file and all fonts you load will automatically have the right encoding.

매개변수

font_index

encodingfile

The exact format of this file is described in T1libs documentation. T1lib comes with two ready-to-use files, IsoLatin1.enc and IsoLatin2.enc.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 --enable-t1lib를 사용하여 PHP를 컴파일 했을 경우에만 사용할 수 있습니다.

이전 | 위로 | 다음
imagepsbbox | 처음으로 | imagepsextendfont


imagepsextendfont

(PHP 4, PHP 5)

imagepsextendfont -- Extend or condense a font

설명

bool imagepsextendfont ( int $font_index, float $extend )

Extend or condense a font (font_index), if the value of the extend parameter is less than one you will be condensing the font.

매개변수

font_index

extend

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 --enable-t1lib를 사용하여 PHP를 컴파일 했을 경우에만 사용할 수 있습니다.

이전 | 위로 | 다음
imagepsencodefont | 처음으로 | imagepsfreefont


imagepsfreefont

(PHP 4, PHP 5)

imagepsfreefont -- Free memory used by a PostScript Type 1 font

설명

bool imagepsfreefont ( resource $fontindex )

imagepsfreefont() frees memory used by a PostScript Type 1 font.

매개변수

fontindex

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 --enable-t1lib를 사용하여 PHP를 컴파일 했을 경우에만 사용할 수 있습니다.

참고

imagepsloadfont()

이전 | 위로 | 다음
imagepsextendfont | 처음으로 | imagepsloadfont


imagepsloadfont

(PHP 4, PHP 5)

imagepsloadfont -- Load a PostScript Type 1 font from file

설명

resource imagepsloadfont ( string $filename )

Load a PostScript Type 1 font from the given filename.

매개변수

filename

반환값

In the case everything went right, a valid font index will be returned and can be used for further purposes. Otherwise the function returns FALSE.

예제

예 916. imagepsloadfont() example

<?php
header("Content-type: image/png");
$im = imagecreatetruecolor(350, 45);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 349, 44, $white);
$font = imagepsloadfont("bchbi.pfb"); // or locate your .pfb files on your machine
imagepstext($im, "Testing... It worked!", $font, 32, $white, $black, 32, 32);
imagepsfreefont($font);
imagepng($im);
imagedestroy($im);
?>

주의

참고: 이 함수는 --enable-t1lib를 사용하여 PHP를 컴파일 했을 경우에만 사용할 수 있습니다.

참고

imagepsfreefont()

이전 | 위로 | 다음
imagepsfreefont | 처음으로 | imagepsslantfont


imagepsslantfont

(PHP 4, PHP 5)

imagepsslantfont -- Slant a font

설명

bool imagepsslantfont ( resource $font_index, float $slant )

Slant a given font given.

매개변수

font_index

slant

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 --enable-t1lib를 사용하여 PHP를 컴파일 했을 경우에만 사용할 수 있습니다.

이전 | 위로 | 다음
imagepsloadfont | 처음으로 | imagepstext


imagepstext

(PHP 4, PHP 5)

imagepstext -- Draws a text over an image using PostScript Type1 fonts

설명

array imagepstext ( resource $image, string $text, resource $font, int $size, int $foreground, int $background, int $x, int $y [, int $space [, int $tightness [, float $angle [, int $antialias_steps]]]] )

Draws a text on an image using PostScript Type1 fonts.

Refer to PostScript documentation about fonts and their measuring system if you have trouble understanding how this works.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

text

The text to be written.

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont().

size

size is expressed in pixels.

foreground

The color in which the text will be painted.

background

The color to which the text will try to fade in with antialiasing. No pixels with the color background are actually painted, so the background image does not need to be of solid color.

x

x-coordinate for the lower-left corner of the first character

y

y-coordinate for the lower-left corner of the first character

space

Allows you to change the default value of a space in a font. This amount is added to the normal value and can also be negative. Expressed in character space units, where 1 unit is 1/1000th of an em-square.

tightness

tightness allows you to control the amount of white space between characters. This amount is added to the normal character width and can also be negative. Expressed in character space units, where 1 unit is 1/1000th of an em-square.

angle

angle is in degrees.

antialias_steps

Allows you to control the number of colours used for antialiasing text. Allowed values are 4 and 16. The higher value is recommended for text sizes lower than 20, where the effect in text quality is quite visible. With bigger sizes, use 4. It's less computationally intensive.

반환값

This function returns an array containing the following elements:

0 | lower left x-coordinate
1 | lower left y-coordinate
2 | upper right x-coordinate
3 | upper right y-coordinate

주의

참고: 이 함수는 --enable-t1lib를 사용하여 PHP를 컴파일 했을 경우에만 사용할 수 있습니다.

참고

imagepsbbox()

이전 | 위로 | 다음
imagepsslantfont | 처음으로 | imagerectangle


imagerectangle

(PHP 4, PHP 5)

imagerectangle -- Draw a rectangle

설명

bool imagerectangle ( resource $image, int $x1, int $y1, int $x2, int $y2, int $color )

imagerectangle() creates a rectangle starting at the specified coordinates.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

x1

Upper left x coordinate

y1

Upper left y coordinate 0, 0 is the top left corner of the image.

x2

Bottom right x coordinate

y2

Bottom right y coordinate

color

A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
imagepstext | 처음으로 | imagerotate


imagerotate

(PHP 4 >= 4.3.0, PHP 5)

imagerotate -- Rotate an image with a given angle

설명

resource imagerotate ( resource $source_image, float $angle, int $bgd_color [, int $ignore_transparent] )

Rotates the source_image image using the given angle in degrees.

The center of rotation is the center of the image, and the rotated image is scaled down so that the whole rotated image fits in the destination image - the edges are not clipped.

매개변수

source_image

The source image link

angle

Rotation angle, in degrees.

bgd_color

Specifies the color of the uncovered zone after the rotation

ignore_transparent

If set and non-zero, transparent colors are ignored (otherwise kept).

반환값

변경 기록

버전 | 설명
5.1.0 | ignore_transparent was added.

예제

예 917. Rotate an image 180 degrees

This example rotates an image 180 degrees - upside down.

<?php
// File and rotation
$filename = 'test.jpg';
$degrees = 180;

// Content type
header('Content-type: image/jpeg');

// Load
$source = imagecreatefromjpeg($filename);

// Rotate
$rotate = imagerotate($source, $degrees, 0);

// Output
imagejpeg($rotate);
?>

위 예제의 출력 예:

주의

참고: 이 함수는 PHP에 포함된 GD 라이브러리를 사용하여 컴파일하였을 경우에만 사용할 수 있습니다.

이전 | 위로 | 다음
imagerectangle | 처음으로 | imagesavealpha


imagesavealpha

(PHP 4 >= 4.3.2, PHP 5)

imagesavealpha -- Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

설명

bool imagesavealpha ( resource $image, bool $saveflag )

imagesavealpha() sets the flag to attempt to save full alpha channel information (as opposed to single-color transparency) when saving PNG images.

You have to unset alphablending (imagealphablending($im, false)), to use it.

Alpha channel is not supported by all browsers, if you have problem with your browser, try to load your script with an alpha channel compliant browser, e.g. latest Mozilla.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

saveflag

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

참고

imagealphablending()

이전 | 위로 | 다음
imagerotate | 처음으로 | imagesetbrush


imagesetbrush

(PHP 4 >= 4.0.6, PHP 5)

imagesetbrush -- Set the brush image for line drawing

설명

bool imagesetbrush ( resource $image, resource $brush )

imagesetbrush() sets the brush image to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special colors IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

brush

An image resource

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: You need not take special action when you are finished with a brush, but if you destroy the brush image, you must not use the IMG_COLOR_BRUSHED or IMG_COLOR_STYLEDBRUSHED colors until you have set a new brush image!

이전 | 위로 | 다음
imagesavealpha | 처음으로 | imagesetpixel


imagesetpixel

(PHP 4, PHP 5)

imagesetpixel -- Set a single pixel

설명

bool imagesetpixel ( resource $image, int $x, int $y, int $color )

imagesetpixel() draws a pixel at the specified coordinate.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

x

x-coordinate

y

y-coordinate

color

A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 918. imagesetpixel() example

A random drawing that ends with a regular picture.

<?php

$x = 200;
$y = 200;

$gd = imagecreatetruecolor($x, $y);

$corners[0] = array('x' => 100, 'y' =>  10);
$corners[1] = array('x' =>   0, 'y' => 190);
$corners[2] = array('x' => 200, 'y' => 190);

$red = imagecolorallocate($gd, 255, 0, 0);

for ($i = 0; $i < 100000; $i++) {
  imagesetpixel($gd, round($x),round($y), $red);
  $a = rand(0, 2);
  $x = ($x + $corners[$a]['x']) / 2;
  $y = ($y + $corners[$a]['y']) / 2;
}

header('Content-Type: image/png');
imagepng($gd);

?>

위 예제의 출력 예:

참고

imagecreatetruecolor()
imagecolorallocate()

이전 | 위로 | 다음
imagesetbrush | 처음으로 | imagesetstyle


imagesetstyle

(PHP 4 >= 4.0.6, PHP 5)

imagesetstyle -- Set the style for line drawing

설명

bool imagesetstyle ( resource $image, array $style )

imagesetstyle() sets the style to be used by all line drawing functions (such as imageline() and imagepolygon()) when drawing with the special color IMG_COLOR_STYLED or lines of images with color IMG_COLOR_STYLEDBRUSHED.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

style

An array of pixel colors. You can use the IMG_COLOR_TRANSPARENT constant to add a transparent pixel.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

Following example script draws a dashed line from upper left to lower right corner of the canvas:

예 919. imagesetstyle() example

<?php
header("Content-type: image/jpeg");
$im  = imagecreatetruecolor(100, 100);
$w   = imagecolorallocate($im, 255, 255, 255);
$red = imagecolorallocate($im, 255, 0, 0);

/* Draw a dashed line, 5 red pixels, 5 white pixels */
$style = array($red, $red, $red, $red, $red, $w, $w, $w, $w, $w);
imagesetstyle($im, $style);
imageline($im, 0, 0, 100, 100, IMG_COLOR_STYLED);

/* Draw a line of happy faces using imagesetbrush() with imagesetstyle */
$style = array($w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $w, $red);
imagesetstyle($im, $style);

$brush = imagecreatefrompng("http://www.libpng.org/pub/png/images/smile.happy.png");
$w2 = imagecolorallocate($brush, 255, 255, 255);
imagecolortransparent($brush, $w2);
imagesetbrush($im, $brush);
imageline($im, 100, 0, 0, 100, IMG_COLOR_STYLEDBRUSHED);

imagejpeg($im);
imagedestroy($im);
?>

위 예제의 출력 예:

참고

imagesetbrush()
imageline()

이전 | 위로 | 다음
imagesetpixel | 처음으로 | imagesetthickness


imagesetthickness

(PHP 4 >= 4.0.6, PHP 5)

imagesetthickness -- Set the thickness for line drawing

설명

bool imagesetthickness ( resource $image, int $thickness )

imagesetthickness() sets the thickness of the lines drawn when drawing rectangles, polygons, ellipses etc. etc. to thickness pixels.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

thickness

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

이전 | 위로 | 다음
imagesetstyle | 처음으로 | imagesettile


imagesettile

(PHP 4 >= 4.0.6, PHP 5)

imagesettile -- Set the tile image for filling

설명

bool imagesettile ( resource $image, resource $tile )

imagesettile() sets the tile image to be used by all region filling functions (such as imagefill() and imagefilledpolygon()) when filling with the special color IMG_COLOR_TILED.

A tile is an image used to fill an area with a repeated pattern. Any GD image can be used as a tile, and by setting the transparent color index of the tile image with imagecolortransparent(), a tile allows certain parts of the underlying area to shine through can be created.

참고: You need not take special action when you are finished with a tile, but if you destroy the tile image, you must not use the IMG_COLOR_TILED color until you have set a new tile image!

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

tile

The image resource to be used as a tile

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
imagesetthickness | 처음으로 | imagestring


imagestring

(PHP 4, PHP 5)

imagestring -- Draw a string horizontally

설명

bool imagestring ( resource $image, int $font, int $x, int $y, string $string, int $color )

Draws a string at the given coordinates.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont().

x

x-coordinate of the upper left corner

y

y-coordinate of the upper left corner

string

The string to be written

color

A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 920. imagestring() example

<?php
// create a 100*30 image
$im = imagecreate(100, 30);

// white background and blue text
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

// write the string at the top left
imagestring($im, 5, 0, 0, "Hello world!", $textcolor);

// output the image
header("Content-type: image/png");
imagepng($im);
?>

위 예제의 출력 예:

참고

imageloadfont()
imagettftext()

이전 | 위로 | 다음
imagesettile | 처음으로 | imagestringup


imagestringup

(PHP 4, PHP 5)

imagestringup -- Draw a string vertically

설명

bool imagestringup ( resource $image, int $font, int $x, int $y, string $string, int $color )

Draws a string vertically at the given coordinates.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont().

x

x-coordinate of the upper left corner

y

y-coordinate of the upper left corner

sring

The string to be written

color

A color identifier created with imagecolorallocate()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

imageloadfont()

이전 | 위로 | 다음
imagestring | 처음으로 | imagesx


imagesx

(PHP 4, PHP 5)

imagesx -- Get image width

설명

int imagesx ( resource $image )

Returns the width of the given image resource.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

반환값

Return the width of the image or FALSE on errors.

예제

예 921. Using imagesx()

<?php

// create a 300*200 image
$img = imagecreatetruecolor(300, 200);

echo imagesx($img); // 300

?>

참고

imagecreatetruecolor()
getimagesize()
imagesy()

이전 | 위로 | 다음
imagestringup | 처음으로 | imagesy


imagesy

(PHP 4, PHP 5)

imagesy -- Get image height

설명

int imagesy ( resource $image )

Returns the height of the given image resource.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

반환값

Return the height of the image or FALSE on errors.

예제

예 922. Using imagesy()

<?php

// create a 300*200 image
$img = imagecreatetruecolor(300, 200);

echo imagesy($img); // 200

?>

참고

imagecreatetruecolor()
getimagesize()
imagesx()

이전 | 위로 | 다음
imagesx | 처음으로 | imagetruecolortopalette


imagetruecolortopalette

(PHP 4 >= 4.0.6, PHP 5)

imagetruecolortopalette -- Convert a true color image to a palette image

설명

bool imagetruecolortopalette ( resource $image, bool $dither, int $ncolors )

imagetruecolortopalette() converts a truecolor image to a palette image. The code for this function was originally drawn from the Independent JPEG Group library code, which is excellent. The code has been modified to preserve as much alpha channel information as possible in the resulting palette, in addition to preserving colors as well as possible. This does not work as well as might be hoped. It is usually best to simply produce a truecolor output image instead, which guarantees the highest output quality.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

dither

Indicates if the image should be dithered - if it is TRUE then dithering will be used which will result in a more speckled image but with better color approximation.

ncolors

Sets the maximum number of colors that should be retained in the palette.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 GD 2.0.1 이상이 필요합니다. (2.0.28 이상을 권장합니다)

이전 | 위로 | 다음
imagesy | 처음으로 | imagettfbbox


imagettfbbox

(PHP 4, PHP 5)

imagettfbbox -- Give the bounding box of a text using TrueType fonts

설명

array imagettfbbox ( float $size, float $angle, string $fontfile, string $text )

This function calculates and returns the bounding box in pixels for a TrueType text.

매개변수

size

The font size in pixels

angle

Angle in degrees in which text will be measured

fontfile

The name of the TrueType font file (can be a URL). Depending on which version of the GD library that PHP is using, it may attempt to search for files that do not begin with a leading '/' by appending '.ttf' to the filename and searching along a library-defined font path

text

The string to be measured

반환값

imagettfbbox() returns an array with 8 elements representing four points making the bounding box of the text:

0 | lower left corner, X position
1 | lower left corner, Y position
2 | lower right corner, X position
3 | lower right corner, Y position
4 | upper right corner, X position
5 | upper right corner, Y position
6 | upper left corner, X position
7 | upper left corner, Y position

The points are relative to the text regardless of the angle, so "upper left" means in the top left-hand corner seeing the text horizontally.

참고

참고: This function requires both the GD library and the » FreeType library.

참고

imagettftext()

이전 | 위로 | 다음
imagetruecolortopalette | 처음으로 | imagettftext


imagettftext

(PHP 4, PHP 5)

imagettftext -- Write text to the image using TrueType fonts

설명

array imagettftext ( resource $image, float $size, float $angle, int $x, int $y, int $color, string $fontfile, string $text )

Writes the given text into the image using TrueType fonts.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

size

The font size. Depending on your version of GD, this should be specified as the pixel size (GD1) or point size (GD2)

angle

The angle in degrees, with 0 degrees being left-to-right reading text. Higher values represent a counter-clockwise rotation. For example, a value of 90 would result in bottom-to-top reading text.

x

The coordinates given by x and y will define the basepoint of the first character (roughly the lower-left corner of the character). This is different from the imagestring(), where x and y define the upper-left corner of the first character. For example, "top left" is 0, 0.

y

The y-ordinate. This sets the position of the fonts baseline, not the very bottom of the character.

color

The color index. Using the negative of a color index has the effect of turning off antialiasing. See imagecolorallocate()

fontfile

The path to the TrueType font you wish to use.

Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.

When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.

In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems. <?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));
       The y-ordinate. This sets the position of the fonts baseline, not
       the very bottom of the character.
// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>

text

The text string in UTF-8 encoding.

May include decimal numeric character references (of the form: &#8364;) to access characters in a font beyond position 127. The hexadecimal format (like &#xA9;) is supported as of PHP 5.2.0. Strings in UTF-8 encoding can be passed directly.

Named entities, such as &copy;, are not supported. Consider using html_entity_decode() to decode these named entities into UTF-8 strings (html_entity_decode() supports this as of PHP 5.0.0).

If a character is used in the string which is not supported by the font, a hollow rectangle will replace the character.

반환값

Returns an array with 8 elements representing four points making the bounding box of the text. The order of the points is lower left, lower right, upper right, upper left. The points are relative to the text regardless of the angle, so "upper left" means in the top left-hand corner when you see the text horizontally.

예제

예 923. imagettftext() example

This example script will produce a white PNG 400x30 pixels, with the words "Testing..." in black (with grey shadow), in the font Arial.

<?php
// Set the content-type
header("Content-type: image/png");

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

위 예제의 출력 예:

주의

참고: This function requires both the GD library and the » FreeType library.

참고

imagettfbbox()

이전 | 위로 | 다음
imagettfbbox | 처음으로 | imagetypes


imagetypes

(PHP 4 >= 4.0.2, PHP 5)

imagetypes -- Return the image types supported by this PHP build

설명

int imagetypes ( void )

Returns the image types supported by the current PHP installation.

반환값

Returns a bit-field corresponding to the image formats supported by the version of GD linked into PHP. The following bits are returned, IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM.

예제

예 924. Checking for PNG support

<?php
if (imagetypes() & IMG_PNG) {
    echo "PNG Support is enabled";
}
?>

이전 | 위로 | 다음
imagettftext | 처음으로 | imagewbmp


imagewbmp

(PHP 4 >= 4.0.1, PHP 5)

imagewbmp -- Output image to browser or file

설명

bool imagewbmp ( resource $image [, string $filename [, int $foreground]] )

imagewbmp() outputs or save a WBMP version of the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

foreground

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: WBMP support is only available if PHP was compiled against GD-1.8 or later.

참고

image2wbmp()
imagepng()
imagegif()
imagejpeg()
imagetypes()

이전 | 위로 | 다음
imagetypes | 처음으로 | imagexbm


imagexbm

(PHP 5)

imagexbm -- Output XBM image to browser or file

설명

bool imagexbm ( resource $image, string $filename [, int $foreground] )

Outputs or save an XBM version of the given image.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

foreground

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 PHP에 포함된 GD 라이브러리를 사용하여 컴파일하였을 경우에만 사용할 수 있습니다.

이전 | 위로 | 다음
imagewbmp | 처음으로 | iptcembed


iptcembed

(PHP 4, PHP 5)

iptcembed -- Embed binary IPTC data into a JPEG image

설명

mixed iptcembed ( string $iptcdata, string $jpeg_file_name [, int $spool] )

주의

This function is currently not documented; only the argument list is available.

매개변수

iptcdata

jpeg_file_name

spool

이전 | 위로 | 다음
imagexbm | 처음으로 | iptcparse


iptcparse

(PHP 4, PHP 5)

iptcparse -- Parse a binary IPTC block into single tags.

설명

array iptcparse ( string $iptcblock )

Parses an » IPTC block into its single tags.

매개변수

iptcblock

A binary IPTC block

반환값

Returns an array using the tagmarker as an index and the value as the value. It returns FALSE on error or if no IPTC data was found.

참고

getimagesize() for an example

이전 | 위로 | 다음
iptcembed | 처음으로 | jpeg2wbmp


jpeg2wbmp

(PHP 4 >= 4.0.5, PHP 5)

jpeg2wbmp -- Convert JPEG image file to WBMP image file

설명

bool jpeg2wbmp ( string $jpegname, string $wbmpname, int $dest_height, int $dest_width, int $threshold )

Converts a JPEG file into a WBMP file.

매개변수

jpegname

Path to JPEG file

wbmpname

Path to destination WBMP file

dest_height

Destination image height

dest_width

Destination image width

threshold

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: WBMP 지원은 PHP를 GD-1.8 이상에서 컴파일해야 합니다.

참고: JPEG 지원은 PHP를 GD-1.8 이상에서 컴파일해야 합니다.

참고

png2wbmp()

이전 | 위로 | 다음
iptcparse | 처음으로 | png2wbmp


png2wbmp

(PHP 4 >= 4.0.5, PHP 5)

png2wbmp -- Convert PNG image file to WBMP image file

설명

bool png2wbmp ( string $pngname, string $wbmpname, int $dest_height, int $dest_width, int $threshold )

Converts a PNG file into a WBMP file.

매개변수

pngname

Path to PNG file

wbmpname

Path to destination WBMP file

dest_height

Destination image height

dest_width

Destination image width

threshold

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: WBMP 지원은 PHP를 GD-1.8 이상에서 컴파일해야 합니다.

참고

jpeg2wbmp()

이전 | 위로 | 다음
jpeg2wbmp | 처음으로 | LXVI. Imagick Image Library


IMAP, POP3, NNTP 함수

이전 VI. 함수 레퍼런스 다음

LXVII. IMAP, POP3, NNTP 함수

소개

이 함수는 IMAP, NNTP, POP3 프로토콜로 작업을 할 수 있게 해 주고, 로컬 편지함에 접근하는 방법을 제공합니다.

몇몇 IMAP 함수는 POP 프로토콜과 정상적으로 작동하지 않습니다.

요구 조건

이 확장은 c-client 라이브러리가 설치되어 있어야 합니다. » ftp://ftp.cac.washington.edu/imap/에서 최신 버전을 받아서 컴파일 하십시오.

IMAP 소스 파일을 시스템 include 디렉토리에 직접 복사하면 안됩니다. 충돌이 생길 수도 있습니다. 대신, 시스템 include 디렉토리 밑에 /usr/local/imap-2000b/(위치와 이름은 설정과 IMAP 버전에 따라 다릅니다)처럼 새로운 디렉토리를 만들고, 새 디렉토리 안에 추가적으로 lib/, include/ 디렉토리를 만듭니다. IMAP 소스 트리의 c-client 디렉토리에서 모든 *.h 파일을 include/에 복사하고, 모든 *.c 파일을 lib/에 복사합니다. 추가적으로, IMAP을 컴파일 할 때 c-client.a가 만들어집니다. 이 파일을 libc-client.a로 이름을 바꾸어 lib/ 디렉토리에 넣으십시오.

참고: c-client 라이브러리에 SSL이나 Kerberos 지원을 추가하여 빌드하려면 패키지 안에 있는 문서를 읽어보십시오.

참고: 맨드레이크 리눅스에서, IMAP 라이브러리(libc-client.a)는 Kerberos 지원을 하지 않습니다. SSL을 지원하는 다른 버전(client-PHP4.a)이 설치됩니다. 라이브러리는 Kerberos를 지원하도록 다시 컴파일해야 합니다.

설치

To get these functions to work, you have to compile PHP with --with-imap[=DIR], where DIR is the c-client install prefix. From our example above, you would use --with-imap=/usr/local/imap-2000b. This location depends on where you created this directory according to the description above. Windows users may include the php_imap.dll DLL in php.ini. IMAP is not supported on systems earlier that Windows 2000. This is because it uses encryption functions in order to enable SSL connections to the mail servers.

참고: Depending how the c-client was configured, you might also need to add --with-imap-ssl=/path/to/openssl/ and/or --with-kerberos=/path/to/kerberos into the PHP configure line.

주의

IMAP, recode, YAZ, Cyrus 확장은 같은 내부 심볼을 공유하기 때문에, 동시에 사용할 수 없습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

실행시 설정

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

NIL (integer)
OP_DEBUG (integer)
OP_READONLY (integer)
Open mailbox read-only
OP_ANONYMOUS (integer)
Don't use or update a .newsrc for news (NNTP only)
OP_SHORTCACHE (integer)
OP_SILENT (integer)
OP_PROTOTYPE (integer)
OP_HALFOPEN (integer)
For IMAP and NNTP names, open a connection but don't open a mailbox.
OP_EXPUNGE (integer)
OP_SECURE (integer)
CL_EXPUNGE (integer)
silently expunge the mailbox before closing when calling imap_close()
FT_UID (integer)
The parameter is a UID
FT_PEEK (integer)
Do not set the \Seen flag if not already set
FT_NOT (integer)
FT_INTERNAL (integer)
The return string is in internal format, will not canonicalize to CRLF.
FT_PREFETCHTEXT (integer)
ST_UID (integer)
The sequence argument contains UIDs instead of sequence numbers
ST_SILENT (integer)
ST_SET (integer)
CP_UID (integer)
the sequence numbers contain UIDS
CP_MOVE (integer)
Delete the messages from the current mailbox after copying with imap_mail_copy()
SE_UID (integer)
Return UIDs instead of sequence numbers
SE_FREE (integer)
SE_NOPREFETCH (integer)
Don't prefetch searched messages
SO_FREE (integer)
SO_NOSERVER (integer)
SA_MESSAGES (integer)
SA_RECENT (integer)
SA_UNSEEN (integer)
SA_UIDNEXT (integer)
SA_UIDVALIDITY (integer)
SA_ALL (integer)
LATT_NOINFERIORS (integer)
This mailbox has no "children" (there are no mailboxes below this one).
LATT_NOSELECT (integer)
This is only a container, not a mailbox - you cannot open it.
LATT_MARKED (integer)
This mailbox is marked. Only used by UW-IMAPD.
LATT_UNMARKED (integer)
This mailbox is not marked. Only used by UW-IMAPD.
SORTDATE (integer)
Sort criteria for imap_sort(): message Date
SORTARRIVAL (integer)
Sort criteria for imap_sort(): arrival date
SORTFROM (integer)
Sort criteria for imap_sort(): mailbox in first From address
SORTSUBJECT (integer)
Sort criteria for imap_sort(): message subject
SORTTO (integer)
Sort criteria for imap_sort(): mailbox in first To address
SORTCC (integer)
Sort criteria for imap_sort(): mailbox in first cc address
SORTSIZE (integer)
Sort criteria for imap_sort(): size of message in octets
TYPETEXT (integer)
TYPEMULTIPART (integer)
TYPEMESSAGE (integer)
TYPEAPPLICATION (integer)
TYPEAUDIO (integer)
TYPEIMAGE (integer)
TYPEVIDEO (integer)
TYPEOTHER (integer)
ENC7BIT (integer)
ENC8BIT (integer)
ENCBINARY (integer)
ENCBASE64 (integer)
ENCQUOTEDPRINTABLE (integer)
ENCOTHER (integer)
IMAP_OPENTIMEOUT (integer)
IMAP_READTIMEOUT (integer)
IMAP_WRITETIMEOUT (integer)
IMAP_CLOSETIMEOUT (integer)
LATT_REFERRAL (integer)
LATT_HASCHILDREN (integer)
LATT_HASNOCHILDREN (integer)
TYPEMODEL (integer)

참고

이 문서는 제공하는 함수에 관련한 모든 상세를 설명할 수 없습니다. 자세한 정보는 c-client 라이브러리 소스에 제공되는 문서(docs/internal.txt)에서 제공합니다. 그리고 다음 RFC 문서를 참고하십시오:

  • » RFC2821: Simple Mail Transfer Protocol (SMTP).
  • » RFC2822: Standard for ARPA internet text messages.
  • » RFC2060: Internet Message Access Protocol (IMAP) Version 4rev1.
  • » RFC1939: Post Office Protocol Version 3 (POP3).
  • » RFC977: Network News Transfer Protocol (NNTP).
  • » RFC2076: Common Internet Message Headers.
  • » RFC2045 , » RFC2046 , » RFC2047 , » RFC2048 & » RFC2049: Multipurpose Internet Mail Extensions (MIME).
더 자세한 사항은 David Wood가 저술한 » Programming Internet Email 과 Dianna Mullet와 Kevin Mullet가 공저한 » Managing IMAP 책에서 확인할 수 있습니다.

차례

imap_8bit -- 8비트 문자열을 quoted-printable 문자열로 변환한다
imap_alerts -- 이 함수는 현재 페이지 요구(page request)동안이나,또는 경고 스택(alert stack)이 리셋(reset)된 이후에 발생한 경고(alert)메시지 (물론 있다면) 모두를 돌려준다
imap_append -- 특정 메일박스에 문자열 메시지를 덧붙인다.
imap_base64 -- BASE64로 엔코딩된 텍스트를 디코딩한다
imap_binary -- 8비트 문자열을 base64문자열로 변환한다
imap_body -- 메시지의 본문을 읽어온다
imap_bodystruct -- Read the structure of a specified body section of a specific message
imap_check -- 현재 메일 박스를 체크한다
imap_clearflag_full -- 메시지에서 플래그(flags)를 클리어(clear)한다
imap_close -- IMAP 스트림을 닫는다
imap_createmailbox -- 새 메일 박스를 만든다
imap_delete -- 현재 메일 박스에서 삭제될 메시지를 표시한다
imap_deletemailbox -- 메일 박스를 지운다
imap_errors -- 이 함수는 현재 페이지 요구(page request)동안에, 또는 에러 스택(error stack)이 리셋(reset)된 이후에 발생한 IMAP 에러(물론 있다면)를 모두 돌려준다
imap_expunge -- 지움 표시된 모든 메시지를 완전히 삭제한다
imap_fetch_overview -- 주어진 메시지 헤더의 전체 정보를 읽어 온다
imap_fetchbody -- 메시지의 본문중에서 특정 부분을 페치한다
imap_fetchheader -- 메시지에서 헤더를 돌려준다
imap_fetchstructure -- 특별한 메시지의 구조체를 읽어온다
imap_get_quota -- Retrieve the quota level settings, and usage statics per mailbox
imap_get_quotaroot -- Retrieve the quota settings per user
imap_getacl -- Gets the ACL for a given mailbox
imap_getmailboxes -- 메일박스의 목록을 읽어오고, 각 메일박스에 대한 상세한 정보를 돌려준다.
imap_getsubscribed -- subscribed된 모든 메일 박스의 목록을 보여준다.
imap_header -- Read the header of the message
imap_headerinfo -- 메시지의 머릿글을 읽어온다
imap_headers -- 메일박스에서 모든 메시지의 헤더를 돌려준다
imap_last_error -- 이 함수는 현재 페이지 요구(page request) 동안에 발생한 IMAP 에러(물론 있다면)의 가장 나중것을 돌려준다
imap_list -- Read the list of mailboxes
imap_listmailbox -- 메일박스의 목록을 읽어온다
imap_listscan -- Returns the list of mailboxes that matches the given text
imap_listsubscribed -- subscribed된 모든 메일박스의 목록을 보여준다
imap_lsub -- List all the subscribed mailboxes
imap_mail_compose -- 주어진 envelope와 body 섹션으로 구성된 MIME메시지를 만든다
imap_mail_copy -- 메일박스에 특정 메시지를 복사한다
imap_mail_move -- 메일박스에 특정 메시지를 이동시킨다
imap_mail -- 이메일 메시지를 보낸다
imap_mailboxmsginfo -- 현재 메일박스에 관한 정보를 가져온다
imap_mime_header_decode -- MIME 헤더 구성요소(element)를 디코딩한다
imap_msgno -- 이 함수는 주어진 UID값에 대해 메시지 일련번호(sequence number)을 넘겨준다
imap_num_msg -- 현재 메일박스의 메시지 갯수를 돌려준다
imap_num_recent -- 현재 메일박스의 새로운 메시지 갯수를 돌려준다
imap_open -- 메일박스에 IMAP 스트림(stream)을 연다
imap_ping -- IMAP 스트림(stream)이 아직 사용가능한지 체크한다
imap_qprint -- quoted-printable 문자열을 8비트 문자열로 변환한다
imap_renamemailbox -- 메일박스의 이름을 바꾼다
imap_reopen -- 새로운 메일박스에 IMAP 스트림(stream)을 다시 연다
imap_rfc822_parse_adrlist -- 주소 문자열을 해석한다
imap_rfc822_parse_headers -- 문자열에서 메일 헤더를 해석한다
imap_rfc822_write_address -- 주어진 메일박스, 호스트, 개인 정보로 적절히 형식화된 이메일 주소를 돌려준다
imap_savebody -- Save a specific body section to a file
imap_scanmailbox -- 메일박스의 텍스트중에서 검색 문자열을 갖는 메일박스의 목록을 읽어 온다
imap_search -- 이 함수는 주어진 검색 기준(criteria)에 부합되는 메시지의 배열을 돌려준다
imap_set_quota -- Sets a quota for a given mailbox
imap_setacl -- Sets the ACL for a giving mailbox
imap_setflag_full -- 메시지에서 플래그(flags)를 셋(set)한다
imap_sort -- 메시지 헤더의 배열을 정렬한다
imap_status -- 이 함수는 현재 메일박스 이외의 다른 메일 박스의 상태 정보를 돌려준다
imap_subscribe -- 메일 박스에 Subscribe한다
imap_thread -- Returns a tree of threaded message
imap_timeout -- Set or fetch imap timeout
imap_uid -- 이 함수는 주어진 메시지의 일련번호(sequence number)에 대한 UID를 돌려준다
imap_undelete -- 지움 표시된 메시지의 지움 표시를 제거한다
imap_unsubscribe -- 메일박스를 Unsubscribe한다
imap_utf7_decode -- modified UTF-7 인코딩된 문자열을 디코딩한다.
imap_utf7_encode -- 8비트 데이터를 UTF-7 텍스트로 변환한다.
imap_utf8 -- 텍스트를 UTF8로 변환한다
이전 | 위로 | 다음
ImagickPixelIterator::syncIterator | 처음으로 | imap_8bit


imap_8bit

(PHP 4, PHP 5)

imap_8bit -- 8비트 문자열을 quoted-printable 문자열로 변환한다

Description

string imap_8bit ( string $string )

8비트 문자열을 quoted-printable 문자열로 변환한다. (» RFC2045, section 6.7에 따라)

quoted-printable 문자열을 돌려준다.

imap_qprint()함수도 보시오.

이전 | 위로 | 다음
LXVII. IMAP, POP3, NNTP 함수 | 처음으로 | imap_alerts


imap_alerts

(PHP 4, PHP 5)

imap_alerts -- 이 함수는 현재 페이지 요구(page request)동안이나,또는 경고 스택(alert stack)이 리셋(reset)된 이후에 발생한 경고(alert)메시지 (물론 있다면) 모두를 돌려준다

Description

array imap_alerts ( void )

이 함수는 가장 나중의 imap_alerts()함수의 호출 이후, 또는 페이지의 시작때부터 발생한 모든 IMAP 경고 메시지들의 배열을 돌려준다. imap_alerts()함수가 호출되면, 경고 스택(alert stack) 은 즉시 클리어(clear)된다. IMAP 사양에서는 이 메시지가 유저에게 넘겨질것을 요구하는 바이다.

이전 | 위로 | 다음
imap_8bit | 처음으로 | imap_append


imap_append

(PHP 4, PHP 5)

imap_append -- 특정 메일박스에 문자열 메시지를 덧붙인다.

Description

int imap_append ( int $imap_stream, string $mbox, string $message [, string $flags] )

성공하면 TRUE를 에러가 발생하면 FALSE를 리턴한다.

imap_append()함수는 특정 메일박스mbox에 문자열 메시지를 덧붙인다. 선택적 인수flags가 부여되면, flags도 그 메일박스에 쓴다.

Cyrus IMAP 서버에 접근할 때에는, end-of-line terminator로 "\n" 대신에 "\r\n"을 사용해야 한다. 그렇지 않으면 실패할 것이다.

예 941. imap_append() example

$stream = imap_open("{your.imap.host}INBOX.Drafts","username", "password");

$check = imap_check($stream);
print "Msg Count before append: ". $check->Nmsgs."\n";

imap_append($stream,"{your.imap.host}INBOX.Drafts"
                   ,"From: me@my.host\r\n"
                   ."To: you@your.host\r\n"
                   ."Subject: test\r\n"
                   ."\r\n"
                   ."this is a test message, please ignore\r\n"
                   );

$check = imap_check($stream);
print "Msg Count after append : ". $check->Nmsgs."\n";

imap_close($stream);

이전 | 위로 | 다음
imap_alerts | 처음으로 | imap_base64


imap_base64

(PHP 4, PHP 5)

imap_base64 -- BASE64로 엔코딩된 텍스트를 디코딩한다

Description

string imap_base64 ( string $text )

imap_base64()함수는 BASE-64로 엔코딩되어 있는 텍스트를 디코딩해준다 (» RFC2045의 Section 6.8을 보라). 디코딩된 메시지가 문자열로 리턴되어 진다.

See also imap_binary().

이전 | 위로 | 다음
imap_append | 처음으로 | imap_binary


imap_binary

(PHP 4, PHP 5)

imap_binary -- 8비트 문자열을 base64문자열로 변환한다

Description

string imap_binary ( string $string )

8비트 문자열을 base64문자열로 변환한다. (» RFC2045, Section 6.8에 따라)

base64 문자열을 돌려준다.

imap_base64()도 보시오.

이전 | 위로 | 다음
imap_base64 | 처음으로 | imap_body


imap_body

(PHP 4, PHP 5)

imap_body -- 메시지의 본문을 읽어온다

Description

string imap_body ( int $imap_stream, int $msg_number [, int $flags] )

imap_body() returns the body of the message, numbered msg_number in the current mailbox. The optional flags are a bit mask with one or more of the following: imap_body()함수는 메시지의 본문을 리턴한다. 즉, 현재메일박스의 msg_number번째의 메시지 의 본문을 읽어 오게 된다. 선택적 인수 flags는 다음 리스트의 비트마스크 가 된다:

  • FT_UID - The msgno is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

imap_body()함수는 메시지 본문을 완전히 복사해 올 것이다. multipart MIME-encoded 메시지의 한 부분을 뽑아내기 위해서는 본문의 구조를 분석하는 imap_fetchstructure()함수와 한개의 본문 구성요소의 복사물을 뽑아오는 imap_fetchbody()함수를 이용해야 한다.

이전 | 위로 | 다음
imap_binary | 처음으로 | imap_bodystruct


imap_bodystruct

(PHP 4, PHP 5)

imap_bodystruct -- Read the structure of a specified body section of a specific message

설명

object imap_bodystruct ( resource $imap_stream, int $msg_number, string $section )

Read the structure of a specified body section of a specific message.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

msg_number

The message number

section

The body section to read

반환값

Returns the information in an object, for a detailed description of the object structure and properties see imap_fetchstructure().

참고

imap_fetchstructure()

이전 | 위로 | 다음
imap_body | 처음으로 | imap_check


imap_check

(PHP 4, PHP 5)

imap_check -- 현재 메일 박스를 체크한다

Description

object imap_check ( int $imap_stream )

현재 메일 박스에 대한 정보를 리턴한다. 실패하면 FALSE를 리턴한다.

imap_check() 함수는 서버에서 현재 메일박스의 상태를 체크하고 다음 속성을 갖는 객체로 정보를 리턴한다:

  • Date - last change of mailbox contents
  • Driver - protocol used to access this mailbox: POP3, IMAP, NNTP
  • Mailbox - the mailbox name
  • Nmsgs - number of messages in the mailbox
  • Recent - number of recent messages in the mailbox

이전 | 위로 | 다음
imap_bodystruct | 처음으로 | imap_clearflag_full


imap_clearflag_full

(PHP 4, PHP 5)

imap_clearflag_full -- 메시지에서 플래그(flags)를 클리어(clear)한다

Description

string imap_clearflag_full ( int $stream, string $sequence, string $flag, string $options )

This function causes a store to delete the specified flag to the flags set for the messages in the specified sequence. 이 함수는 지정된 일련번호의 메시지에서 지정된 플래그(flag)에 플래그 셋(flags set)을 제거한다. 언셋(unset)할 수 있는 플래그(flags)는 "\\Seen", "\\Answered", "\\Flagged", "\\Deleted", "\\Draft", 과 "\\Recent"이다. (RFC2060 문서에 정의된대로)

옵션은 다음의 한개 이상의 비트마스크(bit mask) 값이다:

ST_UID The sequence argument contains UIDs instead of
sequence numbers

이전 | 위로 | 다음
imap_check | 처음으로 | imap_close


imap_close

(PHP 4, PHP 5)

imap_close -- IMAP 스트림을 닫는다

Description

int imap_close ( int $imap_stream [, int $flags] )

imap 스트림을 닫는다. 선택적 인수 flag를 CL_EXPUNGE로 세팅하면, 스트림을 닫기 전에 조용히(silently) 메일 박스를 지울 것이다. 삭제 마크된 메시지만 모두 삭제한다.

이전 | 위로 | 다음
imap_clearflag_full | 처음으로 | imap_createmailbox


imap_createmailbox

(PHP 4, PHP 5)

imap_createmailbox -- 새 메일 박스를 만든다

Description

int imap_createmailbox ( int $imap_stream, string $mbox )

imap_createmailbox()는 mbox인수에 주어진 이름으로 새 메일 박스를 만든다. 국제적인 문자들을 포함한 이름이면 imap_utf7_encode() 함수로 인코딩되어야 한다.

성공하면 TRUE를 실패하면 FALSE를 리턴한다.

See also imap_renamemailbox(),
imap_deletemailbox() and
imap_open() for the format
of mbox names.

예 942. imap_createmailbox() example

$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN)
     || die("can't connect: ".imap_last_error());

$name1 = "phpnewbox";
$name2 = imap_utf7_encode("phpnewb?x");

$newname = $name1;

echo "Newname will be '$name1'<br>\n";

# we will now create a new mailbox "phptestbox" in your inbox folder,
# check its status after creation and finaly remove it to restore
# your inbox to its initial state
if(@imap_createmailbox($mbox,imap_utf7_encode("{your.imap.host}INBOX.$newname"))) {
  $status = @imap_status($mbox,"{your.imap.host}INBOX.$newname",SA_ALL);
  if($status) {
    print("your new mailbox '$name1' has the following status:<br>\n");
    print("Messages:   ". $status->messages   )."<br>\n";
    print("Recent:     ". $status->recent     )."<br>\n";
    print("Unseen:     ". $status->unseen     )."<br>\n";
    print("UIDnext:    ". $status->uidnext    )."<br>\n";
    print("UIDvalidity:". $status->uidvalidity)."<br>\n";

    if(imap_renamemailbox($mbox,"{your.imap.host}INBOX.$newname","{your.imap.host}INBOX.$name2")) {
      echo "renamed new mailbox from '$name1' to '$name2'<br>\n";
      $newname=$name2;
    } else {
      print "imap_renamemailbox on new mailbox failed: ".imap_last_error()."<br>\n";
    }
  } else {
    print  "imap_status on new mailbox failed: ".imap_last_error()."<br>\n";
  }
  if(@imap_deletemailbox($mbox,"{your.imap.host}INBOX.$newname")) {
    print "new mailbox removed to restore initial state<br>\n";
  } else {
    print  "imap_deletemailbox on new mailbox failed: ".implode("<br>\n",imap_errors())."<br>\n";
  }

} else {
  print  "could not create new mailbox: ".implode("<br>\n",imap_errors())."<br>\n";
}

imap_close($mbox);

이전 | 위로 | 다음
imap_close | 처음으로 | imap_delete


imap_delete

(PHP 4, PHP 5)

imap_delete -- 현재 메일 박스에서 삭제될 메시지를 표시한다

Description

int imap_delete ( int $imap_stream, int $msg_number [, int $flags] )

TRUE를 리턴한다.

imap_delete()함수는 msg_number번의 메시지를 지움 표시 한다. 선택적 인수flags는 오직 하나의 옵션만 있다. 즉, msg_number를 UID로 취급할것인지 함수에게 알려주는 FT_UID의 옵션만 있다. 지움 표시된 메시지는 imap_expunge()함수나 CL_EXPUNGE 옵션을 갖는 imap_close() 함수가 불려지기 전까지는 삭제되지 않는다.

예 943. imap_delete() Beispiel

$mbox = imap_open ("{your.imap.host}INBOX", "username", "password")
    || die ("can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo ($mbox);
print "Messages before delete: " . $check->Nmsgs . "<br>\n" ;
imap_delete ($mbox, 1);
$check = imap_mailboxmsginfo ($mbox);
print "Messages after  delete: " . $check->Nmsgs . "<br>\n" ;
imap_expunge ($mbox);
$check = imap_mailboxmsginfo ($mbox);
print "Messages after expunge: " . $check->Nmsgs . "<br>\n" ;
imap_close ($mbox);

이전 | 위로 | 다음
imap_createmailbox | 처음으로 | imap_deletemailbox


imap_deletemailbox

(PHP 4, PHP 5)

imap_deletemailbox -- 메일 박스를 지운다

Description

int imap_deletemailbox ( int $imap_stream, string $mbox )

imap_deletemailbox()함수는 특정 메일 박스를 지운다 (mbox 이름의 형식을 알려면 imap_open()함수를 보시오).

성공하면 TRUE를 실패하면 FALSE를 리턴한다.

See also imap_createmailbox(),
imap_renamemailbox(), and
imap_open() for the format of
mbox.

이전 | 위로 | 다음
imap_delete | 처음으로 | imap_errors


imap_errors

(PHP 4, PHP 5)

imap_errors -- 이 함수는 현재 페이지 요구(page request)동안에, 또는 에러 스택(error stack)이 리셋(reset)된 이후에 발생한 IMAP 에러(물론 있다면)를 모두 돌려준다

Description

array imap_errors ( void )

이 함수는 가장 나중의 imap_errors()함수의 호출 이후, 또는 페이지의 시작때부터 발생한 모든 IMAP 에러 메시지들의 배열을 돌려준다. imap_errors()함수가 호출되면, 에러 스택(error stack) 은 즉시 클리어(clear)된다.

이전 | 위로 | 다음
imap_deletemailbox | 처음으로 | imap_expunge


imap_expunge

(PHP 4, PHP 5)

imap_expunge -- 지움 표시된 모든 메시지를 완전히 삭제한다

Description

int imap_expunge ( int $imap_stream )

imap_expunge()함수는 imap_delete(),
imap_mail_move() 또는
imap_setflag_full()함수에 의해 지움 표시된 모든
메시지를 완전히 삭제한다.

Returns TRUE.

이전 | 위로 | 다음
imap_errors | 처음으로 | imap_fetch_overview


imap_fetch_overview

(PHP 4, PHP 5)

imap_fetch_overview -- 주어진 메시지 헤더의 전체 정보를 읽어 온다

Description

array imap_fetch_overview ( int $imap_stream, string $sequence [, int $flags] )

이 함수는 주어진 sequence일련번호에 대한 헤더를 페치하고, 전체 정보를 돌려준다. sequence값은 flags가 FT_UID를 갖는다면 UID나 메시지 인덱스(indices)의 일련번호(sequence)가 된다. 돌려받는 값은 메시지 헤더의 각각을 서술하는 다음과 같은 속성을 갖는 객체의 배열이다:

  • subject - the messages subject
  • from - who sent it
  • date - when was it sent
  • message_id - Message-ID
  • references - is a reference to this message id
  • size - size in bytes
  • uid - UID the message has in the mailbox
  • msgno - message sequence number in the maibox
  • recent - this message is flagged as recent
  • flagged - this message is flagged
  • answered - this message is flagged as answered
  • deleted - this message is flagged for deletion
  • seen - this message is flagged as already read
  • draft - this message is flagged as being a draft

예 944. imap_fetch_overview() example

$mbox = imap_open("{your.imap.host:143}","username","password")
     || die("can't connect: ".imap_last_error());

$overview = imap_fetch_overview($mbox,"2,4:6",0);

if(is_array($overview)) {
        reset($overview);
        while( list($key,$val) = each($overview)) {
                print     $val->msgno
                . " - " . $val->date
                . " - " . $val->subject
                . "\n";
        }
}

imap_close($mbox);

이전 | 위로 | 다음
imap_expunge | 처음으로 | imap_fetchbody


imap_fetchbody

(PHP 4, PHP 5)

imap_fetchbody -- 메시지의 본문중에서 특정 부분을 페치한다

Description

string imap_fetchbody ( int $imap_stream, int $msg_number, string $part_number [, flags $flags] )

이 함수는 지정된 메시지의 본문중에서 특정 섹션을 텍스트 문자열로 페치하고, 그 텍스트 문자열을 가져온다. 섹션의 요구사양(specification)은 IMAP 4 요구사양(specification)대로 바디 부분(body part) 목록의 색인으로 구분되는 단락의 정수(integer)문자열이다. 본문 각 부분들은 이 함수에 의해 디코딩되지 않는다.

imap_fetchbody()함수에 대한 옵션은 다음 리스트의 하나 이상의 비트 마스크(bitmask)값이다:

  • FT_UID - The msg_number is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in "internal" format, without any attempt to canonicalize CRLF.

이전 | 위로 | 다음
imap_fetch_overview | 처음으로 | imap_fetchheader


imap_fetchheader

(PHP 4, PHP 5)

imap_fetchheader -- 메시지에서 헤더를 돌려준다

Description

string imap_fetchheader ( int $imap_stream, int $msgno, int $flags )

이 함수는 지정된 메시지에서 전체의(complete), 필터링되지않은(unfiltered) » RFC822형식의 헤더를 텍스트 문자열로 페치하고, 그 텍스트 문자열을 돌려준다.

옵션은 다음과 같다:

FT_UID The msgno argument is a UID
FT_INTERNAL The return string is in "internal" format,
without any attempt to canonicalize to CRLF
newlines
FT_PREFETCHTEXT The RFC822.TEXT should be pre-fetched at the
same time. This avoids an extra RTT on an
IMAP connection if a full message text is
desired (e.g. in a "save to local file"
operation)

이전 | 위로 | 다음
imap_fetchbody | 처음으로 | imap_fetchstructure


imap_fetchstructure

(PHP 4, PHP 5)

imap_fetchstructure -- 특별한 메시지의 구조체를 읽어온다

Description

object imap_fetchstructure ( int $imap_stream, int $msg_number [, int $flags] )

이 함수는 주어진 메시지의 구조화된 모든 정보를 페치한다. 선택적 인수flags는 오직 하나의 옵션만 있다. 즉, msg_number를 UID로 취급할것인지 함수에게 알려주는 FT_UID의 옵션만 있다. 리턴된 객체는 envelope, internal date, size, flags와 각 mime첨부파일과 비슷한 객체를 갖는 본문 구조체이다. 리턴되는 객체의 구조는 다음과 같다:

표 141. imap_fetchstructure()에 의해 리턴되는 객체

type | Primary body type
encoding | Body transfer encoding
ifsubtype | TRUE if there is a subtype string
subtype | MIME subtype
ifdescription | TRUE if there is a description string
description | Content description string
ifid | TRUE if there is an identification string
id | Identification string
lines | Number of lines
bytes | Number of bytes
ifdisposition | TRUE if there is a disposition string
disposition | Disposition string
ifdparameters | TRUE if the dparameters array exists
dparameters | Disposition parameter array
ifparameters | TRUE if the parameters array exists
parameters | MIME parameters array
parts | Array of objects describing each message part

참고: dparameters is an array of objects where each object has an "attribute" and a "value" property. Parameter is an array of objects where each object has an "attributte" and a "value" property. Parts is an array of objects identical in structure to the top-level object, with the limitation that it cannot contain further 'parts' objects.

표 142. Primary body type

0 | text
1 | multipart
2 | message
3 | application
4 | audio
5 | image
6 | video
7 | other

표 143. Transfer encodings

0 | 7BIT
1 | 8BIT
2 | BINARY
3 | BASE64
4 | QUOTED-PRINTABLE
5 | OTHER

이전 | 위로 | 다음
imap_fetchheader | 처음으로 | imap_get_quota


imap_get_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_get_quota -- Retrieve the quota level settings, and usage statics per mailbox

설명

array imap_get_quota ( resource $imap_stream, string $quota_root )

Retrieve the quota level settings, and usage statics per mailbox.

For a non-admin user version of this function, please see the imap_get_quotaroot() function of PHP.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

quota_root

quota_root should normally be in the form of user.name where name is the mailbox you wish to retrieve information about.

반환값

Returns an array with integer values limit and usage for the given mailbox. The value of limit represents the total amount of space allowed for this mailbox. The usage value represents the mailboxes current level of capacity. Will return FALSE in the case of failure.

As of PHP 4.3, the function more properly reflects the functionality as dictated by the » RFC2087. The array return value has changed to support an unlimited number of returned resources (i.e. messages, or sub-folders) with each named resource receiving an individual array key. Each key value then contains an another array with the usage and limit values within it.

For backwards compatibility reasons, the original access methods are still available for use, although it is suggested to update.

예제

예 945. imap_get_quota() example

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
    echo "Usage level is: " . $quota_value['usage'];
    echo "Limit level is: " . $quota_value['limit'];
}

imap_close($mbox);
?>

예 946. imap_get_quota() 4.3 or greater example

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit is: " .  $message['limit'];

   /* ...  */
}

imap_close($mbox);
?>

주의

This function is currently only available to users of the c-client2000 or greater library.

The given imap_stream must be opened as the mail administrator, other wise this function will fail.

참고

imap_open()
imap_set_quota()
imap_get_quotaroot()

이전 | 위로 | 다음
imap_fetchstructure | 처음으로 | imap_get_quotaroot


imap_get_quotaroot

(PHP 4 >= 4.3.0, PHP 5)

imap_get_quotaroot -- Retrieve the quota settings per user

설명

array imap_get_quotaroot ( resource $imap_stream, string $quota_root )

Retrieve the quota settings per user. The limit value represents the total amount of space allowed for this user's total mailbox usage. The usage value represents the user's current total mailbox capacity.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

quota_root

quota_root should normally be in the form of which mailbox (i.e. INBOX).

반환값

Returns an array of integer values pertaining to the specified user mailbox. All values contain a key based upon the resource name, and a corresponding array with the usage and limit values within.

This function will return FALSE in the case of call failure, and an array of information about the connection upon an un-parsable response from the server.

예제

예 947. imap_get_quotaroot() example

<?php
$mbox = imap_open("{imap.example.org}", "kalowsky", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$quota = imap_get_quotaroot($mbox, "INBOX");
if (is_array($quota)) {
   $storage = $quota_values['STORAGE'];
   echo "STORAGE usage level is: " .  $storage['usage'];
   echo "STORAGE limit level is: " .  $storage['limit'];

   $message = $quota_values['MESSAGE'];
   echo "MESSAGE usage level is: " .  $message['usage'];
   echo "MESSAGE limit level is: " .  $message['limit'];

   /* ...  */

}

imap_close($mbox);
?>

주의

This function is currently only available to users of the c-client2000 or greater library.

The imap_stream should be opened as the user whose mailbox you wish to check.

참고

imap_open()
imap_set_quota()
imap_get_quota()

이전 | 위로 | 다음
imap_get_quota | 처음으로 | imap_getacl


imap_getacl

(PHP 5)

imap_getacl -- Gets the ACL for a given mailbox

설명

array imap_getacl ( resource $imap_stream, string $mailbox )
주의

This function is currently not documented; only the argument list is available.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

mailbox

The mailbox name, see imap_open() for more information

주의

This function is currently only available to users of the c-client2000 or greater library.

참고

imap_setacl()

이전 | 위로 | 다음
imap_get_quotaroot | 처음으로 | imap_getmailboxes


imap_getmailboxes

(PHP 4, PHP 5)

imap_getmailboxes -- 메일박스의 목록을 읽어오고, 각 메일박스에 대한 상세한 정보를 돌려준다.

Description

array imap_getmailboxes ( int $imap_stream, string $ref, string $pattern )

메일박스 정보를 포함하는 객체의 배열을 돌려준다. 각 객체는 다음 속성을 갖는다. 메일박스의 완전한 이름을 갖는 name속성; 메일 박스안에 포함된 분류체계(hierarchy)의 부분을 위한 분류체계 한정자(hirerarchy delimiter) delimiter속성; 그리고 attributes. Attributes 속성은 다음에 대해서 테스트될 수 있는 비트마스크(bitmask)값이다:

  • LATT_NOINFERIORS - This mailbox has no "children" (there are no mailboxes below this one).
  • LATT_NOSELECT - This is only a container, not a mailbox - you cannot open it.
  • LATT_MARKED - This mailbox is marked. Only used by UW-IMAPD.
  • LATT_UNMARKED - This mailbox is not marked. Only used by UW-IMAPD.

메일 박스 이름이 출력가능한 아스키(ASCII)코드 범위 밖의 국제적인 문자를 포함한다면 인코딩해야 할것이고, imap_utf7_decode()함수로 디코딩해야 할것이다.

ref인수는 imap_open()함수 에서와 같이 서버의 사양이면 된다.그리고 pattern 인수는 검색을 시작할 메일 박스의 위치이다. 모든 메일 박스에 적용시키려면 pattern인수에 '*'라고 하면 된다.

pattern인수로 쓸 수 있는 두개의 특별한 문자들이 있다 : '*' 과 '%'문자이다. '*'은 모든 메일박스를 돌려줌을 의미한다. pattern인수에 '*'를 쓰면 모든 메일 박스 체계(hierarchy) 의 목록을 얻을 수 있다. '%'는 현재 레벨만을 돌려준다는 걸 의미한다. pattern인수에 '%'를 쓰면 최상위 레벨의 메일박스 만을 돌려줄 것이다; UW_IMAPD에 관해 '~/mail/%'을 쓰면 ~/mail 디렉토리의 모든 메일 박스를 돌려주지만, 하위디렉토리는 포함되지 않는다.

예 948. imap_getmailboxes() example

$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN)
      || die("can't connect: ".imap_last_error());

$list = imap_getmailboxes($mbox,"{your.imap.host}","*");
if(is_array($list)) {
  reset($list);
  while (list($key, $val) = each($list))
  {
    print "($key) ";
    print imap_utf7_decode($val->name).",";
    print "'".$val->delimiter."',";
    print $val->attributes."<br>\n";
  }
} else
  print "imap_getmailboxes failed: ".imap_last_error()."\n";

imap_close($mbox);

See also imap_getsubscribed().

이전 | 위로 | 다음
imap_getacl | 처음으로 | imap_getsubscribed


imap_getsubscribed

(PHP 4, PHP 5)

imap_getsubscribed -- subscribed된 모든 메일 박스의 목록을 보여준다.

Description

array imap_getsubscribed ( int $imap_stream, string $ref, string $pattern )

imap_getmailboxes()함수와 동일하다. 단 유저가 subscribed한 메일박스만 돌려줄 뿐이다.

이전 | 위로 | 다음
imap_getmailboxes | 처음으로 | imap_header


imap_header

(PHP 4, PHP 5)

imap_header -- Read the header of the message

Description

object imap_header ( int $imap_stream, int $msg_number [, int $fromlength [, int $subjectlength [, string $defaulthost]]] )

This is an alias to imap_headerinfo() and is identical to this in any way.

이전 | 위로 | 다음
imap_getsubscribed | 처음으로 | imap_headerinfo


imap_headerinfo

(PHP 4, PHP 5)

imap_headerinfo -- 메시지의 머릿글을 읽어온다

Description

object imap_headerinfo ( int $imap_stream, int $msg_number [, int $fromlength [, int $subjectlength [, string $defaulthost]]] )

이 함수는 다양한 머릿글 구성요소의 객체를 가져온다.

remail, date, Date, subject, Subject, in_reply_to, message_id,
newsgroups, followup_to, references

message flags:
Recent - 'R' if recent and seen,
'N' if recent and not seen,
' ' if not recent
Unseen - 'U' if not seen AND not recent,
' ' if seen OR not seen and recent
Answered -'A' if answered,
' ' if unanswered
Deleted - 'D' if deleted,
' ' if not deleted
Draft - 'X' if draft,
' ' if not draft
Flagged - 'F' if flagged,
' ' if not flagged

NOTE that the Recent/Unseen behavior is a little odd. If you want to
know if a message is Unseen, you must check for

Unseen == 'U' || Recent == 'N'

toaddress (full to: line, up to 1024 characters)

to[] (returns an array of objects from the To line, containing):
personal
adl
mailbox
host

fromaddress (full from: line, up to 1024 characters)

from[] (returns an array of objects from the From line, containing):
personal
adl
mailbox
host

ccaddress (full cc: line, up to 1024 characters)
cc[] (returns an array of objects from the Cc line, containing):
personal
adl
mailbox
host

bccaddress (full bcc line, up to 1024 characters)
bcc[] (returns an array of objects from the Bcc line, containing):
personal
adl
mailbox
host

reply_toaddress (full reply_to: line, up to 1024 characters)
reply_to[] (returns an array of objects from the Reply_to line,
containing):
personal
adl
mailbox
host

senderaddress (full sender: line, up to 1024 characters)
sender[] (returns an array of objects from the sender line, containing):
personal
adl
mailbox
host

return_path (full return-path: line, up to 1024 characters)
return_path[] (returns an array of objects from the return_path line,
containing):
personal
adl
mailbox
host

udate (mail message date in unix time)

fetchfrom (from line formatted to fit fromlength
characters)

fetchsubject (subject line formatted to fit subjectlength characters)

이전 | 위로 | 다음
imap_header | 처음으로 | imap_headers


imap_headers

(PHP 4, PHP 5)

imap_headers -- 메일박스에서 모든 메시지의 헤더를 돌려준다

Description

array imap_headers ( int $imap_stream )

Returns an array of string formatted with header info. One element per mail message. 헤더 정보를 갖는 형식화된 문자열의 배열을 돌려준다. 각 메일 메시지당 하나의 배열요소를 갖는다.

이전 | 위로 | 다음
imap_headerinfo | 처음으로 | imap_last_error


imap_last_error

(PHP 4, PHP 5)

imap_last_error -- 이 함수는 현재 페이지 요구(page request) 동안에 발생한 IMAP 에러(물론 있다면)의 가장 나중것을 돌려준다

Description

string imap_last_error ( void )

이 함수는 현재 페이지에서 발생한 가장 나중의 IMAP 에러 메시지를 텍스트로 돌려준다; 에러 스택(error stack)은 건들지 않는다; 아무 에러도 없는데, imap_last_error()함수를 이어서 부르면 같은 에러를 돌려줄것이다.

이전 | 위로 | 다음
imap_headers | 처음으로 | imap_list


imap_list

(PHP 4, PHP 5)

imap_list -- Read the list of mailboxes

설명

array imap_list ( resource $imap_stream, string $ref, string $pattern )

Read the list of mailboxes.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

ref

ref should normally be just the server specification as described in imap_open().

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern: '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

반환값

Returns an array containing the names of the mailboxes.

예제

예 949. imap_list() example

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $val) {
        echo imap_utf7_decode($val) . "\n";
    }
} else {
    echo "imap_list failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

참고

imap_getmailboxes()
imap_lsub()

이전 | 위로 | 다음
imap_last_error | 처음으로 | imap_listmailbox


imap_listmailbox

(PHP 4, PHP 5)

imap_listmailbox -- 메일박스의 목록을 읽어온다

Description

array imap_listmailbox ( int $imap_stream, string $ref, string $pattern )

Returns an array containing the names of the mailboxes. See imap_getmailboxes() for a description of ref and pattern. 메일박스의 이름을 포함한 배열을 돌려준다. 더 자세한 것은 ref과 pattern의 imap_getmailboxes()를 보라

예 950. imap_listmailbox() example

$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN)
      || die("can't connect: ".imap_last_error());

$list = imap_listmailbox($mbox,"{your.imap.host}","*");
if(is_array($list)) {
  reset($list);
  while (list($key, $val) = each($list))
    print imap_utf7_decode($val)."<br>\n";
} else
  print "imap_listmailbox failed: ".imap_last_error()."\n";

imap_close($mbox);

이전 | 위로 | 다음
imap_list | 처음으로 | imap_listscan


imap_listscan

(No version information available, might be only in CVS)

imap_listscan -- Returns the list of mailboxes that matches the given text

설명

array imap_listscan ( resource $imap_stream, string $ref, string $pattern, string $content )

Returns an array containing the names of the mailboxes that have content in the text of the mailbox.

This function is similar to imap_listmailbox(), but it will additionally check for the presence of the string content inside the mailbox data.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

ref

ref should normally be just the server specification as described in imap_open()

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern: '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory

content

The searched string

반환값

Returns an array containing the names of the mailboxes that have content in the text of the mailbox.

참고

imap_listmailbox()
imap_search()

이전 | 위로 | 다음
imap_listmailbox | 처음으로 | imap_listsubscribed


imap_listsubscribed

(PHP 4, PHP 5)

imap_listsubscribed -- subscribed된 모든 메일박스의 목록을 보여준다

Description

array imap_listsubscribed ( int $imap_stream, string $ref, string $pattern )

subscribed된 모든 메일박스의 배열을 돌려준다. 이함수는 거의 imap_listmailbox()함수와 동일하다. 단지 로그인 한 유저가 subscribed한 메일박스만 돌려줄 뿐이다.

이전 | 위로 | 다음
imap_listscan | 처음으로 | imap_lsub


imap_lsub

(PHP 4, PHP 5)

imap_lsub -- List all the subscribed mailboxes

설명

array imap_lsub ( resource $imap_stream, string $ref, string $pattern )

Gets an array of all the mailboxes that you have subscribed.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

ref

ref should normally be just the server specification as described in imap_open()

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern: '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

반환값

Returns an array of all the subscribed mailboxes.

참고

imap_list()
imap_getmailboxes()

이전 | 위로 | 다음
imap_listsubscribed | 처음으로 | imap_mail_compose


imap_mail_compose

(PHP 4, PHP 5)

imap_mail_compose -- 주어진 envelope와 body 섹션으로 구성된 MIME메시지를 만든다

Description

string imap_mail_compose ( array $envelope, array $body )

예 951. imap_mail_compose() example

<?php

$envelope["from"]="musone@afterfive.com";
$envelope["to"]="musone@darkstar";
$envelope["cc"]="musone@edgeglobal.com";

$part1["type"]=TYPEMULTIPART;
$part1["subtype"]="mixed";

$filename="/tmp/imap.c.gz";
$fp=fopen($filename,"r");
$contents=fread($fp,filesize($filename));
fclose($fp);

$part2["type"]=TYPEAPPLICATION;
$part2["encoding"]=ENCBINARY;
$part2["subtype"]="octet-stream";
$part2["description"]=basename($filename);
$part2["contents.data"]=$contents;

$part3["type"]=TYPETEXT;
$part3["subtype"]="plain";
$part3["description"]="description3";
$part3["contents.data"]="contents.data3\n\n\n\t";

$body[1]=$part1;
$body[2]=$part2;
$body[3]=$part3;

echo nl2br(imap_mail_compose($envelope,$body));

?>

이전 | 위로 | 다음
imap_lsub | 처음으로 | imap_mail_copy


imap_mail_copy

(PHP 4, PHP 5)

imap_mail_copy -- 메일박스에 특정 메시지를 복사한다

Description

int imap_mail_copy ( int $imap_stream, string $msglist, string $mbox [, int $flags] )

성공하면 TRUE를 에러가 발생하면 FALSE를 돌려준다.

msglist인수에 의해 지정된 메일 메시지를 특정 메일 박스에 복사한다.msglist인수는 메시지 번호만이 아니라 범위도 된다 (» RFC2060문서에 기술 되어있다).

Flags인수는 다음 옵션들의 비트 마스트(bitmask)값이다.

  • CP_UID - the sequence numbers contain UIDS
  • CP_MOVE - Delete the messages from the current mailbox after copying

이전 | 위로 | 다음
imap_mail_compose | 처음으로 | imap_mail_move


imap_mail_move

(PHP 4, PHP 5)

imap_mail_move -- 메일박스에 특정 메시지를 이동시킨다

Description

int imap_mail_move ( int $imap_stream, string $msglist, string $mbox [, int $flags] )

msglist인수에 의해 지정된 메일 메시지를 특정 메일 박스에 이동시킨다.msglist인수는 메시지 번호만이 아니라 범위도 된다 (» RFC2060문서에 기술 되어있다).

Flags인수는 비트마스크(bitmask)값이고 오직 하나의 옵션만을 갖는다

  • CP_UID - the sequence numbers contain UIDS

성공하면 TRUE를 에러가 발생하면 FALSE를 리턴한다.

이전 | 위로 | 다음
imap_mail_copy | 처음으로 | imap_mail


imap_mail

(PHP 4, PHP 5)

imap_mail -- 이메일 메시지를 보낸다

Description

string imap_mail ( string $to, string $subject, string $message [, string $additional_headers [, string $cc [, string $bcc [, string $rpath]]]] )

이 함수는 현재 PHP 3에서만 유효하다.

이전 | 위로 | 다음
imap_mail_move | 처음으로 | imap_mailboxmsginfo


imap_mailboxmsginfo

(PHP 4, PHP 5)

imap_mailboxmsginfo -- 현재 메일박스에 관한 정보를 가져온다

Description

object imap_mailboxmsginfo ( int $imap_stream )

현재 메일박스에 관한 정보를 돌려준다. 실패하면 FALSE를 리턴한다.

imap_mailboxmsginfo()함수는 서버에서 현재 메일박스의 상태를 점검한다. 이 함수는 imap_status()함수와 유사하다. 단지 메일박스안의 모든 메시지 사이즈의 총량을 내는 것이 추가되었다. 이것은 곧 총량을 내기위해 실행할 추가적인 시간이 걸린다는 것을 의미한다. 다음 속성을 갖는 객체로 정보를 돌려준다.

표 144. Mailbox properties

Date | date of last change
Driver | driver
Mailbox | name of the mailbox
Nmsgs | number of messages
Recent | number of recent messages
Unread | number of unread messages
Deleted | number of deleted messages
Size | mailbox size

예 952. imap_mailboxmsginfo() example

<?php

$mbox = imap_open("{your.imap.host}INBOX","username", "password")
      || die("can't connect: ".imap_last_error());

$check = imap_mailboxmsginfo($mbox);

if($check) {
    print "Date: "    . $check->Date    ."<br>\n" ;
    print "Driver: "  . $check->Driver  ."<br>\n" ;
    print "Mailbox: " . $check->Mailbox ."<br>\n" ;
    print "Messages: ". $check->Nmsgs   ."<br>\n" ;
    print "Recent: "  . $check->Recent  ."<br>\n" ;
    print "Unread: "  . $check->Unread  ."<br>\n" ;
    print "Deleted: " . $check->Deleted ."<br>\n" ;
    print "Size: "    . $check->Size    ."<br>\n" ;
} else {
    print "imap_check() failed: ".imap_last_error(). "<br>\n";
}

imap_close($mbox);

?>

이전 | 위로 | 다음
imap_mail | 처음으로 | imap_mime_header_decode


imap_mime_header_decode

(PHP 4, PHP 5)

imap_mime_header_decode -- MIME 헤더 구성요소(element)를 디코딩한다

Description

array imap_mime_header_decode ( string $text )

imap_mime_header_decode()함수는 ASCII 텍스트가 아닌 MIME 메시지 헤더 확장(MIME message header extensions)을 디코드한다. (» RFC2047문서를 보라) 디코딩된 구성요소(elements)를 객체의 배열로 돌려준다. 이 객체는 두가지 속성을 갖는다, 즉 "charset" 과 "text" 이다. 구성요소가 인코딩되지 않았다면, 즉 평범한(plain) US-ASCII라면, 그 구성요소의 "charset" 속성은 "default"값을 갖는다.

예 953. imap_mime_header_decode() example

$text="=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>";

$elements=imap_mime_header_decode($text);
for($i=0;$i<count($elements);$i++) {
    echo "Charset: {$elements[$i]->charset}\n";
    echo "Text: {$elements[$i]->text}\n\n";
}

In the above example we would have two elements, whereas the first element had previously been encoded with ISO-8859-1, and the second element would be plain US-ASCII.

이전 | 위로 | 다음
imap_mailboxmsginfo | 처음으로 | imap_msgno


imap_msgno

(PHP 4, PHP 5)

imap_msgno -- 이 함수는 주어진 UID값에 대해 메시지 일련번호(sequence number)을 넘겨준다

Description

int imap_msgno ( int $imap_stream, int $uid )

이 함수는 주어진 UID값에 대해 메시지 일련번호(sequence number)을 넘겨준다 imap_uid()함수의 반대이다.

이전 | 위로 | 다음
imap_mime_header_decode | 처음으로 | imap_num_msg


imap_num_msg

(PHP 4, PHP 5)

imap_num_msg -- 현재 메일박스의 메시지 갯수를 돌려준다

Description

int imap_num_msg ( int $imap_stream )

현재 메일박스의 메시지 갯수를 돌려준다.

이전 | 위로 | 다음
imap_msgno | 처음으로 | imap_num_recent


imap_num_recent

(PHP 4, PHP 5)

imap_num_recent -- 현재 메일박스의 새로운 메시지 갯수를 돌려준다

Description

int imap_num_recent ( int $imap_stream )

현재 메일박스의 새로운 메시지 갯수를 돌려준다.

이전 | 위로 | 다음
imap_num_msg | 처음으로 | imap_open


imap_open

(PHP 4, PHP 5)

imap_open -- 메일박스에 IMAP 스트림(stream)을 연다

Description

int imap_open ( string $mailbox, string $username, string $password [, int $flags] )

성공하면 IMAP 스트림(stream)을 돌려주고 에러가 발생하면 FALSE를 넘겨준다. 이 함수는 POP3나 NNTP서버의 스트림(stream)을 열 때에도 사용된다. 하지만 어떤 함수나 특성은 IMAP 서버에 적용되지 않는다.

메일박스의 이름은 서버와 관련한 서버 부분과 메일박스 경로로 구성된다. 특별한 이름을 갖는 INBOX는 현재 유저의 개인 메일박스이다. 서버 부분은 '{'과 '}'로 둘려싸여지고, 서버의 이름이나 ip 주소, 프로토콜 사양('/'로 시작하는곳) 그리고 ':'로 시작하는 선택적인 포트로 구성된다. 서버 부분은 모든 메일박스의 필수 인수이다. 메일박스 이름이 출력가능한 아스키(ASCII)범위를 벗어난 국제적인 문자를 포함하면 imap_utf7_encode()함수로 인코딩되어야 한다.

옵션은 다음을 한개이상 포함하는 비트마스크(bit mask)값이다.

  • OP_READONLY - Open mailbox read-only
  • OP_ANONYMOUS - Dont use or update a .newsrc for news (NNTP only)
  • OP_HALFOPEN - For IMAP and NNTP names, open a connection but dont open a mailbox
  • CL_EXPUNGE - Expunge mailbox automatically upon mailbox close

로컬 머신의 143포트에서 서비스되고 있는 IMAP서버에 접속하려면, 다음과 같이 하시오:

$mbox = imap_open ("{localhost:143}INBOX", "user_id", "password");
로컬 머신의 110포트에서 서비스되고 있는 POP3서버에 접속하려면, 다음과 같이 하시오:
$mbox = imap_open ("{localhost/pop3:110}INBOX", "user_id", "password");
로컬 머신의 119포트에서 서비스되고 있는 NNTP서버에 접속하려면, 다음과 같이 하시오:
$nntp = imap_open ("{localhost/nntp:119}comp.test", "", "");
원격 서버에 접속하려면 "localhost"대신에 접속할 원격의서버의 서버이름 또는 아이피 주소를 쓰시오.

예 954. imap_open() example

$mbox = imap_open ("{your.imap.host:143}", "username", "password");

echo "<p><h1>Mailboxes</h1>\n";
$folders = imap_listmailbox ($mbox, "{your.imap.host:143}", "*");

if ($folders == false) {
    echo "Call failed<br>\n";
} else {
    while (list ($key, $val) = each ($folders)) {
        echo $val."<br>\n";
    }
}

echo "<p><h1>Headers in INBOX</h1>\n";
$headers = imap_headers ($mbox);

if ($headers == false) {
    echo "Call failed<br>\n";
} else {
    while (list ($key,$val) = each ($headers)) {
        echo $val."<br>\n";
    }
}

imap_close($mbox);

이전 | 위로 | 다음
imap_num_recent | 처음으로 | imap_ping


imap_ping

(PHP 4, PHP 5)

imap_ping -- IMAP 스트림(stream)이 아직 사용가능한지 체크한다

Description

int imap_ping ( int $imap_stream )

Returns TRUE if the stream is still alive, FALSE otherwise. 스트림(stream)이 아직 살아있다면 TRUE를 리턴하고, 그외에는 FALSE를 리턴한다

imap_ping()함수는 스트림(stream)이 아직 사용가능한지 보기 위해 스트림에 핑(ping)을 한다. 이 함수는 새로운 메일을 발견한다; 이 함수는 주기적인 "새로운 메일 점검"은 물론 타임아웃(timeout)을 갖는 서버에게 "접속 유지"를 위한 방법으로 선호된다. ( PHP 스크립트는 오랜 시간동안 실행되지 않기 때문에, 나는 이 함수가 거의 유용하지 않을 것이라고 생각한다. )

이전 | 위로 | 다음
imap_open | 처음으로 | imap_qprint


imap_qprint

(PHP 4, PHP 5)

imap_qprint -- quoted-printable 문자열을 8비트 문자열로 변환한다

Description

string imap_qprint ( string $string )

quoted-printable 문자열을 8비트 문자열로 변환한다 . (» RFC2045, section 6.7에 따라)

8비트(binary) 문자열을 돌려준다.

imap_8bit()함수도 보시오.

이전 | 위로 | 다음
imap_ping | 처음으로 | imap_renamemailbox


imap_renamemailbox

(PHP 4, PHP 5)

imap_renamemailbox -- 메일박스의 이름을 바꾼다

Description

int imap_renamemailbox ( int $imap_stream, string $old_mbox, string $new_mbox )

이 함수는 메일박스의 이름을 바꾼다(mbox이름의 형식은 imap_open()함수를 보면 알수 있다)

성공하면 TRUE를 리턴하고 에러가 발생하면 FALSE를 리턴한다.

mbox형식에 대해서는 또한
imap_createmailbox()함수,
imap_deletemailbox()함수, 그리고
imap_open()함수를 보시오.

이전 | 위로 | 다음
imap_qprint | 처음으로 | imap_reopen


imap_reopen

(PHP 4, PHP 5)

imap_reopen -- 새로운 메일박스에 IMAP 스트림(stream)을 다시 연다

Description

int imap_reopen ( int $imap_stream, string $mailbox [, string $flags] )

이 함수는 IMAP 또는 NNTP 서버에서 새로운 메일박스에 특정 스트림(stream)을 다시 연다.

옵션은 다음의 한개 이상의 비트마스트(bit mask)값이다:

  • OP_READONLY - Open mailbox read-only
  • OP_ANONYMOUS - Dont use or update a .newsrc for news (NNTP only)
  • OP_HALFOPEN - For IMAP and NNTP names, open a connection but dont open a mailbox.
  • CL_EXPUNGE - Expunge mailbox automatically upon mailbox close (see also imap_delete() and imap_expunge())

성공하면 TRUE를 리턴하고 에러가 발생하면 FALSE를 리턴한다.

이전 | 위로 | 다음
imap_renamemailbox | 처음으로 | imap_rfc822_parse_adrlist


imap_rfc822_parse_adrlist

(PHP 4, PHP 5)

imap_rfc822_parse_adrlist -- 주소 문자열을 해석한다

Description

array imap_rfc822_parse_adrlist ( string $address, string $default_host )

이 함수는 » RFC822문서에 정의된대로 각 주소에 대해 주소 문자열을 해석하고 객체의 문자열을 돌려준다. 객체의 속성은 다음과 같다:

  • mailbox - the mailbox name (username)
  • host - the host name
  • personal - the personal name
  • adl - at domain source route

예 955. imap_rfc822_parse_adrlist() example

$address_string = "Hartmut Holzgraefe <hartmut@cvs.php.net>, postmaster@somedomain.net, root";
$address_array  = imap_rfc822_parse_adrlist($address_string,"somedomain.net");
if(! is_array($address_array)) die("somethings wrong\n");

reset($address_array);
while(list($key,$val)=each($address_array)){
  print "mailbox : ".$val->mailbox."<br>\n";
  print "host    : ".$val->host."<br>\n";
  print "personal: ".$val->personal."<br>\n";
  print "adl     : ".$val->adl."<p>\n";
}

이전 | 위로 | 다음
imap_reopen | 처음으로 | imap_rfc822_parse_headers


imap_rfc822_parse_headers

(PHP 4, PHP 5)

imap_rfc822_parse_headers -- 문자열에서 메일 헤더를 해석한다

Description

object imap_rfc822_parse_headers ( string $headers [, string $defaulthost] )

이함수는 다양한 헤더 구성요소의 객체를 돌려준다. imap_header()함수와 비슷하지만, flags 인수를 갖지 않는 것이 다르다.

이전 | 위로 | 다음
imap_rfc822_parse_adrlist | 처음으로 | imap_rfc822_write_address


imap_rfc822_write_address

(PHP 4, PHP 5)

imap_rfc822_write_address -- 주어진 메일박스, 호스트, 개인 정보로 적절히 형식화된 이메일 주소를 돌려준다

Description

string imap_rfc822_write_address ( string $mailbox, string $host, string $personal )

» RFC822문서에 정의된대로 주어진 메일박스, 호스트, 개인 정보로 적절하게 형식화된 이메일 주소를 돌려준다.

예 956. imap_rfc822_write_address() example

print imap_rfc822_write_address("hartmut","cvs.php.net","Hartmut Holzgraefe")."\n";

이전 | 위로 | 다음
imap_rfc822_parse_headers | 처음으로 | imap_savebody


imap_scanmailbox

(PHP 4, PHP 5)

imap_scanmailbox -- 메일박스의 텍스트중에서 검색 문자열을 갖는 메일박스의 목록을 읽어 온다

Description

array imap_scanmailbox ( int $imap_stream, string $ref, string $pattern, string $content )

메일박스의 텍스트중에서 string의 문자열을 갖는 메일박스 이름을 포함하는 배열을 돌려준다. 이함수는 imap_listmailbox()함수와 유사하다, 단지 메일박스 데이터중에서 content문자열의 존재를 체크하는 것만 추가되었다.

이전 | 위로 | 다음
imap_savebody | 처음으로 | imap_search


imap_search

(PHP 4, PHP 5)

imap_search -- 이 함수는 주어진 검색 기준(criteria)에 부합되는 메시지의 배열을 돌려준다

Description

array imap_search ( int $imap_stream, string $criteria, int $flags )

이 함수는 주어진 imap 스트림(stream)안의 현재 열려있는 메일박스에서 검색을 수행한다. criteria인수는 문자열이다. 공백(spaces)에 의해 구별(delimited)되고,아래의 키워드(keywords)가 허용된다. 두 단어 이상의 변수(arguments) (예를 들면, FROM "joey smith" )는 따옴표(quoted) 처리해야 한다.

  • ALL - return all messages matching the rest of the criteria
  • ANSWERED - match messages with the \\ANSWERED flag set
  • BCC "string" - match messages with "string" in the Bcc: field
  • BEFORE "date" - match messages with Date: before "date"
  • BODY "string" - match messages with "string" in the body of the message
  • CC "string" - match messages with "string" in the Cc: field
  • DELETED - match deleted messages
  • FLAGGED - match messages with the \\FLAGGED (sometimes referred to as Important or Urgent) flag set
  • FROM "string" - match messages with "string" in the From: field
  • KEYWORD "string" - match messages with "string" as a keyword
  • NEW - match new messages
  • OLD - match old messages
  • ON "date" - match messages with Date: matching "date"
  • RECENT - match messages with the \\RECENT flag set
  • SEEN - match messages that have been read (the \\SEEN flag is set)
  • SINCE "date" - match messages with Date: after "date"
  • SUBJECT "string" - match messages with "string" in the Subject:
  • TEXT "string" - match messages with text "string"
  • TO "string" - match messages with "string" in the To:
  • UNANSWERED - match messages that have not been answered
  • UNDELETED - match messages that are not deleted
  • UNFLAGGED - match messages that are not flagged
  • UNKEYWORD "string" - match messages that do not have the keyword "string"
  • UNSEEN - match messages which have not been read yet

예를 들어 Mom으로 부터 받은 아직 읽지 않은 모든 메시지를 검색하려면, 다음과 같이 하면 된다: "UNANSWERED FROM mom". 검색은 대소문자 구별을 하지 않는 것처럼 보인다. 검색기준의 목록은 UW c-client source code에 달려있어서 불완전하거나 부정확할 수 있다. (RFC2060, section 6.4.4 도 보시라).

플래그(flags)에 대한 유효한 값은 SE_UID이다. 이것은 메시지 일련번호(sequence number)대신에 UID를 포함하는 배열을 돌려준다.

이전 | 위로 | 다음
imap_scanmailbox | 처음으로 | imap_set_quota


imap_set_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_set_quota -- Sets a quota for a given mailbox

설명

bool imap_set_quota ( resource $imap_stream, string $quota_root, int $quota_limit )

Sets an upper limit quota on a per mailbox basis.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

quota_root

The mailbox to have a quota set. This should follow the IMAP standard format for a mailbox: user.name.

quota_limit

The maximum size (in KB) for the quota_root

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 957. imap_set_quota() example

<?php
$mbox = imap_open("{imap.example.org:143}", "mailadmin", "password");

if (!imap_set_quota($mbox, "user.kalowsky", 3000)) {
    echo "Error in setting quota\n";
    return;
}

imap_close($mbox);
?>

주의

This function is currently only available to users of the c-client2000 or greater library.

The given imap_stream must be opened as the mail administrator, other wise this function will fail.

참고

imap_open()
imap_get_quota()

이전 | 위로 | 다음
imap_search | 처음으로 | imap_setacl


imap_setacl

(PHP 4 >= 4.0.7, PHP 5)

imap_setacl -- Sets the ACL for a giving mailbox

설명

bool imap_setacl ( resource $imap_stream, string $mailbox, string $id, string $rights )

주의

This function is currently not documented; only the argument list is available.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

mailbox

The mailbox name, see imap_open() for more information

id

rights

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

This function is currently only available to users of the c-client2000 or greater library.

참고

imap_getacl()

이전 | 위로 | 다음
imap_set_quota | 처음으로 | imap_setflag_full


imap_setflag_full

(PHP 4, PHP 5)

imap_setflag_full -- 메시지에서 플래그(flags)를 셋(set)한다

Description

string imap_setflag_full ( int $stream, string $sequence, string $flag, string $options )

이 함수는 지정된 일련번호의 메시지에서 지정된 플래그(flag)에 플래그 셋(flags set)을 추가한다.

셋(set)할 수 있는 플래그(flags)는 "\\Seen", "\\Answered", "\\Flagged", "\\Deleted", "\\Draft", 과 "\\Recent"이다. (RFC2060 문서에 정의된대로)

옵션은 다음에서 한개 이상의 비트마스트(bit mask)값이다:

ST_UID The sequence argument contains UIDs instead of
sequence numbers

예 958. imap_setflag_full() example

$mbox = imap_open("{your.imap.host:143}","username","password")
     || die("can't connect: ".imap_last_error());

$status = imap_setflag_full($mbox,"2,5","\\Seen \\Flagged");

print gettype($status)."\n";
print $status."\n";

imap_close($mbox);

이전 | 위로 | 다음
imap_setacl | 처음으로 | imap_sort


imap_sort

(PHP 4, PHP 5)

imap_sort -- 메시지 헤더의 배열을 정렬한다

Description

array imap_sort ( int $stream, int $criteria, int $reverse, int $options )

주어진 인수로 정렬된 메시지 번호의 배열을 돌려준다.

Reverse인수는 역정렬(reverse-sorting)하기 위해서는 1의 값을 갖는다.

기준(Criteria)은 다음중 하나(오직 하나)가 될 수 있다:

SORTDATE message Date
SORTARRIVAL arrival date
SORTFROM mailbox in first From address
SORTSUBJECT message Subject
SORTTO mailbox in first To address
SORTCC mailbox in first cc address
SORTSIZE size of message in octets

플래그(flags)는 다음중 하나이상의 비트마스크(bitmask)값이다:

SE_UID Return UIDs instead of sequence numbers
SE_NOPREFETCH Don't prefetch searched messages.

이전 | 위로 | 다음
imap_setflag_full | 처음으로 | imap_status


imap_status

(PHP 4, PHP 5)

imap_status -- 이 함수는 현재 메일박스 이외의 다른 메일 박스의 상태 정보를 돌려준다

Description

object imap_status ( int $imap_stream, string $mailbox, int $options )

이 함수는 상태 정보를 포함하는 객체를 돌려준다. 유효한 플래그(flags)는 다음과 같다:

  • SA_MESSAGES - set status->messages to the number of messages in the mailbox
  • SA_RECENT - set status->recent to the number of recent messages in the mailbox
  • SA_UNSEEN - set status->unseen to the number of unseen (new) messages in the mailbox
  • SA_UIDNEXT - set status->uidnext to the next uid to be used in the mailbox
  • SA_UIDVALIDITY - set status->uidvalidity to a constant that changes when uids for the mailbox may no longer be valid
  • SA_ALL - set all of the above

status->flags is also set, which contains a bitmask which can be checked against any of the above constants.

예 959. imap_status() example

$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN)
      || die("can't connect: ".imap_last_error());

$status = imap_status($mbox,"{your.imap.host}INBOX",SA_ALL);
if($status) {
  print("Messages:   ". $status->messages   )."<br>\n";
  print("Recent:     ". $status->recent     )."<br>\n";
  print("Unseen:     ". $status->unseen     )."<br>\n";
  print("UIDnext:    ". $status->uidnext    )."<br>\n";
  print("UIDvalidity:". $status->uidvalidity)."<br>\n";
} else
  print "imap_status failed: ".imap_lasterror()."\n";

imap_close($mbox);

이전 | 위로 | 다음
imap_sort | 처음으로 | imap_subscribe


imap_subscribe

(PHP 4, PHP 5)

imap_subscribe -- 메일 박스에 Subscribe한다

Description

int imap_subscribe ( int $imap_stream, string $mbox )

새로운 메일박스를 Subscribe한다.

성공하면 TRUE를 리턴하고 에러가 발생하면 FALSE를 리턴한다.

이전 | 위로 | 다음
imap_status | 처음으로 | imap_thread


imap_thread

(PHP 4 >= 4.0.7, PHP 5)

imap_thread -- Returns a tree of threaded message

설명

array imap_thread ( resource $imap_stream [, int $options] )

Gets a tree of a threaded message.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

options

반환값

imap_thread() returns an associative array containing a tree of messages threaded by REFERENCES, or FALSE on error.

Every message in the current mailbox will be represented by three entries in the resulting array:

  • $thread["XX.num"] - current message number

  • $thread["XX.next"]

  • $thread["XX.branch"]

예제

예 960. imap_thread() Example

<?php

// Here we're outputting the threads of a newsgroup, in HTML

$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);

foreach ($threads as $key => $val) {
  $tree = explode('.', $key);
  if ($tree[1] == 'num') {
    $header = imap_headerinfo($nntp, $val);
    echo "<ul>\n\t<li>" . $header->fromaddress . "\n";
  } elseif ($tree[1] == 'branch') {
    echo "\t</li>\n</ul>\n";
  }
}

imap_close($nntp);

?>

이전 | 위로 | 다음
imap_subscribe | 처음으로 | imap_timeout


imap_timeout

(PHP 4 >= 4.3.3, PHP 5)

imap_timeout -- Set or fetch imap timeout

설명

mixed imap_timeout ( int $timeout_type [, int $timeout] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
imap_thread | 처음으로 | imap_uid


imap_uid

(PHP 4, PHP 5)

imap_uid -- 이 함수는 주어진 메시지의 일련번호(sequence number)에 대한 UID를 돌려준다

Description

int imap_uid ( int $imap_stream, int $msgno )

이 함수는 주어진 메시지 일련번호(sequence number)에 대한 UID를 돌려준다. UID는 메일박스의 내용이 변화될 때마다 바뀌는 메시지 일련번호에 반하여 시간에 따라 바뀌지 않는 유일한 구별값(identifier)이다. 이 함수는 imap_msgno()함수의 반대이다.

이전 | 위로 | 다음
imap_timeout | 처음으로 | imap_undelete


imap_undelete

(PHP 4, PHP 5)

imap_undelete -- 지움 표시된 메시지의 지움 표시를 제거한다

Description

int imap_undelete ( int $imap_stream, int $msg_number )

이함수는 특정 메시지의 지움 플래그(deletion flag)를 제거한다. 여기서 특정 메시지는 imap_delete()함수나 imap_mail_move()함수에 의해서 지움 표시된 메시지이다.

성공하면 TRUE를 리턴하고 에러가 발생하면 FALSE를 리턴한다.

이전 | 위로 | 다음
imap_uid | 처음으로 | imap_unsubscribe


imap_unsubscribe

(PHP 4, PHP 5)

imap_unsubscribe -- 메일박스를 Unsubscribe한다

Description

int imap_unsubscribe ( int $imap_stream, string $mbox )

특정 메일박스에서 Unsubscribe한다.

성공하면 TRUE를 리턴하고 에러가 발생하면 FALSE를 리턴한다.

이전 | 위로 | 다음
imap_undelete | 처음으로 | imap_utf7_decode


imap_utf7_decode

(PHP 4, PHP 5)

imap_utf7_decode -- modified UTF-7 인코딩된 문자열을 디코딩한다.

Description

string imap_utf7_decode ( string $text )

modified UTF-7형식의 text를 8비트 데이터로 디코딩한다.

디코딩된 8비트 데이터를 돌려주거나, 입력 문자열이 유효한 modified UTF-7이 아니면 FALSE를 돌려준다. 이 함수는 출력가능한 아스키(ASCII)코드 범위를 벗어난 국제적인 문자를 갖는 메일박스 이름을 디코딩할 때 필요하다. modified UTF-7 인코딩은 » RFC 2060 , section 5.1.3 문서에 정의되어 있다( original UTF-7 은 » RFC1642문서에 정의되어 있었다).

이전 | 위로 | 다음
imap_unsubscribe | 처음으로 | imap_utf7_encode


imap_utf7_encode

(PHP 4, PHP 5)

imap_utf7_encode -- 8비트 데이터를 UTF-7 텍스트로 변환한다.

Description

string imap_utf7_encode ( string $data )

8비트 data를 modified UTF-7텍스트로 변경한다. 이 함수는 출력가능한 아스키(ASCII)코드 범위를 벗어난 국제적인 문자를 포함하는 메일박스 이름을 인코딩할 때 필요하다. modified UTF-7 인코딩은 » RFC 2060, section 5.1.3문서에 정의되어 있다. ( original UTF-7은 » RFC1642 문서에 정의되어 있다).

modified UTF-7 텍스트를 돌려준다.

이전 | 위로 | 다음
imap_utf7_decode | 처음으로 | imap_utf8


imap_utf8

(PHP 4, PHP 5)

imap_utf8 -- 텍스트를 UTF8로 변환한다

Description

string imap_utf8 ( string $text )

주어진 text값을 UTF8로 변환한다 (» RFC2044문서에 정의된대로).

이전 | 위로 | 다음
imap_utf7_encode | 처음으로 | LXVIII. Informix Functions


Informix Functions

이전 VI. 함수 레퍼런스 다음

LXVIII. Informix Functions

소개

The Informix driver for Informix (IDS) 7.x, SE 7.x, Universal Server (IUS) 9.x and IDS 2000 is implemented in "ifx.ec" and "php3_ifx.h" in the informix extension directory. IDS 7.x support is fairly complete, with full support for BYTE and TEXT columns. IUS 9.x support is partly finished: the new data types are there, but SLOB and CLOB support is still under construction.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.2.1.

요구 조건

Configuration notes: You need a version of ESQL/C to compile the PHP Informix driver. ESQL/C versions from 7.2x on should be OK. ESQL/C is now part of the Informix Client SDK.

Make sure that the "INFORMIXDIR" variable has been set, and that $INFORMIXDIR/bin is in your PATH before you run the "configure" script.

설치

To be able to use the functions defined in this module you must compile your PHP interpreter using the configure line --with-informix[=DIR], where DIR is the Informix base install directory, defaults to nothing.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

참고: Make sure that the Informix environment variables INFORMIXDIR and INFORMIXSERVER are available to the PHP ifx driver, and that the INFORMIX bin directory is in the PATH. Check this by running a script that contains a call to phpinfo() before you start testing. The phpinfo() output should list these environment variables. This is true for both CGI php and Apache mod_php. You may have to set these environment variables in your Apache startup script.

The Informix shared libraries should also be available to the loader (check LD_LIBRARY_PATH or ld.so.conf/ldconfig).

Some notes on the use of BLOBs (TEXT and BYTE columns) : BLOBs are normally addressed by BLOB identifiers. Select queries return a "blob id" for every BYTE and TEXT column. You can get at the contents with "string_var = ifx_get_blob($blob_id);" if you choose to get the BLOBs in memory (with: "ifx_blobinfile(0);"). If you prefer to receive the content of BLOB columns in a file, use "ifx_blobinfile(1);", and "ifx_get_blob($blob_id);" will get you the filename. Use normal file I/O to get at the blob contents.

For insert/update queries you must create these "blob id's" yourself with "ifx_create_blob();". You then plug the blob id's into an array, and replace the blob columns with a question mark (?) in the query string. For updates/inserts, you are responsible for setting the blob contents with ifx_update_blob().

The behaviour of BLOB columns can be altered by configuration variables that also can be set at runtime:

configuration variable: ifx.textasvarchar

configuration variable: ifx.byteasvarchar

runtime functions:

ifx_textasvarchar(0): use blob id's for select queries with TEXT columns

ifx_byteasvarchar(0): use blob id's for select queries with BYTE columns

ifx_textasvarchar(1): return TEXT columns as if they were VARCHAR columns, so that you don't need to use blob id's for select queries.

ifx_byteasvarchar(1): return BYTE columns as if they were VARCHAR columns, so that you don't need to use blob id's for select queries.

configuration variable: ifx.blobinfile

runtime function:

ifx_blobinfile_mode(0): return BYTE columns in memory, the blob id lets you get at the contents.

ifx_blobinfile_mode(1): return BYTE columns in a file, the blob id lets you get at the file name.

If you set ifx_text/byteasvarchar to 1, you can use TEXT and BYTE columns in select queries just like normal (but rather long) VARCHAR fields. Since all strings are "counted" in PHP, this remains "binary safe". It is up to you to handle this correctly. The returned data can contain anything, you are responsible for the contents.

If you set ifx_blobinfile to 1, use the file name returned by ifx_get_blob(..) to get at the blob contents. Note that in this case YOU ARE RESPONSIBLE FOR DELETING THE TEMPORARY FILES CREATED BY INFORMIX when fetching the row. Every new row fetched will create new temporary files for every BYTE column.

The location of the temporary files can be influenced by the environment variable "blobdir", default is "." (the current directory). Something like: putenv(blobdir=tmpblob"); will ease the cleaning up of temp files accidentally left behind (their names all start with "blb").

Automatically trimming "char" (SQLCHAR and SQLNCHAR) data: This can be set with the configuration variable

ifx.charasvarchar: if set to 1 trailing spaces will be automatically trimmed, to save you some "chopping".

NULL values: The configuration variable ifx.nullformat (and the runtime function ifx_nullformat()) when set to TRUE will return NULL columns as the string "NULL", when set to FALSE they return the empty string. This allows you to discriminate between NULL columns and empty columns.

표 145. Informix configuration options

Name | Default | Changeable | Changelog
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

ifx.allow_persistent boolean

Whether to allow persistent Informix connections.

ifx.max_persistent integer

The maximum number of persistent Informix connections per process.

ifx.max_links integer

The maximum number of Informix connections per process, including persistent connections.

ifx.default_host string

The default host to connect to when no host is specified in ifx_connect() or ifx_pconnect(). Doesn't apply in 안전 모드.

ifx.default_user string

The default user id to use when none is specified in ifx_connect() or ifx_pconnect(). Doesn't apply in 안전 모드.

ifx.default_password string

The default password to use when none is specified in ifx_connect() or ifx_pconnect(). Doesn't apply in 안전 모드.

ifx.blobinfile boolean

Set to TRUE if you want to return blob columns in a file, FALSE if you want them in memory. You can override the setting at runtime with ifx_blobinfile_mode().

ifx.textasvarchar boolean

Set to TRUE if you want to return TEXT columns as normal strings in select statements, FALSE if you want to use blob id parameters. You can override the setting at runtime with ifx_textasvarchar().

ifx.byteasvarchar boolean

Set to TRUE if you want to return BYTE columns as normal strings in select queries, FALSE if you want to use blob id parameters. You can override the setting at runtime with ifx_textasvarchar().

ifx.charasvarchar boolean

Set to TRUE if you want to trim trailing spaces from CHAR columns when fetching them.

ifx.nullformat boolean

Set to TRUE if you want to return NULL columns as the literal string "NULL", FALSE if you want them returned as the empty string "". You can override this setting at runtime with ifx_nullformat().

자원형

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

IFX_SCROLL (integer)
IFX_HOLD (integer)
IFX_LO_RDONLY (integer)
IFX_LO_WRONLY (integer)
IFX_LO_APPEND (integer)
IFX_LO_RDWR (integer)
IFX_LO_BUFFER (integer)
IFX_LO_NOBUFFER (integer)

차례

ifx_affected_rows -- Get number of rows affected by a query
ifx_blobinfile_mode -- Set the default blob mode for all select queries
ifx_byteasvarchar -- Set the default byte mode
ifx_close -- Close Informix connection
ifx_connect -- Open Informix server connection
ifx_copy_blob -- Duplicates the given blob object
ifx_create_blob -- Creates an blob object
ifx_create_char -- Creates an char object
ifx_do -- Execute a previously prepared SQL-statement
ifx_error -- Returns error code of last Informix call
ifx_errormsg -- Returns error message of last Informix call
ifx_fetch_row -- Get row as an associative array
ifx_fieldproperties -- List of SQL fieldproperties
ifx_fieldtypes -- List of Informix SQL fields
ifx_free_blob -- Deletes the blob object
ifx_free_char -- Deletes the char object
ifx_free_result -- Releases resources for the query
ifx_get_blob -- Return the content of a blob object
ifx_get_char -- Return the content of the char object
ifx_getsqlca -- Get the contents of sqlca.sqlerrd[0..5] after a query
ifx_htmltbl_result -- Formats all rows of a query into a HTML table
ifx_nullformat -- Sets the default return value on a fetch row
ifx_num_fields -- Returns the number of columns in the query
ifx_num_rows -- Count the rows already fetched from a query
ifx_pconnect -- Open persistent Informix connection
ifx_prepare -- Prepare an SQL-statement for execution
ifx_query -- Send Informix query
ifx_textasvarchar -- Set the default text mode
ifx_update_blob -- Updates the content of the blob object
ifx_update_char -- Updates the content of the char object
ifxus_close_slob -- Deletes the slob object
ifxus_create_slob -- Creates an slob object and opens it
ifxus_free_slob -- Deletes the slob object
ifxus_open_slob -- Opens an slob object
ifxus_read_slob -- Reads nbytes of the slob object
ifxus_seek_slob -- Sets the current file or seek position
ifxus_tell_slob -- Returns the current file or seek position
ifxus_write_slob -- Writes a string into the slob object
이전 | 위로 | 다음
imap_utf8 | 처음으로 | ifx_affected_rows


ifx_affected_rows

(No version information available, might be only in CVS)

ifx_affected_rows -- Get number of rows affected by a query

설명

int ifx_affected_rows ( resource $result_id )

Returns the number of rows affected by a query associated with result_id.

For inserts, updates and deletes the number is the real number (sqlerrd[2]) of affected rows. For selects it is an estimate (sqlerrd[0]). Don't rely on it. The database server can never return the actual number of rows that will be returned by a SELECT because it has not even begun fetching them at this stage (just after the "PREPARE" when the optimizer has determined the query plan).

Useful after ifx_prepare() to limit queries to reasonable result sets.

매개변수

result_id

A valid result id returned by ifx_query() or ifx_prepare().

반환값

Returns the number of rows as an integer.

예제

예 961. Informix affected rows

<?php
$rid = ifx_prepare("select * from emp
                     where name like " . $name, $connid);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Too many rows in result set (%d)\n<br />", $rowcount);
    die ("Please restrict your query<br />\n");
}
?>

참고

ifx_num_rows()

이전 | 위로 | 다음
LXVIII. Informix Functions | 처음으로 | ifx_blobinfile_mode


ifx_blobinfile_mode

(No version information available, might be only in CVS)

ifx_blobinfile_mode -- Set the default blob mode for all select queries

설명

bool ifx_blobinfile_mode ( int $mode )

Set the default blob mode for all select queries.

매개변수

mode

Mode "0" means save Byte-Blobs in memory, and mode "1" means save Byte-Blobs in a file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ifx_affected_rows | 처음으로 | ifx_byteasvarchar


ifx_byteasvarchar

(No version information available, might be only in CVS)

ifx_byteasvarchar -- Set the default byte mode

설명

bool ifx_byteasvarchar ( int $mode )

Sets the default byte mode for all select-queries.

매개변수

mode

Mode "0" will return a blob id, and mode "1" will return a varchar with text content.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ifx_textasvarchar()

이전 | 위로 | 다음
ifx_blobinfile_mode | 처음으로 | ifx_close


ifx_close

(No version information available, might be only in CVS)

ifx_close -- Close Informix connection

설명

bool ifx_close ( [resource $link_identifier] )

ifx_close() closes the link to an Informix database that's associated with the specified link identifier.

Note that this isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

ifx_close() will not close persistent links generated by ifx_pconnect().

매개변수

link_identifier

The link identifier. If not specified, the last opened link is assumed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 962. Closing a Informix connection

<?php
$conn_id = ifx_connect ("mydb@ol_srv", "itsme", "mypassword");
/* ... some queries and stuff ... */
ifx_close($conn_id);
?>

참고

ifx_connect()
ifx_pconnect()

이전 | 위로 | 다음
ifx_byteasvarchar | 처음으로 | ifx_connect


ifx_connect

(No version information available, might be only in CVS)

ifx_connect -- Open Informix server connection

설명

resource ifx_connect ( [string $database [, string $userid [, string $password]]] )

ifx_connect() establishes a connection to an Informix server.

In case a second call is made to ifx_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling ifx_close().

매개변수

All of the arguments are optional, and if they're missing, defaults are taken from values supplied in php.ini (ifx.default_host for the host (Informix libraries will use INFORMIXSERVER environment value if not defined), ifx.default_user for user, ifx.default_password for the password (none if not defined).

database

The database name, as a string.

userid

The username, as a string.

password

The password, as a string.

반환값

Returns a connection identifier on success, or FALSE on error.

예제

예 963. Connect to a Informix database

<?php
$conn_id = ifx_connect ("mydb@ol_srv1", "imyself", "mypassword");
?>

참고

ifx_pconnect()
ifx_close()

이전 | 위로 | 다음
ifx_close | 처음으로 | ifx_copy_blob


ifx_copy_blob

(No version information available, might be only in CVS)

ifx_copy_blob -- Duplicates the given blob object

설명

int ifx_copy_blob ( int $bid )

Duplicates the given blob object.

매개변수

bid

A BLOB identifier.

반환값

Returns the new blob object-id, or FALSE on errors.

참고

ifx_create_blob()
ifx_free_blob()

이전 | 위로 | 다음
ifx_connect | 처음으로 | ifx_create_blob


ifx_create_blob

(No version information available, might be only in CVS)

ifx_create_blob -- Creates an blob object

설명

int ifx_create_blob ( int $type, int $mode, string $param )

Creates a blob object.

매개변수

type

1 = TEXT, 0 = BYTE

mode

0 = blob-object holds the content in memory, 1 = blob-object holds the content in file.

param

if mode = 0: pointer to the content, if mode = 1: pointer to the filestring.

반환값

Returns the new BLOB object-id, or FALSE on errors.

참고

ifx_copy_blob()
ifx_free_blob()

이전 | 위로 | 다음
ifx_copy_blob | 처음으로 | ifx_create_char


ifx_create_char

(No version information available, might be only in CVS)

ifx_create_char -- Creates an char object

설명

int ifx_create_char ( string $param )

Creates an char object.

매개변수

param

The char content.

반환값

Returns the new char object id, or FALSE on errors.

참고

ifx_free_char()

이전 | 위로 | 다음
ifx_create_blob | 처음으로 | ifx_do


ifx_do

(No version information available, might be only in CVS)

ifx_do -- Execute a previously prepared SQL-statement

설명

bool ifx_do ( resource $result_id )

Executes a previously prepared query or opens a cursor for it.

Does NOT free result_id on error.

Also sets the real number of ifx_affected_rows() for non-select statements for retrieval by ifx_affected_rows().

매개변수

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

예 964. ifx_do() Example

<?php
$conn = fx_connect( "db", "user", "password" );
$result = ifx_prepare("SELECT customer_num, company FROM customer", $conn);
ifx_do($result);
?>

참고

ifx_prepare()

이전 | 위로 | 다음
ifx_create_char | 처음으로 | ifx_error


ifx_error

(No version information available, might be only in CVS)

ifx_error -- Returns error code of last Informix call

설명

string ifx_error ( [resource $link_identifier] )

Returns in a string one character describing the general results of a statement and both SQLSTATE and SQLCODE associated with the most recent SQL statement executed.

매개변수

link_identifier

The link identifier.

반환값

The Informix error codes (SQLSTATE & SQLCODE) formatted as x [SQLSTATE = aa bbb SQLCODE=cccc].

where x = space : no error

E : error

N : no more data

W : warning

? : undefined

If the "x" character is anything other than space, SQLSTATE and SQLCODE describe the error in more detail.

See the Informix manual for the description of SQLSTATE and SQLCODE

참고

ifx_errormsg()

이전 | 위로 | 다음
ifx_do | 처음으로 | ifx_errormsg


ifx_errormsg

(No version information available, might be only in CVS)

ifx_errormsg -- Returns error message of last Informix call

설명

string ifx_errormsg ( [int $errorcode] )

Returns the Informix error message associated with the most recent Informix error.

매개변수

errorcode

If specified, the function will return the message corresponding to the specified code.

반환값

Return the error message, as a string.

예제

예 965. ifx_errormsg() example

printf("%s\n&lt;br>", ifx_errormsg(-201));

참고

ifx_error()

이전 | 위로 | 다음
ifx_error | 처음으로 | ifx_fetch_row


ifx_fetch_row

(No version information available, might be only in CVS)

ifx_fetch_row -- Get row as an associative array

설명

array ifx_fetch_row ( resource $result_id [, mixed $position] )

Fetches one row of data from the result associated with the specified result identifier.

Subsequent calls to ifx_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

매개변수

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

position

An optional parameter for a "fetch" operation on "scroll" cursors: NEXT, PREVIOUS, CURRENT, FIRST, LAST or a number. If you specify a number, an "absolute" row fetch is executed. This parameter is optional, and only valid for SCROLL cursors.

반환값

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

Blob columns are returned as integer blob id values for use in ifx_get_blob() unless you have used ifx_textasvarchar(1) or ifx_byteasvarchar(1), in which case blobs are returned as string values.

예제

예 966. Informix fetch rows

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
    printf ("Too many rows in result set (%d)\n<br />", $rowcount);
    die ("Please restrict your query<br />\n");
}
if (! ifx_do ($rid)) {
   /* ... error ... */
}
$row = ifx_fetch_row ($rid, "NEXT");
while (is_array($row)) {
    for (reset($row); $fieldname=key($row); next($row)) {
        $fieldvalue = $row[$fieldname];
        printf ("%s = %s,", $fieldname, $fieldvalue);
    }
    printf("\n<br />");
    $row = ifx_fetch_row($rid, "NEXT");
}
ifx_free_result ($rid);
?>

이전 | 위로 | 다음
ifx_errormsg | 처음으로 | ifx_fieldproperties


ifx_fieldproperties

(No version information available, might be only in CVS)

ifx_fieldproperties -- List of SQL fieldproperties

설명

array ifx_fieldproperties ( resource $result_id )

Returns the Informix SQL fieldproperties of every field in the query as an associative array. Properties are encoded as: "SQLTYPE;length;precision;scale;ISNULLABLE" where SQLTYPE = the Informix type like "SQLVCHAR" etc. and ISNULLABLE = "Y" or "N".

매개변수

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

반환값

Returns an associative array with fieldnames as key and the SQL fieldproperties as data for a query with result_id. Returns FALSE on errors.

예제

예 967. Informix SQL fieldproperties

<?php
$properties = ifx_fieldproperties($resultid);
if (!isset($properties)) {
    /* ... error ... */
}
foreach ($properties as $fname => $val) {
    echo "$fname:\t property = $val\n";
}
?>

참고

ifx_fieldtypes()

이전 | 위로 | 다음
ifx_fetch_row | 처음으로 | ifx_fieldtypes


ifx_fieldtypes

(No version information available, might be only in CVS)

ifx_fieldtypes -- List of Informix SQL fields

설명

array ifx_fieldtypes ( resource $result_id )

Returns an associative array with fieldnames as key and the SQL fieldtypes as data for the query associated with result_id.

매개변수

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

반환값

Returns an associative array with fieldnames as key and the SQL fieldtypes as data for query with result_id. Returns FALSE on error.

예제

예 968. Fieldnames and SQL fieldtypes

<?php
$types = ifx_fieldtypes($resultid);
if (is_array($types)) {
    foreach ($types as $fname => $val) {
        echo "$fname:\t type = $val\n";
    }
}
?>

참고

ifx_fieldproperties()

이전 | 위로 | 다음
ifx_fieldproperties | 처음으로 | ifx_free_blob


ifx_free_blob

(No version information available, might be only in CVS)

ifx_free_blob -- Deletes the blob object

설명

bool ifx_free_blob ( int $bid )

Deletes the blobobject for the given blob object-id.

매개변수

bid

The BLOB object id.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ifx_create_blob()

이전 | 위로 | 다음
ifx_fieldtypes | 처음으로 | ifx_free_char


ifx_free_char

(No version information available, might be only in CVS)

ifx_free_char -- Deletes the char object

설명

bool ifx_free_char ( int $bid )

Deletes the charobject for the given char object-id.

매개변수

bid

The char object id.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ifx_create_char()

이전 | 위로 | 다음
ifx_free_blob | 처음으로 | ifx_free_result


ifx_free_result

(No version information available, might be only in CVS)

ifx_free_result -- Releases resources for the query

설명

bool ifx_free_result ( resource $result_id )

Releases resources for the query associated with result_id.

매개변수

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ifx_do()

이전 | 위로 | 다음
ifx_free_char | 처음으로 | ifx_get_blob


ifx_get_blob

(No version information available, might be only in CVS)

ifx_get_blob -- Return the content of a blob object

설명

string ifx_get_blob ( int $bid )

Returns the content of the blob object.

매개변수

bid

The BLOB object id.

반환값

The contents of the BLOB as a string, or FALSE on errors.

참고

ifx_get_char()

이전 | 위로 | 다음
ifx_free_result | 처음으로 | ifx_get_char


ifx_get_char

(No version information available, might be only in CVS)

ifx_get_char -- Return the content of the char object

설명

string ifx_get_char ( int $bid )

Returns the content of the char object.

매개변수

bid

The char object-id.

반환값

Returns the contents as a string, or FALSE on errors.

참고

ifx_get_blob()

이전 | 위로 | 다음
ifx_get_blob | 처음으로 | ifx_getsqlca


ifx_getsqlca

(No version information available, might be only in CVS)

ifx_getsqlca -- Get the contents of sqlca.sqlerrd[0..5] after a query

설명

array ifx_getsqlca ( resource $result_id )

Returns a pseudo-row with sqlca.sqlerrd[0] ... sqlca.sqlerrd[5] after the query associated with result_id.

For inserts, updates and deletes the values returned are those as set by the server after executing the query. This gives access to the number of affected rows and the serial insert value. For SELECTs the values are those saved after the PREPARE statement. This gives access to the *estimated* number of affected rows. The use of this function saves the overhead of executing a SELECT dbinfo('sqlca.sqlerrdx') query, as it retrieves the values that were saved by the ifx driver at the appropriate moment.

매개변수

result_id

result_id is a valid result id returned by ifx_query() or ifx_prepare() (select type queries only!).

반환값

Returns an associative array with the following entries: sqlerrd0, sqlerrd1, sqlerrd2, sqlerrd3, sqlerrd4 and sqlerrd5.

예제

예 969. Retrieve Informix sqlca.sqlerrd[x] values

<?php
/* assume the first column of 'sometable' is a serial */
$qid = ifx_query("insert into sometable
                  values (0, '2nd column', 'another column') ", $connid);
if (!$qid) {
    /* ... error ... */
}
$sqlca = ifx_getsqlca($qid);
$serial_value = $sqlca["sqlerrd1"];
echo "The serial value of the inserted row is : $serial_value<br />\n";
?>

이전 | 위로 | 다음
ifx_get_char | 처음으로 | ifx_htmltbl_result


ifx_htmltbl_result

(No version information available, might be only in CVS)

ifx_htmltbl_result -- Formats all rows of a query into a HTML table

설명

int ifx_htmltbl_result ( resource $result_id [, string $html_table_options] )

Formats and prints all rows of the result_id query into a HTML table.

매개변수

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

html_table_options

This optional argument is a string of <table> tag options.

반환값

Returns the number of fetched rows, or FALSE on errors.

예제

예 970. Informix results as HTML table

<?php
$rid = ifx_prepare ("select * from emp where name like " . $name,
                     $connid, IFX_SCROLL);
if (! $rid) {
    /* ... error ... */
}
$rowcount = ifx_affected_rows ($rid);
if ($rowcount > 1000) {
    printf ("Too many rows in result set (%d)\n<br />", $rowcount);
    die ("Please restrict your query<br />\n");
}
if (! ifx_do($rid)) {
    /* ... error ... */
}

ifx_htmltbl_result ($rid, "border=\"2\"");

ifx_free_result($rid);
?>

이전 | 위로 | 다음
ifx_getsqlca | 처음으로 | ifx_nullformat


ifx_nullformat

(No version information available, might be only in CVS)

ifx_nullformat -- Sets the default return value on a fetch row

설명

bool ifx_nullformat ( int $mode )

Sets the default return value of a NULL-value on a fetch row.

매개변수

mode

Mode "0" returns "", and mode "1" returns "NULL".

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ifx_htmltbl_result | 처음으로 | ifx_num_fields


ifx_num_fields

(No version information available, might be only in CVS)

ifx_num_fields -- Returns the number of columns in the query

설명

int ifx_num_fields ( resource $result_id )

After preparing or executing a query, this call gives you the number of columns in the query.

매개변수

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

반환값

Returns the number of columns in query for result_id, or FALSE on errors.

예제

예 971. ifx_num_fields() Example

<?php
$conn_id = ifx_connect("db", "user", "password");
$res_id = ifx_query("select * from systables", $conn_id);
echo ifx_num_fields($res_id);
?>

참고

ifx_num_rows()

이전 | 위로 | 다음
ifx_nullformat | 처음으로 | ifx_num_rows


ifx_num_rows

(No version information available, might be only in CVS)

ifx_num_rows -- Count the rows already fetched from a query

설명

int ifx_num_rows ( resource $result_id )

Gives the number of rows fetched so far for a query with result_id after a ifx_query() or ifx_do() query.

매개변수

result_id

result_id is a valid resultid returned by ifx_query() or ifx_prepare() (select type queries only!).

반환값

Returns the number of fetched rows or FALSE on errors.

참고

ifx_num_fields()

이전 | 위로 | 다음
ifx_num_fields | 처음으로 | ifx_pconnect


ifx_pconnect

(No version information available, might be only in CVS)

ifx_pconnect -- Open persistent Informix connection

설명

resource ifx_pconnect ( [string $database [, string $userid [, string $password]]] )

ifx_pconnect() acts very much like ifx_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ifx_close() will not close links established by ifx_pconnect()).

This type of links is therefore called 'persistent'.

매개변수

All of the arguments are optional, and if they're missing, defaults are taken from values supplied in php.ini (ifx.default_host for the host (Informix libraries will use INFORMIXSERVER environment value if not defined), ifx.default_user for user, ifx.default_password for the password (none if not defined).

database

The database name, as a string.

userid

The username, as a string.

password

The password, as a string.

반환값

Returns: valid Informix persistent link identifier on success, or FALSE on errors.

참고

ifx_connect()

이전 | 위로 | 다음
ifx_num_rows | 처음으로 | ifx_prepare


ifx_prepare

(No version information available, might be only in CVS)

ifx_prepare -- Prepare an SQL-statement for execution

설명

resource ifx_prepare ( string $query, resource $link_identifier [, int $cursor_def, mixed $blobidarray] )

Prepares a query for later use with ifx_do().

For "select-type" queries a cursor is declared and opened. Non-select queries are "execute immediate".

For either query type the number of (estimated or real) affected rows is saved for retrieval by ifx_affected_rows().

If the contents of the TEXT (or BYTE) column allow it, you can also use ifx_textasvarchar(1) and ifx_byteasvarchar(1). This allows you to treat TEXT (or BYTE) columns just as if they were ordinary (but long) VARCHAR columns for select queries, and you don't need to bother with blob id's.

With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the default situation), select queries will return BLOB columns as blob id's (integer value). You can get the value of the blob as a string or file with the blob functions (see below).

매개변수

query

The query string.

link_identifier

The link identifier.

cursor_def

This optional parameter allows you to make this a scroll and/or hold cursor. It's a bitmask and can be either IFX_SCROLL, IFX_HOLD, or both or'ed together.

blobidarray

If you have BLOB (BYTE or TEXT) columns in the query, you can add a blobidarray parameter containing the corresponding "blob ids", and you should replace those columns with a "?" in the query text.

반환값

Returns a valid result identifier for use by ifx_do(), or FALSE on errors.

참고

ifx_do()

이전 | 위로 | 다음
ifx_pconnect | 처음으로 | ifx_query


ifx_query

(No version information available, might be only in CVS)

ifx_query -- Send Informix query

설명

resource ifx_query ( string $query, resource $link_identifier [, int $cursor_type [, mixed $blobidarray]] )

Sends a query to the currently active database on the server that's associated with the specified link identifier.

For "select-type" queries a cursor is declared and opened. Non-select queries are "execute immediate".

For either query type the number of (estimated or real) affected rows is saved for retrieval by ifx_affected_rows().

If the contents of the TEXT (or BYTE) column allow it, you can also use ifx_textasvarchar(1) and ifx_byteasvarchar(1). This allows you to treat TEXT (or BYTE) columns just as if they were ordinary (but long) VARCHAR columns for select queries, and you don't need to bother with blob id's.

With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the default situation), select queries will return BLOB columns as blob id's (integer value). You can get the value of the blob as a string or file with the blob functions (see below).

매개변수

query

The query string.

link_identifier

The link identifier.

cursor_def

This optional parameter allows you to make this a scroll and/or hold cursor. It's a bitmask and can be either IFX_SCROLL, IFX_HOLD, or both or'ed together. I you omit this parameter the cursor is a normal sequential cursor.

blobidarray

If you have BLOB (BYTE or TEXT) columns in the query, you can add a blobidarray parameter containing the corresponding "blob ids", and you should replace those columns with a "?" in the query text.

반환값

Returns valid Informix result identifier on success, or FALSE on errors.

예제

예 972. Show all rows of the "orders" table as a HTML table

<?php
ifx_textasvarchar(1);      // use "text mode" for blobs
$res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
    printf("Can't select orders : %s\n<br />%s<br />\n", ifx_error(), ifx_errormsg());
    die;
}
ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id);
?>

예 973. Insert some values into the "catalog" table

<?php

// create blob id's for a byte and text column
$textid = ifx_create_blob(0, 0, "Text column in memory");
$byteid = ifx_create_blob(1, 0, "Byte column in memory");

// store blob id's in a blobid array
$blobidarray[] = $textid;
$blobidarray[] = $byteid;

// launch query
$query = "insert into catalog (stock_num, manu_code, " .
         "cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
    /* ... error ... */
}

// free result id
ifx_free_result($res_id);
?>

참고

ifx_connect()

이전 | 위로 | 다음
ifx_prepare | 처음으로 | ifx_textasvarchar


ifx_textasvarchar

(No version information available, might be only in CVS)

ifx_textasvarchar -- Set the default text mode

설명

bool ifx_textasvarchar ( int $mode )

Sets the default text mode for all select-queries.

매개변수

mode

Mode "0" will return a blob id, and mode "1" will return a varchar with text content.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ifx_bytesasvarchar()

이전 | 위로 | 다음
ifx_query | 처음으로 | ifx_update_blob


ifx_update_blob

(No version information available, might be only in CVS)

ifx_update_blob -- Updates the content of the blob object

설명

bool ifx_update_blob ( int $bid, string $content )

Updates the content of the blob object for the given blob object bid.

매개변수

bid

A BLOB object identifier.

content

The new data, as a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ifx_update_char()

이전 | 위로 | 다음
ifx_textasvarchar | 처음으로 | ifx_update_char


ifx_update_char

(No version information available, might be only in CVS)

ifx_update_char -- Updates the content of the char object

설명

bool ifx_update_char ( int $bid, string $content )

Updates the content of the char object for the given char object bid.

매개변수

bid

A char object identifier.

content

The new data, as a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ifx_update_blob()

이전 | 위로 | 다음
ifx_update_blob | 처음으로 | ifxus_close_slob


ifxus_close_slob

(No version information available, might be only in CVS)

ifxus_close_slob -- Deletes the slob object

설명

bool ifxus_close_slob ( int $bid )

Deletes the slob object on the given slob object-id bid.

매개변수

bid

An existing slob id.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ifxus_open_slob()

이전 | 위로 | 다음
ifx_update_char | 처음으로 | ifxus_create_slob


ifxus_create_slob

(No version information available, might be only in CVS)

ifxus_create_slob -- Creates an slob object and opens it

설명

int ifxus_create_slob ( int $mode )

Creates an slob object and opens it.

매개변수

mode

A combination of IFX_LO_RDONLY, IFX_LO_WRONLY, IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.

반환값

Return the new slob object-id, or FALSE on errors.

참고

ifxus_close_slob()
ifxus_free_slob()

이전 | 위로 | 다음
ifxus_close_slob | 처음으로 | ifxus_free_slob


ifxus_free_slob

(No version information available, might be only in CVS)

ifxus_free_slob -- Deletes the slob object

설명

bool ifxus_free_slob ( int $bid )

Deletes the slob object.

매개변수

bid

An existing slob id.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ifxus_close_slob()

이전 | 위로 | 다음
ifxus_create_slob | 처음으로 | ifxus_open_slob


ifxus_open_slob

(No version information available, might be only in CVS)

ifxus_open_slob -- Opens an slob object

설명

int ifxus_open_slob ( int $bid, int $mode )

Opens an slob object. bid should be an existing slob id.

매개변수

bid

An existing slob id.

mode

A combination of IFX_LO_RDONLY, IFX_LO_WRONLY, IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.

반환값

Returns the new slob object-id, or FALSE on errors.

참고

ifxus_close_slob()
ifxus_free_slob()

이전 | 위로 | 다음
ifxus_free_slob | 처음으로 | ifxus_read_slob


ifxus_read_slob

(No version information available, might be only in CVS)

ifxus_read_slob -- Reads nbytes of the slob object

설명

string ifxus_read_slob ( int $bid, int $nbytes )

Reads nbytes of the slob object.

매개변수

bid

An existing slob id.

nbytes

The number of bytes to read.

반환값

Returns the slob contents as a string, or FALSE on errors.

참고

ifxus_write_slob()

이전 | 위로 | 다음
ifxus_open_slob | 처음으로 | ifxus_seek_slob


ifxus_seek_slob

(No version information available, might be only in CVS)

ifxus_seek_slob -- Sets the current file or seek position

설명

int ifxus_seek_slob ( int $bid, int $mode, int $offset )

Sets the current file or seek position of an open slob object.

매개변수

bid

An existing slob id.

mode

0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END.

offset

A byte offset.

반환값

Returns the seek position as an integer, or FALSE on errors.

참고

ifxus_tell_slob()

이전 | 위로 | 다음
ifxus_read_slob | 처음으로 | ifxus_tell_slob


ifxus_tell_slob

(No version information available, might be only in CVS)

ifxus_tell_slob -- Returns the current file or seek position

설명

int ifxus_tell_slob ( int $bid )

Returns the current file or seek position of an open slob object

매개변수

bid

An existing slob id.

반환값

Returns the seek position as an integer, or FALSE on errors.

참고

ifxus_seek_slob()

이전 | 위로 | 다음
ifxus_seek_slob | 처음으로 | ifxus_write_slob


ifxus_write_slob

(No version information available, might be only in CVS)

ifxus_write_slob -- Writes a string into the slob object

설명

int ifxus_write_slob ( int $bid, string $content )

Writes a string into the slob object.

매개변수

bid

An existing slob id.

content

The content to write, as a string.

반환값

Returns the bytes written as an integer, or FALSE on errors.

참고

ifxus_read_slob()

이전 | 위로 | 다음
ifxus_tell_slob | 처음으로 | LXIX. Informix Functions (PDO_INFORMIX)


Firebird/InterBase Functions

이전 VI. 함수 레퍼런스 다음

XLIII. Firebird/InterBase Functions

소개

Firebird/InterBase is a relational database offering many ANSI SQL-92 features that runs on Linux, Windows, and a variety of Unix platforms. Firebird/InterBase offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names since 1981.

InterBase is the name of the closed-source variant of this RDBMS that was developed by Borland/Inprise. More information about InterBase is available at » http://www.borland.com/interbase/.

Firebird is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) under the InterBase Public License v.1.0 on 25 July, 2000. More information about Firebird is available at » http://www.firebirdsql.org/.

참고: This extension supports InterBase versions 5 and up and all versions of Firebird. Support for InterBase version 5.x will be dropped in PHP 5.

This database uses a single quote (') character for escaping, a behavior similar to the Sybase database, add to your php.ini the following directive:

magic_quotes_sybase = On

요구 조건

설치

To enable InterBase support configure PHP --with-interbase[=DIR], where DIR is the InterBase base install directory, which defaults to /usr/interbase.

Note to Win32 Users: In order for this extension to work, there are DLL files that must be available to the Windows system PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the systems PATH), it is not recommended. This extension requires the following files to be in the PATH: gds32.dll

In case you installed the InterBase database server on the same machine PHP is running on, you will have this DLL already. Therefore you don't need to worry because gds32.dll will already be in the PATH.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 93. InterBase configuration options

Name | Default | Changeable | Changelog
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.default_db | NULL | PHP_INI_SYSTEM | Available since PHP 5.0.0.
ibase.default_user | NULL | PHP_INI_ALL |
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

ibase.allow_persistent boolean

Whether to allow persistent connections to Firebird/InterBase.

ibase.max_persistent integer

The maximum number of persistent Firebird/InterBase connections per process. New connections created with ibase_pconnect() will be non-persistent if this number would be exceeded.

ibase.max_links integer

The maximum number of Firebird/InterBase connections per process, including persistent connections.

ibase.default_db string

The default database to connect to when ibase_[p]connect() is called without specifying a database name. If this value is set and SQL safe mode is enabled, no other connections than to this database will be allowed.

ibase.default_user string

The user name to use when connecting to a database if no user name is specified.

ibase.default_password string

The password to use when connecting to a database if no password is specified.

ibase.default_charset string

The character set to use when connecting to a database if no character set is specified.

ibase.timestampformat string

ibase.dateformat string

ibase.timeformat string

These directives are used to set the date and time formats that are used when returning dates and times from a result set, or when binding arguments to date and time parameters.

자원형

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

The following constants can be passed to ibase_trans() to specify transaction behaviour.

표 94. Firebird/InterBase transaction flags

Constant | Description
IBASE_DEFAULT | The default transaction settings are to be used. This default is determined by the client library, which defines it as IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT in most cases.
IBASE_READ | Starts a read-only transaction.
IBASE_WRITE | Starts a read-write transaction.
IBASE_CONSISTENCY | Starts a transaction with the isolation level set to 'consistency', which means the transaction cannot read from tables that are being modified by other concurrent transactions.
IBASE_CONCURRENCY | Starts a transaction with the isolation level set to 'concurrency' (or 'snapshot'), which means the transaction has access to all tables, but cannot see changes that were committed by other transactions after the transaction was started.
IBASE_COMMITTED | Starts a transaction with the isolation level set to 'read committed'. This flag should be combined with either IBASE_REC_VERSION or IBASE_REC_NO_VERSION. This isolation level allows access to changes that were committed after the transaction was started. If IBASE_REC_NO_VERSION was specified, only the latest version of a row can be read. If IBASE_REC_VERSION was specified, a row can even be read when a modification to it is pending in a concurrent transaction.
IBASE_WAIT | Indicated that a transaction should wait and retry when a conflict occurs.
IBASE_NOWAIT | Indicated that a transaction should fail immediately when a conflict occurs.

The following constants can be passed to ibase_fetch_row(), ibase_fetch_assoc() or ibase_fetch_object() to specify fetch behaviour.

표 95. Firebird/InterBase fetch flags

Constant | Description
IBASE_FETCH_BLOBS | Also available as IBASE_TEXTfor backward compatibility. Causes BLOB contents to be fetched inline, instead of being fetched as BLOB identifiers.
IBASE_FETCH_ARRAYS | Causes arrays to be fetched inline. Otherwise, array identifiers are returned. Array identifiers can only be used as arguments to INSERT operations, as no functions to handle array identifiers are currently available.
IBASE_UNIXTIME | Causes date and time fields not to be returned as strings, but as UNIX timestamps (the number of seconds since the epoch, which is 1-Jan-1970 0:00 UTC). Might be problematic if used with dates before 1970 on some systems.

The following constants are used to pass requests and options to the service
API functions (ibase_server_info(), ibase_db_info(),
ibase_backup(), ibase_restore()
and ibase_maintain_db()). Please refer to
the Firebird/InterBase manuals for the meaning of these options.

IBASE_BKP_IGNORE_CHECKSUMS
IBASE_BKP_IGNORE_LIMBO
IBASE_BKP_METADATA_ONLY
IBASE_BKP_NO_GARBAGE_COLLECT
IBASE_BKP_OLD_DESCRIPTIONS
IBASE_BKP_NON_TRANSPORTABLE
IBASE_BKP_CONVERT
Options to ibase_backup()
IBASE_RES_DEACTIVATE_IDX
IBASE_RES_NO_SHADOW
IBASE_RES_NO_VALIDITY
IBASE_RES_ONE_AT_A_TIME
IBASE_RES_REPLACE
IBASE_RES_CREATE
IBASE_RES_USE_ALL_SPACE
Options to ibase_restore()
IBASE_PRP_PAGE_BUFFERS
IBASE_PRP_SWEEP_INTERVAL
IBASE_PRP_SHUTDOWN_DB
IBASE_PRP_DENY_NEW_TRANSACTIONS
IBASE_PRP_DENY_NEW_ATTACHMENTS
IBASE_PRP_RESERVE_SPACE
IBASE_PRP_RES_USE_FULL
IBASE_PRP_RES
IBASE_PRP_WRITE_MODE
IBASE_PRP_WM_ASYNC
IBASE_PRP_WM_SYNC
IBASE_PRP_ACCESS_MODE
IBASE_PRP_AM_READONLY
IBASE_PRP_AM_READWRITE
IBASE_PRP_SET_SQL_DIALECT
IBASE_PRP_ACTIVATE
IBASE_PRP_DB_ONLINE
IBASE_RPR_CHECK_DB
IBASE_RPR_IGNORE_CHECKSUM
IBASE_RPR_KILL_SHADOWS
IBASE_RPR_MEND_DB
IBASE_RPR_VALIDATE_DB
IBASE_RPR_FULL
IBASE_RPR_SWEEP_DB
Options to ibase_maintain_db()
IBASE_STS_DATA_PAGES
IBASE_STS_DB_LOG
IBASE_STS_HDR_PAGES
IBASE_STS_IDX_PAGES
IBASE_STS_SYS_RELATIONS
Options to ibase_db_info()
IBASE_SVC_SERVER_VERSION
IBASE_SVC_IMPLEMENTATION
IBASE_SVC_GET_ENV
IBASE_SVC_GET_ENV_LOCK
IBASE_SVC_GET_ENV_MSG
IBASE_SVC_USER_DBPATH
IBASE_SVC_SVR_DB_INFO
IBASE_SVC_GET_USERS
Options to ibase_server_info()

차례

ibase_add_user -- Add a user to a security database (only for IB6 or later)
ibase_affected_rows -- Return the number of rows that were affected by the previous query
ibase_backup -- Initiates a backup task in the service manager and returns immediately
ibase_blob_add -- Add data into a newly created blob
ibase_blob_cancel -- Cancel creating blob
ibase_blob_close -- Close blob
ibase_blob_create -- Create a new blob for adding data
ibase_blob_echo -- Output blob contents to browser
ibase_blob_get -- Get len bytes data from open blob
ibase_blob_import -- Create blob, copy file in it, and close it
ibase_blob_info -- Return blob length and other useful info
ibase_blob_open -- Open blob for retrieving data parts
ibase_close -- Close a connection to an InterBase database
ibase_commit_ret -- Commit a transaction without closing it
ibase_commit -- Commit a transaction
ibase_connect -- Open a connection to an InterBase database
ibase_db_info -- Request statistics about a database
ibase_delete_user -- Delete a user from a security database (only for IB6 or later)
ibase_drop_db -- Drops a database
ibase_errcode -- Return an error code
ibase_errmsg -- Return error messages
ibase_execute -- Execute a previously prepared query
ibase_fetch_assoc -- Fetch a result row from a query as an associative array
ibase_fetch_object -- Get an object from a InterBase database
ibase_fetch_row -- Fetch a row from an InterBase database
ibase_field_info -- Get information about a field
ibase_free_event_handler -- Cancels a registered event handler
ibase_free_query -- Free memory allocated by a prepared query
ibase_free_result -- Free a result set
ibase_gen_id -- Increments the named generator and returns its new value
ibase_maintain_db -- Execute a maintenance command on the database server
ibase_modify_user -- Modify a user to a security database (only for IB6 or later)
ibase_name_result -- Assigns a name to a result set
ibase_num_fields -- Get the number of fields in a result set
ibase_num_params -- Return the number of parameters in a prepared query
ibase_param_info -- Return information about a parameter in a prepared query
ibase_pconnect -- Open a persistent connection to an InterBase database
ibase_prepare -- Prepare a query for later binding of parameter placeholders and execution
ibase_query -- Execute a query on an InterBase database
ibase_restore -- Initiates a restore task in the service manager and returns immediately
ibase_rollback_ret -- Roll back a transaction without closing it
ibase_rollback -- Roll back a transaction
ibase_server_info -- Request information about a database server
ibase_service_attach -- Connect to the service manager
ibase_service_detach -- Disconnect from the service manager
ibase_set_event_handler -- Register a callback function to be called when events are posted
ibase_timefmt -- Sets the format of timestamp, date and time type columns returned from queries
ibase_trans -- Begin a transaction
ibase_wait_event -- Wait for an event to be posted by the database
이전 | 위로 | 다음
filter_var | 처음으로 | ibase_add_user


ibase_add_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_add_user -- Add a user to a security database (only for IB6 or later)

설명

bool ibase_add_user ( resource $service_handle, string $user_name, string $password [, string $first_name [, string $middle_name [, string $last_name]]] )

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ibase_modify_user()
ibase_delete_user()

이전 | 위로 | 다음
XLIII. Firebird/InterBase Functions | 처음으로 | ibase_affected_rows


ibase_affected_rows

(PHP 5)

ibase_affected_rows -- Return the number of rows that were affected by the previous query

설명

int ibase_affected_rows ( [resource $link_identifier] )

This function returns the number of rows that were affected by the previous query (INSERT, UPDATE or DELETE) that was executed from within the specified transaction context.

매개변수

link_identifier

A transaction context. If link_identifier is a connection resource, its default transaction is used.

반환값

Returns the number of rows as an integer.

참고

ibase_query()
ibase_execute()

이전 | 위로 | 다음
ibase_add_user | 처음으로 | ibase_backup


ibase_backup

(PHP 5)

ibase_backup -- Initiates a backup task in the service manager and returns immediately

설명

mixed ibase_backup ( resource $service_handle, string $source_db, string $dest_file [, int $options [, bool $verbose]] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ibase_affected_rows | 처음으로 | ibase_blob_add


ibase_blob_add

(PHP 4, PHP 5)

ibase_blob_add -- Add data into a newly created blob

설명

void ibase_blob_add ( resource $blob_handle, string $data )

ibase_blob_add() adds data into a blob created with ibase_blob_create().

매개변수

blob_handle

A blob handle opened with ibase_blob_create().

data

The data to be added.

반환값

값을 반환하지 않습니다.

참고

ibase_blob_cancel()
ibase_blob_close()
ibase_blob_create()
ibase_blob_import()

이전 | 위로 | 다음
ibase_backup | 처음으로 | ibase_blob_cancel


ibase_blob_cancel

(PHP 4, PHP 5)

ibase_blob_cancel -- Cancel creating blob

설명

bool ibase_blob_cancel ( resource $blob_handle )

This function will discard a BLOB if it has not yet been closed by ibase_blob_close().

매개변수

blob_handle

A BLOB handle opened with ibase_create_blob().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ibase_blob_close()
ibase_blob_create()
ibase_blob_import()

이전 | 위로 | 다음
ibase_blob_add | 처음으로 | ibase_blob_close


ibase_blob_close

(PHP 4, PHP 5)

ibase_blob_close -- Close blob

설명

mixed ibase_blob_close ( resource $blob_handle )

This function closes a BLOB that has either been opened for reading by ibase_open_blob() or has been opened for writing by ibase_create_blob().

매개변수

blob_handle

A BLOB handle opened with ibase_create_blob() or ibase_open_blob().

반환값

If the BLOB was being read, this function returns TRUE on success, if the BLOB was being written to, this function returns a string containing the BLOB id that has been assigned to it by the database. On failure, this function returns FALSE.

참고

ibase_blob_cancel()
ibase_blob_open()

이전 | 위로 | 다음
ibase_blob_cancel | 처음으로 | ibase_blob_create


ibase_blob_create

(PHP 4, PHP 5)

ibase_blob_create -- Create a new blob for adding data

설명

resource ibase_blob_create ( [resource $link_identifier] )

ibase_blob_create() creates a new BLOB for filling with data.

매개변수

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

반환값

Returns a BLOB handle for later use with ibase_blob_add() or FALSE on failure.

참고

ibase_blob_add()
ibase_blob_cancel()
ibase_blob_close()
ibase_blob_import()

이전 | 위로 | 다음
ibase_blob_close | 처음으로 | ibase_blob_echo


ibase_blob_echo

(PHP 4, PHP 5)

ibase_blob_echo -- Output blob contents to browser

설명

bool ibase_blob_echo ( [resource $link_identifier, string $blob_id] )

This function opens a BLOB for reading and sends its contents directly to standard output (the browser, in most cases).

매개변수

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ibase_blob_open()
ibase_blob_close()
ibase_blob_get()

이전 | 위로 | 다음
ibase_blob_create | 처음으로 | ibase_blob_get


ibase_blob_get

(PHP 4, PHP 5)

ibase_blob_get -- Get len bytes data from open blob

설명

string ibase_blob_get ( resource $blob_handle, int $len )

This function returns at most len bytes from a BLOB that has been opened for reading by ibase_blob_open().

참고: It is not possible to read from a BLOB that has been opened for writing by ibase_blob_create().

매개변수

blob_handle

A BLOB handle opened with ibase_blob_open().

len

Size of returned data.

반환값

Returns at most len bytes from the BLOB, or FALSE on failure.

예제

예 576. ibase_blob_get() example

<?php
$result    = ibase_query("SELECT blob_value FROM table");
$data      = ibase_fetch_object($result);
$blob_data = ibase_blob_info($data->BLOB_VALUE);
$blob_hndl = ibase_blob_open($data->BLOB_VALUE);
echo         ibase_blob_get($blob_hndl, $blob_data[0]);
?>

Whilst this example doesn't do much more than a 'ibase_blob_echo($data->BLOB_VALUE)' would do, it does show you how to get information into a $variable to manipulate as you please.

참고

ibase_blob_open()
ibase_blob_close()
ibase_blob_echo()

이전 | 위로 | 다음
ibase_blob_echo | 처음으로 | ibase_blob_import


ibase_blob_import

(PHP 4, PHP 5)

ibase_blob_import -- Create blob, copy file in it, and close it

설명

string ibase_blob_import ( resource $link_identifier, resource $file_handle )
string ibase_blob_import ( resource $file_handle )

This function creates a BLOB, reads an entire file into it, closes it and returns the assigned BLOB id.

매개변수

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

file_handle

The file handle is a handle returned by fopen().

반환값

Returns the BLOB id on success, or FALSE on error.

예제

예 577. ibase_blob_import() example

<?php
$dbh = ibase_connect($host, $username, $password);
$filename = '/tmp/bar';

$fd = fopen($filename, 'r');
if ($fd) {

    $blob = ibase_blob_import($dbh, $fd);
    fclose($fd);

    if (!is_string($blob)) {
        // import failed
    } else {
        $query = "INSERT INTO foo (name, data) VALUES ('$filename', ?)";
        $prepared = ibase_prepare($dbh, $query);
        if (!ibase_execute($prepared, $blob)) {
            // record insertion failed
        }
    }
} else {
    // unable to open the data file
}
?>

참고

ibase_blob_add()
ibase_blob_cancel()
ibase_blob_close()
ibase_blob_create()

이전 | 위로 | 다음
ibase_blob_get | 처음으로 | ibase_blob_info


ibase_blob_info

(PHP 4, PHP 5)

ibase_blob_info -- Return blob length and other useful info

설명

array ibase_blob_info ( resource $link_identifier, string $blob_id )
array ibase_blob_info ( string $blob_id )

Returns the BLOB length and other useful information.

매개변수

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

A BLOB id.

반환값

Returns an array containing information about a BLOB. The information returned consists of the length of the BLOB, the number of segments it contains, the size of the largest segment, and whether it is a stream BLOB or a segmented BLOB.

이전 | 위로 | 다음
ibase_blob_import | 처음으로 | ibase_blob_open


ibase_blob_open

(PHP 4, PHP 5)

ibase_blob_open -- Open blob for retrieving data parts

설명

resource ibase_blob_open ( resource $link_identifier, string $blob_id )
resource ibase_blob_open ( string $blob_id )

Opens an existing BLOB for reading.

매개변수

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

A BLOB id.

반환값

Returns a BLOB handle for later use with ibase_blob_get() or FALSE on failure.

참고

ibase_blob_close()
ibase_blob_echo()
ibase_blob_get()

이전 | 위로 | 다음
ibase_blob_info | 처음으로 | ibase_close


ibase_close

(PHP 4, PHP 5)

ibase_close -- Close a connection to an InterBase database

설명

bool ibase_close ( [resource $connection_id] )

Closes the link to an InterBase database that's associated with a connection id returned from ibase_connect(). Default transaction on link is committed, other transactions are rolled back.

매개변수

connection_id

An InterBase link identifier returned from ibase_connect(). If omitted, the last opened link is assumed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ibase_connect()
ibase_pconnect()

이전 | 위로 | 다음
ibase_blob_open | 처음으로 | ibase_commit_ret


ibase_commit_ret

(PHP 5)

ibase_commit_ret -- Commit a transaction without closing it

설명

bool ibase_commit_ret ( [resource $link_or_trans_identifier] )

Commits a transaction without closing it.

매개변수

link_or_trans_identifier

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed. The transaction context will be retained, so statements executed from within this transaction will not be invalidated.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ibase_close | 처음으로 | ibase_commit


ibase_commit

(PHP 4, PHP 5)

ibase_commit -- Commit a transaction

설명

bool ibase_commit ( [resource $link_or_trans_identifier] )

Commits a transaction.

매개변수

link_or_trans_identifier

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ibase_commit_ret | 처음으로 | ibase_connect


ibase_connect

(PHP 4, PHP 5)

ibase_connect -- Open a connection to an InterBase database

설명

resource ibase_connect ( [string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync]]]]]]]] )

Establishes a connection to an InterBase server.

In case a second call is made to ibase_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling ibase_close().

매개변수

database

The database argument has to be a valid path to database file on the server it resides on. If the server is not local, it must be prefixed with either 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) or 'hostname@' (IPX/SPX), depending on the connection protocol used.

username

The user name. Can be set with the ibase.default_user php.ini directive.

password

The password for username. Can be set with the ibase.default_password php.ini directive.

charset

charset is the default character set for a database.

buffers

buffers is the number of database buffers to allocate for the server-side cache. If 0 or omitted, server chooses its own default.

dialect

dialect selects the default SQL dialect for any statement executed within a connection, and it defaults to the highest one supported by client libraries. Functional only with InterBase 6 and up.

role

Functional only with InterBase 5 and up.

sync

반환값

Returns an InterBase link identifier on success, or FALSE on error.

오류/예외

If you get some error like "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (this occurs when you try use some character with accents) when using this and after ibase_query() you must set the character set (i.e. ISO8859_1 or your current character set).

변경 기록

버전 | 설명
4.0.0 | The buffers, dialect and role parameters were added

예제

예 578. ibase_connect() example

<?php
$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
    echo $row->email, "\n";
}
ibase_free_result($sth);
ibase_close($dbh);
?>

참고

ibase_pconnect()
ibase_close()

이전 | 위로 | 다음
ibase_commit | 처음으로 | ibase_db_info


ibase_db_info

(PHP 5)

ibase_db_info -- Request statistics about a database

설명

string ibase_db_info ( resource $service_handle, string $db, int $action [, int $argument] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ibase_connect | 처음으로 | ibase_delete_user


ibase_delete_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_delete_user -- Delete a user from a security database (only for IB6 or later)

설명

bool ibase_delete_user ( resource $service_handle, string $user_name )

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ibase_add_user()
ibase_modify_user()

이전 | 위로 | 다음
ibase_db_info | 처음으로 | ibase_drop_db


ibase_drop_db

(PHP 5)

ibase_drop_db -- Drops a database

설명

bool ibase_drop_db ( [resource $connection] )

This functions drops a database that was opened by either ibase_connect() or ibase_pconnect(). The database is closed and deleted from the server.

매개변수

connection

An InterBase link identifier. If omitted, the last opened link is assumed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ibase_connect()
ibase_pconnect()

이전 | 위로 | 다음
ibase_delete_user | 처음으로 | ibase_errcode


ibase_errcode

(PHP 5)

ibase_errcode -- Return an error code

설명

int ibase_errcode ( void )

Returns the error code that resulted from the most recent InterBase function call.

반환값

Returns the error code as an integer, or FALSE if no error occured.

참고

ibase_errmsg()

이전 | 위로 | 다음
ibase_drop_db | 처음으로 | ibase_errmsg


ibase_errmsg

(PHP 4, PHP 5)

ibase_errmsg -- Return error messages

설명

string ibase_errmsg ( void )

Returns the error message that resulted from the most recent InterBase function call.

반환값

Returns the error message as a string, or FALSE if no error occured.

참고

ibase_errcode()

이전 | 위로 | 다음
ibase_errcode | 처음으로 | ibase_execute


ibase_execute

(PHP 4, PHP 5)

ibase_execute -- Execute a previously prepared query

설명

resource ibase_execute ( resource $query [, mixed $bind_arg [, mixed $...]] )

Execute a query prepared by ibase_prepare().

This is a lot more effective than using ibase_query() if you are repeating a same kind of query several times with only some parameters changing.

매개변수

query

An InterBase query prepared by ibase_prepare().

bind_arg

...

반환값

If the query raises an error, returns FALSE. If it is successful and there is a (possibly empty) result set (such as with a SELECT query), returns a result identifier. If the query was successful and there were no results, returns TRUE.

참고: In PHP 5.0.0 and up, this function returns the number of rows affected by the query (if > 0 and applicable to the statement type). A query that succeeded, but did not affect any rows (e.g. an UPDATE of a non-existent record) will return TRUE.

예제

예 579. ibase_execute() example

<?php

$dbh = ibase_connect($host, $username, $password);

$updates = array(
    1 => 'Eric',
    5 => 'Filip',
    7 => 'Larry'
);

$query = ibase_prepare($dbh, "UPDATE FOO SET BAR = ? WHERE BAZ = ?");

foreach ($updates as $baz => $bar) {
    ibase_execute($query, $bar, $baz);
}

?>

참고

ibase_query()

이전 | 위로 | 다음
ibase_errmsg | 처음으로 | ibase_fetch_assoc


ibase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

ibase_fetch_assoc -- Fetch a result row from a query as an associative array

설명

array ibase_fetch_assoc ( resource $result [, int $fetch_flag] )

Fetch a result row from a query as an associative array.

ibase_fetch_assoc() fetches one row of data from the result. If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using ibase_fetch_row() or use alias names in your query.

매개변수

result

The result handle.

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

반환값

Returns an associative array that corresponds to the fetched row. Subsequent calls will return the next row in the result set, or FALSE if there are no more rows.

참고

ibase_fetch_row()
ibase_fetch_object()

이전 | 위로 | 다음
ibase_execute | 처음으로 | ibase_fetch_object


ibase_fetch_object

(PHP 4, PHP 5)

ibase_fetch_object -- Get an object from a InterBase database

설명

object ibase_fetch_object ( resource $result_id [, int $fetch_flag] )

Fetches a row as a pseudo-object from a given result identifier.

Subsequent calls to ibase_fetch_object() return the next row in the result set.

매개변수

result_id

An InterBase result identifier obtained either by ibase_query() or ibase_execute().

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

반환값

Returns an object with the next row information, or FALSE if there are no more rows.

예제

예 580. ibase_fetch_object() example

<?php
$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
    echo $row->email . "\n";
}
ibase_close($dbh);
?>

참고

ibase_fetch_row()
ibase_fetch_assoc()

이전 | 위로 | 다음
ibase_fetch_assoc | 처음으로 | ibase_fetch_row


ibase_fetch_row

(PHP 4, PHP 5)

ibase_fetch_row -- Fetch a row from an InterBase database

설명

array ibase_fetch_row ( resource $result_identifier [, int $fetch_flag] )

ibase_fetch_row() fetches one row of data from the given result set.

Subsequent calls to ibase_fetch_row() return the next row in the result set, or FALSE if there are no more rows.

매개변수

result_identifier

An InterBase result identifier.

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows. Each result column is stored in an array offset, starting at offset 0.

참고

ibase_fetch_assoc()
ibase_fetch_object()

이전 | 위로 | 다음
ibase_fetch_object | 처음으로 | ibase_field_info


ibase_field_info

(PHP 4, PHP 5)

ibase_field_info -- Get information about a field

설명

array ibase_field_info ( resource $result, int $field_number )

Returns an array with information about a field after a select query has been run.

매개변수

result

An InterBase result identifier.

field_number

Field offset.

반환값

Returns an array with the following keys: name, alias, relation, length and type.

예제

예 581. ibase_field_info() example

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "name: ". $col_info['name']. "\n";
    echo "alias: ". $col_info['alias']. "\n";
    echo "relation: ". $col_info['relation']. "\n";
    echo "length: ". $col_info['length']. "\n";
    echo "type: ". $col_info['type']. "\n";
}
?>

참고

ibase_num_fields()

이전 | 위로 | 다음
ibase_fetch_row | 처음으로 | ibase_free_event_handler


ibase_free_event_handler

(PHP 5)

ibase_free_event_handler -- Cancels a registered event handler

설명

bool ibase_free_event_handler ( resource $event )

This function causes the registered event handler specified by event to be cancelled. The callback function will no longer be called for the events it was registered to handle.

매개변수

event

An event resource, created by ibase_set_event_handler().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ibase_set_event_handler()

이전 | 위로 | 다음
ibase_field_info | 처음으로 | ibase_free_query


ibase_free_query

(PHP 4, PHP 5)

ibase_free_query -- Free memory allocated by a prepared query

설명

bool ibase_free_query ( resource $query )

Frees a prepared query.

매개변수

query

A query prepared with ibase_prepare().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ibase_free_event_handler | 처음으로 | ibase_free_result


ibase_free_result

(PHP 4, PHP 5)

ibase_free_result -- Free a result set

설명

bool ibase_free_result ( resource $result_identifier )

Frees a result set.

매개변수

result_identifier

A result set created by ibase_query() or ibase_execute().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ibase_free_query | 처음으로 | ibase_gen_id


ibase_gen_id

(PHP 5)

ibase_gen_id -- Increments the named generator and returns its new value

설명

mixed ibase_gen_id ( string $generator [, int $increment [, resource $link_identifier]] )
주의

This function is currently not documented; only the argument list is available.

반환값

Returns new generator value as integer, or as string if the value is too big.

이전 | 위로 | 다음
ibase_free_result | 처음으로 | ibase_maintain_db


ibase_maintain_db

(PHP 5)

ibase_maintain_db -- Execute a maintenance command on the database server

설명

bool ibase_maintain_db ( resource $service_handle, string $db, int $action [, int $argument] )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ibase_gen_id | 처음으로 | ibase_modify_user


ibase_modify_user

(PHP 4 >= 4.2.0, PHP 5)

ibase_modify_user -- Modify a user to a security database (only for IB6 or later)

설명

bool ibase_modify_user ( resource $service_handle, string $user_name, string $password [, string $first_name [, string $middle_name [, string $last_name]]] )
주의

This function is currently not documented; only the argument list is available.

PHP 4 uses server, dba_user_name and dba_user_password instead of service_handle parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ibase_add_user()
ibase_delete_user()

이전 | 위로 | 다음
ibase_maintain_db | 처음으로 | ibase_name_result


ibase_name_result

(PHP 5)

ibase_name_result -- Assigns a name to a result set

설명

bool ibase_name_result ( resource $result, string $name )

This function assigns a name to a result set. This name can be used later in UPDATE|DELETE ... WHERE CURRENT OF name statements.

매개변수

result

An InterBase result set.

name

The name to be assigned.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 582. ibase_name_result() example

<?php
$result = ibase_query("SELECT field1,field2 FROM table FOR UPDATE");
ibase_name_result($result, "my_cursor");

$updateqry = ibase_prepare("UPDATE table SET field2 = ? WHERE CURRENT OF my_cursor");

for ($i = 0; ibase_fetch_row($result); ++$i) {
    ibase_execute($updateqry, $i);
}
?>

참고

ibase_prepare()
ibase_execute()

이전 | 위로 | 다음
ibase_modify_user | 처음으로 | ibase_num_fields


ibase_num_fields

(PHP 4, PHP 5)

ibase_num_fields -- Get the number of fields in a result set

설명

int ibase_num_fields ( resource $result_id )

Get the number of fields in a result set.

매개변수

result_id

An InterBase result identifier.

반환값

Returns the number of fields as an integer.

예제

예 583. ibase_num_fields() example

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
    $col_info = ibase_field_info($rs, $i);
    echo "name: " . $col_info['name'] . "\n";
    echo "alias: " . $col_info['alias'] . "\n";
    echo "relation: " . $col_info['relation'] . "\n";
    echo "length: " . $col_info['length'] . "\n";
    echo "type: " . $col_info['type'] . "\n";
}
?>

참고

ibase_field_info()

이전 | 위로 | 다음
ibase_name_result | 처음으로 | ibase_num_params


ibase_num_params

(PHP 5)

ibase_num_params -- Return the number of parameters in a prepared query

설명

int ibase_num_params ( resource $query )

This function returns the number of parameters in the prepared query specified by query. This is the number of binding arguments that must be present when calling ibase_execute().

매개변수

query

The prepared query handle.

반환값

Returns the number of parameters as an integer.

참고

ibase_prepare()
ibase_param_info()

이전 | 위로 | 다음
ibase_num_fields | 처음으로 | ibase_param_info


ibase_param_info

(PHP 5)

ibase_param_info -- Return information about a parameter in a prepared query

설명

array ibase_param_info ( resource $query, int $param_number )

Returns an array with information about a parameter after a query has been prepared.

매개변수

query

An InterBase prepared query handle.

param_number

Parameter offset.

반환값

Returns an array with the following keys: name, alias, relation, length and type.

참고

ibase_field_info()
ibase_num_params()

이전 | 위로 | 다음
ibase_num_params | 처음으로 | ibase_pconnect


ibase_pconnect

(PHP 4, PHP 5)

ibase_pconnect -- Open a persistent connection to an InterBase database

설명

resource ibase_pconnect ( [string $database [, string $username [, string $password [, string $charset [, int $buffers [, int $dialect [, string $role [, int $sync]]]]]]]] )

Opens a persistent connection to an InterBase database.

ibase_pconnect() acts very much like ibase_connect() with two major differences.

First, when connecting, the function will first try to find a (persistent) link that's already opened with the same parameters. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the InterBase server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ibase_close() will not close links established by ibase_pconnect()). This type of link is therefore called 'persistent'.

매개변수

database

The database argument has to be a valid path to database file on the server it resides on. If the server is not local, it must be prefixed with either 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) or 'hostname@' (IPX/SPX), depending on the connection protocol used.

username

The user name. Can be set with the ibase.default_user php.ini directive.

password

The password for username. Can be set with the ibase.default_password php.ini directive.

charset

charset is the default character set for a database.

buffers

buffers is the number of database buffers to allocate for the server-side cache. If 0 or omitted, server chooses its own default.

dialect

dialect selects the default SQL dialect for any statement executed within a connection, and it defaults to the highest one supported by client libraries. Functional only with InterBase 6 and up.

role

Functional only with InterBase 5 and up.

sync

반환값

Returns an InterBase link identifier on success, or FALSE on error.

변경 기록

버전 | 설명
4.0.0 | The buffers, dialect and role parameters were added

참고

ibase_close()
ibase_connect()

이전 | 위로 | 다음
ibase_param_info | 처음으로 | ibase_prepare


ibase_prepare

(PHP 4, PHP 5)

ibase_prepare -- Prepare a query for later binding of parameter placeholders and execution

설명

resource ibase_prepare ( string $query )
resource ibase_prepare ( resource $link_identifier, string $query )
resource ibase_prepare ( resource $link_identifier, string $trans, string $query )

Prepare a query for later binding of parameter placeholders and execution (via ibase_execute()).

매개변수

query

An InterBase query.

반환값

Returns a prepared query handle, or FALSE on error.

이전 | 위로 | 다음
ibase_pconnect | 처음으로 | ibase_query


ibase_query

(PHP 4, PHP 5)

ibase_query -- Execute a query on an InterBase database

설명

resource ibase_query ( [resource $link_identifier, string $query [, int $bind_args]] )

Performs a query on an InterBase database.

매개변수

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

query

An InterBase query.

bind_args

반환값

If the query raises an error, returns FALSE. If it is successful and there is a (possibly empty) result set (such as with a SELECT query), returns a result identifier. If the query was successful and there were no results, returns TRUE.

참고: In PHP 5.0.0 and up, this function will return the number of rows affected by the query for INSERT, UPDATE and DELETE statements. In order to retain backward compatibility, it will return TRUE for these statements if the query succeeded without affecting any rows.

오류/예외

If you get some error like "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (this occurs when you try use some character with accents) when using this and after ibase_query() you must set the character set (i.e. ISO8859_1 or your current character set).

예제

예 584. ibase_query() example

<?php

$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';

$sth = ibase_query($dbh, $stmt) or die(ibase_errmsg());

?>

참고

ibase_errmsg()
ibase_fetch_row()
ibase_fetch_object()
ibase_free_result()

이전 | 위로 | 다음
ibase_prepare | 처음으로 | ibase_restore


ibase_restore

(PHP 5)

ibase_restore -- Initiates a restore task in the service manager and returns immediately

설명

mixed ibase_restore ( resource $service_handle, string $source_file, string $dest_db [, int $options [, bool $verbose]] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ibase_query | 처음으로 | ibase_rollback_ret


ibase_rollback_ret

(PHP 5)

ibase_rollback_ret -- Roll back a transaction without closing it

설명

bool ibase_rollback_ret ( [resource $link_or_trans_identifier] )

Rolls back a transaction without closing it.

매개변수

link_or_trans_identifier

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back. The transaction context will be retained, so statements executed from within this transaction will not be invalidated.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ibase_restore | 처음으로 | ibase_rollback


ibase_rollback

(PHP 4, PHP 5)

ibase_rollback -- Roll back a transaction

설명

bool ibase_rollback ( [resource $link_or_trans_identifier] )

Rolls back a transaction.

매개변수

link_or_trans_identifier

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ibase_rollback_ret | 처음으로 | ibase_server_info


ibase_server_info

(PHP 5)

ibase_server_info -- Request information about a database server

설명

string ibase_server_info ( resource $service_handle, int $action )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ibase_rollback | 처음으로 | ibase_service_attach


ibase_service_attach

(PHP 5)

ibase_service_attach -- Connect to the service manager

설명

resource ibase_service_attach ( string $host, string $dba_username, string $dba_password )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ibase_server_info | 처음으로 | ibase_service_detach


ibase_service_detach

(PHP 5)

ibase_service_detach -- Disconnect from the service manager

설명

bool ibase_service_detach ( resource $service_handle )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ibase_service_attach | 처음으로 | ibase_set_event_handler


ibase_set_event_handler

(PHP 5)

ibase_set_event_handler -- Register a callback function to be called when events are posted

설명

resource ibase_set_event_handler ( callback $event_handler, string $event_name1 [, string $event_name2 [, string $...]] )
resource ibase_set_event_handler ( resource $connection, callback $event_handler, string $event_name1 [, string $event_name2 [, string $...]] )

This function registers a PHP user function as event handler for the specified events.

매개변수

event_handler

The callback is called with the event name and the link resource as arguments whenever one of the specified events is posted by the database.

The callback must return FALSE if the event handler should be canceled. Any other return value is ignored. This function accepts up to 15 event arguments.

event_name1

An event name.

event_name2

...

반환값

The return value is an event resource. This resource can be used to free the event handler using ibase_free_event_handler().

예제

예 585. ibase_set_event_handler() example

<?php

function event_handler($event_name, $link)
{
    if ($event_name == "NEW ORDER") {
        // process new order
        ibase_query($link, "UPDATE orders SET status='handled'");
    } else if ($event_name == "DB_SHUTDOWN") {
        // free event handler
        return false;
    }
}

ibase_set_event_handler($link, "event_handler", "NEW_ORDER", "DB_SHUTDOWN");
?>

참고

ibase_free_event_handler()
ibase_wait_event()

이전 | 위로 | 다음
ibase_service_detach | 처음으로 | ibase_timefmt


ibase_timefmt

(PHP 4)

ibase_timefmt -- Sets the format of timestamp, date and time type columns returned from queries

설명

bool ibase_timefmt ( string $format [, int $columntype] )

Sets the format of timestamp, date or time type columns returned from queries.

You can set defaults for these formats with the PHP configuration directives ibase.timestampformat, ibase.dateformat and ibase.timeformat.

참고: This function has been removed from PHP 5, use ini_set() instead.

매개변수

format

Internally, the columns are formatted by c-function strftime(), so refer to its documentation regarding to the format of the string.

columntype

columntype is one of the constants IBASE_TIMESTAMP, IBASE_DATE and IBASE_TIME. If omitted, defaults to IBASE_TIMESTAMP for backwards compatibility.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 586. ibase_timefmt() example

<?php
/* InterBase 6 TIME-type columns will be returned in
 * the form '05 hours 37 minutes'. */
ibase_timefmt("%H hours %M minutes", IBASE_TIME);
?>

이전 | 위로 | 다음
ibase_set_event_handler | 처음으로 | ibase_trans


ibase_trans

(PHP 4, PHP 5)

ibase_trans -- Begin a transaction

설명

resource ibase_trans ( [int $trans_args [, resource $link_identifier]] )

Begins a transaction.

참고: The behaviour of this function has been changed in PHP 5.0.0. The first call to ibase_trans() will not return the default transaction of a connection. All transactions started by ibase_trans() will be rolled back at the end of the script if they were not committed or rolled back by either ibase_commit() or ibase_rollback().

참고: In PHP 5.0.0. and up, this function will accept multiple trans_args and link_identifier arguments. This allows transactions over multiple database connections, which are committed using a 2-phase commit algorithm. This means you can rely on the updates to either succeed in every database, or fail in every database. It does NOT mean you can use tables from different databases in the same query!

If you use transactions over multiple databases, you will have to specify both the link_id and transaction_id in calls to ibase_query() and ibase_prepare().

매개변수

trans_args

trans_args can be a combination of IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY, IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION, IBASE_WAIT and IBASE_NOWAIT.

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

반환값

Returns a transaction handle, or FALSE on error.

이전 | 위로 | 다음
ibase_timefmt | 처음으로 | ibase_wait_event


ibase_wait_event

(PHP 5)

ibase_wait_event -- Wait for an event to be posted by the database

설명

string ibase_wait_event ( string $event_name1 [, string $event_name2 [, string $...]] )
string ibase_wait_event ( resource $connection, string $event_name1 [, string $event_name2 [, string $...]] )

This function suspends execution of the script until one of the specified events is posted by the database. The name of the event that was posted is returned. This function accepts up to 15 event arguments.

매개변수

event_name1

The event name.

event_name2

...

반환값

Returns the name of the event that was posted.

참고

ibase_set_event_handler()
ibase_free_event_handler()

이전 | 위로 | 다음
ibase_trans | 처음으로 | XLIV. Firebird/Interbase Functions (PDO_FIREBIRD)


ID3 Functions

이전 VI. 함수 레퍼런스 다음

LXIII. ID3 Functions

소개

These functions let you read and manipulate ID3 tags. ID3 tags are used in MP3 files to store title of the song, as well as information about the artist, album, genre, year and track number.

Since version 0.2 it is also possible to extract text frames from ID3 v2.2+ tags.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

id3 is part of PECL and can be installed using the PEAR installer. To compile PHP with id3 support, download the sourcecode, put it in php-src/ext/id3 and compile PHP using --enable-id3.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

Predefined Constants

Most of the id3 functions either let you specify or return a tag version. In order to specify the version please use on of these constants.

ID3_V1_0 (integer)
ID3_V1_0 is used if you are working with ID3 V1.0 tags. These tags may contain the fields title, artist, album, genre, year and comment.
ID3_V1_1 (integer)
ID3_V1_1 is used if you are working with ID3 V1.1 tags. These tags may all information contained in v1.0 tags plus the track number.
ID3_V2_1 (integer)
ID3_V2_1 is used if you are working with ID3 V2.1 tags.
ID3_V2_2 (integer)
ID3_V2_2 is used if you are working with ID3 V2.2 tags.
ID3_V2_3 (integer)
ID3_V2_3 is used if you are working with ID3 V2.3 tags.
ID3_V2_4 (integer)
ID3_V2_4 is used if you are working with ID3 V2.4 tags.
ID3_BEST (integer)
ID3_BEST is used if would like to let the id3 functions determine which tag version should be used.

차례

id3_get_frame_long_name -- Get the long name of an ID3v2 frame
id3_get_frame_short_name -- Get the short name of an ID3v2 frame
id3_get_genre_id -- Get the id for a genre
id3_get_genre_list -- Get all possible genre values
id3_get_genre_name -- Get the name for a genre id
id3_get_tag -- Get all information stored in an ID3 tag
id3_get_version -- Get version of an ID3 tag
id3_remove_tag -- Remove an existing ID3 tag
id3_set_tag -- Update information stored in an ID3 tag
이전 | 위로 | 다음
ob_iconv_handler | 처음으로 | id3_get_frame_long_name


id3_get_genre_id

(PECL id3:0.1-0.2)

id3_get_genre_id -- Get the id for a genre

설명

int id3_get_genre_id ( string $genre )

id3_get_genre_id() returns the id for a genre.

매개변수

genre

An integer ranging from 0 to 147

반환값

The genre id or FALSE on errors.

예제

예 867. id3_get_genre_id() example

<?php
$id = id3_get_genre_id("Alternative");
echo $id;
?>

위 예제의 출력:

20

참고

id3_get_genre_name()
id3_get_genre_list()

이전 | 위로 | 다음
id3_get_frame_short_name | 처음으로 | id3_get_genre_list


id3_get_genre_list

(PECL id3:0.1-0.2)

id3_get_genre_list -- Get all possible genre values

설명

array id3_get_genre_list ( void )

id3_get_genre_list() returns an array containing all possible genres that may be stored in an ID3 tag. This list has been created by Eric Kemp and later extended by WinAmp.

This function is useful to provide you users a list of genres from which they may choose one. When updating the ID3 tag you will always have to specify the genre as an integer ranging from 0 to 147.

반환값

Returns an array containing all possible genres that may be stored in an ID3 tag.

예제

예 868. id3_get_genre_list() example

<?php
$genres = id3_get_genre_list();
print_r($genres);
?>

위 예제의 출력:

Array
(
    [0] => Blues
    [1] => Classic Rock
    [2] => Country
    [3] => Dance
    [4] => Disco
    [5] => Funk
    [6] => Grunge
    [7] => Hip-Hop
    [8] => Jazz
    [9] => Metal
    [10] => New Age
    [11] => Oldies
    [12] => Other
    [13] => Pop
    [14] => R&B
    [15] => Rap
    [16] => Reggae
    [17] => Rock
    [18] => Techno
    [19] => Industrial
    [20] => Alternative
    [21] => Ska
    [22] => Death Metal
    [23] => Pranks
    [24] => Soundtrack
    [25] => Euro-Techno
    [26] => Ambient
    [27] => Trip-Hop
    [28] => Vocal
    [29] => Jazz+Funk
    [30] => Fusion
    [31] => Trance
    [32] => Classical
    [33] => Instrumental
    [34] => Acid
    [35] => House
    [36] => Game
    [37] => Sound Clip
    [38] => Gospel
    [39] => Noise
    [40] => Alternative Rock
    [41] => Bass
    [42] => Soul
    [43] => Punk
    [44] => Space
    [45] => Meditative
    [46] => Instrumental Pop
    [47] => Instrumental Rock
    [48] => Ethnic
    [49] => Gothic
    [50] => Darkwave
    [51] => Techno-Industrial
    [52] => Electronic
    [53] => Pop-Folk
    [54] => Eurodance
    [55] => Dream
    [56] => Southern Rock
    [57] => Comedy
    [58] => Cult
    [59] => Gangsta
    [60] => Top 40
    [61] => Christian Rap
    [62] => Pop/Funk
    [63] => Jungle
    [64] => Native US
    [65] => Cabaret
    [66] => New Wave
    [67] => Psychadelic
    [68] => Rave
    [69] => Showtunes
    [70] => Trailer
    [71] => Lo-Fi
    [72] => Tribal
    [73] => Acid Punk
    [74] => Acid Jazz
    [75] => Polka
    [76] => Retro
    [77] => Musical
    [78] => Rock & Roll
    [79] => Hard Rock
    [80] => Folk
    [81] => Folk-Rock
    [82] => National Folk
    [83] => Swing
    [84] => Fast Fusion
    [85] => Bebob
    [86] => Latin
    [87] => Revival
    [88] => Celtic
    [89] => Bluegrass
    [90] => Avantgarde
    [91] => Gothic Rock
    [92] => Progressive Rock
    [93] => Psychedelic Rock
    [94] => Symphonic Rock
    [95] => Slow Rock
    [96] => Big Band
    [97] => Chorus
    [98] => Easy Listening
    [99] => Acoustic
    [100] => Humour
    [101] => Speech
    [102] => Chanson
    [103] => Opera
    [104] => Chamber Music
    [105] => Sonata
    [106] => Symphony
    [107] => Booty Bass
    [108] => Primus
    [109] => Porn Groove
    [110] => Satire
    [111] => Slow Jam
    [112] => Club
    [113] => Tango
    [114] => Samba
    [115] => Folklore
    [116] => Ballad
    [117] => Power Ballad
    [118] => Rhytmic Soul
    [119] => Freestyle
    [120] => Duet
    [121] => Punk Rock
    [122] => Drum Solo
    [123] => Acapella
    [124] => Euro-House
    [125] => Dance Hall
    [126] => Goa
    [127] => Drum & Bass
    [128] => Club-House
    [129] => Hardcore
    [130] => Terror
    [131] => Indie
    [132] => BritPop
    [133] => Negerpunk
    [134] => Polsk Punk
    [135] => Beat
    [136] => Christian Gangsta
    [137] => Heavy Metal
    [138] => Black Metal
    [139] => Crossover
    [140] => Contemporary C
    [141] => Christian Rock
    [142] => Merengue
    [143] => Salsa
    [144] => Thrash Metal
    [145] => Anime
    [146] => JPop
    [147] => SynthPop
)

참고

id3_get_genre_name()
id3_get_genre_id()

이전 | 위로 | 다음
id3_get_genre_id | 처음으로 | id3_get_genre_name


id3_get_genre_name

(PECL id3:0.1-0.2)

id3_get_genre_name -- Get the name for a genre id

설명

string id3_get_genre_name ( int $genre_id )

id3_get_genre_name() returns the name for a genre id.

매개변수

genre_id

An integer ranging from 0 to 147

반환값

Returns the name as a string.

예제

예 869. id3_get_genre_name() example

<?php
$genre = id3_get_genre_name(20);
echo $genre;
?>

위 예제의 출력:

Alternative

참고

id3_get_genre_list()
id3_get_genre_id()

이전 | 위로 | 다음
id3_get_genre_list | 처음으로 | id3_get_tag


id3_get_tag

(PECL id3:0.1-0.2)

id3_get_tag -- Get all information stored in an ID3 tag

설명

array id3_get_tag ( string $filename [, int $version] )

id3_get_tag() is used to get all information stored in the id3 tag of the specified file.

매개변수

filename

The path to the MP3 file

Instead of a filename you may also pass a valid stream resource

version

Allows you to specify the version of the tag as MP3 files may contain both, version 1.x and version 2.x tags

Since version 0.2 id3_get_tag() also supports ID3 tags of version 2.2, 2.3 and 2.4. To extract information from these tags, pass one of the constants ID3_V2_2, ID3_V2_3 or ID3_V2_4 as the second parameter. ID3 v2.x tags can contain a lot more information about the MP3 file than ID3 v1.x tags.

반환값

Returns an associative array with various keys like: title, artist, ..

The key genre will contain an integer between 0 and 147. You may use id3_get_genre_name() to convert it to a human readable string.

예제

예 870. id3_get_tag() example

<?php
$tag = id3_get_tag( "path/to/example.mp3" );
print_r($tag);
?>

위 예제의 출력 예:

Array
(
    [title] => DN-38416
    [artist] => Re:\Legion
    [album] => Reflections
    [year] => 2004
    [genre] => 19
)

예 871. id3_get_tag() example

<?php
$tag = id3_get_tag( "path/to/example2.mp3", ID3_V2_3 );
print_r($tag);
?>

위 예제의 출력 예:

Array
(
    [copyright] => Dirty Mac
    [originalArtist] => Dirty Mac
    [composer] => Marcus G?tze
    [artist] => Dirty Mac
    [title] => Little Big Man
    [album] => Demo-Tape
    [track] => 5/12
    [genre] => (17)Rock
    [year] => 2001
)

참고

id3_set_tag()
id3_remove_tag()
id3_get_version()

이전 | 위로 | 다음
id3_get_genre_name | 처음으로 | id3_get_version


id3_get_version

(PECL id3:0.1-0.2)

id3_get_version -- Get version of an ID3 tag

설명

int id3_get_version ( string $filename )

id3_get_version() retrieves the version(s) of the ID3 tag(s) in the MP3 file.

If a file contains an ID3 v1.1 tag, it always contains a 1.0 tag, as version 1.1 is just an extension of 1.0.

매개변수

filename

The path to the MP3 file

Instead of a filename you may also pass a valid stream resource

반환값

Returns the version number of the ID3 tag of the file. As a tag can contain ID3 v1.x and v2.x tags, the return value of this function should be bitwise compared with the predefined constants ID3_V1_0, ID3_V1_1 and ID3_V2.

예제

예 872. id3_get_version() example

<?php
$version = id3_get_version( "path/to/example.mp3" );
if ($version & ID3_V1_0) {
    echo "Contains a 1.x tag\n";
}
if ($version & ID3_V1_1) {
    echo "Contains a 1.1 tag\n";
}
if ($version & ID3_V2) {
    echo "Contains a 2.x tag\n";
}
?>

위 예제의 출력 예:

Contains a 1.x tag
Contains a 1.1 tag

참고

id3_set_tag()
id3_get_tag()
id3_remove_tag()

이전 | 위로 | 다음
id3_get_tag | 처음으로 | id3_remove_tag


id3_remove_tag

(PECL id3:0.1-0.2)

id3_remove_tag -- Remove an existing ID3 tag

설명

bool id3_remove_tag ( string $filename [, int $version] )

id3_remove_tag() is used to remove the information stored of an ID3 tag.

매개변수

filename

The path to the MP3 file

Instead of a filename you may also pass a valid stream resource

version

Allows you to specify the version of the tag as MP3 files may contain both, version 1.x and version 2.x tags.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 873. id3_remove_tag() example

<?php
$result = id3_remove_tag( "path/to/example.mp3", ID3_V1_0 );
if ($result === true) {
    echo "Tag succesfully removed\n";
}
?>

If the file is writable and contained a 1.0 tag, this will output:

Tag succesfully removed

주의

참고: Currently id3_remove_tag() only supports version 1.0 and 1.1. If you choose to remove a 1.0 tag and the file contains a 1.1 tag, this tag will be removed, as v1.1 is only an extension of 1.0.

참고

id3_set_tag()
id3_get_tag()
id3_get_version()

이전 | 위로 | 다음
id3_get_version | 처음으로 | id3_set_tag


id3_set_tag

(PECL id3:0.1-0.2)

id3_set_tag -- Update information stored in an ID3 tag

설명

bool id3_set_tag ( string $filename, array $tag [, int $version] )

id3_set_tag() is used to change the information stored of an ID3 tag. If no tag has been present, it will be added to the file.

매개변수

filename

The path to the MP3 file

Instead of a filename you may also pass a valid stream resource

tag

An associative array of tag keys and values

The following keys may be used in the associative array:

표 131. Keys in the associative array

key | possible value | available in version
title | string with maximum of 30 characters | v1.0, v1.1
artist | string with maximum of 30 characters | v1.0, v1.1
album | string with maximum of 30 characters | v1.0, v1.1
year | 4 digits | v1.0, v1.1
genre | integer value between 0 and 147 | v1.0, v1.1
comment | string with maximum of 30 characters (28 in v1.1) | v1.0, v1.1
track | integer between 0 and 255 | v1.1

version

Allows you to specify the version of the tag as MP3 files may contain both, version 1.x and version 2.x tags

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 874. id3_set_tag() example

<?php
$data = array(
              "title" => "Re:Start",
              "artist" => "Re:\Legion",
              "comment" => "A nice track"
             );
$result = id3_set_tag( "path/to/example.mp3", $data, ID3_V1_0 );
if ($result === true) {
    echo "Tag succesfully updated\n";
}
?>

If the file is writable, this will output:

Tag succesfully updated

주의

참고: Currently id3_remove_tag() only supports version 1.0 and 1.1.

참고

id3_remove_tag()
id3_get_tag()
id3_get_version()

이전 | 위로 | 다음
id3_remove_tag | 처음으로 | LXIV. IIS Administration Functions


Ingres II Functions

이전 VI. 함수 레퍼런스 다음

LXX. Ingres II Functions

소개

These functions allow you to access Ingres II database servers.

참고: If you already used PHP extensions to access other database servers, note that Ingres doesn't allow concurrent queries and/or transaction over one connection, thus you won't find any result or transaction handle in this extension. The result of a query must be treated before sending another query, and a transaction must be committed or rolled back before opening another transaction (which is automatically done when sending the first query).

요구 조건

To compile PHP with Ingres support, you need the Ingres OpenAPI library and header files.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/ingres.

In order to have these functions available, you must compile PHP with Ingres support by using the --with-ingres[=DIR] option, where DIR is the Ingres base directory, which defaults to /II/ingres. If the II_SYSTEM environment variable isn't correctly set you may have to use --with-ingres=DIR to specify your Ingres installation directory.

When using this extension with Apache, if Apache does not start and complains with "PHP Fatal error: Unable to start ingres_ii module in Unknown on line 0" then make sure the environment variable II_SYSTEM is correctly set. Adding "export II_SYSTEM="/home/ingres/II" in the script that starts Apache, just before launching httpd, should be fine.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 146. Ingres configuration options

Name | Default | Changeable | Changelog
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.max_links | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.default_database | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.default_user | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.default_password | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.report_db_warnings | "1" | PHP_INI_ALL | Available since ingres 1.1.
ingres.cursor_mode | "0" | PHP_INI_ALL | Available since ingres 1.1.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Available since ingres 1.2.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Available since ingres 1.2.1.
ingres.timeout | "-1" | PHP_INI_ALL | Available since ingres 1.4.0.
ingres.array_index_start | "1" | PHP_INI_ALL | Available since ingres 1.4.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

ingres_connect() and ingres_pconnect() return an Ingres II link identifier.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

INGRES_ASSOC (integer)
Columns are returned into the array having the fieldname as the array index.
INGRES_NUM (integer)
Columns are returned into the array having a numerical index to the fields. This index starts with 1, the first field in the result.
INGRES_BOTH (integer)
Columns are returned into the array having both a numerical index and the fieldname as the array index.
INGRES_EXT_VERSION (string)
Specifies the version of the Ingres Extension. Available since version 1.2.0 of the PECL extension.
INGRES_API_VERSION (integer)
Specifies the version of Ingres OpenAPI the extension was built against. Available since version 1.2.0 of the PECL extension.
INGRES_CURSOR_READONLY (integer)
Specifies that Ingres cursors should be opened in 'readonly' mode. Available since version 1.2.0 of the PECL extension.
INGRES_CURSOR_UPDATE (integer)
Specifies that Ingres cursors should be opened 'for update'. Available since version 1.2.0 of the PECL extension.
INGRES_DATE_MULTINATIONAL (integer)
Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL. Available since version 1.2.0 of the PECL extension.
INGRES_DATE_MULTINATIONAL4 (integer)
Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL4. Available since version 1.2.0 of the PECL extension.
INGRES_DATE_FINNISH (integer)
Equivalent to the II_DATE_FORMAT setting of FINNISH. Available since version 1.2.0 of the PECL extension.
INGRES_DATE_ISO (integer)
Equivalent to the II_DATE_FORMAT setting of ISO. Available since version 1.2.0 of the PECL extension.
INGRES_DATE_ISO4 (integer)
Equivalent to the II_DATE_FORMAT setting of ISO4. Available since version 1.2.0 of the PECL extension.
INGRES_DATE_GERMAN (integer)
Equivalent to the II_DATE_FORMAT setting of GERMAN. Available since version 1.2.0 of the PECL extension.
INGRES_DATE_MDY (integer)
Equivalent to the II_DATE_FORMAT setting of MDY. Available since version 1.2.0 of the PECL extension.
INGRES_DATE_DMY (integer)
Equivalent to the II_DATE_FORMAT setting of DMY. Available since version 1.2.0 of the PECL extension.
INGRES_DATE_YMD (integer)
Equivalent to the II_DATE_FORMAT setting of YMD. Available since version 1.2.0 of the PECL extension.
INGRES_MONEY_LEADING (integer)
Specifies the currency character that should be placed at the start of a money value. Equivalent to setting II_MONEY_FORMAT to 'L:'. Available since version 1.2.0 of the PECL extension.
INGRES_MONEY_TRAILING (integer)
Specifies the currency character that should be placed at the end of a money value. Equivalent to setting II_MONEY_FORMAT to 'T:'. Available since version 1.2.0 of the PECL extension.
INGRES_STRUCTURE_BTREE (integer)
Specifies the default table or index structure to BTREE when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
INGRES_STRUCTURE_CBTREE (integer)
Specifies the default table or index structure to COMPRESSED BTREE when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
INGRES_STRUCTURE_HASH (integer)
Specifies the default table or index structure to HASH when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
INGRES_STRUCTURE_CHASH (integer)
Specifies the default table or index structure to COMPRESSED HASH when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
INGRES_STRUCTURE_HEAP (integer)
Specifies the default table structure to HEAP when used in combination with the table_structure option when connecting. Available since version 1.4.0 of the PECL extension.
INGRES_STRUCTURE_CHEAP (integer)
Specifies the default table structure to COMPRESSED HEAP when used in combination with the table_structure option when connecting. Available since version 1.4.0 of the PECL extension.
INGRES_STRUCTURE_ISAM (integer)
Specifies the default table or index structure to ISAM when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.
INGRES_STRUCTURE_CISAM (integer)
Specifies the default table or index structure to COMPRESSED ISAM when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.

예제

This simple example shows how to connect, execute a query, print resulting rows and disconnect from an Ingres database.

예 976. Simple Ingres Example

<?php
// Connecting, selecting database
$link = ingres_connect('database', 'user', 'password')
    or die('Could not connect: ' . ingres_error($link));
echo 'Connected successfully';

// Select from a table that exists in all Ingres databases
$query = 'SELECT * FROM iirelation';
$returncode = ingres_query($query,$link) or die('Query failed: ' .
ingres_error($link));

// Print results in HTML
// relid - table name
// relowner - table owner
echo "<table>\n";
while ($iirelation = ingres_fetch_object(INGRES_BOTH, $link)) {
    echo "\t<tr>\n";
    echo "\t\t<td>" . $iirelation->relid . "</td>\n";
    echo "\t\t<td>" . $iirelation->relowner . "</td>\n";
    echo "\t</tr>\n";
}
echo "</table>\n";

// Commit transaction
ingres_commit($link);
// Closing connection
ingres_close($link);
?>

차례

ingres_autocommit -- Switch autocommit on or off
ingres_close -- Close an Ingres II database connection
ingres_commit -- Commit a transaction
ingres_connect -- Open a connection to an Ingres database
ingres_cursor -- Gets a cursor name for a given link resource
ingres_errno -- Gets the last ingres error number generated
ingres_error -- Gets a meaningful error message for the last error generated
ingres_errsqlstate -- Gets the last SQLSTATE error code generated
ingres_fetch_array -- Fetch a row of result into an array
ingres_fetch_object -- Fetch a row of result into an object
ingres_fetch_row -- Fetch a row of result into an enumerated array
ingres_field_length -- Get the length of a field
ingres_field_name -- Get the name of a field in a query result
ingres_field_nullable -- Test if a field is nullable
ingres_field_precision -- Get the precision of a field
ingres_field_scale -- Get the scale of a field
ingres_field_type -- Get the type of a field in a query result
ingres_num_fields -- Get the number of fields returned by the last query
ingres_num_rows -- Get the number of rows affected or returned by the last query
ingres_pconnect -- Open a persistent connection to an Ingres II database
ingres_query -- Send a SQL query to Ingres II
ingres_rollback -- Roll back a transaction
이전 | 위로 | 다음
PDO_INFORMIX DSN | 처음으로 | ingres_autocommit


ingres_autocommit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_autocommit -- Switch autocommit on or off

설명

bool ingres_autocommit ( [resource $link] )

ingres_autocommit() is called before opening a transaction (before the first call to ingres_query() or just after a call to ingres_rollback() or ingres_commit()) to switch the "autocommit" mode of the server on or off (when the script begins the autocommit mode is off).

When the autocommit mode is on, every query is automatically committed by the server, as if ingres_commit() was called after every call to ingres_query().

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ingres_query()
ingres_rollback()
ingres_commit()

이전 | 위로 | 다음
LXX. Ingres II Functions | 처음으로 | ingres_close


ingres_close

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_close -- Close an Ingres II database connection

설명

bool ingres_close ( [resource $link] )

ingres_close() closes the connection to the Ingres server that's associated with the specified link.

ingres_close() isn't usually necessary, as it won't close persistent connections and all non-persistent connections are automatically closed at the end of the script.

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ingres_connect()
ingres_pconnect()

이전 | 위로 | 다음
ingres_autocommit | 처음으로 | ingres_commit


ingres_commit

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_commit -- Commit a transaction

설명

bool ingres_commit ( [resource $link] )

ingres_commit() commits the currently open transaction, making all changes made to the database permanent.

This closes the transaction. A new one can be open by sending a query with ingres_query().

You can also have the server commit automatically after every query by calling ingres_autocommit() before opening the transaction.

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ingres_query()
ingres_rollback()
ingres_autocommit()

이전 | 위로 | 다음
ingres_close | 처음으로 | ingres_connect


ingres_connect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_connect -- Open a connection to an Ingres database

설명

resource ingres_connect ( [string $database [, string $username [, string $password [, array $options]]]] )

ingres_connect() opens a connection with the given Ingres database.

The connection is closed when the script ends or when ingres_close() is called on this link.

All the other ingres functions use the last opened link as a default, so you need to store the returned value only if you use more than one link at a time.

매개변수

If some parameters are missing, ingres_connect() uses the values in php.ini for ingres.default_database, ingres.default_user and ingres.default_password.

database

The database name. Must follows the syntax [node_id::]dbname[/svr_class].

username

The Ingres user name.

password

The password associated with username.

options

ingres_connect() options

Option name | Description
date_century_boundary | The threshold by which a 2 digit year is determined to be in the current century or in the next century. Equivalent to II_DATE_CENTURY_BOUNDARY.
group | Speficfies the group ID of the user, equivalent to the '-G' flag
role | The role ID of the application. If a role password is required, the parameter value should be specified as "role/password"
effective_user | The ingres user account being impersonated, equivalent to the '-u' flag
dbms_password | The internal database password for the user connecting to Ingres
table_structure

The default structure for new tables. Valid values for table_structure are:

  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_HEAP
  • INGRES_STRUCTURE_ISAM
  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_CHEAP

index_structure

The default structure for new secondary indexes. Valid values for index_structure are:

  • INGRES_STRUCTURE_CBTREE
  • INGRES_STRUCTURE_CISAM
  • INGRES_STRUCTURE_CHASH
  • INGRES_STRUCTURE_BTREE
  • INGRES_STRUCTURE_HASH
  • INGRES_STRUCTURE_ISAM

login_local | Determines how the connection user ID and password are used when a VNODE is included in the target database string. If set to TRUE, the user ID and password are used to locally access the VNODE and the VNODE login information is used to establish the DBMS connection. If set to FALSE, the process user ID is used to access the VNODE and the connection user ID and password are used in place of the VNODE login information to establish the DBMS connection. This parameter is ignored if no VNODE is included in the target database string. The default is FALSE.
timezone | Controls the timezone of the session. If not set it will default the the value defined by II_TIMEZONE_NAME. If II_TIMEZONE_NAME is not defined the NA-PACIFIC (GMT-8 with Daylight Savings) is used.
date_format

Sets the allowable input and output format for Ingres dates. Defaults to the value defined by II_DATE_FORMAT. If II_DATE_FORMAT is not set the default date format is US, e.g. mm/dd/yy. Valid values for date_format are:

  • INGRES_DATE_DMY
  • INGRES_DATE_FINISH
  • INGRES_DATE_GERMAN
  • INGRES_DATE_ISO
  • INGRES_DATE_ISO4
  • INGRES_DATE_MDY
  • INGRES_DATE_MULTINATIONAL
  • INGRES_DATE_MULTINATIONAL4
  • INGRES_DATE_YMD
  • INGRES_DATE_US

decimal_separator | The character identifier for decimal data
money_lort

Leading or trailing currency sign. Valid values for money_lort are:

  • INGRES_MONEY_LEADING
  • INGRES_MONEY_TRAILING

money_sign | The currency symbol to be used with the MONEY datatype
money_precision | The precision of the MONEY datatype
float4_precision | Precision of the FLOAT4 datatype
float8_precision | Precision of the FLOAT8 data
blob_segment_length | The amount of data in bytes to fetch at a time when retrieving BLOB/CLOB data, defaults to 4096 bytes when not explicitly set.

반환값

Returns a Ingres link resource on success, or FALSE on failure.

예제

예 977. ingres_connect() example

<?php
$link = ingres_connect("mydb", "user", "pass")
    or die("Could not connect");
echo "Connected successfully";
ingres_close($link);
?>

예 978. ingres_connect() example using default link

<?php
ingres_connect("mydb", "user", "pass")
    or die("Could not connect");
echo "Connected successfully";
ingres_close();
?>

참고

ingres_pconnect()
ingres_close()

이전 | 위로 | 다음
ingres_commit | 처음으로 | ingres_cursor


ingres_fetch_array

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_fetch_array -- Fetch a row of result into an array

설명

array ingres_fetch_array ( [int $result_type [, resource $link]] )

This function is an extended version of ingres_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must use the numeric index of the column or make an alias for the column.

<?php

ingres_query("select t1.f1 as foo t2.f1 as bar from t1, t2");
$result = ingres_fetch_array();
$foo = $result["foo"];
$bar = $result["bar"];

?>

Speed-wise, the function is identical to ingres_fetch_object(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

매개변수

result_type

result_type can be INGRES_NUM for enumerated array, INGRES_ASSOC for associative array, or INGRES_BOTH (default).

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

예제

예 983. ingres_fetch_array() example

<?php
ingres_connect($database, $user, $password);

ingres_query("select * from table");
while ($row = ingres_fetch_array()) {
    echo $row["user_id"];  // using associative array
    echo $row["fullname"];
    echo $row[1];          // using enumerated array
    echo $row[2];
}
?>

참고

ingres_query()
ingres_num_fields()
ingres_field_name()
ingres_fetch_object()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_errsqlstate | 처음으로 | ingres_fetch_object


ingres_fetch_object

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_fetch_object -- Fetch a row of result into an object

설명

object ingres_fetch_object ( [int $result_type [, resource $link]] )

This function is similar to ingres_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to ingres_fetch_array(), and almost as quick as ingres_fetch_row() (the difference is insignificant).

매개변수

result_type

The optional argument result_type is a constant and can take the following values: INGRES_ASSOC, INGRES_NUM, and INGRES_BOTH.

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns an object that corresponds to the fetched row, or FALSE if there are no more rows.

예제

예 984. ingres_fetch_object() example

<?php
ingres_connect($database, $user, $password);
ingres_query("select * from table");
while ($row = ingres_fetch_object()) {
    echo $row->user_id;
    echo $row->fullname;
}
?>

참고

ingres_query()
ingres_num_fields()
ingres_field_name()
ingres_fetch_array()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_fetch_array | 처음으로 | ingres_fetch_row


ingres_fetch_row

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_fetch_row -- Fetch a row of result into an enumerated array

설명

array ingres_fetch_row ( [resource $link] )

ingres_fetch_row() returns an array that corresponds to the fetched row, or FALSE if there are no more rows. Each result column is stored in an array offset, starting at offset 1.

Subsequent call to ingres_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

예제

예 985. ingres_fetch_row() example

<?php
ingres_connect($database, $user, $password);

ingres_query("select * from table");
while ($row = ingres_fetch_row()) {
    echo $row[1];
    echo $row[2];
}
?>

참고

ingres_num_fields()
ingres_query()
ingres_fetch_array()
ingres_fetch_object()

이전 | 위로 | 다음
ingres_fetch_object | 처음으로 | ingres_field_length


ingres_field_length

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_field_length -- Get the length of a field

설명

int ingres_field_length ( int $index [, resource $link] )

ingres_field_length() returns the length of a field. This is the number of bytes used by the server to store the field. For detailed information, see the Ingres/OpenAPI User Guide - Appendix C.

매개변수

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns the length of a field.

참고

ingres_query()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_fetch_row | 처음으로 | ingres_field_name


ingres_field_name

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_field_name -- Get the name of a field in a query result

설명

string ingres_field_name ( int $index [, resource $link] )

ingres_field_name() returns the name of a field in a query result.

매개변수

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns the name of a field in a query result, or FALSE on failure.

참고

ingres_query()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_field_length | 처음으로 | ingres_field_nullable


ingres_field_nullable

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_field_nullable -- Test if a field is nullable

설명

bool ingres_field_nullable ( int $index [, resource $link] )

Test if a field is nullable.

매개변수

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

link

The connection link identifier. If not specified, the last opened link is used.

반환값

ingres_field_nullable() returns TRUE if the field can be set to the NULL value and FALSE if it can't.

참고

ingres_query()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_field_name | 처음으로 | ingres_field_precision


ingres_field_precision

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_field_precision -- Get the precision of a field

설명

int ingres_field_precision ( int $index [, resource $link] )

ingres_field_precision() returns the precision of a field. This value is used only for decimal, float and money SQL data types. For detailed information, see the Ingres/OpenAPI User Guide - Appendix C.

매개변수

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns the field precision as an integer.

참고

ingres_query()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_field_nullable | 처음으로 | ingres_field_scale


ingres_field_scale

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_field_scale -- Get the scale of a field

설명

int ingres_field_scale ( int $index [, resource $link] )

ingres_field_scale() returns the scale of a field. This value is used only for the decimal SQL data type. For detailed information, see the Ingres/OpenAPI User Guide - Appendix C.

매개변수

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns the scale of the field, as an integer.

참고

ingres_query()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_field_precision | 처음으로 | ingres_field_type


ingres_field_type

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_field_type -- Get the type of a field in a query result

설명

string ingres_field_type ( int $index [, resource $link] )

Get the type of a field in a query result.

매개변수

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields().

link

The connection link identifier. If not specified, the last opened link is used.

반환값

ingres_field_type() returns the type of a field in a query result, or FALSE on failure. Examples of types returned are "IIAPI_BYTE_TYPE", "IIAPI_CHA_TYPE", "IIAPI_DTE_TYPE", "IIAPI_FLT_TYPE", "IIAPI_INT_TYPE", "IIAPI_VCH_TYPE". Some of these types can map to more than one SQL type depending on the length of the field (see ingres_field_length()). For example "IIAPI_FLT_TYPE" can be a float4 or a float8. For detailed information, see the Ingres/OpenAPI User Guide - Appendix C.

참고

ingres_query()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_field_scale | 처음으로 | ingres_num_fields


ingres_num_fields

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_num_fields -- Get the number of fields returned by the last query

설명

int ingres_num_fields ( [resource $link] )

ingres_num_fields() returns the number of fields in the results returned by the Ingres server after a call to ingres_query()

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns the number of fields.

참고

ingres_query()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_field_type | 처음으로 | ingres_num_rows


ingres_num_rows

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_num_rows -- Get the number of rows affected or returned by the last query

설명

int ingres_num_rows ( [resource $link] )

This function is mainly meant to get the number of rows modified in the database. If this function is called before using ingres_fetch_array(), ingres_fetch_object() or ingres_fetch_row() the server will delete the result's data and the script won't be able to get them.

You should instead retrieve the result's data using one of these fetch functions in a loop until it returns FALSE, indicating that no more results are available.

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

For delete, insert or update queries, ingres_num_rows() returns the number of rows affected by the query. For other queries, ingres_num_rows() returns the number of rows in the query's result.

참고

ingres_query()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()

이전 | 위로 | 다음
ingres_num_fields | 처음으로 | ingres_pconnect


ingres_pconnect

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_pconnect -- Open a persistent connection to an Ingres II database

설명

resource ingres_pconnect ( [string $database [, string $username [, string $password]]] )

Open a persistent connection to an Ingres II database.

There are only 2 differences between this function and ingres_connect() : First, when connecting, the function will first try to find a (persistent) link that's already opened with the same parameters. If one is found, an identifier for it will be returned instead of opening a new connection. Second, the connection to the Ingres server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ingres_close() will not close links established by ingres_pconnect()). This type of link is therefore called 'persistent'.

매개변수

database

The database name. Must follows the syntax [node_id::]dbname[/svr_class].

username

The Ingres user name.

password

The password associated with username.

반환값

Returns a Ingres II link resource on success, or FALSE on failure.

참고

ingres_connect()
ingres_close()

이전 | 위로 | 다음
ingres_num_rows | 처음으로 | ingres_query


ingres_query

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_query -- Send a SQL query to Ingres II

설명

bool ingres_query ( string $query [, resource $link] )

ingres_query() sends the given query to the Ingres server.

The query becomes part of the currently open transaction. If there is no open transaction, ingres_query() opens a new transaction. To close the transaction, you can either call ingres_commit() to commit the changes made to the database or ingres_rollback() to cancel these changes. When the script ends, any open transaction is rolled back (by calling ingres_rollback()). You can also use ingres_autocommit() before opening a new transaction to have every SQL query immediately committed.

매개변수

query

A valid SQL query (see the Ingres SQL reference guide).

Some types of SQL queries can't be sent with this function:

  • close (see ingres_close())
  • commit (see ingres_commit())
  • connect (see ingres_connect())
  • disconnect (see ingres_close())
  • get dbevent
  • prepare to commit
  • rollback (see ingres_rollback())
  • savepoint
  • set autocommit (see ingres_autocommit())
  • all cursor related queries are unsupported

link

The connection link identifier. If not specified, the last opened link is used.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 986. ingres_query() example

<?php
ingres_connect($database, $user, $password);

ingres_query("select * from table");
while ($row = ingres_fetch_row()) {
    echo $row[1];
    echo $row[2];
}
?>

참고

ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()
ingres_commit()
ingres_rollback()
ingres_autocommit()

이전 | 위로 | 다음
ingres_pconnect | 처음으로 | ingres_rollback


ingres_rollback

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres:1.0-1.4.3)

ingres_rollback -- Roll back a transaction

설명

bool ingres_rollback ( [resource $link] )

ingres_rollback() rolls back the currently open transaction, actually canceling all changes made to the database during the transaction.

This closes the transaction. A new one can be open by sending a query with ingres_query().

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ingres_query()
ingres_commit()
ingres_autocommit()

이전 | 위로 | 다음
ingres_query | 처음으로 | LXXI. IRC Gateway Functions


IRC Gateway Functions

이전 VI. 함수 레퍼런스 다음

LXXI. IRC Gateway Functions

소개

With IRCG you can rapidly stream XML data to thousands of concurrently connected users. This can be used to build powerful, extensible interactive platforms such as online games and webchats. IRCG also features support for a non-streaming mode where a helper application reformats incoming data and supplies static file snippets in special formats such as cHTML (i-mode) or WML (WAP). These static files are then delivered by the high-performance web server.

Up to v4, IRCG runs under these platforms:

  • AIX

  • FreeBSD

  • HP-UX

  • Irix

  • Linux

  • Solaris

  • Tru64

  • Windows

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

설치

Detailed installation instructions can be found at » http://www.schumann.cx/ircg/. We urge you to use the provided installation script.

It is not recommended, but you can try enable IRCG support yourself. Provide the path to the ircg-config script, --with-ircg-config=path/to/irc-config and in addition add --with-ircg to your configure line.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

ircg_channel_mode -- Set channel mode flags for user
ircg_disconnect -- Close connection to server
ircg_eval_ecmascript_params -- Decodes a list of JS-encoded parameters
ircg_fetch_error_msg -- Returns the error from previous IRCG operation
ircg_get_username -- Get username for connection
ircg_html_encode -- Encodes HTML preserving output
ircg_ignore_add -- Add a user to your ignore list on a server
ircg_ignore_del -- Remove a user from your ignore list on a server
ircg_invite -- Invites nickname to channel
ircg_is_conn_alive -- Check connection status
ircg_join -- Join a channel on a connected server
ircg_kick -- Kick a user out of a channel on server
ircg_list -- List topic/user count of channel(s)
ircg_lookup_format_messages -- Check for the existence of a format message set
ircg_lusers -- IRC network statistics
ircg_msg -- Send message to channel or user on server
ircg_names -- Query visible usernames
ircg_nick -- Change nickname on server
ircg_nickname_escape -- Encode special characters in nickname to be IRC-compliant
ircg_nickname_unescape -- Decodes encoded nickname
ircg_notice -- Send a notice to a user on server
ircg_oper -- Elevates privileges to IRC OPER
ircg_part -- Leave a channel on server
ircg_pconnect -- Connect to an IRC server
ircg_register_format_messages -- Register a format message set
ircg_set_current -- Set current connection for output
ircg_set_file -- Set logfile for connection
ircg_set_on_die -- Set action to be executed when connection dies
ircg_topic -- Set topic for channel on server
ircg_who -- Queries server for WHO information
ircg_whois -- Query server for user information
이전 | 위로 | 다음
ingres_rollback | 처음으로 | ircg_channel_mode


ircg_channel_mode

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_channel_mode -- Set channel mode flags for user

설명

bool ircg_channel_mode ( resource $connection, string $channel, string $mode_spec, string $nick )

Set channel mode flags for channel on server connected to by connection. Mode flags are passed in mode_spec and are applied to the user specified by nick.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

channel

The channel name as #name.

mode_spec

The mode to be applied on nick.

Mode flags are set or cleared by specifying a mode character and prepending it with a plus or minus character, respectively. E.g. operator mode is granted by '+o' and revoked by '-o', as passed as mode_spec.

nick

The user on which to apply the given mode.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
LXXI. IRC Gateway Functions | 처음으로 | ircg_disconnect


ircg_disconnect

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.5)

ircg_disconnect -- Close connection to server

설명

bool ircg_disconnect ( resource $connection, string $reason )

ircg_disconnect() will close a connection to a server previously established with ircg_pconnect().

매개변수

connection

A connection resource handle returned by ircg_pconnect().

reason

A message for the disconnection.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ircg_pconnect()

이전 | 위로 | 다음
ircg_channel_mode | 처음으로 | ircg_eval_ecmascript_params


ircg_eval_ecmascript_params

(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5)

ircg_eval_ecmascript_params -- Decodes a list of JS-encoded parameters

설명

array ircg_eval_ecmascript_params ( string $params )
주의

This function is currently not documented; only the argument list is available.

   From the ircg_eval_ecmascript_params source file:
   /*
    * State 0: Looking for ' or digit
    * State 1: Assembling parameter inside '..'
    * State 2: After escape sign: Copies single char verbatim, go to 1
    * State 3: Assembling numeric para, no quotation
    * State 4: Looking for ",", skipping whitespace
    */

참고

ircg_lookup_format_messages()

이전 | 위로 | 다음
ircg_disconnect | 처음으로 | ircg_fetch_error_msg


ircg_fetch_error_msg

(PHP 4 >= 4.0.7, PHP 5 <= 5.0.5)

ircg_fetch_error_msg -- Returns the error from previous IRCG operation

설명

array ircg_fetch_error_msg ( resource $connection )

ircg_fetch_error_msg() returns the error from a failed connection.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

반환값

Returns an indexed array where the error code is stored in first element, and the error text in second.

The error code is equivalent to IRC reply codes as defined by RFC 2812.

예제

예 987. ircg_fetch_error_msg() example

<?php
if (!ircg_join ($id, "#php")) {
    $error = ircg_fetch_error_msg($id);
    echo "Can't join channel #php. Error code:
          $error[0] Description: $error[1]";
}
?>

이전 | 위로 | 다음
ircg_eval_ecmascript_params | 처음으로 | ircg_get_username


ircg_get_username

(PHP 4 >= 4.0.7, PHP 5 <= 5.0.5)

ircg_get_username -- Get username for connection

설명

string ircg_get_username ( resource $connection )

ircg_get_username() returns the username for the specified connection connection.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

반환값

Returns the username, or FALSE on error.

이전 | 위로 | 다음
ircg_fetch_error_msg | 처음으로 | ircg_html_encode


ircg_html_encode

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_html_encode -- Encodes HTML preserving output

설명

string ircg_html_encode ( string $html_string [, bool $auto_links [, bool $conv_br]] )

Encodes a HTML string html_string for output. This exposes the interface which the IRCG extension uses internally to reformat data coming from an IRC link. The function causes IRC color/font codes to be encoded in HTML and escapes certain entities.

매개변수

html_string

The HTML string to be encoded.

auto_links

conv_br

반환값

Returns the encoded HTML string.

이전 | 위로 | 다음
ircg_get_username | 처음으로 | ircg_ignore_add


ircg_ignore_add

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_ignore_add -- Add a user to your ignore list on a server

설명

void ircg_ignore_add ( resource $connection, string $nick )

This function adds user nick to the ignore list of the connection. Afterwards, IRCG will suppress all messages from this user through the associated connection.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

nick

The user to be ignored.

반환값

값을 반환하지 않습니다.

참고

ircg_ignore_del()

이전 | 위로 | 다음
ircg_html_encode | 처음으로 | ircg_ignore_del


ircg_ignore_del

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_ignore_del -- Remove a user from your ignore list on a server

설명

bool ircg_ignore_del ( resource $connection, string $nick )

This function removes user nick from the IRCG ignore list associated with connection.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

nick

The user nick name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ircg_ignore_add()

이전 | 위로 | 다음
ircg_ignore_add | 처음으로 | ircg_invite


ircg_invite

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5)

ircg_invite -- Invites nickname to channel

설명

bool ircg_invite ( resource $connection, string $channel, string $nickname )

ircg_invite() will send an invitation to the user nickname, prompting him to join the given channel.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

channel

The channel name as #name.

nickname

The user nick name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_ignore_del | 처음으로 | ircg_is_conn_alive


ircg_is_conn_alive

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_is_conn_alive -- Check connection status

설명

bool ircg_is_conn_alive ( resource $connection )

ircg_is_conn_alive() checks the connection status.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

반환값

Returns TRUE if connection is still alive and working or FALSE, if the connection has died for some reason.

이전 | 위로 | 다음
ircg_invite | 처음으로 | ircg_join


ircg_join

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.5)

ircg_join -- Join a channel on a connected server

설명

bool ircg_join ( resource $connection, string $channel [, string $key] )

Join the channel channel on the server connected to by connection.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

channel

The channel name as #name.

key

An optional password for the room.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_is_conn_alive | 처음으로 | ircg_kick


ircg_kick

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_kick -- Kick a user out of a channel on server

설명

bool ircg_kick ( resource $connection, string $channel, string $nick, string $reason )

Kick user nick from channel on server connected to by connection.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

channel

The channel name as #name.

nick

The user to be kicked.

reason

reason should give a short message describing why this action was performed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_join | 처음으로 | ircg_list


ircg_list

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5)

ircg_list -- List topic/user count of channel(s)

설명

bool ircg_list ( resource $connection, string $channel )

ircg_list() will request a list of users in the channel. The answer is sent to the output defined by ircg_set_file() or ircg_set_current().

매개변수

connection

A connection resource handle returned by ircg_pconnect().

channel

The channel name as #name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 988. ircg_list() example

<?php

// connect to server
$id = ircg_pconnect($nickname, $ip, $port);

// set to output to a file
ircg_set_file($id, 'irc_output.html');

// try to join a channel
if (!ircg_join($id, $channel)) {
    echo "Cannot /join $channel<br />";
}

// send list command
ircg_list($id, $channel);

// wait for output to arrive
sleep(5);

// disconnect
ircg_disconnect($id,'Bye World');

// output everything
readfile('irc_output.html');

?>

위 예제의 출력 예:

...
Channel #channel has n users and the topic is 'Topic'
End of LIST
...

참고

ircg_set_file()
ircg_set_current()
ircg_who()

이전 | 위로 | 다음
ircg_kick | 처음으로 | ircg_lookup_format_messages


ircg_lookup_format_messages

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_lookup_format_messages -- Check for the existence of a format message set

설명

bool ircg_lookup_format_messages ( string $name )

Check for the existence of the format message set name. Sets may be registered with ircg_register_format_messages(), a default set named ircg is always available.

매개변수

name

The format message set name.

반환값

Returns TRUE if the set exists, FALSE otherwise.

참고

ircg_register_format_messages()

이전 | 위로 | 다음
ircg_list | 처음으로 | ircg_lusers


ircg_lusers

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5)

ircg_lusers -- IRC network statistics

설명

bool ircg_lusers ( resource $connection )

ircg_lusers() will request a statistical breakdown of users on the network connected to on connection. The answer is sent to the output defined by ircg_set_file() or ircg_set_current().

매개변수

connection

A connection resource handle returned by ircg_pconnect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ircg_set_file()
ircg_set_current()
ircg_who()

이전 | 위로 | 다음
ircg_lookup_format_messages | 처음으로 | ircg_msg


ircg_msg

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.5)

ircg_msg -- Send message to channel or user on server

설명

bool ircg_msg ( resource $connection, string $recipient, string $message [, bool $suppress] )

ircg_msg() will send the message to a channel or user on the server.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

recipient

A recipient starting with # or & will send the message to a channel, anything else will be interpreted as a username.

message

The message to be sent.

suppress

Setting the optional parameter suppress to a TRUE value will suppress output of your message to your own connection. This so-called loopback is necessary, because the IRC server does not echo PRIVMSG commands back to us.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_lusers | 처음으로 | ircg_names


ircg_names

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5)

ircg_names -- Query visible usernames

설명

bool ircg_names ( int $connection, string $channel [, string $target] )

주의

This function is currently not documented; only the argument list is available.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

channel

The channel name as #name.

target

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ircg_get_username()
ircg_lusers()

이전 | 위로 | 다음
ircg_msg | 처음으로 | ircg_nick


ircg_nick

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_nick -- Change nickname on server

설명

bool ircg_nick ( resource $connection, string $nick )

Change your nickname on the given connection to the specified one, if possible.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

nick

The new nick name for the current user.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_names | 처음으로 | ircg_nickname_escape


ircg_nickname_escape

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

ircg_nickname_escape -- Encode special characters in nickname to be IRC-compliant

설명

string ircg_nickname_escape ( string $nick )

Function ircg_nickname_escape() returns an encoded nickname specified by nick which is IRC-compliant.

매개변수

nick

반환값

An IRC-compliant nick name.

참고

ircg_nickname_unescape()

이전 | 위로 | 다음
ircg_nick | 처음으로 | ircg_nickname_unescape


ircg_nickname_unescape

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

ircg_nickname_unescape -- Decodes encoded nickname

설명

string ircg_nickname_unescape ( string $nick )

Function ircg_nickname_unescape() returns a decoded nickname, which is specified in nick.

매개변수

nick

The encoded nick name.

반환값

Returns the decoded nick name.

참고

ircg_nickname_escape()

이전 | 위로 | 다음
ircg_nickname_escape | 처음으로 | ircg_notice


ircg_notice

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_notice -- Send a notice to a user on server

설명

bool ircg_notice ( resource $connection, string $nick, string $message )

This function will send the message text to the user nick on the server connected to by connection. IRC servers and other software will not automatically generate replies to NOTICEs in contrast to other message types.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

nick

The destination user.

message

The message contents.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_nickname_unescape | 처음으로 | ircg_oper


ircg_oper

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5)

ircg_oper -- Elevates privileges to IRC OPER

설명

bool ircg_oper ( resource $connection, string $name, string $password )

ircg_oper() will authenticate the logged in user on connection as an IRC operator.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

name

The operator account name. Must be a registered IRC account.

password

The password associated with name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_notice | 처음으로 | ircg_part


ircg_part

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.5)

ircg_part -- Leave a channel on server

설명

bool ircg_part ( resource $connection, string $channel )

Leave the channel channel on the server connected to by connection.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

channel

The channel name as #name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_oper | 처음으로 | ircg_pconnect


ircg_pconnect

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.5)

ircg_pconnect -- Connect to an IRC server

설명

resource ircg_pconnect ( string $username [, string $server_ip [, int $server_port [, string $msg_format [, array $ctcp_messages [, array $user_settings [, bool $bailout_on_trivial]]]]]] )

ircg_pconnect() will try to establish a connection to an IRC server.

매개변수

username

The initial nickname on the server.

server_ip

The IRC server address.

server_ip must be an IP address in numerical form. DNS lookups are expensive and should be done in the context of IRCG. Default to 127.0.0.1.

server_port

The server port number. Default to 6667.

msg_format

You can customize the output of IRC messages and events by selecting a format message set previously created with ircg_register_format_messages() by specifying the set's name in msg_format.

ctcp_messages

If you want to handle CTCP messages such as ACTION (/me), you need to define a mapping from CTCP type (e.g. ACTION) to a custom format string. Do this by passing an associative array as ctcp_messages. The keys of the array are the CTCP type and the respective value is the format message.

user_settings

You can define "ident", "password", and "realname" tokens which are sent to the IRC server by setting these in this associative array.

bailout_on_trivial

반환값

Returns a connection resource handle for further use, or FALSE on error.

참고

ircg_disconnect()
ircg_is_conn_alive()
ircg_register_format_messages()

이전 | 위로 | 다음
ircg_part | 처음으로 | ircg_register_format_messages


ircg_register_format_messages

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_register_format_messages -- Register a format message set

설명

bool ircg_register_format_messages ( string $name, array $messages )

With ircg_register_format_messages() you can customize the way your IRC output looks like or which script functions are invoked on the client side.

매개변수

name

messages

  • Plain channel message
  • Private message received
  • Private message sent
  • Some user leaves channel
  • Some user enters channel
  • Some user was kicked from the channel
  • Topic has been changed
  • Error
  • Fatal error
  • Join list end(?)
  • Self part(?)
  • Some user changes his nick
  • Some user quits his connection
  • Mass join begin
  • Mass join element
  • Mass join end
  • Whois user
  • Whois server
  • Whois idle
  • Whois channel
  • Whois end
  • Voice status change on user
  • Operator status change on user
  • Banlist
  • Banlist end

  • %f - from
  • %t - to
  • %c - channel
  • %r - plain message
  • %m - encoded message
  • %j - js encoded message

  • 1 - mod encode
  • 2 - nickname decode

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ircg_lookup_format_messages()

이전 | 위로 | 다음
ircg_pconnect | 처음으로 | ircg_set_current


ircg_set_current

(PHP 4 >= 4.0.4, PHP 5 <= 5.0.5)

ircg_set_current -- Set current connection for output

설명

bool ircg_set_current ( resource $connection )

Select the current HTTP connection for output in this execution context. Every output sent from the server connected to by connection will be copied to standard output while using default formatting or a format message set specified by ircg_register_format_messages().

매개변수

connection

A connection resource handle returned by ircg_pconnect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ircg_register_format_messages()

이전 | 위로 | 다음
ircg_register_format_messages | 처음으로 | ircg_set_file


ircg_set_file

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

ircg_set_file -- Set logfile for connection

설명

bool ircg_set_file ( resource $connection, string $path )

ircg_set_file() specifies a logfile in which all output from the current connection will be logged.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

path

Path to the logfile.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_set_current | 처음으로 | ircg_set_on_die


ircg_set_on_die

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

ircg_set_on_die -- Set action to be executed when connection dies

설명

bool ircg_set_on_die ( resource $connection, string $host, int $port, string $data )

In case of the termination of the connection, IRCG will connect to the specified host, send data to the new host connection and will wait until the remote part closes connection. This can be used to trigger a PHP script for example.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

host

This must be an IPv4 address as IRCG does not resolve host-names due to blocking issues.

port

The port number.

data

The data to be sent before closing the connection.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: This feature requires IRCG 3.

이전 | 위로 | 다음
ircg_set_file | 처음으로 | ircg_topic


ircg_topic

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_topic -- Set topic for channel on server

설명

bool ircg_topic ( resource $connection, string $channel, string $new_topic )

Change the topic for the channel.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

channel

The channel name as #name.

new_topic

The new topic to be set.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_set_on_die | 처음으로 | ircg_who


ircg_who

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5)

ircg_who -- Queries server for WHO information

설명

bool ircg_who ( resource $connection, string $mask [, bool $ops_only] )

ircg_who() will request a list of users whose nickname is matching the given mask.

The answer is sent to the output defined by ircg_set_file() or ircg_set_current().

매개변수

connection

A connection resource handle returned by ircg_pconnect().

mask

A mask for the nickname.

ops_only

The optional parameter ops_only will shrink the list to server operators only.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ircg_set_file()
ircg_set_current()

이전 | 위로 | 다음
ircg_topic | 처음으로 | ircg_whois


ircg_whois

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5)

ircg_whois -- Query server for user information

설명

bool ircg_whois ( resource $connection, string $nick )

Sends a query to ask for information about the specified user.

매개변수

connection

A connection resource handle returned by ircg_pconnect().

nick

The user nick name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ircg_who | 처음으로 | LXXII. PHP / Java Integration


PHP / Java Integration

이전 VI. 함수 레퍼런스 다음

LXXII. PHP / Java Integration

소개

There are two possible ways to bridge PHP and Java: you can either integrate PHP into a Java Servlet environment, which is the more stable and efficient solution, or integrate Java support into PHP. The former is provided by a SAPI module that interfaces with the Servlet server, the latter by this Java extension.

The Java extension provides a simple and effective means for creating and invoking methods on Java objects from PHP. The JVM is created using JNI, and everything runs in-process.

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

요구 조건

You need a Java VM installed on your machine to use this extension.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PHP 4에서 이 PECL 확장의 소스는 PHP 소스의 ext/ 디렉토리 안이나, 위의 PECL 링크에서 찾을 수 있습니다. In order to use these functions you must compile PHP with Java support by using the --with-java[=DIR] where DIR points to the base install directory of your JDK. This extension can only be built as a shared extension. Additional build extensions can be found in php-src/ext/java/README.

Windows users will enable php_java.dll inside of php.ini in order to use these functions. PHP 4에서 이 DLL 형식은 내려받은 PHP 윈도우 바이너리 안의 extensions/ 디렉토리 안에 있습니다. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

참고: In order to enable this module on a Windows environment with PHP <= 4.0.6, you must make jvm.dll available to your systems PATH. No additional DLL is needed for PHP versions > 4.0.6.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 147. Java configuration options

Name | Default | Changeable | Changelog
java.class.path | NULL | PHP_INI_ALL |
java.home | NULL | PHP_INI_ALL |
java.library.path | NULL | PHP_INI_ALL |
java.library | JAVALIB | PHP_INI_ALL |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

예 989. Java Example

<?php
// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');

// demonstrate property access
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
             $system->getProperty('os.version') . ' on ' .
             $system->getProperty('os.arch') . ' <br />';

// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
                      "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format(new Java('java.util.Date'));
?>

예 990. AWT Example

<?php
// This example is only intended to be run as a CGI.

$frame  = new Java('java.awt.Frame', 'PHP');
$button = new Java('java.awt.Button', 'Hello Java World!');

$frame->add('North', $button);
$frame->validate();
$frame->pack();
$frame->visible = True;

$thread = new Java('java.lang.Thread');
$thread->sleep(10000);

$frame->dispose();
?>

Notes:
  • new Java() will create an instance of a class if a suitable constructor is available. If no parameters are passed and the default constructor is useful as it provides access to classes like java.lang.System which expose most of their functionallity through static methods.
  • Accessing a member of an instance will first look for bean properties then public fields. In other words, print $date.time will first attempt to be resolved as $date.getTime(), then as $date.time.
  • Both static and instance members can be accessed on an object with the same syntax. Furthermore, if the java object is of type java.lang.Class, then static members of the class (fields and methods) can be accessed.

  • Exceptions raised result in PHP warnings, and NULL results. The warnings may be eliminated by prefixing the method call with an "@" sign. The following APIs may be used to retrieve and reset the last error:

    • java_last_exception_get()
    • java_last_exception_clear()

  • Overload resolution is in general a hard problem given the differences in types between the two languages. The PHP Java extension employs a simple, but fairly effective, metric for determining which overload is the best match.

    Additionally, method names in PHP are not case sensitive, potentially increasing the number of overloads to select from.

    Once a method is selected, the parameters are coerced if necessary, possibly with a loss of data (example: double precision floating point numbers will be converted to boolean).

  • In the tradition of PHP, arrays and hashtables may pretty much be used interchangably. Note that hashtables in PHP may only be indexed by integers or strings; and that arrays of primitive types in Java can not be sparse. Also note that these constructs are passed by value, so may be expensive in terms of memory and time.

Java Servlet SAPI

The Java Servlet SAPI builds upon the mechanism defined by the Java extension to enable the entire PHP processor to be run as a servlet. The primary advantage of this from a PHP perspective is that web servers which support servlets typically take great care in pooling and reusing JVMs. Build instructions for the Servlet SAPI module can be found in php4/sapi/README. Notes:

  • While this code is intended to be able to run on any servlet engine, it has only been tested on Apache's Jakarta/tomcat to date. Bug reports, success stories and/or patches required to get this code to run on other engines would be appreciated.
  • PHP has a habit of changing the working directory. sapi/servlet will eventually change it back, but while PHP is running the servlet engine may not be able to load any classes from the CLASSPATH which are specified using a relative directory syntax, or find the work directory used for administration and JSP compilation tasks.

차례

java_last_exception_clear -- Clear last Java exception
java_last_exception_get -- Get last Java exception
이전 | 위로 | 다음
ircg_whois | 처음으로 | java_last_exception_clear


java_last_exception_clear

(PHP 4 >= 4.0.2)

java_last_exception_clear -- Clear last Java exception

설명

void java_last_exception_clear ( void )

Clears last Java exception.

반환값

값을 반환하지 않습니다.

예제

See java_last_exception_get() for an example.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
LXXII. PHP / Java Integration | 처음으로 | java_last_exception_get


java_last_exception_get

(PHP 4 >= 4.0.2)

java_last_exception_get -- Get last Java exception

설명

object java_last_exception_get ( void )

Gets last Java exception.

반환값

Returns an exception object.

예제

The following example demonstrates the usage of Java's exception handler from within PHP:

예 991. Java exception handler

<?php
$stack = new Java('java.util.Stack');
$stack->push(1);

// This should succeed
$result = $stack->pop();
$ex = java_last_exception_get();
if (!$ex) {
  echo "$result\n";
}

// This should fail (error suppressed by @)
$result = @$stack->pop();
$ex = java_last_exception_get();
if ($ex) {
  echo $ex->toString();
}

// Clear last exception
java_last_exception_clear();
?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
java_last_exception_clear | 처음으로 | LXXIII. JSON Functions


LDAP Functions

이전 VI. 함수 레퍼런스 다음

LXXV. LDAP Functions

소개

LDAP is the Lightweight Directory Access Protocol, and is a protocol used to access "Directory Servers". The Directory is a special kind of database that holds information in a tree structure.

The concept is similar to your hard disk directory structure, except that in this context, the root directory is "The world" and the first level subdirectories are "countries". Lower levels of the directory structure contain entries for companies, organisations or places, while yet lower still we find directory entries for people, and perhaps equipment or documents.

To refer to a file in a subdirectory on your hard disk, you might use something like:

/usr/local/myapp/docs

The forwards slash marks each division in the reference, and the sequence is read from left to right.

The equivalent to the fully qualified file reference in LDAP is the "distinguished name", referred to simply as "dn". An example dn might be:

cn=John Smith,ou=Accounts,o=My Company,c=US

The comma marks each division in the reference, and the sequence is read from right to left. You would read this dn as:

country = US
organization = My Company
organizationalUnit = Accounts
commonName = John Smith

In the same way as there are no hard rules about how you organise the directory structure of a hard disk, a directory server manager can set up any structure that is meaningful for the purpose. However, there are some conventions that are used. The message is that you can not write code to access a directory server unless you know something about its structure, any more than you can use a database without some knowledge of what is available.

Lots of information about LDAP can be found at

  • » Mozilla

  • » OpenLDAP Project

The Netscape SDK contains a helpful » Programmer's Guide in HTML format.

요구 조건

You will need to get and compile LDAP client libraries from either » OpenLDAP or » Bind9.net in order to compile PHP with LDAP support.

설치

LDAP support in PHP is not enabled by default. You will need to use the --with-ldap[=DIR] configuration option when compiling PHP to enable LDAP support. DIR is the LDAP base install directory. To enable SASL support, be sure --with-ldap-sasl[=DIR] is used, and that sasl.h exists on the system.

Note to Win32 Users: In order for this extension to work, there are DLL files that must be available to the Windows system PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the systems PATH), it is not recommended. This extension requires the following files to be in the PATH: libeay32.dll and ssleay32.dll

Versions before PHP 4.3.0 additionally require libsasl.dll.

In order to use Oracle LDAP libraries, proper Oracle environment has to be set.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 150. LDAP configuration options

Name | Default | Changeable | Changelog
ldap.max_links | "-1" | PHP_INI_SYSTEM |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

Most LDAP functions operate on or return resources (e.g. ldap_connect() returns a positive LDAP link identifier required by most LDAP functions).

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

LDAP_DEREF_NEVER (integer)
LDAP_DEREF_SEARCHING (integer)
LDAP_DEREF_FINDING (integer)
LDAP_DEREF_ALWAYS (integer)
LDAP_OPT_DEREF (integer)
LDAP_OPT_SIZELIMIT (integer)
LDAP_OPT_TIMELIMIT (integer)
LDAP_OPT_NETWORK_TIMEOUT (integer)
Option for ldap_set_option() to allow setting network timeout. (Available as of PHP 5.3.0)
LDAP_OPT_PROTOCOL_VERSION (integer)
LDAP_OPT_ERROR_NUMBER (integer)
LDAP_OPT_REFERRALS (integer)
LDAP_OPT_RESTART (integer)
LDAP_OPT_HOST_NAME (integer)
LDAP_OPT_ERROR_STRING (integer)
LDAP_OPT_MATCHED_DN (integer)
LDAP_OPT_SERVER_CONTROLS (integer)
LDAP_OPT_CLIENT_CONTROLS (integer)
LDAP_OPT_DEBUG_LEVEL (integer)
GSLC_SSL_NO_AUTH (integer)
GSLC_SSL_ONEWAY_AUTH (integer)
GSLC_SSL_TWOWAY_AUTH (integer)

예제

Retrieve information for all entries where the surname starts with "S" from a directory server, displaying an extract with name and email address.

예 1003. LDAP search example

<?php
// basic sequence with LDAP is connect, bind, search, interpret search
// result, close connection

echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost");  // must be a valid LDAP server!
echo "connect result is " . $ds . "<br />";

if ($ds) {
    echo "Binding ...";
    $r=ldap_bind($ds);     // this is an "anonymous" bind, typically
                           // read-only access
    echo "Bind result is " . $r . "<br />";

    echo "Searching for (sn=S*) ...";
    // Search surname entry
    $sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
    echo "Search result is " . $sr . "<br />";

    echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";

    echo "Getting entries ...<p>";
    $info = ldap_get_entries($ds, $sr);
    echo "Data for " . $info["count"] . " items returned:<p>";

    for ($i=0; $i<$info["count"]; $i++) {
        echo "dn is: " . $info[$i]["dn"] . "<br />";
        echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
        echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
    }

    echo "Closing connection";
    ldap_close($ds);

} else {
    echo "<h4>Unable to connect to LDAP server</h4>";
}
?>

Using the PHP LDAP calls

Before you can use the LDAP calls you will need to know ..

  • The name or address of the directory server you will use

  • The "base dn" of the server (the part of the world directory that is held on this server, which could be "o=My Company,c=US")

  • Whether you need a password to access the server (many servers will provide read access for an "anonymous bind" but require a password for anything else)

The typical sequence of LDAP calls you will make in an application will follow this pattern:

ldap_connect() // establish connection to server
|
ldap_bind() // anonymous or authenticated "login"
|
do something like search or update the directory
and display the results
|
ldap_close() // "logout"

차례

ldap_8859_to_t61 -- Translate 8859 characters to t61 characters
ldap_add -- Add entries to LDAP directory
ldap_bind -- Bind to LDAP directory
ldap_close -- Alias of ldap_unbind()
ldap_compare -- Compare value of attribute found in entry specified with DN
ldap_connect -- Connect to an LDAP server
ldap_count_entries -- Count the number of entries in a search
ldap_delete -- Delete an entry from a directory
ldap_dn2ufn -- Convert DN to User Friendly Naming format
ldap_err2str -- Convert LDAP error number into string error message
ldap_errno -- Return the LDAP error number of the last LDAP command
ldap_error -- Return the LDAP error message of the last LDAP command
ldap_explode_dn -- Splits DN into its component parts
ldap_first_attribute -- Return first attribute
ldap_first_entry -- Return first result id
ldap_first_reference -- Return first reference
ldap_free_result -- Free result memory
ldap_get_attributes -- Get attributes from a search result entry
ldap_get_dn -- Get the DN of a result entry
ldap_get_entries -- Get all result entries
ldap_get_option -- Get the current value for given option
ldap_get_values_len -- Get all binary values from a result entry
ldap_get_values -- Get all values from a result entry
ldap_list -- Single-level search
ldap_mod_add -- Add attribute values to current attributes
ldap_mod_del -- Delete attribute values from current attributes
ldap_mod_replace -- Replace attribute values with new ones
ldap_modify -- Modify an LDAP entry
ldap_next_attribute -- Get the next attribute in result
ldap_next_entry -- Get next result entry
ldap_next_reference -- Get next reference
ldap_parse_reference -- Extract information from reference entry
ldap_parse_result -- Extract information from result
ldap_read -- Read an entry
ldap_rename -- Modify the name of an entry
ldap_sasl_bind -- Bind to LDAP directory using SASL
ldap_search -- Search LDAP tree
ldap_set_option -- Set the value of the given option
ldap_set_rebind_proc -- Set a callback function to do re-binds on referral chasing
ldap_sort -- Sort LDAP result entries
ldap_start_tls -- Start TLS
ldap_t61_to_8859 -- Translate t61 characters to 8859 characters
ldap_unbind -- Unbind from LDAP directory
이전 | 위로 | 다음
kadm5_modify_principal | 처음으로 | ldap_8859_to_t61


ldap_8859_to_t61

(PHP 4 >= 4.0.2, PHP 5)

ldap_8859_to_t61 -- Translate 8859 characters to t61 characters

설명

string ldap_8859_to_t61 ( string $value )

Translate ISO-8859 characters to t61 characters.

This function is useful if you have to talk to a legacy LDAPv2 server.

매개변수

value

The text to be translated.

반환값

Return the t61 translation of value.

참고

ldap_t61_to_8859()

이전 | 위로 | 다음
LXXV. LDAP Functions | 처음으로 | ldap_add


ldap_add

(PHP 4, PHP 5)

ldap_add -- Add entries to LDAP directory

설명

bool ldap_add ( resource $link_identifier, string $dn, array $entry )

Add entries in the LDAP directory.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

An array that specifies the information about the entry. The values in the entries are indexed by individual attributes. In case of multiple values for an attribute, they are indexed using integers starting with 0.

<?php
$entree["attribut1"] = "value";
$entree["attribut2"][0] = "value1";
$entree["attribut2"][1] = "value2";
?>

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1004. Complete example with authenticated bind

<?php
$ds = ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {
    // bind with appropriate dn to give update access
    $r = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");

    // prepare data
    $info["cn"] = "John Jones";
    $info["sn"] = "Jones";
    $info["mail"] = "jonj@example.com";
    $info["objectclass"] = "person";

    // add data to directory
    $r = ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info);

    ldap_close($ds);
} else {
    echo "Unable to connect to LDAP server";
}
?>

주의

참고: 이 함수는 바이너리 호환(binary-safe)입니다.

참고

ldap_delete()

이전 | 위로 | 다음
ldap_8859_to_t61 | 처음으로 | ldap_bind


ldap_bind

(PHP 4, PHP 5)

ldap_bind -- Bind to LDAP directory

설명

bool ldap_bind ( resource $link_identifier [, string $bind_rdn [, string $bind_password]] )

Binds to the LDAP directory with specified RDN and password.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

bind_rdn

bind_password

If bind_rdn and bind_password are not specified, an anonymous bind is attempted.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1005. Using LDAP Bind

<?php

// using ldap bind
$ldaprdn  = 'uname';     // ldap rdn or dn
$ldappass = 'password';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}

?>

예 1006. Using LDAP Bind Anonymously

<?php

//using ldap bind anonymously

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding anonymously
    $ldapbind = ldap_bind($ldapconn);

    if ($ldapbind) {
        echo "LDAP bind anonymous successful...";
    } else {
        echo "LDAP bind anonymous failed...";
    }

}

?>

참고

ldap_unbind()

이전 | 위로 | 다음
ldap_add | 처음으로 | ldap_close


ldap_close

(PHP 4, PHP 5)

ldap_close -- Alias of ldap_unbind()

설명

이 함수는 다음 함수의 alias입니다: ldap_unbind().

이전 | 위로 | 다음
ldap_bind | 처음으로 | ldap_compare


ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

ldap_compare -- Compare value of attribute found in entry specified with DN

설명

mixed ldap_compare ( resource $link_identifier, string $dn, string $attribute, string $value )

Compare value of attribute with value of same attribute in an LDAP directory entry.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

attribute

The attribute name.

value

The compared value.

반환값

Returns TRUE if value matches otherwise returns FALSE. Returns -1 on error.

예제

The following example demonstrates how to check whether or not given password matches the one defined in DN specified entry.

예 1007. Complete example of password check

<?php

$ds=ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {

    // bind
    if (ldap_bind($ds)) {

        // prepare data
        $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        $value = "secretpassword";
        $attr = "password";

        // compare value
        $r=ldap_compare($ds, $dn, $attr, $value);

        if ($r === -1) {
            echo "Error: " . ldap_error($ds);
        } elseif ($r === true) {
            echo "Password correct.";
        } elseif ($r === false) {
            echo "Wrong guess! Password incorrect.";
        }

    } else {
        echo "Unable to bind to LDAP server.";
    }

    ldap_close($ds);

} else {
    echo "Unable to connect to LDAP server.";
}
?>

주의

주의

ldap_compare() can NOT be used to compare BINARY values!

이전 | 위로 | 다음
ldap_close | 처음으로 | ldap_connect


ldap_connect

(PHP 4, PHP 5)

ldap_connect -- Connect to an LDAP server

설명

resource ldap_connect ( [string $hostname [, int $port]] )

Establishes a connection to a LDAP server on a specified hostname and port.

매개변수

hostname

If you are using OpenLDAP 2.x.x you can specify a URL instead of the hostname. To use LDAP with SSL, compile OpenLDAP 2.x.x with SSL support, configure PHP with SSL, and set this parameter as ldaps://hostname/.

port

The port to connect to. Not used when using URLs. Defaults to 389.

반환값

Returns a positive LDAP link identifier on success, or FALSE on error. When OpenLDAP 2.x.x is used, ldap_connect() will always return a resource as it does not actually connect but just initializes the connecting parameters. The actual connect happens with the next calls to ldap_* funcs, usually with ldap_bind().

If no arguments are specified then the link identifier of the already opened link will be returned.

변경 기록

버전 | 설명
4.0.4 | URL and SSL support was added.

예제

예 1008. Example of connecting to LDAP server.

<?php

// LDAP variables
$ldaphost = "ldap.example.com";  // your ldap servers
$ldapport = 389;                 // your ldap server's port number

// Connecting to LDAP
$ldapconn = ldap_connect($ldaphost, $ldapport)
          or die("Could not connect to $ldaphost");

?>

예 1009. Example of connecting securely to LDAP server.

<?php

// make sure your host is the correct one
// that you issued your secure certificate to
$ldaphost = "ldaps://ldap.example.com/";

// Connecting to LDAP
$ldapconn = ldap_connect($ldaphost)
          or die("Could not connect to {$ldaphost}");

?>

참고

ldap_bind()

이전 | 위로 | 다음
ldap_compare | 처음으로 | ldap_count_entries


ldap_count_entries

(PHP 4, PHP 5)

ldap_count_entries -- Count the number of entries in a search

설명

int ldap_count_entries ( resource $link_identifier, resource $result_identifier )

Returns the number of entries stored in the result of previous search operations.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_identifier

The internal LDAP result.

반환값

Returns number of entries in the result or FALSE on error.

이전 | 위로 | 다음
ldap_connect | 처음으로 | ldap_delete


ldap_delete

(PHP 4, PHP 5)

ldap_delete -- Delete an entry from a directory

설명

bool ldap_delete ( resource $link_identifier, string $dn )

Deletes a particular entry in LDAP directory.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ldap_add()

이전 | 위로 | 다음
ldap_count_entries | 처음으로 | ldap_dn2ufn


ldap_dn2ufn

(PHP 4, PHP 5)

ldap_dn2ufn -- Convert DN to User Friendly Naming format

설명

string ldap_dn2ufn ( string $dn )

Turns the specified dn, into a more user-friendly form, stripping off type names.

매개변수

dn

The distinguished name of an LDAP entity.

반환값

Returns the user friendly name.

이전 | 위로 | 다음
ldap_delete | 처음으로 | ldap_err2str


ldap_err2str

(PHP 4, PHP 5)

ldap_err2str -- Convert LDAP error number into string error message

설명

string ldap_err2str ( int $errno )

Returns the string error message explaining the error number errno. While LDAP errno numbers are standardized, different libraries return different or even localized textual error messages. Never check for a specific error message text, but always use an error number to check.

매개변수

errno

The error number.

반환값

Returns the error message, as a string.

예제

예 1010. Enumerating all LDAP error messages

<?php
  for ($i=0; $i<100; $i++) {
    printf("Error $i: %s<br />\n", ldap_err2str($i));
  }
?>

참고

ldap_errno()
ldap_error()

이전 | 위로 | 다음
ldap_dn2ufn | 처음으로 | ldap_errno


ldap_errno

(PHP 4, PHP 5)

ldap_errno -- Return the LDAP error number of the last LDAP command

설명

int ldap_errno ( resource $link_identifier )

Returns the standardized error number returned by the last LDAP command. This number can be converted into a textual error message using ldap_err2str().

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

반환값

Return the LDAP error number of the last LDAP command for this link.

예제

Unless you lower your warning level in your php.ini sufficiently or prefix your LDAP commands with @ (at) characters to suppress warning output, the errors generated will also show up in your HTML output.

예 1011. Generating and catching an error

<?php
// This example contains an error, which we will catch.
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);
// syntax error in filter expression (errno 87),
// must be "objectclass=*" to work.
$res =  @ldap_search($ld, "o=Myorg, c=DE", "objectclass");
if (!$res) {
    echo "LDAP-Errno: " . ldap_errno($ld) . "<br />\n";
    echo "LDAP-Error: " . ldap_error($ld) . "<br />\n";
    die("Argh!<br />\n");
}
$info = ldap_get_entries($ld, $res);
echo $info["count"] . " matching entries.<br />\n";
?>

참고

ldap_err2str()
ldap_error()

이전 | 위로 | 다음
ldap_err2str | 처음으로 | ldap_error


ldap_error

(PHP 4, PHP 5)

ldap_error -- Return the LDAP error message of the last LDAP command

설명

string ldap_error ( resource $link_identifier )

Returns the string error message explaining the error generated by the last LDAP command for the given link_identifier. While LDAP errno numbers are standardized, different libraries return different or even localized textual error messages. Never check for a specific error message text, but always use an error number to check.

Unless you lower your warning level in your php.ini sufficiently or prefix your LDAP commands with @ (at) characters to suppress warning output, the errors generated will also show up in your HTML output.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

반환값

Returns string error message.

참고

ldap_err2str()
ldap_errno()

이전 | 위로 | 다음
ldap_errno | 처음으로 | ldap_explode_dn


ldap_explode_dn

(PHP 4, PHP 5)

ldap_explode_dn -- Splits DN into its component parts

설명

array ldap_explode_dn ( string $dn, int $with_attrib )

Splits the DN returned by ldap_get_dn() and breaks it up into its component parts. Each part is known as Relative Distinguished Name, or RDN.

매개변수

dn

The distinguished name of an LDAP entity.

with_attrib

Used to request if the RDNs are returned with only values or their attributes as well. To get RDNs with the attributes (i.e. in attribute=value format) set with_attrib to 0 and to get only values set it to 1.

반환값

Returns an array of all DN components.

이전 | 위로 | 다음
ldap_error | 처음으로 | ldap_first_attribute


ldap_first_attribute

(PHP 4, PHP 5)

ldap_first_attribute -- Return first attribute

설명

string ldap_first_attribute ( resource $link_identifier, resource $result_entry_identifier )

Gets the first attribute in the given entry. Remaining attributes are retrieved by calling ldap_next_attribute() successively.

Similar to reading entries, attributes are also read one by one from a particular entry.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

ber_identifier

ber_identifier is the identifier to internal memory location pointer. It is passed by reference. The same ber_identifier is passed to ldap_next_attribute() , which modifies that pointer.

참고: This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed.

반환값

Returns the first attribute in the entry on success and FALSE on error.

변경 기록

버전 | 설명
5.2.4 | The ber_identifier was removed. This is now handled automatically by PHP.

참고

ldap_next_attribute()
ldap_get_attributes()

이전 | 위로 | 다음
ldap_explode_dn | 처음으로 | ldap_first_entry


ldap_first_entry

(PHP 4, PHP 5)

ldap_first_entry -- Return first result id

설명

resource ldap_first_entry ( resource $link_identifier, resource $result_identifier )

Returns the entry identifier for first entry in the result. This entry identifier is then supplied to ldap_next_entry() routine to get successive entries from the result.

Entries in the LDAP result are read sequentially using the ldap_first_entry() and ldap_next_entry() functions.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_identifier

반환값

Returns the result entry identifier for the first entry on success and FALSE on error.

참고

ldap_get_entries()

이전 | 위로 | 다음
ldap_first_attribute | 처음으로 | ldap_first_reference


ldap_first_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_first_reference -- Return first reference

설명

resource ldap_first_reference ( resource $link, resource $result )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ldap_first_entry | 처음으로 | ldap_free_result


ldap_free_result

(PHP 4, PHP 5)

ldap_free_result -- Free result memory

설명

bool ldap_free_result ( resource $result_identifier )

Frees up the memory allocated internally to store the result. All result memory will be automatically freed when the script terminates.

Typically all the memory allocated for the LDAP result gets freed at the end of the script. In case the script is making successive searches which return large result sets, ldap_free_result() could be called to keep the runtime memory usage by the script low.

매개변수

result_identifier

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ldap_first_reference | 처음으로 | ldap_get_attributes


ldap_get_attributes

(PHP 4, PHP 5)

ldap_get_attributes -- Get attributes from a search result entry

설명

array ldap_get_attributes ( resource $link_identifier, resource $result_entry_identifier )

Reads attributes and values from an entry in the search result.

Having located a specific entry in the directory, you can find out what information is held for that entry by using this call. You would use this call for an application which "browses" directory entries and/or where you do not know the structure of the directory entries. In many applications you will be searching for a specific attribute such as an email address or a surname, and won't care what other data is held.

return_value["count"] = number of attributes in the entry
return_value[0] = first attribute
return_value[n] = nth attribute

return_value["attribute"]["count"] = number of values for attribute
return_value["attribute"][0] = first value of the attribute
return_value["attribute"][i] = (i+1)th value of the attribute

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

반환값

Returns a complete entry information in a multi-dimensional array on success and FALSE on error.

예제

예 1012. Show the list of attributes held for a particular directory entry

<?php
// $ds is the link identifier for the directory

// $sr is a valid search result from a prior call to
// one of the ldap directory search calls

$entry = ldap_first_entry($ds, $sr);

$attrs = ldap_get_attributes($ds, $entry);

echo $attrs["count"] . " attributes held for this entry:<p>";

for ($i=0; $i < $attrs["count"]; $i++) {
    echo $attrs[$i] . "<br />";
}
?>

참고

ldap_first_attribute()
ldap_next_attribute()

이전 | 위로 | 다음
ldap_free_result | 처음으로 | ldap_get_dn


ldap_get_dn

(PHP 4, PHP 5)

ldap_get_dn -- Get the DN of a result entry

설명

string ldap_get_dn ( resource $link_identifier, resource $result_entry_identifier )

Finds out the DN of an entry in the result.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

반환값

Returns the DN of the result entry and FALSE on error.

이전 | 위로 | 다음
ldap_get_attributes | 처음으로 | ldap_get_entries


ldap_get_entries

(PHP 4, PHP 5)

ldap_get_entries -- Get all result entries

설명

array ldap_get_entries ( resource $link_identifier, resource $result_identifier )

Reads multiple entries from the given result, and then reading the attributes and multiple values.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_identifier

반환값

Returns a complete result information in a multi-dimensional array on success and FALSE on error.

The structure of the array is as follows. The attribute index is converted to lowercase. (Attributes are case-insensitive for directory servers, but not when used as array indices.)

return_value["count"] = number of entries in the result
return_value[0] : refers to the details of first entry

return_value[i]["dn"] =  DN of the ith entry in the result

return_value[i]["count"] = number of attributes in ith entry
return_value[i][j] = jth attribute in the ith entry in the result

return_value[i]["attribute"]["count"] = number of values for
                                        attribute in ith entry
return_value[i]["attribute"][j] = jth value of attribute in ith entry

참고

ldap_first_entry()
ldap_next_entry()

이전 | 위로 | 다음
ldap_get_dn | 처음으로 | ldap_get_option


ldap_get_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_get_option -- Get the current value for given option

설명

bool ldap_get_option ( resource $link_identifier, int $option, mixed &$retval )

Sets retval to the value of the specified option.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

option

The parameter option can be one of:

Option | Type
LDAP_OPT_DEREF | integer
LDAP_OPT_SIZELIMIT | integer
LDAP_OPT_TIMELIMIT | integer
LDAP_OPT_NETWORK_TIMEOUT | integer
LDAP_OPT_PROTOCOL_VERSION | integer
LDAP_OPT_ERROR_NUMBER | integer
LDAP_OPT_REFERRALS | bool
LDAP_OPT_RESTART | bool
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array

retval

This will be set to the option value.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1013. Check protocol version

<?php
// $ds is a valid link identifier for a directory server
if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) {
    echo "Using protocol version $version\n";
} else {
    echo "Unable to determine protocol version\n";
}
?>

주의

참고: This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

참고

ldap_set_option()

이전 | 위로 | 다음
ldap_get_entries | 처음으로 | ldap_get_values_len


ldap_get_values_len

(PHP 4, PHP 5)

ldap_get_values_len -- Get all binary values from a result entry

설명

array ldap_get_values_len ( resource $link_identifier, resource $result_entry_identifier, string $attribute )

Reads all the values of the attribute in the entry in the result.

This function is used exactly like ldap_get_values() except that it handles binary data and not string data.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

attribute

반환값

Returns an array of values for the attribute on success and FALSE on error. Individual values are accessed by integer index in the array. The first index is 0. The number of values can be found by indexing "count" in the resultant array.

참고

ldap_get_values()

이전 | 위로 | 다음
ldap_get_option | 처음으로 | ldap_get_values


ldap_get_values

(PHP 4, PHP 5)

ldap_get_values -- Get all values from a result entry

설명

array ldap_get_values ( resource $link_identifier, resource $result_entry_identifier, string $attribute )

Reads all the values of the attribute in the entry in the result.

This call needs a result_entry_identifier, so needs to be preceded by one of the ldap search calls and one of the calls to get an individual entry.

You application will either be hard coded to look for certain attributes (such as "surname" or "mail") or you will have to use the ldap_get_attributes() call to work out what attributes exist for a given entry.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

attribute

반환값

Returns an array of values for the attribute on success and FALSE on error. The number of values can be found by indexing "count" in the resultant array. Individual values are accessed by integer index in the array. The first index is 0.

LDAP allows more than one entry for an attribute, so it can, for example, store a number of email addresses for one person's directory entry all labeled with the attribute "mail"

return_value["count"] = number of values for attribute
return_value[0] = first value of attribute
return_value[i] = ith value of attribute

예제

예 1014. List all values of the "mail" attribute for a directory entry

<?php
// $ds is a valid link identifier for a directory server

// $sr is a valid search result from a prior call to
//     one of the ldap directory search calls

// $entry is a valid entry identifier from a prior call to
//        one of the calls that returns a directory entry

$values = ldap_get_values($ds, $entry, "mail");

echo $values["count"] . " email addresses for this entry.<br />";

for ($i=0; $i < $values["count"]; $i++) {
    echo $values[$i] . "<br />";
}
?>

참고

ldap_get_values_len()

이전 | 위로 | 다음
ldap_get_values_len | 처음으로 | ldap_list


ldap_list

(PHP 4, PHP 5)

ldap_list -- Single-level search

설명

resource ldap_list ( resource $link_identifier, string $base_dn, string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref]]]]] )

Performs the search for a specified filter on the directory with the scope LDAP_SCOPE_ONELEVEL.

LDAP_SCOPE_ONELEVEL means that the search should only return information that is at the level immediately below the base_dn given in the call. (Equivalent to typing "ls" and getting a list of files and folders in the current working directory.)

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

base_dn

The base DN for the directory.

filter

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attrsonly

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

참고: This parameter can NOT override server-side preset sizelimit. You can set it lower though.

Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

참고: This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

반환값

Returns a search result identifier or FALSE on error.

변경 기록

버전 | 설명
4.0.5 | Parallel searches support was added. See ldap_search() for details.
4.0.2 | The attrsonly, sizelimit, timelimit and deref were added.

예제

예 1015. Produce a list of all organizational units of an organization

// $ds is a valid link identifier for a directory server

$basedn = "o=My Company, c=US";
$justthese = array("ou");

$sr=ldap_list($ds, $basedn, "ou=*", $justthese);

$info = ldap_get_entries($ds, $sr);

for ($i=0; $i<$info["count"]; $i++) {
    echo $info[$i]["ou"][0] ;
}

참고

ldap_search()

이전 | 위로 | 다음
ldap_get_values | 처음으로 | ldap_mod_add


ldap_mod_add

(PHP 4, PHP 5)

ldap_mod_add -- Add attribute values to current attributes

설명

bool ldap_mod_add ( resource $link_identifier, string $dn, array $entry )

Adds one or more attributes to the specified dn. It performs the modification at the attribute level as opposed to the object level. Object-level additions are done by the ldap_add() function.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 바이너리 호환(binary-safe)입니다.

참고

ldap_mod_del()
ldap_mod_replace()

이전 | 위로 | 다음
ldap_list | 처음으로 | ldap_mod_del


ldap_mod_del

(PHP 4, PHP 5)

ldap_mod_del -- Delete attribute values from current attributes

설명

bool ldap_mod_del ( resource $link_identifier, string $dn, array $entry )

Removes one or more attributes from the specified dn. It performs the modification at the attribute level as opposed to the object level. Object-level deletions are done by the ldap_delete() function.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ldap_mod_add()
ldap_mod_replace()

이전 | 위로 | 다음
ldap_mod_add | 처음으로 | ldap_mod_replace


ldap_mod_replace

(PHP 4, PHP 5)

ldap_mod_replace -- Replace attribute values with new ones

설명

bool ldap_mod_replace ( resource $link_identifier, string $dn, array $entry )

Replaces one or more attributes from the specified dn. It performs the modification at the attribute level as opposed to the object level. Object-level modifications are done by the ldap_modify() function.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 바이너리 호환(binary-safe)입니다.

참고

ldap_mod_del()
ldap_mod_add()

이전 | 위로 | 다음
ldap_mod_del | 처음으로 | ldap_modify


ldap_modify

(PHP 4, PHP 5)

ldap_modify -- Modify an LDAP entry

설명

bool ldap_modify ( resource $link_identifier, string $dn, array $entry )

Modify the existing entries in the LDAP directory. The structure of the entry is same as in ldap_add().

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 바이너리 호환(binary-safe)입니다.

참고

ldap_rename()

이전 | 위로 | 다음
ldap_mod_replace | 처음으로 | ldap_next_attribute


ldap_next_attribute

(PHP 4, PHP 5)

ldap_next_attribute -- Get the next attribute in result

설명

string ldap_next_attribute ( resource $link_identifier, resource $result_entry_identifier )

Retrieves the attributes in an entry. The first call to ldap_next_attribute() is made with the result_entry_identifier returned from ldap_first_attribute().

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

ber_identifier

The internal state of the pointer is maintained by this parameter.

참고: This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed.

반환값

Returns the next attribute in an entry on success and FALSE on error.

변경 기록

버전 | 설명
5.2.4 | The ber_identifier was removed. This is now handled automatically by PHP.

참고

ldap_get_attributes()

이전 | 위로 | 다음
ldap_modify | 처음으로 | ldap_next_entry


ldap_next_entry

(PHP 4, PHP 5)

ldap_next_entry -- Get next result entry

설명

resource ldap_next_entry ( resource $link_identifier, resource $result_entry_identifier )

Retrieve the entries stored in the result. Successive calls to the ldap_next_entry() return entries one by one till there are no more entries. The first call to ldap_next_entry() is made after the call to ldap_first_entry() with the result_entry_identifier as returned from the ldap_first_entry().

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

반환값

Returns entry identifier for the next entry in the result whose entries are being read starting with ldap_first_entry(). If there are no more entries in the result then it returns FALSE.

참고

ldap_get_entries()

이전 | 위로 | 다음
ldap_next_attribute | 처음으로 | ldap_next_reference


ldap_next_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_next_reference -- Get next reference

설명

resource ldap_next_reference ( resource $link, resource $entry )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ldap_next_entry | 처음으로 | ldap_parse_reference


ldap_parse_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_reference -- Extract information from reference entry

설명

bool ldap_parse_reference ( resource $link, resource $entry, array &$referrals )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ldap_next_reference | 처음으로 | ldap_parse_result


ldap_parse_result

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_result -- Extract information from result

설명

bool ldap_parse_result ( resource $link, resource $result, int &$errcode [, string &$matcheddn [, string &$errmsg [, array &$referrals]]] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ldap_parse_reference | 처음으로 | ldap_read


ldap_read

(PHP 4, PHP 5)

ldap_read -- Read an entry

설명

resource ldap_read ( resource $link_identifier, string $base_dn, string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref]]]]] )

Performs the search for a specified filter on the directory with the scope LDAP_SCOPE_BASE. So it is equivalent to reading an entry from the directory.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

base_dn

The base DN for the directory.

filter

An empty filter is not allowed. If you want to retrieve absolutely all information for this entry, use a filter of objectClass=*. If you know which entry types are used on the directory server, you might use an appropriate filter such as objectClass=inetOrgPerson.

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attrsonly

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

참고: This parameter can NOT override server-side preset sizelimit. You can set it lower though.

Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

참고: This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

반환값

Returns a search result identifier or FALSE on error.

변경 기록

버전 | 설명
4.0.5 | Parallel searches support was added. See ldap_search() for details.
4.0.2 | The attrsonly, sizelimit, timelimit and deref were added.

이전 | 위로 | 다음
ldap_parse_result | 처음으로 | ldap_rename


ldap_rename

(PHP 4 >= 4.0.5, PHP 5)

ldap_rename -- Modify the name of an entry

설명

bool ldap_rename ( resource $link_identifier, string $dn, string $newrdn, string $newparent, bool $deleteoldrdn )

The entry specified by dn is renamed/moved.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

newrdn

The new RDN.

newparent

The new parent/superior entry.

deleteoldrdn

If TRUE the old RDN value(s) is removed, else the old RDN value(s) is retained as non-distinguished values of the entry.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: This function currently only works with LDAPv3. You may have to use ldap_set_option() prior to binding to use LDAPv3. This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

참고

ldap_modify()

이전 | 위로 | 다음
ldap_read | 처음으로 | ldap_sasl_bind


ldap_sasl_bind

(PHP 5)

ldap_sasl_bind -- Bind to LDAP directory using SASL

설명

bool ldap_sasl_bind ( resource $link [, string $binddn [, string $password [, string $sasl_mech [, string $sasl_realm [, string $sasl_authz_id [, string $props]]]]]] )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

Requirement: ldap_sasl_bind() requires SASL support (sasl.h). Be sure --with-ldap-sasl is used when configuring PHP otherwise this function will be undefined.

이전 | 위로 | 다음
ldap_rename | 처음으로 | ldap_search


ldap_search

(PHP 4, PHP 5)

ldap_search -- Search LDAP tree

설명

resource ldap_search ( resource $link_identifier, string $base_dn, string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref]]]]] )

Performs the search for a specified filter on the directory with the scope of LDAP_SCOPE_SUBTREE. This is equivalent to searching the entire directory.

From 4.0.5 on it's also possible to do parallel searches. To do this you use an array of link identifiers, rather than a single identifier, as the first argument. If you don't want the same base DN and the same filter for all the searches, you can also use an array of base DNs and/or an array of filters. Those arrays must be of the same size as the link identifier array since the first entries of the arrays are used for one search, the second entries are used for another, and so on. When doing parallel searches an array of search result identifiers is returned, except in case of error, then the entry corresponding to the search will be FALSE. This is very much like the value normally returned, except that a result identifier is always returned when a search was made. There are some rare cases where the normal search returns FALSE while the parallel search returns an identifier.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

base_dn

The base DN for the directory.

filter

The search filter can be simple or advanced, using boolean operators in the format described in the LDAP documentation (see the » Netscape Directory SDK for full information on filters).

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attrsonly

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

참고: This parameter can NOT override server-side preset sizelimit. You can set it lower though.

Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

참고: This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

반환값

Returns a search result identifier or FALSE on error.

변경 기록

버전 | 설명
4.0.5 | Parallel searches support was added.
4.0.2 | The attrsonly, sizelimit, timelimit and deref were added.

예제

The example below retrieves the organizational unit, surname, given name and email address for all people in "My Company" where the surname or given name contains the substring $person. This example uses a boolean filter to tell the server to look for information in more than one attribute.

예 1016. LDAP search

<?php
// $ds is a valid link identifier for a directory server

// $person is all or part of a person's name, eg "Jo"

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entries returned\n";
?>

이전 | 위로 | 다음
ldap_sasl_bind | 처음으로 | ldap_set_option


ldap_set_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_set_option -- Set the value of the given option

설명

bool ldap_set_option ( resource $link_identifier, int $option, mixed $newval )

Sets the value of the specified option to be newval.

매개변수

link_identifier

An LDAP link identifier, returned by ldap_connect().

option

The parameter option can be one of:

Option | Type
LDAP_OPT_DEREF | integer
LDAP_OPT_SIZELIMIT | integer
LDAP_OPT_TIMELIMIT | integer
LDAP_OPT_NETWORK_TIMEOUT | integer
LDAP_OPT_PROTOCOL_VERSION | integer
LDAP_OPT_ERROR_NUMBER | integer
LDAP_OPT_REFERRALS | bool
LDAP_OPT_RESTART | bool
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array

LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS require a list of controls, this means that the value must be an array of controls. A control consists of an oid identifying the control, an optional value, and an optional flag for criticality. In PHP a control is given by an array containing an element with the key oid and string value, and two optional elements. The optional elements are key value with string value and key iscritical with boolean value. iscritical defaults to FALSE if not supplied. See » draft-ietf-ldapext-ldap-c-api-xx.txt for details. See also the second example below.

newval

The new value for the specified option.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1017. Set protocol version

<?php
// $ds is a valid link identifier for a directory server
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
    echo "Using LDAPv3";
} else {
    echo "Failed to set protocol version to 3";
}
?>

예 1018. Set server controls

<?php
// $ds is a valid link identifier for a directory server
// control with no value
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical defaults to FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// try to set both controls
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
    echo "Failed to set server controls";
}
?>

주의

참고: This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

참고

ldap_get_option()

이전 | 위로 | 다음
ldap_search | 처음으로 | ldap_set_rebind_proc


ldap_set_rebind_proc

(PHP 4 >= 4.2.0, PHP 5)

ldap_set_rebind_proc -- Set a callback function to do re-binds on referral chasing

설명

bool ldap_set_rebind_proc ( resource $link, callback $callback )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ldap_set_option | 처음으로 | ldap_sort


ldap_sort

(PHP 4 >= 4.2.0, PHP 5)

ldap_sort -- Sort LDAP result entries

설명

bool ldap_sort ( resource $link, resource $result, string $sortfilter )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ldap_set_rebind_proc | 처음으로 | ldap_start_tls


ldap_start_tls

(PHP 4 >= 4.2.0, PHP 5)

ldap_start_tls -- Start TLS

설명

bool ldap_start_tls ( resource $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ldap_sort | 처음으로 | ldap_t61_to_8859


ldap_t61_to_8859

(PHP 4 >= 4.0.2, PHP 5)

ldap_t61_to_8859 -- Translate t61 characters to 8859 characters

설명

string ldap_t61_to_8859 ( string $value )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ldap_start_tls | 처음으로 | ldap_unbind


ldap_unbind

(PHP 4, PHP 5)

ldap_unbind -- Unbind from LDAP directory

설명

bool ldap_unbind ( resource $link_identifier )

Unbinds from the LDAP directory.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ldap_bind()

이전 | 위로 | 다음
ldap_t61_to_8859 | 처음으로 | LXXVI. libxml Functions


LZF Functions

이전 VI. 함수 레퍼런스 다음

LXXVIII. LZF Functions

소개

LZF is a very fast compression algorithm, ideal for saving space with only slight speed cost. It can be optimized for speed or space at the time of compilation.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/lzf.

In order to use these functions you must compile PHP with lzf support by using the --with-lzf[=DIR] configure option. You may also pass --enable-lzf-better-compression to optimize LZF for space rather then speed.

Windows users will enable php_lzf.dll inside of php.ini in order to use these functions. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

차례

lzf_compress -- LZF compression
lzf_decompress -- LZF decompression
lzf_optimized_for -- Determines what LZF extension was optimized for
이전 | 위로 | 다음
notes_version | 처음으로 | lzf_compress


lzf_compress

(PECL lzf:0.1-1.4)

lzf_compress -- LZF compression

설명

string lzf_compress ( string $data )

lzf_compress() compresses the given data.

매개변수

data

The string to compress.

반환값

Returns the compressed data or FALSE if an error occurred.

참고

lzf_decompress()

이전 | 위로 | 다음
LXXVIII. LZF Functions | 처음으로 | lzf_decompress


lzf_decompress

(PECL lzf:0.1-1.4)

lzf_decompress -- LZF decompression

설명

string lzf_decompress ( string $data )

lzf_compress() decompresses the given data.

매개변수

data

The compressed string.

반환값

Returns the decompressed data or FALSE if an error occurred.

참고

lzf_compress()

이전 | 위로 | 다음
lzf_compress | 처음으로 | lzf_optimized_for


lzf_optimized_for

(PECL lzf:1.0-1.4)

lzf_optimized_for -- Determines what LZF extension was optimized for

설명

int lzf_optimized_for ( void )

Determines for what the LZF extension was optimised.

반환값

Returns 1 if LZF was optimized for speed, 0 for compression.

이전 | 위로 | 다음
lzf_decompress | 처음으로 | LXXIX. 메일 함수


메일 함수

이전 VI. 함수 레퍼런스 다음

LXXIX. 메일 함수

소개

mail() 함수는 메일을 보낼 수 있게 합니다.

요구 조건

메일 함수를 사용하기 위해서는, PHP를 컴파일 할 때 시스템의 sendmail 바이너리에 접근할 수 있어야 합니다. qmail이나 postfix 등의 다른 메일 프로그램을 사용한다면, 포함되어있는 정확한 센드메일 랩퍼를 사용하게 하십시오. PHP는 센드메일을 PATH에서 찾고, 이후에 다음 순서를 적용합니다: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. PATH에 센드메일이 들어있도록 하는걸 권장합니다. 또한, PHP를 컴파일하는 유저가 센드메일 바이너리에 접근할 수 있는 권한이 있어야 합니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 151. 메일 설정 옵션

이름 | 기본값 | 설정권한 | 변경점
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL |
sendmail_from | NULL | PHP_INI_ALL | PHP 4.3.0부터 사용할 수 있습니다.
sendmail_path | NULL | PHP_INI_SYSTEM |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

SMTP string

윈도우에서만 사용합니다: PHP가 mail() 함수를 사용하여 메일을 보낼때 사용할 SMTP 서버의 호스트 이름이나 IP 어드레스.

smtp_port int

윈도우에서만 사용합니다: mail()로 메일을 보낼 때 SMTP 설정에서 지정한 서버에 접속하기 위한 포트 번호; 기본값은 25. PHP 4.3.0부터 사용할 수 있습니다.

sendmail_from string

윈도우에서 PHP가 메일을 보낼 때 "From:"에 붙이는 메일 주소. 이 지시어는 "Return-Path:" 헤더도 설정합니다.

sendmail_path string

sendmail 프로그램이 있는 위치. 보통 /usr/sbin/sendmail이나 /usr/lib/sendmail. configure가 이 위치를 찾아서 기본값을 설정하지만, 실패했을 때는 이곳에 설정해야 합니다.

센드메일을 사용하지 않는 시스템은 이 지시어를 메일 시스템이 제공하는 센드메일 랩퍼/교체자로 설정해야합니다. 예를 들어, » Qmail 사용자는 일반적으로 /var/qmail/bin/sendmail이나 /var/qmail/bin/qmail-inject으로 설정합니다.

qmail-inject는 메일을 정확하게 처리하기 위한 어떠한 옵션도 필요하지 않습니다.

이 지시어는 윈도우에서도 작동합니다. 설정하면, smtp, smtp_port, sendmail_from을 무시하고 지정한 명령을 실행합니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

ezmlm_hash -- EZMLM에 필요한 해쉬값을 계산합니다.
mail -- 메일을 보냅니다.
이전 | 위로 | 다음
lzf_optimized_for | 처음으로 | ezmlm_hash


ezmlm_hash

(PHP 4 >= 4.0.2, PHP 5)

ezmlm_hash -- EZMLM에 필요한 해쉬값을 계산합니다.

설명

int ezmlm_hash ( string $addr )

ezmlm_hash()은 MySQL 데이터베이스에 EZMLM 메일링 리스트를 보존할 때 필요한 해쉬값을 계산합니다.

예 1022. 해쉬를 계산하고 사용자를 추가합니다.

<?php

$user = "joecool@example.com";
$hash = ezmlm_hash($user);
$query = sprintf("INSERT INTO sample VALUES (%s, '%s')", $hash, $user);
$db->query($query); // PHPLIB db 인터페이스 사용.

?>

이전 | 위로 | 다음
LXXIX. 메일 함수 | 처음으로 | mail


mail

(PHP 4, PHP 5)

mail -- 메일을 보냅니다.

설명

bool mail ( string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameters]] )

mail()은 자동적으로 message에 지정한 메세지를 to에 지정한 수신자에게 메일을 보냅니다. 복수 수신자는 to에 콤마로 구분한 각각의 어드레스를 지정할 수 있습니다. 부가 요소와 특별한 형태의 내용을 가진 Email을 이 함수를 이용하여 보낼 수 있습니다. MIME-encoding을 이용하여 이루어집니다 - 자세한 정보는 » 젠드 아티클이나 » PEAR Mime 클래스를 참고하십시오.

다음의 RFC도 유용합니다: » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, » RFC 2049.

mail()은 메일 전달이 성공하면 TRUE를, 그 외의 경우에는 FALSE를 반환합니다.

주의

mail()의 윈도우즈판은 유닉스판과 많은 점에서 차이가 있습니다. 첫번째, 메세지를 작성할 때 로컬 바이너리를 사용하지 않고, 단지 직접 소켓 연결을 합니다. MTA가 네트워크 소켓을 리스닝하고 있을 필요가 있습니다. (localhost나 원격 머신 어디든지 가능합니다) 둘째, From:, Cc:, Bcc:, Date: 등의 사용자 헤더는 MTA에서 해석하지 않고, PHP에서 처리를 합니다. PHP < 4.3은 Cc: 헤더 요소(대소문자 구별)만을 지원합니다. PHP >= 4.3은 위의 모든 헤더 요소를 지원하고, 대소문자를 구별하지 않습니다.

예 1023. 메일 보내기.

<?php
mail("joecool@example.com", "My Subject", "Line 1\nLine 2\nLine 3");
?>

네번째 문자열 인자가 주어지면, 문자열은 헤더의 마지막에 추가됩니다. 일반적으로 기타 헤더를 추가할 때 사용합니다. 복수의 헤더는 캐리지리턴과 뉴라인으로 구별합니다.

참고: 헤더 구분에는 \r\n을 사용해야만 합니다. 일부 유닉스 메일 전송 에이전트는 하나의 뉴라인(\n)과는 작동하지 않습니다.

예 1024. 추가 헤더를 지정해서 메일 보내기.

<?php
mail("nobody@example.com", "the subject", $message,
     "From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
     "Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
     "X-Mailer: PHP/" . phpversion());
?>

additional_parameters 인자는 메일을 보낼 때 사용하는 sendmail_path 설정에 있는 프로그램에 추가 인자를 넘깁니다. 예를 들어, 센드메일을 사용할때 인증 전송자 주소를 지정하는 -f 센드메일 옵션을 사용하게 할 수 있습니다. 이 방법으로 인증 전송자를 지정했을 때 'X-warning'헤더가 메세지에 추가되는 것을 막기 위해서는 센드메일 설정에 웹 서버를 실행하는 유저를 추가해야 합니다.

예 1025. 추가 헤더와 추가 명령줄 인자를 지정하여 메일 보내기.

<?php
mail("nobody@example.com", "the subject", $message,
     "From: webmaster@{$_SERVER['SERVER_NAME']}", "-fwebmaster@{$_SERVER['SERVER_NAME']}");
?>

참고: 다섯번째 인자는 PHP 4.0.5에서 추가되었고, PHP 4.2.3부터 이 인자는 안전 모드에서는 사용할 수 없습니다. 이를 사용하려고 하면 mail() 함수는 경고 메세지를 출력하고 FALSE를 반환합니다.

복잡한 email 메세지를 작성하기 위해 간단한 문자열 작성 테크닉을 사용할 수 있습니다.

예 1026. 복잡한 메일 보내기.

<?php
/* recipients */
$to  = "mary@example.com" . ", " ; // 콤마인 것에 주의.
$to .= "kelly@example.com";

/* subject */
$subject = "Birthday Reminders for August";

/* message */
$message = '
<html>
<head>
 <title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
 <tr>
  <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
 </tr>
 <tr>
  <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
 </tr>
 <tr>
  <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
 </tr>
</table>
</body>
</html>
';

/* HTML 메일을 보내려면, Content-type 헤더를 설정해야 합니다. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* 추가 헤더 */
$headers .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n";
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";

/* 그리고 메일을 보냅니다. */
mail($to, $subject, $message, $headers);
?>

참고: to나 subject에 어떠한 뉴라인 문자도 존재해서는 안됩니다. 그렇지 않으면, 메일은 정상적으로 보내지지 않을 수 있습니다.

참고: to 인자는 "Something <someone@example.com>" 형태로 주어져서는 안됩니다. mail 명령은 MTA와 통신할 때 이를 정상적으로 처리하지 못할 수 있습니다. (특히 윈도우즈에서)

참고: imap_mail().

이전 | 위로 | 다음
ezmlm_hash | 처음으로 | LXXX. Mailparse Functions


Mailparse Functions

이전 VI. 함수 레퍼런스 다음

LXXX. Mailparse Functions

소개

Mailparse is an extension for parsing and working with email messages. It can deal with » RFC 822 and » RFC 2045 (MIME) compliant messages.

Mailparse is stream based, which means that it does not keep in-memory copies of the files it processes - so it is very resource efficient when dealing with large messages.

참고: Mailparse requires the mbstring extension, and mbstring must be loaded before mailparse.

This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 4.2.0.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/mailparse.

In order to use these functions you must compile PHP with mailparse support by using the --enable-mailparse configure option.

Windows users will enable php_mailparse.dll inside of php.ini in order to use these functions. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 152. Mailparse configuration options

Name | Default | Changeable | Changelog
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Available since PHP 4.1.0. Removed in PHP 4.2.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

MAILPARSE_EXTRACT_OUTPUT (integer)
MAILPARSE_EXTRACT_STREAM (integer)
MAILPARSE_EXTRACT_RETURN (integer)

차례

mailparse_determine_best_xfer_encoding -- Gets the best way of encoding
mailparse_msg_create -- Create a mime mail resource
mailparse_msg_extract_part_file -- Extracts/decodes a message section
mailparse_msg_extract_part -- Extracts/decodes a message section
mailparse_msg_extract_whole_part_file -- Extracts a message section including headers without decoding the transfer encoding
mailparse_msg_free -- Frees a MIME resource
mailparse_msg_get_part_data -- Returns an associative array of info about the message
mailparse_msg_get_part -- Returns a handle on a given section in a mimemessage
mailparse_msg_get_structure -- Returns an array of mime section names in the supplied message
mailparse_msg_parse_file -- Parses a file
mailparse_msg_parse -- Incrementally parse data into buffer
mailparse_rfc822_parse_addresses -- Parse RFC 822 compliant addresses
mailparse_stream_encode -- Streams data from source file pointer, apply encoding and write to destfp
mailparse_uudecode_all -- Scans the data from fp and extract each embedded uuencoded file
이전 | 위로 | 다음
mail | 처음으로 | mailparse_determine_best_xfer_encoding


mailparse_determine_best_xfer_encoding

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_determine_best_xfer_encoding -- Gets the best way of encoding

설명

string mailparse_determine_best_xfer_encoding ( resource $fp )

Figures out the best way of encoding the content read from the given file pointer.

매개변수

fp

A valid file pointer, which must be seek-able.

반환값

Returns one of the character encodings supported by the mbstring module.

예제

예 1027. mailparse_determine_best_xfer_encoding() example

<?php

$fp = fopen('somemail.eml', 'r');
echo 'Best encoding: ' . mailparse_determine_best_xfer_encoding($fp);

?>

위 예제의 출력 예:

Best encoding: 7bit

이전 | 위로 | 다음
LXXX. Mailparse Functions | 처음으로 | mailparse_msg_create


mailparse_msg_create

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_create -- Create a mime mail resource

설명

resource mailparse_msg_create ( void )

Create a MIME mail resource.

반환값

Returns a handle that can be used to parse a message.

참고

mailparse_msg_free()
mailparse_msg_parse_file()

이전 | 위로 | 다음
mailparse_determine_best_xfer_encoding | 처음으로 | mailparse_msg_extract_part_file


mailparse_msg_extract_part_file

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_extract_part_file -- Extracts/decodes a message section

설명

string mailparse_msg_extract_part_file ( resource $mimemail, mixed $filename [, callback $callbackfunc] )

Extracts/decodes a message section from the supplied filename.

The contents of the section will be decoded according to their transfer encoding - base64, quoted-printable and uuencoded text are supported.

매개변수

mimemail

A valid MIME resource, created with mailparse_msg_create().

filename

Can be a file name or a valid stream resource.

callbackfunc

If set, this must be either a valid callback that will be passed the extracted section, or NULL to make this function return the extracted section.

If not specified, the contents will be sent to "stdout".

반환값

If callbackfunc is not NULL returns TRUE on success.

If callbackfunc is set to NULL, returns the extracted section as a string.

Returns FALSE on error.

참고

mailparse_msg_extract_part()
mailparse_msg_extract_whole_part_file()

이전 | 위로 | 다음
mailparse_msg_create | 처음으로 | mailparse_msg_extract_part


mailparse_msg_extract_part

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_extract_part -- Extracts/decodes a message section

설명

void mailparse_msg_extract_part ( resource $mimemail, string $msgbody [, callback $callbackfunc] )
주의

This function is currently not documented; only the argument list is available.

매개변수

mimemail

A valid MIME resource.

msgbody

callbackfunc

반환값

값을 반환하지 않습니다.

참고

mailparse_msg_extract_part_file()
mailparse_msg_extract_whole_part_file()

이전 | 위로 | 다음
mailparse_msg_extract_part_file | 처음으로 | mailparse_msg_extract_whole_part_file


mailparse_msg_free

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_free -- Frees a MIME resource

설명

bool mailparse_msg_free ( resource $mimemail )

Frees a MIME resource.

매개변수

mimemail

A valid MIME resource allocated by mailparse_msg_create() or mailparse_msg_parse_file().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

mailparse_msg_create()
mailparse_msg_parse_file()

이전 | 위로 | 다음
mailparse_msg_extract_whole_part_file | 처음으로 | mailparse_msg_get_part_data


mailparse_msg_get_part_data

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_get_part_data -- Returns an associative array of info about the message

설명

array mailparse_msg_get_part_data ( resource $mimemail )
주의

This function is currently not documented; only the argument list is available.

매개변수

mimemail

A valid MIME resource.

이전 | 위로 | 다음
mailparse_msg_free | 처음으로 | mailparse_msg_get_part


mailparse_msg_get_part

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_get_part -- Returns a handle on a given section in a mimemessage

설명

resource mailparse_msg_get_part ( resource $mimemail, string $mimesection )
주의

This function is currently not documented; only the argument list is available.

매개변수

mimemail

A valid MIME resource.

mimesection

이전 | 위로 | 다음
mailparse_msg_get_part_data | 처음으로 | mailparse_msg_get_structure


mailparse_msg_get_structure

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_get_structure -- Returns an array of mime section names in the supplied message

설명

array mailparse_msg_get_structure ( resource $mimemail )
주의

This function is currently not documented; only the argument list is available.

매개변수

mimemail

A valid MIME resource.

이전 | 위로 | 다음
mailparse_msg_get_part | 처음으로 | mailparse_msg_parse_file


mailparse_msg_parse_file

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_parse_file -- Parses a file

설명

resource mailparse_msg_parse_file ( string $filename )

Parses a file. This is the optimal way of parsing a mail file that you have on disk.

매개변수

filename

Path to the file holding the message. The file is opened and streamed through the parser.

반환값

Returns a MIME resource representing the structure, or FALSE on error.

참고

mailparse_msg_free()
mailparse_msg_create()

이전 | 위로 | 다음
mailparse_msg_get_structure | 처음으로 | mailparse_msg_parse


mailparse_msg_parse

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_parse -- Incrementally parse data into buffer

설명

bool mailparse_msg_parse ( resource $mimemail, string $data )

Incrementally parse data into the supplied mime mail resource.

This function allow you to stream portions of a file at a time, rather than read and parse the whole thing.

매개변수

mimemail

A valid MIME resource.

data

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
mailparse_msg_parse_file | 처음으로 | mailparse_rfc822_parse_addresses


mailparse_rfc822_parse_addresses

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_rfc822_parse_addresses -- Parse RFC 822 compliant addresses

설명

array mailparse_rfc822_parse_addresses ( string $addresses )

Parses a » RFC 822 compliant recipient list, such as that found in the To: header.

매개변수

addresses

A string containing addresses, like in: Wez Furlong <wez@example.com>, doe@example.com

참고: This string must not include the header name.

반환값

Returns an array of associative arrays with the following keys for each recipient:

display | The recipient name, for display purpose. If this part is not set for a recipient, this key will hold the same value as address.
address | The email address
is_group | TRUE if the recipient is a newsgroup, FALSE otherwise.

예제

예 1028. mailparse_rfc822_parse_addresses() example

<?php

$to = 'Wez Furlong <wez@example.com>, doe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));

?>

위 예제의 출력:

array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "wez@example.com"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(15) "doe@example.com"
    ["address"]=>
    string(15) "doe@example.com"
    ["is_group"]=>
    bool(false)
  }
}

이전 | 위로 | 다음
mailparse_msg_parse | 처음으로 | mailparse_stream_encode


mailparse_stream_encode

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_stream_encode -- Streams data from source file pointer, apply encoding and write to destfp

설명

bool mailparse_stream_encode ( resource $sourcefp, resource $destfp, string $encoding )

Streams data from the source file pointer, apply encoding and write to the destination file pointer.

매개변수

sourcefp

A valid file handle. The file is streamed through the parser.

destfp

The destination file handle in which the encoded data will be written.

encoding

One of the character encodings supported by the mbstring module.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1029. mailparse_stream_encode() example

<?php

// email.eml contents: hello, this is some text=hello.
$fp = fopen('email.eml', 'r');

$dest = tmpfile();

mailparse_stream_encode($fp, $dest, "quoted-printable");

rewind($dest);

// Display new file contents
fpassthru($dest);

?>

위 예제의 출력:

hello, this is some text=3Dhello.

이전 | 위로 | 다음
mailparse_rfc822_parse_addresses | 처음으로 | mailparse_uudecode_all


mailparse_uudecode_all

(PECL mailparse:0.9-2.1.1)

mailparse_uudecode_all -- Scans the data from fp and extract each embedded uuencoded file

설명

array mailparse_uudecode_all ( resource $fp )

Scans the data from the given file pointer and extract each embedded uuencoded file into a temporary file.

매개변수

fp

A valid file pointer.

반환값

Returns an array of associative arrays listing filename information.

filename | Path to the temporary file name created
origfilename | The original filename, for uuencoded parts only
The first filename entry is the message body. The next entries are the decoded uuencoded files.

예제

예 1030. mailparse_uudecode_all() example

<?php

$text = <<<EOD
To: fred@example.com

hello, this is some text hello.
blah blah blah.

begin 644 test.txt
/=&AI<R!I<R!A('1E<W0*
`
end

EOD;

$fp = tmpfile();
fwrite($fp, $text);

$data = mailparse_uudecode_all($fp);

echo "BODY\n";
readfile($data[0]["filename"]);
echo "UUE ({$data[1]['origfilename']})\n";
readfile($data[1]["filename"]);

// Clean up
unlink($data[0]["filename"]);
unlink($data[1]["filename"]);

?>

위 예제의 출력:

BODY
To: fred@example.com

hello, this is some text hello.
blah blah blah.

UUE (test.txt)
this is a test

이전 | 위로 | 다음
mailparse_stream_encode | 처음으로 | LXXXI. 수학 함수


수학 함수

이전 VI. 함수 레퍼런스 다음

LXXXI. 수학 함수

소개

수학 함수는 컴퓨터의 integer형과 float형만을 취급합니다. (현재 C에서의 long과 double형에 해당합니다) 더 큰 수를 다룰 필요가 있다면, 부정 정밀 수학 함수를 참고하십시오.

매뉴얼의 산술 연산자 페이지도 참고하십시오.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

아래 상수들은 PHP 코어의 일부로, 항상 사용할 수 있습니다.

표 153. 수학 상수

상수 | 값 | 설명
M_PI | 3.14159265358979323846 | pi
M_E | 2.7182818284590452354 | e
M_LOG2E | 1.4426950408889634074 | log_2 e
M_LOG10E | 0.43429448190325182765 | log_10 e
M_LN2 | 0.69314718055994530942 | log_e 2
M_LN10 | 2.30258509299404568402 | log_e 10
M_PI_2 | 1.57079632679489661923 | pi/2
M_PI_4 | 0.78539816339744830962 | pi/4
M_1_PI | 0.31830988618379067154 | 1/pi
M_2_PI | 0.63661977236758134308 | 2/pi
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) [4.0.2]
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi)
M_SQRT2 | 1.41421356237309504880 | sqrt(2)
M_SQRT3 | 1.73205080756887729352 | sqrt(3) [4.0.2]
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2)
M_LNPI | 1.14472988584940017414 | log_e(pi) [4.0.2]
M_EULER | 0.57721566490153286061 | Euler constant [4.0.2]

M_PI는 PHP 4.0.0을 포함하여 그 이상의 PHP 버전에서 사용 가능합니다. 다른 상수들은 PHP 4.0.0부터 사용 가능합니다. [4.0.2]라고 붙어있는 상수들은 PHP 4.0.2에서 추가되었습니다.

차례

abs -- 절대값
acos -- 아크 코사인
acosh -- 역 쌍곡선 코사인
asin -- 아크 사인
asinh -- 역 쌍곡선 사인
atan2 -- 두 변수의 아크 탄젠트
atan -- 아크 탄젠트
atanh -- 역 쌍곡선 탄젠트
base_convert -- 수를 임의의 진수로 변환합니다.
bindec -- 2진수를 10진수로 변환합니다.
ceil -- 소수점 이하 올림
cos -- 코사인
cosh -- 쌍곡선 코사인
decbin -- 10진수를 2진수로 변환합니다.
dechex -- 10진수를 16진수로 변환합니다.
decoct -- 10진수를 8진수로 변환합니다.
deg2rad -- 각도를 라디안으로 변환합니다.
exp -- e(자연로그 밑)의 승수를 계산합니다.
expm1 -- Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero
floor -- 소수점 내림
fmod -- 인자의 나눗셈에 대한 소수점 나머지(modulo)를 반환합니다.
getrandmax -- 랜덤 값의 가장 큰 값을 보여줍니다.
hexdec -- 16진수를 10진수로 변환합니다.
hypot -- Calculate the length of the hypotenuse of a right-angle triangle
is_finite -- 값이 허용된 범위의 수인지 확인합니다.
is_infinite -- 값이 무한인지 확인합니다.
is_nan -- 값이 수가 아닌지 확인합니다.
lcg_value -- 조합 선형 합동 생성기(Combined linear congruential generator)
log10 -- 상용로그
log1p -- Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
log -- 자연로그
max -- 최고값을 찾습니다.
min -- 최소값을 찾습니다.
mt_getrandmax -- 가능한 가장 큰 랜덤 값을 보여줍니다.
mt_rand -- 향상된 난수를 생성합니다.
mt_srand -- 향상된 난수 생성기를 초기화합니다.
octdec -- 8진수를 10진수로 변환합니다.
pi -- 파이(pi)값을 얻는다.
pow -- 거듭제곱
rad2deg -- 라디안을 각도로 변환합니다.
rand -- 정수형의 난수를 생성합니다.
round -- 실수를 반올림합니다.
sin -- 사인
sinh -- 쌍곡선 사인
sqrt -- 평방 제곱근
srand -- 난수 생성기를 초기화합니다.
tan -- 탄젠트
tanh -- 쌍곡선 탄젠트
이전 | 위로 | 다음
mailparse_uudecode_all | 처음으로 | abs


abs

(PHP 4, PHP 5)

abs -- 절대값

설명

number abs ( mixed $number )

number의 절대값을 반환합니다. number 인자의 형이 float일 경우, 반환값도 float이고, integer일 경우에도 마찬가지입니다. (일반적으로 float 값의 범위가 integer 값의 범위보다 큽니다)

예 1031. abs() 예제

<?php
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5);   // $abs2 = 5; (integer)
$abs3 = abs(-5);  // $abs3 = 5; (integer)
?>

이전 | 위로 | 다음
LXXXI. 수학 함수 | 처음으로 | acos


acos

(PHP 4, PHP 5)

acos -- 아크 코사인

설명

float acos ( float $arg )

arg의 아크 코사인을 라디안으로 반환합니다. acos()은 cos()의 역함수로, acos()의 범위 안에 있는 모든 값에 대해서 a==cos(acos(a))가 성립합니다.

참고:
acosh(),
asin(),
atan().

이전 | 위로 | 다음
abs | 처음으로 | acosh


acosh

(PHP 4 >= 4.0.7, PHP 5)

acosh -- 역 쌍곡선 코사인

설명

float acosh ( float $arg )

arg의 역 쌍곡선 코사인 값을 반환합니다. 즉, 반환값의 쌍곡선 코사인은 arg가 됩니다.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고:
acos(),
asinh(),
atanh().

이전 | 위로 | 다음
acos | 처음으로 | asin


asin

(PHP 4, PHP 5)

asin -- 아크 사인

설명

float asin ( float $arg )

arg의 아크 사인값을 라디안으로 반환합니다. asin()은 sin()의 역함수로, asin()의 범위 안에 들어가는 모든 값에 대하여 a==sin(asin(a))가 성립합니다.

참고:
asinh(),
acos(),
atan().

이전 | 위로 | 다음
acosh | 처음으로 | asinh


asinh

(PHP 4 >= 4.0.7, PHP 5)

asinh -- 역 쌍곡선 사인

설명

float asinh ( float $arg )

arg의 역 쌍곡선 사인값을 반환합니다. 즉, 반환값의 쌍곡선 사인은 arg가 됩니다.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고:
asin(),
acosh(),
atanh().

이전 | 위로 | 다음
asin | 처음으로 | atan2


atan2

(PHP 4, PHP 5)

atan2 -- 두 변수의 아크 탄젠트

설명

float atan2 ( float $y, float $x )

두 변수 x와 y의 아크 탄젠트를 계산합니다. 이것은 각 인자의 부호가 4분구간을 결정한다는 점을 제외하면 y / x의 아크 탄젠트와 동일합니다.

라디안으로 결과를 반환합니다. 그 값은 -PI와 PI(포함) 사이입니다.

참고: acos(), atan().

이전 | 위로 | 다음
asinh | 처음으로 | atan


atan

(PHP 4, PHP 5)

atan -- 아크 탄젠트

설명

float atan ( float $arg )

arg의 아크 탄젠트 값을 라디안으로 반환합니다. atan()는 tan()의 역함수로, atan()의 범위 안에 있는 모든 값에 대하여 a==tan(atan(a))가 성립합니다.

참고:
atanh(),
asin(),
acos().

이전 | 위로 | 다음
atan2 | 처음으로 | atanh


atanh

(PHP 4 >= 4.0.7, PHP 5)

atanh -- 역 쌍곡선 탄젠트

설명

float atanh ( float $arg )

arg의 역 쌍곡선 탄젠트 값을 반환합니다. 즉, 반환값의 쌍곡선 탄젠트는 arg가 됩니다.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고:
atan(),
asinh(),
acosh().

이전 | 위로 | 다음
atan | 처음으로 | base_convert


base_convert

(PHP 4, PHP 5)

base_convert -- 수를 임의의 진수로 변환합니다.

설명

string base_convert ( string $number, int $frombase, int $tobase )

tobase진수로 표현한 number를 포함하는 문자열을 반환합니다. number의 진수는 frombase로 주어집니다. frombase와 tobase는 2와 36(포함) 사이의 값이여야 합니다. 10 이상의 진수로 표현되는 자리수는 a-z로 표현되며, a는 10, b는 11, ..., z는 35를 의미합니다.

예 1032. base_convert() 예제

<?php
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);
?>

출력:

101000110111001100110100

주의

base_convert()는 큰 수에 대해서는 내부적으로 "double"이나 "float" 형을 사용하기 때문에, 부정확할 수 있습니다. 더욱 정확한 정보와 제한에 대해서는 부동소수점수 섹션을 참고하십시오.

이전 | 위로 | 다음
atanh | 처음으로 | bindec


bindec

(PHP 4, PHP 5)

bindec -- 2진수를 10진수로 변환합니다.

설명

int bindec ( string $binary_string )

binary_string 인자에 표현된 2진수와 동일한 10진수를 반환합니다.

bindec()는 이진수를 integer로 변환합니다. 변환 가능한 가장 큰 숫자는 1의 31비트로, 10진수 2147483647에 해당합니다.

예 1033. bindec() 예제

<?php
echo bindec('110011') . "\n";
echo bindec('000110011') . "\n";

echo bindec('111');
?>

위 예제의 출력은:

51
51
7

참고: decbin(), octdec(), hexdec(), base_convert().

이전 | 위로 | 다음
base_convert | 처음으로 | ceil


ceil

(PHP 4, PHP 5)

ceil -- 소수점 이하 올림

설명

float ceil ( float $value )

필요하다면 value를 소수점 올림해서 다음으로 가장 높은 정수를 반환합니다. 보통 float의 범위가 integer형보다 크기 때문에, ceil()의 반환값은 여전히 float형입니다.

예 1034. ceil() 예제

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
?>

참고: floor(), round().

이전 | 위로 | 다음
bindec | 처음으로 | cos


cos

(PHP 4, PHP 5)

cos -- 코사인

설명

float cos ( float $arg )

cos()은 arg 인수의 코사인값을 반환합니다. arg 인자는 라디안 값으로 주어집니다.

예 1035. cos() 예제

<?php

echo cos(M_PI); // -1

?>

참고:
acos(),
sin(),
tan(),
deg2rad().

이전 | 위로 | 다음
ceil | 처음으로 | cosh


cosh

(PHP 4 >= 4.0.7, PHP 5)

cosh -- 쌍곡선 코사인

설명

float cosh ( float $arg )

(exp(arg) + exp(-arg))/2로 정의되는, arg의 쌍곡선 코사인을 반환합니다.

참고:
cos(),
acosh(),
sin(),
tan().

이전 | 위로 | 다음
cos | 처음으로 | decbin


decbin

(PHP 4, PHP 5)

decbin -- 10진수를 2진수로 변환합니다.

설명

string decbin ( int $number )

주어진 number 인자에 대응하는 2진수 표현의 문자열을 반환합니다. 변환 가능한 가장 큰 숫자는 10진수 4294967295로, 결과값은 1이 32개 들어간 문자열이 됩니다.

예 1036. decbin() 예제

<?php
echo decbin(12) . "\n";
echo decbin(26);
?>

위 예제의 출력은:

1101
11010

참고: bindec(), decoct(), dechex(), base_convert().

이전 | 위로 | 다음
cosh | 처음으로 | dechex


dechex

(PHP 4, PHP 5)

dechex -- 10진수를 16진수로 변환합니다.

설명

string dechex ( int $number )

주어진 number 인자에 해당하는 16진수 표현의 문자열을 반환합니다. 변환 가능한 가장 큰 숫자는 10진수 2147483647로, 결과값은 "7fffffff"이 됩니다.

예 1037. dechex() 예제

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

위 예제의 출력은:

a
2f

참고: hexdec(), decbin(), decoct(), base_convert().

이전 | 위로 | 다음
decbin | 처음으로 | decoct


decoct

(PHP 4, PHP 5)

decoct -- 10진수를 8진수로 변환합니다.

설명

string decoct ( int $number )

주어진 number 인자에 해당하는 8진수 표현의 문자열을 반환합니다. 변환 가능한 가장 큰 숫자는 10진수 2147483647로, 결과값은 "17777777777"이 됩니다.

예 1038. decoct() 예제

<?php
echo decoct(15) . "\n";
echo decoct(264);
?>

위 예제의 출력은:

17
410

참고: octdec(), decbin(), dechex(), base_convert().

이전 | 위로 | 다음
dechex | 처음으로 | deg2rad


deg2rad

(PHP 4, PHP 5)

deg2rad -- 각도를 라디안으로 변환합니다.

설명

float deg2rad ( float $number )

number를 각도에서 라디안으로 변환합니다.

예 1039. deg2rad() 예제

<?php

echo deg2rad(45); // 0.785398163397
var_dump(deg2rad(45) === M_PI_4); // bool(true)

?>

참고: rad2deg().

이전 | 위로 | 다음
decoct | 처음으로 | exp


exp

(PHP 4, PHP 5)

exp -- e(자연로그 밑)의 승수를 계산합니다.

설명

float exp ( float $arg )

e의 arg승을 반환합니다.

참고: 'e'는 자연로그의 밑으로, 약 2.718282입니다.

예 1040. exp() 예제

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>

위 예제의 출력은:

1.6257E+005
298.87

참고: log(), pow().

이전 | 위로 | 다음
deg2rad | 처음으로 | expm1


expm1

(PHP 4 >= 4.0.7, PHP 5)

expm1 -- Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero

설명

float expm1 ( float $arg )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

expm1() returns the equivalent to 'exp(arg) - 1' computed in a way that is accurate even if the value of arg is near zero, a case where 'exp (arg) - 1' would be inaccurate due to subtraction of two numbers that are nearly equal.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

매개변수

arg

The argument to process

반환값

'e' to the power of arg minus one

참고

log1p()
exp()

이전 | 위로 | 다음
exp | 처음으로 | floor


floor

(PHP 4, PHP 5)

floor -- 소수점 내림

설명

float floor ( float $value )

필요할 경우 value를 소수점 내림한 다음으로 가장 작은 정수를 반환합니다. 보통 float의 범위가 integer의 범위보다 크기 때문에, floor()의 반환값은 여전히 float를 유지합니다.

예 1041. floor() 예제

<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
?>

참고: ceil(), round().

이전 | 위로 | 다음
expm1 | 처음으로 | fmod


fmod

(PHP 4 >= 4.2.0, PHP 5)

fmod -- 인자의 나눗셈에 대한 소수점 나머지(modulo)를 반환합니다.

설명

float fmod ( float $x, float $y )

x를 y로 나누는 나눗셈의 소수점 나머지를 반환합니다. 나머지(r)는 특정한 정수 i와 함께 x = i * y + r로 정의됩니다. y가 0이 아니라면, r는 x와 같은 부호와 y의 크기보다 작은 크기를 가집니다.

예 1042. fmod() 사용하기

<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
// 4 * 1.3 + 0.5 = 5.7이기 때문에, $r은 0.5가 된다.
?>

이전 | 위로 | 다음
floor | 처음으로 | getrandmax


getrandmax

(PHP 4, PHP 5)

getrandmax -- 랜덤 값의 가장 큰 값을 보여줍니다.

설명

int getrandmax ( void )

rand()를 호출함으로써 얻을 수 있는 가장 큰 값을 반환합니다.

참고: rand(), srand(), mt_getrandmax().

이전 | 위로 | 다음
fmod | 처음으로 | hexdec


hexdec

(PHP 4, PHP 5)

hexdec -- 16진수를 10진수로 변환합니다.

설명

int hexdec ( string $hex_string )

hex_string 인자에 표현된 16진수와 동등한 10진수를 반환합니다. hexdec()는 16진수 문자열을 10진수 숫자로 변환합니다. 변환 가능한 가장 큰 수는 7fffffff로, 10진수 2147483647에 해당합니다.

hexdec()는 16진수를 나타내는 문자가 아닌 모든 문자를 무시합니다.

예 1043. hexdec() 예제

<?php
var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// 둘 다 "int(238)"을 출력합니다.

var_dump(hexdec("that")); // "int(10)"을 출력합니다.
var_dump(hexdec("a0")); // "int(160)"을 출력합니다.
?>

참고: dechex(),
bindec(),
octdec(),
base_convert().

이전 | 위로 | 다음
getrandmax | 처음으로 | hypot


hypot

(PHP 4 >= 4.0.7, PHP 5)

hypot -- Calculate the length of the hypotenuse of a right-angle triangle

설명

float hypot ( float $x, float $y )

hypot() returns the length of the hypotenuse of a right-angle triangle with sides of length x and y, or the distance of the point (x, y) from the origin. This is equivalent to sqrt(x*x + y*y).

매개변수

x

Length of first side

y

Length of second side

반환값

Calculated length of the hypotenuse

이전 | 위로 | 다음
hexdec | 처음으로 | is_finite


is_finite

(PHP 4 >= 4.2.0, PHP 5)

is_finite -- 값이 허용된 범위의 수인지 확인합니다.

설명

bool is_finite ( float $val )

val가 이 플랫폼에서 PHP float에 허용된 범위 안에 존재하는 적합한 유한수일 경우 TRUE를 반환합니다.

참고: is_infinite(), is_nan().

이전 | 위로 | 다음
hypot | 처음으로 | is_infinite


is_infinite

(PHP 4 >= 4.2.0, PHP 5)

is_infinite -- 값이 무한인지 확인합니다.

설명

bool is_infinite ( float $val )

val가 log(0)의 결과 등의 무한수이거나, 이 플랫폼에서 float로 처리할 수 없는 너무 큰 숫자일 경우 TRUE를 반환합니다.

참고: is_finite(), is_nan().

이전 | 위로 | 다음
is_finite | 처음으로 | is_nan


is_nan

(PHP 4 >= 4.2.0, PHP 5)

is_nan -- 값이 수가 아닌지 확인합니다.

설명

bool is_nan ( float $val )

val가 숫자가 아닐(not a number) 경우 TRUE를 반환합니다. acos(1.01)의 결과 등이 해당합니다.

참고: is_finite(), is_infinite().

이전 | 위로 | 다음
is_infinite | 처음으로 | lcg_value


lcg_value

(PHP 4, PHP 5)

lcg_value -- 조합 선형 합동 생성기(Combined linear congruential generator)

설명

float lcg_value ( void )

lcg_value()는 (0, 1)의 범위의 가상 난수를 반환합니다. 2^31 - 85와 2^31 - 249 구간의 두개의 CG를 조합합니다. 이 함수의 구간은 두 소수의 산물과 일치합니다.

이전 | 위로 | 다음
is_nan | 처음으로 | log10


log10

(PHP 4, PHP 5)

log10 -- 상용로그

설명

float log10 ( float $arg )

arg의 상용로그를 반환합니다.

참고: log()

이전 | 위로 | 다음
lcg_value | 처음으로 | log1p


log1p

(PHP 4 >= 4.0.7, PHP 5)

log1p -- Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero

설명

float log1p ( float $number )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

log1p() returns log(1 + number) computed in a way that is accurante even when the value of number is close to zero. log() might only return log(1) in this case due to lack of precision.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

매개변수

number

The argument to process

반환값

log(1 + number)

참고

expm1()
log()
log10()

이전 | 위로 | 다음
log10 | 처음으로 | log


log

(PHP 4, PHP 5)

log -- 자연로그

설명

float log ( float $arg [, float $base] )

부수적인 base 인자가 정의되면, log()는 logbase arg를 반환합니다. 그 외의 경우에는 log()는 arg의 자연로그를 반환합니다.

참고: base 인자는 PHP 4.3.0부터 사용할 수 있습니다.

밑이 b인 n에 대한 로그는 수학적인 방법을 이용해서 계산할 수 있습니다: 로그가 자연로그일 경우, logb(n) = log(n)/log(b)

참고: exp().

이전 | 위로 | 다음
log1p | 처음으로 | max


max

(PHP 4, PHP 5)

max -- 최고값을 찾습니다.

설명

mixed max ( number $arg1, number $arg2 [, number $...] )
mixed max ( array $numbers [, array $...] )

max()는 인자 중 수치적인 최고값을 반환합니다.

첫번째 인자만이 배열이라면, max()는 그 배열에서의 최고값을 반환합니다. 첫번째 인자가 정수, 문자열, 혹은 실수일 경우 최소한 2개의 인자가 필요하며, max()는 그 중에 최고값을 반환합니다. 비교할 수 있는 값의 수는 무제한입니다.

참고: PHP는 숫자가 아닌 string은 0으로 계산하지만, 그것이 가장 큰 값일 경우 그 문자열을 반환합니다. 0으로 계산된 여러 인자가 존재할 경우, max()는 가장 처음 나온 값을 사용합니다. (가장 왼쪽의 값)

예 1044. max()의 사용 예제

<?php
echo max(1, 3, 5, 6, 7);  // 7
echo max(array(2, 4, 5)); // 5

echo max(0, 'hello');     // 0
echo max('hello', 0);     // hello
echo max(-1, 'hello');    // hello

// 복수 배열일 경우, max는 왼쪽에서 오른쪽으로 비교합니다.
// 이 예제에서는: 2 == 2, 그 다음에 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)

// 배열과 배열이 아닌것이 주어질 때는 배열 중에서
// 가장 큰 배열을 반환합니다.
$val = max('string', array(2, 5, 7), 42);   // array(2, 5, 7)
?>

참고: min(), count().

이전 | 위로 | 다음
log | 처음으로 | min


min

(PHP 4, PHP 5)

min -- 최소값을 찾습니다.

Description

mixed min ( number $arg1, number $arg2 [, number $...] )
mixed min ( array $numbers [, array $...] )

min()은 인자 중 수치적인 최소값을 반환합니다.

단 하나의 인자가 배열로 주어지면, min()은 배열에서 최소값을 반환합니다. 첫번째 인자가 정수, 문자열, 실수일 경우에는 최소한 2개의 인자가 필요하며, min()은 이 값들 중 최소값을 반환합니다. 비교할 수 있는 값의 갯수는 무제한입니다.

참고: PHP는 숫자가 아닌 string을 0으로 계산하고, 수치적으로 최소값일 경우에는 그 문자열을 반환합니다. 복수의 인자가 0으로 계산될 경우, min()은 첫번째 것(가장 왼쪽의 값)을 반환합니다.

예 1045. min()의 사용 예제

<?php
echo min(2, 3, 1, 6, 7));  // 1
echo min(array(2, 4, 5));  // 2

echo min(0, 'hello'));     // 0
echo min('hello', 0));     // hello
echo min('hello', -1));    // -1

// 복수의 배열에서, min은 왼쪽에서 오른쪽으로 비교합니다.
// 예제에서는: 2 == 2, 그리고 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)
// 배열과 배열이 아닌 것이 주어지면, 배열은
// 가장 큰 것으로 생각되어 항상 반환되지 않습니다.
$val = min('string', array(2, 5, 7), 42);   // string
?>

참고: max(), count().

이전 | 위로 | 다음
max | 처음으로 | mt_getrandmax


mt_getrandmax

(PHP 4, PHP 5)

mt_getrandmax -- 가능한 가장 큰 랜덤 값을 보여줍니다.

설명

int mt_getrandmax ( void )

mt_rand()를 호출했을 때 반환될 수 있는 가장 큰 값을 반환합니다.

참고:
mt_rand(),
mt_srand(),
getrandmax().

이전 | 위로 | 다음
min | 처음으로 | mt_rand


mt_rand

(PHP 4, PHP 5)

mt_rand -- 향상된 난수를 생성합니다.

설명

int mt_rand ( [int $min, int $max] )

사용해 온 libc들의 많은 난수 생성기는 이상하거나, 특성을 알 수 없거나, 느렸습니다. 기본적으로, PHP는 rand() 함수에서 libc 난수 생성기를 이용합니다. mt_rand()는 이를 대체합니다. » Mersenne Twister를 사용하는 확실한 특성을 가진 난수 생성기를 이용합니다. 이것은 평균적인 libc 제공의 난수 생성기에 비해 4배 정도 빠릅니다.

선택적인 min, max 인자 없이 호출하면, mt_rand()는 0과 RAND_MAX 사이의 모조 난수를 반환합니다. 예를 들어, 5와 15(포함)사이의 난수를 원할 경우에는, mt_rand (5, 15)로 사용합니다.

예 1046. mt_rand() 예제

<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";

echo mt_rand(5, 15);
?>

위 예제의 출력 예는:

1604716014
1478613278
6

참고: PHP 4.2.0부터 srand()나 mt_srand()를 이용한 난수값 생성기 초기화를 할 필요가 없습니다. 자동적으로 이루어집니다.

참고: 3.0.7 이전 버전에서는 max의 의미는 range였습니다. 이 버전에서 위에 든 예처럼 5에서 15 사이의 난수를 얻기 위해서는 mt_rand (5, 11)로 사용해야 합니다.

참고:
mt_srand(),
mt_getrandmax(),
rand().

이전 | 위로 | 다음
mt_getrandmax | 처음으로 | mt_srand


mt_srand

(PHP 4, PHP 5)

mt_srand -- 향상된 난수 생성기를 초기화합니다.

설명

void mt_srand ( [int $seed] )

seed로 난수 생생기를 초기화합니다. PHP 4.2.0부터, seed는 선택적으로 변경되었고, 생략할 경우에도 기본값으로 난수를 생성합니다.

예 1047. mt_srand() 예제

<?php
// 마이크로초로 초기화
function make_seed()
{
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());
$randval = mt_rand();
?>

참고: PHP 4.2.0부터 srand()나 mt_srand()를 이용한 난수값 생성기 초기화를 할 필요가 없습니다. 자동적으로 이루어집니다.

참고:
mt_rand(),
mt_getrandmax(),
srand().

이전 | 위로 | 다음
mt_rand | 처음으로 | octdec


octdec

(PHP 4, PHP 5)

octdec -- 8진수를 10진수로 변환합니다.

설명

int octdec ( string $octal_string )

octal_string 인수로 주어진 8진수에 해당하는 10진수를 반환합니다. 변환 가능한 가장 큰 숫자는 17777777777로, 10진수 2147483647에 해당합니다.

예 1048. octdec() 예제

<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>

위 예제의 출력은:

63
45

참고:
decoct(),
bindec(),
hexdec(),
base_convert().

이전 | 위로 | 다음
mt_srand | 처음으로 | pi


pi

(PHP 4, PHP 5)

pi -- 파이(pi)값을 얻는다.

Description

float pi ( void )

파이(pi)의 근사값을 반환합니다. 반환되는 float는 php.ini의 precision이 지시하는 정밀도를 가집니다. 기본값은 14입니다. 또는 pi()가 생성하는 결과와 똑같은 값을 가지는 M_PI 상수를 이용할 수도 있습니다.

예 1049. pi() 예제

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>

이전 | 위로 | 다음
octdec | 처음으로 | pow


pow

(PHP 4, PHP 5)

pow -- 거듭제곱

설명

number pow ( number $base, number $exp )

base의 exp승을 반환합니다. 이 함수는 가능한 한 integer로 반환합니다.

계산을 할 수 없으면 경고가 발생하고, pow()는 FALSE를 반환합니다. PHP 4.2.0부터 pow()는 어떠한 경고도 발생하지 않습니다.

참고: PHP는 음수의 base를 다루지 못합니다.

예 1050. pow() 예제

<?php

var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20); // 1
echo pow(0, 0); // 1

echo pow(-1, 5.5); // 에러

?>

주의

PHP 4.0.6과 그 이전에는 pow()는 항상 float를 반환하고, 경고를 발생하지 않습니다.

참고:
exp(),
sqrt(),
bcpow(),
gmp_pow().

이전 | 위로 | 다음
pi | 처음으로 | rad2deg


rad2deg

(PHP 4, PHP 5)

rad2deg -- 라디안을 각도로 변환합니다.

설명

float rad2deg ( float $number )

이 함수는 number를 라디안에서 각도로 변환합니다.

예 1051. rad2deg() 예제

<?php

echo rad2deg(M_PI_4); // 45

?>

참고: deg2rad().

이전 | 위로 | 다음
pow | 처음으로 | rand


rand

(PHP 4, PHP 5)

rand -- 정수형의 난수를 생성합니다.

설명

int rand ( [int $min, int $max] )

부수적인 min, max 인수 없이 호출하면, rand()는 0과 RAND_MAX 사이의 임의의 난수를 반환합니다. 예를 들어, 5와 15(포함) 사이의 난수를 얻으려면, rand (5, 15)로 사용합니다.

예 1052. rand() 예제

<?php
echo rand() . "\n";
echo rand() . "\n";
echo rand(5, 15);
?>

위 예제의 출력 예는:

7771
22264
11

참고: 몇몇 플래폼(Windows 등)에서는 RAND_MAX는 32768까지 입니다. 32768보다 큰 범위가 필요할 경우에는, min과 max를 지정하여 RAND_MAX보다 큰 범위를 만들거나, mt_rand()을 사용하십시오.

참고: PHP 4.2.0부터 srand()나 mt_srand()를 이용한 난수값 생성기 초기화를 할 필요가 없습니다. 자동적으로 이루어집니다.

참고: 3.0.7 이전의 버전에서는 max의 의미는 range였습니다. 이 버전에서 위의 예제와 같이 5에서 15 사이의 난수를 얻기 위해서는 rand (5, 11)로 사용해야만 합니다.

참고:
srand(),
getrandmax(),
mt_rand().

이전 | 위로 | 다음
rad2deg | 처음으로 | round


round

(PHP 4, PHP 5)

round -- 실수를 반올림합니다.

설명

float round ( float $val [, int $precision] )

val를 주어진 precision(소수점 아래의 자리수)까지 반올림한 값을 반환합니다. precision는 음수나 0(기본값)을 가질 수 있습니다.

예 1053. round() 예제

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

참고: PHP는 기본적으로 "12,300.2"과 같은 문자열을 정상적으로 다루지 못합니다. 문자열에서 변환하기를 참고하십시오.

참고: precision 인자는 PHP 4에서만 사용할 수 있습니다.

참고:
ceil(),
floor(),
number_format().

이전 | 위로 | 다음
rand | 처음으로 | sin


sin

(PHP 4, PHP 5)

sin -- 사인

설명

float sin ( float $arg )

sin()은 arg 인자의 사인값을 반환합니다. arg 인자는 라디안으로 주어집니다.

예 1054. sin() 예제

<?php

// 정밀도는 precision 설정에 의존합니다.
echo sin(deg2rad(60));  //  0.866025403 ...
echo sin(60);           // -0.304810621 ...

?>

참고:
asin(),
cos(),
tan(),
deg2rad().

이전 | 위로 | 다음
round | 처음으로 | sinh


sinh

(PHP 4 >= 4.0.7, PHP 5)

sinh -- 쌍곡선 사인

설명

float sinh ( float $arg )

(exp(arg) - exp(-arg))/2로 정의되는 arg의 쌍곡선 사인값을 반환합니다.

참고:
sin(),
asinh(),
cos(),
tan().

이전 | 위로 | 다음
sin | 처음으로 | sqrt


sqrt

(PHP 4, PHP 5)

sqrt -- 평방 제곱근

설명

float sqrt ( float $arg )

arg의 평방제곱근을 반환합니다.

예 1055. sqrt() 예제

<?php
// 정밀도는 precision 설정에 의존합니다.
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

참고: pow().

이전 | 위로 | 다음
sinh | 처음으로 | srand


srand

(PHP 4, PHP 5)

srand -- 난수 생성기를 초기화합니다.

설명

void srand ( [int $seed] )

seed로 난수 생성기를 초기화합니다. PHP 4.2.0부터 seed는 선택적이 되었고, 생략할 경우에도 기본값으로 난수값을 생성합니다.

예 1056. srand() 예제

// 마이크로초로 초기화
function make_seed()
{
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
$randval = rand();

참고: PHP 4.2.0부터 srand()나 mt_srand()를 이용한 난수값 생성기 초기화를 할 필요가 없습니다. 자동적으로 이루어집니다.

참고:
rand(),
getrandmax(),
mt_srand().

이전 | 위로 | 다음
sqrt | 처음으로 | tan


tan

(PHP 4, PHP 5)

tan -- 탄젠트

설명

float tan ( float $arg )

tan()는 arg 인수의 탄젠트 값을 반환합니다. arg 인수는 라디안으로 주어집니다.

예 1057. tan() 예제

<?php

echo tan(M_PI_2); // 1

?>

참고:
atan(),
sin(),
cos(),
deg2rad().

이전 | 위로 | 다음
srand | 처음으로 | tanh


tanh

(PHP 4 >= 4.0.7, PHP 5)

tanh -- 쌍곡선 탄젠트

설명

float tanh ( float $arg )

sinh(arg)/cosh(arg)로 정의되는 arg의 쌍곡선 탄젠트 값을 반환합니다.

참고:
tan(),
atanh(),
sin(),
cos().

이전 | 위로 | 다음
tan | 처음으로 | LXXXII. MaxDB PHP Extension


Multibyte String Functions

이전 VI. 함수 레퍼런스 다음

XCVI. Multibyte String Functions

소개

While there are many languages in which every necessary character can be represented by a one-to-one mapping to an 8-bit value, there are also several languages which require so many characters for written communication that they cannot be contained within the range a mere byte can code (A byte is made up of eight bits. Each bit can contain only two distinct values, one or zero. Because of this, a byte can only represent 256 unique values (two to the power of eight)). Multibyte character encoding schemes were developed to express more than 256 characters in the regular bytewise coding system.

When you manipulate (trim, split, splice, etc.) strings encoded in a multibyte encoding, you need to use special functions since two or more consecutive bytes may represent a single character in such encoding schemes. Otherwise, if you apply a non-multibyte-aware string function to the string, it probably fails to detect the beginning or ending of the multibyte character and ends up with a corrupted garbage string that most likely loses its original meaning.

mbstring provides multibyte specific string functions that help you deal with multibyte encodings in PHP. In addition to that, mbstring handles character encoding conversion between the possible encoding pairs. mbstring is designed to handle Unicode-based encodings such as UTF-8 and UCS-2 and many single-byte encodings for convenience (listed below).

PHP Character Encoding Requirements

Encodings of the following types are safely used with PHP.

  • A singlebyte encoding,

    • which has ASCII-compatible (ISO646 compatible) mappings for the characters in range of 00h to 7fh.

  • A multibyte encoding,

    • which has ASCII-compatible mappings for the characters in range of 00h to 7fh.
    • which don't use ISO2022 escape sequences.
    • which don't use a value from 00h to 7fh in any of the compounded bytes that represents a single character.

These are examples of character encodings that are unlikely to work with PHP.

JIS, SJIS, ISO-2022-JP, BIG-5

Although PHP scripts written in any of those encodings might not work, especially in the case where encoded strings appear as identifiers or literals in the script, you can almost avoid using these encodings by setting up the mbstring's transparent encoding filter function for incoming HTTP queries.

참고: It's highly discouraged to use SJIS, BIG5, CP936, CP949 and GB18030 for the internal encoding unless you are familiar with the parser, the scanner and the character encoding.

참고: If you are connecting to a database with PHP, it is recommended that you use the same character encoding for both the database and the internal encoding for ease of use and better performance.

If you are using PostgreSQL, the character encoding used in the database and the one used in PHP may differ as it supports automatic character set conversion between the backend and the frontend.

설치

mbstring is a non-default extension. This means it is not enabled by default. You must explicitly enable the module with the configure option. See the Install section for details.

The following configure options are related to the mbstring module.

  • --enable-mbstring: Enable mbstring functions. This option is required to use mbstring functions.

    libmbfl is necesarry for mbstring. libmbfl is bundled with mbstring. If libmbfl is already installed on the system, --with-libmbfl[=DIR] can be specified to use the installed library.

    As of PHP 4.3.0, mbstring extension provides enhanced support for Simplified Chinese, Traditional Chinese, Korean, and Russian in addition to Japanese.

    For PHP 4.3.3 or before,
To enable that feature, you will have to supply either one of the
following options to the LANG parameter
of --enable-mbstring=LANG;
--enable-mbstring=cn for Simplified Chinese support,
--enable-mbstring=tw for Traditional Chinese support,
--enable-mbstring=kr for Korean support,
--enable-mbstring=ru for Russian support, and
--enable-mbstring=ja for Japanese support (default).
 To enable all supported encoding, use --enable-mbstring=all.

    참고: As of PHP 4.3.4, all supported encoding by libmbfl is enabled with --enable-mbstring.

  • --enable-mbstr-enc-trans : Enable HTTP input character encoding conversion using mbstring conversion engine. If this feature is enabled, HTTP input character encoding may be converted to mbstring.internal_encoding automatically.

    참고: As of PHP 4.3.0, the option --enable-mbstr-enc-trans was eliminated and replaced with the runtime setting mbstring.encoding_translation. HTTP input character encoding conversion is enabled when this is set to On (the default is Off).

  • --disable-mbregex: Disable regular expression functions with multibyte character support.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 172. mbstring configuration options

Name | Default | Changeable | Changelog
mbstring.language | "neutral" | PHP_INI_PERDIR | Available since PHP 4.3.0.
mbstring.detect_order | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.http_input | "pass" | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.script_encoding | NULL | PHP_INI_ALL | Available since PHP 4.3.0.
mbstring.substitute_character | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.func_overload | "0" | PHP_INI_PERDIR | PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.2.0.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Available since PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Available since PHP 5.1.2.

For the definition of the PHP_INI_* constants, please refer to ini_set().

위 설정 지시어에 대한 간단한 설명입니다.

mbstring.language string

The default national language setting (NLS) used in mbstring. Note that this option automagically defines mbstring.internal_encoding and mbstring.internal_encoding should be placed after mbstring.language in php.ini

mbstring.encoding_translation boolean

Enables the transparent character encoding filter for the incoming HTTP queries, which performs detection and conversion of the input encoding to the internal character encoding.

mbstring.internal_encoding string

Defines the default internal character encoding.

mbstring.http_input string

Defines the default HTTP input character encoding.

mbstring.http_output string

Defines the default HTTP output character encoding.

mbstring.detect_order string

Defines default character code detection order. See also mb_detect_order().

mbstring.substitute_character string

Defines character to substitute for invalid character encoding.

mbstring.func_overload string

Overloads a set of single byte functions by the mbstring counterparts. See Function overloading for more information.

mbstring.strict_detection boolean

Enables the strict encoding detection.

According to the » HTML 4.01 specification, Web browsers are allowed to encode a form being submitted with a character encoding different from the one used for the page. See mb_http_input() to detect character encoding used by browsers.

Although popular browsers are capable of giving a reasonably accurate guess to the character encoding of a given HTML document, it would be better to set the charset parameter in the Content-Type HTTP header to the appropriate value by header() or default_charset ini setting.

예 1279. php.ini setting examples

; Set default language
mbstring.language        = Neutral; Set default language to Neutral(UTF-8) (default)
mbstring.language        = English; Set default language to English
mbstring.language        = Japanese; Set default language to Japanese

;; Set default internal encoding
;; Note: Make sure to use character encoding works with PHP
mbstring.internal_encoding    = UTF-8  ; Set internal encoding to UTF-8

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set default HTTP input character encoding
;; Note: Script cannot change http_input setting.
mbstring.http_input           = pass    ; No conversion.
mbstring.http_input           = auto    ; Set HTTP input to auto
                                ; "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS"
mbstring.http_input           = SJIS    ; Set HTTP2 input to  SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Specify order

;; Set default HTTP output character encoding
mbstring.http_output          = pass    ; No conversion
mbstring.http_output          = UTF-8   ; Set HTTP output encoding to UTF-8

;; Set default character encoding detection order
mbstring.detect_order         = auto    ; Set detect order to auto
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specify order

;; Set default substitute character
mbstring.substitute_character = 12307   ; Specify Unicode value
mbstring.substitute_character = none    ; Do not print character
mbstring.substitute_character = long    ; Long Example: U+3000,JIS+7E7E

예 1280. php.ini setting for EUC-JP users

;; Disable Output Buffering
output_buffering      = Off

;; Set HTTP header charset
default_charset       = EUC-JP

;; Set default language to Japanese
mbstring.language = Japanese

;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = On

;; Set HTTP input encoding conversion to auto
mbstring.http_input   = auto

;; Convert HTTP output to EUC-JP
mbstring.http_output  = EUC-JP

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none

예 1281. php.ini setting for SJIS users

;; Enable Output Buffering
output_buffering     = On

;; Set mb_output_handler to enable output conversion
output_handler       = mb_output_handler

;; Set HTTP header charset
default_charset      = Shift_JIS

;; Set default language to Japanese
mbstring.language = Japanese

;; Set http input encoding conversion to auto
mbstring.http_input  = auto

;; Convert to SJIS
mbstring.http_output = SJIS

;; Set internal encoding to EUC-JP
mbstring.internal_encoding = EUC-JP

;; Do not print invalid characters
mbstring.substitute_character = none

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

MB_OVERLOAD_MAIL (integer)
MB_OVERLOAD_STRING (integer)
MB_OVERLOAD_REGEX (integer)
MB_CASE_UPPER (integer)
MB_CASE_LOWER (integer)
MB_CASE_TITLE (integer)

HTTP Input and Output

HTTP input/output character encoding conversion may convert binary data also. Users are supposed to control character encoding conversion if binary data is used for HTTP input/output.

참고: In PHP 4.3.2 or earlier versions, there was a limitation in this functionality that mbstring does not perform character encoding conversion in POST data if the enctype attribute in the form element is set to multipart/form-data. So you have to convert the incoming data by yourself in this case if necessary.

Beginning with PHP 4.3.3, if enctype for HTML form is set to multipart/form-data and mbstring.encoding_translation is set to On in php.ini the POST'ed variables and the names of uploaded files will be converted to the internal character encoding as well. However, the conversion isn't applied to the query keys.

  • HTTP Input

    There is no way to control HTTP input character conversion from a PHP script. To disable HTTP input character conversion, it has to be done in php.ini.

    예 1282. Disable HTTP input conversion in php.ini

    ;; Disable HTTP Input conversion
    mbstring.http_input = pass
    ;; Disable HTTP Input conversion (PHP 4.3.0 or higher)
    mbstring.encoding_translation = Off

    When using PHP as an Apache module, it is possible to override those settings in each Virtual Host directive in httpd.conf or per directory with .htaccess. Refer to the Configuration section and Apache Manual for details.

  • HTTP Output

    There are several ways to enable output character encoding conversion. One is using php.ini, another is using ob_start() with mb_output_handler() as the ob_start callback function.

    참고: PHP3-i18n users should note that mbstring's output conversion differs from PHP3-i18n. Character encoding is converted using an output buffer.

예 1283. php.ini setting example

;; Enable output character encoding conversion for all PHP pages

;; Enable Output Buffering
output_buffering    = On

;; Set mb_output_handler to enable output conversion
output_handler      = mb_output_handler

예 1284. Script example

<?php

// Enable output character encoding conversion only for this page

// Set HTTP output character encoding to SJIS
mb_http_output('SJIS');

// Start buffering and specify "mb_output_handler" as
// callback function
ob_start('mb_output_handler');

?>

Supported Character Encodings

Currently the following character encodings are supported by the mbstring module. Any of those Character encodings can be specified in the encoding parameter of mbstring functions.

The following character encodings are supported in this PHP extension:

  • UCS-4
  • UCS-4BE
  • UCS-4LE
  • UCS-2
  • UCS-2BE
  • UCS-2LE
  • UTF-32
  • UTF-32BE
  • UTF-32LE
  • UTF-16
  • UTF-16BE
  • UTF-16LE
  • UTF-7
  • UTF7-IMAP
  • UTF-8
  • ASCII
  • EUC-JP
  • SJIS
  • eucJP-win
  • SJIS-win
  • ISO-2022-JP
  • JIS
  • ISO-8859-1
  • ISO-8859-2
  • ISO-8859-3
  • ISO-8859-4
  • ISO-8859-5
  • ISO-8859-6
  • ISO-8859-7
  • ISO-8859-8
  • ISO-8859-9
  • ISO-8859-10
  • ISO-8859-13
  • ISO-8859-14
  • ISO-8859-15
  • byte2be
  • byte2le
  • byte4be
  • byte4le
  • BASE64
  • HTML-ENTITIES
  • 7bit
  • 8bit
  • EUC-CN
  • CP936
  • HZ
  • EUC-TW
  • CP950
  • BIG-5
  • EUC-KR
  • UHC (CP949)
  • ISO-2022-KR
  • Windows-1251 (CP1251)
  • Windows-1252 (CP1252)
  • CP866 (IBM866)
  • KOI8-R

Any php.ini entry which accepts an encoding name can also use the values "auto" and "pass". mbstring functions which accept an encoding name can also use the value "auto".

If "pass" is set, no character encoding conversion is performed.

If "auto" is set, it is expanded to the list of encodings defined per the NLS. For instance, if the NLS is set to Japanese, the value is assumed to be "ASCII,JIS,UTF-8,EUC-JP,SJIS".

See also mb_detect_order()

Function Overloading Feature

You might often find it difficult to get an existing PHP application to work in a given multibyte environment. This happens because most PHP applications out there are written with the standard string functions such as substr(), which are known to not properly handle multibyte-encoded strings.

mbstring supports a 'function overloading' feature which enables you to add multibyte awareness to such an application without code modification by overloading multibyte counterparts on the standard string functions. For example, mb_substr() is called instead of substr() if function overloading is enabled. This feature makes it easy to port applications that only support single-byte encodings to a multibyte environment in many cases.

To use function overloading, set mbstring.func_overload in php.ini to a positive value that represents a combination of bitmasks specifying the categories of functions to be overloaded. It should be set to 1 to overload the mail() function. 2 for string functions, 4 for regular expression functions. For example, if it is set to 7, mail, strings and regular expression functions will be overloaded. The list of overloaded functions are shown below.

표 173. Functions to be overloaded

value of mbstring.func_overload | original function | overloaded function
1 | mail() | mb_send_mail()
2 | strlen() | mb_strlen()
2 | strpos() | mb_strpos()
2 | strrpos() | mb_strrpos()
2 | substr() | mb_substr()
2 | strtolower() | mb_strtolower()
2 | strtoupper() | mb_strtoupper()
2 | substr_count() | mb_substr_count()
4 | ereg() | mb_ereg()
4 | eregi() | mb_eregi()
4 | ereg_replace() | mb_ereg_replace()
4 | eregi_replace() | mb_eregi_replace()
4 | split() | mb_split()

참고: It is not recommended to use the function overloading option in the per-directory context, because it's not confirmed yet to be stable enough in a production environment and may lead to undefined behaviour.

Basics of Japanese multi-byte encodings

Japanese characters can only be represented by multibyte encodings, and multiple encoding standards are used depending on platform and text purpose. To make matters worse, these encoding standards differ slightly from one another. In order to create a web application which would be usable in a Japanese environment, a developer has to keep these complexities in mind to ensure that the proper character encodings are used.

  • Storage for a character can be up to six bytes
  • Most Japanese multibyte characters appear twice as wide as single-byte characters. These characters are called "zen-kaku" in Japanese, which means "full width". Other, narrower, characters are called "han-kaku", which means "half width". The graphical properties of the characters, however, depends upon the type faces used to display them.
  • Some character encodings use shift(escape) sequences defined in ISO-2022 to switch the code map of the specific code area (00h to 7fh).
  • ISO-2022-JP should be used in SMTP/NNTP, and headers and entities should be reencoded as per RFC requirements. Although those are not requisites, it's still a good idea because several popular user agents cannot recognize any other encoding methods.
  • Web pages created for mobile phone services such as » i-mode, » Vodafone live!, or » EZweb are supposed to use Shift_JIS.

References

Multibyte character encoding schemes and their related issues are fairly complicated, and are beyond the scope of this documentation. Please refer to the following URLs and other resources for further information regarding these topics.

  • Unicode materials

    » http://www.unicode.org/

  • Japanese/Korean/Chinese character information

    » http://examples.oreilly.com/cjkvinfo/doc/cjk.inf

Summaries of supported encodings

Summaries of supported encodings
Name in the IANA character set registry: ISO-10646-UCS-4
Underlying character set: ISO 10646
Description: The Universal Character Set with 31-bit code space, standardized as UCS-4 by ISO/IEC 10646. It is kept synchronized with the latest version of the Unicode code map.
Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
Name in the IANA character set registry: ISO-10646-UCS-4
Underlying character set: UCS-4
Description: See above.
Additional note: In contrast to UCS-4, strings are always assumed to be in big endian form.
Name in the IANA character set registry: ISO-10646-UCS-4
Underlying character set: UCS-4
Description: See above.
Additional note: In contrast to UCS-4, strings are always assumed to be in little endian form.
Name in the IANA character set registry: ISO-10646-UCS-2
Underlying character set: UCS-2
Description: The Universal Character Set with 16-bit code space, standardized as UCS-2 by ISO/IEC 10646. It is kept synchronized with the latest version of the unicode code map.
Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
Name in the IANA character set registry: ISO-10646-UCS-2
Underlying character set: UCS-2
Description: See above.
Additional note: In contrast to UCS-2, strings are always assumed to be in big endian form.
Name in the IANA character set registry: ISO-10646-UCS-2
Underlying character set: UCS-2
Description: See above.
Additional note: In contrast to UCS-2, strings are always assumed to be in little endian form.
Name in the IANA character set registry: UTF-32
Underlying character set: Unicode
Description: Unicode Transformation Format of 32-bit unit width, whose encoding space refers to the Unicode's codeset standard. This encoding scheme wasn't identical to UCS-4 because the code space of Unicode were limited to a 21-bit value.
Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
Name in the IANA character set registry: UTF-32BE
Underlying character set: Unicode
Description: See above
Additional note: In contrast to UTF-32, strings are always assumed to be in big endian form.
Name in the IANA character set registry: UTF-32LE
Underlying character set: Unicode
Description: See above
Additional note: In contrast to UTF-32, strings are always assumed to be in little endian form.
Name in the IANA character set registry: UTF-16
Underlying character set: Unicode
Description: Unicode Transformation Format of 16-bit unit width. It's worth a note that UTF-16 is no longer the same specification as UCS-2 because the surrogate mechanism has been introduced since Unicode 2.0 and UTF-16 now refers to a 21-bit code space.
Additional note: If this name is used in the encoding conversion facility, the converter attempts to identify by the preceding BOM (byte order mark)in which endian the subsequent bytes are represented.
Name in the IANA character set registry: UTF-16BE
Underlying character set: Unicode
Description: See above.
Additional note: In contrast to UTF-16, strings are always assumed to be in big endian form.
Name in the IANA character set registry: UTF-16LE
Underlying character set: Unicode
Description: See above.
Additional note: In contrast to UTF-16, strings are always assumed to be in little endian form.
Name in the IANA character set registry: UTF-8
Underlying character set: Unicode / UCS
Description: Unicode Transformation Format of 8-bit unit width.
Additional note: none
Name in the IANA character set registry: UTF-7
Underlying character set: Unicode
Description: A mail-safe transformation format of Unicode, specified in » RFC2152.
Additional note: none
Name in the IANA character set registry: (none)
Underlying character set: Unicode
Description: A variant of UTF-7 which is specialized for use in the » IMAP protocol.
Additional note: none
Name in the IANA character set registry: US-ASCII (preferred MIME name) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII
Underlying character set: ASCII / ISO 646
Description: American Standard Code for Information Interchange is a commonly-used 7-bit encoding. Also standardized as an international standard, ISO 646.
Additional note: (none)
Name in the IANA character set registry: EUC-JP (preferred MIME name) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese
Underlying character set: Compound of US-ASCII / JIS X0201:1997 (hankaku kana part) / JIS X0208:1990 / JIS X0212:1990
Description: As you see the name is derived from an abbreviation of Extended UNIX Code Packed Format for Japanese, this encoding is mostly used on UNIX or alike platforms. The original encoding scheme, Extended UNIX Code, is designed on the basis of ISO 2022.
Additional note: The character set referred to by EUC-JP is different to IBM932 / CP932, which are used by OS/2® and Microsoft® Windows®. For information interchange with those platforms, use EUCJP-WIN instead.
Name in the IANA character set registry: Shift_JIS (preferred MIME name) / MS_Kanji / csShift_JIS
Underlying character set: Compound of JIS X0201:1997 / JIS X0208:1997
Description: Shift_JIS was developed in early 80's, at the time personal Japanese word processors were brought into the market, in order to maintain compatiblities with the legacy encoding scheme JIS X 0201:1976. According to the IANA definition the codeset of Shift_JIS is slightly different to IBM932 / CP932. However, the names "SJIS" / "Shift_JIS" are often wrongly used to refer to these codesets.
Additional note: For the CP932 codemap, use SJIS-WIN instead.
Name in the IANA character set registry: (none)
Underlying character set: Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions
Description: While this "encoding" uses the same encoding scheme as EUC-JP, the underlying character set is different. That is, some code points map to different characters than EUC-JP.
Additional note: none
Name in the IANA character set registry: Windows-31J / csWindows31J
Underlying character set: Compound of JIS X0201:1997 / JIS X0208:1997 / IBM extensions / NEC extensions
Description: While this "encoding" uses the same encoding scheme as Shift_JIS, the underlying character set is different. That means some code points map to different characters than Shift_JIS.
Additional note: (none)
Name in the IANA character set registry: ISO-2022-JP (preferred MIME name) / csISO2022JP
Underlying character set: US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983
Description: » RFC1468
Additional note: (none)
Name in the IANA character set registry: JIS
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-1
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-2
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-3
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-4
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-5
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-6
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-7
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-8
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-9
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-10
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-13
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-14
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-8859-15
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: byte2be
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: byte2le
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: byte4be
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: byte4le
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: BASE64
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: HTML-ENTITIES
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: 7bit
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: 8bit
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: EUC-CN
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: CP936
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: HZ
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: EUC-TW
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: CP950
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: BIG-5
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: EUC-KR
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: UHC (CP949)
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: ISO-2022-KR
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: Windows-1251 (CP1251)
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: Windows-1252 (CP1252)
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: CP866 (IBM866)
Underlying character set:
Description:
Additional note:
Name in the IANA character set registry: KOI8-R
Underlying character set:
Description:
Additional note:

차례

mb_check_encoding -- Check if the string is valid for the specified encoding
mb_convert_case -- Perform case folding on a string
mb_convert_encoding -- Convert character encoding
mb_convert_kana -- Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
mb_convert_variables -- Convert character code in variable(s)
mb_decode_mimeheader -- Decode string in MIME header field
mb_decode_numericentity -- Decode HTML numeric string reference to character
mb_detect_encoding -- Detect character encoding
mb_detect_order -- Set/Get character encoding detection order
mb_encode_mimeheader -- Encode string for MIME header
mb_encode_numericentity -- Encode character to HTML numeric string reference
mb_ereg_match -- Regular expression match for multibyte string
mb_ereg_replace -- Replace regular expression with multibyte support
mb_ereg_search_getpos -- Returns start point for next regular expression match
mb_ereg_search_getregs -- Retrieve the result from the last multibyte regular expression match
mb_ereg_search_init -- Setup string and regular expression for multibyte regularexpression match
mb_ereg_search_pos -- Return position and length of matched part of multibyte regular expression for predefined multibyte string
mb_ereg_search_regs -- Returns the matched part of multibyte regular expression
mb_ereg_search_setpos -- Set start point of next regular expression match
mb_ereg_search -- Multibyte regular expression match for predefined multibyte string
mb_ereg -- Regular expression match with multibyte support
mb_eregi_replace -- Replace regular expression with multibyte support ignoring case
mb_eregi -- Regular expression match ignoring case with multibyte support
mb_get_info -- Get internal settings of mbstring
mb_http_input -- Detect HTTP input character encoding
mb_http_output -- Set/Get HTTP output character encoding
mb_internal_encoding -- Set/Get internal character encoding
mb_language -- Set/Get current language
mb_output_handler -- Callback function converts character encoding in output buffer
mb_parse_str -- Parse GET/POST/COOKIE data and set global variable
mb_preferred_mime_name -- Get MIME charset string
mb_regex_encoding -- Returns current encoding for multibyte regex as string
mb_regex_set_options -- Set/Get the default options for mbregex functions
mb_send_mail -- Send encoded mail
mb_split -- Split multibyte string using regular expression
mb_strcut -- Get part of string
mb_strimwidth -- Get truncated string with specified width
mb_stripos -- Finds position of first occurrence of a string within another, case insensitive
mb_stristr -- Finds first occurrence of a string within another, case insensitive
mb_strlen -- Get string length
mb_strpos -- Find position of first occurrence of string in a string
mb_strrchr -- Finds the last occurrence of a character in a string within another
mb_strrichr -- Finds the last occurrence of a character in a string within another, case insensitive
mb_strripos -- Finds position of last occurrence of a string within another, case insensitive
mb_strrpos -- Find position of last occurrence of a string in a string
mb_strstr -- Finds first occurrence of a string within another
mb_strtolower -- Make a string lowercase
mb_strtoupper -- Make a string uppercase
mb_strwidth -- Return width of string
mb_substitute_character -- Set/Get substitution character
mb_substr_count -- Count the number of substring occurrences
mb_substr -- Get part of string
이전 | 위로 | 다음
msql | 처음으로 | mb_check_encoding


mb_convert_case

(PHP 4 >= 4.3.0, PHP 5)

mb_convert_case -- Perform case folding on a string

설명

string mb_convert_case ( string $str, int $mode [, string $encoding] )

mb_convert_case() returns case folded version of string converted in the way specified by mode.

mode can be one of MB_CASE_UPPER, MB_CASE_LOWER or MB_CASE_TITLE.

encoding specifies the encoding of str; if omitted, the internal character encoding value will be used.

The return value is str with the appropriate case folding applied.

By contrast to the standard case folding functions such as strtolower() and strtoupper(), case folding is performed on the basis of the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (?).

For more information about the Unicode properties, please see » http://www.unicode.org/unicode/reports/tr21/.

예 1285. mb_convert_case() example

<?php
$str = "mary had a Little lamb and she loved it so";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Prints Mary Had A Little Lamb And She Loved It So
?>

See also mb_strtolower(),
mb_strtoupper(),
strtolower(),
strtoupper(),
ucfirst() 그리고
ucwords()

이전 | 위로 | 다음
mb_check_encoding | 처음으로 | mb_convert_encoding


mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_encoding -- Convert character encoding

설명

string mb_convert_encoding ( string $str, string $to_encoding [, mixed $from_encoding] )

mb_convert_encoding() converts character encoding of string str from from_encoding to to_encoding.

str : String to be converted.

from_encoding is specified by character code name before conversion. it can be array or string - comma separated enumerated list. If it is not specified, the internal encoding will be used.

예 1286. mb_convert_encoding() example

<?php
/* Convert internal character encoding to SJIS */
$str = mb_convert_encoding($str, "SJIS");

/* Convert EUC-JP to UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

See also mb_detect_order().

이전 | 위로 | 다음
mb_convert_case | 처음으로 | mb_convert_kana


mb_convert_kana

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_kana -- Convert "kana" one from another ("zen-kaku", "han-kaku" and more)

설명

string mb_convert_kana ( string $str [, string $option [, string $encoding]] )

mb_convert_kana() performs "han-kaku" - "zen-kaku" conversion for string str. It returns converted string. This function is only useful for Japanese.

option is conversion option. Default value is "KV".

encoding is character encoding. If it is omitted, internal character encoding is used.

Specify with combination of following options. Default value is KV.

표 174. Applicable Conversion Options

Option | Meaning
r | Convert "zen-kaku" alphabets to "han-kaku"
R | Convert "han-kaku" alphabets to "zen-kaku"
n | Convert "zen-kaku" numbers to "han-kaku"
N | Convert "han-kaku" numbers to "zen-kaku"
a | Convert "zen-kaku" alphabets and numbers to "han-kaku"
A | Convert "han-kaku" alphabets and numbers to "zen-kaku" (Characters included in "a", "A" options are U+0021 - U+007E excluding U+0022, U+0027, U+005C, U+007E)
s | Convert "zen-kaku" space to "han-kaku" (U+3000 -> U+0020)
S | Convert "han-kaku" space to "zen-kaku" (U+0020 -> U+3000)
k | Convert "zen-kaku kata-kana" to "han-kaku kata-kana"
K | Convert "han-kaku kata-kana" to "zen-kaku kata-kana"
h | Convert "zen-kaku hira-gana" to "han-kaku kata-kana"
H | Convert "han-kaku kata-kana" to "zen-kaku hira-gana"
c | Convert "zen-kaku kata-kana" to "zen-kaku hira-gana"
C | Convert "zen-kaku hira-gana" to "zen-kaku kata-kana"
V | Collapse voiced sound notation and convert them into a character. Use with "K","H"

예 1287. mb_convert_kana() example

<?php
/* Convert all "kana" to "zen-kaku" "kata-kana" */
$str = mb_convert_kana($str, "KVC");

/* Convert "han-kaku" "kata-kana" to "zen-kaku" "kata-kana"
   and "zen-kaku" alpha-numeric to "han-kaku" */
$str = mb_convert_kana($str, "KVa");
?>

이전 | 위로 | 다음
mb_convert_encoding | 처음으로 | mb_convert_variables


mb_convert_variables

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_variables -- Convert character code in variable(s)

설명

string mb_convert_variables ( string $to_encoding, mixed $from_encoding, mixed &$vars [, mixed &$...] )

mb_convert_variables() convert character encoding of variables vars in encoding from_encoding to encoding to_encoding. It returns character encoding before conversion for success, FALSE for failure.

mb_convert_variables() join strings in Array or Object to detect encoding, since encoding detection tends to fail for short strings. Therefore, it is impossible to mix encoding in single array or object.

It from_encoding is specified by array or comma separated string, it tries to detect encoding from from-coding. When encoding is omitted, detect_order is used.

vars (3rd and larger) is reference to variable to be converted. String, Array and Object are accepted. mb_convert_variables() assumes all parameters have the same encoding.

예 1288. mb_convert_variables() example

<?php
/* Convert variables $post1, $post2 to internal encoding */
$interenc = mb_internal_encoding();
$inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>

이전 | 위로 | 다음
mb_convert_kana | 처음으로 | mb_decode_mimeheader


mb_decode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_mimeheader -- Decode string in MIME header field

설명

string mb_decode_mimeheader ( string $str )

mb_decode_mimeheader() decodes encoded-word string str in MIME header.

It returns decoded string in internal character encoding.

See also mb_encode_mimeheader().

이전 | 위로 | 다음
mb_convert_variables | 처음으로 | mb_decode_numericentity


mb_decode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_decode_numericentity -- Decode HTML numeric string reference to character

설명

string mb_decode_numericentity ( string $str, array $convmap [, string $encoding] )

Convert numeric string reference of string str in specified block to character. It returns converted string.

convmap is array to specifies code area to convert.

encoding is character encoding. If it is omitted, internal character encoding is used.

예 1289. convmap example

$convmap = array (
   int start_code1, int end_code1, int offset1, int mask1,
   int start_code2, int end_code2, int offset2, int mask2,
   ........
   int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN,
// then convert value to numeric string reference.

See also mb_encode_numericentity().

이전 | 위로 | 다음
mb_decode_mimeheader | 처음으로 | mb_detect_encoding


mb_detect_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_encoding -- Detect character encoding

설명

string mb_detect_encoding ( string $str [, mixed $encoding_list [, bool $strict]] )

mb_detect_encoding() detects character encoding in string str. It returns detected character encoding.

encoding_list is list of character encoding. Encoding order may be specified by array or comma separated list string.

If encoding_list is omitted, detect_order is used.

strict specifies whether to use the strict encoding detection or not. Default is FALSE.

예 1290. mb_detect_encoding() example

<?php
/* Detect character encoding with current detect_order */
echo mb_detect_encoding($str);

/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
echo mb_detect_encoding($str, "auto");

/* Specify encoding_list character encoding by comma separated list */
echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win");

/* Use array to specify encoding_list  */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
echo mb_detect_encoding($str, $ary);
?>

See also mb_detect_order().

이전 | 위로 | 다음
mb_decode_numericentity | 처음으로 | mb_detect_order


mb_detect_order

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_order -- Set/Get character encoding detection order

설명

mixed mb_detect_order ( [mixed $encoding_list] )

mb_detect_order() sets automatic character encoding detection order to encoding_list. It returns TRUE for success, FALSE for failure.

encoding_list is array or comma separated list of character encoding. ("auto" is expanded to "ASCII, JIS, UTF-8, EUC-JP, SJIS")

If encoding_list is omitted, it returns current character encoding detection order as array.

This setting affects mb_detect_encoding() and mb_send_mail().

참고: mbstring currently implements following encoding detection filters. If there is an invalid byte sequence for following encoding, encoding detection will fail.

UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

For ISO-8859-*, mbstring always detects as ISO-8859-*.

For UTF-16, UTF-32, UCS2 and UCS4, encoding detection will fail always.

예 1291. Useless detect order example

; Always detect as ISO-8859-1
detect_order = ISO-8859-1, UTF-8

; Always detect as UTF-8, since ASCII/UTF-7 values are
; valid for UTF-8
detect_order = UTF-8, ASCII, UTF-7

예 1292. mb_detect_order() examples

<?php
/* Set detection order by enumerated list */
mb_detect_order("eucjp-win,sjis-win,UTF-8");

/* Set detection order by array */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);

/* Display current detection order */
echo implode(", ", mb_detect_order());
?>

See also mb_internal_encoding(),
mb_http_input(),
mb_http_output() and
mb_send_mail().

이전 | 위로 | 다음
mb_detect_encoding | 처음으로 | mb_encode_mimeheader


mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_mimeheader -- Encode string for MIME header

설명

string mb_encode_mimeheader ( string $str [, string $charset [, string $transfer_encoding [, string $linefeed [, int $indent]]]] )

mb_encode_mimeheader() encodes a given string str by the MIME header encoding scheme. Returns a converted version of the string represented in ASCII.

charset specifies the name of the character set in which str is represented in. The default value is determined by the current NLS setting (mbstring.language).

transfer_encoding specifies the scheme of MIME encoding. It should be either "B" (Base64) or "Q" (Quoted-Printable). Falls back to "B" if not given.

linefeed specifies the EOL (end-of-line) marker with which mb_encode_mimeheader() performs line-folding (a » RFC term, the act of breaking a line longer than a certain length into multiple lines. The length is currently hard-coded to 74 characters). Falls back to "\r\n" (CRLF) if not given.

예 1293. mb_encode_mimeheader() example

<?php
$name = ""; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>

참고: This function isn't designed to break lines at higher-level contextual break points (word boundaries, etc.). This behaviour may clutter up the original string with unexpected spaces.

The indent was added as of PHP 5.

See also mb_decode_mimeheader().

이전 | 위로 | 다음
mb_detect_order | 처음으로 | mb_encode_numericentity


mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_numericentity -- Encode character to HTML numeric string reference

설명

string mb_encode_numericentity ( string $str, array $convmap [, string $encoding] )

mb_encode_numericentity() converts specified character codes in string str from HTML numeric character reference to character code. It returns converted string.

convmap is array specifies code area to convert.

encoding is character encoding.

예 1294. convmap example

$convmap = array (
 int start_code1, int end_code1, int offset1, int mask1,
 int start_code2, int end_code2, int offset2, int mask2,
 ........
 int start_codeN, int end_codeN, int offsetN, int maskN );
// Specify Unicode value for start_codeN and end_codeN
// Add offsetN to value and take bit-wise 'AND' with maskN, then
// it converts value to numeric string reference.

예 1295. mb_encode_numericentity() example

<?php
/* Convert Left side of ISO-8859-1 to HTML numeric character reference */
$convmap = array(0x80, 0xff, 0, 0xff);
$str = mb_encode_numericentity($str, $convmap, "ISO-8859-1");

/* Convert user defined SJIS-win code in block 95-104 to numeric
   string reference */
$convmap = array(
       0xe000, 0xe03e, 0x1040, 0xffff,
       0xe03f, 0xe0bb, 0x1041, 0xffff,
       0xe0bc, 0xe0fa, 0x1084, 0xffff,
       0xe0fb, 0xe177, 0x1085, 0xffff,
       0xe178, 0xe1b6, 0x10c8, 0xffff,
       0xe1b7, 0xe233, 0x10c9, 0xffff,
       0xe234, 0xe272, 0x110c, 0xffff,
       0xe273, 0xe2ef, 0x110d, 0xffff,
       0xe2f0, 0xe32e, 0x1150, 0xffff,
       0xe32f, 0xe3ab, 0x1151, 0xffff );
$str = mb_encode_numericentity($str, $convmap, "sjis-win");
?>

See also mb_decode_numericentity().

이전 | 위로 | 다음
mb_encode_mimeheader | 처음으로 | mb_ereg_match


mb_ereg_match

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_match -- Regular expression match for multibyte string

설명

bool mb_ereg_match ( string $pattern, string $string [, string $option] )

mb_ereg_match() returns TRUE if string matches regular expression pattern, FALSE if not.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg().

이전 | 위로 | 다음
mb_encode_numericentity | 처음으로 | mb_ereg_replace


mb_ereg_replace

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_replace -- Replace regular expression with multibyte support

설명

string mb_ereg_replace ( string $pattern, string $replacement, string $string [, string $option] )

mb_ereg_replace() scans string for matches to pattern, then replaces the matched text with replacement and returns the result string or FALSE on error. Multibyte character can be used in pattern.

Matching condition can be set by option parameter. If i is specified for this parameter, the case will be ignored. If x is specified, white space will be ignored. If m is specified, match will be executed in multiline mode and line break will be included in '.'. If p is specified, match will be executed in POSIX mode, line break will be considered as normal character. If e is specified, replacement string will be evaluated as PHP expression.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_eregi_replace().

이전 | 위로 | 다음
mb_ereg_match | 처음으로 | mb_ereg_search_getpos


mb_ereg_search_getpos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_getpos -- Returns start point for next regular expression match

설명

int mb_ereg_search_getpos ( void )

mb_ereg_search_getpos() returns
the point to start regular expression match for
mb_ereg_search(),
mb_ereg_search_pos(),
mb_ereg_search_regs(). The position is
represented by bytes from the head of string.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_setpos().

이전 | 위로 | 다음
mb_ereg_replace | 처음으로 | mb_ereg_search_getregs


mb_ereg_search_getregs

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_getregs -- Retrieve the result from the last multibyte regular expression match

설명

array mb_ereg_search_getregs ( void )

mb_ereg_search_getregs() returns an array including the sub-string of matched part by last mb_ereg_search(), mb_ereg_search_pos(), mb_ereg_search_regs(). If there are some matches, the first element will have the matched sub-string, the second element will have the first part grouped with brackets, the third element will have the second part grouped with brackets, and so on. It returns FALSE on error;

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

이전 | 위로 | 다음
mb_ereg_search_getpos | 처음으로 | mb_ereg_search_init


mb_ereg_search_init

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_init -- Setup string and regular expression for multibyte regularexpression match

설명

bool mb_ereg_search_init ( string $string [, string $pattern [, string $option]] )

mb_ereg_search_init() sets string and pattern for multibyte regular expression. These values are used for mb_ereg_search(), mb_ereg_search_pos(), mb_ereg_search_regs(). It returns TRUE for success, FALSE for error.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_regs().

이전 | 위로 | 다음
mb_ereg_search_getregs | 처음으로 | mb_ereg_search_pos


mb_ereg_search_pos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_pos -- Return position and length of matched part of multibyte regular expression for predefined multibyte string

설명

array mb_ereg_search_pos ( [string $pattern [, string $option]] )

mb_ereg_search_pos() returns an array including position of matched part for multibyte regular expression. The first element of the array will be the beginning of matched part, the second element will be length (bytes) of matched part. It returns FALSE on error.

The string for match is specified by mb_ereg_search_init(). If it is not specified, the previous one will be used.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

이전 | 위로 | 다음
mb_ereg_search_init | 처음으로 | mb_ereg_search_regs


mb_ereg_search_regs

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_regs -- Returns the matched part of multibyte regular expression

설명

array mb_ereg_search_regs ( [string $pattern [, string $option]] )

mb_ereg_search_regs() executes the multibyte regular expression match, and if there are some matched part, it returns an array including substring of matched part as first element, the first grouped part with brackets as second element, the second grouped part as third element, and so on. It returns FALSE on error.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

이전 | 위로 | 다음
mb_ereg_search_pos | 처음으로 | mb_ereg_search_setpos


mb_ereg_search_setpos

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search_setpos -- Set start point of next regular expression match

설명

bool mb_ereg_search_setpos ( int $position )

mb_ereg_search_setpos() sets the starting point of match for mb_ereg_search().

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

이전 | 위로 | 다음
mb_ereg_search_regs | 처음으로 | mb_ereg_search


mb_ereg_search

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_search -- Multibyte regular expression match for predefined multibyte string

설명

bool mb_ereg_search ( [string $pattern [, string $option]] )

mb_ereg_search() returns TRUE if the multibyte string matches with the regular expression, FALSE for otherwise. The string for matching is set by mb_ereg_search_init(). If pattern is not specified, the previous one is used.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_search_init().

이전 | 위로 | 다음
mb_ereg_search_setpos | 처음으로 | mb_ereg


mb_ereg

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg -- Regular expression match with multibyte support

설명

int mb_ereg ( string $pattern, string $string [, array $regs] )

mb_ereg() executes the regular expression match with multibyte support, and returns 1 if matches are found. If the optional third parameter was specified, the function returns the byte length of matched part, and the array regs will contain the substring of matched string. The functions returns 1 if it matches with the empty string. If no matches found or error happend, FALSE will be returned.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_eregi()

이전 | 위로 | 다음
mb_ereg_search | 처음으로 | mb_eregi_replace


mb_eregi_replace

(PHP 4 >= 4.2.0, PHP 5)

mb_eregi_replace -- Replace regular expression with multibyte support ignoring case

설명

string mb_eregi_replace ( string $pattern, string $replace, string $string [, string $option] )

mb_ereg_replace() scans string for matches to pattern, then replaces the matched text with replacement and returns the result string or FALSE on error. Multibyte character can be used in pattern. The case will be ignored. option has the same meaning as in mb_ereg_replace().

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg_replace().

이전 | 위로 | 다음
mb_ereg | 처음으로 | mb_eregi


mb_eregi

(PHP 4 >= 4.2.0, PHP 5)

mb_eregi -- Regular expression match ignoring case with multibyte support

설명

int mb_eregi ( string $pattern, string $string [, array $regs] )

mb_eregi() executes the regular expression match with multibyte support, and returns 1 if matches are found. This function ignore case. If the optional third parameter was specified, the function returns the byte length of matched part, and the array regs will contain the substring of matched string. The functions returns 1 if it matches with the empty string. If no matches found or error happend, FALSE will be returned.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg().

이전 | 위로 | 다음
mb_eregi_replace | 처음으로 | mb_get_info


mb_get_info

(PHP 4 >= 4.2.0, PHP 5)

mb_get_info -- Get internal settings of mbstring

설명

mixed mb_get_info ( [string $type] )

mb_get_info() returns internal setting parameter of mbstring.

If type isn't specified or is specified to "all", an array having the elements "internal_encoding", "http_output", "http_input", "func_overload", "mail_charset", "mail_header_encoding", "mail_body_encoding" will be returned. The last three elements are available since PHP 5.1.3.

If type is specified for "http_output", "http_input", "internal_encoding", "func_overload", the specified setting parameter will be returned.

See also mb_internal_encoding(), mb_http_output().

이전 | 위로 | 다음
mb_eregi | 처음으로 | mb_http_input


mb_http_input

(PHP 4 >= 4.0.6, PHP 5)

mb_http_input -- Detect HTTP input character encoding

설명

mixed mb_http_input ( [string $type] )

mb_http_input() returns result of HTTP input character encoding detection.

type: Input string specifies input type. "G" for GET, "P" for POST, "C" for COOKIE, "S" for string, "L" for list, "I" for whole list (will return array). If type is omitted, it returns last input type processed.

Return Value: Character encoding name. If mb_http_input() does not process specified HTTP input, it returns FALSE.

See also mb_internal_encoding(),
mb_http_output(),
mb_detect_order().

이전 | 위로 | 다음
mb_get_info | 처음으로 | mb_http_output


mb_http_output

(PHP 4 >= 4.0.6, PHP 5)

mb_http_output -- Set/Get HTTP output character encoding

설명

mixed mb_http_output ( [string $encoding] )

If encoding is set, mb_http_output() sets HTTP output character encoding to encoding. Output after this function is converted to encoding. mb_http_output() returns TRUE for success and FALSE for failure.

If encoding is omitted, mb_http_output() returns current HTTP output character encoding.

See also mb_internal_encoding(),
mb_http_input(),
mb_detect_order().

이전 | 위로 | 다음
mb_http_input | 처음으로 | mb_internal_encoding


mb_internal_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_internal_encoding -- Set/Get internal character encoding

설명

mixed mb_internal_encoding ( [string $encoding] )

mb_internal_encoding() sets internal character encoding to encoding If parameter is omitted, it returns current internal encoding.

encoding is used for HTTP input character encoding conversion, HTTP output character encoding conversion and default character encoding for string functions defined by mbstring module.

encoding: Character encoding name

Return Value: If encoding is set,mb_internal_encoding() returns TRUE for success, otherwise returns FALSE. If encoding is omitted, it returns current character encoding name.

예 1296. mb_internal_encoding() example

<?php
/* Set internal character encoding to UTF-8 */
mb_internal_encoding("UTF-8");

/* Display current internal character encoding */
echo mb_internal_encoding();
?>

See also mb_http_input(),
mb_http_output() and
mb_detect_order().

이전 | 위로 | 다음
mb_http_output | 처음으로 | mb_language


mb_language

(PHP 4 >= 4.0.6, PHP 5)

mb_language -- Set/Get current language

설명

mixed mb_language ( [string $language] )

mb_language() sets language. If language is omitted, it returns current language as string.

language setting is used for encoding e-mail messages. Valid languages are "Japanese", "ja","English","en" and "uni" (UTF-8). mb_send_mail() uses this setting to encode e-mail.

Language and its setting is ISO-2022-JP/Base64 for Japanese, UTF-8/Base64 for uni, ISO-8859-1/quoted printable for English.

Return Value: If language is set and language is valid, it returns TRUE. Otherwise, it returns FALSE. When language is omitted, it returns language name as string. If no language is set previously, it returns FALSE.

See also mb_send_mail().

이전 | 위로 | 다음
mb_internal_encoding | 처음으로 | mb_output_handler


mb_output_handler

(PHP 4 >= 4.0.6, PHP 5)

mb_output_handler -- Callback function converts character encoding in output buffer

설명

string mb_output_handler ( string $contents, int $status )

mb_output_handler() is
ob_start() callback
function. mb_output_handler() converts
characters in output buffer from internal character encoding to
HTTP output character encoding.

4.1.0 or later version, this handler adds charset HTTP header when following conditions are met:

  • Does not set Content-Type by header()
  • Default MIME type begins with text/
  • http_output setting is other than pass

contents : Output buffer contents

status : Output buffer status

Return Value: String converted

예 1297. mb_output_handler() example

<?php
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>

참고: If you want to output some binary data such as image from PHP script with PHP 4.3.0 or later, Content-Type: header must be send using header() before any binary data was send to client (e.g. header("Content-Type: image/png")). If Content-Type: header was send, output character encoding conversion will not be performed.

Note that if 'Content-Type: text/*' was send using header(), the sending data is regarded as text, encoding conversion will be performed using character encoding settings.

If you want to output some binary data such as image from PHP script with PHP 4.2.x or earlier, you must set output encoding to "pass" using mb_http_output().

See also ob_start().

이전 | 위로 | 다음
mb_language | 처음으로 | mb_parse_str


mb_parse_str

(PHP 4 >= 4.0.6, PHP 5)

mb_parse_str -- Parse GET/POST/COOKIE data and set global variable

설명

bool mb_parse_str ( string $encoded_string [, array &$result] )

mb_parse_str() parses GET/POST/COOKIE data and sets global variables. Since PHP does not provide raw POST/COOKIE data, it can only used for GET data for now. It preses URL encoded data, detects encoding, converts coding to internal encoding and set values to result array or global variables.

encoded_string: URL encoded data.

result: Array contains decoded and character encoding converted values.

Return Value: It returns TRUE for success or FALSE for failure.

See also mb_detect_order(), mb_internal_encoding().

이전 | 위로 | 다음
mb_output_handler | 처음으로 | mb_preferred_mime_name


mb_preferred_mime_name

(PHP 4 >= 4.0.6, PHP 5)

mb_preferred_mime_name -- Get MIME charset string

설명

string mb_preferred_mime_name ( string $encoding )

mb_preferred_mime_name() returns MIME charset string for character encoding encoding. It returns charset string.

예 1298. mb_preferred_mime_string() example

<?php
$outputenc = "sjis-win";
mb_http_output($outputenc);
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc));
?>

이전 | 위로 | 다음
mb_parse_str | 처음으로 | mb_regex_encoding


mb_regex_encoding

(PHP 4 >= 4.2.0, PHP 5)

mb_regex_encoding -- Returns current encoding for multibyte regex as string

설명

mixed mb_regex_encoding ( [string $encoding] )

mb_regex_encoding() returns the character encoding used by multibyte regex functions.

If the optional parameter encoding is specified, it is set to the character encoding for multibyte regex. The default value is the internal character encoding.

See also: mb_internal_encoding(), mb_ereg()

이전 | 위로 | 다음
mb_preferred_mime_name | 처음으로 | mb_regex_set_options


mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5)

mb_regex_set_options -- Set/Get the default options for mbregex functions

설명

string mb_regex_set_options ( [string $options] )

mb_regex_set_options() sets the default options described by options for multibyte regex functions.

Returns the previous options. If options is omitted, it returns the string that describes the current options.

See also
mb_split(),
mb_ereg() and
mb_eregi()

이전 | 위로 | 다음
mb_regex_encoding | 처음으로 | mb_send_mail


mb_send_mail

(PHP 4 >= 4.0.6, PHP 5)

mb_send_mail -- Send encoded mail

설명

bool mb_send_mail ( string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameter]] )

mb_send_mail() sends email. Headers and
message are converted and encoded according to
mb_language() setting.
mb_send_mail() is wrapper
function of mail(). See
mail() for details.

to is mail addresses send to. Multiple recipients can be specified by putting a comma between each address in to. This parameter is not automatically encoded.

subject is subject of mail.

message is mail message.

additional_headers is inserted at the end of the header. This is typically used to add extra headers. Multiple extra headers are separated with a newline ("\n").

참고: Content-Type and Content-Transfer-Encoding headers can be redefined as of PHP 5.0.0. In PHP 4, values defined by mb_language() are always used.

additional_parameter is a MTA command line parameter. It is useful when setting the correct Return-Path header when using sendmail.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

See also mail(),
mb_encode_mimeheader(), and
mb_language().

이전 | 위로 | 다음
mb_regex_set_options | 처음으로 | mb_split


mb_split

(PHP 4 >= 4.2.0, PHP 5)

mb_split -- Split multibyte string using regular expression

설명

array mb_split ( string $pattern, string $string [, int $limit] )

mb_split() split multibyte string using regular expression pattern and returns the result as an array.

If optional parameter limit is specified, it will be split in limit elements as maximum.

The internal encoding or the character encoding specified in mb_regex_encoding() will be used as character encoding.

See also: mb_regex_encoding(), mb_ereg().

이전 | 위로 | 다음
mb_send_mail | 처음으로 | mb_strcut


mb_strcut

(PHP 4 >= 4.0.6, PHP 5)

mb_strcut -- Get part of string

설명

string mb_strcut ( string $str, int $start [, int $length [, string $encoding]] )

mb_strcut() returns the portion of str specified by the start and length parameters.

mb_strcut() performs equivalent operation as mb_substr() with different method. If start position is multi-byte character's second byte or larger, it starts from first byte of multi-byte character.

It subtracts string from str that is shorter than length AND character that is not part of multi-byte string or not being middle of shift sequence.

encoding is character encoding. If it is not set, internal character encoding is used.

See also mb_substr(), mb_internal_encoding().

이전 | 위로 | 다음
mb_split | 처음으로 | mb_strimwidth


mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strimwidth -- Get truncated string with specified width

설명

string mb_strimwidth ( string $str, int $start, int $width [, string $trimmarker [, string $encoding]] )

mb_strimwidth() truncates string str to specified width. It returns truncated string.

If trimmarker is set, trimmarker is appended to return value.

start is start position offset. Number of characters from the beginning of string. (First character is 0)

trimmarker is string that is added to the end of string when string is truncated.

encoding is character encoding. If it is omitted, internal encoding is used.

예 1299. mb_strimwidth() example

<?php
$str = mb_strimwidth($str, 0, 40, "..>");
?>

See also mb_strwidth() and mb_internal_encoding().

이전 | 위로 | 다음
mb_strcut | 처음으로 | mb_stripos


mb_strlen

(PHP 4 >= 4.0.6, PHP 5)

mb_strlen -- Get string length

설명

int mb_strlen ( string $str [, string $encoding] )

mb_strlen() returns number of characters in string str having character encoding encoding. A multi-byte character is counted as 1.

encoding is character encoding for str. If encoding is omitted, internal character encoding is used.

See also mb_internal_encoding(), strlen().

이전 | 위로 | 다음
mb_stristr | 처음으로 | mb_strpos


mb_strpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strpos -- Find position of first occurrence of string in a string

설명

int mb_strpos ( string $haystack, string $needle [, int $offset [, string $encoding]] )

mb_strpos() returns the numeric position of the first occurrence of needle in the haystack string. If needle is not found, it returns FALSE.

mb_strpos() performs multi-byte safe strpos() operation based on number of characters. needle position is counted from the beginning of the haystack. First character's position is 0. Second character position is 1, and so on.

If encoding is omitted, internal character encoding is used.

offset is search offset. If it is not specified, 0 is used.

encoding is character encoding name. If it is omitted, internal character encoding is used.

See also mb_strrpos(),
mb_internal_encoding(),
strpos()

이전 | 위로 | 다음
mb_strlen | 처음으로 | mb_strrchr


mb_strrpos

(PHP 4 >= 4.0.6, PHP 5)

mb_strrpos -- Find position of last occurrence of a string in a string

설명

int mb_strrpos ( string $haystack, string $needle [, int $offset [, string $encoding]] )

mb_strrpos() returns the numeric position of the last occurrence of needle in the haystack string. If needle is not found, it returns FALSE.

mb_strrpos() performs multi-byte safe strrpos() operation based on number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1.

If encoding is omitted, internal encoding is assumed.

encoding is character encoding. If it is not specified, internal character encoding is used.

참고: As of PHP 5.2.0 offset may be specified to begin searching an arbitrary number of characters into the string. Negative values will stop searching at an arbitrary point prior to the end of the string.

참고: The encoding parameter was moved from the third position to the fourth in PHP 5.2.0. For backward compatibility, encoding can be specified as the third parameter, but doing so is deprecated and will be removed in the future.

변경 기록

버전 | 설명
5.2.0 | Added the optional parameter offset.

참고

mb_strpos()
mb_internal_encoding()
strrpos()

이전 | 위로 | 다음
mb_strripos | 처음으로 | mb_strstr


mb_strtolower

(PHP 4 >= 4.3.0, PHP 5)

mb_strtolower -- Make a string lowercase

설명

string mb_strtolower ( string $str [, string $encoding] )

mb_strtolower() returns str with all alphabetic characters converted to lowercase.

encoding specifies the encoding of str; if omitted, the internal character encoding value will be used.

For more information about the Unicode properties, please see » http://www.unicode.org/unicode/reports/tr21/.

By contrast to strtolower(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (?).

예 1300. mb_strtolower() example

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtolower($str);
echo $str; // Prints mary had a little lamb and she loved it so
?>

See also strtolower(),
mb_strtoupper() and
mb_convert_case().

이전 | 위로 | 다음
mb_strstr | 처음으로 | mb_strtoupper


mb_strtoupper

(PHP 4 >= 4.3.0, PHP 5)

mb_strtoupper -- Make a string uppercase

설명

string mb_strtoupper ( string $str [, string $encoding] )

mb_strtoupper() returns str with all alphabetic characters converted to uppercase.

encoding specifies the encoding of str; if omitted, the internal character encoding value will be used.

By contrast to strtoupper(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as a-umlaut (?).

For more information about the Unicode properties, please see » http://www.unicode.org/unicode/reports/tr21/.

예 1301. mb_strtoupper() example

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = mb_strtoupper($str);
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

See also strtoupper(),
mb_strtolower() and
mb_convert_case().

이전 | 위로 | 다음
mb_strtolower | 처음으로 | mb_strwidth


mb_strwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strwidth -- Return width of string

설명

int mb_strwidth ( string $str [, string $encoding] )

mb_strwidth() returns width of string str.

Multi-byte character usually twice of width compare to single byte character.

표 175. Characters width

Chars | Width
U+0000 - U+0019 | 0
U+0020 - U+1FFF | 1
U+2000 - U+FF60 | 2
U+FF61 - U+FF9F | 1
U+FFA0 - | 2

encoding is character encoding. If it is omitted, internal encoding is used.

See also: mb_strimwidth(), mb_internal_encoding().

이전 | 위로 | 다음
mb_strtoupper | 처음으로 | mb_substitute_character


mb_substitute_character

(PHP 4 >= 4.0.6, PHP 5)

mb_substitute_character -- Set/Get substitution character

설명

mixed mb_substitute_character ( [mixed $substrchar] )

mb_substitute_character() specifies substitution character when input character encoding is invalid or character code is not exist in output character encoding. Invalid characters may be substituted NULL(no output), string or integer value (Unicode character code value).

This setting affects mb_convert_encoding(),
mb_convert_variables(),
mb_output_handler(),
and mb_send_mail().

substchar : Specify Unicode value as integer or specify as string as follows

  • "none" : no output
  • "long" : Output character code value (Example: U+3000,JIS+7E7E)

Return Value: If substchar is set, it returns TRUE for success, otherwise returns FALSE. If substchar is not set, it returns Unicode value or "none"/"long".

예 1302. mb_substitute_character() example

<?php
/* Set with Unicode U+3013 (GETA MARK) */
mb_substitute_character(0x3013);

/* Set hex format */
mb_substitute_character("long");

/* Display current setting */
echo mb_substitute_character();
?>

이전 | 위로 | 다음
mb_strwidth | 처음으로 | mb_substr_count


mb_substr_count

(PHP 4 >= 4.3.0, PHP 5)

mb_substr_count -- Count the number of substring occurrences

설명

int mb_substr_count ( string $haystack, string $needle [, string $encoding] )

mb_substr_count() returns the number of times the needle substring occurs in the haystack string.

encoding specifies the encoding for needle and haystack. If omitted, internal character encoding is used.

예 1303. mb_substr_count() example

<?php
echo mb_substr_count("This is a test", "is"); // prints out 2
?>

See also substr_count(), mb_strpos(), mb_substr().

이전 | 위로 | 다음
mb_substitute_character | 처음으로 | mb_substr


mb_substr

(PHP 4 >= 4.0.6, PHP 5)

mb_substr -- Get part of string

설명

string mb_substr ( string $str, int $start [, int $length [, string $encoding]] )

mb_substr() returns the portion of str specified by the start and length parameters.

mb_substr() performs multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str. First character's position is 0. Second character position is 1, and so on.

If encoding is omitted, internal encoding is assumed.

encoding is character encoding. If it is omitted, internal character encoding is used.

See also mb_strcut(), mb_internal_encoding().

이전 | 위로 | 다음
mb_substr_count | 처음으로 | XCVII. muscat Functions


MCAL Functions

이전 VI. 함수 레퍼런스 다음

LXXXIII. MCAL Functions

소개

MCAL stands for Modular Calendar Access Library.

Libmcal is a C library for accessing calendars. It's written to be very modular, with pluggable drivers. MCAL is the calendar equivalent of the IMAP module for mailboxes.

With mcal support, a calendar stream can be opened much like the mailbox stream with the IMAP support. Calendars can be local file stores, remote ICAP servers, or other formats that are supported by the mcal library.

Calendar events can be pulled up, queried, and stored. There is also support for calendar triggers (alarms) and recurring events.

With libmcal, central calendar servers can be accessed, removing the need for any specific database or local file programming.

Most of the functions use an internal event structure that is unique for each stream. This alleviates the need to pass around large objects between functions. There are convenience functions for setting, initializing, and retrieving the event structure values.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

참고: PHP had an ICAP extension previously, but the original library and the PHP extension is not supported anymore. The suggested replacement is MCAL.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

요구 조건

This extension requires the mcal library to be installed. Grab the latest version from » http://mcal.chek.com/ and compile and install it.

설치

After you installed the mcal library, to get these functions to work, you have to compile PHP -with-mcal[=DIR].

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

MCAL_SUNDAY (integer)
MCAL_MONDAY (integer)
MCAL_TUESDAY (integer)
MCAL_WEDNESDAY (integer)
MCAL_THURSDAY (integer)
MCAL_FRIDAY (integer)
MCAL_SATURDAY (integer)
MCAL_JANUARY (integer)
MCAL_FEBRUARY (integer)
MCAL_MARCH (integer)
MCAL_APRIL (integer)
MCAL_MAY (integer)
MCAL_JUNE (integer)
MCAL_JULY (integer)
MCAL_AUGUST (integer)
MCAL_SEPTEMBER (integer)
MCAL_OCTOBER (integer)
MCAL_NOVEMBER (integer)
MCAL_DECEMBER (integer)
MCAL_RECUR_NONE (integer)
MCAL_RECUR_DAILY (integer)
MCAL_RECUR_WEEKLY (integer)
MCAL_RECUR_MONTHLY_MDAY (integer)
MCAL_RECUR_MONTHLY_WDAY (integer)
MCAL_RECUR_YEARLY (integer)
MCAL_M_SUNDAY (integer)
MCAL_M_MONDAY (integer)
MCAL_M_TUESDAY (integer)
MCAL_M_WEDNESDAY (integer)
MCAL_M_THURSDAY (integer)
MCAL_M_FRIDAY (integer)
MCAL_M_SATURDAY (integer)
MCAL_M_WEEKDAYS (integer)
MCAL_M_WEEKEND (integer)
MCAL_M_ALLDAYS (integer)

차례

mcal_append_event -- Store a new event into an MCAL calendar
mcal_close -- Close an MCAL stream
mcal_create_calendar -- Create a new MCAL calendar
mcal_date_compare -- Compares two dates
mcal_date_valid -- Returns TRUE if the given year, month, day is a valid date
mcal_day_of_week -- Returns the day of the week of the given date
mcal_day_of_year -- Returns the day of the year of the given date
mcal_days_in_month -- Returns the number of days in a month
mcal_delete_calendar -- Delete an MCAL calendar
mcal_delete_event -- Delete an event from an MCAL calendar
mcal_event_add_attribute -- Adds an attribute and a value to the streams global event structure
mcal_event_init -- Initializes a streams global event structure
mcal_event_set_alarm -- Sets the alarm of the streams global event structure
mcal_event_set_category -- Sets the category of the streams global event structure
mcal_event_set_class -- Sets the class of the streams global event structure
mcal_event_set_description -- Sets the description of the streams global event structure
mcal_event_set_end -- Sets the end date and time of the streams global event structure
mcal_event_set_recur_daily -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_monthly_mday -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_monthly_wday -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_none -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_weekly -- Sets the recurrence of the streams global event structure
mcal_event_set_recur_yearly -- Sets the recurrence of the streams global event structure
mcal_event_set_start -- Sets the start date and time of the streams global event structure
mcal_event_set_title -- Sets the title of the streams global event structure
mcal_expunge -- Deletes all events marked for being expunged
mcal_fetch_current_stream_event -- Returns an object containing the current streams event structure
mcal_fetch_event -- Fetches an event from the calendar stream
mcal_is_leap_year -- Returns if the given year is a leap year or not
mcal_list_alarms -- Return a list of events that has an alarm triggered at the given datetime
mcal_list_events -- Return a list of IDs for a date or a range of dates
mcal_next_recurrence -- Returns the next recurrence of the event
mcal_open -- Opens up an MCAL connection
mcal_popen -- Opens up a persistent MCAL connection
mcal_rename_calendar -- Rename an MCAL calendar
mcal_reopen -- Reopens an MCAL connection
mcal_snooze -- Turn off an alarm for an event
mcal_store_event -- Modify an existing event in an MCAL calendar
mcal_time_valid -- Returns TRUE if the given hour, minutes and seconds is a valid time
mcal_week_of_year -- Returns the week number of the given date
이전 | 위로 | 다음
maxdb_warning_count | 처음으로 | mcal_append_event


mcal_append_event

(PHP 4)

mcal_append_event -- Store a new event into an MCAL calendar

Description

int mcal_append_event ( int $mcal_stream )

mcal_append_event() stores the global event into an MCAL calendar for the stream mcal_stream.

Returns the id of the newly inserted event.

이전 | 위로 | 다음
LXXXIII. MCAL Functions | 처음으로 | mcal_close


mcal_close

(PHP 4)

mcal_close -- Close an MCAL stream

Description

bool mcal_close ( int $mcal_stream [, int $flags] )

Closes the given mcal stream.

이전 | 위로 | 다음
mcal_append_event | 처음으로 | mcal_create_calendar


mcal_create_calendar

(PHP 4)

mcal_create_calendar -- Create a new MCAL calendar

Description

bool mcal_create_calendar ( int $stream, string $calendar )

Creates a new calendar named calendar.

이전 | 위로 | 다음
mcal_close | 처음으로 | mcal_date_compare


mcal_date_compare

(PHP 4)

mcal_date_compare -- Compares two dates

Description

int mcal_date_compare ( int $a_year, int $a_month, int $a_day, int $b_year, int $b_month, int $b_day )

mcal_date_compare() Compares the two given dates, returns <0, 0, >0 if a<b, a==b, a>b respectively.

이전 | 위로 | 다음
mcal_create_calendar | 처음으로 | mcal_date_valid


mcal_date_valid

(PHP 4)

mcal_date_valid -- Returns TRUE if the given year, month, day is a valid date

Description

bool mcal_date_valid ( int $year, int $month, int $day )

mcal_date_valid() Returns TRUE if the given year, month and day is a valid date, FALSE if not.

이전 | 위로 | 다음
mcal_date_compare | 처음으로 | mcal_day_of_week


mcal_day_of_week

(PHP 4)

mcal_day_of_week -- Returns the day of the week of the given date

Description

int mcal_day_of_week ( int $year, int $month, int $day )

mcal_day_of_week() returns the day of the week of the given date. Possible return values range from 0 for Sunday through 6 for Saturday.

이전 | 위로 | 다음
mcal_date_valid | 처음으로 | mcal_day_of_year


mcal_day_of_year

(PHP 4)

mcal_day_of_year -- Returns the day of the year of the given date

Description

int mcal_day_of_year ( int $year, int $month, int $day )

mcal_day_of_year() returns the day of the year of the given date.

이전 | 위로 | 다음
mcal_day_of_week | 처음으로 | mcal_days_in_month


mcal_days_in_month

(PHP 4)

mcal_days_in_month -- Returns the number of days in a month

Description

int mcal_days_in_month ( int $month, int $leap_year )

mcal_days_in_month() returns the number of days in the month month, taking into account if the considered year is a leap year or not.

이전 | 위로 | 다음
mcal_day_of_year | 처음으로 | mcal_delete_calendar


mcal_delete_calendar

(PHP 4)

mcal_delete_calendar -- Delete an MCAL calendar

Description

bool mcal_delete_calendar ( int $stream, string $calendar )

Deletes the calendar named calendar.

이전 | 위로 | 다음
mcal_days_in_month | 처음으로 | mcal_delete_event


mcal_delete_event

(PHP 4)

mcal_delete_event -- Delete an event from an MCAL calendar

Description

bool mcal_delete_event ( int $mcal_stream, int $event_id )

mcal_delete_event() deletes the calendar event specified by the event_id.

Returns TRUE.

이전 | 위로 | 다음
mcal_delete_calendar | 처음으로 | mcal_event_add_attribute


mcal_event_add_attribute

(PHP 4)

mcal_event_add_attribute -- Adds an attribute and a value to the streams global event structure

Description

bool mcal_event_add_attribute ( int $stream, string $attribute, string $value )

mcal_event_add_attribute() adds an attribute to the stream's global event structure with the value given by "value".

이전 | 위로 | 다음
mcal_delete_event | 처음으로 | mcal_event_init


mcal_event_init

(PHP 4)

mcal_event_init -- Initializes a streams global event structure

Description

void mcal_event_init ( int $stream )

mcal_event_init() initializes a streams global event structure. this effectively sets all elements of the structure to 0, or the default settings.

이전 | 위로 | 다음
mcal_event_add_attribute | 처음으로 | mcal_event_set_alarm


mcal_event_set_alarm

(PHP 4)

mcal_event_set_alarm -- Sets the alarm of the streams global event structure

Description

void mcal_event_set_alarm ( int $stream, int $alarm )

mcal_event_set_alarm() sets the streams global event structure's alarm to the given minutes before the event.

이전 | 위로 | 다음
mcal_event_init | 처음으로 | mcal_event_set_category


mcal_event_set_category

(PHP 4)

mcal_event_set_category -- Sets the category of the streams global event structure

Description

void mcal_event_set_category ( int $stream, string $category )

mcal_event_set_category() sets the streams global event structure's category to the given string.

이전 | 위로 | 다음
mcal_event_set_alarm | 처음으로 | mcal_event_set_class


mcal_event_set_class

(PHP 4)

mcal_event_set_class -- Sets the class of the streams global event structure

Description

void mcal_event_set_class ( int $stream, int $class )

mcal_event_set_class() sets the streams global event structure's class to the given value. The class is either 1 for public, or 0 for private.

이전 | 위로 | 다음
mcal_event_set_category | 처음으로 | mcal_event_set_description


mcal_event_set_description

(PHP 4)

mcal_event_set_description -- Sets the description of the streams global event structure

Description

void mcal_event_set_description ( int $stream, string $description )

mcal_event_set_description() sets the streams global event structure's description to the given string.

이전 | 위로 | 다음
mcal_event_set_class | 처음으로 | mcal_event_set_end


mcal_event_set_end

(PHP 4)

mcal_event_set_end -- Sets the end date and time of the streams global event structure

Description

void mcal_event_set_end ( int $stream, int $year, int $month, int $day [, int $hour [, int $min [, int $sec]]] )

mcal_event_set_end() sets the streams global event structure's end date and time to the given values.

이전 | 위로 | 다음
mcal_event_set_description | 처음으로 | mcal_event_set_recur_daily


mcal_event_set_recur_daily

(PHP 4)

mcal_event_set_recur_daily -- Sets the recurrence of the streams global event structure

Description

void mcal_event_set_recur_daily ( int $stream, int $year, int $month, int $day, int $interval )

mcal_event_set_recur_daily() sets the streams global event structure's recurrence to the given value to be reoccurring on a daily basis, ending at the given date.

이전 | 위로 | 다음
mcal_event_set_end | 처음으로 | mcal_event_set_recur_monthly_mday


mcal_event_set_recur_monthly_mday

(PHP 4)

mcal_event_set_recur_monthly_mday -- Sets the recurrence of the streams global event structure

Description

void mcal_event_set_recur_monthly_mday ( int $stream, int $year, int $month, int $day, int $interval )

mcal_event_set_recur_monthly_mday() sets the streams global event structure's recurrence to the given value to be reoccurring on a monthly by month day basis, ending at the given date.

이전 | 위로 | 다음
mcal_event_set_recur_daily | 처음으로 | mcal_event_set_recur_monthly_wday


mcal_event_set_recur_monthly_wday

(PHP 4)

mcal_event_set_recur_monthly_wday -- Sets the recurrence of the streams global event structure

Description

void mcal_event_set_recur_monthly_wday ( int $stream, int $year, int $month, int $day, int $interval )

mcal_event_set_recur_monthly_wday() sets the streams global event structure's recurrence to the given value to be reoccurring on a monthly by week basis, ending at the given date.

이전 | 위로 | 다음
mcal_event_set_recur_monthly_mday | 처음으로 | mcal_event_set_recur_none


mcal_event_set_recur_none

(PHP 4)

mcal_event_set_recur_none -- Sets the recurrence of the streams global event structure

Description

void mcal_event_set_recur_none ( int $stream )

mcal_event_set_recur_none() sets the streams global event structure to not recur (event->recur_type is set to MCAL_RECUR_NONE).

이전 | 위로 | 다음
mcal_event_set_recur_monthly_wday | 처음으로 | mcal_event_set_recur_weekly


mcal_event_set_recur_weekly

(PHP 4)

mcal_event_set_recur_weekly -- Sets the recurrence of the streams global event structure

Description

void mcal_event_set_recur_weekly ( int $stream, int $year, int $month, int $day, int $interval, int $weekdays )

mcal_event_set_recur_weekly() sets the streams global event structure's recurrence to the given value to be reoccurring on a weekly basis, ending at the given date.

이전 | 위로 | 다음
mcal_event_set_recur_none | 처음으로 | mcal_event_set_recur_yearly


mcal_event_set_recur_yearly

(PHP 4)

mcal_event_set_recur_yearly -- Sets the recurrence of the streams global event structure

Description

void mcal_event_set_recur_yearly ( int $stream, int $year, int $month, int $day, int $interval )

mcal_event_set_recur_yearly() sets the streams global event structure's recurrence to the given value to be reoccurring on a yearly basis,ending at the given date.

이전 | 위로 | 다음
mcal_event_set_recur_weekly | 처음으로 | mcal_event_set_start


mcal_event_set_start

(PHP 4)

mcal_event_set_start -- Sets the start date and time of the streams global event structure

Description

void mcal_event_set_start ( int $stream, int $year, int $month, int $day [, int $hour [, int $min [, int $sec]]] )

mcal_event_set_start() sets the streams global event structure's start date and time to the given values.

이전 | 위로 | 다음
mcal_event_set_recur_yearly | 처음으로 | mcal_event_set_title


mcal_event_set_title

(PHP 4)

mcal_event_set_title -- Sets the title of the streams global event structure

Description

void mcal_event_set_title ( int $stream, string $title )

mcal_event_set_title() sets the streams global event structure's title to the given string.

이전 | 위로 | 다음
mcal_event_set_start | 처음으로 | mcal_expunge


mcal_expunge

(PHP 4)

mcal_expunge -- Deletes all events marked for being expunged

Description

bool mcal_expunge ( int $stream )

mcal_expunge() deletes all events which have been previously marked for deletion.

이전 | 위로 | 다음
mcal_event_set_title | 처음으로 | mcal_fetch_current_stream_event


mcal_fetch_current_stream_event

(PHP 4)

mcal_fetch_current_stream_event -- Returns an object containing the current streams event structure

Description

object mcal_fetch_current_stream_event ( int $stream )

mcal_fetch_current_stream_event() returns the current stream's event structure as an object containing:

  • int id - ID of that event.
  • int public - TRUE if the event if public, FALSE if it is private.
  • string category - Category string of the event.
  • string title - Title string of the event.
  • string description - Description string of the event.
  • int alarm - number of minutes before the event to send an alarm/reminder.
  • object start - Object containing a datetime entry.
  • object end - Object containing a datetime entry.
  • int recur_type - recurrence type
  • int recur_interval - recurrence interval
  • datetime recur_enddate - recurrence end date
  • int recur_data - recurrence data
All datetime entries consist of an object that contains:
  • int year - year
  • int month - month
  • int mday - day of month
  • int hour - hour
  • int min - minutes
  • int sec - seconds
  • int alarm - minutes before event to send an alarm

이전 | 위로 | 다음
mcal_expunge | 처음으로 | mcal_fetch_event


mcal_fetch_event

(PHP 4)

mcal_fetch_event -- Fetches an event from the calendar stream

Description

object mcal_fetch_event ( int $mcal_stream, int $event_id [, int $options] )

mcal_fetch_event() fetches an event from the calendar stream specified by id.

Returns an event object consisting of:

  • int id - ID of that event.
  • int public - TRUE if the event if public, FALSE if it is private.
  • string category - Category string of the event.
  • string title - Title string of the event.
  • string description - Description string of the event.
  • int alarm - number of minutes before the event to send an alarm/reminder.
  • object start - Object containing a datetime entry.
  • object end - Object containing a datetime entry.
  • int recur_type - recurrence type
  • int recur_interval - recurrence interval
  • datetime recur_enddate - recurrence end date
  • int recur_data - recurrence data
All datetime entries consist of an object that contains:
  • int year - year
  • int month - month
  • int mday - day of month
  • int hour - hour
  • int min - minutes
  • int sec - seconds
  • int alarm - minutes before event to send an alarm
The possible values for recur_type are:
  • 0 - Indicates that this event does not recur
  • 1 - This event recurs daily
  • 2 - This event recurs on a weekly basis
  • 3 - This event recurs monthly on a specific day of the month (e.g. the 10th of the month)
  • 4 - This event recurs monthly on a sequenced day of the week (e.g. the 3rd Saturday)
  • 5 - This event recurs on an annual basis

이전 | 위로 | 다음
mcal_fetch_current_stream_event | 처음으로 | mcal_is_leap_year


mcal_is_leap_year

(PHP 4)

mcal_is_leap_year -- Returns if the given year is a leap year or not

Description

bool mcal_is_leap_year ( int $year )

mcal_is_leap_year() returns 1 if the given year is a leap year, 0 if not.

이전 | 위로 | 다음
mcal_fetch_event | 처음으로 | mcal_list_alarms


mcal_list_alarms

(PHP 4)

mcal_list_alarms -- Return a list of events that has an alarm triggered at the given datetime

Description

array mcal_list_alarms ( int $mcal_stream [, int $begin_year, int $begin_month, int $begin_day, int $end_year, int $end_month, int $end_day] )

Returns an array of event ID's that has an alarm going off between the start and end dates, or if just a stream is given, uses the start and end dates in the global event structure.

mcal_list_events() function takes in an optional beginning date and an end date for a calendar stream. An array of event id's that are between the given dates or the internal event dates are returned.

이전 | 위로 | 다음
mcal_is_leap_year | 처음으로 | mcal_list_events


mcal_list_events

(PHP 4)

mcal_list_events -- Return a list of IDs for a date or a range of dates

Description

array mcal_list_events ( int $mcal_stream [, int $begin_year, int $begin_month, int $begin_day, int $end_year, int $end_month, int $end_day] )

Returns an array of ID's that are between the start and end dates, or if just a stream is given, uses the start and end dates in the global event structure.

mcal_list_events() takes in an beginning date and an optional end date for a calendar stream. An array of event id's that are between the given dates or the internal event dates are returned.

이전 | 위로 | 다음
mcal_list_alarms | 처음으로 | mcal_next_recurrence


mcal_next_recurrence

(PHP 4)

mcal_next_recurrence -- Returns the next recurrence of the event

Description

object mcal_next_recurrence ( int $stream, int $weekstart, array $next )

mcal_next_recurrence() returns an object filled with the next date the event occurs, on or after the supplied date. Returns empty date field if event does not occur or something is invalid. Uses weekstart to determine what day is considered the beginning of the week.

이전 | 위로 | 다음
mcal_list_events | 처음으로 | mcal_open


mcal_open

(PHP 4)

mcal_open -- Opens up an MCAL connection

Description

int mcal_open ( string $calendar, string $username, string $password [, int $options] )

Returns an MCAL stream on success, FALSE on error.

mcal_open() opens up an MCAL connection to the specified calendar store. If the optional options is specified, passes the options to that mailbox also. The streams internal event structure is also initialized upon connection.

이전 | 위로 | 다음
mcal_next_recurrence | 처음으로 | mcal_popen


mcal_popen

(PHP 4)

mcal_popen -- Opens up a persistent MCAL connection

Description

int mcal_popen ( string $calendar, string $username, string $password [, int $options] )

Returns an MCAL stream on success, FALSE on error.

mcal_popen() opens up an MCAL connection to the specified calendar store. If the optional options is specified, passes the options to that mailbox also. The streams internal event structure is also initialized upon connection.

이전 | 위로 | 다음
mcal_open | 처음으로 | mcal_rename_calendar


mcal_rename_calendar

(PHP 4)

mcal_rename_calendar -- Rename an MCAL calendar

Description

bool mcal_rename_calendar ( int $stream, string $old_name, string $new_name )

Renames the calendar old_name to new_name.

이전 | 위로 | 다음
mcal_popen | 처음으로 | mcal_reopen


mcal_reopen

(PHP 4)

mcal_reopen -- Reopens an MCAL connection

Description

bool mcal_reopen ( int $mcal_stream, string $calendar [, int $options] )

Reopens an MCAL stream to a new calendar.

mcal_reopen() reopens an MCAL connection to the specified calendar store. If the optional options is specified, passes the options to that mailbox also.

이전 | 위로 | 다음
mcal_rename_calendar | 처음으로 | mcal_snooze


mcal_snooze

(PHP 4)

mcal_snooze -- Turn off an alarm for an event

Description

bool mcal_snooze ( int $stream_id, int $event_id )

mcal_snooze() turns off an alarm for a calendar event specified by the stream_id and event_id.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
mcal_reopen | 처음으로 | mcal_store_event


mcal_store_event

(PHP 4)

mcal_store_event -- Modify an existing event in an MCAL calendar

Description

int mcal_store_event ( int $mcal_stream )

mcal_store_event() stores the modifications to the current global event for the given stream.

Returns the event id of the modified event on success and FALSE on error.

이전 | 위로 | 다음
mcal_snooze | 처음으로 | mcal_time_valid


mcal_time_valid

(PHP 4)

mcal_time_valid -- Returns TRUE if the given hour, minutes and seconds is a valid time

Description

bool mcal_time_valid ( int $hour, int $minutes, int $seconds )

mcal_time_valid() Returns TRUE if the given hour, minutes and seconds is a valid time, FALSE if not.

이전 | 위로 | 다음
mcal_store_event | 처음으로 | mcal_week_of_year


mcal_week_of_year

(PHP 4)

mcal_week_of_year -- Returns the week number of the given date

Description

int mcal_week_of_year ( int $day, int $month, int $year )

mcal_week_of_year() returns the week number of the given date.

이전 | 위로 | 다음
mcal_time_valid | 처음으로 | LXXXIV. Mcrypt Encryption Functions


Mcrypt Encryption Functions

이전 VI. 함수 레퍼런스 다음

LXXXIV. Mcrypt Encryption Functions

소개

This is an interface to the mcrypt library, which supports a wide variety of block algorithms such as DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 and GOST in CBC, OFB, CFB and ECB cipher modes. Additionally, it supports RC6 and IDEA which are considered "non-free".

요구 조건

These functions work using » mcrypt. To use it, download libmcrypt-x.x.tar.gz from » http://mcrypt.sourceforge.net/ and follow the included installation instructions. Windows users will find all the needed compiled mcrypt binaries at » http://files.edin.dk/php/win32/mcrypt/.

As of PHP 5.0.0 you will need libmcrypt Version 2.5.6 or greater.

If you linked against libmcrypt 2.4.x or higher, the following additional block algorithms are supported: CAST, LOKI97, RIJNDAEL, SAFERPLUS, SERPENT and the following stream ciphers: ENIGMA (crypt), PANAMA, RC4 and WAKE. With libmcrypt 2.4.x or higher another cipher mode is also available; nOFB.

설치

You need to compile PHP with the --with-mcrypt[=DIR] parameter to enable this extension. DIR is the mcrypt install directory. Make sure you compile libmcrypt with the option --disable-posix-threads.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 164. Mcrypt configuration options

Name | Default | Changeable | Changelog
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Available since PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Available since PHP 4.0.2.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

mcrypt_module_open() returns an encryption descriptor.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Mcrypt can operate in four block cipher modes (CBC, OFB, CFB, and ECB). If linked against libmcrypt-2.4.x or higher the functions can also operate in the block cipher mode nOFB and in STREAM mode. Below you find a list with all supported encryption modes together with the constants that are defines for the encryption mode. For a more complete reference and discussion see Applied Cryptography by Schneier (ISBN 0-471-11709-9).

  • MCRYPT_MODE_ECB (electronic codebook) is suitable for random data, such as encrypting other keys. Since data there is short and random, the disadvantages of ECB have a favorable negative effect.
  • MCRYPT_MODE_CBC (cipher block chaining) is especially suitable for encrypting files where the security is increased over ECB significantly.
  • MCRYPT_MODE_CFB (cipher feedback) is the best mode for encrypting byte streams where single bytes must be encrypted.
  • MCRYPT_MODE_OFB (output feedback, in 8bit) is comparable to CFB, but can be used in applications where error propagation cannot be tolerated. It's insecure (because it operates in 8bit mode) so it is not recommended to use it.
  • MCRYPT_MODE_NOFB (output feedback, in nbit) is comparable to OFB, but more secure because it operates on the block size of the algorithm.
  • MCRYPT_MODE_STREAM is an extra mode to include some stream algorithms like WAKE or RC4.

Some other mode and random device constants:

MCRYPT_ENCRYPT (integer)
MCRYPT_DECRYPT (integer)
MCRYPT_DEV_RANDOM (integer)
MCRYPT_DEV_URANDOM (integer)
MCRYPT_RAND (integer)

Mcrypt ciphers

Here is a list of ciphers which are currently supported by the mcrypt extension. For a complete list of supported ciphers, see the defines at the end of mcrypt.h. The general rule with the mcrypt-2.2.x API is that you can access the cipher from PHP with MCRYPT_ciphername. With the libmcrypt-2.4.x and libmcrypt-2.5.x API these constants also work, but it is possible to specify the name of the cipher as a string with a call to mcrypt_module_open().

  • MCRYPT_3DES
  • MCRYPT_ARCFOUR_IV (libmcrypt > 2.4.x only)
  • MCRYPT_ARCFOUR (libmcrypt > 2.4.x only)
  • MCRYPT_BLOWFISH
  • MCRYPT_CAST_128
  • MCRYPT_CAST_256
  • MCRYPT_CRYPT
  • MCRYPT_DES
  • MCRYPT_DES_COMPAT (libmcrypt 2.2.x only)
  • MCRYPT_ENIGMA (libmcrypt > 2.4.x only, alias for MCRYPT_CRYPT)
  • MCRYPT_GOST
  • MCRYPT_IDEA (non-free)
  • MCRYPT_LOKI97 (libmcrypt > 2.4.x only)
  • MCRYPT_MARS (libmcrypt > 2.4.x only, non-free)
  • MCRYPT_PANAMA (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_128 (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_192 (libmcrypt > 2.4.x only)
  • MCRYPT_RIJNDAEL_256 (libmcrypt > 2.4.x only)
  • MCRYPT_RC2
  • MCRYPT_RC4 (libmcrypt 2.2.x only)
  • MCRYPT_RC6 (libmcrypt > 2.4.x only)
  • MCRYPT_RC6_128 (libmcrypt 2.2.x only)
  • MCRYPT_RC6_192 (libmcrypt 2.2.x only)
  • MCRYPT_RC6_256 (libmcrypt 2.2.x only)
  • MCRYPT_SAFER64
  • MCRYPT_SAFER128
  • MCRYPT_SAFERPLUS (libmcrypt > 2.4.x only)
  • MCRYPT_SERPENT(libmcrypt > 2.4.x only)
  • MCRYPT_SERPENT_128 (libmcrypt 2.2.x only)
  • MCRYPT_SERPENT_192 (libmcrypt 2.2.x only)
  • MCRYPT_SERPENT_256 (libmcrypt 2.2.x only)
  • MCRYPT_SKIPJACK (libmcrypt > 2.4.x only)
  • MCRYPT_TEAN (libmcrypt 2.2.x only)
  • MCRYPT_THREEWAY
  • MCRYPT_TRIPLEDES (libmcrypt > 2.4.x only)
  • MCRYPT_TWOFISH (for older mcrypt 2.x versions, or mcrypt > 2.4.x )
  • MCRYPT_TWOFISH128 (TWOFISHxxx are available in newer 2.x versions, but not in the 2.4.x versions)
  • MCRYPT_TWOFISH192
  • MCRYPT_TWOFISH256
  • MCRYPT_WAKE (libmcrypt > 2.4.x only)
  • MCRYPT_XTEA (libmcrypt > 2.4.x only)

You must (in CFB and OFB mode) or can (in CBC mode) supply an initialization vector (IV) to the respective cipher function. The IV must be unique and must be the same when decrypting/encrypting. With data which is stored encrypted, you can take the output of a function of the index under which the data is stored (e.g. the MD5 key of the filename). Alternatively, you can transmit the IV together with the encrypted data (see chapter 9.3 of Applied Cryptography by Schneier (ISBN 0-471-11709-9) for a discussion of this topic).

예제

Mcrypt can be used to encrypt and decrypt using the above mentioned ciphers. If you linked against libmcrypt-2.2.x, the four important mcrypt commands (mcrypt_cfb(), mcrypt_cbc(), mcrypt_ecb(), and mcrypt_ofb()) can operate in both modes which are named MCRYPT_ENCRYPT and MCRYPT_DECRYPT, respectively.

예 1182. Encrypt an input value with TripleDES under 2.2.x in ECB mode

<?php
$key = "this is a secret key";
$input = "Let us meet at 9 o'clock at the secret place.";

$encrypted_data = mcrypt_ecb (MCRYPT_3DES, $key, $input, MCRYPT_ENCRYPT);
?>

This example will give you the encrypted data as a string in $encrypted_data.

If you linked against libmcrypt 2.4.x or 2.5.x, these functions are still available, but it is recommended that you use the advanced functions.

예 1183. Encrypt an input value with TripleDES under 2.4.x and higher in ECB mode

<?php
    $key = "this is a secret key";
    $input = "Let us meet at 9 o'clock at the secret place.";

    $td = mcrypt_module_open('tripledes', '', 'ecb', '');
    $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $key, $iv);
    $encrypted_data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
?>

This example will give you the encrypted data as a string in $encrypted_data. For a full example see mcrypt_module_open().

차례

mcrypt_cbc -- Encrypt/decrypt data in CBC mode
mcrypt_cfb -- Encrypt/decrypt data in CFB mode
mcrypt_create_iv -- Create an initialization vector (IV) from a random source
mcrypt_decrypt -- Decrypts crypttext with given parameters
mcrypt_ecb -- Deprecated: Encrypt/decrypt data in ECB mode
mcrypt_enc_get_algorithms_name -- Returns the name of the opened algorithm
mcrypt_enc_get_block_size -- Returns the blocksize of the opened algorithm
mcrypt_enc_get_iv_size -- Returns the size of the IV of the opened algorithm
mcrypt_enc_get_key_size -- Returns the maximum supported keysize of the opened mode
mcrypt_enc_get_modes_name -- Returns the name of the opened mode
mcrypt_enc_get_supported_key_sizes -- Returns an array with the supported keysizes of the opened algorithm
mcrypt_enc_is_block_algorithm_mode -- Checks whether the encryption of the opened mode works on blocks
mcrypt_enc_is_block_algorithm -- Checks whether the algorithm of the opened mode is a block algorithm
mcrypt_enc_is_block_mode -- Checks whether the opened mode outputs blocks
mcrypt_enc_self_test -- This function runs a self test on the opened module
mcrypt_encrypt -- Encrypts plaintext with given parameters
mcrypt_generic_deinit -- This function deinitializes an encryption module
mcrypt_generic_end -- This function terminates encryption
mcrypt_generic_init -- This function initializes all buffers needed for encryption
mcrypt_generic -- This function encrypts data
mcrypt_get_block_size -- Get the block size of the specified cipher
mcrypt_get_cipher_name -- Get the name of the specified cipher
mcrypt_get_iv_size -- Returns the size of the IV belonging to a specific cipher/mode combination
mcrypt_get_key_size -- Get the key size of the specified cipher
mcrypt_list_algorithms -- Get an array of all supported ciphers
mcrypt_list_modes -- Get an array of all supported modes
mcrypt_module_close -- Close the mcrypt module
mcrypt_module_get_algo_block_size -- Returns the blocksize of the specified algorithm
mcrypt_module_get_algo_key_size -- Returns the maximum supported keysize of the opened mode
mcrypt_module_get_supported_key_sizes -- Returns an array with the supported keysizes of the opened algorithm
mcrypt_module_is_block_algorithm_mode -- Returns if the specified module is a block algorithm or not
mcrypt_module_is_block_algorithm -- This function checks whether the specified algorithm is a block algorithm
mcrypt_module_is_block_mode -- Returns if the specified mode outputs blocks or not
mcrypt_module_open -- Opens the module of the algorithm and the mode to be used
mcrypt_module_self_test -- This function runs a self test on the specified module
mcrypt_ofb -- Encrypt/decrypt data in OFB mode
mdecrypt_generic -- Decrypt data
이전 | 위로 | 다음
mcal_week_of_year | 처음으로 | mcrypt_cbc


mcrypt_cbc

(PHP 4, PHP 5)

mcrypt_cbc -- Encrypt/decrypt data in CBC mode

Description

string mcrypt_cbc ( int $cipher, string $key, string $data, int $mode [, string $iv] )
string mcrypt_cbc ( string $cipher, string $key, string $data, int $mode [, string $iv] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

This function should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.

이전 | 위로 | 다음
LXXXIV. Mcrypt Encryption Functions | 처음으로 | mcrypt_cfb


mcrypt_cfb

(PHP 4, PHP 5)

mcrypt_cfb -- Encrypt/decrypt data in CFB mode

Description

string mcrypt_cfb ( int $cipher, string $key, string $data, int $mode, string $iv )
string mcrypt_cfb ( string $cipher, string $key, string $data, int $mode [, string $iv] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

This function should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.

이전 | 위로 | 다음
mcrypt_cbc | 처음으로 | mcrypt_create_iv


mcrypt_create_iv

(PHP 4, PHP 5)

mcrypt_create_iv -- Create an initialization vector (IV) from a random source

Description

string mcrypt_create_iv ( int $size [, int $source] )

mcrypt_create_iv() is used to create an IV.

Parameter size determines the size of the IV, parameter source (defaults to random value) specifies the source of the IV.

The source can be MCRYPT_RAND (system random number generator), MCRYPT_DEV_RANDOM (read data from /dev/random) and MCRYPT_DEV_URANDOM (read data from /dev/urandom). MCRYPT_RAND is the only one supported on Windows because Windows (of course) doesn't have /dev/random or /dev/urandom.

참고: When using MCRYPT_RAND, remember to call srand() before mcrypt_create_iv() to initialize the random number generator; it is not seeded automatically like rand() is.

예 1184. mcrypt_create_iv() example

<?php
    $size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
    $iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>

The IV is only meant to give an alternative seed to the encryption routines. This IV does not need to be secret at all, though it can be desirable. You even can send it along with your ciphertext without losing security.

More information can be found at » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV, » http://fn2.freenet.edmonton.ab.ca/~jsavard/crypto/co0409.htm and in chapter 9.3 of Applied Cryptography by Schneier (ISBN 0-471-11709-9) for a discussion of this topic.

이전 | 위로 | 다음
mcrypt_cfb | 처음으로 | mcrypt_decrypt


mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_decrypt -- Decrypts crypttext with given parameters

Description

string mcrypt_decrypt ( string $cipher, string $key, string $data, string $mode [, string $iv] )

mcrypt_decrypt() decrypts the data and returns the unencrypted data.

Cipher is one of the MCRYPT_ciphername constants of the name of the algorithm as string.

Key is the key with which the data is encrypted. If it's smaller that the required keysize, it is padded with '\0'.

Data is the data that will be decrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'.

Mode is one of the MCRYPT_MODE_modename constants of one of "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".

The IV parameter is used for the initialisation in CBC, CFB, OFB modes, and in some algorithms in STREAM mode. If you do not supply an IV, while it is needed for an algorithm, the function issues a warning and uses an IV with all bytes set to '\0'.

이전 | 위로 | 다음
mcrypt_create_iv | 처음으로 | mcrypt_ecb


mcrypt_ecb

(PHP 4, PHP 5)

mcrypt_ecb -- Deprecated: Encrypt/decrypt data in ECB mode

Description

string mcrypt_ecb ( int $cipher, string $key, string $data, int $mode )
string mcrypt_ecb ( string $cipher, string $key, string $data, int $mode [, string $iv] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

This function is deprecated and should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.

이전 | 위로 | 다음
mcrypt_decrypt | 처음으로 | mcrypt_enc_get_algorithms_name


mcrypt_enc_get_algorithms_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_algorithms_name -- Returns the name of the opened algorithm

Description

string mcrypt_enc_get_algorithms_name ( resource $td )

This function returns the name of the algorithm.

예 1185. mcrypt_enc_get_algorithms_name() example

<?php
$td = mcrypt_module_open(MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";

$td = mcrypt_module_open('cast-256', '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";
?>

위 예제의 출력:

CAST-256
CAST-256

이전 | 위로 | 다음
mcrypt_ecb | 처음으로 | mcrypt_enc_get_block_size


mcrypt_enc_get_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_block_size -- Returns the blocksize of the opened algorithm

Description

int mcrypt_enc_get_block_size ( resource $td )

This function returns the block size of the algorithm specified by the encryption descriptor td in bytes.

이전 | 위로 | 다음
mcrypt_enc_get_algorithms_name | 처음으로 | mcrypt_enc_get_iv_size


mcrypt_enc_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_iv_size -- Returns the size of the IV of the opened algorithm

Description

int mcrypt_enc_get_iv_size ( resource $td )

This function returns the size of the iv of the algorithm specified by the encryption descriptor in bytes. If it returns '0' then the IV is ignored in the algorithm. An IV is used in cbc, cfb and ofb modes, and in some algorithms in stream mode.

이전 | 위로 | 다음
mcrypt_enc_get_block_size | 처음으로 | mcrypt_enc_get_key_size


mcrypt_enc_get_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_key_size -- Returns the maximum supported keysize of the opened mode

Description

int mcrypt_enc_get_key_size ( resource $td )

This function returns the maximum supported key size of the algorithm specified by the encryption descriptor td in bytes.

이전 | 위로 | 다음
mcrypt_enc_get_iv_size | 처음으로 | mcrypt_enc_get_modes_name


mcrypt_enc_get_modes_name

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_modes_name -- Returns the name of the opened mode

Description

string mcrypt_enc_get_modes_name ( resource $td )

This function returns the name of the mode.

예 1186. mcrypt_enc_get_modes_name() example

<?php
    $td = mcrypt_module_open (MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
    echo mcrypt_enc_get_modes_name($td). "\n";

    $td = mcrypt_module_open ('cast-256', '', 'ecb', '');
    echo mcrypt_enc_get_modes_name($td). "\n";
?>

Prints:

CFB
ECB

이전 | 위로 | 다음
mcrypt_enc_get_key_size | 처음으로 | mcrypt_enc_get_supported_key_sizes


mcrypt_enc_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_get_supported_key_sizes -- Returns an array with the supported keysizes of the opened algorithm

Description

array mcrypt_enc_get_supported_key_sizes ( resource $td )

Returns an array with the key sizes supported by the algorithm specified by the encryption descriptor. If it returns an empty array then all key sizes between 1 and mcrypt_enc_get_key_size() are supported by the algorithm.

예 1187. mcrypt_enc_get_supported_key_sizes() example

<?php
    $td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
    var_dump(mcrypt_enc_get_supported_key_sizes($td));
?>

This will print:

array(3) {
  [0]=>
  int(16)
  [1]=>
  int(24)
  [2]=>
  int(32)
}

이전 | 위로 | 다음
mcrypt_enc_get_modes_name | 처음으로 | mcrypt_enc_is_block_algorithm_mode


mcrypt_enc_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm_mode -- Checks whether the encryption of the opened mode works on blocks

Description

bool mcrypt_enc_is_block_algorithm_mode ( resource $td )

This function returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE. (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb).

이전 | 위로 | 다음
mcrypt_enc_get_supported_key_sizes | 처음으로 | mcrypt_enc_is_block_algorithm


mcrypt_enc_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_algorithm -- Checks whether the algorithm of the opened mode is a block algorithm

Description

bool mcrypt_enc_is_block_algorithm ( resource $td )

This function returns TRUE if the algorithm is a block algorithm, or FALSE if it is a stream algorithm.

이전 | 위로 | 다음
mcrypt_enc_is_block_algorithm_mode | 처음으로 | mcrypt_enc_is_block_mode


mcrypt_enc_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_is_block_mode -- Checks whether the opened mode outputs blocks

Description

bool mcrypt_enc_is_block_mode ( resource $td )

This function returns TRUE if the mode outputs blocks of bytes or FALSE if it outputs bytes. (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream).

이전 | 위로 | 다음
mcrypt_enc_is_block_algorithm | 처음으로 | mcrypt_enc_self_test


mcrypt_enc_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_enc_self_test -- This function runs a self test on the opened module

Description

int mcrypt_enc_self_test ( resource $td )

This function runs the self test on the algorithm specified by the descriptor td. If the self test succeeds it returns FALSE. In case of an error, it returns TRUE.

이전 | 위로 | 다음
mcrypt_enc_is_block_mode | 처음으로 | mcrypt_encrypt


mcrypt_encrypt

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_encrypt -- Encrypts plaintext with given parameters

Description

string mcrypt_encrypt ( string $cipher, string $key, string $data, string $mode [, string $iv] )

mcrypt_encrypt() encrypts the data and returns the encrypted data.

Cipher is one of the MCRYPT_ciphername constants of the name of the algorithm as string.

Key is the key with which the data will be encrypted. If it's smaller that the required keysize, it is padded with '\0'. It is better not to use ASCII strings for keys. It is recommended to use the mhash functions to create a key from a string.

Data is the data that will be encrypted with the given cipher and mode. If the size of the data is not n * blocksize, the data will be padded with '\0'. The returned crypttext can be larger that the size of the data that is given by data.

Mode is one of the MCRYPT_MODE_modename constants of one of "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".

The IV parameter is used for the initialisation in CBC, CFB, OFB modes, and in some algorithms in STREAM mode. If you do not supply an IV, while it is needed for an algorithm, the function issues a warning and uses an IV with all bytes set to '\0'.

예 1188. mcrypt_encrypt() Example

<?php
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $key = "This is a very secret key";
    $text = "Meet me at 11 o'clock behind the monument.";
    echo strlen($text) . "\n";

    $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
    echo strlen($crypttext) . "\n";
?>

위 예제의 출력:

42
64

See also mcrypt_module_open() for a more advanced API and an example.

이전 | 위로 | 다음
mcrypt_enc_self_test | 처음으로 | mcrypt_generic_deinit


mcrypt_generic_deinit

(PHP 4 >= 4.0.7, PHP 5)

mcrypt_generic_deinit -- This function deinitializes an encryption module

Description

bool mcrypt_generic_deinit ( resource $td )

This function terminates encryption specified by the encryption descriptor (td). It clears all buffers, but does not close the module. You need to call mcrypt_module_close() yourself. (But PHP does this for you at the end of the script.) Returns FALSE on error, or TRUE on success.

See for an example mcrypt_module_open() and the entry on mcrypt_generic_init().

이전 | 위로 | 다음
mcrypt_encrypt | 처음으로 | mcrypt_generic_end


mcrypt_generic_end

(PHP 4 >= 4.0.2, PHP 5 <= 5.1.6)

mcrypt_generic_end -- This function terminates encryption

Description

bool mcrypt_generic_end ( resource $td )

주의

This function is deprecated, use mcrypt_generic_deinit() instead. It can cause crashes when used with mcrypt_module_close() due to multiple buffer frees.

This function terminates encryption specified by the encryption descriptor (td). Actually it clears all buffers, and closes all the modules used. Returns FALSE on error, or TRUE on success.

이전 | 위로 | 다음
mcrypt_generic_deinit | 처음으로 | mcrypt_generic_init


mcrypt_generic_init

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic_init -- This function initializes all buffers needed for encryption

Description

int mcrypt_generic_init ( resource $td, string $key, string $iv )

The maximum length of the key should be the one obtained by calling mcrypt_enc_get_key_size() and every value smaller than this is legal. The IV should normally have the size of the algorithms block size, but you must obtain the size by calling mcrypt_enc_get_iv_size(). IV is ignored in ECB. IV MUST exist in CFB, CBC, STREAM, nOFB and OFB modes. It needs to be random and unique (but not secret). The same IV must be used for encryption/decryption. If you do not want to use it you should set it to zeros, but this is not recommended.

The function returns a negative value on error, -3 when the key length was incorrect, -4 when there was a memory allocation problem and any other return value is an unknown error. If an error occurs a warning will be displayed accordingly. FALSE is returned if incorrect parameters were passed.

You need to call this function before every call to mcrypt_generic() or mdecrypt_generic().

See for an example mcrypt_module_open().

이전 | 위로 | 다음
mcrypt_generic_end | 처음으로 | mcrypt_generic


mcrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_generic -- This function encrypts data

Description

string mcrypt_generic ( resource $td, string $data )

This function encrypts data. The data is padded with "\0" to make sure the length of the data is n * blocksize. This function returns the encrypted data. Note that the length of the returned string can in fact be longer then the input, due to the padding of the data.

If you want to store the encrypted data in a database make sure to store the entire string as returned by mcrypt_generic, or the string will not entirely decrypt properly. If your original string is 10 characters long and the block size is 8 (use mcrypt_enc_get_block_size() to determine the blocksize), you would need at least 16 characters in your database field. Note the string returned by mdecrypt_generic() will be 16 characters as well...use rtrim()($str, "\0") to remove the padding.

If you are for example storing the data in a MySQL database remember that varchar fields automatically have trailing spaces removed during insertion. As encrypted data can end in a space (ASCII 32), the data will be damaged by this removal. Store data in a tinyblob/tinytext (or larger) field instead.

The encryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

See also mdecrypt_generic(),
mcrypt_generic_init(), and
mcrypt_generic_deinit().

이전 | 위로 | 다음
mcrypt_generic_init | 처음으로 | mcrypt_get_block_size


mcrypt_get_block_size

(PHP 4, PHP 5)

mcrypt_get_block_size -- Get the block size of the specified cipher

Description

int mcrypt_get_block_size ( int $cipher )
int mcrypt_get_block_size ( string $cipher, string $module )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or 2.5.x.

mcrypt_get_block_size() is used to get the size of a block of the specified cipher (in combination with an encryption mode).

It is more useful to use the mcrypt_enc_get_block_size() function as this uses the resource returned by mcrypt_module_open().

This example shows how to use this function when linked against libmcrypt 2.4.x and 2.5.x.

예 1189. mcrypt_get_block_size() example

<?php
    echo mcrypt_get_block_size('tripledes', 'ecb');
?>

Prints:
8

See also: mcrypt_get_key_size(),
mcrypt_enc_get_block_size() and
mcrypt_encrypt().

이전 | 위로 | 다음
mcrypt_generic | 처음으로 | mcrypt_get_cipher_name


mcrypt_get_cipher_name

(PHP 4, PHP 5)

mcrypt_get_cipher_name -- Get the name of the specified cipher

Description

string mcrypt_get_cipher_name ( int $cipher )
string mcrypt_get_cipher_name ( string $cipher )

mcrypt_get_cipher_name() is used to get the name of the specified cipher.

mcrypt_get_cipher_name() takes the cipher number as an argument (libmcrypt 2.2.x) or takes the cipher name as an argument (libmcrypt 2.4.x or higher) and returns the name of the cipher or FALSE, if the cipher does not exist.

예 1190. mcrypt_get_cipher_name() Example

<?php
   $cipher = MCRYPT_TripleDES;

   echo mcrypt_get_cipher_name($cipher);
?>

위 예제의 출력:

3DES

이전 | 위로 | 다음
mcrypt_get_block_size | 처음으로 | mcrypt_get_iv_size


mcrypt_get_iv_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_get_iv_size -- Returns the size of the IV belonging to a specific cipher/mode combination

Description

int mcrypt_get_iv_size ( string $cipher, string $mode )

mcrypt_get_iv_size() returns the size of the Initialisation Vector (IV) in bytes. On error the function returns FALSE. If the IV is ignored in the specified cipher/mode combination zero is returned.

cipher is one of the MCRYPT_ciphername constants of the name of the algorithm as string.

mode is one of the MCRYPT_MODE_modename constants or one of "ecb", "cbc", "cfb", "ofb", "nofb" or "stream". The IV is ignored in ECB mode as this mode does not require it. You will need to have the same IV (think: starting point) both at encryption and decryption stages, otherwise your encryption will fail.

It is more useful to use the mcrypt_enc_get_iv_size() function as this uses the resource returned by mcrypt_module_open().

예 1191. mcrypt_get_iv_size() example

<?php
    echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";

    echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>

See also
mcrypt_get_block_size(),
mcrypt_enc_get_iv_size() and
mcrypt_create_iv().

이전 | 위로 | 다음
mcrypt_get_cipher_name | 처음으로 | mcrypt_get_key_size


mcrypt_get_key_size

(PHP 4, PHP 5)

mcrypt_get_key_size -- Get the key size of the specified cipher

Description

int mcrypt_get_key_size ( int $cipher )
int mcrypt_get_key_size ( string $cipher, string $module )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or 2.5.x.

mcrypt_get_key_size() is used to get the size of a key of the specified cipher (in combination with an encryption mode).

This example shows how to use this function when linked against libmcrypt 2.4.x and 2.5.x. It is more useful to use the mcrypt_enc_get_key_size() function as this uses the resource returned by mcrypt_module_open().

예 1192. mcrypt_get_block_size() example

<?php
    echo mcrypt_get_key_size('tripledes', 'ecb');
?>

Prints:
24

See also: mcrypt_get_block_size(),
mcrypt_end_get_key_size() and
mcrypt_encrypt().

이전 | 위로 | 다음
mcrypt_get_iv_size | 처음으로 | mcrypt_list_algorithms


mcrypt_list_algorithms

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_algorithms -- Get an array of all supported ciphers

Description

array mcrypt_list_algorithms ( [string $lib_dir] )

mcrypt_list_algorithms() is used to get an array of all supported algorithms in the lib_dir parameter.

mcrypt_list_algorithms() takes an optional lib_dir parameter which specifies the directory where all algorithms are located. If not specifies, the value of the mcrypt.algorithms_dir php.ini directive is used.

예 1193. mcrypt_list_algorithms() Example

<?php
    $algorithms = mcrypt_list_algorithms("/usr/local/lib/libmcrypt");

    foreach ($algorithms as $cipher) {
        echo "$cipher<br />\n";
    }
?>

The above example will produce a list with all supported algorithms in the "/usr/local/lib/libmcrypt" directory.

이전 | 위로 | 다음
mcrypt_get_key_size | 처음으로 | mcrypt_list_modes


mcrypt_list_modes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_list_modes -- Get an array of all supported modes

Description

array mcrypt_list_modes ( [string $lib_dir] )

mcrypt_list_modes() is used to get an array of all supported modes in the lib_dir.

mcrypt_list_modes() takes as optional parameter a directory which specifies the directory where all modes are located. If not specifies, the value of the mcrypt.modes_dir php.ini directive is used.

예 1194. mcrypt_list_modes() Example

<?php
    $modes = mcrypt_list_modes();

    foreach ($modes as $mode) {
        echo "$mode <br />\n";
    }
?>

The above example will produce a list with all supported algorithms in the default mode directory. If it is not set with the ini directive mcrypt.modes_dir, the default directory of mcrypt is used (which is /usr/local/lib/libmcrypt).

이전 | 위로 | 다음
mcrypt_list_algorithms | 처음으로 | mcrypt_module_close


mcrypt_module_close

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_close -- Close the mcrypt module

Description

bool mcrypt_module_close ( resource $td )

This function closes the specified encryption handle.

See mcrypt_module_open() for an example.

이전 | 위로 | 다음
mcrypt_list_modes | 처음으로 | mcrypt_module_get_algo_block_size


mcrypt_module_get_algo_block_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_block_size -- Returns the blocksize of the specified algorithm

Description

int mcrypt_module_get_algo_block_size ( string $algorithm [, string $lib_dir] )

This function returns the block size of the algorithm specified in bytes. The optional lib_dir parameter can contain the location where the mode module is on the system.

이전 | 위로 | 다음
mcrypt_module_close | 처음으로 | mcrypt_module_get_algo_key_size


mcrypt_module_get_algo_key_size

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_algo_key_size -- Returns the maximum supported keysize of the opened mode

Description

int mcrypt_module_get_algo_key_size ( string $algorithm [, string $lib_dir] )

This function returns the maximum supported key size of the algorithm specified in bytes. The optional lib_dir parameter can contain the location where the mode module is on the system.

이전 | 위로 | 다음
mcrypt_module_get_algo_block_size | 처음으로 | mcrypt_module_get_supported_key_sizes


mcrypt_module_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_get_supported_key_sizes -- Returns an array with the supported keysizes of the opened algorithm

Description

array mcrypt_module_get_supported_key_sizes ( string $algorithm [, string $lib_dir] )

Returns an array with the key sizes supported by the specified algorithm. If it returns an empty array then all key sizes between 1 and mcrypt_module_get_algo_key_size() are supported by the algorithm. The optional lib_dir parameter can contain the location where the mode module is on the system.

See also mcrypt_enc_get_supported_key_sizes() which is used on open encryption modules.

이전 | 위로 | 다음
mcrypt_module_get_algo_key_size | 처음으로 | mcrypt_module_is_block_algorithm_mode


mcrypt_module_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm_mode -- Returns if the specified module is a block algorithm or not

Description

bool mcrypt_module_is_block_algorithm_mode ( string $mode [, string $lib_dir] )

This function returns TRUE if the mode is for use with block algorithms, otherwise it returns FALSE. (e.g. FALSE for stream, and TRUE for cbc, cfb, ofb). The optional lib_dir parameter can contain the location where the mode module is on the system.

이전 | 위로 | 다음
mcrypt_module_get_supported_key_sizes | 처음으로 | mcrypt_module_is_block_algorithm


mcrypt_module_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_algorithm -- This function checks whether the specified algorithm is a block algorithm

Description

bool mcrypt_module_is_block_algorithm ( string $algorithm [, string $lib_dir] )

This function returns TRUE if the specified algorithm is a block algorithm, or FALSE is it is a stream algorithm. The optional lib_dir parameter can contain the location where the algorithm module is on the system.

이전 | 위로 | 다음
mcrypt_module_is_block_algorithm_mode | 처음으로 | mcrypt_module_is_block_mode


mcrypt_module_is_block_mode

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_is_block_mode -- Returns if the specified mode outputs blocks or not

Description

bool mcrypt_module_is_block_mode ( string $mode [, string $lib_dir] )

This function returns TRUE if the mode outputs blocks of bytes or FALSE if it outputs just bytes. (e.g. TRUE for cbc and ecb, and FALSE for cfb and stream). The optional lib_dir parameter can contain the location where the mode module is on the system.

이전 | 위로 | 다음
mcrypt_module_is_block_algorithm | 처음으로 | mcrypt_module_open


mcrypt_module_open

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_open -- Opens the module of the algorithm and the mode to be used

Description

resource mcrypt_module_open ( string $algorithm, string $algorithm_directory, string $mode, string $mode_directory )

This function opens the module of the algorithm and the mode to be used. The name of the algorithm is specified in algorithm, e.g. "twofish" or is one of the MCRYPT_ciphername constants. The module is closed by calling mcrypt_module_close(). Normally it returns an encryption descriptor, or FALSE on error.

The algorithm_directory and mode_directory are used to locate the encryption modules. When you supply a directory name, it is used. When you set one of these to the empty string (""), the value set by the mcrypt.algorithms_dir or mcrypt.modes_dir ini-directive is used. When these are not set, the default directories that are used are the ones that were compiled in into libmcrypt (usually /usr/local/lib/libmcrypt).

예 1195. mcrypt_module_open() examples

<?php
    $td = mcrypt_module_open(MCRYPT_DES, '',
        MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');

    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>

The first line in the example above will try to open the DES cipher from the default directory and the EBC mode from the directory /usr/lib/mcrypt-modes. The second example uses strings as name for the cipher and mode, this only works when the extension is linked against libmcrypt 2.4.x or 2.5.x.

예 1196. Using mcrypt_module_open() in encryption

<?php
    /* Open the cipher */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* Create the IV and determine the keysize length, use MCRYPT_RAND
     * on Windows instead */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* Create key */
    $key = substr(md5('very secret key'), 0, $ks);

    /* Intialize encryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Encrypt data */
    $encrypted = mcrypt_generic($td, 'This is very important data');

    /* Terminate encryption handler */
    mcrypt_generic_deinit($td);

    /* Initialize encryption module for decryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Decrypt encrypted string */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* Terminate decryption handle and close module */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* Show string */
    echo trim($decrypted) . "\n";
?>

See also
mcrypt_module_close(),
mcrypt_generic(),
mdecrypt_generic(),
mcrypt_generic_init(), and
mcrypt_generic_deinit().

이전 | 위로 | 다음
mcrypt_module_is_block_mode | 처음으로 | mcrypt_module_self_test


mcrypt_module_self_test

(PHP 4 >= 4.0.2, PHP 5)

mcrypt_module_self_test -- This function runs a self test on the specified module

Description

bool mcrypt_module_self_test ( string $algorithm [, string $lib_dir] )

This function runs the self test on the algorithm specified. The optional lib_dir parameter can contain the location of where the algorithm module is on the system.

The function returns TRUE if the self test succeeds, or FALSE when if fails.

예 1197. mcrypt_module_self_test() example

<?php
var_dump(mcrypt_module_self_test(MCRYPT_RIJNDAEL_128)) . "\n";
var_dump(mcrypt_module_self_test(MCRYPT_BOGUS_CYPHER));
?>

위 예제의 출력:

bool(true)
bool(false)

이전 | 위로 | 다음
mcrypt_module_open | 처음으로 | mcrypt_ofb


mcrypt_ofb

(PHP 4, PHP 5)

mcrypt_ofb -- Encrypt/decrypt data in OFB mode

Description

string mcrypt_ofb ( int $cipher, string $key, string $data, int $mode, string $iv )
string mcrypt_ofb ( string $cipher, string $key, string $data, int $mode [, string $iv] )

The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

This function should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.

이전 | 위로 | 다음
mcrypt_module_self_test | 처음으로 | mdecrypt_generic


mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mdecrypt_generic -- Decrypt data

Description

string mdecrypt_generic ( resource $td, string $data )

This function decrypts data. Note that the length of the returned string can in fact be longer then the unencrypted string, due to the padding of the data.

예 1198. mdecrypt_generic() example

<?php
    /* Data */
    $key = 'this is a very long key, even too long for the cipher';
    $plain_text = 'very important data';

    /* Open module, and create IV */
    $td = mcrypt_module_open('des', '', 'ecb', '');
    $key = substr($key, 0, mcrypt_enc_get_key_size($td));
    $iv_size = mcrypt_enc_get_iv_size($td);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    /* Initialize encryption handle */
    if (mcrypt_generic_init($td, $key, $iv) != -1) {

        /* Encrypt data */
        $c_t = mcrypt_generic($td, $plain_text);
        mcrypt_generic_deinit($td);

        /* Reinitialize buffers for decryption */
        mcrypt_generic_init($td, $key, $iv);
        $p_t = mdecrypt_generic($td, $c_t);

        /* Clean up */
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
    }

    if (strncmp($p_t, $plain_text, strlen($plain_text)) == 0) {
        echo "ok\n";
    } else {
        echo "error\n";
    }
?>

The above example shows how to check if the data before the encryption is the same as the data after the decryption. It is very important to reinitialize the encryption buffer with mcrypt_generic_init() before you try to decrypt the data.

The decryption handle should always be initialized with mcrypt_generic_init() with a key and an IV before calling this function. Where the encryption is done, you should free the encryption buffers by calling mcrypt_generic_deinit(). See mcrypt_module_open() for an example.

See also mcrypt_generic(),
mcrypt_generic_init(), and
mcrypt_generic_deinit().

이전 | 위로 | 다음
mcrypt_ofb | 처음으로 | LXXXV. MCVE (Monetra) Payment Functions


MCVE (Monetra) Payment Functions

이전 VI. 함수 레퍼런스 다음

LXXXV. MCVE (Monetra) Payment Functions

소개

These functions interface the MCVE (Monetra) API (libmonetra, formerly known as libmcve), allowing you to work directly with MCVE/Monetra from your PHP scripts. MCVE/Monetra is Main Street Softworks' solution to direct credit/debit/gift card processing for Linux/Unix/MacOSX/Windows ( » http://www.mainstreetsoftworks.com/ ). It lets you directly address the credit card clearing houses via your *nix box, modem and/or internet connection (bypassing the need for an additional service such as Authorize.Net or Pay Flow Pro). Using the MCVE/Monetra module for PHP, you can process credit cards directly through MCVE/Monetra via your PHP scripts. The following references will outline the process.

참고: MCVE/Monetra is the replacement for RedHat's CCVS. They contracted with RedHat in late 2001 to migrate all existing clientele to the MCVE platform.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

설치

To enable MCVE (Monetra) Support in PHP, first verify your LibMonetra (formerly libmcve) installation directory. If you are compiling MCVE/Monetra support directly into PHP, you will then need to configure PHP with the --with-mcve option. If you use this option without specifying the path to your libmonetra installation, PHP will attempt to look in the default LibMonetra Install location (/usr/local). If Monetra (MCVE) is in a non-standard location, run configure with: --with-mcve=$mcve_path, where $mcve_path is the path to your MCVE/Monetra installation. Please note that MCVE/Monetra support requires that $mcve_path/lib and $mcve_path/include exist, and include mcve.h or monetra.h under the include directory and libmcve.so and/or libmcve.a and/or libmonetra.so and/or libmonetra.a under the lib directory.

If you want to install MCVE/Monetra support as a module, you can do so by using the PECL repository, and issuing the 'pecl install mcve' command if you are running a PEAR version of at least 1.4.0.

Since MCVE/Monetra has true server/client separation, there are no additional requirements for running PHP with MCVE support. To test your MCVE/Monetra extension in PHP, you may connect to testbox.monetra.com on port 8333 for IP, or port 8444 for SSL using the MCVE/Monetra PHP API. Use 'vitale' for your username, and 'test' for your password. Additional information about test facilities are available at » http://www.mainstreetsoftworks.com/.

참고

Additional documentation about MCVE/Monetra's PHP API can be found at » http://www.mainstreetsoftworks.com/documentation.html. Main Street's documentation is complete and should be the primary reference for functions.

자원형

This extension defines a MCVE_CONN resource returned by m_initconn().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

M_PENDING (integer)
M_DONE (integer)
M_ERROR (integer)
M_FAIL (integer)
M_SUCCESS (integer)

차례

m_checkstatus -- Check to see if a transaction has completed
m_completeauthorizations -- Number of complete authorizations in queue, returning an array of their identifiers
m_connect -- Establish the connection to MCVE
m_connectionerror -- Get a textual representation of why a connection failed
m_deletetrans -- Delete specified transaction from MCVE_CONN structure
m_destroyconn -- Destroy the connection and MCVE_CONN structure
m_destroyengine -- Free memory associated with IP/SSL connectivity
m_getcell -- Get a specific cell from a comma delimited response by column name
m_getcellbynum -- Get a specific cell from a comma delimited response by column number
m_getcommadelimited -- Get the RAW comma delimited data returned from MCVE
m_getheader -- Get the name of the column in a comma-delimited response
m_initconn -- Create and initialize an MCVE_CONN structure
m_initengine -- Ready the client for IP/SSL Communication
m_iscommadelimited -- Checks to see if response is comma delimited
m_maxconntimeout -- The maximum amount of time the API will attempt a connection to MCVE
m_monitor -- Perform communication with MCVE (send/receive data) Non-blocking
m_numcolumns -- Number of columns returned in a comma delimited response
m_numrows -- Number of rows returned in a comma delimited response
m_parsecommadelimited -- Parse the comma delimited response so m_getcell, etc will work
m_responsekeys -- Returns array of strings which represents the keys that can be used for response parameters on this transaction
m_responseparam -- Get a custom response parameter
m_returnstatus -- Check to see if the transaction was successful
m_setblocking -- Set blocking/non-blocking mode for connection
m_setdropfile -- Set the connection method to Drop-File
m_setip -- Set the connection method to IP
m_setssl_cafile -- Set SSL CA (Certificate Authority) file for verification of server certificate
m_setssl_files -- Set certificate key files and certificates if server requires client certificate verification
m_setssl -- Set the connection method to SSL
m_settimeout -- Set maximum transaction time (per trans)
m_sslcert_gen_hash -- Generate hash for SSL client certificate verification
m_transactionssent -- Check to see if outgoing buffer is clear
m_transinqueue -- Number of transactions in client-queue
m_transkeyval -- Add key/value pair to a transaction. Replaces deprecated transparam()
m_transnew -- Start a new transaction
m_transsend -- Finalize and send the transaction
m_uwait -- Wait x microsecs
m_validateidentifier -- Whether or not to validate the passed identifier on any transaction it is passed to
m_verifyconnection -- Set whether or not to PING upon connect to verify connection
m_verifysslcert -- Set whether or not to verify the server ssl certificate
이전 | 위로 | 다음
mdecrypt_generic | 처음으로 | m_checkstatus


Memcache Functions

이전 VI. 함수 레퍼런스 다음

LXXXVI. Memcache Functions

소개

Memcache module provides handy procedural and object oriented interface to memcached, highly effective caching daemon, which was especially designed to decrease database load in dynamic web applications.

The Memcache module also provides a session handler (memcache).

More information about memcached can be found at » http://www.danga.com/memcached/.

요구 조건

This module uses functions of » zlib to support on-the-fly data compression. Zlib is required to install this module.

PHP 4.3.3 or newer is required to use the memcache extension.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/memcache.

In order to use these functions you must compile PHP with Memcache support by using the --enable-memcache[=DIR] option. You may optionally disable memcache session handler support by specifying --disable-memcache-session.

Windows users will enable php_memcache.dll inside of php.ini in order to use these functions. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 165. Memcache Configuration Options

Name | Default | Changeable | Changelog
memcache.allow_failover | "1" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Available since memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Available since memcache 2.2.0.
session.save_handler | "files" | PHP_INI_ALL | Supported since memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Supported since memcache 2.1.2

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

memcache.allow_failover boolean

Whether to transparently failover to other servers on errors.

memcache.max_failover_attempts integer

Defines how many servers to try when setting and getting data. Used only in conjunction with memcache.allow_failover.

memcache.chunk_size integer

Data will be transferred in chunks of this size, setting the value lower requires more network writes. Try increasing this value to 32768 if noticing otherwise inexplicable slowdowns.

memcache.default_port string

The default TCP port number to use when connecting to the memcached server if no other port is specified.

memcache.hash_strategy string

Controls which strategy to use when mapping keys to servers. Set this value to consistent to enable consistent hashing which allows servers to be added or removed from the pool without causing keys to be remapped. Setting this value to standard results in the old strategy being used.

memcache.hash_function string

Controls which hash function to apply when mapping keys to servers, crc32 uses the standard CRC32 hash while fnv uses FNV-1a.

session.save_handler string

Use memcache as a session handler by setting this value to memcache.

session.save_path string

Defines a comma separated of server urls to use for session storage, for example "tcp://host1:11211, tcp://host2:11211".

Each url may contain parameters which are applied to that server, they are the same as for the Memcache::addServer() method. For example "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

자원형

There is only one resource type used in memcache module - it's the link identifier for a cache server connection.

예약 상수

표 166. Memcache Constants

Name | Description
MEMCACHE_COMPRESSED (integer) | Used to turn on-the-fly data compression on with Memcache::set(), Memcache::add() 그리고 Memcache::replace().
MEMCACHE_HAVE_SESSION (integer) | 1 if this Memcache session handler is available, 0 otherwise.

예제

예 1199. memcache extension overview example

In this example, an object is being saved in the cache and then retrieved back. Object and other non-scalar types are serialized before saving, so it's impossible to store resources (i.e. connection identifiers and others) in the cache.

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);

?>

예 1200. Using memcache session handler

<?php

$session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10,  ,tcp://$host:$port  ";
ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', $session_save_path);

?>

차례

Memcache::add -- Add an item to the server
Memcache::addServer -- Add a memcached server to connection pool
Memcache::close -- Close memcached server connection
Memcache::connect -- Open memcached server connection
memcache_debug -- Turn debug output on/off
Memcache::decrement -- Decrement item's value
Memcache::delete -- Delete item from the server
Memcache::flush -- Flush all existing items at the server
Memcache::get -- Retrieve item from the server
Memcache::getExtendedStats -- Get statistics from all servers in pool
Memcache::getServerStatus -- Returns server status
Memcache::getStats -- Get statistics of the server
Memcache::getVersion -- Return version of the server
Memcache::increment -- Increment item's value
Memcache::pconnect -- Open memcached server persistent connection
Memcache::replace -- Replace value of the existing item
Memcache::set -- Store data at the server
Memcache::setCompressThreshold -- Enable automatic compression of large values
Memcache::setServerParams -- Changes server parameters and status at runtime
이전 | 위로 | 다음
m_verifysslcert | 처음으로 | Memcache::add


Memcache::add

(No version information available, might be only in CVS)

Memcache::add -- Add an item to the server

설명

bool Memcache::add ( string $key, mixed $var [, int $flag [, int $expire]] )

Memcache::add() stores variable var with key only if such key doesn't exist at the server yet. Also you can use memcache_add() function.

매개변수

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Returns FALSE if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().

예제

예 1201. Memcache::add() example

<?php

$memcache_obj = memcache_connect("localhost", 11211);

/* procedural API */
memcache_add($memcache_obj, 'var_key', 'test variable', false, 30);

/* OO API */
$memcache_obj->add('var_key', 'test variable', false, 30);

?>

참고

Memcache::set()
Memcache::replace()

이전 | 위로 | 다음
LXXXVI. Memcache Functions | 처음으로 | Memcache::addServer


Memcache::close

(No version information available, might be only in CVS)

Memcache::close -- Close memcached server connection

설명

bool Memcache::close ( void )

Memcache::close() closes connection to memcached server. This function doesn't close persistent connections, which are closed only during web-server shutdown/restart. Also you can use memcache_close() function.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1203. Memcache::close() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
do something here ..
*/
memcache_close($memcache_obj);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/*
do something here ..
*/
$memcache_obj->close();

?>

참고

Memcache::connect()
Memcache::pconnect()

이전 | 위로 | 다음
Memcache::addServer | 처음으로 | Memcache::connect


Memcache::connect

(No version information available, might be only in CVS)

Memcache::connect -- Open memcached server connection

설명

bool Memcache::connect ( string $host [, int $port [, int $timeout]] )

Memcache::connect() establishes a connection to the memcached server. The connection, which was opened using Memcache::connect() will be automatically closed at the end of script execution. Also you can close it with Memcache::close(). Also you can use memcache_connect() function.

매개변수

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1204. Memcache::connect() example

<?php

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);

/* OO API */

$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

?>

참고

Memcache::pconnect()
Memcache::close()

이전 | 위로 | 다음
Memcache::close | 처음으로 | memcache_debug


memcache_debug

(PECL memcache:0.2-2.1.2)

memcache_debug -- Turn debug output on/off

설명

bool memcache_debug ( bool $on_off )

memcache_debug() turns on debug output if parameter on_off is equal to TRUE and turns off if it's FALSE.

참고: memcache_debug() is accessible only if PHP was built with --enable-debug option and always returns TRUE in this case. Otherwise, this function has no effect and always returns FALSE.

매개변수

on_off

Turns debug output on if equals to TRUE. Turns debug output off if equals to FALSE.

반환값

Returns TRUE if PHP was built with --enable-debug option, otherwise returns FALSE.

이전 | 위로 | 다음
Memcache::connect | 처음으로 | Memcache::decrement


Memcache::decrement

(No version information available, might be only in CVS)

Memcache::decrement -- Decrement item's value

설명

int Memcache::decrement ( string $key [, int $value] )

Memcache::decrement() decrements value of the item by value. Similarly to Memcache::increment(), current value of the item is being converted to numerical and after that value is substracted.

참고: New item's value will not be less than zero.

참고: Do not use Memcache::decrement() with item, which was stored compressed, because consequent call to Memcache::get() will fail.

Memcache::decrement() does not create an item if it didn't exist. Also you can use memcache_decrement() function.

매개변수

key

Key of the item do decrement.

value

Decrement the item by value. Optional and defaults to 1.

반환값

Returns item's new value on success or FALSE on failure.

예제

예 1205. Memcache::decrement() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* decrement item by 2 */
$new_value = memcache_decrement($memcache_obj, 'test_item', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* decrement item by 3 */
$new_value = $memcache_obj->decrement('test_item', 3);
?>

참고

Memcache::increment()
Memcache::replace()

이전 | 위로 | 다음
memcache_debug | 처음으로 | Memcache::delete


Memcache::delete

(No version information available, might be only in CVS)

Memcache::delete -- Delete item from the server

설명

bool Memcache::delete ( string $key [, int $timeout] )

Memcache::delete() deletes item with the key. If parameter timeout is specified, the item will expire after timeout seconds. Also you can use memcache_delete() function.

매개변수

key

timeout

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1206. Memcache::delete() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* after 10 seconds item will be deleted by the server */
memcache_delete($memcache_obj, 'key_to_delete', 10);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete', 10);

?>

참고

Memcache::set()
Memcache::replace()

이전 | 위로 | 다음
Memcache::decrement | 처음으로 | Memcache::flush


Memcache::flush

(No version information available, might be only in CVS)

Memcache::flush -- Flush all existing items at the server

설명

bool Memcache::flush ( void )

Memcache::flush() immediately invalidates all existing items. Memcache::flush() doesn't actually free any resources, it only marks all the items as expired, so occupied memory will be overwritten by new items. Also you can use memcache_flush() function.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1207. Memcache::flush() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>

이전 | 위로 | 다음
Memcache::delete | 처음으로 | Memcache::get


Memcache::get

(No version information available, might be only in CVS)

Memcache::get -- Retrieve item from the server

설명

string Memcache::get ( string $key [, int &$flags] )
array Memcache::get ( array $keys [, array &$flags] )

Memcache::get() returns previously stored data if an item with such key exists on the server at this moment.

You can pass array of keys to Memcache::get() to get array of values. The result array will contain only found key-value pairs.

매개변수

key

The key or array of keys to fetch.

flags

If present, flags fetched along with the values will be written to this parameter. These flags are the same as the ones given to for example Memcache::set(). The lowest byte of the int is reserved for pecl/memcache internal usage (e.g. to indicate compression and serialization status).

반환값

Returns the string associated with the key or FALSE on failure or if such key was not found.

예제

예 1208. Memcache::get() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');

/*
You also can use array of keys as a parameter.
If such item wasn't found at the server, the result
array simply will not include such key.
*/

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

?>

이전 | 위로 | 다음
Memcache::flush | 처음으로 | Memcache::getExtendedStats


Memcache::getStats

(No version information available, might be only in CVS)

Memcache::getStats -- Get statistics of the server

설명

array Memcache::getStats ( [string $type [, int $slabid [, int $limit]]] )

Memcache::getStats() returns an associative array with server's statistics. Array keys correspond to stats parameters and values to parameter's values. Also you can use memcache_get_stats() function.

매개변수

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump. Default value is 100.

반환값

Returns an associative array of server statistics or FALSE on failure.

참고

Memcache::getVersion()
Memcache::getExtendedStats()

이전 | 위로 | 다음
Memcache::getServerStatus | 처음으로 | Memcache::getVersion


Memcache::getVersion

(No version information available, might be only in CVS)

Memcache::getVersion -- Return version of the server

설명

string Memcache::getVersion ( void )

Memcache::getVersion() returns a string with server's version number. Also you can use memcache_get_version() function.

반환값

Returns a string of server version number or FALSE on failure.

예제

예 1211. Memcache::getVersion() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);

?>

참고

Memcache::getExtendedStats()
Memcache::getStats()

이전 | 위로 | 다음
Memcache::getStats | 처음으로 | Memcache::increment


Memcache::increment

(No version information available, might be only in CVS)

Memcache::increment -- Increment item's value

설명

int Memcache::increment ( string $key [, int $value] )

Memcache::increment() increments value of the item on the specified value. If item with key key was not numeric and cannot be converted to number, it will change it's value to value. Memcache::increment() does not create an item if it didn't exist.

참고: Do not use Memcache::increment() with item, which was stored compressed, because consequent call to Memcache::get() will fail.

Also you can use memcache_increment() function.

매개변수

key

Key of the item to increment.

value

Increment the item by value. Optional and defaults to 1.

반환값

Returns new item's value on success or FALSE on failure.

예제

예 1212. Memcache::increment() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* increment counter by 2 */
$current_value = memcache_increment($memcache_obj, 'counter', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* increment counter by 3 */
$current_value = $memcache_obj->increment('counter', 3);

?>

참고

Memcache::decrement()
Memcache::replace()

이전 | 위로 | 다음
Memcache::getVersion | 처음으로 | Memcache::pconnect


Memcache::pconnect

(No version information available, might be only in CVS)

Memcache::pconnect -- Open memcached server persistent connection

설명

bool Memcache::pconnect ( string $host [, int $port [, int $timeout]] )

Memcache::pconnect() is similar to Memcache::connect() with the difference, that the connection it establishes is persistent. This connection is not closed after the end of script execution and by Memcache::close() function. Also you can use memcache_pconnect() function.

매개변수

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1213. Memcache::pconnect() example

<?php

/* procedural API */
$memcache_obj = memcache_pconnect('memcache_host', 11211);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);

?>

참고

Memcache::connect()

이전 | 위로 | 다음
Memcache::increment | 처음으로 | Memcache::replace


Memcache::replace

(No version information available, might be only in CVS)

Memcache::replace -- Replace value of the existing item

설명

bool Memcache::replace ( string $key, mixed $var [, int $flag [, int $expire]] )

Memcache::replace() should be used to replace value of
existing item with key. In case if item with such
key doesn't exists, Memcache::replace() returns
FALSE. For the rest Memcache::replace() behaves
similarly to Memcache::set().
Also you can use memcache_replace() function.

매개변수

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1214. Memcache::replace() example

<?php

$memcache_obj = memcache_connect('memcache_host', 11211);

/* procedural API */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* OO API */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

참고

Memcache::set()
Memcache::add()

이전 | 위로 | 다음
Memcache::pconnect | 처음으로 | Memcache::set


Memcache::set

(No version information available, might be only in CVS)

Memcache::set -- Store data at the server

설명

bool Memcache::set ( string $key, mixed $var [, int $flag [, int $expire]] )

Memcache::set() stores an item var with key on the memcached server. Parameter expire is expiration time in seconds. If it's 0, the item never expires (but memcached server doesn't guarantee this item to be stored all the time, it could be deleted from the cache to make place for other items). You can use MEMCACHE_COMPRESSED constant as flag value if you want to use on-the-fly compression (uses zlib).

참고: Remember that resource variables (i.e. file and connection descriptors) cannot be stored in the cache, because they cannot be adequately represented in serialized state.

Also you can use memcache_set() function.

매개변수

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1215. Memcache::set() example

<?php
/* procedural API */

/* connect to memcached server */
$memcache_obj = memcache_connect('memcache_host', 11211);

/*
set value of item with key 'var_key'
using 0 as flag value, compression is not used
expire time is 30 seconds
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

echo memcache_get($memcache_obj, 'var_key');

?>

예 1216. Memcache::set() example

<?php
/* OO API */

$memcache_obj = new Memcache;

/* connect to memcached server */
$memcache_obj->connect('memcache_host', 11211);

/*
set value of item with key 'var_key', using on-the-fly compression
expire time is 50 seconds
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

?>

참고

Memcache::add()
Memcache::replace()

이전 | 위로 | 다음
Memcache::replace | 처음으로 | Memcache::setCompressThreshold


Mhash Functions

이전 VI. 함수 레퍼런스 다음

LXXXVII. Mhash Functions

소개

These functions are intended to work with » mhash. Mhash can be used to create checksums, message digests, message authentication codes, and more.

This is an interface to the mhash library. mhash supports a wide variety of hash algorithms such as MD5, SHA1, GOST, and many others. For a complete list of supported hashes, refer to the documentation of mhash. The general rule is that you can access the hash algorithm from PHP with MHASH_HASHNAME. For example, to access TIGER you use the PHP constant MHASH_TIGER.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.3.0. This extension is obsoleted by Hash.

요구 조건

To use it, download the mhash distribution from » its web site and follow the included installation instructions.

설치

You need to compile PHP with the --with-mhash[=DIR] parameter to enable this extension. DIR is the mhash install directory.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Here is a list of hashes which are currently supported by mhash. If a hash is not listed here, but is listed by mhash as supported, you can safely assume that this documentation is outdated.

  • MHASH_ADLER32
  • MHASH_CRC32
  • MHASH_CRC32B
  • MHASH_GOST
  • MHASH_HAVAL128
  • MHASH_HAVAL160
  • MHASH_HAVAL192
  • MHASH_HAVAL256
  • MHASH_MD4
  • MHASH_MD5
  • MHASH_RIPEMD160
  • MHASH_SHA1
  • MHASH_SHA256
  • MHASH_TIGER
  • MHASH_TIGER128
  • MHASH_TIGER160

예제

예 1219. Compute the MD5 digest and hmac and print it out as hex

<?php
$input = "what do ya want for nothing?";
$hash = mhash(MHASH_MD5, $input);
echo "The hash is " . bin2hex($hash) . "<br />\n";
$hash = mhash(MHASH_MD5, $input, "Jefe");
echo "The hmac is " . bin2hex($hash) . "<br />\n";
?>

This will produce:

The hash is d03cb659cbf9192dcd066272249f8412
The hmac is 750c783e6ab0b503eaa86e310a5db738

차례

mhash_count -- Get the highest available hash id
mhash_get_block_size -- Get the block size of the specified hash
mhash_get_hash_name -- Get the name of the specified hash
mhash_keygen_s2k -- Generates a key
mhash -- Compute hash
이전 | 위로 | 다음
Memcache::setServerParams | 처음으로 | mhash_count


mhash_count

(PHP 4, PHP 5)

mhash_count -- Get the highest available hash id

설명

int mhash_count ( void )

Gets the highest available hash id.

반환값

Returns the highest available hash id. Hashes are numbered from 0 to this hash id.

예제

예 1220. Traversing all hashes

<?php

$nr = mhash_count();

for ($i = 0; $i <= $nr; $i++) {
    echo sprintf("The blocksize of %s is %d\n",
        mhash_get_hash_name($i),
        mhash_get_block_size($i));
}
?>

이전 | 위로 | 다음
LXXXVII. Mhash Functions | 처음으로 | mhash_get_block_size


mhash_get_block_size

(PHP 4, PHP 5)

mhash_get_block_size -- Get the block size of the specified hash

설명

int mhash_get_block_size ( int $hash )

Gets the size of a block of the specified hash.

매개변수

hash

The hash id. One of the MHASH_XXX constants.

반환값

Returns the size in bytes or FALSE, if the hash does not exist.

예제

예 1221. mhash_get_block_size() Example

<?php

echo mhash_get_block_size(MHASH_MD5); // 16

?>

이전 | 위로 | 다음
mhash_count | 처음으로 | mhash_get_hash_name


mhash_get_hash_name

(PHP 4, PHP 5)

mhash_get_hash_name -- Get the name of the specified hash

설명

string mhash_get_hash_name ( int $hash )

Gets the name of the specified hash.

매개변수

hash

The hash id. One of the MHASH_XXX constants.

반환값

Returns the name of the hash or FALSE, if the hash does not exist.

예제

예 1222. mhash_get_hash_name() example

<?php

echo mhash_get_hash_name(MHASH_MD5); // MD5

?>

이전 | 위로 | 다음
mhash_get_block_size | 처음으로 | mhash_keygen_s2k


mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5)

mhash_keygen_s2k -- Generates a key

설명

string mhash_keygen_s2k ( int $hash, string $password, string $salt, int $bytes )

Generates a key according to the hash given a user provided password.

This is the Salted S2K algorithm as specified in the OpenPGP document (» RFC 2440).

Keep in mind that user supplied passwords are not really suitable to be used as keys in cryptographic algorithms, since users normally choose keys they can write on keyboard. These passwords use only 6 to 7 bits per character (or less). It is highly recommended to use some kind of transformation (like this function) to the user supplied key.

매개변수

hash

The hash id used to create the key. One of the MHASH_XXX constants.

password

User supplied password.

salt

Must be different and random enough for every key you generate in order to create different keys. That salt must be known when you check the keys, thus it is a good idea to append the key to it. Salt has a fixed length of 8 bytes and will be padded with zeros if you supply less bytes.

bytes

The key length, in bytes.

반환값

Returns the generated key as a string, or FALSE on error.

이전 | 위로 | 다음
mhash_get_hash_name | 처음으로 | mhash


mhash

(PHP 4, PHP 5)

mhash -- Compute hash

설명

string mhash ( int $hash, string $data [, string $key] )

mhash() applies a hash function specified by hash to the data.

매개변수

hash

The hash id. One of the MHASH_XXX constants.

data

The user input, as a string.

key

If specified, the function will return the resulting HMAC instead. HMAC is keyed hashing for message authentication, or simply a message digest that depends on the specified key. Not all algorithms supported in mhash can be used in HMAC mode.

반환값

Returns the resulting hash (also called digest) or HMAC as a string, or FALSE on errors.

이전 | 위로 | 다음
mhash_keygen_s2k | 처음으로 | LXXXVIII. Mimetype Functions


Mimetype Functions

이전 VI. 함수 레퍼런스 다음

LXXXVIII. Mimetype Functions

소개

주의

This extension has been deprecated as the PECL extension Fileinfo provides the same functionality (and more) in a much cleaner way.

The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.

This extension is derived from Apache mod_mime_magic, which is itself based on the file command maintained by Ian F. Darwin. See the source code for further historic and copyright information.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

You must compile PHP with the configure switch --with-mime-magic to get support for mime-type functions. The extension needs a copy of the simplified magic file that is distributed with the Apache httpd.

참고: The configure option has been changed from --enable-mime-magic to --with-mime-magic since PHP 4.3.2

참고: This extension is not capable of handling the fully decorated magic file that generally comes with standard Linux distro's and is supposed to be used with recent versions of file command.

Note to Win32 Users: In order to use this module on a Windows environment, you must set the path to the bundled magic.mime file in your php.ini.

예 1223. Setting the path to magic.mime

mime_magic.magicfile = "$PHP_INSTALL_DIR\magic.mime"

Remember to substitute the $PHP_INSTALL_DIR for your actual path to PHP in the above example. e.g. c:\php

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 167. Mimetype configuration options

Name | Default | Changeable | Changelog
mime_magic.debug | "0" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Available since PHP 4.3.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

mime_magic.debug bool

Enable/disable debugging.

mime_magic.magicfile string

The path to the magic.mime file.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

mime_content_type -- Detect MIME Content-type for a file (deprecated)
이전 | 위로 | 다음
mhash | 처음으로 | mime_content_type


mime_content_type

(PHP 4 >= 4.3.0, PHP 5)

mime_content_type -- Detect MIME Content-type for a file (deprecated)

설명

string mime_content_type ( string $filename )

Returns the MIME content type for a file as determined by using information from the magic.mime file.

매개변수

filename

Path to the tested file.

반환값

Returns the content type in MIME format, like text/plain or application/octet-stream.

주의

주의

This function has been deprecated as the PECL extension Fileinfo provides the same functionality (and more) in a much cleaner way.

예제

예 1224. mime_content_type() Example

<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>

위 예제의 출력:

image/gif
text/plain

참고

Fileinfo for a replacement

이전 | 위로 | 다음
LXXXVIII. Mimetype Functions | 처음으로 | LXXXIX. Ming functions for Flash


Microsoft SQL Server Functions

이전 VI. 함수 레퍼런스 다음

XCII. Microsoft SQL Server Functions

소개

These functions allow you to access MS SQL Server database.

요구 조건

Requirements for Win32 platforms.

The extension requires the MS SQL Client Tools to be installed on the system where PHP is installed. The Client Tools can be installed from the MS SQL Server CD or by copying ntwdblib.dll from \winnt\system32 on the server to \winnt\system32 on the PHP box. Copying ntwdblib.dll will only provide access through named pipes. Configuration of the client will require installation of all the tools.

Requirements for Unix/Linux platforms.

To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: » http://www.freetds.org/

참고: In Windows, the DBLIB from Microsoft is used. Functions that return a column name are based on the dbcolname() function in DBLIB. DBLIB was developed for SQL Server 6.x where the max identifier length is 30. For this reason, the maximum column length is 30 characters. On platforms where FreeTDS is used (Linux), this is not a problem.

설치

The MSSQL extension is enabled by adding extension=php_mssql.dll to php.ini.

To get these functions to work, you have to compile PHP with --with-mssql[=DIR], where DIR is the FreeTDS install prefix. And FreeTDS should be compiled using --enable-msdblib.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 170. MS SQL Server configuration options

Name | Default | Changeable | Changelog
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Available since PHP 4.1.0.
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.batchsize | "0" | PHP_INI_ALL | Available since PHP 4.0.4.
mssql.datetimeconvert | "1" | PHP_INI_ALL | Available since PHP 4.2.0.
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.0.
mssql.max_procs | "-1" | PHP_INI_ALL | Available since PHP 4.3.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

MSSQL_ASSOC (integer)
MSSQL_NUM (integer)
MSSQL_BOTH (integer)
SQLTEXT (integer)
SQLVARCHAR (integer)
SQLCHAR (integer)
SQLINT1 (integer)
SQLINT2 (integer)
SQLINT4 (integer)
SQLBIT (integer)
SQLFLT8 (integer)

차례

mssql_bind -- Adds a parameter to a stored procedure or a remote stored procedure
mssql_close -- Close MS SQL Server connection
mssql_connect -- Open MS SQL server connection
mssql_data_seek -- Moves internal row pointer
mssql_execute -- Executes a stored procedure on a MS SQL server database
mssql_fetch_array -- Fetch a result row as an associative array, a numeric array, or both
mssql_fetch_assoc -- Returns an associative array of the current row in the result
mssql_fetch_batch -- Returns the next batch of records
mssql_fetch_field -- Get field information
mssql_fetch_object -- Fetch row as object
mssql_fetch_row -- Get row as enumerated array
mssql_field_length -- Get the length of a field
mssql_field_name -- Get the name of a field
mssql_field_seek -- Seeks to the specified field offset
mssql_field_type -- Gets the type of a field
mssql_free_result -- Free result memory
mssql_free_statement -- Free statement memory
mssql_get_last_message -- Returns the last message from the server
mssql_guid_string -- Converts a 16 byte binary GUID to a string
mssql_init -- Initializes a stored procedure or a remote stored procedure
mssql_min_error_severity -- Sets the lower error severity
mssql_min_message_severity -- Sets the lower message severity
mssql_next_result -- Move the internal result pointer to the next result
mssql_num_fields -- Gets the number of fields in result
mssql_num_rows -- Gets the number of rows in result
mssql_pconnect -- Open persistent MS SQL connection
mssql_query -- Send MS SQL query
mssql_result -- Get result data
mssql_rows_affected -- Returns the number of records affected by the query
mssql_select_db -- Select MS SQL database
이전 | 위로 | 다음
udm_set_agent_param | 처음으로 | mssql_bind


mssql_bind

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_bind -- Adds a parameter to a stored procedure or a remote stored procedure

설명

bool mssql_bind ( resource $stmt, string $param_name, mixed &$var, int $type [, int $is_output [, int $is_null [, int $maxlen]]] )

Binds a parameter to a stored procedure or a remote stored procedure.

매개변수

stmt

Statement resource, obtained with mssql_init().

param_name

The parameter name, as a string.

참고: You have to include the @ character, like in the T-SQL syntax. See the explanation included in mssql_execute().

var

The PHP variable you'll bind the MSSQL parameter to. You can pass it by value, or by reference, to retrieve OUTPUT and RETVAL values after the procedure execution.

type

One of: SQLTEXT, SQLVARCHAR, SQLCHAR, SQLINT1, SQLINT2, SQLINT4, SQLBIT, SQLFLT4, SQLFLT8, SQLFLTN.

is_output

Whether the value is an OUTPUT parameter or not. If it's an OUTPUT parameter and you don't mention it, it will be treated as a normal input parameter and no error will be thrown.

is_null

Whether the parameter is NULL or not. Passing the NULL value as var will not do the job.

maxlen

Used with char/varchar values. You have to indicate the length of the data so if the parameter is a varchar(50), the type must be SQLVARCHAR and this value 50.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1269. mssql_bind() Example

<?php

$cn = mssql_connect($DBSERVER, $DBUSER, $DBPASS);
mssql_select_db($DB, $cn);

$sp = mssql_init("WDumpAdd"); // stored proc name

mssql_bind($sp, "@productname", stripslashes($newproduct), SQLVARCHAR, false, false, 150);
mssql_bind($sp, "@quantity", stripslashes($newquantity), SQLVARCHAR, false, false, 50);

mssql_execute($sp);
mssql_close($cn);

?>

참고

mssql_execute()
mssql_free_statement()
mssql_init()

이전 | 위로 | 다음
XCII. Microsoft SQL Server Functions | 처음으로 | mssql_close


mssql_close

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_close -- Close MS SQL Server connection

설명

bool mssql_close ( [resource $link_identifier] )

Closes the link to a MS SQL Server database that's associated with the specified link identifier. If the link identifier isn't specified, the last opened link is assumed.

Note that this isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

매개변수

link_identifier

A MS SQL link identifier, returned by mssql_connect().

This function will not close persistent links generated by mssql_pconnect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

mssql_connect()
mssql_pconnect()

이전 | 위로 | 다음
mssql_bind | 처음으로 | mssql_connect


mssql_connect

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_connect -- Open MS SQL server connection

설명

resource mssql_connect ( [string $servername [, string $username [, string $password [, bool $new_link]]]] )

mssql_connect() establishes a connection to a MS SQL server. The servername argument has to be a valid servername that is defined in the 'interfaces' file.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling mssql_close().

매개변수

servername

The MS SQL server. It can also include a port number. e.g. hostname,port.

username

The username.

password

The password.

new_link

If a second call is made to mssql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. This parameter modifies this behavior and makes mssql_connect() always open a new link, even if mssql_connect() was called before with the same parameters.

반환값

Returns a MS SQL link identifier on success, or FALSE on error.

변경 기록

버전 | 설명
4.4.1 and 5.1.0 | The new_link parameter was added

참고

mssql_close()
mssql_pconnect()

이전 | 위로 | 다음
mssql_close | 처음으로 | mssql_data_seek


mssql_data_seek

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_data_seek -- Moves internal row pointer

설명

bool mssql_data_seek ( resource $result_identifier, int $row_number )

mssql_data_seek() moves the internal row pointer of the MS SQL result associated with the specified result identifier to point to the specified row number, first row being number 0. The next call to mssql_fetch_row() would return that row.

매개변수

result_identifier

The result resource that is being evaluated.

row_number

The desired row number of the new result pointer.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
mssql_connect | 처음으로 | mssql_execute


mssql_execute

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_execute -- Executes a stored procedure on a MS SQL server database

설명

mixed mssql_execute ( resource $stmt [, bool $skip_results] )

Executes a stored procedure on a MS SQL server database

매개변수

stmt

Statement handle obtained with mssql_init().

skip_results

주의

참고: If the stored procedure returns parameters or a return value these will be available after the call to mssql_execute() unless the stored procedure returns more than one result set. In that case use mssql_next_result() to shift through the results. When the last result has been processed the output parameters and return values will be available.

참고

mssql_bind()
mssql_free_statement()
mssql_init()

이전 | 위로 | 다음
mssql_data_seek | 처음으로 | mssql_fetch_array


mssql_fetch_array

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_fetch_array -- Fetch a result row as an associative array, a numeric array, or both

설명

array mssql_fetch_array ( resource $result [, int $result_type] )

mssql_fetch_array() is an extended version of mssql_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

An important thing to note is that using mssql_fetch_array() is NOT significantly slower than using mssql_fetch_row(), while it provides a significant added value.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

result_type

The type of array that is to be fetched. It's a constant and can take the following values: MSSQL_ASSOC, MSSQL_NUM, and the default value of MSSQL_BOTH.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

주의

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고

mssql_fetch_row()

이전 | 위로 | 다음
mssql_execute | 처음으로 | mssql_fetch_assoc


mssql_fetch_assoc

(PHP 4 >= 4.2.0, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_fetch_assoc -- Returns an associative array of the current row in the result

설명

array mssql_fetch_assoc ( resource $result_id )

Returns an associative array that corresponds to the fetched row and moves the internal data pointer ahead. mssql_fetch_assoc() is equivalent to calling mssql_fetch_array() with MSSQL_ASSOC for the optional second parameter.

매개변수

result_id

The result resource that is being evaluated. This result comes from a call to mssql_query().

반환값

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

이전 | 위로 | 다음
mssql_fetch_array | 처음으로 | mssql_fetch_batch


mssql_fetch_batch

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_fetch_batch -- Returns the next batch of records

설명

int mssql_fetch_batch ( resource $result )

Returns the next batch of records

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

반환값

Returns the batch number as an integer.

예제

예 1270. mssql_fetch_batch() Example

<?php
$resDb = mssql_connect('localhost', 'user', 'name');
$result = mssql_query('SELECT * FROM MYTABLE', $resDb, 10000);

$intNumRows = mssql_num_rows($result);

while ($intNumRows > 0) {
    while ($arrRow = mssql_fetch_assoc($result)) {
        // Do stuff ...
    }
    $intNumRows = mssql_fetch_batch($result);
}
?>

이전 | 위로 | 다음
mssql_fetch_assoc | 처음으로 | mssql_fetch_field


mssql_fetch_field

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_fetch_field -- Get field information

설명

object mssql_fetch_field ( resource $result [, int $field_offset] )

mssql_fetch_field() can be used in order to obtain information about fields in a certain query result.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

field_offset

The numerical field offset. If the field offset is not specified, the next field that was not yet retrieved by this function is retrieved. The field_offset starts at 0.

반환값

Returns an object containing field information.

The properties of the object are:

  • name - column name. if the column is a result of a function, this property is set to computed#N, where #N is a serial number.
  • column_source - the table from which the column was taken
  • max_length - maximum length of the column
  • numeric - 1 if the column is numeric
  • type - the column type.

참고

mssql_field_seek()

이전 | 위로 | 다음
mssql_fetch_batch | 처음으로 | mssql_fetch_object


mssql_fetch_object

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_fetch_object -- Fetch row as object

설명

object mssql_fetch_object ( resource $result )

mssql_fetch_object() is similar to mssql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to mssql_fetch_array(), and almost as quick as mssql_fetch_row() (the difference is insignificant).

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

반환값

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

주의

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고

mssql_fetch_array()
mssql_fetch_row()

이전 | 위로 | 다음
mssql_fetch_field | 처음으로 | mssql_fetch_row


mssql_fetch_row

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_fetch_row -- Get row as enumerated array

설명

array mssql_fetch_row ( resource $result )

mssql_fetch_row() fetches one row of data from the result associated with the specified result identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.

Subsequent call to mssql_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

주의

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고

mssql_fetch_array()
mssql_fetch_object()
mssql_data_seek()
mssql_result()

이전 | 위로 | 다음
mssql_fetch_object | 처음으로 | mssql_field_length


mssql_field_length

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_field_length -- Get the length of a field

설명

int mssql_field_length ( resource $result [, int $offset] )

Returns the length of field no. offset in result.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

offset

The field offset, starts at 0. If omitted, the current field is used.

반환값

The length of the specified field index on success, or FALSE on failure.

주의

Note to Win32 Users: Due to a limitation in the underlying API used by PHP (MS DbLib C API), the length of VARCHAR fields is limited to 255. If you need to store more data, use a TEXT field instead.

참고

mssql_field_name()
mssql_field_type()

이전 | 위로 | 다음
mssql_fetch_row | 처음으로 | mssql_field_name


mssql_field_name

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_field_name -- Get the name of a field

설명

string mssql_field_name ( resource $result [, int $offset] )

Returns the name of field no. offset in result.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

offset

The field offset, starts at 0. If omitted, the current field is used.

반환값

The name of the specified field index on success, or FALSE on failure.

참고

mssql_field_length()
mssql_field_type()

이전 | 위로 | 다음
mssql_field_length | 처음으로 | mssql_field_seek


mssql_field_seek

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_field_seek -- Seeks to the specified field offset

설명

bool mssql_field_seek ( resource $result, int $field_offset )

Seeks to the specified field offset. If the next call to mssql_fetch_field() won't include a field offset, this field would be returned.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

field_offset

The field offset, starts at 0.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

mssql_fetch_field()

이전 | 위로 | 다음
mssql_field_name | 처음으로 | mssql_field_type


mssql_field_type

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_field_type -- Gets the type of a field

설명

string mssql_field_type ( resource $result [, int $offset] )

Returns the type of field no. offset in result.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

offset

The field offset, starts at 0. If omitted, the current field is used.

반환값

The type of the specified field index on success, or FALSE on failure.

참고

mssql_field_length()
mssql_field_name()

이전 | 위로 | 다음
mssql_field_seek | 처음으로 | mssql_free_result


mssql_free_result

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_free_result -- Free result memory

설명

bool mssql_free_result ( resource $result )

mssql_free_result() only needs to be called if you are worried about using too much memory while your script is running. All result memory will automatically be freed when the script ends. You may call mssql_free_result() with the result identifier as an argument and the associated result memory will be freed.

매개변수

result

The result resource that is being freed. This result comes from a call to mssql_query().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
mssql_field_type | 처음으로 | mssql_free_statement


mssql_free_statement

(PHP 4 >= 4.3.2, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_free_statement -- Free statement memory

설명

bool mssql_free_statement ( resource $stmt )

mssql_free_statement() only needs to be called if you are worried about using too much memory while your script is running. All statement memory will automatically be freed when the script ends. You may call mssql_free_statement() with the statement identifier as an argument and the associated statement memory will be freed.

매개변수

stmt

Statement resource, obtained with mssql_init().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

mssql_bind()
mssql_execute()
mssql_init()

이전 | 위로 | 다음
mssql_free_result | 처음으로 | mssql_get_last_message


mssql_get_last_message

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_get_last_message -- Returns the last message from the server

설명

string mssql_get_last_message ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mssql_free_statement | 처음으로 | mssql_guid_string


mssql_guid_string

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_guid_string -- Converts a 16 byte binary GUID to a string

설명

string mssql_guid_string ( string $binary [, int $short_format] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mssql_get_last_message | 처음으로 | mssql_init


mssql_init

(PHP 4 >= 4.0.7, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_init -- Initializes a stored procedure or a remote stored procedure

설명

resource mssql_init ( string $sp_name [, resource $link_identifier] )

Initializes a stored procedure or a remote stored procedure.

매개변수

sp_name

Stored procedure name, like ownew.sp_name or otherdb.owner.sp_name.

link_identifier

A MS SQL link identifier, returned by mssql_connect().

반환값

Returns a resource identifier "statement", used in subsequent calls to mssql_bind() and mssql_execute(), or FALSE on errors.

참고

mssql_bind()
mssql_execute()
mssql_free_statement()

이전 | 위로 | 다음
mssql_guid_string | 처음으로 | mssql_min_error_severity


mssql_min_error_severity

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_min_error_severity -- Sets the lower error severity

설명

void mssql_min_error_severity ( int $severity )
주의

This function is currently not documented; only the argument list is available.

매개변수

severity

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
mssql_init | 처음으로 | mssql_min_message_severity


mssql_min_message_severity

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_min_message_severity -- Sets the lower message severity

설명

void mssql_min_message_severity ( int $severity )
주의

This function is currently not documented; only the argument list is available.

매개변수

severity

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
mssql_min_error_severity | 처음으로 | mssql_next_result


mssql_next_result

(PHP 4 >= 4.0.5, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_next_result -- Move the internal result pointer to the next result

설명

bool mssql_next_result ( resource $result_id )

When sending more than one SQL statement to the server or executing a stored procedure with multiple results, it will cause the server to return multiple result sets. This function will test for additional results available form the server. If an additional result set exists it will free the existing result set and prepare to fetch the rows from the new result set.

매개변수

result_id

The result resource that is being evaluated. This result comes from a call to mssql_query().

반환값

Returns TRUE if an additional result set was available or FALSE otherwise.

예제

예 1271. mssql_next_result() example

<?php
$link = mssql_connect("localhost", "userid", "secret");
mssql_select_db("MyDB", $link);
$sql = "Select * from table1 select * from table2";
$rs = mssql_query($sql, $link);
do {
    while ($row = mssql_fetch_row($rs)) {
    }
} while (mssql_next_result($rs));
mssql_free_result($rs);
mssql_close($link);
?>

이전 | 위로 | 다음
mssql_min_message_severity | 처음으로 | mssql_num_fields


mssql_num_fields

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_num_fields -- Gets the number of fields in result

설명

int mssql_num_fields ( resource $result )

mssql_num_fields() returns the number of fields in a result set.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

반환값

Returns the number of fields, as an integer.

참고

mssql_query()
mssql_fetch_field()
mssql_num_rows()

이전 | 위로 | 다음
mssql_next_result | 처음으로 | mssql_num_rows


mssql_num_rows

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_num_rows -- Gets the number of rows in result

설명

int mssql_num_rows ( resource $result )

mssql_num_rows() returns the number of rows in a result set.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

반환값

Returns the number of rows, as an integer.

참고

mssql_query()
mssql_fetch_row()

이전 | 위로 | 다음
mssql_num_fields | 처음으로 | mssql_pconnect


mssql_pconnect

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_pconnect -- Open persistent MS SQL connection

설명

resource mssql_pconnect ( [string $servername [, string $username [, string $password [, bool $new_link]]]] )

mssql_pconnect() acts very much like mssql_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (mssql_close() will not close links established by mssql_pconnect()).

This type of links is therefore called 'persistent'.

매개변수

servername

The MS SQL server. It can also include a port number. e.g. hostname:port.

username

The username.

password

The password.

new_link

If a second call is made to mssql_pconnect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. This parameter modifies this behavior and makes mssql_pconnect() always open a new link, even if mssql_pconnect() was called before with the same parameters.

반환값

Returns a positive MS SQL persistent link identifier on success, or FALSE on error.

이전 | 위로 | 다음
mssql_num_rows | 처음으로 | mssql_query


mssql_query

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_query -- Send MS SQL query

설명

mixed mssql_query ( string $query [, resource $link_identifier [, int $batch_size]] )

mssql_query() sends a query to the currently active database on the server that's associated with the specified link identifier.

매개변수

query

A SQL query.

link_identifier

A MS SQL link identifier, returned by mssql_connect() or mssql_pconnect().

If the link identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if mssql_connect() was called, and use it.

batch_size

The number of records to batch in the buffer.

반환값

Returns a MS SQL result resource on success, TRUE if no rows were returned, or FALSE on error.

주의

참고: If the query returns multiple results then it is necessary to fetch all results by mssql_next_result() or free the results by mssql_free_result() before executing next query.

참고

mssql_select_db()
mssql_connect()

이전 | 위로 | 다음
mssql_pconnect | 처음으로 | mssql_result


mssql_result

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_result -- Get result data

설명

string mssql_result ( resource $result, int $row, mixed $field )

mssql_result() returns the contents of one cell from a MS SQL result set.

매개변수

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

row

The row number.

field

Can be the field's offset, the field's name or the field's table dot field's name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), it uses the alias instead of the column name.

참고: Specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

반환값

Returns the contents of the specified cell.

주의

참고: When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than mssql_result().

참고

Recommended high-performance alternatives:
mssql_fetch_row()
mssql_fetch_array()
mssql_fetch_object()

이전 | 위로 | 다음
mssql_query | 처음으로 | mssql_rows_affected


mssql_rows_affected

(PHP 4 >= 4.0.4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_rows_affected -- Returns the number of records affected by the query

설명

int mssql_rows_affected ( resource $link_identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

link_identifier

A MS SQL link identifier, returned by mssql_connect() or mssql_pconnect().

이전 | 위로 | 다음
mssql_result | 처음으로 | mssql_select_db


mssql_select_db

(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)

mssql_select_db -- Select MS SQL database

설명

bool mssql_select_db ( string $database_name [, resource $link_identifier] )

mssql_select_db() sets the current active database on the server that's associated with the specified link identifier.

Every subsequent call to mssql_query() will be made on the active database.

매개변수

database_name

The database name.

To escape the name of a database that contains spaces, hyphens ("-"), or any other exceptional characters, the database name must be enclosed in brackets, as is shown in the example, below. This technique must also be applied when selecting a database name that is also a reserved word (such as primary).

link_identifier

A MS SQL link identifier, returned by mssql_connect() or mssql_pconnect().

If no link identifier is specified, the last opened link is assumed. If no link is open, the function will try to establish a link as if mssql_connect() was called, and use it.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1272. mssql_select_db() example

<?php
$conn = mssql_connect('MYSQLSERVER', 'sa', 'password');
mssql_select_db('[my data-base]', $conn);
?>

참고

mssql_connect()
mssql_pconnect()
mssql_query()

이전 | 위로 | 다음
mssql_rows_affected | 처음으로 | XCIII. Microsoft SQL Server and Sybase Functions (PDO_DBLIB)


Ming functions for Flash

이전 VI. 함수 레퍼런스 다음

LXXXIX. Ming functions for Flash

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

소개

First of all: Ming is not an acronym. Ming is an open-source (LGPL) library which allows you to create SWF ("Flash") format movies. Ming supports almost all of Flash 4's features, including: shapes, gradients, bitmaps (pngs and jpegs), morphs ("shape tweens"), text, buttons, actions, sprites ("movie clips"), streaming mp3, and color transforms --the only thing that's missing is sound events.

Note that all values specifying length, distance, size, etc. are in "twips", twenty units per pixel. That's pretty much arbitrary, though, since the player scales the movie to whatever pixel size is specified in the embed/object tag, or the entire frame if not embedded.

Ming offers a number of advantages over the existing PHP/libswf module. You can use Ming anywhere you can compile the code, whereas libswf is closed-source and only available for a few platforms, Windows not one of them. Ming provides some insulation from the mundane details of the SWF file format, wrapping the movie elements in PHP objects. Also, Ming is still being maintained; if there's a feature that you want to see, just let us know at » http://ming.sourceforge.net/.

Ming was added in PHP 4.0.5.

요구 조건

To use Ming with PHP, you first need to build and install the Ming library. Source code and installation instructions are available at the Ming home page: » http://ming.sourceforge.net/ along with examples, a small tutorial, and the latest news.

Download the ming archive. Unpack the archive. Go in the Ming directory. make. make install.

This will build libming.so and install it into /usr/lib/, and copy ming.h into /usr/include/. Edit the PREFIX= line in the Makefile to change the installation directory.

설치

예 1225. built into PHP (Unix)

mkdir <phpdir>/ext/ming
cp php_ext/* <phpdir>/ext/ming
cd <phpdir>
./buildconf
./configure --with-ming <other config options>

Build and install PHP as usual, restart web server if necessary.

Now either just add extension=php_ming.so to your php.ini file, or put dl('php_ming.so'); at the head of all of your Ming scripts.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

MING_NEW (integer)
MING_ZLIB (integer)
SWFBUTTON_HIT (integer)
SWFBUTTON_DOWN (integer)
SWFBUTTON_OVER (integer)
SWFBUTTON_UP (integer)
SWFBUTTON_MOUSEUPOUTSIDE (integer)
SWFBUTTON_DRAGOVER (integer)
SWFBUTTON_DRAGOUT (integer)
SWFBUTTON_MOUSEUP (integer)
SWFBUTTON_MOUSEDOWN (integer)
SWFBUTTON_MOUSEOUT (integer)
SWFBUTTON_MOUSEOVER (integer)
SWFFILL_RADIAL_GRADIENT (integer)
SWFFILL_LINEAR_GRADIENT (integer)
SWFFILL_TILED_BITMAP (integer)
SWFFILL_CLIPPED_BITMAP (integer)
SWFTEXTFIELD_HASLENGTH (integer)
SWFTEXTFIELD_NOEDIT (integer)
SWFTEXTFIELD_PASSWORD (integer)
SWFTEXTFIELD_MULTILINE (integer)
SWFTEXTFIELD_WORDWRAP (integer)
SWFTEXTFIELD_DRAWBOX (integer)
SWFTEXTFIELD_NOSELECT (integer)
SWFTEXTFIELD_HTML (integer)
SWFTEXTFIELD_ALIGN_LEFT (integer)
SWFTEXTFIELD_ALIGN_RIGHT (integer)
SWFTEXTFIELD_ALIGN_CENTER (integer)
SWFTEXTFIELD_ALIGN_JUSTIFY (integer)
SWFACTION_ONLOAD (integer)
SWFACTION_ENTERFRAME (integer)
SWFACTION_UNLOAD (integer)
SWFACTION_MOUSEMOVE (integer)
SWFACTION_MOUSEDOWN (integer)
SWFACTION_MOUSEUP (integer)
SWFACTION_KEYDOWN (integer)
SWFACTION_KEYUP (integer)
SWFACTION_DATA (integer)

예약 클래스

이 확장은 다음의 클래스들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Classes

SWFAction
SWFBitmap
SWFButton
SWFDisplayItem
SWFFill
SWFFont
SWFFontChar
SWFGradient
SWFMorph
SWFMovie
SWFPrebuiltClip
SWFShape
SWFSound
SWFSoundInstance
SWFSprite
SWFText
SWFTextField
SWFVideoStream

차례

SWFAction -- SWFAction Class
SWFAction->__construct() -- Creates a new SWFAction
SWFBitmap -- SWFBitmap Class
SWFBitmap->__construct() -- Loads Bitmap object
SWFBitmap->getHeight() -- Returns the bitmap's height
SWFBitmap->getWidth() -- Returns the bitmap's width
SWFButton -- SWFButton Class
SWFButton->__construct() -- Creates a new Button
SWFButton->addAction() -- Adds an action
SWFButton->addASound() -- Associates a sound with a button transition
SWFButton->addShape() -- Adds a shape to a button
SWFButton->setAction() -- Sets the action
SWFButton->setDown() -- Alias for addShape(shape, SWFBUTTON_DOWN)
SWFButton->setHit() -- Alias for addShape(shape, SWFBUTTON_HIT)
SWFButton->setMenu() -- enable track as menu button behaviour
SWFButton->setOver() -- Alias for addShape(shape, SWFBUTTON_OVER)
SWFButton->setUp() -- Alias for addShape(shape, SWFBUTTON_UP)
SWFDisplayItem -- SWFDisplayItem Class
SWFDisplayItem->addAction() -- Adds this SWFAction to the given SWFSprite instance
SWFDisplayItem->addColor() -- Adds the given color to this item's color transform
SWFDisplayItem->endMask() -- Another way of defining a MASK layer
SWFDisplayItem->getRot()
SWFDisplayItem->getX()
SWFDisplayItem->getXScale()
SWFDisplayItem->getXSkew()
SWFDisplayItem->getY()
SWFDisplayItem->getYScale()
SWFDisplayItem->getYSkew()
SWFDisplayItem->move() -- Moves object in relative coordinates
SWFDisplayItem->moveTo() -- Moves object in global coordinates
SWFDisplayItem->multColor() -- Multiplies the item's color transform
SWFDisplayItem->remove() -- Removes the object from the movie
SWFDisplayItem->rotate() -- Rotates in relative coordinates
SWFDisplayItem->rotateTo() -- Rotates the object in global coordinates
SWFDisplayItem->scale() -- Scales the object in relative coordinates
SWFDisplayItem->scaleTo() -- Scales the object in global coordinates
SWFDisplayItem->setDepth() -- Sets z-order
SWFDisplayItem->setMaskLevel() -- Defines a MASK layer at level
SWFDisplayItem->setMatrix() -- Sets the item's transform matrix
SWFDisplayItem->setName() -- Sets the object's name
SWFDisplayItem->setRatio() -- Sets the object's ratio
SWFDisplayItem->skewX() -- Sets the X-skew
SWFDisplayItem->skewXTo() -- Sets the X-skew
SWFDisplayItem->skewY() -- Sets the Y-skew
SWFDisplayItem->skewYTo() -- Sets the Y-skew
SWFFill -- SWFFill Class
SWFFill->moveTo() -- Moves fill origin
SWFFill->rotateTo() -- Sets fill's rotation
SWFFill->scaleTo() -- Sets fill's scale
SWFFill->skewXTo() -- Sets fill x-skew
SWFFill->skewYTo() -- Sets fill y-skew
SWFFont -- SWFFont Class
SWFFont->__construct() -- Loads a font definition
SWFFont->getAscent() -- Returns the ascent of the font, or 0 if not available
SWFFont->getDescent() -- Returns the descent of the font, or 0 if not available
SWFFont->getLeading() -- Returns the leading of the font, or 0 if not available
SWFFont->getShape() -- Returns the glyph shape of a char as a text string
SWFFont->getUTF8Width() -- Calculates the width of the given string in this font at full height
SWFFont->getWidth() -- Returns the string's width
SWFFontChar -- SWFFontChar Class
SWFFontChar->addChars() -- Adds characters to a font for exporting font
SWFFontChar->addUTF8Chars() -- Adds characters to a font for exporting font
SWFGradient -- SWFGradient Class
SWFGradient->__construct() -- Creates a gradient object
SWFGradient->addEntry() -- Adds an entry to the gradient list
SWFMorph -- SWFMorph Class
SWFMorph->__construct() -- Creates a new SWFMorph object
SWFMorph->getShape1() -- Gets a handle to the starting shape
SWFMorph->getShape2() -- Gets a handle to the ending shape
SWFMovie -- SWFMovie Class
SWFMovie->__construct() -- Creates a new movie object, representing an SWF version 4 movie
SWFMovie->add() -- Adds any type of data to a movie
SWFMovie->addExport()
SWFMovie->addFont()
SWFMovie->importChar()
SWFMovie->importFont()
SWFMovie->labelFrame() -- Labels a frame
SWFMovie->nextFrame() -- Moves to the next frame of the animation
SWFMovie->output() -- Dumps your lovingly prepared movie out
SWFMovie->remove() -- Removes the object instance from the display list
SWFMovie->save() -- Saves the SWF movie in a file
SWFMovie->saveToFile()
SWFMovie->setbackground() -- Sets the background color
SWFMovie->setDimension() -- Sets the movie's width and height
SWFMovie->setFrames() -- Sets the total number of frames in the animation
SWFMovie->setRate() -- Sets the animation's frame rate
SWFMovie->startSound()
SWFMovie->stopSound()
SWFMovie->streamMP3() -- Streams a MP3 file
SWFMovie->writeExports()
SWFPrebuiltClip -- SWFPrebuiltClip Class
SWFPrebuiltClip->__construct() -- Returns a SWFPrebuiltClip object
SWFShape -- SWFShape Class
SWFShape->__construct() -- Creates a new shape object
SWFShape->addFill() -- Adds a solid fill to the shape
SWFShape->drawArc() -- Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock
SWFShape->drawCircle() -- Draws a circle of radius r centered at the current location, in a counter-clockwise fashion
SWFShape->drawCubic() -- Draws a cubic bezier curve using the current position and the three given points as control points
SWFShape->drawCubicTo() -- Draws a cubic bezier curve using the current position and the three given points as control points
SWFShape->drawCurve() -- Draws a curve (relative)
SWFShape->drawCurveTo() -- Draws a curve
SWFShape->drawGlyph() -- Draws the first character in the given string into the shape using the glyph definition from the given font
SWFShape->drawLine() -- Draws a line (relative)
SWFShape->drawLineTo() -- Draws a line
SWFShape->movePen() -- Moves the shape's pen (relative)
SWFShape->movePenTo() -- Moves the shape's pen
SWFShape->setLeftFill() -- Sets left rasterizing color
SWFShape->setLine() -- Sets the shape's line style
SWFShape->setRightFill() -- Sets right rasterizing color
SWFSound -- SWFSound Class
SWFSound -- Returns a new SWFSound object from given file
SWFSoundInstance -- SWFSoundInstance Class
SWFSoundInstance->loopCount()
SWFSoundInstance->loopInPoint()
SWFSoundInstance->loopOutPoint()
SWFSoundInstance->noMultiple()
SWFSprite -- SWFSprite Class
SWFSprite->__construct() -- Creates a movie clip (a sprite)
SWFSprite->add() -- Adds an object to a sprite
SWFSprite->labelFrame() -- Labels frame
SWFSprite->nextFrame() -- Moves to the next frame of the animation
SWFSprite->remove() -- Removes an object to a sprite
SWFSprite->setFrames() -- Sets the total number of frames in the animation
SWFSprite->startSound()
SWFSprite->stopSound()
SWFText -- SWFText Class
SWFText->__construct() -- Creates a new SWFText object
SWFText->addString() -- Draws a string
SWFText->addUTF8String() -- Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color
SWFText->getAscent() -- Returns the ascent of the current font at its current size, or 0 if not available
SWFText->getDescent() -- Returns the descent of the current font at its current size, or 0 if not available
SWFText->getLeading() -- Returns the leading of the current font at its current size, or 0 if not available
SWFText->getUTF8Width() -- calculates the width of the given string in this text objects current font and size
SWFText->getWidth() -- Computes string's width
SWFText->moveTo() -- Moves the pen
SWFText->setColor() -- Sets the current text color
SWFText->setFont() -- Sets the current font
SWFText->setHeight() -- Sets the current font height
SWFText->setSpacing() -- Sets the current font spacing
SWFTextField -- SWFTextField Class
SWFTextField->__construct() -- Creates a text field object
SWFTextField->addChars() -- adds characters to a font that will be available within a textfield
SWFTextField->addString() -- Concatenates the given string to the text field
SWFTextField->align() -- Sets the text field alignment
SWFTextField->setBounds() -- Sets the text field width and height
SWFTextField->setColor() -- Sets the color of the text field
SWFTextField->setFont() -- Sets the text field font
SWFTextField->setHeight() -- Sets the font height of this text field font
SWFTextField->setIndentation() -- Sets the indentation of the first line
SWFTextField->setLeftMargin() -- Sets the left margin width of the text field
SWFTextField->setLineSpacing() -- Sets the line spacing of the text field
SWFTextField->setMargins() -- Sets the margins width of the text field
SWFTextField->setName() -- Sets the variable name
SWFTextField->setPadding() -- Sets the padding of this textfield
SWFTextField->setRightMargin() -- Sets the right margin width of the text field
SWFVideoStream -- SWFVideoStream Class
SWFVideoStream->__construct() -- Returns a SWFVideoStream object
SWFVideoStream->getNumFrames()
SWFVideoStream->setDimension()
ming_keypress -- Returns the action flag for keyPress(char)
ming_setcubicthreshold -- Set cubic threshold
ming_setscale -- Set scale
ming_setswfcompression -- Sets the SWF output compression
ming_useconstants -- Use constant pool
ming_useswfversion -- Sets the SWF version
이전 | 위로 | 다음
mime_content_type | 처음으로 | SWFAction


ming_setcubicthreshold

(PHP 4 >= 4.0.5, PHP 5)

ming_setcubicthreshold -- Set cubic threshold

설명

void ming_setcubicthreshold ( int $threshold )

Sets the threshold error for drawing cubic beziers.

매개변수

threshold

The Threshold. Lower is more accurate, hence larger file size.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ming_keypress | 처음으로 | ming_setscale


ming_setscale

(PHP 4 >= 4.0.5, PHP 5)

ming_setscale -- Set scale

설명

void ming_setscale ( int $scale )

주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ming_setcubicthreshold | 처음으로 | ming_setswfcompression


ming_useswfversion

(PHP 4 >= 4.2.0, PHP 5)

ming_useswfversion -- Sets the SWF version

설명

void ming_useswfversion ( int $version )

주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ming_useconstants | 처음으로 | XC. Miscellaneous Functions


SWFBitmap->getHeight()

(PHP 5)

SWFBitmap->getHeight() -- Returns the bitmap's height

설명

class SWFBitmap {
float getHeight ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the bitmap's height.

반환값

Returns the bitmap height in pixels.

참고

SWFBitmap->getWidth()

이전 | 위로 | 다음
SWFBitmap->__construct() | 처음으로 | SWFBitmap->getWidth()


SWFBitmap->getWidth()

(PHP 5)

SWFBitmap->getWidth() -- Returns the bitmap's width

설명

class SWFBitmap {
float getWidth ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the bitmap's width.

반환값

Returns the bitmap width in pixels.

참고

SWFBitmap->getHeight()

이전 | 위로 | 다음
SWFBitmap->getHeight() | 처음으로 | SWFButton


SWFButton->addAction()

(PHP 5)

SWFButton->addAction() -- Adds an action

설명

class SWFButton {
void addAction ( SWFAction $action, int $flags )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds the given action to the button for the given conditions.

매개변수

action

An SWFAction, returned by SWFAction->__construct().

flags

The following flags are valid: SWFBUTTON_MOUSEOVER, SWFBUTTON_MOUSEOUT, SWFBUTTON_MOUSEUP, SWFBUTTON_MOUSEUPOUTSIDE, SWFBUTTON_MOUSEDOWN, SWFBUTTON_DRAGOUT and SWFBUTTON_DRAGOVER.

반환값

값을 반환하지 않습니다.

참고

SWFButton->addShape()
SWFAction

이전 | 위로 | 다음
SWFButton->__construct() | 처음으로 | SWFButton->addASound()


SWFButton->addShape()

(PHP 5)

SWFButton->addShape() -- Adds a shape to a button

설명

class SWFButton {
void addShape ( SWFShape $shape, int $flags )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds the given shape to the button.

매개변수

shape

An SWFShape instance

flags

The following flags are valid: SWFBUTTON_UP, SWFBUTTON_OVER, SWFBUTTON_DOWN and SWFBUTTON_HIT.

SWFBUTTON_HIT isn't ever displayed, it defines the hit region for the button. That is, everywhere the hit shape would be drawn is considered a "touchable" part of the button.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFButton->addASound() | 처음으로 | SWFButton->setAction()


SWFButton->setAction()

(PHP 5)

SWFButton->setAction() -- Sets the action

설명

class SWFButton {
void setAction ( SWFAction $action )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the action to be performed when the button is clicked.

This is a shortcut for SWFButton->addAction() called with the SWFBUTTON_MOUSEUP flag.

매개변수

action

An SWFAction, returned by SWFAction->__construct().

반환값

값을 반환하지 않습니다.

참고

SWFButton->addAction()
SWFAction

이전 | 위로 | 다음
SWFButton->addShape() | 처음으로 | SWFButton->setDown()


SWFButton->setDown()

(PHP 5)

SWFButton->setDown() -- Alias for addShape(shape, SWFBUTTON_DOWN)

설명

class SWFButton {
void setDown ( SWFShape $shape )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfbutton->setdown() alias for addShape(shape, SWFBUTTON_DOWN).

반환값

값을 반환하지 않습니다.

참고

SWFButton->addShape()
SWFAction

이전 | 위로 | 다음
SWFButton->setAction() | 처음으로 | SWFButton->setHit()


SWFButton->setHit()

(PHP 5)

SWFButton->setHit() -- Alias for addShape(shape, SWFBUTTON_HIT)

설명

class SWFButton {
void setHit ( SWFShape $shape )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfbutton->sethit() alias for addShape(shape, SWFBUTTON_HIT).

반환값

값을 반환하지 않습니다.

참고

SWFButton->addShape()
SWFAction

이전 | 위로 | 다음
SWFButton->setDown() | 처음으로 | SWFButton->setMenu()


SWFButton->setOver()

(PHP 5)

SWFButton->setOver() -- Alias for addShape(shape, SWFBUTTON_OVER)

설명

class SWFButton {
void setOver ( SWFShape $shape )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfbutton->setover() alias for addShape(shape, SWFBUTTON_OVER).

반환값

값을 반환하지 않습니다.

참고

SWFButton->addShape()
SWFAction

이전 | 위로 | 다음
SWFButton->setMenu() | 처음으로 | SWFButton->setUp()


SWFButton->setUp()

(PHP 5)

SWFButton->setUp() -- Alias for addShape(shape, SWFBUTTON_UP)

설명

class SWFButton {
void setUp ( SWFShape $shape )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfbutton->setup() alias for addShape(shape, SWFBUTTON_UP).

반환값

값을 반환하지 않습니다.

참고

SWFButton->addShape()
SWFAction

이전 | 위로 | 다음
SWFButton->setOver() | 처음으로 | SWFDisplayItem


SWFDisplayItem->addColor()

(PHP 5)

SWFDisplayItem->addColor() -- Adds the given color to this item's color transform

설명

class SWFDisplayItem {
void addColor ( int $red, int $green, int $blue [, int $a] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->addcolor() adds the color to this item's color transform. The color is given in its RGB form.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFDisplayItem->addAction() | 처음으로 | SWFDisplayItem->endMask()


SWFDisplayItem->move()

(PHP 5)

SWFDisplayItem->move() -- Moves object in relative coordinates

설명

class SWFDisplayItem {
void move ( int $dx, int $dy )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->move() moves the current object by (dx,dy) from its current position.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFDisplayItem->moveTo()

이전 | 위로 | 다음
SWFDisplayItem->getYSkew() | 처음으로 | SWFDisplayItem->moveTo()


SWFDisplayItem->moveTo()

(PHP 5)

SWFDisplayItem->moveTo() -- Moves object in global coordinates

설명

class SWFDisplayItem {
void moveTo ( int $x, int $y )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->moveto() moves the current object to (x,y) in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFDisplayItem->move()

이전 | 위로 | 다음
SWFDisplayItem->move() | 처음으로 | SWFDisplayItem->multColor()


SWFDisplayItem->multColor()

(PHP 5)

SWFDisplayItem->multColor() -- Multiplies the item's color transform

설명

class SWFDisplayItem {
void multColor ( int $red, int $green, int $blue [, int $a] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->multcolor() multiplies the item's color transform by the given values.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

매개변수

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

반환값

값을 반환하지 않습니다.

예제

This simple example will modify your picture's atmosphere to Halloween (use a landscape or bright picture).

예 1233. swfdisplayitem->multcolor() example

<?php

$b = new SWFBitmap(file_get_contents("backyard.jpg"));
// note use your own picture :-)
$s = new SWFShape();
$s->setRightFill($s->addFill($b));
$s->drawLine($b->getWidth(), 0);
$s->drawLine(0, $b->getHeight());
$s->drawLine(-$b->getWidth(), 0);
$s->drawLine(0, -$b->getHeight());

$m = new SWFMovie();
$m->setDimension($b->getWidth(), $b->getHeight());

$i = $m->add($s);

for ($n=0; $n<=20; ++$n) {
  $i->multColor(1.0-$n/10, 1.0, 1.0);
  $i->addColor(0xff*$n/20, 0, 0);
  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

이전 | 위로 | 다음
SWFDisplayItem->moveTo() | 처음으로 | SWFDisplayItem->remove()


SWFDisplayItem->remove()

(No version information available, might be only in CVS)

SWFDisplayItem->remove() -- Removes the object from the movie

설명

class SWFDisplayItem {
void remove ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->remove() removes this object from the movie's display list.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFMovie->add()

이전 | 위로 | 다음
SWFDisplayItem->multColor() | 처음으로 | SWFDisplayItem->rotate()


SWFDisplayItem->rotate()

(PHP 5)

SWFDisplayItem->rotate() -- Rotates in relative coordinates

설명

class SWFDisplayItem {
void rotate ( float $angle )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->rotate() rotates the current object by angle degrees from its current rotation.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFDisplayItem->rotateTo()

이전 | 위로 | 다음
SWFDisplayItem->remove() | 처음으로 | SWFDisplayItem->rotateTo()


SWFDisplayItem->rotateTo()

(PHP 5)

SWFDisplayItem->rotateTo() -- Rotates the object in global coordinates

설명

class SWFDisplayItem {
void rotateTo ( float $angle )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->rotateto() set the current object rotation to angle degrees in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

예제

This example bring three rotating string from the background to the foreground. Pretty nice.

예 1234. swfdisplayitem->rotateto() example

<?php
$thetext =  "ming!";

$f = new SWFFont("Bauhaus 93.fdb");

$m = new SWFMovie();
$m->setRate(24.0);
$m->setDimension(2400, 1600);
$m->setBackground(0xff, 0xff, 0xff);

// functions with huge numbers of arbitrary
// arguments are always a good idea!  Really!

function text($r, $g, $b, $a, $rot, $x, $y, $scale, $string)
{
  global $f, $m;

  $t = new SWFText();
  $t->setFont($f);
  $t->setColor($r, $g, $b, $a);
  $t->setHeight(960);
  $t->moveTo(-($f->getWidth($string))/2, $f->getAscent()/2);
  $t->addString($string);

  // we can add properties just like a normal PHP var,
  // as long as the names aren't already used.
  // e.g., we can't set $i->scale, because that's a function

  $i = $m->add($t);
  $i->x = $x;
  $i->y = $y;
  $i->rot = $rot;
  $i->s = $scale;
  $i->rotateTo($rot);
  $i->scale($scale, $scale);

  // but the changes are local to the function, so we have to
  // return the changed object.  kinda weird..

  return $i;
}

function step($i)
{
  $oldrot = $i->rot;
  $i->rot = 19*$i->rot/20;
  $i->x = (19*$i->x + 1200)/20;
  $i->y = (19*$i->y + 800)/20;
  $i->s = (19*$i->s + 1.0)/20;

  $i->rotateTo($i->rot);
  $i->scaleTo($i->s, $i->s);
  $i->moveTo($i->x, $i->y);

  return $i;
}

// see?  it sure paid off in legibility:

$i1 = text(0xff, 0x33, 0x33, 0xff, 900, 1200, 800, 0.03, $thetext);
$i2 = text(0x00, 0x33, 0xff, 0x7f, -560, 1200, 800, 0.04, $thetext);
$i3 = text(0xff, 0xff, 0xff, 0x9f, 180, 1200, 800, 0.001, $thetext);

for ($i=1; $i<=100; ++$i) {
  $i1 = step($i1);
  $i2 = step($i2);
  $i3 = step($i3);

  $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

참고

SWFDisplayItem->rotate()

이전 | 위로 | 다음
SWFDisplayItem->rotate() | 처음으로 | SWFDisplayItem->scale()


SWFDisplayItem->scale()

(PHP 5)

SWFDisplayItem->scale() -- Scales the object in relative coordinates

설명

class SWFDisplayItem {
void scale ( int $dx, int $dy )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->scale() scales the current object by (dx,dy) from its current size.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFDisplayItem->scaleTo()

이전 | 위로 | 다음
SWFDisplayItem->rotateTo() | 처음으로 | SWFDisplayItem->scaleTo()


SWFDisplayItem->scaleTo()

(PHP 5)

SWFDisplayItem->scaleTo() -- Scales the object in global coordinates

설명

class SWFDisplayItem {
void scaleTo ( int $x [, int $y] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->scaleto() scales the current object to (x,y) in global coordinates.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFDisplayItem->scale()

이전 | 위로 | 다음
SWFDisplayItem->scale() | 처음으로 | SWFDisplayItem->setDepth()


SWFDisplayItem->setDepth()

(PHP 5)

SWFDisplayItem->setDepth() -- Sets z-order

설명

class SWFDisplayItem {
void setDepth ( float $depth )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->setdepth() sets the object's z-order to depth. Depth defaults to the order in which instances are created (by adding a shape/text to a movie)- newer ones are on top of older ones. If two objects are given the same depth, only the later-defined one can be moved.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFDisplayItem->scaleTo() | 처음으로 | SWFDisplayItem->setMaskLevel()


SWFDisplayItem->setName()

(PHP 5)

SWFDisplayItem->setName() -- Sets the object's name

설명

class SWFDisplayItem {
void setName ( string $name )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->setname() sets the object's name to name, for targetting with action script. Only useful on sprites.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFDisplayItem->setMatrix() | 처음으로 | SWFDisplayItem->setRatio()


SWFDisplayItem->setRatio()

(PHP 5)

SWFDisplayItem->setRatio() -- Sets the object's ratio

설명

class SWFDisplayItem {
void setRatio ( float $ratio )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->setratio() sets the object's ratio to ratio. Obviously only useful for morphs.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

예제

This simple example will morph nicely three concentric circles.

예 1235. swfdisplayitem->setname() example

<?php

$p = new SWFMorph();

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0xff, 0xff);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0xff, 0xff, 0xff);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0xff, 0xff, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape1();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$g = new SWFGradient();
$g->addEntry(0.0, 0, 0, 0);
$g->addEntry(0.16, 0xff, 0, 0);
$g->addEntry(0.32, 0, 0, 0);
$g->addEntry(0.48, 0, 0xff, 0);
$g->addEntry(0.64, 0, 0, 0);
$g->addEntry(0.80, 0, 0, 0xff);
$g->addEntry(1.00, 0, 0, 0);

$s = $p->getShape2();
$f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
$f->scaleTo(0.05);
$f->skewXTo(1.0);
$s->setLeftFill($f);
$s->movePenTo(-160, -120);
$s->drawLine(320, 0);
$s->drawLine(0, 240);
$s->drawLine(-320, 0);
$s->drawLine(0, -240);

$m = new SWFMovie();
$m->setDimension(320, 240);
$i = $m->add($p);
$i->moveTo(160, 120);

for ($n=0; $n<=1.001; $n+=0.01) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

이전 | 위로 | 다음
SWFDisplayItem->setName() | 처음으로 | SWFDisplayItem->skewX()


SWFDisplayItem->skewX()

(PHP 5)

SWFDisplayItem->skewX() -- Sets the X-skew

설명

class SWFDisplayItem {
void skewX ( float $ddegrees )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->skewx() adds ddegrees to current x-skew.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFDisplayItem->skewXTo()
SWFDisplayItem->skewY()
SWFDisplayItem->skewYTo()

이전 | 위로 | 다음
SWFDisplayItem->setRatio() | 처음으로 | SWFDisplayItem->skewXTo()


SWFDisplayItem->skewXTo()

(PHP 5)

SWFDisplayItem->skewXTo() -- Sets the X-skew

설명

class SWFDisplayItem {
void skewXTo ( float $degrees )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->skewxto() sets the x-skew to degrees. For degrees is 1.0, it means a 45-degree forward slant. More is more forward, less is more backward.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFDisplayItem->skewX()
SWFDisplayItem->skewY()
SWFDisplayItem->skewYTo()

이전 | 위로 | 다음
SWFDisplayItem->skewX() | 처음으로 | SWFDisplayItem->skewY()


SWFDisplayItem->skewY()

(PHP 5)

SWFDisplayItem->skewY() -- Sets the Y-skew

설명

class SWFDisplayItem {
void skewY ( float $ddegrees )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->skewy() adds ddegrees to current y-skew.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFDisplayItem->skewYTo()
SWFDisplayItem->skewX()
SWFDisplayItem->skewXTo()

이전 | 위로 | 다음
SWFDisplayItem->skewXTo() | 처음으로 | SWFDisplayItem->skewYTo()


SWFDisplayItem->skewYTo()

(PHP 5)

SWFDisplayItem->skewYTo() -- Sets the Y-skew

설명

class SWFDisplayItem {
void skewYTo ( float $degrees )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfdisplayitem->skewyto() sets the y-skew to degrees. For degrees is 1.0, it means a 45-degree forward slant. More is more upward, less is more downward.

The object may be a swfshape(), a swfbutton(), a swftext() or a swfsprite() object. It must have been added using the swfmovie->add().

반환값

값을 반환하지 않습니다.

참고

SWFDisplayItem->skewY()
SWFDisplayItem->skewX()
SWFDisplayItem->skewXTo()

이전 | 위로 | 다음
SWFDisplayItem->skewY() | 처음으로 | SWFFill


SWFFill->moveTo()

(PHP 5)

SWFFill->moveTo() -- Moves fill origin

설명

class SWFFill {
void moveTo ( int $x, int $y )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Moves the fill origin to the given global coordinates.

매개변수

x

X-coordinate

y

Y-coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFFill | 처음으로 | SWFFill->rotateTo()


SWFFill->rotateTo()

(PHP 5)

SWFFill->rotateTo() -- Sets fill's rotation

설명

class SWFFill {
void rotateTo ( float $angle )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the fill rotation to the given angle.

매개변수

angle

The rotation angle, in degreess.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFFill->moveTo() | 처음으로 | SWFFill->scaleTo()


SWFFill->scaleTo()

(PHP 5)

SWFFill->scaleTo() -- Sets fill's scale

설명

class SWFFill {
void scaleTo ( int $x [, int $y] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the fill scale to the given coordinates.

매개변수

x

X-coordinate

y

Y-coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFFill->rotateTo() | 처음으로 | SWFFill->skewXTo()


SWFFill->skewXTo()

(PHP 5)

SWFFill->skewXTo() -- Sets fill x-skew

설명

class SWFFill {
void skewXTo ( float $x )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the fill x-skew to x.

매개변수

x

When x is 1.0, it is a 45-degree forward slant. More is more forward, less is more backward.

반환값

값을 반환하지 않습니다.

참고

SWFFill->skewYTo()

이전 | 위로 | 다음
SWFFill->scaleTo() | 처음으로 | SWFFill->skewYTo()


SWFFill->skewYTo()

(PHP 5)

SWFFill->skewYTo() -- Sets fill y-skew

설명

class SWFFill {
void skewYTo ( float $y )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the fill y-skew to y.

매개변수

y

When y is 1.0, it is a 45-degree upward slant. More is more upward, less is more downward.

반환값

값을 반환하지 않습니다.

참고

SWFFill->skewXTo()

이전 | 위로 | 다음
SWFFill->skewXTo() | 처음으로 | SWFFont


SWFFont->getWidth()

(PHP 5)

SWFFont->getWidth() -- Returns the string's width

설명

class SWFFont {
float getWidth ( string $string )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swffont->getwidth() returns the string string's width, using font's default scaling. You'll probably want to use the swftext() version of this method which uses the text object's scale.

참고

SWFFont->getUTF8Width()

이전 | 위로 | 다음
SWFFont->getUTF8Width() | 처음으로 | SWFFontChar


SWFGradient->addEntry()

(PHP 5)

SWFGradient->addEntry() -- Adds an entry to the gradient list

설명

class SWFGradient {
void addEntry ( float $ratio, int $red, int $green, int $blue [, int $a] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfgradient->addentry() adds an entry to the gradient list. ratio is a number between 0 and 1 indicating where in the gradient this color appears. Thou shalt add entries in order of increasing ratio.

red, green, blue is a color (RGB mode). Last parameter a is optional.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFGradient->__construct() | 처음으로 | SWFMorph


SWFMorph->getShape1()

(PHP 5)

SWFMorph->getShape1() -- Gets a handle to the starting shape

설명

class SWFMorph {
SWFShape getShape1 ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the morph's starting shape.

반환값

Returns a SWFShape object.

참고

SWFMorph->getShape2()

이전 | 위로 | 다음
SWFMorph->__construct() | 처음으로 | SWFMorph->getShape2()


SWFMorph->getShape2()

(PHP 5)

SWFMorph->getShape2() -- Gets a handle to the ending shape

설명

class SWFMorph {
SWFShape getShape2 ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the morph's ending shape.

반환값

Returns a SWFShape object.

참고

SWFMorph->getShape1()

이전 | 위로 | 다음
SWFMorph->getShape1() | 처음으로 | SWFMovie


SWFMovie->add()

(PHP 5)

SWFMovie->add() -- Adds any type of data to a movie

설명

class SWFMovie {
mixed add ( object $instance )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds an SWF object instance to the current movie.

매개변수

instance

Any type of object instance, like SWFShape, SWFText, SWFFont.

반환값

For displayable types (shape, text, button, sprite), this returns an SWFDisplayItem, a handle to the object in a display list. Thus, you can add the same shape to a movie multiple times and get separate handles back for each separate instance.

참고

SWFMovie->remove()

이전 | 위로 | 다음
SWFMovie->__construct() | 처음으로 | SWFMovie->addExport()


SWFMovie->nextFrame()

(PHP 5)

SWFMovie->nextFrame() -- Moves to the next frame of the animation

설명

class SWFMovie {
void nextFrame ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Moves to the next frame of the animation.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFMovie->labelFrame() | 처음으로 | SWFMovie->output()


SWFMovie->output()

(PHP 5)

SWFMovie->output() -- Dumps your lovingly prepared movie out

설명

class SWFMovie {
int output ( [int $compression] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Dumps the SWFMovie.

Don't forget to send the Content-Type HTTP header file before using this function, in order to display the movie in a browser.

매개변수

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

반환값

Return the number of bytes written or FALSE on error.

예제

예 1238. Displaying your $movie in a browser

<?php
header('Content-type: application/x-shockwave-flash');
$movie->output();
?>

참고

SWFMovie->save()
SWFMovie->saveToFile()

이전 | 위로 | 다음
SWFMovie->nextFrame() | 처음으로 | SWFMovie->remove()


SWFMovie->remove()

(PHP 5 >= 5.2.1)

SWFMovie->remove() -- Removes the object instance from the display list

설명

class SWFMovie {
void remove ( object $instance )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Removes the given object instance from the display list.

반환값

값을 반환하지 않습니다.

참고

SWFMovie->add()

이전 | 위로 | 다음
SWFMovie->output() | 처음으로 | SWFMovie->save()


SWFMovie->save()

(PHP 5)

SWFMovie->save() -- Saves the SWF movie in a file

설명

class SWFMovie {
int save ( string $filename [, int $compression] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Saves the SWF movie to the specified filename.

매개변수

filename

The path to the saved SWF document.

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

반환값

Return the number of bytes written or FALSE on error.

참고

SWFMovie->output()
SWFMovie->saveToFile()

이전 | 위로 | 다음
SWFMovie->remove() | 처음으로 | SWFMovie->saveToFile()


SWFMovie->setbackground()

(PHP 5)

SWFMovie->setbackground() -- Sets the background color

설명

class SWFMovie {
void setbackground ( int $red, int $green, int $blue )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the background color.

Why is there no rgba version? Think about it, you might want to let the HTML background show through. There's a way to do that, but it only works on IE4. Search the » http://www.macromedia.com/ site for details.

매개변수

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFMovie->saveToFile() | 처음으로 | SWFMovie->setDimension()


SWFMovie->setDimension()

(PHP 5)

SWFMovie->setDimension() -- Sets the movie's width and height

설명

class SWFMovie {
void setDimension ( int $width, int $height )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the movie's dimension to the specified width and height.

매개변수

width

The movie width.

height

The movie height.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFMovie->setbackground() | 처음으로 | SWFMovie->setFrames()


SWFMovie->setFrames()

(PHP 5)

SWFMovie->setFrames() -- Sets the total number of frames in the animation

설명

class SWFMovie {
void setFrames ( int $number )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the total number of frames in the animation to the given number.

매개변수

number

The number of frames.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFMovie->setDimension() | 처음으로 | SWFMovie->setRate()


SWFMovie->setRate()

(PHP 5)

SWFMovie->setRate() -- Sets the animation's frame rate

설명

class SWFMovie {
void setRate ( int $rate )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the frame rate to the specified rate.

Animation will slow down if the player can't render frames fast enough- unless there's a streaming sound, in which case display frames are sacrificed to keep sound from skipping.

매개변수

rate

The frame rate, in frame per seconds.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFMovie->setFrames() | 처음으로 | SWFMovie->startSound()


SWFMovie->streamMP3()

(PHP 5)

SWFMovie->streamMP3() -- Streams a MP3 file

설명

class SWFMovie {
int streamMP3 ( mixed $mp3file [, float $skip] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Streams the given MP3 file mp3file.

This method is not very robust in dealing with oddities (can skip over an initial ID3 tag, but that's about it).

Note that the movie isn't smart enough to put enough frames in to contain the entire mp3 stream- you'll have to add (length of song * frames per second) frames to get the entire stream in.

매개변수

mp3file

Can be a file pointer returned by fopen() or the MP3 data, as a binary string.

skip

Number of seconds to skip.

반환값

Return number of frames.

변경 기록

버전 | 설명
5.2.0 | skip added

예제

예 1239. Streaming example

<?php
$m = new SWFMovie();
$m->setRate(12.0);
$m->streamMp3(file_get_contents("distortobass.mp3"));
// use your own MP3

// The file is 11.85 seconds at 12.0 fps = 142 frames
$m->setFrames(142);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

이전 | 위로 | 다음
SWFMovie->stopSound() | 처음으로 | SWFMovie->writeExports()


SWFShape->addFill()

(PHP 5)

SWFShape->addFill() -- Adds a solid fill to the shape

설명

class SWFShape {
SWFFill addFill ( int $red, int $green, int $blue [, int $a] )
SWFFill addFill ( SWFBitmap $bitmap [, int $flags] )
SWFFill addFill ( SWFGradient $gradient [, int $flags] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

SWFShape->addFill() adds a solid fill to the shape's list of fill styles. SWFShape->addFill() accepts three different types of arguments.

red, green, blue is a color (RGB mode). Last parameter a is optional.

The bitmap argument is an SWFBitmap() object. The flags argument can be one of the following values: SWFFILL_CLIPPED_BITMAP, SWFFILL_TILED_BITMAP, SWFFILL_LINEAR_GRADIENT or SWFFILL_RADIAL_GRADIENT. Default is SWFFILL_TILED_BITMAP for SWFBitmap and SWFFILL_LINEAR_GRADIENT for SWFGradient.

The gradient argument is an SWFGradient() object. The flags argument can be one of the following values : SWFFILL_RADIAL_GRADIENT or SWFFILL_LINEAR_GRADIENT. Default is SWFFILL_LINEAR_GRADIENT. I'm sure about this one. Really.

SWFShape->addFill() returns an SWFFill()
object for use with the SWFShape->setLeftFill()
and SWFShape->setRightFill() functions
described below.

예제

This simple example will draw a frame on a bitmap. Ah, here's another buglet in the flash player- it doesn't seem to care about the second shape's bitmap's transformation in a morph. According to spec, the bitmap should stretch along with the shape in this example..

예 1241. SWFShape->addFill() example

<?php

$p = new SWFMorph();

$b = new SWFBitmap(file_get_contents("alphafill.jpg"));
// use your own bitmap
$width = $b->getWidth();
$height = $b->getHeight();

$s = $p->getShape1();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);
$f->moveTo(-$width/2, -$height/4);
$f->scaleTo(1.0, 0.5);
$s->setLeftFill($f);
$s->movePenTo(-$width/2, -$height/4);
$s->drawLine($width, 0);
$s->drawLine(0, $height/2);
$s->drawLine(-$width, 0);
$s->drawLine(0, -$height/2);

$s = $p->getShape2();
$f = $s->addFill($b, SWFFILL_TILED_BITMAP);

// these two have no effect!
$f->moveTo(-$width/4, -$height/2);
$f->scaleTo(0.5, 1.0);

$s->setLeftFill($f);
$s->movePenTo(-$width/4, -$height/2);
$s->drawLine($width/2, 0);
$s->drawLine(0, $height);
$s->drawLine(-$width/2, 0);
$s->drawLine(0, -$height);

$m = new SWFMovie();
$m->setDimension($width, $height);
$i = $m->add($p);
$i->moveTo($width/2, $height/2);

for ($n=0; $n<1.001; $n+=0.03) {
    $i->setRatio($n);
    $m->nextFrame();
}

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

참고

SWFShape->setLeftFill()
SWFShape->setRightFill()

이전 | 위로 | 다음
SWFShape->__construct() | 처음으로 | SWFShape->drawArc()


SWFShape->drawCurve()

(PHP 5)

SWFShape->drawCurve() -- Draws a curve (relative)

설명

class SWFShape {
int drawCurve ( int $controldx, int $controldy, int $anchordx, int $anchordy [, int $targetdx, int $targetdy] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfshape->drawcurve() draws a quadratic curve (using the current line style,set by swfshape->setline()) from the current pen position to the relative position (anchorx,anchory) using relative control point (controlx,controly). That is, head towards the control point, then smoothly turn to the anchor point.

With 6 parameters, it draws a cubic bezier to point (x+targetdx, x+targetdy) with control points (x+controldx, y+controldy) and (x+anchordx, y+anchordy).

참고

SWFShape->drawCurve()

이전 | 위로 | 다음
SWFShape->drawCubicTo() | 처음으로 | SWFShape->drawCurveTo()


SWFShape->drawCurveTo()

(PHP 5)

SWFShape->drawCurveTo() -- Draws a curve

설명

class SWFShape {
int drawCurveTo ( int $controlx, int $controly, int $anchorx, int $anchory [, int $targetx, int $targety] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfshape->drawcurveto() draws a quadratic curve (using the current line style, set by swfshape->setline()) from the current pen position to (anchorx,anchory) using (controlx,controly) as a control point. That is, head towards the control point, then smoothly turn to the anchor point.

With 6 parameters, it draws a cubic bezier to point (targetx, targety) with control points (controlx, controly) and (anchorx, anchory).

참고

SWFShape->drawCurveTo()

이전 | 위로 | 다음
SWFShape->drawCurve() | 처음으로 | SWFShape->drawGlyph()


SWFShape->drawLine()

(PHP 5)

SWFShape->drawLine() -- Draws a line (relative)

설명

class SWFShape {
void drawLine ( int $dx, int $dy )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfshape->drawline() draws a line (using the current line style set by swfshape->setline()) from the current pen position to displacement (dx,dy).

반환값

값을 반환하지 않습니다.

참고

SWFShape->drawLineTo()

이전 | 위로 | 다음
SWFShape->drawGlyph() | 처음으로 | SWFShape->drawLineTo()


SWFShape->drawLineTo()

(PHP 5)

SWFShape->drawLineTo() -- Draws a line

설명

class SWFShape {
void drawLineTo ( int $x, int $y )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfshape->setrightfill() draws a line (using the current line style, set by swfshape->setline()) from the current pen position to point (x,y) in the shape's coordinate space.

반환값

값을 반환하지 않습니다.

참고

SWFShape->drawLine()

이전 | 위로 | 다음
SWFShape->drawLine() | 처음으로 | SWFShape->movePen()


SWFShape->movePen()

(PHP 5)

SWFShape->movePen() -- Moves the shape's pen (relative)

설명

class SWFShape {
void movePen ( int $dx, int $dy )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfshape->setrightfill() move the shape's pen from coordinates (current x,current y) to (current x + dx, current y + dy) in the shape's coordinate space.

반환값

값을 반환하지 않습니다.

참고

SWFShape->movePenTo()

이전 | 위로 | 다음
SWFShape->drawLineTo() | 처음으로 | SWFShape->movePenTo()


SWFShape->movePenTo()

(PHP 5)

SWFShape->movePenTo() -- Moves the shape's pen

설명

class SWFShape {
void movePenTo ( int $x, int $y )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfshape->setrightfill() move the shape's pen to (x,y) in the shape's coordinate space.

반환값

값을 반환하지 않습니다.

참고

SWFShape->movePen()

이전 | 위로 | 다음
SWFShape->movePen() | 처음으로 | SWFShape->setLeftFill()


SWFShape->setLeftFill()

(PHP 5)

SWFShape->setLeftFill() -- Sets left rasterizing color

설명

class SWFShape {
void setLeftFill ( SWFGradient $fill )
void setLeftFill ( int $red, int $green, int $blue [, int $a] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

What this nonsense is about is, every edge segment borders at most two fills. When rasterizing the object, it's pretty handy to know what those fills are ahead of time, so the swf format requires these to be specified.

swfshape->setleftfill() sets the fill on the left side of the edge- that is, on the interior if you're defining the outline of the shape in a counter-clockwise fashion. The fill object is an SWFFill object returned from one of the addFill functions above.

This seems to be reversed when you're defining a shape in a morph, though. If your browser crashes, just try setting the fill on the other side.

Shortcut for swfshape->setleftfill($s->addfill($r, $g, $b [, $a]));.

반환값

값을 반환하지 않습니다.

참고

SWFShape->setRightFill()

이전 | 위로 | 다음
SWFShape->movePenTo() | 처음으로 | SWFShape->setLine()


SWFShape->setLine()

(PHP 5)

SWFShape->setLine() -- Sets the shape's line style

설명

class SWFShape {
void setLine ( SWFShape $shape )
void setLine ( int $width, int $red, int $green, int $blue [, int $a] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfshape->setline() sets the shape's line style. width is the line's width. If width is 0, the line's style is removed (then, all other arguments are ignored). If width > 0, then line's color is set to red, green, blue. Last parameter a is optional.

You must declare all line styles before you use them (see example).

반환값

값을 반환하지 않습니다.

예제

This simple example will draw a big "!#%*@", in funny colors and gracious style.

예 1242. swfshape->setline() example

<?php
$s = new SWFShape();
$f1 = $s->addFill(0xff, 0, 0);
$f2 = $s->addFill(0xff, 0x7f, 0);
$f3 = $s->addFill(0xff, 0xff, 0);
$f4 = $s->addFill(0, 0xff, 0);
$f5 = $s->addFill(0, 0, 0xff);

// bug: have to declare all line styles before you use them
$s->setLine(40, 0x7f, 0, 0);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->setLine(40, 0, 0x7f, 0);
$s->setLine(40, 0, 0, 0x7f);

$f = new SWFFont('Techno.fdb');

$s->setRightFill($f1);
$s->setLine(40, 0x7f, 0, 0);
$s->drawGlyph($f, '!');
$s->movePen($f->getWidth('!'), 0);

$s->setRightFill($f2);
$s->setLine(40, 0x7f, 0x3f, 0);
$s->drawGlyph($f, '#');
$s->movePen($f->getWidth('#'), 0);

$s->setRightFill($f3);
$s->setLine(40, 0x7f, 0x7f, 0);
$s->drawGlyph($f, '%');
$s->movePen($f->getWidth('%'), 0);

$s->setRightFill($f4);
$s->setLine(40, 0, 0x7f, 0);
$s->drawGlyph($f, '*');
$s->movePen($f->getWidth('*'), 0);

$s->setRightFill($f5);
$s->setLine(40, 0, 0, 0x7f);
$s->drawGlyph($f, '@');

$m = new SWFMovie();
$m->setDimension(3000,2000);
$m->setRate(12.0);
$i = $m->add($s);
$i->moveTo(1500-$f->getWidth("!#%*@")/2, 1000+$f->getAscent()/2);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFShape->setLeftFill() | 처음으로 | SWFShape->setRightFill()


SWFShape->setRightFill()

(No version information available, might be only in CVS)

SWFShape->setRightFill() -- Sets right rasterizing color

설명

class SWFShape {
void setRightFill ( SWFGradient $fill )
void setRightFill ( int $red, int $green, int $blue [, int $a] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Shortcut for swfshape->setrightfill($s->addfill($r, $g, $b [, $a]));.

반환값

값을 반환하지 않습니다.

참고

SWFShape->setLeftFill()

이전 | 위로 | 다음
SWFShape->setLine() | 처음으로 | SWFSound


SWFSprite->add()

(PHP 5)

SWFSprite->add() -- Adds an object to a sprite

설명

class SWFSprite {
void add ( object $object )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfsprite->add() adds a swfshape(), a
swfbutton(), a swftext(),
a swfaction() or a swfsprite() object.

For displayable types (swfshape(),
swfbutton(), swftext(),
swfaction() or swfsprite()),
this returns a handle  to the object in a display list.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFSprite->__construct() | 처음으로 | SWFSprite->labelFrame()


SWFSprite->nextFrame()

(PHP 5)

SWFSprite->nextFrame() -- Moves to the next frame of the animation

설명

class SWFSprite {
void nextFrame ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfsprite->setframes() moves to the next frame of the animation.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFSprite->labelFrame() | 처음으로 | SWFSprite->remove()


SWFSprite->remove()

(PHP 5)

SWFSprite->remove() -- Removes an object to a sprite

설명

class SWFSprite {
void remove ( object $object )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfsprite->remove() remove a swfshape(), a
swfbutton(), a swftext(),
a swfaction() or a swfsprite() object
from the sprite.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFSprite->nextFrame() | 처음으로 | SWFSprite->setFrames()


SWFSprite->setFrames()

(PHP 5)

SWFSprite->setFrames() -- Sets the total number of frames in the animation

설명

class SWFSprite {
void setFrames ( int $number )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfsprite->setframes() sets the total number of frames in the animation to numberofframes.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFSprite->remove() | 처음으로 | SWFSprite->startSound()


SWFText->addString()

(PHP 5)

SWFText->addString() -- Draws a string

설명

class SWFText {
void addString ( string $string )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftext->addstring() draws the string string at the current pen (cursor) location. Pen is at the baseline of the text; i.e., ascending text is in the -y direction.

반환값

값을 반환하지 않습니다.

참고

SWFText->addUTF8String()

이전 | 위로 | 다음
SWFText->__construct() | 처음으로 | SWFText->addUTF8String()


SWFText->getWidth()

(PHP 5)

SWFText->getWidth() -- Computes string's width

설명

class SWFText {
float getWidth ( string $string )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the rendered width of the string at the text object's current font, scale, and spacing settings.

참고

SWFText->getUTF8Width()

이전 | 위로 | 다음
SWFText->getUTF8Width() | 처음으로 | SWFText->moveTo()


SWFText->moveTo()

(PHP 5)

SWFText->moveTo() -- Moves the pen

설명

class SWFText {
void moveTo ( int $x, int $y )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftext->moveto() moves the pen (or cursor, if that makes more sense) to (x,y) in text object's coordinate space. If either is zero, though, value in that dimension stays the same. Annoying, should be fixed.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFText->getWidth() | 처음으로 | SWFText->setColor()


SWFText->setColor()

(PHP 5)

SWFText->setColor() -- Sets the current text color

설명

class SWFText {
void setColor ( int $red, int $green, int $blue [, int $a] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Changes the current text color.

매개변수

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFText->moveTo() | 처음으로 | SWFText->setFont()


SWFText->setFont()

(PHP 5)

SWFText->setFont() -- Sets the current font

설명

class SWFText {
void setFont ( string $font )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftext->setfont() sets the current font to font.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFText->setColor() | 처음으로 | SWFText->setHeight()


SWFText->setHeight()

(PHP 5)

SWFText->setHeight() -- Sets the current font height

설명

class SWFText {
void setHeight ( int $height )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftext->setheight() sets the current font height to height. Default is 240.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFText->setFont() | 처음으로 | SWFText->setSpacing()


SWFText->setSpacing()

(PHP 5)

SWFText->setSpacing() -- Sets the current font spacing

설명

class SWFText {
void setSpacing ( float $spacing )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftext->setspacing() sets the current font spacing to spacing. Default is 1.0. 0 is all of the letters written at the same point. This doesn't really work that well because it inflates the advance across the letter, doesn't add the same amount of spacing between the letters. I should try and explain that better, prolly. Or just fix the damn thing to do constant spacing. This was really just a way to figure out how letter advances work, anyway.. So nyah.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFText->setHeight() | 처음으로 | SWFTextField


SWFTextField->addString()

(PHP 5)

SWFTextField->addString() -- Concatenates the given string to the text field

설명

class SWFTextField {
void addString ( string $string )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setname() concatenates the string string to the text field.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->addChars() | 처음으로 | SWFTextField->align()


SWFTextField->align()

(PHP 5)

SWFTextField->align() -- Sets the text field alignment

설명

class SWFTextField {
void align ( int $alignement )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->align() sets the text field alignment to alignement. Valid values for alignement are : SWFTEXTFIELD_ALIGN_LEFT, SWFTEXTFIELD_ALIGN_RIGHT, SWFTEXTFIELD_ALIGN_CENTER and SWFTEXTFIELD_ALIGN_JUSTIFY.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->addString() | 처음으로 | SWFTextField->setBounds()


SWFTextField->setBounds()

(PHP 5)

SWFTextField->setBounds() -- Sets the text field width and height

설명

class SWFTextField {
void setBounds ( int $width, int $height )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setbounds() sets the text field width to width and height to height. If you don't set the bounds yourself, Ming makes a poor guess at what the bounds are.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->align() | 처음으로 | SWFTextField->setColor()


SWFTextField->setColor()

(PHP 5)

SWFTextField->setColor() -- Sets the color of the text field

설명

class SWFTextField {
void setColor ( int $red, int $green, int $blue [, int $a] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setcolor() sets the color of the text field. Default is fully opaque black. Color is represented using RGB system.

매개변수

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF:

red

Value of red component

green

Value of green component

blue

Value of blue component

a

Value of alpha component

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setBounds() | 처음으로 | SWFTextField->setFont()


SWFTextField->setFont()

(PHP 5)

SWFTextField->setFont() -- Sets the text field font

설명

class SWFTextField {
void setFont ( string $font )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setfont() sets the text field font to the [browser-defined?] font font.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setColor() | 처음으로 | SWFTextField->setHeight()


SWFTextField->setHeight()

(PHP 5)

SWFTextField->setHeight() -- Sets the font height of this text field font

설명

class SWFTextField {
void setHeight ( int $height )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setheight() sets the font height of this text field font to the given height height. Default is 240.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setFont() | 처음으로 | SWFTextField->setIndentation()


SWFTextField->setIndentation()

(PHP 5)

SWFTextField->setIndentation() -- Sets the indentation of the first line

설명

class SWFTextField {
void setIndentation ( int $width )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setindentation() sets the indentation of the first line in the text field, to width.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setHeight() | 처음으로 | SWFTextField->setLeftMargin()


SWFTextField->setLeftMargin()

(PHP 5)

SWFTextField->setLeftMargin() -- Sets the left margin width of the text field

설명

class SWFTextField {
void setLeftMargin ( int $width )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setleftmargin() sets the left margin width of the text field to width. Default is 0.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setIndentation() | 처음으로 | SWFTextField->setLineSpacing()


SWFTextField->setLineSpacing()

(PHP 5)

SWFTextField->setLineSpacing() -- Sets the line spacing of the text field

설명

class SWFTextField {
void setLineSpacing ( int $height )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setlinespacing() sets the line spacing of the text field to the height of height. Default is 40.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setLeftMargin() | 처음으로 | SWFTextField->setMargins()


SWFTextField->setMargins()

(PHP 5)

SWFTextField->setMargins() -- Sets the margins width of the text field

설명

class SWFTextField {
void setMargins ( int $left, int $right )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setmargins() set both margins at once, for the man on the go.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setLineSpacing() | 처음으로 | SWFTextField->setName()


SWFTextField->setName()

(PHP 5)

SWFTextField->setName() -- Sets the variable name

설명

class SWFTextField {
void setName ( string $name )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setname() sets the variable name of this text field to name, for form posting and action scripting purposes.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setMargins() | 처음으로 | SWFTextField->setPadding()


SWFTextField->setRightMargin()

(PHP 5)

SWFTextField->setRightMargin() -- Sets the right margin width of the text field

설명

class SWFTextField {
void setRightMargin ( int $width )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield->setrightmargin() sets the right margin width of the text field to width. Default is 0.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setPadding() | 처음으로 | SWFVideoStream


Miscellaneous Functions

이전 VI. 함수 레퍼런스 다음

XC. Miscellaneous Functions

소개

These functions were placed here because none of the other categories seemed to fit.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 168. Misc. Configuration Options

Name | Default | Changeable | Changelog
ignore_user_abort | "0" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Removed in PHP 6.0.0.
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

ignore_user_abort boolean

FALSE by default. If changed to TRUE scripts will not be terminated after a client has aborted their connection.

See also ignore_user_abort().

highlight.bg string , highlight.comment string , highlight.default string , highlight.html string , highlight.keyword string , highlight.string string

Colors for Syntax Highlighting mode. Anything that's acceptable in <font color="??????"> would work.

browscap string

Name (e.g.: browscap.ini) and location of browser capabilities file. See also get_browser().

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

CONNECTION_ABORTED (integer)
CONNECTION_NORMAL (integer)
CONNECTION_TIMEOUT (integer)
__COMPILER_HALT_OFFSET__ (integer)
Added in PHP 5.1.

차례

connection_aborted -- Check whether client disconnected
connection_status -- Returns connection status bitfield
connection_timeout -- Check if the script timed out
constant -- Returns the value of a constant
define -- Defines a named constant
defined -- Checks whether a given named constant exists
die -- Equivalent to exit()
eval -- Evaluate a string as PHP code
exit -- Output a message and terminate the current script
get_browser -- Tells what the user's browser is capable of
__halt_compiler -- Halts the compiler execution
highlight_file -- Syntax highlighting of a file
highlight_string -- Syntax highlighting of a string
ignore_user_abort -- Set whether a client disconnect should abort script execution
pack -- Pack data into binary string
php_check_syntax -- Check the PHP syntax of (and execute) the specified file
php_strip_whitespace -- Return source with stripped comments and whitespace
show_source -- Alias of highlight_file()
sleep -- Delay execution
sys_getloadavg -- Gets system load average
time_nanosleep -- Delay for a number of seconds and nanoseconds
time_sleep_until -- Make the script sleep until the specified time
uniqid -- Generate a unique ID
unpack -- Unpack data from binary string
usleep -- Delay execution in microseconds
이전 | 위로 | 다음
ming_useswfversion | 처음으로 | connection_aborted


connection_aborted

(PHP 4, PHP 5)

connection_aborted -- Check whether client disconnected

설명

int connection_aborted ( void )

Checks whether the client disconnected.

반환값

Returns 1 if client disconnected, 0 otherwise.

참고

connection_status()
ignore_user_abort()
Connection Handling for a complete description of connection handling in PHP.

이전 | 위로 | 다음
XC. Miscellaneous Functions | 처음으로 | connection_status


connection_status

(PHP 4, PHP 5)

connection_status -- Returns connection status bitfield

설명

int connection_status ( void )

Gets the connection status bitfield.

반환값

Returns the connection status bitfield, which can be used against the CONNECTION_XXX constants to determine the connection status.

참고

connection_aborted()
ignore_user_abort()
Connection Handling for a complete description of connection handling in PHP.

이전 | 위로 | 다음
connection_aborted | 처음으로 | connection_timeout


connection_timeout

(PHP 4 <= 4.0.4)

connection_timeout -- Check if the script timed out

설명

int connection_timeout ( void )

Determines whether the script timed out.

반환값

Returns 1 if the script timed out, 0 otherwise.

주의

Deprecated

This function is deprecated, and doesn't even exist anymore as of 4.0.5.

참고

connection_status()
Connection Handling for a complete description of connection handling in PHP.

이전 | 위로 | 다음
connection_status | 처음으로 | constant


constant

(PHP 4 >= 4.0.4, PHP 5)

constant -- Returns the value of a constant

설명

mixed constant ( string $name )

Return the value of the constant indicated by name.

constant() is useful if you need to retrieve the value of a constant, but do not know its name. I.e. it is stored in a variable or returned by a function.

This function works also with class constants.

매개변수

name

The constant name.

반환값

Returns the value of the constant, or NULL if the constant is not defined.

예제

예 1245. constant() example

<?php

define("MAXSIZE", 100);

echo MAXSIZE;
echo constant("MAXSIZE"); // same thing as the previous line

?>

참고

define()
defined()
The section on Constants

이전 | 위로 | 다음
connection_timeout | 처음으로 | define


define

(PHP 4, PHP 5)

define -- Defines a named constant

설명

bool define ( string $name, mixed $value [, bool $case_insensitive] )

Defines a named constant at runtime.

매개변수

name

The name of the constant.

value

The value of the constant; only scalar and null values are allowed. Scalar values are integer, float, string or boolean values.

case_insensitive

If set to TRUE, the constant will be defined case-insensitive. The default behaviour is case-sensitive; i.e. CONSTANT and Constant represent different values.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1246. Defining Constants

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.

define("GREETING", "Hello you.", true);
echo GREETING; // outputs "Hello you."
echo Greeting; // outputs "Hello you."

?>

참고

defined()
constant()
The section on Constants

이전 | 위로 | 다음
constant | 처음으로 | defined


defined

(PHP 4, PHP 5)

defined -- Checks whether a given named constant exists

설명

bool defined ( string $name )

Checks whether the given constant exists and is defined.

참고: If you want to see if a variable exists, use isset() as defined() only applies to constants. If you want to see if a function exists, use function_exists().

매개변수

name

The constant name.

반환값

Returns TRUE if the named constant given by name has been defined, FALSE otherwise.

예제

예 1247. Checking Constants

<?php
/* Note the use of quotes, this is important.  This example is checking
 * if the string 'CONSTANT' is the name of a constant named CONSTANT */
if (defined('CONSTANT')) {
    echo CONSTANT;
}
?>

참고

define()
constant()
get_defined_constants()
function_exists()
The section on Constants

이전 | 위로 | 다음
define | 처음으로 | die


die

(PHP 4, PHP 5)

die -- Equivalent to exit()

설명

This language construct is equivalent to exit().

이전 | 위로 | 다음
defined | 처음으로 | eval


eval

(PHP 4, PHP 5)

eval -- Evaluate a string as PHP code

설명

mixed eval ( string $code_str )

Evaluates the string given in code_str as PHP code. Among other things, this can be useful for storing code in a database text field for later execution.

There are some factors to keep in mind when using eval(). Remember that the string passed must be valid PHP code, including things like terminating statements with a semicolon so the parser doesn't die on the line after the eval(), and properly escaping things in code_str. To mix HTML output and PHP code you can use a closing PHP tag to leave PHP mode.

Also remember that variables given values under eval() will retain these values in the main script afterwards.

매개변수

code_str

The code string to be evaluated. code_str does not have to contain PHP Opening tags.

A return statement will immediately terminate the evaluation of the string .

반환값

As of PHP 4, eval() returns NULL unless return is called in the evaluated code, in which case the value passed to return is returned. If there is a parse error in the evaluated code, eval() returns FALSE and execution of the following code continues normally. It is not possible to catch a parse error in eval() using set_error_handler().

예제

예 1248. eval() example - simple text merge

<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>

위 예제의 출력:

This is a $string with my $name in it.
This is a cup with my coffee in it.

주의

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

작은 정보

어떠한 결과가 브라우저로 직접 출력될 때, 출력 제어 함수를 이용해서 이 함수의 출력을 잡아내고, (예를 들면) string으로 저장할 수 있습니다.

참고: In case of a fatal error in the evaluated code, the whole script exits.

참고

call_user_func()

이전 | 위로 | 다음
die | 처음으로 | exit


exit

(PHP 4, PHP 5)

exit -- Output a message and terminate the current script

설명

void exit ( [string $status] )
void exit ( int $status )

Terminates execution of the script.

매개변수

status

If status is a string, this function prints the status just before exiting.

If status is an integer, that value will also be used as the exit status. Exit statuses should be in the range 0 to 254, the exit status 255 is reserved by PHP and shall not be used. The status 0 is used to terminate the program successfully.

참고: PHP >= 4.2.0 does NOT print the status if it is an integer.

반환값

값을 반환하지 않습니다.

예제

예 1249. exit() example

<?php

$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
    or exit("unable to open file ($filename)");

?>

예 1250. exit() status example

<?php

//exit program normally
exit;
exit();
exit(0);

//exit with an error code
exit(1);
exit(0376); //octal

?>

주의

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

참고: This language construct is equivalent to die().

참고

register_shutdown_function()

이전 | 위로 | 다음
eval | 처음으로 | get_browser


get_browser

(PHP 4, PHP 5)

get_browser -- Tells what the user's browser is capable of

설명

mixed get_browser ( [string $user_agent [, bool $return_array]] )

Attempts to determine the capabilities of the user's browser, by looking up the browser's information in the browscap.ini file.

매개변수

user_agent

The User Agent to be analyzed. By default, the value of HTTP User-Agent header is used; however, you can alter this (i.e., look up another browser's info) by passing this parameter.

You can bypass this parameter with a NULL value.

return_array

If set to TRUE, this function will return an array instead of an object.

반환값

The information is returned in an object or an array which will contain various data elements representing, for instance, the browser's major and minor version numbers and ID string; TRUE/FALSE values for features such as frames, JavaScript, and cookies; and so forth.

The cookies value simply means that the browser itself is capable of accepting cookies and does not mean the user has enabled the browser to accept cookies or not. The only way to test if cookies are accepted is to set one with setcookie(), reload, and check for the value.

변경 기록

버전 | 설명
4.3.2 | The optional parameter return_array was added.

예제

예 1251. Listing all information about the users browser

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

위 예제의 출력 예:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [css] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

주의

참고: In order for this to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini file on your system.

browscap.ini is not bundled with PHP, but you may find an up-to-date » php_browscap.ini file here.

While browscap.ini contains information on many browsers, it relies on user updates to keep the database current. The format of the file is fairly self-explanatory.

이전 | 위로 | 다음
exit | 처음으로 | __halt_compiler


highlight_file

(PHP 4, PHP 5)

highlight_file -- Syntax highlighting of a file

설명

mixed highlight_file ( string $filename [, bool $return] )

Prints out or returns a syntax highlighted version of the code contained in filename using the colors defined in the built-in syntax highlighter for PHP.

Many servers are configured to automatically highlight files with a phps extension. For example, example.phps when viewed will show the syntax highlighted source of the file. To enable this, add this line to the httpd.conf:

AddType application/x-httpd-php-source .phps

매개변수

filename

Path to the PHP file to be highlighted.

return

Set this parameter to TRUE to make this function return the highlighted code.

반환값

If return is set to TRUE, returns the highlighted code as a string instead of printing it out. Otherwise, it will return TRUE on success, FALSE on failure.

변경 기록

버전 | 설명
4.2.1 | This function is now also affected by safe_mode and open_basedir.
4.2.0 | The return parameter was added.

주의

경고

Care should be taken when using the highlight_file() function to make sure that you do not inadvertently reveal sensitive information such as passwords or any other type of information that might create a potential security risk.

참고: 이 함수는 이 매개변수를 사용하여 내부적으로 출력 버퍼링을 사용합니다. 그래서 ob_start() 콜백 함수 내부에서 사용할 수 없습니다.

참고

highlight_string()

이전 | 위로 | 다음
__halt_compiler | 처음으로 | highlight_string


highlight_string

(PHP 4, PHP 5)

highlight_string -- Syntax highlighting of a string

설명

mixed highlight_string ( string $str [, bool $return] )

Outputs or returns a syntax highlighted version of the given PHP code using the colors defined in the built-in syntax highlighter for PHP.

매개변수

str

The PHP code to be highligthed. This should include the opening tag.

return

Set this parameter to TRUE to make this function return the highlighted code.

반환값

If return is set to TRUE, returns the highlighted code as a string instead of printing it out. Otherwise, it will return TRUE on success, FALSE on failure.

변경 기록

버전 | 설명
4.2.0 | The return parameter was added.

예제

예 1253. highlight_string() example

<?php
highlight_string('<?php phpinfo(); ?>');
?>

The above example will output (in PHP 4):

<code><font color="#000000">
<font color="#0000BB">&lt;?php phpinfo</font><font color="#007700">(); </font><font color="#0000BB">?&gt;</font>
</font>
</code>

The above example will output (in PHP 5):

<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?&gt;</span>
</span>
</code>

주의

참고: 이 함수는 이 매개변수를 사용하여 내부적으로 출력 버퍼링을 사용합니다. 그래서 ob_start() 콜백 함수 내부에서 사용할 수 없습니다.

참고

highlight_file()

이전 | 위로 | 다음
highlight_file | 처음으로 | ignore_user_abort


ignore_user_abort

(PHP 4, PHP 5)

ignore_user_abort -- Set whether a client disconnect should abort script execution

설명

int ignore_user_abort ( [bool $setting] )

Sets whether a client disconnect should cause a script to be aborted.

매개변수

setting

If not set, the function will only return the current setting.

반환값

Returns the previous setting, as a boolean.

주의

PHP will not detect that the user has aborted the connection until an attempt is made to send information to the client. Simply using an echo statement does not guarantee that information is sent, see flush().

참고

connection_aborted()
connection_status()
Connection Handling for a complete description of connection handling in PHP.

이전 | 위로 | 다음
highlight_string | 처음으로 | pack


pack

(PHP 4, PHP 5)

pack -- Pack data into binary string

설명

string pack ( string $format [, mixed $args [, mixed $...]] )

Pack given arguments into binary string according to format.

The idea to this function was taken from Perl and all formatting codes work the same as there, however, there are some formatting codes that are missing such as Perl's "u" format code.

Note that the distinction between signed and unsigned values only affects the function unpack(), where as function pack() gives the same result for signed and unsigned format codes.

Also note that PHP internally stores integer values as signed values of a machine dependent size. If you give it an unsigned integer value too large to be stored that way it is converted to a float which often yields an undesired result.

매개변수

format

The format string consists of format codes followed by an optional repeater argument. The repeater argument can be either an integer value or * for repeating to the end of the input data. For a, A, h, H the repeat count specifies how many characters of one data argument are taken, for @ it is the absolute position where to put the next data, for everything else the repeat count specifies how many data arguments are consumed and packed into the resulting binary string.

Currently implemented formats are:

표 169. pack() format characters

Code | Description
a | NUL-padded string
A | SPACE-padded string
h | Hex string, low nibble first
H | Hex string, high nibble first
c | signed char
C | unsigned char
s | signed short (always 16 bit, machine byte order)
S | unsigned short (always 16 bit, machine byte order)
n | unsigned short (always 16 bit, big endian byte order)
v | unsigned short (always 16 bit, little endian byte order)
i | signed integer (machine dependent size and byte order)
I | unsigned integer (machine dependent size and byte order)
l | signed long (always 32 bit, machine byte order)
L | unsigned long (always 32 bit, machine byte order)
N | unsigned long (always 32 bit, big endian byte order)
V | unsigned long (always 32 bit, little endian byte order)
f | float (machine dependent size and representation)
d | double (machine dependent size and representation)
x | NUL byte
X | Back up one byte
@ NUL-fill to absolute position

args

반환값

Returns a binary string containing data.

예제

예 1254. pack() example

<?php
$binarydata = pack("nvc*", 0x1234, 0x5678, 65, 66);
?>

The resulting binary string will be 6 bytes long and contain the byte sequence 0x12, 0x34, 0x78, 0x56, 0x41, 0x42.

참고

unpack()

이전 | 위로 | 다음
ignore_user_abort | 처음으로 | php_check_syntax


php_check_syntax

(PHP 5 <= 5.0.4)

php_check_syntax -- Check the PHP syntax of (and execute) the specified file

설명

bool php_check_syntax ( string $filename [, string &$error_message] )

Performs a syntax (lint) check on the specified filename testing for scripting errors.

This is similar to using php -l from the commandline except that this function will execute (but not output) the checked filename.

For example, if a function is defined in filename, this defined function will be available to the file that executed php_check_syntax(), but output from filename will be suppressed.

참고: For technical reasons, this function is deprecated and removed from PHP. Instead, use php -l somefile.php from the commandline.

매개변수

filename

The name of the file being checked.

error_message

If the error_message parameter is used, it will contain the error message generated by the syntax check. error_message is passed by reference.

반환값

Returns TRUE if the lint check passed, and FALSE if the link check failed or if filename cannot be opened.

변경 기록

버전 | 설명
5.0.5 | This function was removed from PHP.
5.0.3 | Calling exit() after php_check_syntax() resulted in a Segfault.
5.0.1 | error_message is passed by reference.

예제

php -l somefile.php

위 예제의 출력 예:

PHP Parse error: unexpected T_STRING in /tmp/somefile.php on line 81

참고

include()
is_readable()

이전 | 위로 | 다음
pack | 처음으로 | php_strip_whitespace


php_strip_whitespace

(PHP 5)

php_strip_whitespace -- Return source with stripped comments and whitespace

설명

string php_strip_whitespace ( string $filename )

Returns the PHP source code in filename with PHP comments and whitespace removed. This may be useful for determining the amount of actual code in your scripts compared with the amount of comments. This is similar to using php -w from the commandline.

매개변수

filename

Path to the PHP file.

반환값

The stripped source code will be returned on success, or an empty string on failure.

참고: This function works as described as of PHP 5.0.1. Before this it would only return an empty string. For more information on this bug and its prior behavior, see bug report » #29606.

예제

예 1255. php_strip_whitespace() example

<?php
// PHP comment here

/*
 * Another PHP comment
 */

echo        php_strip_whitespace(__FILE__);
// Newlines are considered whitespace, and are removed too:
do_nothing();
?>

위 예제의 출력:

<?php
 echo php_strip_whitespace(__FILE__); do_nothing(); ?>

Notice the PHP comments are gone, as are the whitespace and newline after the first echo statement.

이전 | 위로 | 다음
php_check_syntax | 처음으로 | show_source


show_source

(PHP 4, PHP 5)

show_source -- Alias of highlight_file()

설명

이 함수는 다음 함수의 alias입니다: highlight_file().

이전 | 위로 | 다음
php_strip_whitespace | 처음으로 | sleep


sleep

(PHP 4, PHP 5)

sleep -- Delay execution

설명

int sleep ( int $seconds )

Delays the program execution for the given number of seconds.

매개변수

seconds

Halt time in seconds.

반환값

Returns zero on success, or FALSE on errors.

오류/예외

If the specified number of seconds is negative, this function will generate a E_WARNING.

예제

예 1256. sleep() example

<?php

// current time
echo date('h:i:s') . "\n";

// sleep for 10 seconds
sleep(10);

// wake up !
echo date('h:i:s') . "\n";

?>

This example will output (after 10 seconds)

05:31:23
05:31:33

참고

usleep(), set_time_limit()

이전 | 위로 | 다음
show_source | 처음으로 | sys_getloadavg


time_nanosleep

(PHP 5)

time_nanosleep -- Delay for a number of seconds and nanoseconds

설명

mixed time_nanosleep ( int $seconds, int $nanoseconds )

Delays program execution for the given number of seconds and nanoseconds.

매개변수

seconds

Must be a positive integer.

nanoseconds

Must be a positive integer less than 1 billion.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

If the delay was interrupted by a signal, an associative array will be returned with the components:

  • seconds - number of seconds remaining in the delay
  • nanoseconds - number of nanoseconds remaining in the delay

예제

예 1258. time_nanosleep() example

<?php
// Careful! This won't work as expected if an array is returned
if (time_nanosleep(0, 500000000)) {
    echo "Slept for half a second.\n";
}

// This is better:
if (time_nanosleep(0, 500000000) === true) {
    echo "Slept for half a second.\n";
}

// And this is the best:
$nano = time_nanosleep(2, 100000);

if ($nano === true) {
    echo "Slept for 2 seconds, 100 milliseconds.\n";
} elseif ($nano === false) {
    echo "Sleeping failed.\n";
} elseif (is_array($nano)) {
    $seconds = $nano['seconds'];
    $nanoseconds = $nano['nanoseconds'];
    echo "Interrupted by a signal.\n";
    echo "Time remaining: $seconds seconds, $nanoseconds nanoseconds.";
}
?>

주의

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고

sleep(),
usleep(),
set_time_limit()

이전 | 위로 | 다음
sys_getloadavg | 처음으로 | time_sleep_until


uniqid

(PHP 4, PHP 5)

uniqid -- Generate a unique ID

설명

string uniqid ( [string $prefix [, bool $more_entropy]] )

Gets a prefixed unique identifier based on the current time in microseconds.

매개변수

prefix

Can be useful, for instance, if you generate identifiers simultaneously on several hosts that might happen to generate the identifier at the same microsecond.

With an empty prefix, the returned string will be 13 characters long. If more_entropy is TRUE, it will be 23 characters.

more_entropy

If set to TRUE, uniqid() will add additional entropy (using the combined linear congruential generator) at the end of the return value, which should make the results more unique.

반환값

Returns the unique identifier, as a string.

예제

If you need a unique identifier or token and you intend to give out that token to the user via the network (i.e. session cookies), it is recommended that you use something along these lines:

This will create a 32 character identifier (a 128 bit hex number) that is extremely difficult to predict.

예 1260. uniqid() Example

<?php
// no prefix
// works only in PHP 5 and later versions
$token = md5(uniqid());

// better, difficult to guess
$better_token = md5(uniqid(rand(), true));
?>

변경 기록

버전 | 설명
5.0.0 | The prefix parameter was made optional.
4.3.1 | The limit of 114 characters long for prefix was raised.

이전 | 위로 | 다음
time_sleep_until | 처음으로 | unpack


unpack

(PHP 4, PHP 5)

unpack -- Unpack data from binary string

설명

array unpack ( string $format, string $data )

Unpacks from a binary string into an array according to the given format.

unpack() works slightly different from Perl as the unpacked data is stored in an associative array. To accomplish this you have to name the different format codes and separate them by a slash /.

매개변수

format

See pack() for an explanation of the format codes.

data

The packed data.

반환값

Returns an associative array containing unpacked elements of binary string.

예제

예 1261. unpack() example

<?php
$array = unpack("c2chars/nint", $binarydata);
?>

The resulting array will contain the entries "chars1", "chars2" and "int".

주의

경고

Note that PHP internally stores integral values as signed. If you unpack a large unsigned long and it is of the same size as PHP internally stored values the result will be a negative number even though unsigned unpacking was specified.

참고

pack()

이전 | 위로 | 다음
uniqid | 처음으로 | usleep


usleep

(PHP 4, PHP 5)

usleep -- Delay execution in microseconds

설명

void usleep ( int $micro_seconds )

Delays program execution for the given number of micro seconds.

매개변수

micro_seconds

Halt time in micro seconds. A micro second is one millionth of a second.

반환값

값을 반환하지 않습니다.

변경 기록

버전 | 설명
5.0.0 | This function now works on Windows systems.

예제

예 1262. usleep() example

<?php

// Current time
echo date('h:i:s') . "\n";

// wait for 2 seconds
usleep(2000000);

// back!
echo date('h:i:s') . "\n";

?>

위 예제의 출력:

11:13:28
11:13:30

참고

sleep()
set_time_limit()

이전 | 위로 | 다음
unpack | 처음으로 | XCI. mnoGoSearch Functions


mnoGoSearch Functions

이전 VI. 함수 레퍼런스 다음

XCI. mnoGoSearch Functions

소개

These functions allow you to access the mnoGoSearch (former UdmSearch) free search engine. mnoGoSearch is a full-featured search engine software for intranet and internet servers, distributed under the GNU license. mnoGoSearch has a number of unique features, which makes it appropriate for a wide range of applications from search within your site to a specialized search system such as cooking recipes or newspaper search, FTP archive search, news articles search, etc. It offers full-text indexing and searching for HTML, PDF, and text documents. mnoGoSearch consists of two parts. The first is an indexing mechanism (indexer). The purpose of the indexer is to walk through HTTP, FTP, NEWS servers or local files, recursively grabbing all the documents and storing meta-data about that documents in a SQL database in a smart and effective manner. After every document is referenced by its corresponding URL, meta-data is collected by the indexer for later use in a search process. The search is performed via Web interface. C, CGI, PHP and Perl search front ends are included.

More information about mnoGoSearch can be found at » http://www.mnogosearch.org/.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

요구 조건

Download mnoGosearch from » http://www.mnogosearch.org/ and install it on your system. You need at least version 3.1.10 of mnoGoSearch installed to use these functions.

설치

In order to have these functions available, you must compile PHP with mnoGosearch support by using the --with-mnogosearch option. If you use this option without specifying the path to mnoGosearch, PHP will look for mnoGosearch under /usr/local/mnogosearch path by default. If you installed mnoGosearch at a different location you should specify it: --with-mnogosearch=DIR.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/mnogosearch.

참고: PHP contains built-in MySQL access library, which can be used to access MySQL. It is known that mnoGoSearch is not compatible with this built-in library and can work only with generic MySQL libraries. Thus, if you use mnoGoSearch with MySQL, during PHP configuration you have to indicate the directory of your MySQL installation, that was used during mnoGoSearch configuration, i.e. for example: --with-mnogosearch --with-mysql=/usr.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

UDM_FIELD_URLID (integer)
UDM_FIELD_URL (integer)
UDM_FIELD_CONTENT (integer)
UDM_FIELD_TITLE (integer)
UDM_FIELD_KEYWORDS (integer)
UDM_FIELD_DESC (integer)
UDM_FIELD_DESCRIPTION (integer)
UDM_FIELD_TEXT (integer)
UDM_FIELD_SIZE (integer)
UDM_FIELD_RATING (integer)
UDM_FIELD_SCORE (integer)
UDM_FIELD_MODIFIED (integer)
UDM_FIELD_ORDER (integer)
UDM_FIELD_CRC (integer)
UDM_FIELD_CATEGORY (integer)
UDM_FIELD_LANG (integer)
UDM_FIELD_CHARSET (integer)
UDM_PARAM_PAGE_SIZE (integer)
UDM_PARAM_PAGE_NUM (integer)
UDM_PARAM_SEARCH_MODE (integer)
UDM_PARAM_CACHE_MODE (integer)
UDM_PARAM_TRACK_MODE (integer)
UDM_PARAM_PHRASE_MODE (integer)
UDM_PARAM_CHARSET (integer)
UDM_PARAM_LOCAL_CHARSET (integer)
UDM_PARAM_BROWSER_CHARSET (integer)
UDM_PARAM_STOPTABLE (integer)
UDM_PARAM_STOP_TABLE (integer)
UDM_PARAM_STOPFILE (integer)
UDM_PARAM_STOP_FILE (integer)
UDM_PARAM_WEIGHT_FACTOR (integer)
UDM_PARAM_WORD_MATCH (integer)
UDM_PARAM_MAX_WORD_LEN (integer)
UDM_PARAM_MAX_WORDLEN (integer)
UDM_PARAM_MIN_WORD_LEN (integer)
UDM_PARAM_MIN_WORDLEN (integer)
UDM_PARAM_ISPELL_PREFIXES (integer)
UDM_PARAM_ISPELL_PREFIX (integer)
UDM_PARAM_PREFIXES (integer)
UDM_PARAM_PREFIX (integer)
UDM_PARAM_CROSS_WORDS (integer)
UDM_PARAM_CROSSWORDS (integer)
UDM_PARAM_VARDIR (integer)
UDM_PARAM_DATADIR (integer)
UDM_PARAM_HLBEG (integer)
UDM_PARAM_HLEND (integer)
UDM_PARAM_SYNONYM (integer)
UDM_PARAM_SEARCHD (integer)
UDM_PARAM_QSTRING (integer)
UDM_PARAM_REMOTE_ADDR (integer)
UDM_LIMIT_CAT (integer)
UDM_LIMIT_URL (integer)
UDM_LIMIT_TAG (integer)
UDM_LIMIT_LANG (integer)
UDM_LIMIT_DATE (integer)
UDM_PARAM_FOUND (integer)
UDM_PARAM_NUM_ROWS (integer)
UDM_PARAM_WORDINFO (integer)
UDM_PARAM_WORD_INFO (integer)
UDM_PARAM_SEARCHTIME (integer)
UDM_PARAM_SEARCH_TIME (integer)
UDM_PARAM_FIRST_DOC (integer)
UDM_PARAM_LAST_DOC (integer)
UDM_MODE_ALL (integer)
UDM_MODE_ANY (integer)
UDM_MODE_BOOL (integer)
UDM_MODE_PHRASE (integer)
UDM_CACHE_ENABLED (integer)
UDM_CACHE_DISABLED (integer)
UDM_TRACK_ENABLED (integer)
UDM_TRACK_DISABLED (integer)
UDM_PHRASE_ENABLED (integer)
UDM_PHRASE_DISABLED (integer)
UDM_CROSS_WORDS_ENABLED (integer)
UDM_CROSSWORDS_ENABLED (integer)
UDM_CROSS_WORDS_DISABLED (integer)
UDM_CROSSWORDS_DISABLED (integer)
UDM_PREFIXES_ENABLED (integer)
UDM_PREFIX_ENABLED (integer)
UDM_ISPELL_PREFIXES_ENABLED (integer)
UDM_ISPELL_PREFIX_ENABLED (integer)
UDM_PREFIXES_DISABLED (integer)
UDM_PREFIX_DISABLED (integer)
UDM_ISPELL_PREFIXES_DISABLED (integer)
UDM_ISPELL_PREFIX_DISABLED (integer)
UDM_ISPELL_TYPE_AFFIX (integer)
UDM_ISPELL_TYPE_SPELL (integer)
UDM_ISPELL_TYPE_DB (integer)
UDM_ISPELL_TYPE_SERVER (integer)
UDM_MATCH_WORD (integer)
UDM_MATCH_BEGIN (integer)
UDM_MATCH_SUBSTR (integer)
UDM_MATCH_END (integer)

차례

udm_add_search_limit -- Add various search limits
udm_alloc_agent_array -- Allocate mnoGoSearch session
udm_alloc_agent -- Allocate mnoGoSearch session
udm_api_version -- Get mnoGoSearch API version
udm_cat_list -- Get all the categories on the same level with the current one
udm_cat_path -- Get the path to the current category
udm_check_charset -- Check if the given charset is known to mnogosearch
udm_check_stored -- Check connection to stored
udm_clear_search_limits -- Clear all mnoGoSearch search restrictions
udm_close_stored -- Close connection to stored
udm_crc32 -- Return CRC32 checksum of given string
udm_errno -- Get mnoGoSearch error number
udm_error -- Get mnoGoSearch error message
udm_find -- Perform search
udm_free_agent -- Free mnoGoSearch session
udm_free_ispell_data -- Free memory allocated for ispell data
udm_free_res -- Free mnoGoSearch result
udm_get_doc_count -- Get total number of documents in database
udm_get_res_field -- Fetch a result field
udm_get_res_param -- Get mnoGoSearch result parameters
udm_hash32 -- Return Hash32 checksum of gived string
udm_load_ispell_data -- Load ispell data
udm_open_stored -- Open connection to stored
udm_set_agent_param -- Set mnoGoSearch agent session parameters
이전 | 위로 | 다음
usleep | 처음으로 | udm_add_search_limit


udm_add_search_limit

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_add_search_limit -- Add various search limits

설명

bool udm_add_search_limit ( resource $agent, int $var, string $val )

udm_add_search_limit() adds search restrictions.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

var

Defines the parameter, indicating limits. Possible var values:

  • UDM_LIMIT_URL - defines document URL limitations to limit the search through subsection of the database. It supports SQL % and _ LIKE wildcards, where % matches any number of characters, even zero characters, and _ matches exactly one character. E.g. http://www.example.___/catalog may stand for http://www.example.com/catalog and http://www.example.net/catalog.
  • UDM_LIMIT_TAG - defines site TAG limitations. In indexer-conf you can assign specific TAGs to various sites and parts of a site. Tags in mnoGoSearch 3.1.x are lines, that may contain metasymbols % and _. Metasymbols allow searching among groups of tags. E.g. there are links with tags ABCD and ABCE, and search restriction is by ABC_ - the search will be made among both of the tags.
  • UDM_LIMIT_LANG - defines document language limitations.
  • UDM_LIMIT_CAT - defines document category limitations. Categories are similar to tag feature, but nested. So you can have one category inside another and so on. You have to use two characters for each level. Use a hex number going from 0-F or a 36 base number going from 0-Z. Therefore a top-level category like 'Auto' would be 01. If it has a subcategory like 'Ford', then it would be 01 (the parent category) and then 'Ford' which we will give 01. Put those together and you get 0101. If 'Auto' had another subcategory named 'VW', then it's id would be 01 because it belongs to the 'Ford' category and then 02 because it's the next category. So it's id would be 0102. If VW had a sub category called 'Engine' then it's id would start at 01 again and it would get the 'VW' id 02 and 'Auto' id of 01, making it 010201. If you want to search for sites under that category then you pass it cat=010201 in the URL.

  • UDM_LIMIT_DATE - defines limitation by date the document was modified.

    Format of parameter value: a string with first character < or >, then with no space - date in unixtime format, for example:

    예 1263.

    <?php
    udm_add_search_limit    ($udm, UDM_LIMIT_DATE, "&lt;908012006");
    ?>

    If > character is used, then the search will be restricted to those documents having a modification date greater than entered, if <, then smaller.

val

Defines the value of the current parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
XCI. mnoGoSearch Functions | 처음으로 | udm_alloc_agent_array


udm_alloc_agent_array

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_alloc_agent_array -- Allocate mnoGoSearch session

설명

resource udm_alloc_agent_array ( array $databases )

udm_alloc_agent_array() will create an agent with multiple database connections.

매개변수

databases

The array databases must contain one database URL per element, analog to the first parameter of udm_alloc_agent().

반환값

Returns a resource link identifier on success, or FALSE on failure.

참고

udm_alloc_agent()

이전 | 위로 | 다음
udm_add_search_limit | 처음으로 | udm_alloc_agent


udm_alloc_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_alloc_agent -- Allocate mnoGoSearch session

설명

resource udm_alloc_agent ( string $dbaddr [, string $dbmode] )

Allocate a mnoGoSearch session.

매개변수

dbaddr

dbaddr - URL-style database description, with options (type, host, database name, port, user and password) to connect to SQL database. Do not matter for built-in text files support. Format for dbaddr: DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/. Currently supported DBType values are: mysql, pgsql, msql, solid, mssql, oracle, and ibase. Actually, it does not matter for native libraries support, but ODBC users should specify one of the supported values. If your database type is not supported, you may use unknown instead.

dbmode

dbmode - You may select the SQL database mode of words storage. Possible values of dbmode are: single, multi, crc, or crc-multi. When single is specified, all words are stored in the same table. If multi is selected, words will be located in different tables depending of their lengths. "multi" mode is usually faster, but requires more tables in the database. If "crc" mode is selected, mnoGoSearch will store 32 bit integer word IDs calculated by CRC32 algorithm instead of words. This mode requires less disk space and it is faster comparing with "single" and "multi" modes. crc-multi uses the same storage structure with the "crc" mode, but also stores words in different tables depending on words lengths like in "multi" mode.

참고: dbaddr and dbmode must match those used during indexing.

반환값

Returns a mnogosearch agent identifier on success, FALSE on failure. This function creates a session with database parameters.

주의

참고: In fact this function does not open a connection to the database and thus does not check the entered login and password. Establishing a connection to the database and login/password verification is done by udm_find().

이전 | 위로 | 다음
udm_alloc_agent_array | 처음으로 | udm_api_version


udm_api_version

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_api_version -- Get mnoGoSearch API version

설명

int udm_api_version ( void )

Gets the mnoGoSearch API version.

This function allows the user to identify which API functions are available, e.g. udm_get_doc_count() function is only available in mnoGoSearch 3.1.11 or later.

반환값

udm_api_version() returns the mnoGoSearch API version number. E.g. if mnoGoSearch 3.1.10 API is used, this function will return 30110.

예제

예 1264. udm_api_version() example

<?php
if (udm_api_version() >= 30111) {
    echo  "Total number of URLs in database: " . udm_get_doc_count($udm) . "<br />\n";
}
?>

이전 | 위로 | 다음
udm_alloc_agent | 처음으로 | udm_cat_list


udm_cat_list

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_cat_list -- Get all the categories on the same level with the current one

설명

array udm_cat_list ( resource $agent, string $category )

Gets all the categories on the same level with the current one.

The function can be useful for developing categories tree browser.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

category

반환값

Returns an array listing all categories of the same level as the current category in the categories tree.

The returned array consists of pairs. Elements with even index numbers contain the category paths, odd elements contain the corresponding category names.

  $array[0] will contain '020300'
  $array[1] will contain 'Audi'
  $array[2] will contain '020301'
  $array[3] will contain 'BMW'
  $array[4] will contain '020302'
  $array[5] will contain 'Opel'
  ...
 etc.

예제

Following is an example of displaying links of the current level in format:

  Audi
  BMW
  Opel
  ...

예 1265. udm_cat_list()example

<?php
 $cat_list_arr = udm_cat_list($udm_agent, $cat);
 $cat_list = '';
 for ($i=0; $i<count($cat_list_arr); $i+=2) {
    $path = $cat_list_arr[$i];
    $name = $cat_list_arr[$i+1];
    $cat_list .= "<a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a><br />";
 }
?>

참고

udm_cat_path()

이전 | 위로 | 다음
udm_api_version | 처음으로 | udm_cat_path


udm_cat_path

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_cat_path -- Get the path to the current category

설명

array udm_cat_path ( resource $agent, string $category )

Returns an array describing the path in the categories tree from the tree root to the current one, specified by category.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

category

반환값

The returned array consists of pairs. Elements with even index numbers contain the category paths, odd elements contain the corresponding category names.

For example, the call $array=udm_cat_path($agent, '02031D'); may return the following array:

 $array[0] will contain ''
 $array[1] will contain 'Root'
 $array[2] will contain '02'
 $array[3] will contain 'Sport'
 $array[4] will contain '0203'
 $array[5] will contain 'Auto'
 $array[4] will contain '02031D'
 $array[5] will contain 'Ferrari'

예제

예 1266. Specifying path to the current category in the following format: '> Root > Sport > Auto > Ferrari'

<?php
  $cat_path_arr = udm_cat_path($udm_agent, $cat);
  $cat_path = '';
  for ($i=0; $i<count($cat_path_arr); $i+=2) {
    $path = $cat_path_arr[$i];
    $name = $cat_path_arr[$i+1];
    $cat_path .= " > <a href=\"$_SERVER[PHP_SELF]?cat=$path\">$name</a> ";
  }
?>

참고

udm_cat_list()

이전 | 위로 | 다음
udm_cat_list | 처음으로 | udm_check_charset


udm_check_charset

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_check_charset -- Check if the given charset is known to mnogosearch

설명

bool udm_check_charset ( resource $agent, string $charset )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
udm_cat_path | 처음으로 | udm_check_stored


udm_check_stored

(PHP 4 >= 4.2.0)

udm_check_stored -- Check connection to stored

설명

int udm_check_stored ( resource $agent, int $link, string $doc_id )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
udm_check_charset | 처음으로 | udm_clear_search_limits


udm_clear_search_limits

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_clear_search_limits -- Clear all mnoGoSearch search restrictions

설명

bool udm_clear_search_limits ( resource $agent )

udm_clear_search_limits() resets defined search limitations.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

반환값

Returns TRUE.

참고

udm_add_search_limit()

이전 | 위로 | 다음
udm_check_stored | 처음으로 | udm_close_stored


udm_close_stored

(PHP 4 >= 4.2.0)

udm_close_stored -- Close connection to stored

설명

int udm_close_stored ( resource $agent, int $link )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
udm_clear_search_limits | 처음으로 | udm_crc32


udm_crc32

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_crc32 -- Return CRC32 checksum of given string

설명

int udm_crc32 ( resource $agent, string $str )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
udm_close_stored | 처음으로 | udm_errno


udm_errno

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_errno -- Get mnoGoSearch error number

설명

int udm_errno ( resource $agent )

Receiving numeric agent error code.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

반환값

Returns the mnoGoSearch error number, zero if no error.

이전 | 위로 | 다음
udm_crc32 | 처음으로 | udm_error


udm_error

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_error -- Get mnoGoSearch error message

설명

string udm_error ( resource $agent )

Gets the agent error message.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

반환값

udm_error() returns mnoGoSearch error message, empty string if no error.

이전 | 위로 | 다음
udm_errno | 처음으로 | udm_find


udm_find

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_find -- Perform search

설명

resource udm_find ( resource $agent, string $query )

Performs a search.

The search itself. The first argument - session, the next one - query itself. To find something just type words you want to find and press SUBMIT button. For example, "mysql odbc". You should not use quotes " in query, they are written here only to divide a query from other text. mnoGoSearch will find all documents that contain word "mysql" and/or word "odbc". Best documents having bigger weights will be displayed first. If you use search mode ALL, search will return documents that contain both (or more) words you entered. In case you use mode ANY, the search will return list of documents that contain any of the words you entered. If you want more advanced results you may use query language. You should select "bool" match mode in the search from.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

query

mnoGoSearch understands the following boolean operators:

& - logical AND. For example, "mysql & odbc". mnoGoSearch will find any URLs that contain both "mysql" and "odbc".

| - logical OR. For example "mysql|odbc". mnoGoSearch will find any URLs, that contain word "mysql" or word "odbc".

~ - logical NOT. For example "mysql & ~odbc". mnoGoSearch will find URLs that contain word "mysql" and do not contain word "odbc" at the same time. Note that ~ just excludes given word from results. Query "~odbc" will find nothing!

() - group command to compose more complex queries. For example "(mysql | msql) & ~postgres". Query language is simple and powerful at the same time. Just consider query as usual boolean expression.

반환값

Returns a result link identifier on success, or FALSE on failure.

이전 | 위로 | 다음
udm_error | 처음으로 | udm_free_agent


udm_free_agent

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_free_agent -- Free mnoGoSearch session

설명

int udm_free_agent ( resource $agent )

Freeing up memory allocated for agent session.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
udm_find | 처음으로 | udm_free_ispell_data


udm_free_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_free_ispell_data -- Free memory allocated for ispell data

설명

bool udm_free_ispell_data ( int $agent )

Frees the memory allocated for ispell data.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

반환값

udm_free_ispell_data() always returns TRUE.

주의

참고: This function is supported beginning from version 3.1.12 of mnoGoSearch and it does not do anything in previous versions.

이전 | 위로 | 다음
udm_free_agent | 처음으로 | udm_free_res


udm_free_res

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_free_res -- Free mnoGoSearch result

설명

bool udm_free_res ( resource $res )

Freeing up memory allocated for results.

매개변수

res

A link to a result identifier, received after call to udm_find().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
udm_free_ispell_data | 처음으로 | udm_get_doc_count


udm_get_doc_count

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_get_doc_count -- Get total number of documents in database

설명

int udm_get_doc_count ( resource $agent )

udm_get_doc_count() returns the number of documents in the database.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

반환값

Returns the number of document.

주의

참고: This function is supported only in mnoGoSearch 3.1.11 or later.

이전 | 위로 | 다음
udm_free_res | 처음으로 | udm_get_res_field


udm_get_res_field

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_get_res_field -- Fetch a result field

설명

string udm_get_res_field ( resource $res, int $row, int $field )

Fetch a mnoGoSearch result field.

매개변수

res

res - a link to result identifier, received after call to udm_find().

row

row - the number of the link on the current page. May have values from 0 to UDM_PARAM_NUM_ROWS-1.

field

field - field identifier, may have the following values:

  • UDM_FIELD_URL - document URL field
  • UDM_FIELD_CONTENT - document Content-type field (for example, text/html).
  • UDM_FIELD_CATEGORY - document category field. Use udm_cat_path() to get full path to current category from the categories tree root. (This parameter is available only in PHP 4.0.6 or later).
  • UDM_FIELD_TITLE - document title field.
  • UDM_FIELD_KEYWORDS - document keywords field (from META KEYWORDS tag).
  • UDM_FIELD_DESC - document description field (from META DESCRIPTION tag).
  • UDM_FIELD_TEXT - document body text (the first couple of lines to give an idea of what the document is about).
  • UDM_FIELD_SIZE - document size.
  • UDM_FIELD_URLID - unique URL ID of the link.
  • UDM_FIELD_RATING - page rating (as calculated by mnoGoSearch).
  • UDM_FIELD_MODIFIED - last-modified field in unixtime format.
  • UDM_FIELD_ORDER - the number of the current document in set of found documents.
  • UDM_FIELD_CRC - document CRC.

반환값

udm_get_res_field() returns result field value on success, FALSE on error.

이전 | 위로 | 다음
udm_get_doc_count | 처음으로 | udm_get_res_param


udm_get_res_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_get_res_param -- Get mnoGoSearch result parameters

설명

string udm_get_res_param ( resource $res, int $param )

Gets the mnoGoSearch result parameters.

매개변수

res

res - a link to result identifier, received after call to udm_find().

param

param - parameter identifier, may have the following values:

  • UDM_PARAM_NUM_ROWS - number of received found links on the current page. It is equal to UDM_PARAM_PAGE_SIZE for all search pages, on the last page - the rest of links.
  • UDM_PARAM_FOUND - total number of results matching the query.
  • UDM_PARAM_WORDINFO - information on the words found. E.g. search for "a good book" will return "a: stopword, good:5637, book: 120"
  • UDM_PARAM_SEARCHTIME - search time in seconds.
  • UDM_PARAM_FIRST_DOC - the number of the first document displayed on current page.
  • UDM_PARAM_LAST_DOC - the number of the last document displayed on current page.

반환값

udm_get_res_param() returns result parameter value on success, FALSE on error.

이전 | 위로 | 다음
udm_get_res_field | 처음으로 | udm_hash32


udm_hash32

(PHP 4 >= 4.3.3, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_hash32 -- Return Hash32 checksum of gived string

설명

int udm_hash32 ( resource $agent, string $str )

udm_hash32() will take a string str and return a quite unique 32-bit hash number from it.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

str

The input string.

반환값

Returns a 32-bit hash number.

참고

udm_alloc_agent()

이전 | 위로 | 다음
udm_get_res_param | 처음으로 | udm_load_ispell_data


udm_load_ispell_data

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_load_ispell_data -- Load ispell data

설명

bool udm_load_ispell_data ( resource $agent, int $var, string $val1, string $val2, int $flag )

udm_load_ispell_data() loads ispell data.

After using this function to free memory allocated for ispell data, please use udm_free_ispell_data(), even if you use UDM_ISPELL_TYPE_SERVER mode.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

var

Indicates the source for ispell data. May have the following values:

  • UDM_ISPELL_TYPE_DB - indicates that ispell data should be loaded from SQL. In this case, parameters val1 and val2 are ignored and should be left blank. flag should be equal to 1.

    참고: flag indicates that after loading ispell data from defined source it should be sorted (it is necessary for correct functioning of ispell). In case of loading ispell data from files there may be several calls to udm_load_ispell_data(), and there is no sense to sort data after every call, but only after the last one. Since in db mode all the data is loaded by one call, this parameter should have the value 1. In this mode in case of error, e.g. if ispell tables are absent, the function will return FALSE and code and error message will be accessible through udm_error() and udm_errno().

  • UDM_ISPELL_TYPE_AFFIX - indicates that ispell data should be loaded from file and initiates loading affixes file. In this case val1 defines double letter language code for which affixes are loaded, and val2 - file path. Please note, that if a relative path entered, the module looks for the file not in UDM_CONF_DIR, but in relation to current path, i.e. to the path where the script is executed. In case of error in this mode, e.g. if file is absent, the function will return FALSE, and an error message will be displayed. Error message text cannot be accessed through udm_error() and udm_errno(), since those functions can only return messages associated with SQL. Please, see flag parameter description in UDM_ISPELL_TYPE_DB.

    예 1267. udm_load_ispell_data() example

    <?php
    if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
        (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
        exit;
    }
    ?>

    참고: flag is equal to 1 only in the last call.

  • UDM_ISPELL_TYPE_SPELL - indicates that ispell data should be loaded from file and initiates loading of ispell dictionary file. In this case val1 defines double letter language code for which affixes are loaded, and val2 - file path. Please note, that if a relative path entered, the module looks for the file not in UDM_CONF_DIR, but in relation to current path, i.e. to the path where the script is executed. In case of error in this mode, e.g. if file is absent, the function will return FALSE, and an error message will be displayed. Error message text cannot be accessed through udm_error() and udm_errno(), since those functions can only return messages associated with SQL. Please, see flag parameter description in UDM_ISPELL_TYPE_DB.

    <?php
    if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
       (!     udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
     exit;
     }
    ?>

    참고: flag is equal to 1 only in the last call.

  • UDM_ISPELL_TYPE_SERVER - enables spell server support. val1 parameter indicates address of the host running spell server. val2 ` is not used yet, but in future releases it is going to indicate number of port used by spell server. flag parameter in this case is not needed since ispell data is stored on spellserver already sorted.

    Spelld server reads spell-data from a separate configuration file (/usr/local/mnogosearch/etc/spelld.conf by default), sorts it and stores in memory. With clients server communicates in two ways: to indexer all the data is transferred (so that indexer starts faster), from search.cgi server receives word to normalize and then passes over to client (search.cgi) list of normalized word forms. This allows fastest, compared to db and text modes processing of search queries (by omitting loading and sorting all the spell data).

    udm_load_ispell_data() function in UDM_ISPELL_TYPE_SERVER mode does not actually load ispell data, but only defines server address. In fact, server is automatically used by udm_find() function when performing search. In case of errors, e.g. if spellserver is not running or invalid host indicated, there are no messages returned and ispell conversion does not work.

    참고: This function is available in mnoGoSearch 3.1.12 or later.

    Example:

    <?php
    if (!udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SERVER, '', '', 1)) {
        echo     "Error loading ispell data from server<br />\n";
        exit;
    }
    ?>

The fastest mode is UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT is slower and UDM_ISPELL_TYPE_DB is the slowest. The above pattern is TRUE for mnoGoSearch 3.1.10 - 3.1.11. It is planned to speed up DB mode in future versions and it is going to be faster than TEXT mode.

val1

val2

flag

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1268. udm_load_ispell_data() example

<?php
if (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_DB, '', '', 1)) {
  printf("Error #%d: '%s'\n", udm_errno($udm), udm_error($udm));
  exit;
}
?>

이전 | 위로 | 다음
udm_hash32 | 처음으로 | udm_open_stored


udm_open_stored

(PHP 4 >= 4.2.0)

udm_open_stored -- Open connection to stored

설명

int udm_open_stored ( resource $agent, string $storedaddr )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
udm_load_ispell_data | 처음으로 | udm_set_agent_param


udm_set_agent_param

(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch:1.0.0)

udm_set_agent_param -- Set mnoGoSearch agent session parameters

설명

bool udm_set_agent_param ( resource $agent, int $var, string $val )

Defines mnoGoSearch session parameters.

매개변수

agent

A link to Agent, received after call to udm_alloc_agent().

var

The following parameters and their values are available:

  • UDM_PARAM_PAGE_NUM - used to choose search results page number (results are returned by pages beginning from 0, with UDM_PARAM_PAGE_SIZE results per page).
  • UDM_PARAM_PAGE_SIZE - number of search results displayed on one page.
  • UDM_PARAM_SEARCH_MODE - search mode. The following values available: UDM_MODE_ALL - search for all words; UDM_MODE_ANY - search for any word; UDM_MODE_PHRASE - phrase search; UDM_MODE_BOOL - boolean search. See udm_find() for details on boolean search.
  • UDM_PARAM_CACHE_MODE - turns on or off search result cache mode. When enabled, the search engine will store search results to disk. In case a similar search is performed later, the engine will take results from the cache for faster performance. Available values: UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.
  • UDM_PARAM_TRACK_MODE - turns on or off trackquery mode. Since version 3.1.2 mnoGoSearch has a query tracking support. Note that tracking is implemented in SQL version only and not available in built-in database. To use tracking, you have to create tables for tracking support. For MySQL, use create/mysql/track.txt. When doing a search, front-end uses those tables to store query words, a number of found documents and current Unix timestamp in seconds. Available values: UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.

  • UDM_PARAM_PHRASE_MODE - defines whether index database using phrases ("phrase" parameter in indexer.conf). Possible values: UDM_PHRASE_ENABLED and UDM_PHRASE_DISABLED. Please note, that if phrase search is enabled (UDM_PHRASE_ENABLED), it is still possible to do search in any mode (ANY, ALL, BOOL or PHRASE). In 3.1.10 version of mnoGoSearch phrase search is supported only in sql and built-in database modes, while beginning with 3.1.11 phrases are supported in cachemode as well.

    Examples of phrase search:

    "Arizona desert" - This query returns all indexed documents that contain "Arizona desert" as a phrase. Notice that you need to put double quotes around the phrase

  • UDM_PARAM_CHARSET - defines local charset. Available values: set of charsets supported by mnoGoSearch, e.g. koi8-r, cp1251, ...
  • UDM_PARAM_STOPFILE - Defines name and path to stopwords file. (There is a small difference with mnoGoSearch - while in mnoGoSearch if relative path or no path entered, it looks for this file in relation to UDM_CONF_DIR, the module looks for the file in relation to current path, i.e. to the path where the PHP script is executed.)
  • UDM_PARAM_STOPTABLE - Load stop words from the given SQL table. You may use several StopwordTable commands. This command has no effect when compiled without SQL database support.

  • UDM_PARAM_WEIGHT_FACTOR - represents weight factors for specific document parts. Currently body, title, keywords, description, url are supported. To activate this feature please use degrees of 2 in *Weight commands of the indexer.conf. Let's imagine that we have these weights:

    URLWeight 1
    BodyWeight 2
    TitleWeight 4
    KeywordWeight 8
    DescWeight 16

    As far as indexer uses bit OR operation for word weights when some word presents several time in the same document, it is possible at search time to detect word appearance in different document parts. Word which appears only in the body will have 00000010 aggregate weight (in binary notation). Word used in all document parts will have 00011111 aggregate weight.

    This parameter's value is a string of hex digits ABCDE. Each digit is a factor for corresponding bit in word weight. For the given above weights configuration:

    E is a factor for weight 1 (URL Weight bit)
    D is a factor for weight 2 (BodyWeight bit)
    C is a factor for weight 4 (TitleWeight bit)
    B is a factor for weight 8 (KeywordWeight bit)
    A is a factor for weight 16 (DescWeight bit)

    Examples:

    UDM_PARAM_WEIGHT_FACTOR=00001 will search through URLs only.

    UDM_PARAM_WEIGHT_FACTOR=00100 will search through Titles only.

    UDM_PARAM_WEIGHT_FACTOR=11100 will search through Title,Keywords,Description but not through URL and Body.

    UDM_PARAM_WEIGHT_FACTOR=F9421 will search through:

    Description with factor 15 (F hex)
    Keywords with factor 9
    Title with factor 4
    Body with factor 2
    URL with factor 1

    If UDM_PARAM_WEIGHT_FACTOR variable is omitted, original weight value is taken to sort results. For a given above weight configuration it means that document description has a most big weight 16.

  • UDM_PARAM_WORD_MATCH - word match. You may use this parameter to choose word match type. This feature works only in "single" and "multi" modes using SQL based and built-in database. It does not work in cachemode and other modes since they use word CRC and do not support substring search. Available values:

    UDM_MATCH_BEGIN - word beginning match;

    UDM_MATCH_END - word ending match;

    UDM_MATCH_WORD - whole word match;

    UDM_MATCH_SUBSTR - word substring match.

  • UDM_PARAM_MIN_WORD_LEN - defines minimal word length. Any word shorter this limit is considered to be a stopword. Please note that this parameter value is inclusive, i.e. if UDM_PARAM_MIN_WORD_LEN=3, a word 3 characters long will not be considered a stopword, while a word 2 characters long will be. Default value is 1.
  • UDM_PARAM_ISPELL_PREFIXES - Possible values: UDM_PREFIXES_ENABLED and UDM_PREFIXES_DISABLED, that respectively enable or disable using prefixes. E.g. if a word "tested" is in search query, also words like "test", "testing", etc. Only suffixes are supported by default. Prefixes usually change word meanings, for example if somebody is searching for the word "tested" one hardly wants "untested" to be found. Prefixes support may also be found useful for site's spelling checking purposes. In order to enable ispell, you have to load ispell data with udm_load_ispell_data().

  • UDM_PARAM_CROSS_WORDS - enables or disables crosswords support. Possible values: UDM_CROSS_WORDS_ENABLED and UDM_CROSS_WORDS_DISABLED.

    The crosswords feature allows to assign words between <a href="xxx"> and </a> also to a document this link leads to. It works in SQL database mode and is not supported in built-in database and Cachemode.

  • UDM_PARAM_VARDIR - specifies a custom path to directory where indexer stores data when using built-in database and in cache mode. By default /var directory of mnoGoSearch installation is used. Can have only string values.

val

변경 기록

버전 | 설명
4.1.0 | UDM_PARAM_VARDIR was added.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: Crosswords are supported only in mnoGoSearch 3.1.11 or later.

이전 | 위로 | 다음
udm_open_stored | 처음으로 | XCII. Microsoft SQL Server Functions


mSQL Functions

이전 VI. 함수 레퍼런스 다음

XCV. mSQL Functions

소개

These functions allow you to access mSQL database servers. More information about mSQL can be found at » http://www.hughes.com.au/.

설치

In order to have these functions available, you must compile PHP with msql support by using the --with-msql[=DIR] option. DIR is the mSQL base install directory, defaults to /usr/local/msql3.

Note to Win32 Users: In order for this extension to work, there are DLL files that must be available to the Windows system PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the systems PATH), it is not recommended. This extension requires the following files to be in the PATH: msql.dll

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 171. mSQL configuration options

Name | Default | Changeable | Changelog
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

msql.allow_persistent boolean

Whether to allow persistent mSQL connections.

msql.max_persistent integer

The maximum number of persistent mSQL connections per process.

msql.max_links integer

The maximum number of mSQL connections per process, including persistent connections.

자원형

There are two resource types used in the mSQL module. The first one is the link identifier for a database connection, the second a resource which holds the result of a query.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

MSQL_ASSOC (integer)
MSQL_NUM (integer)
MSQL_BOTH (integer)

예제

This simple example shows how to connect, execute a query, print resulting rows and disconnect from a mSQL database.

예 1274. mSQL usage example

<?php
/* Connecting, selecting database */
$link = msql_connect('localhost', 'username', 'password')
    or die('Could not connect : ' . msql_error($link));

msql_select_db('database', $link)
    or die('Could not select database');

/* Issue SQL query */
$query = 'SELECT * FROM my_table';
$result = msql_query($query, $link) or die('Query failed : ' . msql_error());

/* Printing results in HTML */
echo "<table>\n";
while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($row as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

/* Free result set */
msql_free_result($result);

/* Close connection */
msql_close($link);
?>

차례

msql_affected_rows -- Returns number of affected rows
msql_close -- Close mSQL connection
msql_connect -- Open mSQL connection
msql_create_db -- Create mSQL database
msql_createdb -- Alias of msql_create_db()
msql_data_seek -- Move internal row pointer
msql_db_query -- Send mSQL query
msql_dbname -- Alias of msql_result()
msql_drop_db -- Drop (delete) mSQL database
msql_error -- Returns error message of last msql call
msql_fetch_array -- Fetch row as array
msql_fetch_field -- Get field information
msql_fetch_object -- Fetch row as object
msql_fetch_row -- Get row as enumerated array
msql_field_flags -- Get field flags
msql_field_len -- Get field length
msql_field_name -- Get the name of the specified field in a result
msql_field_seek -- Set field offset
msql_field_table -- Get table name for field
msql_field_type -- Get field type
msql_fieldflags -- Alias of msql_field_flags()
msql_fieldlen -- Alias of msql_field_len()
msql_fieldname -- Alias of msql_field_name()
msql_fieldtable -- Alias of msql_field_table()
msql_fieldtype -- Alias of msql_field_type()
msql_free_result -- Free result memory
msql_list_dbs -- List mSQL databases on server
msql_list_fields -- List result fields
msql_list_tables -- List tables in an mSQL database
msql_num_fields -- Get number of fields in result
msql_num_rows -- Get number of rows in result
msql_numfields -- Alias of msql_num_fields()
msql_numrows -- Alias of msql_num_rows()
msql_pconnect -- Open persistent mSQL connection
msql_query -- Send mSQL query
msql_regcase -- Alias of sql_regcase()
msql_result -- Get result data
msql_select_db -- Select mSQL database
msql_tablename -- Alias of msql_result()
msql -- Alias of msql_db_query()
이전 | 위로 | 다음
msession_unlock | 처음으로 | msql_affected_rows


msql_affected_rows

(PHP 4, PHP 5)

msql_affected_rows -- Returns number of affected rows

설명

int msql_affected_rows ( resource $result )

Returns number of affected rows by the last SELECT, UPDATE or DELETE query associated with result.

매개변수

result

msql_query() 호출을 통한 결과 resource.

반환값

Returns the number of affected rows on success, or FALSE on error.

참고

msql_query()

이전 | 위로 | 다음
XCV. mSQL Functions | 처음으로 | msql_close


msql_close

(PHP 4, PHP 5)

msql_close -- Close mSQL connection

설명

bool msql_close ( [resource $link_identifier] )

msql_close() closes the non-persistent connection to the mSQL server that's associated with the specified link identifier.

Using msql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution. See also freeing resources.

매개변수

link_identifier

mSQL 연결. 지정하지 않으면 msql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, msql_connect()를 호출하여 연결을 만들어 사용합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

msql_connect()
msql_pconnect()

이전 | 위로 | 다음
msql_affected_rows | 처음으로 | msql_connect


msql_connect

(PHP 4, PHP 5)

msql_connect -- Open mSQL connection

설명

resource msql_connect ( [string $hostname] )

msql_connect() establishes a connection to a mSQL server.

In case a second call is made to msql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling msql_close().

매개변수

hostname

The hostname can also include a port number. e.g. hostname,port.

If not specified, the connection is established by the means of a Unix domain socket, being then more efficient then a localhost TCP socket connection.

참고: While this function will accept a colon (:) as a host/port separator, a comma (,) is the preferred method.

반환값

Returns a positive mSQL link identifier on success, or FALSE on error.

참고

msql_pconnect()
msql_close()

이전 | 위로 | 다음
msql_close | 처음으로 | msql_create_db


msql_create_db

(PHP 4, PHP 5)

msql_create_db -- Create mSQL database

설명

bool msql_create_db ( string $database_name [, resource $link_identifier] )

msql_create_db() attempts to create a new database on the mSQL server.

매개변수

database_name

The name of the mSQL database.

link_identifier

mSQL 연결. 지정하지 않으면 msql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, msql_connect()를 호출하여 연결을 만들어 사용합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

msql_drop_db()

이전 | 위로 | 다음
msql_connect | 처음으로 | msql_createdb


msql_createdb

(PHP 4, PHP 5)

msql_createdb -- Alias of msql_create_db()

설명

이 함수는 다음 함수의 alias입니다: msql_create_db().

이전 | 위로 | 다음
msql_create_db | 처음으로 | msql_data_seek


msql_data_seek

(PHP 4, PHP 5)

msql_data_seek -- Move internal row pointer

설명

bool msql_data_seek ( resource $result, int $row_number )

msql_data_seek() moves the internal row pointer of the mSQL result associated with the specified query identifier to point to the specified row number. The next call to msql_fetch_row() would return that row.

매개변수

result

msql_query() 호출을 통한 결과 resource.

row_number

The seeked row number.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

msql_fetch_array()
msql_fetch_object()
msql_fetch_row()
msql_result()

이전 | 위로 | 다음
msql_createdb | 처음으로 | msql_db_query


msql_db_query

(PHP 4, PHP 5)

msql_db_query -- Send mSQL query

설명

resource msql_db_query ( string $database, string $query [, resource $link_identifier] )

msql_db_query() selects a database and executes a query on it.

매개변수

database

The name of the mSQL database.

query

The SQL query.

link_identifier

mSQL 연결. 지정하지 않으면 msql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, msql_connect()를 호출하여 연결을 만들어 사용합니다.

반환값

Returns a positive mSQL query identifier to the query result, or FALSE on error.

참고

msql_query()

이전 | 위로 | 다음
msql_data_seek | 처음으로 | msql_dbname


msql_dbname

(PHP 4, PHP 5)

msql_dbname -- Alias of msql_result()

설명

이 함수는 다음 함수의 alias입니다: msql_result().

이전 | 위로 | 다음
msql_db_query | 처음으로 | msql_drop_db


msql_drop_db

(PHP 4, PHP 5)

msql_drop_db -- Drop (delete) mSQL database

설명

bool msql_drop_db ( string $database_name [, resource $link_identifier] )

msql_drop_db() attempts to drop (remove) a database from the mSQL server.

매개변수

database_name

The name of the database.

link_identifier

mSQL 연결. 지정하지 않으면 msql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, msql_connect()를 호출하여 연결을 만들어 사용합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

msql_create_db()

이전 | 위로 | 다음
msql_dbname | 처음으로 | msql_error


msql_error

(PHP 4, PHP 5)

msql_error -- Returns error message of last msql call

설명

string msql_error ( void )

msql_error() returns the last issued error by the mSQL server. Note that only the last error message is accessible with msql_error().

반환값

The last error message or an empty string if no error was issued.

이전 | 위로 | 다음
msql_drop_db | 처음으로 | msql_fetch_array


msql_fetch_array

(PHP 4, PHP 5)

msql_fetch_array -- Fetch row as array

설명

array msql_fetch_array ( resource $result [, int $result_type] )

msql_fetch_array() is an extended version of msql_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys.

An important thing to note is that using msql_fetch_array() is NOT significantly slower than using msql_fetch_row(), while it provides a significant added value.

매개변수

result

msql_query() 호출을 통한 결과 resource.

result_type

A constant that can take the following values: MSQL_ASSOC, MSQL_NUM, and MSQL_BOTH with MSQL_BOTH being the default.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

예제

예 1275. msql_fetch_array() example

<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_array($result, MSQL_ASSOC)) {
    echo $row['id'] . ': ' . $row['name'] . "\n";
}

msql_free_result($result);
?>

변경 기록

버전 | 설명
4.3.11 and 5.0.4 | A bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.

참고

msql_fetch_row()
msql_fetch_object()
msql_data_seek()
msql_result()

이전 | 위로 | 다음
msql_error | 처음으로 | msql_fetch_field


msql_fetch_field

(PHP 4, PHP 5)

msql_fetch_field -- Get field information

설명

object msql_fetch_field ( resource $result [, int $field_offset] )

msql_fetch_field() can be used in order to obtain information about fields in a certain query result.

매개변수

result

msql_query() 호출을 통한 결과 resource.

field_offset

The field offset. If not specified, the next field that wasn't yet retrieved by msql_fetch_field() is retrieved.

반환값

Returns an object containing field information. The properties of the object are:

  • name - column name

  • table - name of the table the column belongs to

  • not_null - 1 if the column cannot be NULL

  • unique - 1 if the column is a unique key

  • type - the type of the column

참고

msql_field_seek()

이전 | 위로 | 다음
msql_fetch_array | 처음으로 | msql_fetch_object


msql_fetch_object

(PHP 4, PHP 5)

msql_fetch_object -- Fetch row as object

설명

object msql_fetch_object ( resource $result )

msql_fetch_object() is similar to msql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Speed-wise, the function is identical to msql_fetch_array(), and almost as quick as msql_fetch_row() (the difference is insignificant).

매개변수

result

msql_query() 호출을 통한 결과 resource.

반환값

Returns an object with properties that correspond to the fetched row, or FALSE if there are no more rows.

예제

예 1276. msql_fetch_object() example

<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_object($result, MSQL_ASSOC)) {
    echo $row->id . ': ' . $row->name . "\n";
}

msql_free_result($result);
?>

변경 기록

버전 | 설명
4.3.11 and 5.0.4 | A bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.

참고

msql_fetch_array()
msql_fetch_row()
msql_data_seek()
msql_result()

이전 | 위로 | 다음
msql_fetch_field | 처음으로 | msql_fetch_row


msql_fetch_row

(PHP 4, PHP 5)

msql_fetch_row -- Get row as enumerated array

설명

array msql_fetch_row ( resource $result )

msql_fetch_row() fetches one row of data from the result associated with the specified query identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.

Subsequent call to msql_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

매개변수

result

msql_query() 호출을 통한 결과 resource.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

예제

예 1277. msql_fetch_row() example

<?php
$con = msql_connect();
if (!$con) {
    die('Server connection problem: ' . msql_error());
}

if (!msql_select_db('test', $con)) {
    die('Database connection problem: ' . msql_error());
}

$result = msql_query('SELECT id, name FROM people', $con);
if (!$result) {
    die('Query execution problem: ' . msql_error());
}

while ($row = msql_fetch_row($result)) {
    echo $row[0] . ': ' . $row[1] . "\n";
}

msql_free_result($result);
?>

변경 기록

버전 | 설명
4.3.11 and 5.0.4 | A bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.

참고

msql_fetch_array()
msql_fetch_object()
msql_data_seek()
msql_result()

이전 | 위로 | 다음
msql_fetch_object | 처음으로 | msql_field_flags


msql_field_flags

(PHP 4, PHP 5)

msql_field_flags -- Get field flags

설명

string msql_field_flags ( resource $result, int $field_offset )

msql_field_flags() returns the field flags of the specified field.

매개변수

result

msql_query() 호출을 통한 결과 resource.

field_offset

숫자 필드 오프셋. filed_offset은 1부터 시작합니다.

반환값

Returns a string containing the field flags of the specified key. This can be: primary key not null, not null, primary key, unique not null or unique.

이전 | 위로 | 다음
msql_fetch_row | 처음으로 | msql_field_len


msql_field_len

(PHP 4, PHP 5)

msql_field_len -- Get field length

설명

int msql_field_len ( resource $result, int $field_offset )

msql_field_len() returns the length of the specified field.

매개변수

result

msql_query() 호출을 통한 결과 resource.

field_offset

숫자 필드 오프셋. filed_offset은 1부터 시작합니다.

반환값

Returns the length of the specified field or FALSE on error.

이전 | 위로 | 다음
msql_field_flags | 처음으로 | msql_field_name


msql_field_name

(PHP 4, PHP 5)

msql_field_name -- Get the name of the specified field in a result

설명

string msql_field_name ( resource $result, int $field_offset )

msql_field_name() gets the name of the specified field index.

매개변수

result

msql_query() 호출을 통한 결과 resource.

field_offset

숫자 필드 오프셋. filed_offset은 1부터 시작합니다.

반환값

The name of the field or FALSE on failure.

참고

msql_field_len()

이전 | 위로 | 다음
msql_field_len | 처음으로 | msql_field_seek


msql_field_seek

(PHP 4, PHP 5)

msql_field_seek -- Set field offset

설명

bool msql_field_seek ( resource $result, int $field_offset )

Seeks to the specified field offset. If the next call to msql_fetch_field() won't include a field offset, this field would be returned.

매개변수

result

msql_query() 호출을 통한 결과 resource.

field_offset

숫자 필드 오프셋. filed_offset은 1부터 시작합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

msql_fetch_field()

이전 | 위로 | 다음
msql_field_name | 처음으로 | msql_field_table


msql_field_table

(PHP 4, PHP 5)

msql_field_table -- Get table name for field

설명

int msql_field_table ( resource $result, int $field_offset )

Returns the name of the table that the specified field is in.

매개변수

result

msql_query() 호출을 통한 결과 resource.

field_offset

숫자 필드 오프셋. filed_offset은 1부터 시작합니다.

반환값

The name of the table on success, or FALSE on failure.

이전 | 위로 | 다음
msql_field_seek | 처음으로 | msql_field_type


msql_field_type

(PHP 4, PHP 5)

msql_field_type -- Get field type

설명

string msql_field_type ( resource $result, int $field_offset )

msql_field_type() gets the type of the specified field index.

매개변수

result

msql_query() 호출을 통한 결과 resource.

field_offset

숫자 필드 오프셋. filed_offset은 1부터 시작합니다.

반환값

The type of the field. One of int, char, real, ident, null or unknown. This functions will return FALSE on failure.

이전 | 위로 | 다음
msql_field_table | 처음으로 | msql_fieldflags


msql_fieldflags

(PHP 4, PHP 5)

msql_fieldflags -- Alias of msql_field_flags()

설명

This function is an alias of msql_field_flags().

이전 | 위로 | 다음
msql_field_type | 처음으로 | msql_fieldlen


msql_fieldlen

(PHP 4, PHP 5)

msql_fieldlen -- Alias of msql_field_len()

설명

This function is an alias of msql_field_len().

이전 | 위로 | 다음
msql_fieldflags | 처음으로 | msql_fieldname


msql_fieldname

(PHP 4, PHP 5)

msql_fieldname -- Alias of msql_field_name()

설명

This function is an alias of msql_field_name().

이전 | 위로 | 다음
msql_fieldlen | 처음으로 | msql_fieldtable


msql_fieldtable

(PHP 4, PHP 5)

msql_fieldtable -- Alias of msql_field_table()

설명

This function is an alias of msql_field_table().

이전 | 위로 | 다음
msql_fieldname | 처음으로 | msql_fieldtype


msql_fieldtype

(PHP 4, PHP 5)

msql_fieldtype -- Alias of msql_field_type()

설명

This function is an alias of msql_field_type().

이전 | 위로 | 다음
msql_fieldtable | 처음으로 | msql_free_result


msql_free_result

(PHP 4, PHP 5)

msql_free_result -- Free result memory

설명

bool msql_free_result ( resource $result )

msql_free_result() frees the memory associated with query_identifier. When PHP completes a request, this memory is freed automatically, so you only need to call this function when you want to make sure you don't use too much memory while the script is running.

매개변수

result

msql_query() 호출을 통한 결과 resource.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
msql_fieldtype | 처음으로 | msql_list_dbs


msql_list_dbs

(PHP 4, PHP 5)

msql_list_dbs -- List mSQL databases on server

설명

resource msql_list_dbs ( [resource $link_identifier] )

msql_list_tables() lists the databases available on the specified link_identifier.

매개변수

link_identifier

mSQL 연결. 지정하지 않으면 msql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, msql_connect()를 호출하여 연결을 만들어 사용합니다.

반환값

Returns a result set which may be traversed with any function that fetches result sets, such as msql_fetch_array(). On failure, this function will return FALSE.

참고

msql_list_tables()
msql_list_fields()

이전 | 위로 | 다음
msql_free_result | 처음으로 | msql_list_fields


msql_list_fields

(PHP 4, PHP 5)

msql_list_fields -- List result fields

설명

resource msql_list_fields ( string $database, string $tablename [, resource $link_identifier] )

msql_list_fields() returns information about the given table.

매개변수

database

The name of the database.

tablename

The name of the table.

link_identifier

mSQL 연결. 지정하지 않으면 msql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, msql_connect()를 호출하여 연결을 만들어 사용합니다.

반환값

Returns a result set which may be traversed with any function that fetches result sets, such as msql_fetch_array(). On failure, this function will return FALSE.

참고

msql_list_tables()
msql_list_dbs()

이전 | 위로 | 다음
msql_list_dbs | 처음으로 | msql_list_tables


msql_list_tables

(PHP 4, PHP 5)

msql_list_tables -- List tables in an mSQL database

설명

resource msql_list_tables ( string $database [, resource $link_identifier] )

msql_list_tables() lists the tables on the specified database.

매개변수

database

The name of the database.

link_identifier

mSQL 연결. 지정하지 않으면 msql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, msql_connect()를 호출하여 연결을 만들어 사용합니다.

반환값

Returns a result set which may be traversed with any function that fetches result sets, such as msql_fetch_array(). On failure, this function will return FALSE.

참고

msql_list_fields()
msql_list_dbs()

이전 | 위로 | 다음
msql_list_fields | 처음으로 | msql_num_fields


msql_num_fields

(PHP 4, PHP 5)

msql_num_fields -- Get number of fields in result

설명

int msql_num_fields ( resource $result )

msql_num_fields() returns the number of fields in a result set.

매개변수

result

msql_query() 호출을 통한 결과 resource.

반환값

Returns the number of fields in the result set.

참고

msql_query()
msql_fetch_field()
msql_num_rows()

이전 | 위로 | 다음
msql_list_tables | 처음으로 | msql_num_rows


msql_num_rows

(PHP 4, PHP 5)

msql_num_rows -- Get number of rows in result

설명

int msql_num_rows ( resource $query_identifier )

msql_num_rows() returns the number of rows in a result set.

매개변수

result

msql_query() 호출을 통한 결과 resource.

반환값

Returns the number of rows in the result set.

참고

msql_num_fields()

이전 | 위로 | 다음
msql_num_fields | 처음으로 | msql_numfields


msql_numfields

(PHP 4, PHP 5)

msql_numfields -- Alias of msql_num_fields()

설명

This function is an alias of msql_num_fields().

이전 | 위로 | 다음
msql_num_rows | 처음으로 | msql_numrows


msql_numrows

(PHP 4, PHP 5)

msql_numrows -- Alias of msql_num_rows()

설명

This function is an alias of msql_num_rows().

이전 | 위로 | 다음
msql_numfields | 처음으로 | msql_pconnect


msql_pconnect

(PHP 4, PHP 5)

msql_pconnect -- Open persistent mSQL connection

설명

resource msql_pconnect ( [string $hostname] )

msql_pconnect() acts very much like msql_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (msql_close() will not close links established by this function).

매개변수

hostname

The hostname can also include a port number. e.g. hostname,port.

If not specified, the connection is established by the means of a Unix domain socket, being then more efficient then a localhost TCP socket connection.

참고: While this function will accept a colon (:) as a host/port separator, a comma (,) is the preferred method.

반환값

Returns a positive mSQL link identifier on success, or FALSE on error.

참고

msql_connect()
msql_close()

이전 | 위로 | 다음
msql_numrows | 처음으로 | msql_query


msql_query

(PHP 4, PHP 5)

msql_query -- Send mSQL query

설명

resource msql_query ( string $query [, resource $link_identifier] )

msql_query() sends a query to the currently active database on the server that's associated with the specified link identifier.

매개변수

query

The SQL query.

link_identifier

mSQL 연결. 지정하지 않으면 msql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, msql_connect()를 호출하여 연결을 만들어 사용합니다.

반환값

Returns a positive mSQL query identifier on success, or FALSE on error.

예제

예 1278. msql_query() example

<?php
$link = msql_connect("dbserver")
   or die("unable to connect to msql server: " . msql_error());
msql_select_db("db", $link)
   or die("unable to select database 'db': " . msql_error());

$result = msql_query("SELECT * FROM table WHERE id=1", $link);
if (!$result) {
   die("query failed: " . msql_error());
}

while ($row = msql_fetch_array($result)) {
    echo $row["id"];
}
?>

참고

msql_db_query()
msql_select_db()
msql_connect()

이전 | 위로 | 다음
msql_pconnect | 처음으로 | msql_regcase


msql_regcase

(PHP 4, PHP 5)

msql_regcase -- Alias of sql_regcase()

설명

This function is an alias of sql_regcase().

이전 | 위로 | 다음
msql_query | 처음으로 | msql_result


msql_result

(PHP 4, PHP 5)

msql_result -- Get result data

설명

string msql_result ( resource $result, int $row [, mixed $field] )

msql_result() returns the contents of one cell from a mSQL result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they are often much quicker than msql_result().

Recommended high-performance alternatives:
msql_fetch_row(),
msql_fetch_array(), and
msql_fetch_object().

매개변수

result

msql_query() 호출을 통한 결과 resource.

row

The row offset.

field

Can be the field's offset, or the field's name, or the field's table dot field's name (tablename.fieldname.). If the column name has been aliased ('select foo as bar from ...'), use the alias instead of the column name.

참고: Specifying a numeric field offset is much quicker than specifying a fieldname or tablename.fieldname.

반환값

Returns the contents of the cell at the row and offset in the specified mSQL result set.

이전 | 위로 | 다음
msql_regcase | 처음으로 | msql_select_db


msql_select_db

(PHP 4, PHP 5)

msql_select_db -- Select mSQL database

설명

bool msql_select_db ( string $database_name [, resource $link_identifier] )

msql_select_db() sets the current active database on the server that's associated with the specified link_identifier.

Subsequent calls to msql_query() will be made on the active database.

매개변수

database_name

The database name.

link_identifier

mSQL 연결. 지정하지 않으면 msql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, msql_connect()를 호출하여 연결을 만들어 사용합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

msql_connect()
msql_pconnect()
msql_query()

이전 | 위로 | 다음
msql_result | 처음으로 | msql_tablename


msql_tablename

(PHP 4, PHP 5)

msql_tablename -- Alias of msql_result()

설명

This function is an alias of msql_result().

이전 | 위로 | 다음
msql_select_db | 처음으로 | msql


msql

(PHP 4, PHP 5)

msql -- Alias of msql_db_query()

설명

This function is an alias of msql_db_query().

이전 | 위로 | 다음
msql_tablename | 처음으로 | XCVI. Multibyte String Functions


MySQL 함수

이전 VI. 함수 레퍼런스 다음

XCVIII. MySQL 함수

소개

이 함수들은 MySQL 데이터베이스 서버에 접근할 수 있도록 합니다. MySQL에 대한 정보는 » http://www.mysql.com/에서 확인할 수 있습니다.

MySQL 문서는 » http://dev.mysql.com/doc/에서 볼 수 있습니다.

요구 조건

이 함수들을 사용하려면, PHP가 MySQL을 지원하도록 컴파일해야 합니다.

설치

설정 옵션 --with-mysql[=DIR]을 사용하여 PHP가 MySQL 데이터베이스 접근을 활성화합니다.

PHP 4에서는, 옵션 --with-mysql은 기본값으로 활성화되어 있습니다. 이 기본 행동을 비활성화하기 위해서, 설정 옵션 --without-mysql을 사용할 수 있습니다. 또한 PHP 4에서는, MySQL 설치 DIR 경로를 지정하지 않고 MySQL을 활성화하면, PHP는 번들된 MySQL 클라이언트 라이브러리를 사용합니다. 윈도우즈에서는, DLL 없이, 단순히 PHP 4에 포함되어 있습니다. MySQL을 사용하는 다른 어플리케이션(예를들면, auth-mysql)을 사용하는 유저는 번들된 라이브러리를 사용하지 말고, 다음 방법으 MySQL의 설치 디렉토리 경로를 지정해야 합니다: --with-mysql=/path/to/mysql. 이는 PHP가 MySQL에 의해 설치한 클라이언트 라이브러리를 사용하도록 강제해서, 혼동을 피하게 합니다.

PHP 5에서는, MySQL은 더이상 기본값으로 활성화되어있지 않고, MySQL 라이브러리도 PHP에 번들되어 있지 않습니다. 자세한 이유에 대해서는 FAQ를 읽어보십시오.

MySQL 확장은 MySQL 4.1.0 이상의 모든 기능을 지원하지 않습니다. 대신, MySQLi를 사용하십시오.

mysqli 확장과 함께 mysql 확장을 설치하려 할 때는, 혼동을 피하기 위해 같은 클라이언트 라이브러리를 사용해야 합니다.

주의

레코드 확장과 함께 이 확장을 로드할 때, PHP의 충돌과 시작 문제가 발생할 수 있습니다. 자세한 정보는 레코드 확장을 참고하십시오.

참고: latin(기본값) 외의 문자셋이 필요하면, 문자셋 지원으로 컴파일한 외부(번들이 아닌) libmysql을 설치해야 합니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 176. MySQL 설정 옵션

이름 | 기본값 | 설정권한 | 변경점
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | PHP 4.3.0부터 사용할 수 있습니다.
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | PHP 4.0.1부터 사용할 수 있습니다.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP <= 4.3.2에서는 PHP_INI_SYSTEM입니다. PHP 4.3.0부터 사용할 수 있습니다.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

mysql.allow_persistent boolean

MySQL에 지속 접속의 허용 여부.

mysql.max_persistent integer

프로세스 당 MySQL 지속 접속의 최대수.

mysql.max_links integer

지속 접속을 포함하여, 프로세스 당 MySQL 접속의 최대수.

mysql.trace_mode boolean

추적 모드. mysql.trace_mode를 활성화 하면, 테이블/인덱스 스캔, 해제되지 않은 결과 셋 등의 경고 메세지 및 SQL 오류 메세지가 표시됩니다. (PHP 4.3.0에서 추가)

mysql.default_port string

다른 포트를 지정하지 않았을 때, 데이터베이스 서버 접속에 사용하는 기본 TCP 포트. 기본값이 설정되지 않으면, MYSQL_TCP_PORT 환경 변수, /etc/services의 mysql_tcp, 컴파일 시의 MYSQL_PORT 상수를 순차적으로 확인합니다. Win32에서는 MYSQL_PORT 상수만을 사용합니다.

mysql.default_socket string

다른 소켓 이름을 지정하지 않았을 때, 로컬 데이터베이스 서버 접속에 사용하는 기본 소켓 이름.

mysql.default_host string

다른 호스트를 지정하지 않았을 때, 데이터베이스 서버에 접속할 때 사용하는 기본 서버 호스트. SQL 안전 모드에서는 적용하지 않습니다.

mysql.default_user string

다른 이름을 지정하지 않았을 때, 데이터베이스 서버 접속에 사용하는 기본 유저 이름. SQL 안전 모드에서는 적용하지 않습니다.

mysql.default_password string

다른 패스워드를 지정하지 않았을 때, 데이터베이스 서버 접속에 사용하는 기본 패스워드. SQL 안전 모드에서는 적용하지 않습니다.

mysql.connect_timeout integer

초로 나타낸 접속 시간 초과. 리눅스에서는 이 시간 초과를 서버로부터 첫번째 응답이 오기를 기다리는 데에도 사용합니다.

자원형

MySQL 모듈에서 사용하는 두가지 자원형이 존재합니다. 첫번째는 데이터베이스 접속을 위한 연결 확인자, 두번째는 쿼리의 결과를 가지는 자원입니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

PHP 4.3.0부터 mysql_connect()과 mysql_pconnect()에 추가 클라이언트 플래그를 지정할 수 있습니다. 다음의 상수가 정의되어 있습니다:

표 177. MySQL client constants

상수 | 설명
MYSQL_CLIENT_COMPRESS | 압축 프로토콜을 사용합니다.
MYSQL_CLIENT_IGNORE_SPACE | 함수 이름 뒤의 공백을 허용합니다.
MYSQL_CLIENT_INTERACTIVE | 접속을 종료하기 전 비활동의 (wait_timeout 대신) interactive_timeout 초를 허용합니다.

mysql_fetch_array()은 반환 배열을 다른 형식으로 나타내기 위한 상수를 사용합니다. 다음의 상수가 정의되어 있습니다:

표 178. MySQL fetch constants

상수 | 설명
MYSQL_ASSOC | 배열 인덱스로 필드 이름을 가지는 배열로 컬럼을 반환합니다.
MYSQL_BOTH | 배열 인덱스로 숫자 인덱스와 필드 이름을 둘 다 가지는 배열로 컬럼을 반환합니다.
MYSQL_NUM | 필드에 대한 숫자 인덱스를 가지는 배열로 컬럼을 반환합니다. 인덱스는 결과의 첫번째 필드를 0으로 시작합니다.

예제

MySQL 데이터베이스에 접속하여, 쿼리를 실행하고, 결과열을 출력하고, 접속을 끊는 방법을 보여주는 간단한 예제입니다.

예 1304. MySQL 확장 개요 예제

<?php
/* 접속하고, 데이터베이스를 선택 */
$link = mysql_connect("mysql_host", "mysql_user", "mysql_password")
    or die("접속할 수 없습니다 : " . mysql_error());
echo "접속 성공";
mysql_select_db("my_database") or die("데이터베이스를 선택할 수 없습니다.");

/* SQL 쿼리 실행하기 */
$query = "SELECT * FROM my_table";
$result = mysql_query($query) or die("쿼리 실패 : " . mysql_error());

/* HTML로 결과 출력하기 */
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

/* 결과셋 해제하기 */
mysql_free_result($result);

/* 접속 종료 */
mysql_close($link);
?>

차례

mysql_affected_rows -- 최근 MySQL 작업으로 변경된 행 개수를 얻음
mysql_change_user -- 현 접속에서 로그인된 사용자를 변경
mysql_client_encoding -- 문자셋을 반환
mysql_close -- MySQL 접속을 닫음
mysql_connect -- MySQL 서버에 접속
mysql_create_db -- MySQL 데이터베이스를 생성
mysql_data_seek -- 내부 결과 포인터를 이동
mysql_db_name -- 결과 데이터를 반환
mysql_db_query -- MySQL 질의를 전송
mysql_drop_db -- MySQL 데이터베이스를 삭제
mysql_errno -- 최근 MySQL 작업으로 발생한 에러 번호를 반환
mysql_error -- 최근 실행된 MySQL 작업으로 발생한 에러 메시지를 반환
mysql_escape_string -- mysql_query에서 문자열을 escape하기위해 사용
mysql_fetch_array -- 연관 색인 및 숫자 색인으로 된 배열로 결과 행을 반환
mysql_fetch_assoc -- 연관 배열로 결과 행을 반환
mysql_fetch_field -- 결과로 부터 컬럼 정보를 얻어서 객체형태로 반환
mysql_fetch_lengths -- 결과로부터 각 출력의 길이를 반환
mysql_fetch_object -- 객체형으로 결과 행을 인출
mysql_fetch_row -- 숫자 색인 배열로 결과를 반환
mysql_field_flags -- 결과로부터 특정 필드와 관련된 플래그를 반환
mysql_field_len -- Returns the length of the specified field
mysql_field_name -- 결과로부터 특정 필드의 이름을 반환
mysql_field_seek -- 특정 필드의 오프셋으로 결과 포인터를 이동
mysql_field_table -- 특정 필드가 속한 테이블명을 얻음
mysql_field_type -- 결과로부터 특정 필드의 데이터 형(type) 정보를 반환
mysql_free_result -- 질의결과를 메모리에서 해제
mysql_get_client_info -- MySQL 클라이언트 정보를 반환
mysql_get_host_info -- MySQL 호스트 정보를 반환
mysql_get_proto_info -- MySQL 프로토콜 정보를 얻는다
mysql_get_server_info -- MySQL 서버 정보를 반환
mysql_info -- 가장 최근 질의에 대한 정보를 반환
mysql_insert_id -- 이전의 INSERT 작업으로부터 생성된 ID를 반환
mysql_list_dbs -- MySQL 서버에 있는 데이터베이스 목록을 반환
mysql_list_fields -- MySQL 테이블 필드를 반환
mysql_list_processes -- MySQL 프로세스 목록을 반환
mysql_list_tables -- MySQL 데이터베이스에서 테이블 목록을 반환
mysql_num_fields -- 결과로부터 필드의 개수를 반환
mysql_num_rows -- 결과로부터 행의 개수를 반환
mysql_pconnect -- MySQL 서버로 영속적으로 접속
mysql_ping -- 서버 접속을 검사하고 접속이 없으면 재접속한다
mysql_query -- MySQL 질의를 전송
mysql_real_escape_string -- mysql_query에서 특수 문자열을 이스케이프(escape)하기위해 사용
mysql_result -- 결과 데이터를 반환
mysql_select_db -- MySQL 데이터베이스를 선택
mysql_set_charset -- Sets the client character set
mysql_stat -- 현재 시스템 상태를 반환
mysql_tablename -- 필드가 존재하는 테이블명을 반환
mysql_thread_id -- 현재 쓰레드 ID를 반환
mysql_unbuffered_query -- 결과 행을 버퍼링하지도 인출하지도 않으면서 MySQL로 SQL 질의를 전송
이전 | 위로 | 다음
muscat_setup | 처음으로 | mysql_affected_rows


mysql_affected_rows

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_affected_rows -- 최근 MySQL 작업으로 변경된 행 개수를 얻음

설명

int mysql_affected_rows ( [resource $link_identifier] )

link_identifier와 연관된 최근의 INSERT, UPDATE, DELETE 질의에 의해 변경된 행의 개수를 돌려준다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

최근 질의가 실패했을 경우 -1을 반환하고, 그렇지 않을 경우 적용된 행의 개수를 반환한다.

최근 질의가 WHERE 절이 없는 DELETE 질의일 경우 테이블의 모든 레코드가 삭제되지만, 4.1.2 버전 이후의 MySQL은 0을 반환한다.

UPDATE를 사용할 때, MySQL은 기존 값과 새로운 값이 동일한 컬럼들은 변경하지 않을 것이다. mysql_affected_rows()는 조건에 해당하는 행의 개수가 아닌 실제 변경된 행의 개수를 제공한다.

REPLACE 구문은 동일한 기본키의 레코드를 먼저 삭제한 다음 새 레코드를 삽입한다. 결국, 이 함수는 삽입된 레코드수와 삭제된 레코드수를 더한 값을 반환한다.

예제

예 1305. mysql_affected_rows() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

/* this should return the correct numbers of deleted records */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n", mysql_affected_rows());

/* with a where clause that is never true, it should return 0 */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Records deleted: %d\n", mysql_affected_rows());
?>

위 예제의 출력 예:

Records deleted: 10
Records deleted: 0

예 1306. 트랜젝션을 이용한 mysql_affected_rows() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

/* Update records */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

위 예제의 출력 예:

Updated Records: 10

주의

트랜젝션 사용: 트랜젝션을 사용한다면 mysql_affected_rows()는 COMMIT 명령 이후가 아니라 INSERT, UPDATE, DELETE 명령 직후에 호출해야 한다.

SELECT 구문: SELECT에 의해 반환된 행의 수를 얻기 위해서는 mysql_num_rows()를 사용하면 된다.

참고

mysql_num_rows()
mysql_info()

이전 | 위로 | 다음
XCVIII. MySQL 함수 | 처음으로 | mysql_change_user


mysql_change_user

(No version information available, might be only in CVS)

mysql_change_user -- 현 접속에서 로그인된 사용자를 변경

설명

int mysql_change_user ( string $user, string $password [, string $database [, resource $link_identifier]] )

mysql_change_user()는 현재 접속 또는 link_identifier로 주어진 접속에서 로그인된 사용자를 변경한다. 데이터베이스 이름이 지정되면, 사용자가 변경된 후 변경된 데이터베이스가 기본값으로 되며, 그렇지 않을 경우 현재 데이터베이스가 사용된다. 변경할 사용자와 비밀번호 인증에 실패하게되면, 현재 접속된 사용자의 접속은 그대로 유지된다.

본 함수는 PHP에서 더이상 존재하지 않으며 권장되지 않는다.

매개변수

user

변경할 MySQL 사용자명.

password

변경할 MySQL 사용자의 접속 비밀번호.

database

MySQL 데이터베이스명. 지정되지 않으면 현재 선택된 데이터베이스를 사용.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
3.0.14 | 본 함수는 PHP로부터 제거되었습니다.

주의

필수사항: 본 함수는 MySQL 3.23.3 또는 그 이상의 버전을 필요로 한다.

참고

mysql_connect()
mysql_select_db()
mysql_query()

이전 | 위로 | 다음
mysql_affected_rows | 처음으로 | mysql_client_encoding


mysql_client_encoding

(PHP 4 >= 4.3.0, PHP 5, PECL mysql:1.0)

mysql_client_encoding -- 문자셋을 반환

설명

string mysql_client_encoding ( [resource $link_identifier] )

MySQL로부터 character_set 변수값을 반환한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

현재 접속의 기본 문자셋을 반환한다.

예제

예 1307. mysql_client_encoding() 예제

<?php
$link    = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);

echo "The current character set is: $charset\n";
?>

위 예제의 출력 예:

The current character set is: latin1

참고

mysql_real_escape_string()

이전 | 위로 | 다음
mysql_change_user | 처음으로 | mysql_close


mysql_close

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_close -- MySQL 접속을 닫음

설명

bool mysql_close ( [resource $link_identifier] )

mysql_close()는 link_identifier와 연관된 MySQL서버의 비영속적 접속을 종료한다. link_identifier가 기술되지 않으면 최근 접속된 연결을 사용한다.

mysql_close()는 비영구적으로 열려진 링크에서는 일반적으로 스크립트 실행 마지막 부분에서 자동으로 종료되므로 사용할 필요가 없다. resource 해제하기.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1308. mysql_close() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

위 예제의 출력:

Connected successfully

주의

참고: mysql_close()는 mysql_pconnect()에 의해 영속적으로 연결된 접속은 종료하지 않는다.

참고

mysql_connect()
mysql_free_result()

이전 | 위로 | 다음
mysql_client_encoding | 처음으로 | mysql_connect


mysql_connect

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_connect -- MySQL 서버에 접속

설명

resource mysql_connect ( [string $server [, string $username [, string $password [, bool $new_link [, int $client_flags]]]]] )

MySQL 서버에 접속을 생성하거나 기존 접속을 재사용한다.

매개변수

server

MySQL 서버명을 입력하며, 포트번호가 포함될 수 있다. 예) "hostname:port" 또는, 로컬호스트를 위해 로컬 소켓 경로가 될 수도 있다. 예) ":/path/to/socket"

PHP 지시어 mysql.default_host를 지정하지 않았다면(기본값), 'localhost:3306'입니다. SQL 안전 모드에서는, 이 매개변수를 무시하고 항상 'localhost:3306' 값을 사용합니다.

username

사용자명. 기본값은 mysql.default_user로 지정합니다. SQL 안전 모드에서는, 이 매개변수를 무시하고 사용중인 서버 프로세스를 소유하는 사용자 이름을 사용합니다.

password

비밀번호. 기본값은 mysql.default_password로 지정합니다. SQL 안전 모드에서는, 이 매개변수를 무시하고 빈 비밀번호를 사용합니다.

new_link

동일한 인수로 mysql_connect()을 다시 호출하면, 새로운 link가 생성되는 것이 아니라, 이미 생성된 link 식별자 값을 돌려받게 된다. 단, new_link로 mysql_connect()를 호출하면 동일한 인수로 mysql_connect()를 이미 호출하였다 하더라도 항상 새로운 접속을 생성한다. SQL 안전 모드에서는, 이 매개변수를 무시합니다.

client_flags

client_flags 매개변수는 다음 상수들을 조합하여 사용할 수 있습니다: 128 (LOAD DATA LOCAL 핸들링 활성화), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE, MYSQL_CLIENT_INTERACTIVE. 자세한 정보는 mysql.client-flags를 읽어보십시오. SQL 안전 모드에서는, 이 매개변수를 무시합니다.

반환값

접속 성공시 MySQL link 식별자를 반환하고, 실패시에는 FALSE를 반환한다.

변경 기록

버전 | 설명
4.3.0 | client_flags가 추가되었다.
4.2.0 | new_link가 추가되었다.
3.0.10 | server에 ":/path/to/socket" 를 사용할 수 있게 되었다.
3.0.0 | server에 ":port" 를 사용 가능하게 되었다.

예제

예 1309. mysql_connect() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

예 1310. hostname:port 문법을 사용한 mysql_connect() 예제

<?php
// we connect to example.com and port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);

// we connect to localhost at port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

예 1311. ":/path/to/socket" 문법을 사용한 mysql_connect() 예제

<?php
// we connect to localhost and socket e.g. /tmp/mysql.sock

//variant 1: ommit localhost
$link = mysql_connect('/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);

// variant 2: with localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

주의

참고: 서버에서는 "localhost" 및 "localhost:port"를 사용할 때마다 로컬 소켓(윈도우즈에서는 named pipe)으로 접속을 시도한다. TCP/IP를 이용하려면 "localhost" 대신 "127.0.0.1"를 사용하면 된다. MySQL 클라이언트 라이브러리가 로컬 소켓으로 잘못된 접속을 시도한다면, PHP 환경설정에 있는 mysql.default_host string 항목에 경로를 수정하고, server에 빈 값으로 호출해야 한다.

참고: 서버로 접속은 mysql_close()을 명시적으로 호출하여 종료하지 않더라도 스크립트가 종료되는 순간 종료될 것이다.

참고: 함수 이름 앞에 @를 이용하여 접속 실패 에러 메시지를 출력되지 않도록 할 수 있다.

참고

mysql_pconnect()
mysql_close()

이전 | 위로 | 다음
mysql_close | 처음으로 | mysql_create_db


mysql_create_db

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_create_db -- MySQL 데이터베이스를 생성

설명

bool mysql_create_db ( string $database_name [, resource $link_identifier] )

mysql_create_db()는 link 지시자와 연결된 서버에 새로운 데이터베이스를 생성하도록 한다.

매개변수

database_name

생성될 데이터베이스 이름.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1312. mysql_create_db() 예제

mysql_create_db()의 사용은 권장되지 않는다. 대신, mysql_query()의 CREATE DATABASE 구문으로 질의하면 된다.

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

$sql = 'CREATE DATABASE my_db';
if (mysql_query($sql, $link)) {
    echo "Database my_db created successfully\n";
} else {
    echo 'Error creating database: ' . mysql_error() . "\n";
}
?>

위 예제의 출력 예:

Database my_db created successfully

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_createdb()

참고: 본 함수는 MySQL 4.x 클라이언트 라이브러리로 구축된 MySQL 확장이라면 사용이 불가능할 것이다.

참고

mysql_query()
mysql_select_db()

이전 | 위로 | 다음
mysql_connect | 처음으로 | mysql_data_seek


mysql_data_seek

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_data_seek -- 내부 결과 포인터를 이동

설명

bool mysql_data_seek ( resource $result, int $row_number )

mysql_data_seek()는 result에 지정한 MySQL 결과의 내부 행 포인터를 지정한 행 번호로 옮깁니다. 다음으로 mysql_fetch_assoc() 등의 MySQL 페치 함수를 호출하면, 그 행이 반환됩니다.

row_number는 0부터 시작합니다. row_number는 0부터 mysql_num_rows() - 1까지의 값을 가질 수 있습니다. 그러나 결과셋이 비어 있고(mysql_num_rows() == 0), 0행을 탐색하면 E_WARNING을 발생하며 실패하고 mysql_data_seek()는 FALSE를 반환합니다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

row_number

새로운 결과 포인터의 행 번호를 필요로 한다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1313. mysql_data_seek() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
    die('Could not select database: ' . mysql_error());
}
$query = 'SELECT last_name, first_name FROM friends';
$result = mysql_query($query);
if (!$result) {
    die('Query failed: ' . mysql_error());
}
/* fetch rows in reverse order */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
    if (!mysql_data_seek($result, $i)) {
        echo "Cannot seek to row $i: " . mysql_error() . "\n";
        continue;
    }

    if (!($row = mysql_fetch_assoc($result))) {
        continue;
    }

    echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";
}

mysql_free_result($result);
?>

주의

참고: mysql_data_seek() 함수는 mysql_query()와 함께 사용할 경우에는 사용할 수 있으나 , mysql_unbuffered_query()와는 함께 사용할 수 없다.

참고

mysql_query()
mysql_num_rows()
mysql_fetch_row()
mysql_fetch_assoc()
mysql_fetch_array()
mysql_fetch_object()

이전 | 위로 | 다음
mysql_create_db | 처음으로 | mysql_db_name


mysql_db_name

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_db_name -- 결과 데이터를 반환

설명

string mysql_db_name ( resource $result, int $row [, mixed $field] )

mysql_list_dbs()를 호출한 결과로부터 데이터베이스 이름을 조회한다.

매개변수

result

mysql_list_dbs() 호출로 얻은 결과 포인터.

row

결과 집합의 인덱스.

field

필드명.

반환값

성공하면 데이터베이스 이름을 반환하고 실패할 경우 FALSE를 반환한다. FALSE이 반환되었을 경우, mysql_error()를 사용하여 에러의 형태를 확인한다.

예제

예 1314. mysql_db_name() 예제

<?php
error_reporting(E_ALL);

$link = mysql_connect('dbhost', 'username', 'password');
$db_list = mysql_list_dbs($link);

$i = 0;
$cnt = mysql_num_rows($db_list);
while ($i < $cnt) {
    echo mysql_db_name($db_list, $i) . "\n";
    $i++;
}
?>

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_dbname()

참고

mysql_list_dbs()
mysql_tablename()

이전 | 위로 | 다음
mysql_data_seek | 처음으로 | mysql_db_query


mysql_db_query

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_db_query -- MySQL 질의를 전송

설명

resource mysql_db_query ( string $database, string $query [, resource $link_identifier] )

mysql_db_query()는 데이터베이스를 선택하면서, 질의를 실행한다.

매개변수

database

선택되어질 데이터베이스 이름.

query

MySQL 질의문.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

질의 결과로부터 얻은 MySQL 결과 또는 에러가 발생할 경우 FALSE를 반환한다. 또한, INSERT/UPDATE/DELETE질의를 실행했을 때에는 성공/실패 결과로 TRUE/FALSE를 반환한다.

변경 기록

버전 | 설명
4.0.6 | 본 함수는 더 이상 존재하지 않으며 권장되지 않는다. 대신, mysql_select_db()과 mysql_query()를 사용하라.

예제

예 1315. mysql_db_query() 예제

<?php

if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Could not connect to mysql';
    exit;
}

if (!mysql_select_db('mysql_dbname', $link)) {
    echo 'Could not select database';
    exit;
}

$sql    = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);

if (!$result) {
    echo "DB Error, could not query the database\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_assoc($result)) {
    echo $row['foo'];
}

mysql_free_result($result);

?>

주의

참고: 이 함수는 이전에 접속된 데이터베이스로 변경되지는 않는다. 다시말하면, 다른 데이터베이스에서 SQL 질의를 위해 임시로 실행하는 용도로 본 함수를 사용할 수 없으며, 직접 데이터베이스를 변경해야만 한다. 본 함수 대신, SQL 질의에서의 database.table 문법과 mysql_select_db()를 사용하기를 권장한다.

참고

mysql_query()
mysql_select_db()

이전 | 위로 | 다음
mysql_db_name | 처음으로 | mysql_drop_db


mysql_drop_db

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_drop_db -- MySQL 데이터베이스를 삭제

설명

bool mysql_drop_db ( string $database_name [, resource $link_identifier] )

mysql_drop_db()는 link_identifier 인자와 연관된 서버로부터 데이터베이스 삭제를 시도한다. 본 함수는 사용이 권장되지 않으며, 대신 DROP DATABASE 구문의 SQL을 mysql_query()을 이용하여 실행하는 것을 권한다.

매개변수

database_name

삭제될 데이터베이스 이름.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1316. mysql_drop_db() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

$sql = 'DROP DATABASE my_db';
if (mysql_query($sql, $link)) {
    echo "Database my_db was successfully dropped\n";
} else {
    echo 'Error dropping database: ' . mysql_error() . "\n";
}
?>

주의

주의

본 함수는 MySQL 4.x 클라이언트 라이브러리에 대응하는 MySQL 확장에서는 사용이 불가능할 것이다.

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_dropdb()

참고

mysql_query()

이전 | 위로 | 다음
mysql_db_query | 처음으로 | mysql_errno


mysql_errno

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_errno -- 최근 MySQL 작업으로 발생한 에러 번호를 반환

설명

int mysql_errno ( [resource $link_identifier] )

최근 실행된 MySQL 함수로부터 에러 번호를 반환한다.

MySQL 데이터베이스 후면으로부터 발생한 에러들은 경고를 발생하지 않는다. 대신, mysql_errno()를 사용하여 에러 코드를 조회할 수 있다. 본 함수는 가장 최근에 실행된 MySQL 함수(mysql_error(), mysql_errno()는 제외)로부터 발생한 에러 코드만을 반환하므로 다른 MySQL 함수를 호출하기 전에 에러코드를 점검하기 위해 본 함수를 사용할 필요가 있다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

최근 MySQL 함수로부터 에러를 반환하거나 에러가 없을 경우에는 0을 반환한다.

예제

예 1317. mysql_errno() 예제

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("nonexistentdb", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link). "\n";
}

mysql_select_db("kossu", $link);
if (!mysql_query("SELECT * FROM nonexistenttable", $link)) {
    echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
}
?>

위 예제의 출력 예:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

참고

mysql_error()
» MySQL 에러 코드

이전 | 위로 | 다음
mysql_drop_db | 처음으로 | mysql_error


mysql_error

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_error -- 최근 실행된 MySQL 작업으로 발생한 에러 메시지를 반환

설명

string mysql_error ( [resource $link_identifier] )

최근 실행된 MySQL 함수로부터 에러 메시지를 반환한다. MySQL 데이터베이스 후면으로부터 발생한 에러들은 경고를 발생하지 않는다. 대신, mysql_error()를 사용하여 에러 메시지를 조회할 수 있다. 본 함수는 가장 최근에 실행된 MySQL 함수(mysql_error() and mysql_errno()는 제외)로부터 발생한 에러 메시지만을 반환하므로 다른 MySQL 함수를 호출하기 전에 에러 메시지를 점검하기 위해 본 함수를 사용할 필요가 있다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

MySQL 함수로 발생된 에러 메시지를 얻을 수 있으며, 에러가 발생하지 않았을 경우에는 ''(빈 값)을 얻을 수 있다.

예제

예 1318. mysql_error() 예제

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);
mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?>

위 예제의 출력 예:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

참고

mysql_errno()
» MySQL 에러 목록

이전 | 위로 | 다음
mysql_errno | 처음으로 | mysql_escape_string


mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5, PECL mysql:1.0)

mysql_escape_string -- mysql_query에서 문자열을 escape하기위해 사용

설명

string mysql_escape_string ( string $unescaped_string )

이 함수는 unescaped_string을 mysql_query()에 안전하도록 escape시킨다. 이 함수의 사용은 권장하지 않는다.

이 함수는 접속 핸들러를 이용하여 현재 문자셋을 따라서 문자를 escape하는 것만 제외하고는 mysql_real_escape_string()와 비슷하다. mysql_escape_string()는 접속 핸들러를 인자로 갖지 않으며, 현재 문자셋에 대해 고려하지 않는다.

매개변수

unescaped_string

Escape할 문자열.

반환값

Escape된 문자열.

변경 기록

버전 | 설명
4.3.0 | 이 함수의 사용은 권장하지 않는다. 대신, mysql_real_escape_string()를 사용하라.

예제

예 1319. mysql_escape_string() 예제

<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf("Escaped string: %s\n", $escaped_item);
?>

위 예제의 출력:

Escaped string: Zak\'s Laptop

주의

참고: mysql_escape_string()은 %와 _를 escape하지 않는다.

참고

mysql_real_escape_string()
addslashes()
magic_quotes_gpc 지시자.

이전 | 위로 | 다음
mysql_error | 처음으로 | mysql_fetch_array


mysql_fetch_array

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_fetch_array -- 연관 색인 및 숫자 색인으로 된 배열로 결과 행을 반환

설명

array mysql_fetch_array ( resource $result [, int $result_type] )

인출된 행을 배열로 반환하고, 앞으로 내부 데이터 포인터를 이동한다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

result_type

인출될 배열의 형태. 배열의 형태는 다음과 같은 상수가 올 수 있다: MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH. 기본값은 MYSQL_BOTH이다.

반환값

인출된 배열을 반환하거나 더 이상 인출할 행이 없을 경우에는 FALSE를 반환한다. 인출되는 배열은 result_type에 따라 결정이 된다. 기본값인 MYSQL_BOTH는 연관 색인과 숫자형 색인 모두 반환할 것이다. MYSQL_ASSOC를 사용하면, mysql_fetch_assoc()처럼 연관된 인덱스 배열로 반환하고, MYSQL_NUM를 사용하면, mysql_fetch_row()처럼 숫자형 인덱스 배열로 반환한다.

동일한 이름을 포함하는 둘 또는 그 이상의 컬럼들은 마지막 컬럼이 우선권을 가질 것이다. 동일한 이름의 다른 컬럼에 접근하기 위해서는 숫자 색인 또는 별명(alias) 컬럼명을 사용하면 된다. 단, 별명 컬럼들은 원래의 컬럼명으로 데이터를 접근할 수 없다.

예제

예 1320. 별명(alias)으로 지정한 중복된 필드 이름으로 질의

SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

예 1321. MYSQL_NUM을 이용한 mysql_fetch_array() 예제

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>

예 1322. MYSQL_ASSOC를 이용한 mysql_fetch_array() 예제

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>

예 1323. MYSQL_BOTH를 이용한 mysql_fetch_array() 예제

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    printf ("ID: %s  Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

주의

성능: mysql_fetch_array()를 사용할 경우 추가된 값(연관 색인, 숫자 색인 배열)을 지원하더라도 mysql_fetch_row()보다 느려지지는 않는다.

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고

mysql_fetch_row()
mysql_fetch_assoc()
mysql_data_seek()
mysql_query()

이전 | 위로 | 다음
mysql_escape_string | 처음으로 | mysql_fetch_assoc


mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5, PECL mysql:1.0)

mysql_fetch_assoc -- 연관 배열로 결과 행을 반환

설명

array mysql_fetch_assoc ( resource $result )

인출된 행을 연관 배열로 반환하고, 내부 데이터 포인터 바로 앞으로 이동한다. mysql_fetch_assoc()은 두번째 선택 인자로 MYSQL_ASSOC를 이용하여 mysql_fetch_array()를 호출하는 것과 동일하다. 이 함수는 연관 배열만을 반환한다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

반환값

인출된 행에서 연관 배열을 반환하거나 더 이상의 행이 없다면 FALSE를 반환한다.

동일한 이름을 포함하는 둘 또는 그 이상의 컬럼들은 마지막 컬럼이 우선권을 가질 것이다. 동일한 이름의 다른 컬럼에 접근하기 위해서는 mysql_fetch_row()를 사용하거나, 별명(alias)을 사용하면 된다. mysql_fetch_array()의 별명에 대한 설명은 예제를 참조하라.

예제

예 1324. mysql_fetch_assoc() 예제

<?php

$conn = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conn) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}

if (!mysql_select_db("mydbname")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}

$sql = "SELECT id as userid, fullname, userstatus
        FROM   sometable
        WHERE  userstatus = 1";

$result = mysql_query($sql);

if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}

// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
//       then create $userid, $fullname, and $userstatus
while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}

mysql_free_result($result);

?>

주의

성능: mysql_fetch_assoc()는 mysql_fetch_row()보다 느려지지는 않는다.

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고

mysql_fetch_row()
mysql_fetch_array()
mysql_data_seek()
mysql_query()
mysql_error()

이전 | 위로 | 다음
mysql_fetch_array | 처음으로 | mysql_fetch_field


mysql_fetch_field

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_fetch_field -- 결과로 부터 컬럼 정보를 얻어서 객체형태로 반환

설명

object mysql_fetch_field ( resource $result [, int $field_offset] )

필드 정보를 포함하는 객체를 반환한다. 이 함수는 질의 결과에서 필드에 대한 정보를 얻는 데 사용할 수 있다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

field_offset

숫자형 필드 위치. 필드 위치를 지정하지 않으면, 이 함수로 아직 조회되지 않은 다음 필드가 조회된다. field_offset은 0부터 시작한다.

반환값

필드 정보를 포함하는 object를 반환한다. 객체의 특성은 다음과 같다:

  • name - 컬럼명
  • table - 컬럼이 속하는 테이블 이름
  • def - 컬럼 기본값
  • max_length - 컬럼의 최대 길이
  • not_null - 컬럼이 NULL이 될 수 없다면 1
  • primary_key - 컬럼이 기본키이면 1
  • unique_key - 컬럼이 유일키이면 1
  • multiple_key - 컬럼이 비-유일키이면 1
  • numeric - 컬럼이 숫자형이면 1
  • blob - 컬럼이 BLOB이면 1
  • type - 컬럼의 형태
  • unsigned - 컬럼이 unsigned이면 1
  • zerofill - 컬럼이 zerofill이면 1

예제

예 1325. mysql_fetch_field() 예제

<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
    die('Query failed: ' . mysql_error());
}
/* get column metadata */
$i = 0;
while ($i < mysql_num_fields($result)) {
    echo "Information for column $i:<br />\n";
    $meta = mysql_fetch_field($result, $i);
    if (!$meta) {
        echo "No information available<br />\n";
    }
    echo "<pre>
blob:         $meta->blob
max_length:   $meta->max_length
multiple_key: $meta->multiple_key
name:         $meta->name
not_null:     $meta->not_null
numeric:      $meta->numeric
primary_key:  $meta->primary_key
table:        $meta->table
type:         $meta->type
default:      $meta->def
unique_key:   $meta->unique_key
unsigned:     $meta->unsigned
zerofill:     $meta->zerofill
</pre>";
    $i++;
}
mysql_free_result($result);
?>

주의

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고

mysql_field_seek()

이전 | 위로 | 다음
mysql_fetch_assoc | 처음으로 | mysql_fetch_lengths


mysql_fetch_lengths

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_fetch_lengths -- 결과로부터 각 출력의 길이를 반환

설명

array mysql_fetch_lengths ( resource $result )

MySQL에 의해 인출된 마지막 행에서 각 필드의 길이를 배열로 반환한다.

mysql_fetch_lengths()는
mysql_fetch_row(),
mysql_fetch_assoc(),
mysql_fetch_array(),
mysql_fetch_object()에 의해 반환된 마지막 행의
각 컬럼 길이를 0으로 시작하는 배열로 반환한다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

반환값

성공할 경우 array를 실패할 경우 FALSE를 반환한다.

예제

예 1326. mysql_fetch_lengths() 예제

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row     = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);

print_r($row);
print_r($lengths);
?>

위 예제의 출력 예:

Array
(
    [id] => 42
    [email] => user@example.com
)
Array
(
    [0] => 2
    [1] => 16
)

참고

mysql_field_len()
mysql_fetch_row()
strlen()

이전 | 위로 | 다음
mysql_fetch_field | 처음으로 | mysql_fetch_object


mysql_fetch_object

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_fetch_object -- 객체형으로 결과 행을 인출

설명

object mysql_fetch_object ( resource $result )

인출된 행으로부터 속성을 가진 객체로 반환하고, 앞으로 내부 데이터 포인터를 이동한다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

반환값

속성을 가진 object로 반환하거나, 더 이상의 행이 없을 때에는 FALSE를 반환한다.

mysql_fetch_row()는 지정된 result 지시자와 연관된 결과로부터 한 행의 데이터를 인출하여 배열로 반환한다. 각 컬럼은 0부터 시작한다.

예제

예 1327. mysql_fetch_object() 예제

<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
mysql_free_result($result);
?>

예 1328. mysql_fetch_object() 예제

<?php

$row = mysql_fetch_object($result);

/* this is valid */
echo $row->field;
/* this is invalid */
// echo $row->0;

?>

주의

성능: mysql_fetch_array()와 mysql_fetch_row()의 성능은 거의 동일하게 빠르다(차이점을 못느낄 정도로).

참고: mysql_fetch_object()는 배열 대신 객체를 반환하는 한 가지 차이점을 제외하고는 mysql_fetch_array()와 비슷하다. 즉, 오프셋(offset)을 이용하는 것이 아닌 필드 이름에 의해 데이터를 접근할 수 있다(숫자를 사용하면 잘못된 속성 이름이 된다).

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고

mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_row()
mysql_data_seek()
mysql_query()

이전 | 위로 | 다음
mysql_fetch_lengths | 처음으로 | mysql_fetch_row


mysql_fetch_row

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_fetch_row -- 숫자 색인 배열로 결과를 반환

설명

array mysql_fetch_row ( resource $result )

인출된 행과 일치하는 숫자 색인 배열을 반환하고, 앞으로 내부 데이터 포인터를 이동한다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

반환값

인출된 행에 대응하는 숫자 색인 배열을 반환하거나 더 이상의 행이 없으면 FALSE를 반환한다.

mysql_fetch_row()는 지정된 result 식별자와 연관된 결과로부터 하나의 데이터 행을 인출하며, 배열로 반환한다. 각 결과 컬럼은 0으로 시작하는 배열 오프셋(offset)에 저장이 된다.

예제

예 1329. mysql_fetch_row()를 이용한 하나의 행 인출 예제

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // the email value
?>

주의

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고

mysql_fetch_array()
mysql_fetch_assoc()
mysql_data_object()
mysql_data_seek()
mysql_fetch_lengths()
mysql_result()

이전 | 위로 | 다음
mysql_fetch_object | 처음으로 | mysql_field_flags


mysql_field_flags

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_field_flags -- 결과로부터 특정 필드와 관련된 플래그를 반환

설명

string mysql_field_flags ( resource $result, int $field_offset )

mysql_field_flags()는 지정된 필드의 플래그를 반환한다. 플래그는 공백문자로 구분된 하나의 플래그당 하나의 단어로 구성되며, explode()를 사용하여 반환되는 값을 분리할 수 있다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

반환값

결과와 연관된 플래그 문자열을 반환하고, 실패하면 FALSE를 반환한다.

MySQL의 버전이 이들을 지원한다면, 다음 플래그들을 볼 수 있다: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment", "timestamp".

예제

예 1330. mysql_field_flags() 예제

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$flags = mysql_field_flags($result, 0);

echo $flags;
print_r(explode(' ', $flags));
?>

위 예제의 출력 예:

not_null primary_key auto_increment
Array
(
    [0] => not_null
    [1] => primary_key
    [2] => auto_increment
)

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_fieldflags()

이전 | 위로 | 다음
mysql_fetch_row | 처음으로 | mysql_field_len


mysql_field_len

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_field_len -- Returns the length of the specified field

설명

int mysql_field_len ( resource $result, int $field_offset )

mysql_field_len()은 특정 필드의 길이를 반환한다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

반환값

성공하면 특정 필드의 길이를, 실패하면 FALSE를 반환한다.

예제

예 1331. mysql_field_len() 예제

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}

// Will get the length of the id field as specified in the database
// schema.
$length = mysql_field_len($result, 0);
echo $length;
?>

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_fieldlen()

참고

mysql_fetch_lengths()
strlen()

이전 | 위로 | 다음
mysql_field_flags | 처음으로 | mysql_field_name


mysql_field_name

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_field_name -- 결과로부터 특정 필드의 이름을 반환

설명

string mysql_field_name ( resource $result, int $field_offset )

mysql_field_name()는 특정 필드 이름을 반환한다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

반환값

성공하면 특정 필드 이름을, 실패하면 FALSE를 반환한다.

예제

예 1332. mysql_field_name() 예제

<?php
/* The users table consists of three fields:
*   user_id
*   username
*   password.
*/
$link = @mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect to MySQL server: ' . mysql_error());
}
$dbname = 'mydb';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
    die("Could not set $dbname: " . mysql_error());
}
$res = mysql_query('select * from users', $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
?>

위 예제의 출력:

user_id
password

주의

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_fieldname()

이전 | 위로 | 다음
mysql_field_len | 처음으로 | mysql_field_seek


mysql_field_seek

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_field_seek -- 특정 필드의 오프셋으로 결과 포인터를 이동

설명

bool mysql_field_seek ( resource $result, int $field_offset )

특정 필드 오프셋으로 탐색한다. 필드 오프셋을 포함하지 않는 mysql_fetch_field() 이후에 호출하면, mysql_field_seek()에서 반환된 값으로 지정될 것이다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

참고

mysql_fetch_field()

이전 | 위로 | 다음
mysql_field_name | 처음으로 | mysql_field_table


mysql_field_table

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_field_table -- 특정 필드가 속한 테이블명을 얻음

설명

string mysql_field_table ( resource $result, int $field_offset )

특정 필드가 속한 테이블명을 반환한다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

반환값

성공하면 테이블명을 반환.

예제

예 1333. A mysql_field_table() 예제

<?php
$result = mysql_query("SELECT name,comment FROM people,comments");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}

// Assuming name is in the people table
$table = mysql_field_table($result, 'name');
echo $table; // people
?>

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_fieldtable()

참고

mysql_list_tables()

이전 | 위로 | 다음
mysql_field_seek | 처음으로 | mysql_field_type


mysql_field_type

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_field_type -- 결과로부터 특정 필드의 데이터 형(type) 정보를 반환

설명

string mysql_field_type ( resource $result, int $field_offset )

mysql_field_type()는 mysql_field_name()와 사용자에게 돌려주는 값의 형태가 비슷하다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

반환값

반환되는 필드 형태는 "int", "real", "string", "blob", 그리고 » MySQL 문서에 설명되어 있는 데이터형 중 하나이다.

예제

예 1334. mysql_field_type() 예제

<?php
mysql_connect("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows   = mysql_num_rows($result);
$table  = mysql_field_table($result, 0);
echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " record(s)\n";
echo "The table has the following fields:\n";
for ($i=0; $i < $fields; $i++) {
    $type  = mysql_field_type($result, $i);
    $name  = mysql_field_name($result, $i);
    $len   = mysql_field_len($result, $i);
    $flags = mysql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "\n";
}
mysql_free_result($result);
mysql_close();
?>

위 예제의 출력 예:

Your 'func' table has 4 fields and 1 record(s)
The table has the following fields:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_fieldtype()

이전 | 위로 | 다음
mysql_field_table | 처음으로 | mysql_free_result


mysql_free_result

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_free_result -- 질의결과를 메모리에서 해제

설명

bool mysql_free_result ( resource $result )

mysql_free_result()는 result 지시자와 관련된 점유 메모리를 해제한다.

mysql_free_result()는 결과 집합으로부터 질의에 사용되고 있는 메모리의 크기가 커서 문제가 발생할 수 있을 때 사용된다. 모든 연관된 결과 메모리는 스크립트 실행이 종료되면 메모리에서 자동적으로 해지된다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

result에 비-자원(non-resource) 변수가 사용이 되면, E_WARNING 등급의 에러가 발생될 것이다. 이것은 SELECT, SHOW, EXPLAIN, DESCRIBE 질의로 resource를 반환하는 mysql_query()만으로는 의미가 없다.

예제

예 1335. A mysql_free_result() 예제

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
/* Use the result, assuming we're done with it afterwords */
$row = mysql_fetch_assoc($result);

/* Now we free up the result and continue on with our script */
mysql_free_result($result);

echo $row['id'];
echo $row['email'];
?>

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_freeresult()

참고

mysql_query()
is_resource()

이전 | 위로 | 다음
mysql_field_type | 처음으로 | mysql_get_client_info


mysql_get_client_info

(PHP 4 >= 4.0.5, PHP 5, PECL mysql:1.0)

mysql_get_client_info -- MySQL 클라이언트 정보를 반환

설명

string mysql_get_client_info ( void )

mysql_get_client_info()는 현 클라이언트 라이브러리 버전 문자열을 반환한다.

반환값

MySQL 클라이언트 버전.

예제

예 1336. mysql_get_client_info() 예제

<?php
printf("MySQL client info: %s\n", mysql_get_client_info());
?>

위 예제의 출력 예:

MySQL client info: 3.23.39

참고

mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()

이전 | 위로 | 다음
mysql_free_result | 처음으로 | mysql_get_host_info


mysql_get_host_info

(PHP 4 >= 4.0.5, PHP 5, PECL mysql:1.0)

mysql_get_host_info -- MySQL 호스트 정보를 반환

설명

string mysql_get_host_info ( [resource $link_identifier] )

접속에서 서버 호스트명을 포함하는 접속 형태를 서술한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공하면 MySQL 접속의 형태를 서술하는 문자열을, 실패하면 FALSE를 반환한다.

예제

예 1337. mysql_get_host_info() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
printf("MySQL host info: %s\n", mysql_get_host_info());
?>

위 예제의 출력 예:

MySQL host info: Localhost via UNIX socket

참고

mysql_get_client_info()
mysql_get_proto_info()
mysql_get_server_info()

이전 | 위로 | 다음
mysql_get_client_info | 처음으로 | mysql_get_proto_info


mysql_get_proto_info

(PHP 4 >= 4.0.5, PHP 5, PECL mysql:1.0)

mysql_get_proto_info -- MySQL 프로토콜 정보를 얻는다

설명

int mysql_get_proto_info ( [resource $link_identifier] )

프로토콜 정보를 출력한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

프로토콜 정보를 반환하거나, 실패할 경우 FALSE를 반환한다.

예제

예 1338. mysql_get_proto_info() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
printf("MySQL protocol version: %s\n", mysql_get_proto_info());
?>

위 예제의 출력 예:

MySQL protocol version: 10

참고

mysql_get_client_info()
mysql_get_host_info()
mysql_get_server_info()

이전 | 위로 | 다음
mysql_get_host_info | 처음으로 | mysql_get_server_info


mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5, PECL mysql:1.0)

mysql_get_server_info -- MySQL 서버 정보를 반환

설명

string mysql_get_server_info ( [resource $link_identifier] )

MySQL 서버 버전을 조회한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공하면 MySQL 서버 버전을, 실패하면 FALSE를 반환한다.

예제

예 1339. mysql_get_server_info() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
printf("MySQL server version: %s\n", mysql_get_server_info());
?>

위 예제의 출력 예:

MySQL server version: 4.0.1-alpha

참고

mysql_get_client_info()
mysql_get_host_info()
mysql_get_proto_info()
phpversion()

이전 | 위로 | 다음
mysql_get_proto_info | 처음으로 | mysql_info


mysql_info

(PHP 4 >= 4.3.0, PHP 5, PECL mysql:1.0)

mysql_info -- 가장 최근 질의에 대한 정보를 반환

설명

string mysql_info ( [resource $link_identifier] )

최근 질의에 대한 상세한 정보를 반환한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공하면 진술문(statement) 정보를, 실패하면 FALSE를 반환한다. 진술문이 제공하는 정보와 반환되는 값이 어떻게 보여지는지 아래의 예제를 참고하라. 진술문은 FALSE를 반환하는 Returns information about the statement on success, or FALSE on failure. See the example below for which statements provide information, and what the returned value may look like. Statements that aren't listed will return FALSE

예제

예 1340. 관련된 MySQL 진술문

진술문은 문자열로 반환된다. 숫자들은 질의와 관련된 값이며 설명을 목적으로한 용도이다.

INSERT INTO ... SELECT ...
String format: Records: 23 Duplicates: 0 Warnings: 0
INSERT INTO ... VALUES (...),(...),(...)...
String format: Records: 37 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ...
String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE
String format: Records: 60 Duplicates: 0 Warnings: 0
UPDATE
String format: Rows matched: 65 Changed: 65 Warnings: 0

주의

참고: 다중 값 목록이 기술된 INSERT ... VALUES 구문에서 mysql_info()는 FALSE가 아닌 값을 반환한다.

참고

mysql_affected_rows()
mysql_insert_id()
mysql_stat()

이전 | 위로 | 다음
mysql_get_server_info | 처음으로 | mysql_insert_id


mysql_insert_id

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_insert_id -- 이전의 INSERT 작업으로부터 생성된 ID를 반환

설명

int mysql_insert_id ( [resource $link_identifier] )

이전의 INSERT 질의로부터 AUTO_INCREMENT 컬럼에 의해 생성된 ID를 반환한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공하면 이전의 INSERT 질의에 의한 AUTO_INCREMENT 컬럼으로부터 생성된 ID를, 이전 질의로부터 AUTO_INCREMENT 값이 생성되지 않았다면, 0을, MySQL 접속이 되지 않은 상태였다면 FALSE를 반환한다.

예제

예 1341. mysql_insert_id() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

주의

경고

mysql_insert_id()는 원시(native) MySQL C API 함수인 mysql_insert_id()의 long형태의 반환값을 PHP의 int로 변환한다. AUTO_INCREMENT 컬럼이 BIGINT이면, mysql_insert_id()에 의해 반환되는 값은 잘못될 것이다. 이경우, MySQL SQL 내부 함수인 LAST_INSERT_ID()를 사용하면 된다.

참고: mysql_insert_id()는 최근 수행한 질의에 대해서 동작하기 때문에, 생성된 값은 질의 직후에 mysql_insert_id()를 호출해야 된다.

참고: MySQL SQL 함수인 LAST_INSERT_ID()는 가장 최근에 생성된 AUTO_INCREMENT 값을 담고 있으며, 질의 간에 지워지지는 않는다.

참고

mysql_query()
mysql_info()

이전 | 위로 | 다음
mysql_info | 처음으로 | mysql_list_dbs


mysql_list_dbs

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_list_dbs -- MySQL 서버에 있는 데이터베이스 목록을 반환

설명

resource mysql_list_dbs ( [resource $link_identifier] )

MySQL 데몬으로부터 데이터베이스 목록을 포함하는 결과 포인터를 반환한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공하면 resource 결과 포인터를 반환하고, 실패하면 FALSE를 반환한다. 결과 포인터를 탐색하기 위해 mysql_tablename()를 사용하거나, mysql_fetch_array()와 같은 결과 테이블을 위한 특정 함수를 사용한다.

예제

예 1342. mysql_list_dbs() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) {
     echo $row->Database . "\n";
}
?>

위 예제의 출력 예:

database1
database2
database3

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_listdbs()

참고

mysql_db_name()
mysql_select_db()

이전 | 위로 | 다음
mysql_insert_id | 처음으로 | mysql_list_fields


mysql_list_fields

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_list_fields -- MySQL 테이블 필드를 반환

설명

resource mysql_list_fields ( string $database_name, string $table_name [, resource $link_identifier] )

주어진 테이블명에 대한 정보를 반환한다.

이 함수는 사용이 권장되지 않는다. 대신, SHOW COLUMNS FROM table [LIKE 'name']을 mysql_query()에서 실행하는 것을 권한다.

매개변수

database_name

질의된 데이터베이스명.

table_name

질의된 테이블명.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공하면 resource를, 실패하면 FALSE를 반환한다.

결과값은 mysql_field_flags(),
mysql_field_len(),
mysql_field_name(),
mysql_field_type()와 함께 사용될 수 있다.

예제

예 1343. mysql_list_fields()의 기능을 대체할 예제

<?php
$result = mysql_query("SHOW COLUMNS FROM sometable");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        print_r($row);
    }
}
?>

위 예제의 출력 예:

Array
(
    [Field] => id
    [Type] => int(7)
    [Null] =>
    [Key] => PRI
    [Default] =>
    [Extra] => auto_increment
)
Array
(
    [Field] => email
    [Type] => varchar(100)
    [Null] =>
    [Key] =>
    [Default] =>
    [Extra] =>
)

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_listfields()

참고

mysql_field_flags()
mysql_info()

이전 | 위로 | 다음
mysql_list_dbs | 처음으로 | mysql_list_processes


mysql_list_processes

(PHP 4 >= 4.3.0, PHP 5, PECL mysql:1.0)

mysql_list_processes -- MySQL 프로세스 목록을 반환

설명

resource mysql_list_processes ( [resource $link_identifier] )

MySQL 서버 프로세스 목록을 반환한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공하면 resource를, 실패하면 FALSE를 반환한다.

예제

예 1344. mysql_list_processes() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$result = mysql_list_processes($link);
while ($row = mysql_fetch_assoc($result)){
    printf("%s %s %s %s %s\n", $row["Id"], $row["Host"], $row["db"],
        $row["Command"], $row["Time"]);
}
mysql_free_result($result);
?>

위 예제의 출력 예:

1 localhost test Processlist 0
4 localhost mysql sleep 5

참고

mysql_thread_id()
mysql_stat()

이전 | 위로 | 다음
mysql_list_fields | 처음으로 | mysql_list_tables


mysql_list_tables

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_list_tables -- MySQL 데이터베이스에서 테이블 목록을 반환

설명

resource mysql_list_tables ( string $database [, resource $link_identifier] )

MySQL 데이터베이스로부터 테이블명 목록을 반환한다.

이 함수는 권장되지 않는다. 대신, SHOW TABLES [FROM db_name] [LIKE 'pattern']을 mysql_query()에서 실행하는 것을 권한다.

매개변수

database

데이터베이스명.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공하면 resource를, 실패하면 FALSE를 반환한다.

결과 포인터를 탐색하기 위해 mysql_tablename()를 사용하거나, mysql_fetch_array()와 같은 결과 테이블을 위한 특정 함수를 사용한다.

예제

예 1345. mysql_list_tables() 예제

<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Could not connect to mysql';
    exit;
}

$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);

if (!$result) {
    echo "DB Error, could not list tables\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_row($result)) {
    echo "Table: {$row[0]}\n";
}

mysql_free_result($result);
?>

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_listtables()

참고

mysql_list_dbs()
mysql_tablename()

이전 | 위로 | 다음
mysql_list_processes | 처음으로 | mysql_num_fields


mysql_num_fields

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_num_fields -- 결과로부터 필드의 개수를 반환

설명

int mysql_num_fields ( resource $result )

질의로부터 필드의 개수를 반환한다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

반환값

성공하면 resource 결과 셋으로부터 필드의 개수를 반환하고, 실패하면 FALSE를 반환한다.

예제

예 1346. mysql_num_fields() 예제

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}

/* returns 2 because id,email === two fields */
echo mysql_num_fields($result);
?>

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_numfields()

참고

mysql_select_db()
mysql_query()
mysql_fetch_field()
mysql_num_rows()

이전 | 위로 | 다음
mysql_list_tables | 처음으로 | mysql_num_rows


mysql_num_rows

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_num_rows -- 결과로부터 행의 개수를 반환

설명

int mysql_num_rows ( resource $result )

결과 집합으로부터 행의 개수를 반환하며, SELECT 구문에 대해서만 적용이 된다. INSERT, UPDATE, DELETE 질의에 의해 적용된 행의 개수를 얻으려면 mysql_affected_rows()를 사용하면 된다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

반환값

성공하면 결과 집합으로부터 행의 개수를, 실패하면 FALSE를 반환한다.

예제

예 1347. mysql_num_rows() 예제

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

주의

참고: mysql_unbuffered_query()와 mysql_num_rows()를 사용하면 결과 집합에 있는 모든 행이 조회되기 전까지는 정확한 값을 반환하지 않을 것이다.

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_numrows()

참고

mysql_affected_rows()
mysql_connect()
mysql_data_seek()
mysql_select_db()
mysql_query()

이전 | 위로 | 다음
mysql_num_fields | 처음으로 | mysql_pconnect


mysql_pconnect

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_pconnect -- MySQL 서버로 영속적으로 접속

설명

resource mysql_pconnect ( [string $server [, string $username [, string $password [, int $client_flags]]]] )

MySQL 서버로 영속적인 접속을 생성한다.

mysql_pconnect()는 mysql_connect()와 두 가지의 차이점을 제외하고 거의 동일하다.

첫 번째로, 접속할 때 동일한 호스트, 사용자명, 비밀번호로 이미 열려진 (영속적인) 링크를 찾으려 시도한다. 만약 찾으면 새 접속을 여는 대신에 찾은 접속을 반환할 것이다.

두 번째로, SQL 서버로의 접속은 스크립트 실행이 종료될 때 종료되지 않는다. 대신, 접속 링크는 나중에사용되도록 남을 것이다(mysql_close()는 mysql_pconnect()에 의해 열려진 접속을 종료하지 않을 것이다).

그러므로, 이 접속 형태를 영속적(persistent)이라고 부른다.

매개변수

server

MySQL 서버명을 입력하며, 포트번호가 포함될 수 있다. 예) "hostname:port" 또는, 로컬호스트를 위해 로컬 소켓 경로가 될 수도 있다. 예) ":/path/to/socket"

PHP 지시자 mysql.default_host가 지정되지 않는다면, 기본값은 'localhost:3306'이다.

username

사용자명. 기본값은 서버 프로세스가 소유하고 있는 사용자명이다.

password

비밀번호. 기본값은 빈 비밀번호이다.

client_flags

client_flags는 다음의 상수를 조합하여 사용할 수 있다: MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE, MYSQL_CLIENT_INTERACTIVE.

반환값

접속 성공시 MySQL 영속적 접속 식별자를 반환하고, 실패시에는 FALSE를 반환한다.

변경 기록

버전 | 설명
4.3.0 | client_flags가 추가되었다.
3.0.10 | server에 ":/path/to/socket" 를 사용할 수 있게 되었다.
3.0.0 | server에 ":port" 를 사용 가능하게 되었다.

주의

참고: PHP 모듈 버전을사용할 경우에만 영속적 접속이 정상적으로 동작한다. 더 많은 정보는 영속적 데이터베이스 접속을 참조하라.

주의

영속적 접속을 사용하는 것은 MySQL이 허용하는 접속수를 초과하지 않기 위해 Apache와 MySQL 설정의 일부분 튜닝이 필요하다.

참고: 함수 이름 앞에 @를 이용하여 접속 실패 에러 메시지를 출력되지 않도록 할 수 있다.

참고

mysql_connect()
영속적 데이터베이스 접속

이전 | 위로 | 다음
mysql_num_rows | 처음으로 | mysql_ping


mysql_ping

(PHP 4 >= 4.3.0, PHP 5, PECL mysql:1.0)

mysql_ping -- 서버 접속을 검사하고 접속이 없으면 재접속한다

설명

bool mysql_ping ( [resource $link_identifier] )

서버로의 접속이 정상적으로 동작하는지 점검한다. 접속이 종료되었다면 자동으로 재접속을 시도한다. 이 함수는 스크립트에서 사용된 이후 오랜 시간동안 멈추어 있을 때때, 접속이 종료되지 않았는지 점검하고 필요시에는 재접속을 하는 용도로 사용된다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

MySQL 서버와의 접속이 정상적이면 TRUE를 그렇지 않다면 FALSE를 반환한다.

예제

예 1348. mysql_ping() 예제

<?php
set_time_limit(0);

$conn = mysql_connect('localhost', 'mysqluser', 'mypass');
$db   = mysql_select_db('mydb');

/* Assuming this query will take a long time */
$result = mysql_query($sql);
if (!$result) {
    echo 'Query #1 failed, exiting.';
    exit;
}

/* Make sure the connection is still alive, if not, try to reconnect */
if (!mysql_ping($conn)) {
    echo 'Lost connection, exiting after query #1';
    exit;
}
mysql_free_result($result);

/* So the connection is still alive, let's run another query */
$result2 = mysql_query($sql2);
?>

참고

mysql_thread_id()
mysql_list_processes()

이전 | 위로 | 다음
mysql_pconnect | 처음으로 | mysql_query


mysql_query

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_query -- MySQL 질의를 전송

설명

resource mysql_query ( string $query [, resource $link_identifier] )

mysql_query()는 (link_identifier와 연관된 데이터베이스 서버로) 질의를 전송한다. mysql_query() sends a query (to the currently active database on the server that's associated with the specified link_identifier).

매개변수

query

SQL 질의.

세미콜론으로 끝나지 않는 질의 문자열.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

SELECT, SHOW, DESCRIBE, EXPLAIN 구문으로 mysql_query()를 호출하면 성공할 경우 resource를, 실패하면 FALSE를 반환한다.

UPDATE, DELETE, DROP 등을 실행할 경우 성공하면 TRUE를 실패하면 FALSE를 반환한다.

반환되는 결과 리소스(resource)는 mysql_fetch_array()와 같은 결과 테이블을 다루는 함수들에 전달하여 데이터에 접근할 수 있다.

SELECT 구문으로 부터 얼마나 많은 행이 있는지 알기 위해서는 mysql_num_rows()를, DELETE, INSERT, REPLACE, UPDATE 구문으로 변경된 행의 개수를 알기 위해서는 mysql_affected_rows()를 사용한다.

질의에 의해 참조되는 테이블에 접근을 허용되지 않은 사용자에 의해 mysql_query()가 실패하면 FALSE를 반환한다.

예제

예 1349. 잘못된 질의

다음 질의는 문법적으로 오류가 있어서 mysql_query()는 실패하고, FALSE를 반환한다.

<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

?>

예 1350. 유효한 질의

다음 질의는 유효한 질의로서 mysql_query()는 resource를 반환한다.

<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname  = 'fox';

// Formulate Query
// This is the best way to perform a SQL query
// For more examples, see mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Perform Query
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
mysql_free_result($result);
?>

참고

mysql_connect()
mysql_error()
mysql_real_escape_string()
mysql_result()
mysql_fetch_assoc()
mysql_unbuffered_query()

이전 | 위로 | 다음
mysql_ping | 처음으로 | mysql_real_escape_string


mysql_real_escape_string

(PHP 4 >= 4.3.0, PHP 5, PECL mysql:1.0)

mysql_real_escape_string -- mysql_query에서 특수 문자열을 이스케이프(escape)하기위해 사용

설명

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier] )

unescaped_string된 문자열에서 접속의 현재 문자 집합으로 특수 문자열을 이스케이프하여 mysql_query() 수행시 안전하게 질의할 수 있도록 한다. 이진 데이터를 입력할 경우 이 함수를 사용해야 한다.

mysql_real_escape_string()는 MySQL 라이브러리 함수인 mysql_real_escape_string를 호출하여, 다음의 문자에 백슬래쉬를 붙인다: \x00, \n, \r, \, ', ", \x1a.

이 함수는 MySQL로 질의를 전송하기 전에 안전하게 데이터를 만들기 위해 항상 사용해야한다.

매개변수

unescaped_string

이스케이프할 문자열.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

이스케이프된 문자열을 반환하고 에러가 발생하면 FALSE를 반환한다.

예제

예 1351. mysql_real_escape_string() 예제

<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
            mysql_real_escape_string($user),
            mysql_real_escape_string($password));
?>

예 1352. SQL 인젝션 공격(Injection Attack)의 예

<?php
// Query database to check if there are any matching users
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// We didn't check $_POST['password'], it could be anything the user wanted! For example:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// This means the query sent to MySQL would be:
echo $query;
?>

MySQL로 전송되는 질의:

SELECT * FROM users WHERE name='aidan' AND password='' OR ''=''

유효한 비밀번호 없이 누구나 접속하여 접근이 가능하다.

예 1353. "Best Practice" 질의

mysql_real_escape_string()은 각 변수에 대해 SQL 인젝션을 방지한다. 이 예제는 Magic Quotes 설정과는 별개로 데이터베이스를 질의하는 "best practice" 방법을 시연한다.

<?php
// Quote variable to make safe
function quote_smart($value)
{
    // Stripslashes
    if (get_magic_quotes_gpc()) {
        $value = stripslashes($value);
    }
    // Quote if not integer
    if (!is_numeric($value)) {
        $value = "'" . mysql_real_escape_string($value) . "'";
    }
    return $value;
}

// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Make a safe query
$query = sprintf("SELECT * FROM users WHERE user=%s AND password=%s",
            quote_smart($_POST['username']),
            quote_smart($_POST['password']));

mysql_query($query);
?>

SQL 인젝션 공격이 동작하지 않으며 질의가 정확하게 실행될 것이다.

주의

참고: mysql_real_escape_string()을 사용하기 전에 MySQL 접속이 필요하다. 그렇지 않으면 E_WARNING 등급의 에러가 발생되며, FALSE가 반환될 것이다. 만약 link_identifier가 정의되지 않으면, 최근 MySQL 접속이 사용된다.

참고: magic_quotes_gpc이 활성화되면, stripslashes()가 모든 데이터에 먼저 적용된다. 이 함수를 데이터에 사용하면 이스케이프된 데이터에 중복 처리될 것이다.

참고: 이 함수가 데이터 이스케이프를 위해 사용되지 않으면, 질의는 SQL Injection Attacks으로 취약점이 생기게 된다.

참고: mysql_real_escape_string()는 %와 _를 이스케이프하지는 않는다. LIKE, GRANT, REVOKE와 결합되어 사용되는 와일드카드이기 때문이다.

참고

mysql_client_encoding()
addslashes()
stripslashes()
magic_quotes_gpc 지시자
magic_quotes_runtime 지시자

이전 | 위로 | 다음
mysql_query | 처음으로 | mysql_result


mysql_result

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_result -- 결과 데이터를 반환

설명

string mysql_result ( resource $result, int $row [, mixed $field] )

MySQL 결과 집합으로부터 하나의 셀에 있는 데이터를 반환한다.

거대한 결과 집합으로 작업할 때, 행 전체를 인출하는 함수 중 하나를 사용할 것이다. 이들 함수는 하나의 함수 호출로 다중 셀의 데이터를 반환할 수 있어서 mysql_result()보다 더 빠르다. 또한, 필드 인자로 숫자 오프셋을 사용하는 것이 필드명 또는 테이블명.필드명 인자를 사용하는 것보다 더 빠르다.

매개변수

result

mysql_query() 호출을 통한 결과 resource.

row

검색된 결과에서 행번호. 행번호는 0부터 시작한다.

field

검색을 위한 필드 오프셋 또는 이름. The name or offset of the field being retrieved.

필드 오프셋, 필드명 또는 테이블명.필드명(tablename.fieldname)으로 설정이 가능하다. 컬럼 이름이 별명(alias)이라면('select foo as bar from...'), 컬럼명 대신 별명을 사용한다. 정의하지 않으면 첫번째 필드를 검색한다.

반환값

성공하면 MySQL 결과 집합으로부터 하나의 셀의 데이터를, 실패하면 FALSE를 반환한다.

예제

예 1354. mysql_result() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$result = mysql_query('SELECT name FROM work.employee');
if (!$result) {
    die('Could not query:' . mysql_error());
}
echo mysql_result($result, 2); // outputs third employee's name

mysql_close($link);
?>

주의

참고: mysql_result()를 호출하는 것은 결과 집합을 다루는 다른 함수를 혼합하여 호출할 수 없다.

참고

mysql_fetch_row()
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_object()

이전 | 위로 | 다음
mysql_real_escape_string | 처음으로 | mysql_select_db


mysql_select_db

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_select_db -- MySQL 데이터베이스를 선택

설명

bool mysql_select_db ( string $database_name [, resource $link_identifier] )

접속 지시자와 연관된 서버에서 현재 활성화할 데이터베이스를 선택한다. 모든 수반되는 mysql_query() 호출은 활성 데이터베이스에서 처리될 것이다.

매개변수

database_name

선택할 데이터베이스의 이름.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1355. mysql_select_db() 예제

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Not connected : ' . mysql_error());
}

// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}
?>

주의

참고: 하위 호환을 위하여, 다음의 권장하지 않는 alias를 사용할 수 있습니다: mysql_createdb()

참고

mysql_connect()
mysql_pconnect()
mysql_query()

이전 | 위로 | 다음
mysql_result | 처음으로 | mysql_set_charset


mysql_stat

(PHP 4 >= 4.3.0, PHP 5, PECL mysql:1.0)

mysql_stat -- 현재 시스템 상태를 반환

설명

string mysql_stat ( [resource $link_identifier] )

mysql_stat()는 현재 서버 상태를 반환한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

uptime, threads, queries, open tables, flush tables, queries per second의 상태를 문자열로 반환한다. 그외의 상태 변수를 조회하려면 SHOW STATUS SQL 명령을 사용하면 된다. link_identifier가 유효하지 않으면, NULL이 반환된다.

예제

예 1356. mysql_stat() 예제

<?php
$link   = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$status = explode('  ', mysql_stat($link));
print_r($status);
?>

위 예제의 출력 예:

Array
(
    [0] => Uptime: 5380
    [1] => Threads: 2
    [2] => Questions: 1321299
    [3] => Slow queries: 0
    [4] => Opens: 26
    [5] => Flush tables: 1
    [6] => Open tables: 17
    [7] => Queries per second avg: 245.595
)

예 1357. mysql_stat() 다른 예제

<?php
$link   = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$result = mysql_query('SHOW VARIABLES', $link);
while ($row = mysql_fetch_assoc($result)) {
    echo $row['Variable_name'] . ' = ' . $row['Value'] . "\n";
}
?>

위 예제의 출력 예:

back_log = 50
basedir = /usr/local/
bdb_cache_size = 8388600
bdb_log_buffer_size = 32768
bdb_home = /var/db/mysql/
bdb_max_lock = 10000
bdb_logdir =
bdb_shared_data = OFF
bdb_tmpdir = /var/tmp/
...

참고

mysql_get_server_info()
mysql_list_processes()

이전 | 위로 | 다음
mysql_set_charset | 처음으로 | mysql_tablename


mysql_tablename

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_tablename -- 필드가 존재하는 테이블명을 반환

설명

string mysql_tablename ( resource $result, int $i )

result로부터 테이블명을 반환한다.

이 함수는 사용이 권장되지 않는다. 대신, SHOW TABLES [FROM db_name] [LIKE 'pattern'] SQL을 mysql_query()로 실행하도록 권장한다.

매개변수

result

resource 결과 포인터는 mysql_list_tables()로부터 반환되는 것이다.

i

정수형 색인(행/테이블 번호)

반환값

성공하면 테이블명을, 실패하면 FALSE를 반환한다.

결과 포인터를 탐색하기 위해 mysql_tablename()를 사용하거나, mysql_fetch_array()와 같은 결과 테이블을 위한 특정 함수를 사용한다.

예제

예 1358. mysql_tablename() 예제

<?php
mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables("mydb");
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
    echo "Table: ", mysql_tablename($result, $i), "\n";
}

mysql_free_result($result);
?>

주의

참고: mysql_num_rows()는 결과 포인터에서 테이블의 개수를 가져오기 위해 사용된다.

참고

mysql_list_tables()
mysql_field_table()
mysql_db_name()

이전 | 위로 | 다음
mysql_stat | 처음으로 | mysql_thread_id


mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5, PECL mysql:1.0)

mysql_thread_id -- 현재 쓰레드 ID를 반환

설명

int mysql_thread_id ( [resource $link_identifier] )

현재 쓰레드 ID를 반환한다. 접속이 종료되어 mysql_ping()를 실행하면 재접속되고 쓰레드 ID가 변할 것이다. 이 의미는 쓰레드 ID는 필요할때만 조회해야한다.

매개변수

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공하면 쓰레드 ID를, 실패하면 FALSE를 반환한다.

예제

예 1359. mysql_thread_id() 예제

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$thread_id = mysql_thread_id($link);
if ($thread_id){
    printf("current thread id is %d\n", $thread_id);
}
?>

위 예제의 출력 예:

current thread id is 73

참고

mysql_ping()
mysql_list_processes()

이전 | 위로 | 다음
mysql_tablename | 처음으로 | mysql_unbuffered_query


mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5, PECL mysql:1.0)

mysql_unbuffered_query -- 결과 행을 버퍼링하지도 인출하지도 않으면서 MySQL로 SQL 질의를 전송

설명

resource mysql_unbuffered_query ( string $query [, resource $link_identifier] )

mysql_unbuffered_query()는 SQL 질의를 결과 행들을 버퍼링하지도 인출하지도 않고 query를 MySQL로 전송한다. 한편, 이는 거대한 결과 집합을 만드는 SQL 질의로 점유하는 메모리를 절약한다. 또한, 완료된 SQL 질의가 수행될 때까지 기다리지 않고, 첫행이 조회된 이후로 즉시 작업을 시작할 수 있다. 다중 DB-접속을 사용할 때, 옵션 인자인 link_identifier를 지정해야한다.

매개변수

query

SQL 질의문

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

SELECT, SHOW, DESCRIBE, EXPLAIN 구문에서 mysql_unbuffered_query()가 성공하면 resource를 에러가 발생하면 FALSE를 반환한다.

UPDATE, DELETE, DROP 등과 같은 SQL 구문에서 mysql_unbuffered_query()가 성공하면 TRUE를 에러가 발생하면 FALSE를 반환한다.

주의

참고: mysql_unbuffered_query()의 이점은 비용에서 온다: mysql_unbuffered_query()로부터 반환된 결과 집합은 mysql_num_rows()와 mysql_data_seek()에서 사용할 수 없다. 또한, MySQL로 새로운 SQL 질의를 전송하기 전에 비-버퍼링 SQL 질의로부터의 모든 결과 행을 인출해야한다.

참고

mysql_query()

이전 | 위로 | 다음
mysql_thread_id | 처음으로 | XCIX. MySQL Functions (PDO_MYSQL)


MySQL Improved Extension

이전 VI. 함수 레퍼런스 다음

C. MySQL Improved Extension

소개

The mysqli extension allows you to access the functionality provided by MySQL 4.1 and above. More information about the MySQL Database server can be found at » http://www.mysql.com/

Documentation for MySQL can be found at » http://dev.mysql.com/doc/.

Parts of this documentation included from MySQL manual with permissions of MySQL AB.

요구 조건

In order to have these functions available, you must compile PHP with support for the mysqli extension.

참고: The mysqli extension is designed to work with the version 4.1.3 or above of MySQL. For previous versions, please see the MySQL extension documentation.

설치

To install the mysqli extension for PHP, use the --with-mysqli=mysql_config_path/mysql_config configuration option where mysql_config_path represents the location of the mysql_config program that comes with MySQL versions greater than 4.1.

If you would like to install the mysql extension along with the mysqli extension you have to use the same client library to avoid any conflicts.

Installation on Windows Systems

MySQLi is not enabled by default, so the php_mysqli.dll DLL must be enabled inside of php.ini. Also, PHP needs access to the MySQL client library. A file named libmysql.dll is included in the Windows PHP distribution and in order for PHP to talk to MySQL this file needs to be available to the Windows systems PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying libmysql.dll to the Windows system directory also works (because the system directory is by default in the system's PATH), it's not recommended.

참고: For connecting to MySQL 5, it is recommended to download binaries from » http://dev.mysql.com/downloads/connector/php/.

As with enabling any PHP extension (such as php_mysqli.dll), the PHP directive extension_dir should be set to the directory where the PHP extensions are located. See also the Manual Windows Installation Instructions. An example extension_dir value for PHP 5 is c:\php\ext

참고: If when starting the web server an error similar to the following occurs: "Unable to load dynamic library './php_mysqli.dll'", this is because php_mysqli.dll and/or libmysql.dll cannot be found by the system.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 179. MySQLi Configuration Options

Name | Default | Changeable | Changelog
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
mysqli.default_port | "3306" | PHP_INI_ALL | Available since PHP 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
mysqli.default_host | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Available since PHP 5.0.0.

For further details and definitions of the above PHP_INI_* constants, see the chapter on configuration changes.

위 설정 지시어에 대한 간단한 설명입니다.

mysqli.max_links integer

The maximum number of MySQL connections per process.

mysqli.default_port string

The default TCP port number to use when connecting to the database server if no other port is specified. If no default is specified, the port will be obtained from the MYSQL_TCP_PORT environment variable, the mysql-tcp entry in /etc/services or the compile-time MYSQL_PORT constant, in that order. Win32 will only use the MYSQL_PORT constant.

mysqli.default_socket string

The default socket name to use when connecting to a local database server if no other socket name is specified.

mysqli.default_host string

The default server host to use when connecting to the database server if no other host is specified. Doesn't apply in safe mode.

mysqli.default_user string

The default user name to use when connecting to the database server if no other name is specified. Doesn't apply in safe mode.

mysqli.default_pw string

The default password to use when connecting to the database server if no other password is specified. Doesn't apply in safe mode.

예약 클래스

mysqli

Represents a connection between PHP and a MySQL database.

생성자

  • mysqli - construct a new mysqli object

메쏘드

  • autocommit - turns on or off auto-commiting database modifications

  • change_user - changes the user of the specified database connection

  • character_set_name - returns the default character set for the database connection

  • close - closes a previously opened connection

  • commit - commits the current transaction

  • connect - opens a new connection to MySQL database server

  • debug - performs debugging operations

  • dump_debug_info - dumps debug information

  • get_client_info - returns client version

  • get_host_info - returns type of connection used

  • get_server_info - returns version of the MySQL server

  • get_server_version - returns version of the MySQL server

  • init - initializes mysqli object

  • info - retrieves information about the most recently executed query

  • kill - asks the server to kill a mysql thread

  • multi_query - performs multiple queries

  • more_results - check if more results exist from currently executed multi-query

  • next_result - reads next result from currently executed multi-query

  • options - set options

  • ping - pings a server connection or reconnects if there is no connection

  • prepare - prepares a SQL query

  • query - performs a query

  • real_connect - attempts to open a connection to MySQL database server

  • escape_string - escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection

  • rollback - rolls back the current transaction

  • select_db - selects the default database

  • set_charset - sets the default client character set

  • ssl_set - sets ssl parameters

  • stat - gets the current system status

  • stmt_init- initializes a statement for use with mysqli_stmt_prepare

  • store_result - transfers a resultset from last query

  • thread_safe - returns whether thread safety is given or not

  • use_result - transfers an unbuffered resultset from last query

속성

  • affected_rows - gets the number of affected rows in a previous MySQL operation

  • client_info - returns the MySQL client version as a string

  • client_version - returns the MySQL client version as an integer

  • errno - returns the error code for the most recent function call

  • error - returns the error string for the most recent function call

  • field_count - returns the number of columns for the most recent query

  • host_info - returns a string representing the type of connection used

  • info - retrieves information about the most recently executed query

  • insert_id - returns the auto generated id used in the last query

  • protocol_version - returns the version of the MySQL protocol used

  • server_info - returns a string that represents the server version number

  • server_version - returns the version number of the server as an integer

  • sqlstate - returns a string containing the SQLSTATE error code for the last error

  • thread_id - returns the thread ID for the current connection

  • warning_count - returns the number of warnings generated during execution of the previous SQL statement

mysqli_stmt

Represents a prepared statement.

메쏘드

  • bind_param - binds variables to a prepared statement

  • bind_result - binds variables to a prepared statement for result storage

  • close - closes a prepared statement

  • data_seek - seeks to an arbitrary row in a statement result set

  • execute - executes a prepared statement

  • fetch - fetches result from a prepared statement into bound variables

  • free_result - frees stored result memory for the given statement handle

  • prepare - prepares a SQL query

  • reset - resets a prepared statement

  • result_metadata - retrieves a resultset from a prepared statement for metadata information

  • send_long_data - sends data in chunks

  • store_result - buffers complete resultset from a prepared statement

속성

  • affected_rows - returns affected rows from last statement execution

  • errno - returns errorcode for last statement function

  • error - returns errormessage for last statement function

  • field_count - returns the number of columns in a result set

  • id - returns the statement identifier

  • insert_id - returns the value generated for an AUTO_INCREMENT column by the prepared statement

  • num_rows - returns the number of rows in the result set

  • param_count - returns number of parameter for a given prepare statement

  • sqlstate - returns a string containing the SQLSTATE error code for the last statement function

mysqli_result

Represents the result set obtained from a query against the database.

메쏘드

  • close - closes resultset

  • data_seek - moves internal result pointer

  • fetch_array - fetches a result row as an associative array, a numeric array, or both.

  • fetch_assoc - fetches a result row as an associative array

  • fetch_field - gets column information from a resultset

  • fetch_fields - gets information for all columns from a resulset

  • fetch_field_direct - gets column information for specified column

  • fetch_object - fetches a result row as an object

  • fetch_row - gets a result row as an enumerated array

  • field_seek - set result pointer to a specified field offset

  • free_result - frees result memory

속성

  • current_field - returns offset of current fieldpointer

  • field_count - returns number of fields in resultset

  • lengths - returns an array of columnlengths

  • num_rows - returns number of rows in resultset

  • type - returns MYSQLI_STORE_RESULT or MYSQLI_USE_RESULT

예약 상수

표 180. MySQLi Constants

Name | Description
MYSQLI_READ_DEFAULT_GROUP (integer) | Read options from the named group from `my.cnf' or the file specified with MYSQLI_READ_DEFAULT_FILE
MYSQLI_READ_DEFAULT_FILE (integer) | Read options from the named option file instead of from my.cnf
MYSQLI_OPT_CONNECT_TIMEOUT (integer) | Connect timeout in seconds
MYSQLI_OPT_LOCAL_INFILE (integer) | Enables command LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND (integer) | Command to execute when connecting to MySQL server. Will automatically be re-executed when reconnecting.
MYSQLI_CLIENT_SSL (integer) | Use SSL (encrypted protocol). This option should not be set by application programs; it is set internally in the MySQL client library
MYSQLI_CLIENT_COMPRESS (integer) | Use compression protocol
MYSQLI_CLIENT_INTERACTIVE (integer) | Allow interactive_timeout seconds (instead of wait_timeout seconds) of inactivity before closing the connection. The client's session wait_timeout variable will be set to the value of the session interactive_timeout variable.
MYSQLI_CLIENT_IGNORE_SPACE (integer) | Allow spaces after function names. Makes all functions names reserved words.
MYSQLI_CLIENT_NO_SCHEMA (integer) | Don't allow the db_name.tbl_name.col_name syntax.
MYSQLI_CLIENT_MULTI_QUERIES (integer) |
MYSQLI_STORE_RESULT (integer) | For using buffered resultsets
MYSQLI_USE_RESULT (integer) | For using unbuffered resultsets
MYSQLI_ASSOC (integer) | Columns are returned into the array having the fieldname as the array index.
MYSQLI_NUM (integer) | Columns are returned into the array having an enumerated index.
MYSQLI_BOTH (integer) | Columns are returned into the array having both a numerical index and the fieldname as the associative index.
MYSQLI_NOT_NULL_FLAG (integer) | Indicates that a field is defined as NOT NULL
MYSQLI_PRI_KEY_FLAG (integer) | Field is part of a primary index
MYSQLI_UNIQUE_KEY_FLAG (integer) | Field is part of a unique index.
MYSQLI_MULTIPLE_KEY_FLAG (integer) | Field is part of an index.
MYSQLI_BLOB_FLAG (integer) | Field is defined as BLOB
MYSQLI_UNSIGNED_FLAG (integer) | Field is defined as UNSIGNED
MYSQLI_ZEROFILL_FLAG (integer) | Field is defined as ZEROFILL
MYSQLI_AUTO_INCREMENT_FLAG (integer) | Field is defined as AUTO_INCREMENT
MYSQLI_TIMESTAMP_FLAG (integer) | Field is defined as TIMESTAMP
MYSQLI_SET_FLAG (integer) | Field is defined as SET
MYSQLI_NUM_FLAG (integer) | Field is defined as NUMERIC
MYSQLI_PART_KEY_FLAG (integer) | Field is part of an multi-index
MYSQLI_GROUP_FLAG (integer) | Field is part of GROUP BY
MYSQLI_TYPE_DECIMAL (integer) | Field is defined as DECIMAL
MYSQLI_TYPE_NEWDECIMAL (integer) | Precision math DECIMAL or NUMERIC field (MySQL 5.0.3 and up)
MYSQLI_TYPE_BIT (integer) | Field is defined as BIT (MySQL 5.0.3 and up)
MYSQLI_TYPE_TINY (integer) | Field is defined as TINYINT
MYSQLI_TYPE_SHORT (integer) | Field is defined as INT
MYSQLI_TYPE_LONG (integer) | Field is defined as INT
MYSQLI_TYPE_FLOAT (integer) | Field is defined as FLOAT
MYSQLI_TYPE_DOUBLE (integer) | Field is defined as DOUBLE
MYSQLI_TYPE_NULL (integer) | Field is defined as DEFAULT NULL
MYSQLI_TYPE_TIMESTAMP (integer) | Field is defined as TIMESTAMP
MYSQLI_TYPE_LONGLONG (integer) | Field is defined as BIGINT
MYSQLI_TYPE_INT24 (integer) | Field is defined as MEDIUMINT
MYSQLI_TYPE_DATE (integer) | Field is defined as DATE
MYSQLI_TYPE_TIME (integer) | Field is defined as TIME
MYSQLI_TYPE_DATETIME (integer) | Field is defined as DATETIME
MYSQLI_TYPE_YEAR (integer) | Field is defined as YEAR
MYSQLI_TYPE_NEWDATE (integer) | Field is defined as DATE
MYSQLI_TYPE_ENUM (integer) | Field is defined as ENUM
MYSQLI_TYPE_SET (integer) | Field is defined as SET
MYSQLI_TYPE_TINY_BLOB (integer) | Field is defined as TINYBLOB
MYSQLI_TYPE_MEDIUM_BLOB (integer) | Field is defined as MEDIUMBLOB
MYSQLI_TYPE_LONG_BLOB (integer) | Field is defined as LONGBLOB
MYSQLI_TYPE_BLOB (integer) | Field is defined as BLOB
MYSQLI_TYPE_VAR_STRING (integer) | Field is defined as VARCHAR
MYSQLI_TYPE_STRING (integer) | Field is defined as CHAR
MYSQLI_TYPE_GEOMETRY (integer) | Field is defined as GEOMETRY
MYSQLI_NEED_DATA (integer) | More data available for bind variable
MYSQLI_NO_DATA (integer) | No more data available for bind variable
MYSQLI_DATA_TRUNCATED (integer) | Data truncation occurred. Available since PHP 5.1.0 and MySQL 5.0.5.

Examples

All Examples in the MySQLI documentation use the world database from MySQL AB. The world database can be found at » http://dev.mysql.com/get/Downloads/Manual/world.sql.gz/from/pick

차례

mysqli_affected_rows -- Gets the number of affected rows in a previous MySQL operation
mysqli_autocommit -- Turns on or off auto-commiting database modifications
mysqli_bind_param -- Alias for mysqli_stmt_bind_param()
mysqli_bind_result -- Alias for mysqli_stmt_bind_result()
mysqli_change_user -- Changes the user of the specified database connection
mysqli_character_set_name -- Returns the default character set for the database connection
mysqli_client_encoding -- Alias of mysqli_character_set_name()
mysqli_close -- Closes a previously opened database connection
mysqli_commit -- Commits the current transaction
mysqli_connect_errno -- Returns the error code from last connect call
mysqli_connect_error -- Returns a string description of the last connect error
mysqli_connect -- Open a new connection to the MySQL server
mysqli_data_seek -- Adjusts the result pointer to an arbitary row in the result
mysqli_debug -- Performs debugging operations
mysqli_disable_reads_from_master -- Disable reads from master
mysqli_disable_rpl_parse -- Disable RPL parse
mysqli_dump_debug_info -- Dump debugging information into the log
mysqli_embedded_server_end
mysqli_embedded_server_start
mysqli_enable_reads_from_master -- Enable reads from master
mysqli_enable_rpl_parse -- Enable RPL parse
mysqli_errno -- Returns the error code for the most recent function call
mysqli_error -- Returns a string description of the last error
mysqli_escape_string -- Alias of mysqli_real_escape_string()
mysqli_execute -- Alias for mysqli_stmt_execute()
mysqli_fetch_array -- Fetch a result row as an associative, a numeric array, or both
mysqli_fetch_assoc -- Fetch a result row as an associative array
mysqli_fetch_field_direct -- Fetch meta-data for a single field
mysqli_fetch_field -- Returns the next field in the result set
mysqli_fetch_fields -- Returns an array of objects representing the fields in a result set
mysqli_fetch_lengths -- Returns the lengths of the columns of the current row in the result set
mysqli_fetch_object -- Returns the current row of a result set as an object
mysqli_fetch_row -- Get a result row as an enumerated array
mysqli_fetch -- Alias for mysqli_stmt_fetch()
mysqli_field_count -- Returns the number of columns for the most recent query
mysqli_field_seek -- Set result pointer to a specified field offset
mysqli_field_tell -- Get current field offset of a result pointer
mysqli_free_result -- Frees the memory associated with a result
mysqli_get_charset -- Returns a character set object
mysqli_get_client_info -- Returns the MySQL client version as a string
mysqli_get_client_version -- Get MySQL client info
mysqli_get_host_info -- Returns a string representing the type of connection used
mysqli_get_metadata -- Alias for mysqli_stmt_result_metadata()
mysqli_get_proto_info -- Returns the version of the MySQL protocol used
mysqli_get_server_info -- Returns the version of the MySQL server
mysqli_get_server_version -- Returns the version of the MySQL server as an integer
mysqli_get_warnings
mysqli_info -- Retrieves information about the most recently executed query
mysqli_init -- Initializes MySQLi and returns a resource for use with mysqli_real_connect()
mysqli_insert_id -- Returns the auto generated id used in the last query
mysqli_kill -- Asks the server to kill a MySQL thread
mysqli_master_query -- Enforce execution of a query on the master in a master/slave setup
mysqli_more_results -- Check if there are any more query results from a multi query
mysqli_multi_query -- Performs a query on the database
mysqli_next_result -- Prepare next result from multi_query
mysqli_num_fields -- Get the number of fields in a result
mysqli_num_rows -- Gets the number of rows in a result
mysqli_options -- Set options
mysqli_param_count -- Alias for mysqli_stmt_param_count()
mysqli_ping -- Pings a server connection, or tries to reconnect if the connection has gone down
mysqli_prepare -- Prepare a SQL statement for execution
mysqli_query -- Performs a query on the database
mysqli_real_connect -- Opens a connection to a mysql server
mysqli_real_escape_string -- Escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection
mysqli_real_query -- Execute an SQL query
mysqli_report -- Enables or disables internal report functions
mysqli_rollback -- Rolls back current transaction
mysqli_rpl_parse_enabled -- Check if RPL parse is enabled
mysqli_rpl_probe -- RPL probe
mysqli_rpl_query_type -- Returns RPL query type
mysqli_select_db -- Selects the default database for database queries
mysqli_send_long_data -- Alias for mysqli_stmt_send_long_data()
mysqli_send_query -- Send the query and return
mysqli_server_end -- Shut down the embedded server
mysqli_server_init -- Initialize embedded server
mysqli_set_charset -- Sets the default client character set
mysqli_set_local_infile_default -- Unsets user defined handler for load local infile command
mysqli_set_local_infile_handler -- Set callback functions for LOAD DATA LOCAL INFILE command
mysqli_set_opt -- Alias of mysqli_options()
mysqli_slave_query -- Force execution of a query on a slave in a master/slave setup
mysqli_sqlstate -- Returns the SQLSTATE error from previous MySQL operation
mysqli_ssl_set -- Used for establishing secure connections using SSL
mysqli_stat -- Gets the current system status
mysqli_stmt_affected_rows -- Returns the total number of rows changed, deleted, or inserted by the last executed statement
mysqli_stmt_attr_get
mysqli_stmt_attr_set
mysqli_stmt_bind_param -- Binds variables to a prepared statement as parameters
mysqli_stmt_bind_result -- Binds variables to a prepared statement for result storage
mysqli_stmt_close -- Closes a prepared statement
mysqli_stmt_data_seek -- Seeks to an arbitray row in statement result set
mysqli_stmt_errno -- Returns the error code for the most recent statement call
mysqli_stmt_error -- Returns a string description for last statement error
mysqli_stmt_execute -- Executes a prepared Query
mysqli_stmt_fetch -- Fetch results from a prepared statement into the bound variables
mysqli_stmt_field_count -- Returns the number of field in the given statement
mysqli_stmt_free_result -- Frees stored result memory for the given statement handle
mysqli_stmt_get_warnings
mysqli_stmt_init -- Initializes a statement and returns an object for use with mysqli_stmt_prepare
mysqli_stmt_insert_id -- Get the ID generated from the previous INSERT operation
mysqli_stmt_num_rows -- Return the number of rows in statements result set
mysqli_stmt_param_count -- Returns the number of parameter for the given statement
mysqli_stmt_prepare -- Prepare a SQL statement for execution
mysqli_stmt_reset -- Resets a prepared statement
mysqli_stmt_result_metadata -- Returns result set metadata from a prepared statement
mysqli_stmt_send_long_data -- Send data in blocks
mysqli_stmt_sqlstate -- Returns SQLSTATE error from previous statement operation
mysqli_stmt_store_result -- Transfers a result set from a prepared statement
mysqli_store_result -- Transfers a result set from the last query
mysqli_thread_id -- Returns the thread ID for the current connection
mysqli_thread_safe -- Returns whether thread safety is given or not
mysqli_use_result -- Initiate a result set retrieval
mysqli_warning_count -- Returns the number of warnings from the last query for the given link
이전 | 위로 | 다음
PDO_MYSQL DSN | 처음으로 | mysqli_affected_rows


mysqli_affected_rows

이전 C. MySQL Improved Extension 다음

mysqli_affected_rows,

(PHP 5)

mysqli_affected_rows, mysqli->affected_rows -- Gets the number of affected rows in a previous MySQL operation

설명

Procedural style:

int mysqli_affected_rows ( mysqli $link )

Object oriented style (property):

class mysqli {
int affected_rows
}

Returns the number of rows affected by the last INSERT, UPDATE, REPLACE or DELETE query.

For SELECT statements mysqli_affected_rows() works like mysqli_num_rows().

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query returned an error.

참고: If the number of affected rows is greater than maximal int value, the number of affected rows will be returned as a string.

예제

예 1362. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);

/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);

/* select all rows */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);

$result->close();

/* Delete table Language */
$mysqli->query("DROP TABLE Language");

/* close connection */
$mysqli->close();
?>

예 1363. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* Insert rows */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* update rows */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));

/* delete rows */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));

/* select all rows */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));

mysqli_free_result($result);

/* Delete table Language */
mysqli_query($link, "DROP TABLE Language");

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169

참고

mysqli_num_rows()
mysqli_info()

이전 | 위로 | 다음
C. MySQL Improved Extension | 처음으로 | mysqli_autocommit


mysqli_autocommit

이전 C. MySQL Improved Extension 다음

mysqli_autocommit,

(PHP 5)

mysqli_autocommit, mysqli->autocommit() -- Turns on or off auto-commiting database modifications

설명

Procedural style:

bool mysqli_autocommit ( mysqli $link, bool $mode )

Object oriented style (method)

class mysqli {
bool autocommit ( bool $mode )
}

Turns on or off auto-commit mode on queries for the database connection.

To determine the current state of autocommit use the SQL command SELECT @@autocommit.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

mode

Whether to turn on auto-commit or not.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: This function doesn't work with non transactional table types (like MyISAM or ISAM).

예제

예 1364. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* turn autocommit on */
$mysqli->autocommit(TRUE);

if ($result = $mysqli->query("SELECT @@autocommit")) {
    $row = $result->fetch_row();
    printf("Autocommit is %s\n", $row[0]);
    $result->free();
}

/* close connection */
$mysqli->close();
?>

예 1365. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
    exit();
}

/* turn autocommit on */
mysqli_autocommit($link, TRUE);

if ($result = mysqli_query($link, "SELECT @@autocommit")) {
    $row = mysqli_fetch_row($result);
    printf("Autocommit is %s\n", $row[0]);
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Autocommit is 1

참고

mysqli_commit()
mysqli_rollback()

이전 | 위로 | 다음
mysqli_affected_rows | 처음으로 | mysqli_bind_param


mysqli_bind_param

(PHP 5)

mysqli_bind_param -- Alias for mysqli_stmt_bind_param()

설명

This function is an alias of mysqli_stmt_bind_param().

주의

참고: mysqli_bind_param() is deprecated and will be removed.

참고

mysqli_stmt_bind_param()

이전 | 위로 | 다음
mysqli_autocommit | 처음으로 | mysqli_bind_result


mysqli_bind_result

(PHP 5)

mysqli_bind_result -- Alias for mysqli_stmt_bind_result()

설명

This function is an alias of mysqli_stmt_bind_result().

주의

참고: mysqli_bind_result() is deprecated and will be removed.

참고

mysqli_stmt_bind_result()

이전 | 위로 | 다음
mysqli_bind_param | 처음으로 | mysqli_change_user


mysqli_change_user

이전 C. MySQL Improved Extension 다음

mysqli_change_user,

(PHP 5)

mysqli_change_user, mysqli->change_user() -- Changes the user of the specified database connection

설명

Procedural style:

bool mysqli_change_user ( mysqli $link, string $user, string $password, string $database )

Object oriented style (method):

class mysqli {
bool change_user ( string $user, string $password, string $database )
}

Changes the user of the specified database connection and sets the current database.

In order to successfully change users a valid username and password parameters must be provided and that user must have sufficient permissions to access the desired database. If for any reason authorization fails, the current user authentication will remain.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

user

The MySQL user name.

password

The MySQL password.

database

The database to change to.

If desired, the NULL value may be passed resulting in only changing the user and not selecting a database. To select a database in this case use the mysqli_select_db() function.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: Using this command will always cause the current database connection to behave as if was a completely new database connection, regardless of if the operation was completed successfully. This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

예제

예 1366. Object oriented style

<?php

/* connect database test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
$mysqli->query("SET @a:=1");

/* reset all and select a new database */
$mysqli->change_user("my_user", "my_password", "world");

if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database: %s\n", $row[0]);
    $result->close();
}

if ($result = $mysqli->query("SELECT @a")) {
    $row = $result->fetch_row();
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1367. Procedural style

<?php
/* connect database test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Set Variable a */
mysqli_query($link, "SET @a:=1");

/* reset all and select a new database */
mysqli_change_user($link, "my_user", "my_password", "world");

if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database: %s\n", $row[0]);
    mysqli_free_result($result);
}

if ($result = mysqli_query($link, "SELECT @a")) {
    $row = mysqli_fetch_row($result);
    if ($row[0] === NULL) {
        printf("Value of variable a is NULL\n");
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Default database: world
Value of variable a is NULL

참고

mysqli_connect()
mysqli_select_db()

이전 | 위로 | 다음
mysqli_bind_result | 처음으로 | mysqli_character_set_name


mysqli_character_set_name

이전 C. MySQL Improved Extension 다음

mysqli_character_set_name,

(PHP 5)

mysqli_character_set_name, mysqli->character_set_name() -- Returns the default character set for the database connection

설명

Procedural style:

string mysqli_character_set_name ( mysqli $link )

Object oriented style (method):

class mysqli {
string character_set_name ( void )
}

Returns the current character set for the database connection.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

The default character set for the current connection

예제

예 1368. Object oriented style

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = $mysqli->character_set_name();
printf ("Current character set is %s\n", $charset);

$mysqli->close();
?>

예 1369. Procedural style

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Print current character set */
$charset = mysqli_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Current character set is latin1_swedish_ci

참고

mysqli_client_encoding()
mysqli_real_escape_string()

이전 | 위로 | 다음
mysqli_change_user | 처음으로 | mysqli_client_encoding


mysqli_client_encoding

(PHP 5)

mysqli_client_encoding -- Alias of mysqli_character_set_name()

설명

This function is an alias of mysqli_character_set_name().

참고

mysqli_real_escape_string()

이전 | 위로 | 다음
mysqli_character_set_name | 처음으로 | mysqli_close


mysqli_close

이전 C. MySQL Improved Extension 다음

mysqli_close,

(PHP 5)

mysqli_close, mysqli->close() -- Closes a previously opened database connection

설명

Procedural style:

bool mysqli_close ( mysqli $link )

Object oriented style (method):

class mysqli {
bool close ( void )
}

Closes a previously opened database connection.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

mysqli_connect()
mysqli_init()
mysqli_real_connect()

이전 | 위로 | 다음
mysqli_client_encoding | 처음으로 | mysqli_commit


mysqli_commit

이전 C. MySQL Improved Extension 다음

mysqli_commit,

(PHP 5)

mysqli_commit, mysqli->commit() -- Commits the current transaction

설명

Procedural style:

bool mysqli_commit ( mysqli $link )

Object oriented style (method)

class mysqli {
bool commit ( void )
}

Commits the current transaction for the database connection.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1370. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE Language LIKE CountryLanguage Type=InnoDB");

/* set autocommit to off */
$mysqli->autocommit(FALSE);

/* Insert some values */
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* commit transaction */
$mysqli->commit();

/* drop table */
$mysqli->query("DROP TABLE Language");

/* close connection */
$mysqli->close();
?>

예 1371. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* set autocommit to off */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE Language LIKE CountryLanguage Type=InnoDB");

/* Insert some values */
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* commit transaction */
mysqli_commit($link);

/* close connection */
mysqli_close($link);
?>

참고

mysqli_autocommit()
mysqli_rollback()

이전 | 위로 | 다음
mysqli_close | 처음으로 | mysqli_connect_errno


mysqli_connect_errno

(PHP 5)

mysqli_connect_errno -- Returns the error code from last connect call

설명

int mysqli_connect_errno ( void )

Returns the last error code number from the last call to mysqli_connect().

참고: Client error message numbers are listed in the MySQL errmsg.h header file, server error message numbers are listed in mysqld_error.h. In the MySQL source distribution you can find a complete list of error messages and error numbers in the file Docs/mysqld_error.txt.

반환값

An error code value for the last call to mysqli_connect(), if it failed. zero means no error occurred.

예제

예 1372. mysqli_connect_errno() example

<?php

$link = @mysqli_connect("localhost", "nonexisting_user", "");

if (!$link) {
    printf("Can't connect to localhost. Errorcode: %d\n", mysqli_connect_errno());
}
?>

참고

mysqli_connect()
mysqli_connect_error()
mysqli_errno()
mysqli_error()
mysqli_sqlstate()

이전 | 위로 | 다음
mysqli_commit | 처음으로 | mysqli_connect_error


mysqli_connect_error

(PHP 5)

mysqli_connect_error -- Returns a string description of the last connect error

설명

string mysqli_connect_error ( void )

Returns the last error message string from the last call to mysqli_connect().

반환값

A string that describes the error. An empty string if no error occurred.

예제

예 1373. mysqli_connect_error() example

<?php

$link = @mysqli_connect("localhost", "nonexisting_user", "");

if (!$link) {
    printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
}
?>

참고

mysqli_connect()
mysqli_connect_errno()
mysqli_errno()
mysqli_error()
mysqli_sqlstate()

이전 | 위로 | 다음
mysqli_connect_errno | 처음으로 | mysqli_connect


mysqli_connect

이전 C. MySQL Improved Extension 다음

mysqli_connect,

(PHP 5)

mysqli_connect, mysqli->__construct() -- Open a new connection to the MySQL server

설명

Procedural style

mysqli mysqli_connect ( [string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket]]]]]] )

Object oriented style (constructor):

class mysqli {
__construct ( [string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket]]]]]] )
}

Opens a connection to the MySQL Server running on.

매개변수

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

username

The MySQL user name.

passwd

If not provided or NULL, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

dbname

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used.

참고: Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the host parameter.

반환값

Returns a object which represents the connection to a MySQL Server or FALSE if the connection failed.

예제

예 1374. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("Host information: %s\n", $mysqli->host_info);

/* close connection */
$mysqli->close();
?>

예 1375. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("Host information: %s\n", mysqli_get_host_info($link));

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Host information: Localhost via UNIX socket

주의

참고: Error "Can't create TCP/IP socket (10106)" usually means that the variables_order configure directive doesn't contain character E. On Windows, if the environment is not copied the SYSTEMROOT environment variable won't be available and PHP will have problems loading Winsock.

이전 | 위로 | 다음
mysqli_connect_error | 처음으로 | mysqli_data_seek


mysqli_data_seek

이전 C. MySQL Improved Extension 다음

mysqli_data_seek,

(PHP 5)

mysqli_data_seek, result->data_seek() -- Adjusts the result pointer to an arbitary row in the result

설명

Procedural style:

bool mysqli_data_seek ( mysqli_result $result, int $offset )

Object oriented style (method):

class mysqli_result {
bool data_seek ( int $offset )
}

The mysqli_data_seek() function seeks to an arbitrary result pointer specified by the offset in the result set.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

offset

The field offset. Must be between zero and the total number of rows minus one (0..mysqli_num_rows() - 1).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: This function can only be used with buffered results attained from the use of the mysqli_store_result() or mysqli_query() functions.

예제

예 1376. Object oriented style

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($result = $mysqli->query( $query)) {

    /* seek to row no. 400 */
    $result->data_seek(399);

    /* fetch row */
    $row = $result->fetch_row();

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1377. Procedural style

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

if ($result = mysqli_query($link, $query)) {

    /* seek to row no. 400 */
    mysqli_data_seek($result, 399);

    /* fetch row */
    $row = mysqli_fetch_row($result);

    printf ("City: %s  Countrycode: %s\n", $row[0], $row[1]);

    /* free result set*/
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

City: Benin City  Countrycode: NGA

참고

mysqli_store_result()
mysqli_fetch_row()
mysqli_fetch_array()
mysqli_fetch_assoc()
mysqli_fetch_object()
mysqli_query()
mysqli_num_rows()

이전 | 위로 | 다음
mysqli_connect | 처음으로 | mysqli_debug


mysqli_debug

이전 C. MySQL Improved Extension 다음

mysqli_debug,

(PHP 5)

mysqli_debug, mysqli->debug() -- Performs debugging operations

설명

Procedural style:

bool mysqli_debug ( string $message )

Object oriented style (method):

class mysqli {
bool debug ( string $message )
}

Performs debugging operations using the Fred Fish debugging library.

매개변수

message

A string representing the debugging operation to perform

반환값

Returns TRUE.

주의

참고: To use the mysqli_debug() function you must complile the MySQL client library to support debugging.

예제

예 1378. Generating a Trace File

<?php

/* Create a trace file in '/tmp/client.trace' on the local (client) machine: */
mysqli_debug("d:t:0,/tmp/client.trace");

?>

참고

mysqli_dump_debug_info()
mysqli_report()

이전 | 위로 | 다음
mysqli_data_seek | 처음으로 | mysqli_disable_reads_from_master


mysqli_disable_reads_from_master

이전 C. MySQL Improved Extension 다음

mysqli_disable_reads_from_master,

(PHP 5)

mysqli_disable_reads_from_master, mysqli->disable_reads_from_master() -- Disable reads from master

설명

Procedural style:

bool mysqli_disable_reads_from_master ( mysqli $link )

Object oriented style (method):

class mysqli {
void disable_reads_from_master ( void )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_debug | 처음으로 | mysqli_disable_rpl_parse


mysqli_disable_rpl_parse

(PHP 5)

mysqli_disable_rpl_parse -- Disable RPL parse

설명

bool mysqli_disable_rpl_parse ( mysqli $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_disable_reads_from_master | 처음으로 | mysqli_dump_debug_info


mysqli_dump_debug_info

이전 C. MySQL Improved Extension 다음

mysqli_dump_debug_info,

(PHP 5)

mysqli_dump_debug_info, mysqli->dump_debug_info() -- Dump debugging information into the log

설명

Procedural style:

bool mysqli_dump_debug_info ( mysqli $link )

Object oriented style (method):

class mysqli {
bool dump_debug_info ( void )
}

This function is designed to be executed by an user with the SUPER privilege and is used to dump debugging information into the log for the MySQL Server relating to the connection.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

mysqli_debug()

이전 | 위로 | 다음
mysqli_disable_rpl_parse | 처음으로 | mysqli_embedded_server_end


mysqli_enable_reads_from_master

(PHP 5)

mysqli_enable_reads_from_master -- Enable reads from master

설명

bool mysqli_enable_reads_from_master ( mysqli $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_embedded_server_start | 처음으로 | mysqli_enable_rpl_parse


mysqli_enable_rpl_parse

(PHP 5)

mysqli_enable_rpl_parse -- Enable RPL parse

설명

bool mysqli_enable_rpl_parse ( mysqli $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_enable_reads_from_master | 처음으로 | mysqli_errno


mysqli_errno

이전 C. MySQL Improved Extension 다음

mysqli_errno,

(PHP 5)

mysqli_errno, mysqli->errno -- Returns the error code for the most recent function call

설명

Procedural style:

int mysqli_errno ( mysqli $link )

Object oriented style (property):

class mysqli {
int errno
}

Returns the last error code for the most recent MySQLi function call that can succeed or fail.

Client error message numbers are listed in the MySQL errmsg.h header file, server error message numbers are listed in mysqld_error.h. In the MySQL source distribution you can find a complete list of error messages and error numbers in the file Docs/mysqld_error.txt.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

An error code value for the last call, if it failed. zero means no error occurred.

예제

예 1379. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errorcode: %d\n", $mysqli->errno);
}

/* close connection */
$mysqli->close();
?>

예 1380. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errorcode: %d\n", mysqli_errno($link));
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Errorcode: 1193

참고

mysqli_connect_errno()
mysqli_connect_error()
mysqli_error()
mysqli_sqlstate()

이전 | 위로 | 다음
mysqli_enable_rpl_parse | 처음으로 | mysqli_error


mysqli_error

이전 C. MySQL Improved Extension 다음

mysqli_error,

(PHP 5)

mysqli_error, mysqli->error -- Returns a string description of the last error

설명

Procedural style:

string mysqli_error ( mysqli $link )

Object oriented style (property):

class mysqli {
string error
}

Returns the last error message for the most recent MySQLi function call that can succeed or fail.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

A string that describes the error. An empty string if no error occurred.

예제

예 1381. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!$mysqli->query("SET a=1")) {
    printf("Errormessage: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

예 1382. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Errormessage: Unknown system variable 'a'

참고

mysqli_connect_errno()
mysqli_connect_error()
mysqli_errno()
mysqli_sqlstate()

이전 | 위로 | 다음
mysqli_errno | 처음으로 | mysqli_escape_string


mysqli_escape_string

(PHP 5)

mysqli_escape_string -- Alias of mysqli_real_escape_string()

설명

This function is an alias of mysqli_real_escape_string().

참고

mysqli_real_escape_string()

이전 | 위로 | 다음
mysqli_error | 처음으로 | mysqli_execute


mysqli_execute

(PHP 5)

mysqli_execute -- Alias for mysqli_stmt_execute()

설명

This function is an alias of mysqli_stmt_execute().

주의

참고: mysqli_execute() is deprecated and will be removed.

참고

mysqli_stmt_execute()

이전 | 위로 | 다음
mysqli_escape_string | 처음으로 | mysqli_fetch_array


mysqli_fetch_array

이전 C. MySQL Improved Extension 다음

mysqli_fetch_array,

(PHP 5)

mysqli_fetch_array, result->fetch_array() -- Fetch a result row as an associative, a numeric array, or both

설명

Procedural style:

mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype] )

Object oriented style (method):

class mysqli_result {
mixed fetch_array ( [int $resulttype] )
}

Returns an array that corresponds to the fetched row or NULL if there are no more rows for the resultset represented by the result parameter.

mysqli_fetch_array() is an extended version of the mysqli_fetch_row() function. In addition to storing the data in the numeric indices of the result array, the mysqli_fetch_array() function can also store the data in associative indices, using the field names of the result set as keys.

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

If two or more columns of the result have the same field names, the last column will take precedence and overwrite the earlier data. In order to access multiple columns with the same name, the numerically indexed version of the row must be used.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

resulttype

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH. Defaults to MYSQLI_BOTH.

By using the MYSQLI_ASSOC constant this function will behave identically to the mysqli_fetch_assoc(), while MYSQLI_NUM will behave identically to the mysqli_fetch_row() function. The final option MYSQLI_BOTH will create a single array with the attributes of both.

반환값

Returns an array of strings that corresponds to the fetched row or NULL if there are no more rows in resultset.

예제

예 1383. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);

/* numeric array */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
$result->close();

/* close connection */
$mysqli->close();
?>

예 1384. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($link, $query);

/* numeric array */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);

/* free result set */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

참고

mysqli_fetch_assoc()
mysqli_fetch_row()
mysqli_fetch_object()
mysqli_query()
mysqli_data_seek()

이전 | 위로 | 다음
mysqli_execute | 처음으로 | mysqli_fetch_assoc


mysqli_fetch_assoc

이전 C. MySQL Improved Extension 다음

mysqli_fetch_assoc,

(PHP 5)

mysqli_fetch_assoc, mysqli->fetch_assoc() -- Fetch a result row as an associative array

설명

Procedural style:

array mysqli_fetch_assoc ( mysqli_result $result )

Object oriented style (method):

class mysqli_result {
array fetch_assoc ( void )
}

Returns an associative array that corresponds to the fetched row or NULL if there are no more rows.

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

반환값

Returns an associative array of strings representing the fetched row in the result set, where each key in the array represents the name of one of the result set's columns or NULL if there are no more rows in resultset.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using mysqli_fetch_row() or add alias names.

예제

예 1385. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1386. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

참고

mysqli_fetch_array()
mysqli_fetch_row()
mysqli_fetch_object()
mysqli_query()
mysqli_data_seek()

이전 | 위로 | 다음
mysqli_fetch_array | 처음으로 | mysqli_fetch_field_direct


mysqli_fetch_field_direct

이전 C. MySQL Improved Extension 다음

mysqli_fetch_field_direct,

(PHP 5)

mysqli_fetch_field_direct, result->fetch_field_direct() -- Fetch meta-data for a single field

설명

Procedural style:

object mysqli_fetch_field_direct ( mysqli_result $result, int $fieldnr )

Object oriented style (method):

class mysqli_result {
object fetch_field_direct ( int $fieldnr )
}

Returns an object which contains field definition informations from specified resultset.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

fieldnr

The field number. This value must be in the range from 0 to number of fields - 1.

반환값

Returns an object which contains field definition information or FALSE if no field information for specified fieldnr is available.

표 181. Object attributes

Attribute | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
def | The default value for this field, represented as a string
max_length | The maximum width of the field for the result set.
length | The width of the field, as specified in the tabl definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

예제

예 1387. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = $result->fetch_field_direct(1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1388. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for column 'SurfaceArea' */
    $finfo = mysqli_fetch_field_direct($result, 1);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n", $finfo->type);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

참고

mysqli_num_fields()
mysqli_fetch_field()
mysqli_fetch_fields()

이전 | 위로 | 다음
mysqli_fetch_assoc | 처음으로 | mysqli_fetch_field


mysqli_fetch_field

이전 C. MySQL Improved Extension 다음

mysqli_fetch_field,

(PHP 5)

mysqli_fetch_field, result->fetch_field() -- Returns the next field in the result set

설명

Procedural style:

object mysqli_fetch_field ( mysqli_result $result )

Object oriented style (method):

class mysqli_result {
object fetch_field ( void )
}

Returns the definition of one column of a result set as an object. Call this function repeatedly to retrieve information about all columns in the result set.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

반환값

Returns an object which contains field definition information or FALSE if no field information is available.

표 182. Object properties

Property | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
def | The default value for this field, represented as a string
max_length | The maximum width of the field for the result set.
length | The width of the field, as specified in the table definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

예제

예 1389. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1390. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {

        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

참고

mysqli_num_fields()
mysqli_fetch_field_direct()
mysqli_fetch_fields()
mysqli_field_seek()

이전 | 위로 | 다음
mysqli_fetch_field_direct | 처음으로 | mysqli_fetch_fields


mysqli_fetch_fields

이전 C. MySQL Improved Extension 다음

mysqli_fetch_fields,

(PHP 5)

mysqli_fetch_fields, result->fetch_fields() -- Returns an array of objects representing the fields in a result set

설명

Procedural Style:

array mysqli_fetch_fields ( mysqli_result $result )

Object oriented style (method):

class mysqli_result {
array fetch_fields ( void )
}

This function serves an identical purpose to the mysqli_fetch_field() function with the single difference that, instead of returning one object at a time for each field, the columns are returned as an array of objects.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

반환값

Returns an array of objects which contains field definition information or FALSE if no field information is available.

표 183. Object properties

Property | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
def | The default value for this field, represented as a string
max_length | The maximum width of the field for the result set.
length | The width of the field, as specified in the table definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

예제

예 1391. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    $finfo = $result->fetch_fields();

    foreach ($finfo as $val) {
        printf("Name:     %s\n", $val->name);
        printf("Table:    %s\n", $val->table);
        printf("max. Len: %d\n", $val->max_length);
        printf("Flags:    %d\n", $val->flags);
        printf("Type:     %d\n\n", $val->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1392. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all columns */
    $finfo = mysqli_fetch_fields($result);

    foreach ($finfo as $val) {
        printf("Name:     %s\n", $val->name);
        printf("Table:    %s\n", $val->table);
        printf("max. Len: %d\n", $val->max_length);
        printf("Flags:    %d\n", $val->flags);
        printf("Type:     %d\n\n", $val->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

참고

mysqli_num_fields()
mysqli_fetch_field_direct()
mysqli_fetch_field()

이전 | 위로 | 다음
mysqli_fetch_field | 처음으로 | mysqli_fetch_lengths


mysqli_fetch_lengths

이전 C. MySQL Improved Extension 다음

mysqli_fetch_lengths,

(PHP 5)

mysqli_fetch_lengths, result->lengths() -- Returns the lengths of the columns of the current row in the result set

설명

Procedural style:

array mysqli_fetch_lengths ( mysqli_result $result )

Object oriented style (property):

class mysqli_result {
array lengths
}

The mysqli_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

반환값

An array of integers representing the size of each column (not including any terminating null characters). FALSE if an error occurred.

mysqli_fetch_lengths() is valid only for the current row of the result set. It returns FALSE if you call it before calling mysqli_fetch_row/array/object or after retrieving all rows in the result.

예제

예 1393. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = $mysqli->query($query)) {

    $row = $result->fetch_row();

    /* display column lengths */
    foreach ($result->lengths as $i => $val) {
        printf("Field %2d has Length %2d\n", $i+1, $val);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1394. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = mysqli_query($link, $query)) {

    $row = mysqli_fetch_row($result);

    /* display column lengths */
    foreach (mysqli_fetch_lengths($result) as $i => $val) {
        printf("Field %2d has Length %2d\n", $i+1, $val);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Field  1 has Length  3
Field  2 has Length  5
Field  3 has Length 13
Field  4 has Length  9
Field  5 has Length  6
Field  6 has Length  1
Field  7 has Length  6
Field  8 has Length  4
Field  9 has Length  6
Field 10 has Length  6
Field 11 has Length  5
Field 12 has Length 44
Field 13 has Length  7
Field 14 has Length  3
Field 15 has Length  2

이전 | 위로 | 다음
mysqli_fetch_fields | 처음으로 | mysqli_fetch_object


mysqli_fetch_object

이전 C. MySQL Improved Extension 다음

mysqli_fetch_object,

(PHP 5)

mysqli_fetch_object, result->fetch_object() -- Returns the current row of a result set as an object

설명

Procedural style:

object mysqli_fetch_object ( mysqli_result $result [, string $class_name [, array $params]] )

Object oriented style (method):

class mysqli_result {
object fetch_object ( [string $class_name [, array $params]] )
}

The mysqli_fetch_object() will return the current row result set as an object where the attributes of the object represent the names of the fields found within the result set.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

class_name

params

반환값

Returns an object with string properties that corresponds to the fetched row or NULL if there are no more rows in resultset.

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

변경 기록

버전 | 설명
5.0.0 | Added the ability to return as a different object.

예제

예 1395. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($obj = $result->fetch_object()) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1396. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($obj = mysqli_fetch_object($result)) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

참고

mysqli_fetch_array()
mysqli_fetch_assoc()
mysqli_fetch_row()
mysqli_query()
mysqli_data_seek()

이전 | 위로 | 다음
mysqli_fetch_lengths | 처음으로 | mysqli_fetch_row


mysqli_fetch_row

이전 C. MySQL Improved Extension 다음

mysqli_fetch_row,

(PHP 5)

mysqli_fetch_row, result->fetch_row() -- Get a result row as an enumerated array

설명

Procedural style:

mixed mysqli_fetch_row ( mysqli_result $result )

Object oriented style (method):

class mysqli_result {
mixed fetch_row ( void )
}

Fetches one row of data from the result set and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to this function will return the next row within the result set, or NULL if there are no more rows.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

반환값

mysqli_fetch_row() returns an array of strings that corresponds to the fetched row or NULL if there are no more rows in result set.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

예제

예 1397. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($row = $result->fetch_row()) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1398. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_row($result)) {
        printf ("%s (%s)\n", $row[0], $row[1]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

참고

mysqli_fetch_array()
mysqli_fetch_assoc()
mysqli_fetch_object()
mysqli_query()
mysqli_data_seek()

이전 | 위로 | 다음
mysqli_fetch_object | 처음으로 | mysqli_fetch


mysqli_fetch

(PHP 5)

mysqli_fetch -- Alias for mysqli_stmt_fetch()

설명

This function is an alias of mysqli_stmt_fetch().

주의

참고: mysqli_fetch() is deprecated and will be removed.

참고

mysqli_stmt_fetch()

이전 | 위로 | 다음
mysqli_fetch_row | 처음으로 | mysqli_field_count


mysqli_field_count

이전 C. MySQL Improved Extension 다음

mysqli_field_count,

(PHP 5)

mysqli_field_count, mysqli->field_count -- Returns the number of columns for the most recent query

설명

Procedural style:

int mysqli_field_count ( mysqli $link )

Object oriented style (property):

class mysqli_result {
int field_count
}

Returns the number of columns for the most recent query on the connection represented by the link parameter. This function can be useful when using the mysqli_store_result() function to determine if the query should have produced a non-empty result set or not without knowing the nature of the query.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

An integer representing the number of fields in a result set.

예제

예 1399. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query( "DROP TABLE IF EXISTS friends");
$mysqli->query( "CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$mysqli->real_query($HTTP_POST_VARS['query']);

if ($mysqli->field_count) {
    /* this was a select/show or describe query */
    $result = $mysqli->store_result();

    /* process resultset */
    $row = $result->fetch_row();

    /* free resultset */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1400. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

mysqli_real_query($link, $HTTP_POST_VARS['query']);

if (mysqli_field_count($link)) {
    /* this was a select/show or describe query */
    $result = mysqli_store_result($link);

    /* process resultset */
    $row = mysqli_fetch_row($result);

    /* free resultset */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

이전 | 위로 | 다음
mysqli_fetch | 처음으로 | mysqli_field_seek


mysqli_field_seek

이전 C. MySQL Improved Extension 다음

mysqli_field_seek,

(PHP 5)

mysqli_field_seek, result->field_seek() -- Set result pointer to a specified field offset

설명

Procedural style:

bool mysqli_field_seek ( mysqli_result $result, int $fieldnr )

Object oriented style (method):

class mysqli_result {
bool field_seek ( int $fieldnr )
}

Sets the field cursor to the given offset. The next call to mysqli_fetch_field() will retrieve the field definition of the column associated with that offset.

참고: To seek to the beginning of a row, pass an offset value of zero.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

fieldnr

The field number. This value must be in the range from 0 to number of fields - 1.

반환값

Returns the previous value of field cursor.

예제

예 1401. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for 2nd column */
    $result->field_seek(1);
    $finfo = $result->fetch_field();

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1402. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for 2nd column */
    mysqli_field_seek($result, 1);
    $finfo = mysqli_fetch_field($result);

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);

    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

참고

mysqli_fetch_field()

이전 | 위로 | 다음
mysqli_field_count | 처음으로 | mysqli_field_tell


mysqli_field_tell

이전 C. MySQL Improved Extension 다음

mysqli_field_tell,

(PHP 5)

mysqli_field_tell, result->current_field -- Get current field offset of a result pointer

설명

Procedural style:

int mysqli_field_tell ( mysqli_result $result )

Object oriented style (property):

class mysqli_result {
int current_field
}

Returns the position of the field cursor used for the last mysqli_fetch_field() call. This value can be used as an argument to mysqli_field_seek().

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

반환값

Returns current offset of field cursor.

예제

예 1403. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {

        /* get fieldpointer offset */
        $currentfield = $result->current_field;

        printf("Column %d:\n", $currentfield);
        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1404. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {

        /* get fieldpointer offset */
        $currentfield = mysqli_field_tell($result);

        printf("Column %d:\n", $currentfield);
        printf("Name:     %s\n", $finfo->name);
        printf("Table:    %s\n", $finfo->table);
        printf("max. Len: %d\n", $finfo->max_length);
        printf("Flags:    %d\n", $finfo->flags);
        printf("Type:     %d\n\n", $finfo->type);
    }
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Column 1:
Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Column 2:
Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

참고

mysqli_fetch_field()
mysqli_field_seek()

이전 | 위로 | 다음
mysqli_field_seek | 처음으로 | mysqli_free_result


mysqli_free_result

이전 C. MySQL Improved Extension 다음

mysqli_free_result,

(PHP 5)

mysqli_free_result, result->free() -- Frees the memory associated with a result

설명

Procedural style:

void mysqli_free_result ( mysqli_result $result )

Object oriented style (all methods are equivalent):

class mysqli_result {
void free ( void )
void close ( void )
void free_result ( void )
}

Frees the memory associated with the result.

참고: You should always free your result with mysqli_free_result(), when your result object is not needed anymore.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

반환값

값을 반환하지 않습니다.

참고

mysqli_query()
mysqli_stmt_store_result()
mysqli_store_result()
mysqli_use_result()

이전 | 위로 | 다음
mysqli_field_tell | 처음으로 | mysqli_get_charset


mysqli_get_client_info

(PHP 5)

mysqli_get_client_info -- Returns the MySQL client version as a string

설명

string mysqli_get_client_info ( void )

The mysqli_get_client_info() function is used to return a string representing the client version being used in the MySQLi extension.

반환값

A string that represents the MySQL client library version

예제

예 1405. mysqli_get_client_info

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %s\n", mysqli_get_client_info());
?>

참고

mysqli_get_client_version()
mysqli_get_server_info()
mysqli_get_server_version()

이전 | 위로 | 다음
mysqli_get_charset | 처음으로 | mysqli_get_client_version


mysqli_get_client_version

(PHP 5)

mysqli_get_client_version -- Get MySQL client info

설명

int mysqli_get_client_version ( void )

Returns client version number as an integer.

반환값

A number that represents the MySQL client library version in format: main_version*10000 + minor_version *100 + sub_version. For example, 4.1.0 is returned as 40100.

This is useful to quickly determine the version of the client library to know if some capability exits.

예제

예 1406. mysqli_get_client_version

<?php

/* We don't need a connection to determine
   the version of mysql client library */

printf("Client library version: %d\n", mysqli_get_client_version());
?>

참고

mysqli_get_client_info()
mysqli_get_server_info()
mysqli_get_server_version()

이전 | 위로 | 다음
mysqli_get_client_info | 처음으로 | mysqli_get_host_info


mysqli_get_host_info

이전 C. MySQL Improved Extension 다음

mysqli_get_host_info,

(PHP 5)

mysqli_get_host_info, mysqli->host_info -- Returns a string representing the type of connection used

설명

Procdural style:

string mysqli_get_host_info ( mysqli $link )

Object oriented style (property):

class mysqli {
string host_info
}

The mysqli_get_host_info() function returns a string describing the connection represented by the link parameter is using (including the server host name).

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

A character string representing the server hostname and the connection type.

예제

예 1407. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print host information */
printf("Host info: %s\n", $mysqli->host_info);

/* close connection */
$mysqli->close();
?>

예 1408. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print host information */
printf("Host info: %s\n", mysqli_get_host_info($link));

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Host info: Localhost via UNIX socket

참고

mysqli_get_proto_info()

이전 | 위로 | 다음
mysqli_get_client_version | 처음으로 | mysqli_get_metadata


mysqli_get_metadata

(PHP 5)

mysqli_get_metadata -- Alias for mysqli_stmt_result_metadata()

설명

This function is an alias of mysqli_stmt_result_metadata().

주의

참고: mysqli_get_metadata() is deprecated and will be removed.

참고

mysqli_stmt_result_metadata()

이전 | 위로 | 다음
mysqli_get_host_info | 처음으로 | mysqli_get_proto_info


mysqli_get_proto_info

이전 C. MySQL Improved Extension 다음

mysqli_get_proto_info,

(PHP 5)

mysqli_get_proto_info, mysqli->protocol_version -- Returns the version of the MySQL protocol used

설명

Procedural style:

int mysqli_get_proto_info ( mysqli $link )

Object oriented style (property):

class mysqli {
string protocol_version
}

Returns an integer representing the MySQL protocol version used by the connection represented by the link parameter.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

Returns an integer representing the protocol version.

예제

예 1409. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print protocol version */
printf("Protocol version: %d\n", $mysqli->protocol_version);

/* close connection */
$mysqli->close();
?>

예 1410. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print protocol version */
printf("Protocol version: %d\n", mysqli_get_proto_info($link));

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Protocol version: 10

참고

mysqli_get_host_info()

이전 | 위로 | 다음
mysqli_get_metadata | 처음으로 | mysqli_get_server_info


mysqli_get_server_info

이전 C. MySQL Improved Extension 다음

mysqli_get_server_info,

(PHP 5)

mysqli_get_server_info, mysqli->server_info -- Returns the version of the MySQL server

설명

Procedural style:

string mysqli_get_server_info ( mysqli $link )

Object oriented style (property):

class mysqli {
string server_info
}

Returns a string representing the version of the MySQL server that the MySQLi extension is connected to.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

A character string representing the server version.

예제

예 1411. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %s\n", $mysqli->server_info);

/* close connection */
$mysqli->close();
?>

예 1412. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %s\n", mysqli_get_server_info($link));

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Server version: 4.1.2-alpha-debug

참고

mysqli_get_client_info()
mysqli_get_client_version()
mysqli_get_server_version()

이전 | 위로 | 다음
mysqli_get_proto_info | 처음으로 | mysqli_get_server_version


mysqli_get_server_version

이전 C. MySQL Improved Extension 다음

mysqli_get_server_version,

(PHP 5)

mysqli_get_server_version, mysqli->server_version -- Returns the version of the MySQL server as an integer

설명

Procedural style:

int mysqli_get_server_version ( mysqli $link )

Object oriented style (property):

class mysqli {
int server_version
}

The mysqli_get_server_version() function returns the version of the server connected to (represented by the link parameter) as an integer.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

An integer representing the server version.

The form of this version number is main_version * 10000 + minor_version * 100 + sub_version (i.e. version 4.1.0 is 40100).

예제

예 1413. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", $mysqli->server_version);

/* close connection */
$mysqli->close();
?>

예 1414. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* print server version */
printf("Server version: %d\n", mysqli_get_server_version($link));

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Server version: 40102

참고

mysqli_get_client_info()
mysqli_get_client_version()
mysqli_get_server_info()

이전 | 위로 | 다음
mysqli_get_server_info | 처음으로 | mysqli_get_warnings


mysqli_info

이전 C. MySQL Improved Extension 다음

mysqli_info,

(PHP 5)

mysqli_info, mysqli->info -- Retrieves information about the most recently executed query

설명

Procedural style:

string mysqli_info ( mysqli $link )

Object oriented style (property)

class mysqli {
string info
}

The mysqli_info() function returns a string providing information about the last query executed. The nature of this string is provided below:

표 184. Possible mysqli_info return values

Query type | Example result string
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

참고: Queries which do not fall into one of the above formats are not supported. In these situations, mysqli_info() will return an empty string.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

A character string representing additional information about the most recently executed query.

예제

예 1415. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", $mysqli->info);

/* close connection */
$mysqli->close();
?>

예 1416. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO .. SELECT */
mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", mysqli_info($link));

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Records: 150  Duplicates: 0  Warnings: 0

참고

mysqli_affected_rows()
mysqli_warning_count()
mysqli_num_rows()

이전 | 위로 | 다음
mysqli_get_warnings | 처음으로 | mysqli_init


mysqli_init

(PHP 5)

mysqli_init -- Initializes MySQLi and returns a resource for use with mysqli_real_connect()

설명

Procedural style:

mysqli mysqli_init ( void )

Object oriented style (method):

class mysqli {
mysqli init ( void )
}

Allocates or initializes a MYSQL object suitable for mysqli_options() and mysqli_real_connect().

참고: Any subsequent calls to any mysqli function (except mysqli_options()) will fail until mysqli_real_connect() was called.

반환값

Returns an object.

참고

mysqli_options()
mysqli_close()
mysqli_real_connect()
mysqli_connect()

이전 | 위로 | 다음
mysqli_info | 처음으로 | mysqli_insert_id


mysqli_insert_id

이전 C. MySQL Improved Extension 다음

mysqli_insert_id,

(PHP 5)

mysqli_insert_id, mysqli->insert_id -- Returns the auto generated id used in the last query

설명

Procedural style:

int mysqli_insert_id ( mysqli $link )

Object oriented style (property):

class mysqli {
int insert_id
}

The mysqli_insert_id() function returns the ID generated by a query on a table with a column having the AUTO_INCREMENT attribute. If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the AUTO_INCREMENT attribute, this function will return zero.

참고: Performing an INSERT or UPDATE statement using the LAST_INSERT_ID() function will also modify the value returned by the mysqli_insert_id() function.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

The value of the AUTO_INCREMENT field that was updated by the previous query. Returns zero if there was no previous query on the connection or if the query did not update an AUTO_INCREMENT value.

참고: If the number is greater than maximal int value, mysqli_insert_id() will return a string.

예제

예 1417. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("New Record has id %d.\n", $mysqli->insert_id);

/* drop table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

예 1418. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf ("New Record has id %d.\n", mysqli_insert_id($link));

/* drop table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

New Record has id 1.

이전 | 위로 | 다음
mysqli_init | 처음으로 | mysqli_kill


mysqli_kill

이전 C. MySQL Improved Extension 다음

mysqli_kill,

(PHP 5)

mysqli_kill, mysqli->kill() -- Asks the server to kill a MySQL thread

설명

Procedural style:

bool mysqli_kill ( mysqli $link, int $processid )

Object oriented style (method)

class mysqli {
bool kill ( int $processid )
}

This function is used to ask the server to kill a MySQL thread specified by the processid parameter. This value must be retrieved by calling the mysqli_thread_id() function.

To stop a running query you should use the SQL command KILL QUERY processid.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1419. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

예 1420. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Error: MySQL server has gone away

참고

mysqli_thread_id()

이전 | 위로 | 다음
mysqli_insert_id | 처음으로 | mysqli_master_query


mysqli_master_query

(PHP 5)

mysqli_master_query -- Enforce execution of a query on the master in a master/slave setup

설명

bool mysqli_master_query ( mysqli $link, string $query )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_kill | 처음으로 | mysqli_more_results


mysqli_more_results

이전 C. MySQL Improved Extension 다음

mysqli_more_results,

(PHP 5)

mysqli_more_results, mysqli->more_results -- Check if there are any more query results from a multi query

설명

bool mysqli_more_results ( mysqli $link )

Indicates if one or more result sets are available from a previous call to mysqli_multi_query().

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

See mysqli_multi_query().

참고

mysqli_multi_query()
mysqli_next_result()
mysqli_store_result()
mysqli_use_result()

이전 | 위로 | 다음
mysqli_master_query | 처음으로 | mysqli_multi_query


mysqli_multi_query

이전 C. MySQL Improved Extension 다음

mysqli_multi_query,

(PHP 5)

mysqli_multi_query, mysqli->multi_query() -- Performs a query on the database

설명

Procedural style:

bool mysqli_multi_query ( mysqli $link, string $query )

Object oriented style (method):

class mysqli {
bool multi_query ( string $query )
}

Executes one or multiple queries which are concatenated by a semicolon.

To retrieve the resultset from the first query you can use mysqli_use_result() or mysqli_store_result(). All subsequent query results can be processed using mysqli_more_results() and mysqli_next_result().

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

query

The query, as a string.

반환값

Returns FALSE if the first statement failed. To retrieve subsequent errors from other statements you have to call mysqli_next_result() first.

예제

예 1421. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

예 1422. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력 예:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

참고

mysqli_use_result()
mysqli_store_result()
mysqli_next_result()
mysqli_more_results()

이전 | 위로 | 다음
mysqli_more_results | 처음으로 | mysqli_next_result


mysqli_next_result

이전 C. MySQL Improved Extension 다음

mysqli_next_result,

(PHP 5)

mysqli_next_result, mysqli->next_result() -- Prepare next result from multi_query

설명

bool mysqli_next_result ( mysqli $link )

Prepares next result set from a previous call to
mysqli_multi_query() which can be retrieved by
mysqli_store_result() or
mysqli_use_result().

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

See mysqli_multi_query().

참고

mysqli_multi_query()
mysqli_more_results()
mysqli_store_result()
mysqli_use_result()

이전 | 위로 | 다음
mysqli_multi_query | 처음으로 | mysqli_num_fields


mysqli_num_fields

이전 C. MySQL Improved Extension 다음

mysqli_num_fields,

(PHP 5)

mysqli_num_fields, result->field_count -- Get the number of fields in a result

설명

Procedural style:

int mysqli_num_fields ( mysqli_result $result )

Object oriented style (property):

class mysqli_result {
int field_count
}

Returns the number of fields from specified result set.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

반환값

The number of fields from a result set.

예제

예 1423. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = $result->field_count;

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1424. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT * FROM City ORDER BY ID LIMIT 1")) {

    /* determine number of fields in result set */
    $field_cnt = mysqli_num_fields($result);

    printf("Result set has %d fields.\n", $field_cnt);

    /* close result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Result set has 5 fields.

참고

mysqli_fetch_field()

이전 | 위로 | 다음
mysqli_next_result | 처음으로 | mysqli_num_rows


mysqli_num_rows

이전 C. MySQL Improved Extension 다음

mysqli_num_rows,

(PHP 5)

mysqli_num_rows, result->num_rows -- Gets the number of rows in a result

설명

Procedural style:

int mysqli_num_rows ( mysqli_result $result )

Object oriented style (property):

class mysqli_result {
int num_rows
}

Returns the number of rows in the result set.

The use of mysqli_num_rows() depends on whether you use buffered or unbuffered result sets. In case you use unbuffered resultsets mysqli_num_rows() will not correct the correct number of rows until all the rows in the result have been retrieved.

매개변수

result

순차
형식 전용: mysqli_query()나
mysqli_store_result()나
mysqli_use_result()가 반환한 결과셋
식별자.

반환값

Returns number of rows in the result set.

참고: If the number of rows is greater than maximal int value, the number will be returned as a string.

예제

예 1425. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = $result->num_rows;

    printf("Result set has %d rows.\n", $row_cnt);

    /* close result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

예 1426. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = mysqli_num_rows($result);

    printf("Result set has %d rows.\n", $row_cnt);

    /* close result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Result set has 239 rows.

참고

mysqli_affected_rows()
mysqli_store_result()
mysqli_use_result()
mysqli_query()

이전 | 위로 | 다음
mysqli_num_fields | 처음으로 | mysqli_options


mysqli_options

이전 C. MySQL Improved Extension 다음

mysqli_options,

(PHP 5)

mysqli_options, mysqli->options() -- Set options

설명

Procedural style:

bool mysqli_options ( mysqli $link, int $option, mixed $value )

Object oriented style (method)

class mysqli {
bool options ( int $option, mixed $value )
}

Used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

mysqli_options() should be called after
mysqli_init() and before
mysqli_real_connect().

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

option

The option that you want to set. It can be one of the following values:

표 185. Valid options

Name | Description
MYSQLI_OPT_CONNECT_TIMEOUT | connection timeout in seconds
MYSQLI_OPT_LOCAL_INFILE | enable/disable use of LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND | command to execute after when connecting to MySQL server
MYSQLI_READ_DEFAULT_FILE | Read options from named option file instead of my.cnf
MYSQLI_READ_DEFAULT_GROUP | Read options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE.

value

The value for the option.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

See mysqli_real_connect().

참고

mysqli_init()
mysqli_real_connect()

이전 | 위로 | 다음
mysqli_num_rows | 처음으로 | mysqli_param_count


mysqli_param_count

(PHP 5)

mysqli_param_count -- Alias for mysqli_stmt_param_count()

설명

This function is an alias of mysqli_stmt_param_count().

주의

참고: mysqli_param_count() is deprecated and will be removed.

참고

mysqli_stmt_param_count()

이전 | 위로 | 다음
mysqli_options | 처음으로 | mysqli_ping


mysqli_ping

이전 C. MySQL Improved Extension 다음

mysqli_ping,

(PHP 5)

mysqli_ping, mysqli->ping() -- Pings a server connection, or tries to reconnect if the connection has gone down

설명

Procedural style:

bool mysqli_ping ( mysqli $link )

Object oriented style (method):

class mysqli {
bool ping ( void )
}

Checks whether the connection to the server is working. If it has gone down, and global option mysqli.reconnect is enabled an automatic reconnection is attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1427. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* check if server is alive */
if ($mysqli->ping()) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

예 1428. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* check if server is alive */
if (mysqli_ping($link)) {
    printf ("Our connection is ok!\n");
} else {
    printf ("Error: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Our connection is ok!

이전 | 위로 | 다음
mysqli_param_count | 처음으로 | mysqli_prepare


mysqli_prepare

이전 C. MySQL Improved Extension 다음

mysqli_prepare,

(PHP 5)

mysqli_prepare, mysqli->prepare() -- Prepare a SQL statement for execution

설명

Procedure style:

mysqli_stmt mysqli_prepare ( mysqli $link, string $query )

Object oriented style (method)

class mysqli {
mysqli_stmt prepare ( string $query )
}

Prepares the SQL query pointed to by the null-terminated string query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

The parameter markers must be bound to application variables using mysqli_stmt_bind_param() and/or mysqli_stmt_bind_result() before executing the statement or fetching rows.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

query

The query, as a string.

참고: You should not add a terminating semicolon or \g to the statement.

This parameter can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

참고: The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement, or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. It's not allowed to compare marker with NULL by ? IS NULL too. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

반환값

mysqli_prepare() returns a statement object or FALSE if an error occured.

예제

예 1429. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1430. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $district);

    /* fetch value */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Amersfoort is in district Utrecht

참고

mysqli_stmt_execute()
mysqli_stmt_fetch()
mysqli_stmt_bind_param()
mysqli_stmt_bind_result()
mysqli_stmt_close()

이전 | 위로 | 다음
mysqli_ping | 처음으로 | mysqli_query


mysqli_query

이전 C. MySQL Improved Extension 다음

mysqli_query,

(PHP 5)

mysqli_query, mysqli->query() -- Performs a query on the database

설명

Procedural style:

mixed mysqli_query ( mysqli $link, string $query [, int $resultmode] )

Object oriented style (method):

class mysqli {
mixed query ( string $query [, int $resultmode] )
}

Performs a query against the database.

Functionally, using this function is identical to calling
mysqli_real_query() followed either by
mysqli_use_result() or
mysqli_store_result().

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

query

The query string.

resultmode

Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used.

If you use MYSQLI_USE_RESULT all subsequent calls will return error Commands out of sync unless you call mysqli_free_result()

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. For SELECT, SHOW, DESCRIBE or EXPLAIN mysqli_query() will return a result object.

예제

예 1431. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Create table doesn't return a resultset */
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */
    $result->close();
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!$mysqli->query("SET @a:='this will not work'")) {
        printf("Error: %s\n", $mysqli->error);
    }
    $result->close();
}

$mysqli->close();
?>

예 1432. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Create table doesn't return a resultset */
if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", mysqli_num_rows($result));

    /* free result set */
    mysqli_free_result($result);
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!mysqli_query($link, "SET @a:='this will not work'")) {
        printf("Error: %s\n", mysqli_error($link));
    }
    mysqli_free_result($result);
}

mysqli_close($link);
?>

위 예제의 출력:

Table myCity successfully created.
Select returned 10 rows.
Error: Commands out of sync;  You can't run this command now

참고

mysqli_real_query()
mysqli_multi_query()
mysqli_free_result()

이전 | 위로 | 다음
mysqli_prepare | 처음으로 | mysqli_real_connect


mysqli_real_connect

이전 C. MySQL Improved Extension 다음

mysqli_real_connect,

(PHP 5)

mysqli_real_connect, mysqli->real_connect() -- Opens a connection to a mysql server

설명

Procedural style

bool mysqli_real_connect ( mysqli $link [, string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags]]]]]]] )

Object oriented style (method)

class mysqli {
bool real_connect ( [string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags]]]]]]] )
}

Establish a connection to a MySQL database engine.

This function differs from mysqli_connect():

  • mysqli_real_connect() needs a valid object which has to be created by function mysqli_init().

  • With function mysqli_options() you can set various options for connection.

  • There is a flags parameter.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

host

Can be either a host name or an IP address. Passing the NULL value or the string "localhost" to this parameter, the local host is assumed. When possible, pipes will be used instead of the TCP/IP protocol.

username

The MySQL user name.

passwd

If provided or NULL, the MySQL server will attempt to authenticate the user against those user records which have no password only. This allows one username to be used with different permissions (depending on if a password as provided or not).

dbname

If provided will specify the default database to be used when performing queries.

port

Specifies the port number to attempt to connect to the MySQL server.

socket

Specifies the socket or named pipe that should be used.

참고: Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the host parameter.

flags

With the parameter flags you can set different connection options:

표 186. Supported flags

Name | Description
MYSQLI_CLIENT_COMPRESS | Use compression protocol
MYSQLI_CLIENT_FOUND_ROWS | return number of matched rows, not the number of affected rows
MYSQLI_CLIENT_IGNORE_SPACE | Allow spaces after function names. Makes all function names reserved words.
MYSQLI_CLIENT_INTERACTIVE | Allow interactive_timeout seconds (instead of wait_timeout seconds) of inactivity before closing the connection
MYSQLI_CLIENT_SSL | Use SSL (encryption)

참고: For security reasons the MULTI_STATEMENT flag is not supported in PHP. If you want to execute multiple queries use the mysqli_multi_query() function.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1433. Object oriented style

<?php

/* create a connection object which is not connected */
$mysqli = mysqli_init();

/* set connection options */
$mysqli->options(MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5);

/* connect to server */
$mysqli->real_connect('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf ("Connection: %s\n.", $mysqli->host_info);

$mysqli->close();
?>

예 1434. Procedural style

<?php

/* create a connection object which is not connected */
$link = mysqli_init();

/* set connection options */
mysqli_options($link, MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5);

/* connect to server */
mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf ("Connection: %s\n.", mysqli_get_host_info($link));

mysqli_close($link);
?>

위 예제의 출력:

Connection: Localhost via UNIX socket

참고

mysqli_connect()
mysqli_init()
mysqli_options()
mysqli_ssl_set()
mysqli_close()

이전 | 위로 | 다음
mysqli_query | 처음으로 | mysqli_real_escape_string


mysqli_real_escape_string

이전 C. MySQL Improved Extension 다음

mysqli_real_escape_string,

(PHP 5)

mysqli_real_escape_string, mysqli->real_escape_string() -- Escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection

설명

Procedural style:

string mysqli_real_escape_string ( mysqli $link, string $escapestr )

Object oriented style (both methods are equivalent):

class mysqli {
string escape_string ( string $escapestr )
string real_escape_string ( string $escapestr )
}

This function is used to create a legal SQL string that you can use in an SQL statement. The given string is encoded to an escaped SQL string, taking into account the current character set of the connection.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

escapestr

The string to be escaped.

Characters encoded are NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.

반환값

Returns an escaped string.

예제

예 1435. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", $mysqli->sqlstate);
}

$city = $mysqli->real_escape_string($city);

/* this query with escaped $city will work */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", $mysqli->affected_rows);
}

$mysqli->close();
?>

예 1436. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("Error: %s\n", mysqli_sqlstate($link));
}

$city = mysqli_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
    printf("%d Row inserted.\n", mysqli_affected_rows($link));
}

mysqli_close($link);
?>

위 예제의 출력:

Error: 42000
1 Row inserted.

참고

mysqli_character_set_name()

이전 | 위로 | 다음
mysqli_real_connect | 처음으로 | mysqli_real_query


mysqli_real_query

이전 C. MySQL Improved Extension 다음

mysqli_real_query,

(PHP 5)

mysqli_real_query, mysqli->real_query() -- Execute an SQL query

설명

Procedural style

bool mysqli_real_query ( mysqli $link, string $query )

Object oriented style (method):

class mysqli {
bool real_query ( string $query )
}

Executes a single query against the database whose result can then be retrieved or stored using the mysqli_store_result() or mysqli_use_result() functions.

In order to determine if a given query should return a result set or not, see mysqli_field_count().

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

query

The query, as a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

mysqli_query()
mysqli_store_result()
mysqli_use_result()

이전 | 위로 | 다음
mysqli_real_escape_string | 처음으로 | mysqli_report


mysqli_report

(PHP 5)

mysqli_report -- Enables or disables internal report functions

설명

bool mysqli_report ( int $flags )

mysqli_report() is a powerful function to improve your queries and code during development and testing phase. Depending on the flags it reports errors from mysqli function calls or queries which don't use an index (or use a bad index).

매개변수

flags

표 187. Supported flags

Name | Description
MYSQLI_REPORT_OFF | Turns reporting off
MYSQLI_REPORT_ERROR | Report errors from mysqli function calls
MYSQLI_REPORT_STRICT | Report warnings from mysqli function calls
MYSQLI_REPORT_INDEX | Report if no index or bad index was used in a query
MYSQLI_REPORT_ALL | Set all options (report all)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1437. Object oriented style

<?php
/* activate reporting */
mysqli_report(MYSQLI_REPORT_ALL);

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* this query should report an error */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

/* this query should report a warning */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$result->close();

$mysqli->close();
?>

참고

mysqli_debug()
mysqli_dump_debug_info()

이전 | 위로 | 다음
mysqli_real_query | 처음으로 | mysqli_rollback


mysqli_rollback

이전 C. MySQL Improved Extension 다음

mysqli_rollback,

(PHP 5)

mysqli_rollback, mysqli->rollback() -- Rolls back current transaction

설명

bool mysqli_rollback ( mysqli $link )
class mysqli {
bool rollback ( void )
}

Rollbacks the current transaction for the database.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1438. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* disable autocommit */
$mysqli->autocommit(FALSE);

$mysqli->query("CREATE TABLE myCity LIKE City");
$mysqli->query("ALTER TABLE myCity Type=InnoDB");
$mysqli->query("INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* commit insert */
$mysqli->commit();

/* delete all rows */
$mysqli->query("DELETE FROM myCity");

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Rollback */
$mysqli->rollback();

if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) {
    $row = $result->fetch_row();
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    $result->close();
}

/* Drop table myCity */
$mysqli->query("DROP TABLE myCity");

$mysqli->close();
?>

예 1439. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* disable autocommit */
mysqli_autocommit($link, FALSE);

mysqli_query($link, "CREATE TABLE myCity LIKE City");
mysqli_query($link, "ALTER TABLE myCity Type=InnoDB");
mysqli_query($link, "INSERT INTO myCity SELECT * FROM City LIMIT 50");

/* commit insert */
mysqli_commit($link);

/* delete all rows */
mysqli_query($link, "DELETE FROM myCity");

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity.\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}

/* Rollback */
mysqli_rollback($link);

if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) {
    $row = mysqli_fetch_row($result);
    printf("%d rows in table myCity (after rollback).\n", $row[0]);
    /* Free result */
    mysqli_free_result($result);
}

/* Drop table myCity */
mysqli_query($link, "DROP TABLE myCity");

mysqli_close($link);
?>

위 예제의 출력:

0 rows in table myCity.
50 rows in table myCity (after rollback).

참고

mysqli_commit()
mysqli_autocommit()

이전 | 위로 | 다음
mysqli_report | 처음으로 | mysqli_rpl_parse_enabled


mysqli_rpl_parse_enabled

(PHP 5)

mysqli_rpl_parse_enabled -- Check if RPL parse is enabled

설명

int mysqli_rpl_parse_enabled ( mysqli $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_rollback | 처음으로 | mysqli_rpl_probe


mysqli_rpl_probe

(PHP 5)

mysqli_rpl_probe -- RPL probe

설명

bool mysqli_rpl_probe ( mysqli $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_rpl_parse_enabled | 처음으로 | mysqli_rpl_query_type


mysqli_rpl_query_type

이전 C. MySQL Improved Extension 다음

mysqli_rpl_query_type,

(PHP 5)

mysqli_rpl_query_type, mysqli->rpl_query_type() -- Returns RPL query type

설명

Procedural style:

int mysqli_rpl_query_type ( mysqli $link, string $query )

Object oriented style (method)

class mysqli {
int rpl_query_type ( string $query )
}

Returns MYSQLI_RPL_MASTER, MYSQLI_RPL_SLAVE or MYSQLI_RPL_ADMIN depending on a query type. INSERT, UPDATE and similar are master queries, SELECT is slave, and FLUSH, REPAIR and similar are admin.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_rpl_probe | 처음으로 | mysqli_select_db


mysqli_select_db

이전 C. MySQL Improved Extension 다음

mysqli_select_db,

(PHP 5)

mysqli_select_db, mysqli->select_db() -- Selects the default database for database queries

설명

Procedural style:

bool mysqli_select_db ( mysqli $link, string $dbname )

Object oriented style (method):

class mysqli {
bool select_db ( string $dbname )
}

Selects the default database to be used when performing queries against the database connection.

참고: This function should only be used to change the default database for the connection. You can select the default database with 4th parameter in mysqli_connect().

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

dbname

The database name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1440. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

/* change db to world db */
$mysqli->select_db("world");

/* return name of current default database */
if ($result = $mysqli->query("SELECT DATABASE()")) {
    $row = $result->fetch_row();
    printf("Default database is %s.\n", $row[0]);
    $result->close();
}

$mysqli->close();
?>

예 1441. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

/* change db to world db */
mysqli_select_db($link, "world");

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

mysqli_close($link);
?>

위 예제의 출력:

Default database is test.
Default database is world.

참고

mysqli_connect()
mysqli_real_connect()

이전 | 위로 | 다음
mysqli_rpl_query_type | 처음으로 | mysqli_send_long_data


mysqli_send_long_data

(PHP 5)

mysqli_send_long_data -- Alias for mysqli_stmt_send_long_data()

설명

This function is an alias of mysqli_stmt_send_long_data().

주의

참고: mysqli_send_long_data() is deprecated and will be removed.

참고

mysqli_stmt_send_long_data()

이전 | 위로 | 다음
mysqli_select_db | 처음으로 | mysqli_send_query


mysqli_send_query

이전 C. MySQL Improved Extension 다음

mysqli_send_query,

(PHP 5)

mysqli_send_query, mysqli->send_query() -- Send the query and return

설명

Procedural style:

bool mysqli_send_query ( mysqli $link, string $query )

Object oriented style (method)

class mysqli {
bool send_query ( string $query )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_send_long_data | 처음으로 | mysqli_server_end


mysqli_server_end

(PHP 5 <= 5.0.5)

mysqli_server_end -- Shut down the embedded server

설명

void mysqli_server_end ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_send_query | 처음으로 | mysqli_server_init


mysqli_server_init

(PHP 5 <= 5.0.5)

mysqli_server_init -- Initialize embedded server

설명

bool mysqli_server_init ( [array $server [, array $groups]] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_server_end | 처음으로 | mysqli_set_charset


mysqli_set_opt

(PHP 5)

mysqli_set_opt -- Alias of mysqli_options()

설명

This function is an alias of mysqli_options().

이전 | 위로 | 다음
mysqli_set_local_infile_handler | 처음으로 | mysqli_slave_query


mysqli_sqlstate

이전 C. MySQL Improved Extension 다음

mysqli_sqlstate,

(PHP 5)

mysqli_sqlstate, mysqli->sqlstate -- Returns the SQLSTATE error from previous MySQL operation

설명

Procedural style:

string mysqli_sqlstate ( mysqli $link )

Object oriented style (property):

class mysqli {
string sqlstate
}

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

참고: Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

예제

예 1444. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", $mysqli->sqlstate);
}

$mysqli->close();
?>

예 1445. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* Table City already exists, so we should get an error */
if (!mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
    printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($link));
}

mysqli_close($link);
?>

위 예제의 출력:

Error - SQLSTATE 42S01.

참고

mysqli_errno()
mysqli_error()

이전 | 위로 | 다음
mysqli_slave_query | 처음으로 | mysqli_ssl_set


mysqli_ssl_set

이전 C. MySQL Improved Extension 다음

mysqli_ssl_set,

(PHP 5)

mysqli_ssl_set, mysqli->ssl_set() -- Used for establishing secure connections using SSL

설명

Procedural style:

bool mysqli_ssl_set ( mysqli $link, string $key, string $cert, string $ca, string $capath, string $cipher )

Object oriented style (method):

class mysqli {
bool ssl_set ( string $key, string $cert, string $ca, string $capath, string $cipher )
}

Used for establishing secure connections using SSL. It must be called before mysqli_real_connect(). This function does nothing unless OpenSSL support is enabled.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

key

The path name to the key file.

cert

The path name to the certificate file.

ca

The path name to the certificate authority file.

capath

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher

A list of allowable ciphers to use for SSL encryption.

Any unused SSL parameters may be given as NULL

반환값

This function always returns TRUE value. If SSL setup is incorrect mysqli_real_connect() will return an error when you attempt to connect.

참고

mysqli_options()
mysqli_real_connect()

이전 | 위로 | 다음
mysqli_sqlstate | 처음으로 | mysqli_stat


mysqli_stat

이전 C. MySQL Improved Extension 다음

mysqli_stat,

(PHP 5)

mysqli_stat, mysqli->stat() -- Gets the current system status

설명

Procedural style:

string mysqli_stat ( mysqli $link )

Object oriented style (method):

class mysqli {
string stat ( void )
}

mysqli_stat() returns a string containing information similar to that provided by the 'mysqladmin status' command. This includes uptime in seconds and the number of running threads, questions, reloads, and open tables.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

A string describing the server status. FALSE if an error occurred.

예제

예 1446. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf ("System status: %s\n", $mysqli->stat());

$mysqli->close();
?>

예 1447. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

printf("System status: %s\n", mysqli_stat($link));

mysqli_close($link);
?>

위 예제의 출력:

System status: Uptime: 272  Threads: 1  Questions: 5340  Slow queries: 0
Opens: 13  Flush tables: 1  Open tables: 0  Queries per second avg: 19.632
Memory in use: 8496K  Max memory used: 8560K

참고

mysqli_get_server_info()

이전 | 위로 | 다음
mysqli_ssl_set | 처음으로 | mysqli_stmt_affected_rows


mysqli_stmt_affected_rows

이전 C. MySQL Improved Extension 다음

mysqli_stmt_affected_rows,

(PHP 5)

mysqli_stmt_affected_rows, mysqli_stmt->affected_rows -- Returns the total number of rows changed, deleted, or inserted by the last executed statement

설명

Procedural style :

int mysqli_stmt_affected_rows ( mysqli_stmt $stmt )

Object oriented style (property):

class mysqli_stmt {
int affected_rows
}

Returns the number of rows affected by INSERT, UPDATE, or DELETE query.

This function only works with queries which update a table. In order to get the number of rows from a SELECT query, use mysqli_stmt_num_rows() instead.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE/DELETE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query has returned an error.

참고: If the number of affected rows is greater than maximal PHP int value, the number of affected rows will be returned as a string value.

예제

예 1448. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* create temp table */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
if ($stmt = $mysqli->prepare($query)) {

    /* Bind variable for placeholder */
    $code = 'A%';
    $stmt->bind_param("s", $code);

    /* execute statement */
    $stmt->execute();

    printf("rows inserted: %d\n", $stmt->affected_rows);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1449. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* create temp table */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
if ($stmt = mysqli_prepare($link, $query)) {

    /* Bind variable for placeholder */
    $code = 'A%';
    mysqli_stmt_bind_param($stmt, "s", $code);

    /* execute statement */
    mysqli_stmt_execute($stmt);

    printf("rows inserted: %d\n", mysqli_stmt_affected_rows($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

rows inserted: 17

참고

mysqli_stmt_num_rows()
mysqli_prepare()

이전 | 위로 | 다음
mysqli_stat | 처음으로 | mysqli_stmt_attr_get


mysqli_stmt_bind_param

이전 C. MySQL Improved Extension 다음

mysqli_stmt_bind_param,

(PHP 5)

mysqli_stmt_bind_param, stmt->bind_param() -- Binds variables to a prepared statement as parameters

설명

Procedural style:

bool mysqli_stmt_bind_param ( mysqli_stmt $stmt, string $types, mixed &$var1 [, mixed &$...] )

Object oriented style (method):

class mysqli_stmt {
bool bind_param ( string $types, mixed &$var1 [, mixed &$...] )
}

Bind variables for the parameter markers in the SQL statement that was passed to mysqli_prepare().

참고: If data size of a variable exceeds max. allowed packet size (max_allowed_packet), you have to specify b in types and use mysqli_stmt_send_long_data() to send the data in packets.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

types

A string that contains one or more characters which specify the types for the corresponding bind variables:

표 188. Type specification chars

Character | Description
i | corresponding variable has type integer
d | corresponding variable has type double
s | corresponding variable has type string
b | corresponding variable is a blob and will be sent in packets

var1

The number of variables and length of string types must match the parameters in the statement.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1450. Object oriented style

<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", $mysqli->affected_rows);

/* close connection */
$mysqli->close();
?>

예 1451. Procedural style

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

/* execute prepared statement */
mysqli_stmt_execute($stmt);

printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));

/* close statement and connection */
mysqli_stmt_close($stmt);

/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n", mysqli_affected_rows($link));

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

1 Row inserted.
1 Row deleted.

참고

mysqli_stmt_bind_result()
mysqli_stmt_execute()
mysqli_stmt_fetch()
mysqli_prepare()
mysqli_stmt_send_long_data()
mysqli_stmt_errno()
mysqli_stmt_error()

이전 | 위로 | 다음
mysqli_stmt_attr_set | 처음으로 | mysqli_stmt_bind_result


mysqli_stmt_bind_result

이전 C. MySQL Improved Extension 다음

mysqli_stmt_bind_result,

(PHP 5)

mysqli_stmt_bind_result, stmt->bind_result() -- Binds variables to a prepared statement for result storage

설명

Procedural style:

bool mysqli_stmt_bind_result ( mysqli_stmt $stmt, mixed &$var1 [, mixed &$...] )

Object oriented style (method):

class mysqli_stmt {
bool bind_result ( mixed &$var1 [, mixed &$...] )
}

Binds columns in the result set to variables.

When mysqli_stmt_fetch() is called to fetch data, the MySQL client/server protocol places the data for the bound columns into the specified variables var1, ....

참고: Note that all columns must be bound after mysqli_stmt_execute() and prior to calling mysqli_stmt_fetch(). Depending on column types bound variables can silently change to the corresponding PHP type.

A column can be bound or rebound at any time, even after a result set has been partially retrieved. The new binding takes effect the next time mysqli_stmt_fetch() is called.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

var1

The variable to be bound.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1452. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* prepare statement */
if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    $stmt->execute();

    /* bind variables to prepared statement */
    $stmt->bind_result($col1, $col2);

    /* fetch values */
    while ($stmt->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }

    /* close statement */
    $stmt->close();
}
/* close connection */
$mysqli->close();

?>

예 1453. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* prepare statement */
if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    mysqli_stmt_execute($stmt);

    /* bind variables to prepared statement */
    mysqli_stmt_bind_result($stmt, $col1, $col2);

    /* fetch values */
    while (mysqli_stmt_fetch($stmt)) {
        printf("%s %s\n", $col1, $col2);
    }

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra

참고

mysqli_stmt_bind_param()
mysqli_stmt_execute()
mysqli_stmt_fetch()
mysqli_prepare()
mysqli_stmt_prepare()
mysqli_stmt_init()
mysqli_stmt_errno()
mysqli_stmt_error()

이전 | 위로 | 다음
mysqli_stmt_bind_param | 처음으로 | mysqli_stmt_close


mysqli_stmt_close

이전 C. MySQL Improved Extension 다음

mysqli_stmt_close,

(PHP 5)

mysqli_stmt_close, mysqli_stmt->close() -- Closes a prepared statement

설명

Procedural style:

bool mysqli_stmt_close ( mysqli_stmt $stmt )

Object oriented style (method):

class mysqli_stmt {
bool close ( void )
}

Closes a prepared statement. mysqli_stmt_close() also deallocates the statement handle. If the current statement has pending or unread results, this function cancels them so that the next query can be executed.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

mysqli_prepare()

이전 | 위로 | 다음
mysqli_stmt_bind_result | 처음으로 | mysqli_stmt_data_seek


mysqli_stmt_data_seek

이전 C. MySQL Improved Extension 다음

mysqli_stmt_data_seek,

(PHP 5)

mysqli_stmt_data_seek, stmt->data_seek() -- Seeks to an arbitray row in statement result set

설명

Procedural style:

void mysqli_stmt_data_seek ( mysqli_stmt $stmt, int $offset )

Object oriented style (method):

class mysqli_stmt {
void data_seek ( int $offset )
}

Seeks to an arbitrary result pointer in the statement result set.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

offset

Must be between zero and the total number of rows minus one (0.. mysqli_stmt_num_rows() - 1).

반환값

값을 반환하지 않습니다.

예제

예 1454. Object oriented style

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($name, $code);

    /* store result */
    $stmt->store_result();

    /* seek to row no. 400 */
    $stmt->data_seek(399);

    /* fetch values */
    $stmt->fetch();

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1455. Procedural style

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* store result */
    mysqli_stmt_store_result($stmt);

    /* seek to row no. 400 */
    mysqli_stmt_data_seek($stmt, 399);

    /* fetch values */
    mysqli_stmt_fetch($stmt);

    printf ("City: %s  Countrycode: %s\n", $name, $code);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

City: Benin City  Countrycode: NGA

참고

mysqli_prepare()

이전 | 위로 | 다음
mysqli_stmt_close | 처음으로 | mysqli_stmt_errno


mysqli_stmt_errno

이전 C. MySQL Improved Extension 다음

mysqli_stmt_errno,

(PHP 5)

mysqli_stmt_errno, mysqli_stmt->errno -- Returns the error code for the most recent statement call

설명

Procedural style :

int mysqli_stmt_errno ( mysqli_stmt $stmt )

Object oriented style (property):

class mysqli_stmt {
int errno
}

Returns the error code for the most recently invoked statement function that can succeed or fail.

Client error message numbers are listed in the MySQL errmsg.h header file, server error message numbers are listed in mysqld_error.h. In the MySQL source distribution you can find a complete list of error messages and error numbers in the file Docs/mysqld_error.txt.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

An error code value. Zero means no error occurred.

예제

예 1456. Object oriented style

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %d.\n", $stmt->errno);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1457. Procedural style

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %d.\n", mysqli_stmt_errno($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Error: 1146.

참고

mysqli_stmt_error()
mysqli_stmt_sqlstate()

이전 | 위로 | 다음
mysqli_stmt_data_seek | 처음으로 | mysqli_stmt_error


mysqli_stmt_error

이전 C. MySQL Improved Extension 다음

mysqli_stmt_error,

(PHP 5)

mysqli_stmt_error, mysqli_stmt->error -- Returns a string description for last statement error

설명

Procedural style:

string mysqli_stmt_error ( mysqli_stmt $stmt )

Object oriented style (property):

class mysqli_stmt {
string error
}

Returns a containing the error message for the most recently invoked statement function that can succeed or fail.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

A string that describes the error. An empty string if no error occurred.

예제

예 1458. Object oriented style

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->error);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1459. Procedural style

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_error($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Error: Table 'world.myCountry' doesn't exist.

참고

mysqli_stmt_errno()
mysqli_stmt_sqlstate()

이전 | 위로 | 다음
mysqli_stmt_errno | 처음으로 | mysqli_stmt_execute


mysqli_stmt_execute

이전 C. MySQL Improved Extension 다음

mysqli_stmt_execute,

(PHP 5)

mysqli_stmt_execute, stmt->execute() -- Executes a prepared Query

설명

Procedural style:

bool mysqli_stmt_execute ( mysqli_stmt $stmt )

Object oriented style (method):

class mysqli_stmt {
bool execute ( void )
}

Executes a query that has been previously prepared using the mysqli_prepare() function. When executed any parameter markers which exist will automatically be replaced with the appropiate data.

If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the mysqli_stmt_affected_rows() function. Likewise, if the query yields a result set the mysqli_stmt_fetch() function is used.

참고: When using mysqli_stmt_execute(), the mysqli_stmt_fetch() function must be used to fetch the data prior to performing any additional queries.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1460. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = $mysqli->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
$stmt->execute();

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    $result->close();
}

/* remove table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>

예 1461. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* Prepare an insert statement */
$query = "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
mysqli_stmt_execute($stmt);

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
mysqli_stmt_execute($stmt);

/* close statement */
mysqli_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
if ($result = mysqli_query($link, $query)) {
    while ($row = mysqli_fetch_row($result)) {
        printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
    }
    /* free result set */
    mysqli_free_result($result);
}

/* remove table */
mysqli_query($link, "DROP TABLE myCity");

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)

참고

mysqli_prepare()
mysqli_stmt_bind_param()

이전 | 위로 | 다음
mysqli_stmt_error | 처음으로 | mysqli_stmt_fetch


mysqli_stmt_fetch

이전 C. MySQL Improved Extension 다음

mysqli_stmt_fetch,

(PHP 5)

mysqli_stmt_fetch, stmt->fetch() -- Fetch results from a prepared statement into the bound variables

설명

Procedural style:

bool mysqli_stmt_fetch ( mysqli_stmt $stmt )

Object oriented style (method):

class mysqli_stmt {
bool fetch ( void )
}

Fetch the result from a prepared statement into the variables bound by mysqli_stmt_bind_result().

참고: Note that all columns must be bound by the application before calling mysqli_stmt_fetch().

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

표 189. 반환값

Value | Description
TRUE | Success. Data has been fetched
FALSE | Error occured
NULL | No more rows/data exists or data truncation occurred

예제

예 1462. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = $mysqli->prepare($query)) {

    /* execute statement */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($name, $code);

    /* fetch values */
    while ($stmt->fetch()) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1463. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = mysqli_prepare($link, $query)) {

    /* execute statement */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $name, $code);

    /* fetch values */
    while (mysqli_stmt_fetch($stmt)) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Rockford (USA)
Tallahassee (USA)
Salinas (USA)
Santa Clarita (USA)
Springfield (USA)

참고

mysqli_prepare()
mysqli_stmt_errno()
mysqli_stmt_error()
mysqli_stmt_bind_result()

이전 | 위로 | 다음
mysqli_stmt_execute | 처음으로 | mysqli_stmt_field_count


mysqli_stmt_free_result

이전 C. MySQL Improved Extension 다음

mysqli_stmt_free_result,

(PHP 5)

mysqli_stmt_free_result, stmt->free_result() -- Frees stored result memory for the given statement handle

설명

Procedural style:

void mysqli_stmt_free_result ( mysqli_stmt $stmt )

Object oriented style (method):

class mysqli_stmt {
void free_result ( void )
}

Frees the result memory associated with the statement, which was allocated by mysqli_stmt_store_result().

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

값을 반환하지 않습니다.

참고

mysqli_stmt_store_result()

이전 | 위로 | 다음
mysqli_stmt_field_count | 처음으로 | mysqli_stmt_get_warnings


mysqli_stmt_init

이전 C. MySQL Improved Extension 다음

mysqli_stmt_init,

(PHP 5)

mysqli_stmt_init, mysqli->stmt_init() -- Initializes a statement and returns an object for use with mysqli_stmt_prepare

설명

Procedural style :

mysqli_stmt mysqli_stmt_init ( mysqli $link )

Object oriented style (property):

class mysqli {
mysqli_stmt stmt_init ( void )
}

Allocates and initializes a statement object suitable for mysqli_stmt_prepare().

참고: Any subsequent calls to any mysqli_stmt function will fail until mysqli_stmt_prepare() was called.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

Returns an object.

참고

mysqli_stmt_prepare()

이전 | 위로 | 다음
mysqli_stmt_get_warnings | 처음으로 | mysqli_stmt_insert_id


mysqli_stmt_num_rows

이전 C. MySQL Improved Extension 다음

mysqli_stmt_num_rows,

(PHP 5)

mysqli_stmt_num_rows, stmt->num_rows -- Return the number of rows in statements result set

설명

Procedural style :

int mysqli_stmt_num_rows ( mysqli_stmt $stmt )

Object oriented style (property):

class mysqli_stmt {
int num_rows
}

Returns the number of rows in the result set. The use of mysqli_stmt_num_rows() depends on whether or not you used mysqli_stmt_store_result() to buffer the entire result set in the statement handle.

If you use mysqli_stmt_store_result(), mysqli_stmt_num_rows() may be called immediately.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

An integer representing the number of rows in result set.

예제

예 1464. Object oriented style

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* store result */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1465. Procedural style

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* store result */
    mysqli_stmt_store_result($stmt);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Number of rows: 20.

참고

mysqli_stmt_affected_rows()
mysqli_prepare()
mysqli_stmt_store_result()

이전 | 위로 | 다음
mysqli_stmt_insert_id | 처음으로 | mysqli_stmt_param_count


mysqli_stmt_param_count

이전 C. MySQL Improved Extension 다음

mysqli_stmt_param_count,

(PHP 5)

mysqli_stmt_param_count, stmt->param_count -- Returns the number of parameter for the given statement

설명

Procedural style:

int mysqli_stmt_param_count ( mysqli_stmt $stmt )

Object oriented style (property):

class mysqli_stmt {
int param_count
}

Returns the number of parameter markers present in the prepared statement.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

Returns an integer representing the number of parameters.

예제

예 1466. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = $stmt->param_count;
    printf("Statement has %d markers.\n", $marker);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1467. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($stmt = mysqli_prepare($link, "SELECT Name FROM Country WHERE Name=? OR Code=?")) {

    $marker = mysqli_stmt_param_count($stmt);
    printf("Statement has %d markers.\n", $marker);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Statement has 2 markers.

참고

mysqli_prepare()

이전 | 위로 | 다음
mysqli_stmt_num_rows | 처음으로 | mysqli_stmt_prepare


mysqli_stmt_prepare

이전 C. MySQL Improved Extension 다음

mysqli_stmt_prepare,

(PHP 5)

mysqli_stmt_prepare, stmt->prepare() -- Prepare a SQL statement for execution

설명

Procedure style:

bool mysqli_stmt_prepare ( mysqli_stmt $stmt, string $query )

Object oriented style (method)

class mysqli_stmt {
mixed prepare ( string $query )
}

Prepares the SQL query pointed to by the null-terminated string query.

The parameter markers must be bound to application variables using mysqli_stmt_bind_param() and/or mysqli_stmt_bind_result() before executing the statement or fetching rows.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

query

The query, as a string. It must consist of a single SQL statement.

You can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

참고: You should not add a terminating semicolon or \g to the statement.

참고: The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1468. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
$stmt =  $mysqli->stmt_init();
if ($stmt->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1469. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$city = "Amersfoort";

/* create a prepared statement */
$stmt = mysqli_stmt_init($link);
if (mysqli_stmt_prepare($stmt, 'SELECT District FROM City WHERE Name=?')) {

    /* bind parameters for markers */
    mysqli_stmt_bind_param($stmt, "s", $city);

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* bind result variables */
    mysqli_stmt_bind_result($stmt, $district);

    /* fetch value */
    mysqli_stmt_fetch($stmt);

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Amersfoort is in district Utrecht

참고

mysqli_stmt_init(),
mysqli_stmt_execute(),
mysqli_stmt_fetch(),
mysqli_stmt_bind_param(),
mysqli_stmt_bind_result()
mysqli_stmt_close().

이전 | 위로 | 다음
mysqli_stmt_param_count | 처음으로 | mysqli_stmt_reset


mysqli_stmt_reset

이전 C. MySQL Improved Extension 다음

mysqli_stmt_reset,

(PHP 5)

mysqli_stmt_reset, stmt->reset() -- Resets a prepared statement

설명

Procedural style:

bool mysqli_stmt_reset ( mysqli_stmt $stmt )

Object oriented style (method):

class mysqli_stmt {
bool reset ( void )
}

Resets a prepared statement on client and server to state after prepare.

For now this is mainly used to reset data sent with mysqli_stmt_send_long_data().

To prepare a statement with another query use function mysqli_stmt_prepare().

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

mysqli_prepare()

이전 | 위로 | 다음
mysqli_stmt_prepare | 처음으로 | mysqli_stmt_result_metadata


mysqli_stmt_result_metadata

이전 C. MySQL Improved Extension 다음

mysqli_stmt_result_metadata,

(PHP 5)

mysqli_stmt_result_metadata, stmt->result_metadata() -- Returns result set metadata from a prepared statement

설명

Procedural style:

mysqli_result mysqli_stmt_result_metadata ( mysqli_stmt $stmt )

Object oriented style (method):

class mysqli_stmt {
mysqli_result result_metadata ( void )
}

If a statement passed to mysqli_prepare() is one that produces a result set, mysqli_stmt_result_metadata() returns the result object that can be used to process the meta information such as total number of fields and individual field information.

참고: This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • mysqli_num_fields()

  • mysqli_fetch_field()

  • mysqli_fetch_field_direct()

  • mysqli_fetch_fields()

  • mysqli_field_count()

  • mysqli_field_seek()

  • mysqli_field_tell()

  • mysqli_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to mysqli_free_result()

참고: The result set returned by mysqli_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with mysqli_stmt_fetch().

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

Returns a result object or FALSE if an error occured.

예제

예 1470. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = $mysqli->prepare("SELECT id, name FROM friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$mysqli->close();
?>

예 1471. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = mysqli_prepare($link, "SELECT id, name FROM friends");
mysqli_stmt_execute($stmt);

/* get resultset for metadata */
$result = mysqli_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = mysqli_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

참고

mysqli_prepare()
mysqli_free_result()

이전 | 위로 | 다음
mysqli_stmt_reset | 처음으로 | mysqli_stmt_send_long_data


mysqli_stmt_send_long_data

이전 C. MySQL Improved Extension 다음

mysqli_stmt_send_long_data,

(PHP 5)

mysqli_stmt_send_long_data, stmt->send_long_data() -- Send data in blocks

설명

Procedural style:

bool mysqli_stmt_send_long_data ( mysqli_stmt $stmt, int $param_nr, string $data )

Object oriented style (method)

class mysqli_stmt {
bool send_long_data ( int $param_nr, string $data )
}

Allows to send parameter data to the server in pieces (or chunks), e.g. if the size of a blob exceeds the size of max_allowed_packet. This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

param_nr

Indicates which parameter to associate the data with. Parameters are numbered beginning with 0.

data

A string containing data to be sent.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1472. Object oriented style

<?php
$stmt = $mysqli->prepare("INSERT INTO messages (message) VALUES (?)");
$null = NULL;
$stmt->bind_param("b", $null);
$fp = fopen("messages.txt", "r");
while (!feof($fp)) {
    $stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$stmt->execute();
?>

참고

mysqli_prepare()
mysqli_stmt_bind_param()

이전 | 위로 | 다음
mysqli_stmt_result_metadata | 처음으로 | mysqli_stmt_sqlstate


mysqli_stmt_sqlstate

이전 C. MySQL Improved Extension 다음

mysqli_stmt_sqlstate,

(PHP 5)

mysqli_stmt_sqlstate, mysqli_stmt->sqlstate() -- Returns SQLSTATE error from previous statement operation

설명

string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )

Object oriented style (property):

class mysqli_stmt {
string sqlstate
}

Returns a string containing the SQLSTATE error code for the most recently invoked prepared statement function that can succeed or fail. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

주의

참고: Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

예제

예 1473. Object oriented style

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->sqlstate);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1474. Procedural style

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_sqlstate($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Error: 42S02.

참고

mysqli_stmt_errno()
mysqli_stmt_error()

이전 | 위로 | 다음
mysqli_stmt_send_long_data | 처음으로 | mysqli_stmt_store_result


mysqli_stmt_store_result

이전 C. MySQL Improved Extension 다음

mysqli_stmt_store_result,

(PHP 5)

mysqli_stmt_store_result, mysqli_stmt->store_result() -- Transfers a result set from a prepared statement

설명

Procedural style:

bool mysqli_stmt_store_result ( mysqli_stmt $stmt )

Object oriented style (method):

class mysqli_stmt {
bool store_result ( void )
}

You must call mysqli_stmt_store_result() for every query that successfully produces a result set (SELECT, SHOW, DESCRIBE, EXPLAIN), and only if you want to buffer the complete result set by the client, so that the subsequent mysqli_stmt_fetch() call returns buffered data.

참고: It is unnecessary to call mysqli_stmt_store_result() for other queries, but if you do, it will not harm or cause any notable performance in all cases. You can detect whether the query produced a result set by checking if mysqli_stmt_result_metadata() returns NULL.

매개변수

stmt

순차 형식 전용: mysqli_stmt_init()가 반환한 statement 식별자.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1475. Object oriented style

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = $mysqli->prepare($query)) {

    /* execute query */
    $stmt->execute();

    /* store result */
    $stmt->store_result();

    printf("Number of rows: %d.\n", $stmt->num_rows);

    /* free result */
    $stmt->free_result();

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>

예 1476. Procedural style

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($stmt = mysqli_prepare($link, $query)) {

    /* execute query */
    mysqli_stmt_execute($stmt);

    /* store result */
    mysqli_stmt_store_result($stmt);

    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

    /* free result */
    mysqli_stmt_free_result($stmt);

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Number of rows: 20.

참고

mysqli_prepare()
mysqli_stmt_result_metadata()
mysqli_stmt_fetch()

이전 | 위로 | 다음
mysqli_stmt_sqlstate | 처음으로 | mysqli_store_result


mysqli_store_result

이전 C. MySQL Improved Extension 다음

mysqli_store_result,

(PHP 5)

mysqli_store_result, mysqli->store_result() -- Transfers a result set from the last query

설명

Procedural style:

mysqli_result mysqli_store_result ( mysqli $link )

Object oriented style (method):

class mysqli {
mysqli_result store_result ( void )
}

Transfers the result set from the last query on the database connection represented by the link parameter to be used with the mysqli_data_seek() function.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

Returns a buffered result object or FALSE if an error occurred.

참고: mysqli_store_result() returns FALSE in case the query didn't return a result set (if the query was, for example an INSERT statement). This function also returns FALSE if the reading of the result set failed. You can check if you have got an error by checking if mysqli_error() doesn't return an empty string, if mysqli_errno() returns a non zero value, or if mysqli_field_count() returns a non zero value. Also possible reason for this function returning FALSE after successfull call to mysqli_query() can be too large result set (memory for it cannot be allocated). If mysqli_field_count() returns a non-zero value, the statement should have produced a non-empty result set.

주의

참고: Although it is always good practice to free the memory used by the result of a query using the mysqli_free_result() function, when transfering large result sets using the mysqli_store_result() this becomes particularly important.

예제

See mysqli_multi_query().

참고

mysqli_real_query()
mysqli_use_result()

이전 | 위로 | 다음
mysqli_stmt_store_result | 처음으로 | mysqli_thread_id


mysqli_thread_id

이전 C. MySQL Improved Extension 다음

mysqli_thread_id,

(PHP 5)

mysqli_thread_id, mysqli->thread_id -- Returns the thread ID for the current connection

설명

Procedural style:

int mysqli_thread_id ( mysqli $link )

Object oriented style (property):

class mysqli {
int thread_id
}

The mysqli_thread_id() function returns the thread ID for the current connection which can then be killed using the mysqli_kill() function. If the connection is lost and you reconnect with mysqli_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

참고: The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

To kill a running query you can use the SQL command KILL QUERY processid.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

Returns the Thread ID for the current connection.

예제

예 1477. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", $mysqli->error);
    exit;
}

/* close connection */
$mysqli->close();
?>

예 1478. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
    printf("Error: %s\n", mysqli_error($link));
    exit;
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Error: MySQL server has gone away

참고

mysqli_kill()

이전 | 위로 | 다음
mysqli_store_result | 처음으로 | mysqli_thread_safe


mysqli_thread_safe

(PHP 5)

mysqli_thread_safe -- Returns whether thread safety is given or not

설명

Procedural style:

bool mysqli_thread_safe ( void )

Tells whether the client library is compiled as thread-safe.

반환값

TRUE if the client library is thread-safe, otherwise FALSE.

이전 | 위로 | 다음
mysqli_thread_id | 처음으로 | mysqli_use_result


mysqli_use_result

이전 C. MySQL Improved Extension 다음

mysqli_use_result,

(PHP 5)

mysqli_use_result, mysqli->use_result() -- Initiate a result set retrieval

설명

Procedural style:

mysqli_result mysqli_use_result ( mysqli $link )

Object oriented style (method):

class mysqli {
mysqli_result use_result ( void )
}

Used to initiate the retrieval of a result set from the last query executed using the mysqli_real_query() function on the database connection.

Either this or the mysqli_store_result() function must be called before the results of a query can be retrieved, and one or the other must be called to prevent the next query on that database connection from failing.

참고: The mysqli_use_result() function does not transfer the entire result set from the database and hence cannot be used functions such as mysqli_data_seek() to move to a particular row within the set. To use this functionality, the result set must be stored using mysqli_store_result(). One should not use mysqli_use_result() if a lot of processing on the client side is performed, since this will tie up the server and prevent other threads from updating any tables from which the data is being fetched.

반환값

Returns an unbuffered result object or FALSE if an error occurred.

예제

예 1479. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->use_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

예 1480. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_use_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

참고

mysqli_real_query()
mysqli_store_result()

이전 | 위로 | 다음
mysqli_thread_safe | 처음으로 | mysqli_warning_count


mysqli_warning_count

이전 C. MySQL Improved Extension 다음

mysqli_warning_count,

(PHP 5)

mysqli_warning_count, mysqli->warning_count -- Returns the number of warnings from the last query for the given link

설명

Procedural style:

int mysqli_warning_count ( mysqli $link )

Object oriented style (property):

class mysqli {
int warning_count
}

Returns the number of warnings from the last query in the connection.

참고: For retrieving warning messages you can use the SQL command SHOW WARNINGS [limit row_count].

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

반환값

Number of warnings or zero if there are no warnings.

예제

예 1481. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* a remarkable city in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$mysqli->query($query);

if ($mysqli->warning_count) {
    if ($result = $mysqli->query("SHOW WARNINGS")) {
        $row = $result->fetch_row();
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        $result->close();
    }
}

/* close connection */
$mysqli->close();
?>

예 1482. Procedural style

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* a remarkable long city name in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

mysqli_query($link, $query);

if (mysqli_warning_count($link)) {
    if ($result = mysqli_query($link, "SHOW WARNINGS")) {
        $row = mysqli_fetch_row($result);
        printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        mysqli_free_result($result);
    }
}

/* close connection */
mysqli_close($link);
?>

위 예제의 출력:

Warning (1264): Data truncated for column 'Name' at row 1

참고

mysqli_errno()
mysqli_error()
mysqli_sqlstate()

이전 | 위로 | 다음
mysqli_use_result | 처음으로 | CI. Ncurses Terminal Screen Control Functions


Mohawk Software Session Handler Functions

이전 VI. 함수 레퍼런스 다음

XCIV. Mohawk Software Session Handler Functions

소개

msession is an interface to a high speed session daemon which can run either locally or remotely. It is designed to provide consistent session management for a PHP web farm. More Information about msession and the session server software itself can be found at » http://www.mohawksoft.org/?q=node/8.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.3.

요구 조건

설치

To enable Msession support configure PHP --with-msession[=DIR], where DIR is the Msession install directory.

실행시 설정

자원형

예약 상수

차례

msession_connect -- Connect to msession server
msession_count -- Get session count
msession_create -- Create a session
msession_destroy -- Destroy a session
msession_disconnect -- Close connection to msession server
msession_find -- Find all sessions with name and value
msession_get_array -- Get array of msession variables
msession_get_data -- Get data session unstructured data
msession_get -- Get value from session
msession_inc -- Increment value in session
msession_list -- List all sessions
msession_listvar -- List sessions with variable
msession_lock -- Lock a session
msession_plugin -- Call an escape function within the msession personality plugin
msession_randstr -- Get random string
msession_set_array -- Set msession variables from an array
msession_set_data -- Set data session unstructured data
msession_set -- Set value in session
msession_timeout -- Set/get session timeout
msession_uniq -- Get unique id
msession_unlock -- Unlock a session
이전 | 위로 | 다음
PDO_DBLIB DSN | 처음으로 | msession_connect


msession_connect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_connect -- Connect to msession server

설명

bool msession_connect ( string $host, string $port )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
XCIV. Mohawk Software Session Handler Functions | 처음으로 | msession_count


msession_count

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_count -- Get session count

설명

int msession_count ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_connect | 처음으로 | msession_create


msession_create

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_create -- Create a session

설명

bool msession_create ( string $session, string $classname, string $data )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_count | 처음으로 | msession_destroy


msession_destroy

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_destroy -- Destroy a session

설명

bool msession_destroy ( string $name )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_create | 처음으로 | msession_disconnect


msession_disconnect

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_disconnect -- Close connection to msession server

설명

void msession_disconnect ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_destroy | 처음으로 | msession_find


msession_find

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_find -- Find all sessions with name and value

설명

array msession_find ( string $name, string $value )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_disconnect | 처음으로 | msession_get_array


msession_get_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_array -- Get array of msession variables

설명

array msession_get_array ( string $session )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_find | 처음으로 | msession_get_data


msession_get_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get_data -- Get data session unstructured data

설명

string msession_get_data ( string $session )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_get_array | 처음으로 | msession_get


msession_get

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_get -- Get value from session

설명

string msession_get ( string $session, string $name, string $value )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_get_data | 처음으로 | msession_inc


msession_inc

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_inc -- Increment value in session

설명

string msession_inc ( string $session, string $name )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_get | 처음으로 | msession_list


msession_list

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_list -- List all sessions

설명

array msession_list ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_inc | 처음으로 | msession_listvar


msession_listvar

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_listvar -- List sessions with variable

설명

array msession_listvar ( string $name )

Used for searching sessions with common attributes.

반환값

Returns an associative array of value/session for all sessions with a variable named name.

이전 | 위로 | 다음
msession_list | 처음으로 | msession_lock


msession_lock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_lock -- Lock a session

설명

int msession_lock ( string $name )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_listvar | 처음으로 | msession_plugin


msession_plugin

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_plugin -- Call an escape function within the msession personality plugin

설명

string msession_plugin ( string $session, string $val [, string $param] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_lock | 처음으로 | msession_randstr


msession_randstr

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_randstr -- Get random string

설명

string msession_randstr ( int $param )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_plugin | 처음으로 | msession_set_array


msession_set_array

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_array -- Set msession variables from an array

설명

void msession_set_array ( string $session, array $tuples )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_randstr | 처음으로 | msession_set_data


msession_set_data

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set_data -- Set data session unstructured data

설명

bool msession_set_data ( string $session, string $value )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_set_array | 처음으로 | msession_set


msession_set

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_set -- Set value in session

설명

bool msession_set ( string $session, string $name, string $value )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_set_data | 처음으로 | msession_timeout


msession_timeout

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_timeout -- Set/get session timeout

설명

int msession_timeout ( string $session [, int $param] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_set | 처음으로 | msession_uniq


msession_uniq

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_uniq -- Get unique id

설명

string msession_uniq ( int $param, string $classname, string $data )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_timeout | 처음으로 | msession_unlock


msession_unlock

(PHP 4 >= 4.2.0, PHP 5 <= 5.1.2)

msession_unlock -- Unlock a session

설명

int msession_unlock ( string $session, int $key )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
msession_uniq | 처음으로 | XCV. mSQL Functions


muscat Functions

이전 VI. 함수 레퍼런스 다음

XCVII. muscat Functions

소개

This extension provides an interface to the Muscat 3.6 search system. Muscat doesn't exist anymore, but the » Xapian project may provide you with a good alternative.

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

설치

These functions are only available if PHP was configured with --with-muscat[=DIR].

자원형

This extension defines a Muscat session handler returned by muscat_setup_net() and muscat_setup().

차례

muscat_close -- Shuts down the muscat session
muscat_get -- Gets a line back from the core muscat API
muscat_give -- Sends string to the core muscat API
muscat_setup_net -- Creates a new muscat session
muscat_setup -- Creates a new local muscat session
이전 | 위로 | 다음
mb_substr | 처음으로 | muscat_close


muscat_close

(PHP 4 >= 4.0.5)

muscat_close -- Shuts down the muscat session

설명

void muscat_close ( resource $muscat_handle )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Shuts down the muscat session and releases any memory back to PHP.

매개변수

muscat_handle

A muscat session handler, returned by muscat_setup() or muscat_setup_net().

반환값

값을 반환하지 않습니다.

참고

muscat_setup()
muscat_setup_net()

이전 | 위로 | 다음
XCVII. muscat Functions | 처음으로 | muscat_get


muscat_get

(PHP 4 >= 4.0.5)

muscat_get -- Gets a line back from the core muscat API

설명

string muscat_get ( resource $muscat_handle )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets a line back from the core muscat API.

매개변수

muscat_handle

A muscat session handler, returned by muscat_setup() or muscat_setup_net().

반환값

Returns the muscat response, as a string.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

참고

muscat_give()

이전 | 위로 | 다음
muscat_close | 처음으로 | muscat_give


muscat_give

(PHP 4 >= 4.0.5)

muscat_give -- Sends string to the core muscat API

설명

void muscat_give ( resource $muscat_handle, string $string )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sends a string to the core muscat API.

매개변수

muscat_handle

A muscat session handler, returned by muscat_setup() or muscat_setup_net().

string

The string to be sent

반환값

값을 반환하지 않습니다.

참고

muscat_get()

이전 | 위로 | 다음
muscat_get | 처음으로 | muscat_setup_net


muscat_setup_net

(PHP 4 >= 4.0.5)

muscat_setup_net -- Creates a new muscat session

설명

resource muscat_setup_net ( resource $socket )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new muscat session.

매개변수

socket

Socket handle

반환값

Returns a session handler or FALSE on error.

참고

muscat_setup()
muscat_close()

이전 | 위로 | 다음
muscat_give | 처음으로 | muscat_setup


muscat_setup

(PHP 4 >= 4.0.5)

muscat_setup -- Creates a new local muscat session

설명

resource muscat_setup ( int $size [, string $muscat_dir] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new local muscat session.

매개변수

size

The amount of memory in bytes to allocate for muscat

muscat_dir

The muscat installation dir e.g. "/usr/local/empower", it defaults to the compile time muscat directory.

반환값

Returns a session handler or FALSE on error.

참고

muscat_setup_net()
muscat_close()

이전 | 위로 | 다음
muscat_setup_net | 처음으로 | XCVIII. MySQL 함수


네트워크 함수

이전 VI. 함수 레퍼런스 다음

CII. 네트워크 함수

소개

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 193. Network Configuration Options

Name | Default | Changeable | Changelog
define_syslog_variables | "0" | PHP_INI_ALL |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

define_syslog_variables boolean

Whether or not to define the various syslog variables (e.g. $LOG_PID, $LOG_CRON, etc.). Turning it off is a good idea performance-wise. At runtime, you can define these variables by calling define_syslog_variables().

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

아래 상수들은 PHP 코어의 일부로, 항상 사용할 수 있습니다.

표 194. openlog() Options

Constant | Description
LOG_CONS | if there is an error while sending data to the system logger, write directly to the system console
LOG_NDELAY | open the connection to the logger immediately
LOG_ODELAY | (default) delay opening the connection until the first message is logged
LOG_NOWAIT |
LOG_PERROR | print log message also to standard error
LOG_PID | include PID with each message

표 195. openlog() Facilities

Constant | Description
LOG_AUTH | security/authorization messages (use LOG_AUTHPRIV instead in systems where that constant is defined)
LOG_AUTHPRIV | security/authorization messages (private)
LOG_CRON | clock daemon (cron and at)
LOG_DAEMON | other system daemons
LOG_KERN | kernel messages
LOG_LOCAL0 ... LOG_LOCAL7 | reserved for local use, these are not available in Windows
LOG_LPR | line printer subsystem
LOG_MAIL | mail subsystem
LOG_NEWS | USENET news subsystem
LOG_SYSLOG | messages generated internally by syslogd
LOG_USER | generic user-level messages
LOG_UUCP | UUCP subsystem

표 196. syslog() Priorities (in descending order)

Constant | Description
LOG_EMERG | system is unusable
LOG_ALERT | action must be taken immediately
LOG_CRIT | critical conditions
LOG_ERR | error conditions
LOG_WARNING | warning conditions
LOG_NOTICE | normal, but significant, condition
LOG_INFO | informational message
LOG_DEBUG | debug-level message

표 197. dns_get_record() Options

Constant | Description
DNS_A | IPv4 Address Resource
DNS_MX | Mail Exchanger Resource
DNS_CNAME | Alias (Canonical Name) Resource
DNS_NS | Authoritative Name Server Resource
DNS_PTR | Pointer Resource
DNS_HINFO | Host Info Resource (See IANA's » Operating System Names for the meaning of these values)
DNS_SOA | Start of Authority Resource
DNS_TXT | Text Resource
DNS_ANY | Any Resource Record. On most systems this returns all resource records, however it should not be counted upon for critical uses. Try DNS_ALL instead.
DNS_AAAA | IPv6 Address Resource
DNS_ALL | Iteratively query the name server for each available record type.

차례

checkdnsrr -- 인터넷 호스트 네임이나 IP 어드레스에 대응되는 DNS 레코드를 체크함
closelog -- 시스템 로그에 기록을 못하도록 연결을 닫습니다.
debugger_off -- PHP 내부 디버거 사용을 멈춥니다.
debugger_on -- PHP 내부 디버거를 사용합니다.
define_syslog_variables -- syslog에 연관된 모든 상수를 초기화합니다.
dns_check_record -- Alias of checkdnsrr()
dns_get_mx -- Alias of getmxrr()
dns_get_record -- Fetch DNS Resource Records associated with a hostname
fsockopen -- 인터넷이나 유닉스 도메인의 소켓 연결을 열어줍니다.
gethostbyaddr -- 주어진 IP 어드레스에 대응이 되는 인터넷 호스트 이름을 가져옵니다.
gethostbyname -- 주어진 인터넷 호스트 이름에 대응되는 IP 어드레스를 가져옵니다.
gethostbynamel -- 주어진 인터넷 호스트 이름에 대응이 되는 IP 어드레스의 목록을 가져옵니다.
getmxrr -- 주어진 인터넷 호스트 이름에 대응이 되는 MX 레코드를 가져옵니다.
getprotobyname -- 프로토콜과 조합된 프로토콜 번호를 가져옵니다.
getprotobynumber -- 프로토콜 번호와 조합된 프로토콜의 이름을 가져옵니다.
getservbyname -- 인터넷 서비스와 프로토콜과 조합이 되어있는 포트 번호를 가져옵니다.
getservbyport -- 포트와 프로토콜에 대응이 되는 인터넷 서비스를 가져옵니다.
header -- Send a raw HTTP header
headers_list -- Returns a list of response headers sent (or ready to send)
headers_sent -- Checks if or where headers have been sent
inet_ntop -- Converts a packed internet address to a human readable representation
inet_pton -- Converts a human readable IP address to its packed in_addr representation
ip2long -- (IPv4) 인터넷 프로토콜의 점이 찍혀 있는 주소를 포함한 문자열을 고유의 주소로 바꾸어줍니다.
long2ip -- (IPv4) 인터넷 네크워크 주소를 인터넷 표준의 점이 찍혀있는 문자열로 바꿉니다.
openlog -- 시스템 로그에 연결합니다
pfsockopen -- 지속적인 인터넷이나 유닉스 소켓 연결을 엽니다.
setcookie -- Send a cookie
setrawcookie -- Send a cookie without urlencoding the cookie value
socket_get_status -- 존재하는 소켓의 자원에 대한 정보를 반환합니다.
socket_set_blocking -- 소켓의 모드를 설정 (blocking 모드/ non-blocking 모드)
socket_set_timeout -- 소켓에서의 시간초과 주기
syslog -- 시스템 로그 메시지를 생성합니다.
이전 | 위로 | 다음
ncurses_wvline | 처음으로 | checkdnsrr


checkdnsrr

(PHP 4, PHP 5)

checkdnsrr -- 인터넷 호스트 네임이나 IP 어드레스에 대응되는 DNS 레코드를 체크함

Description

int checkdnsrr ( string $host [, string $ type ] )

host에 대응이 되는 type의 레코드를 DNS에서 찾습니다. 어떠한 레코드라도 발견이 되면 TRUE를 반환합니다. 그리고 레코드가 발견되지 않거나 에러가 발생하면 FALSE를 반환합니다.

type은 A, MX, NS, SOA, PTR, CNAME 중에 있거나 다른 것이 올수도 있습니다. 디폴트 값은 MX 입니다.

Host는 IP 어드레스이거나 호스트 네임이 될 수 있습니다.

참조: getmxrr(),
gethostbyaddr(),
gethostbyname(),
gethostbynamel(), 그리고 named(8) 지침서.

이전 | 위로 | 다음
CII. 네트워크 함수 | 처음으로 | closelog


closelog

(PHP 4, PHP 5)

closelog -- 시스템 로그에 기록을 못하도록 연결을 닫습니다.

Description

int closelog ( void )

closelog()는 정보서술자가 시스템 로그에 기록해 오던 것을 닫습니다. closelog()를 사용하는 것은 선택사항입니다.

참조: define_syslog_variables(),
syslog()그리고
openlog().

이전 | 위로 | 다음
checkdnsrr | 처음으로 | debugger_off


debugger_off

(No version information available, might be only in CVS)

debugger_off -- PHP 내부 디버거 사용을 멈춥니다.

Description

int debugger_off ( void )

PHP 내부 디버거 사용을 멈춥니다. 디버거는 계속해서 향상중입니다.

이전 | 위로 | 다음
closelog | 처음으로 | debugger_on


debugger_on

(No version information available, might be only in CVS)

debugger_on -- PHP 내부 디버거를 사용합니다.

Description

int debugger_on ( string $address )

address로 연결해서 PHP 내부 디버거를 사용합니다. 디버거는 계속해서 향상중입니다.

이전 | 위로 | 다음
debugger_off | 처음으로 | define_syslog_variables


define_syslog_variables

(PHP 4, PHP 5)

define_syslog_variables -- syslog에 연관된 모든 상수를 초기화합니다.

Description

void define_syslog_variables ( void )

syslog 함수에 사용되던 모든 상수들을 초기화합니다.

참조:  openlog(),
syslog() 그리고
closelog().

이전 | 위로 | 다음
debugger_on | 처음으로 | dns_check_record


dns_check_record

(PHP 5)

dns_check_record -- Alias of checkdnsrr()

설명

이 함수는 다음 함수의 alias입니다: checkdnsrr().

이전 | 위로 | 다음
define_syslog_variables | 처음으로 | dns_get_mx


dns_get_mx

(PHP 5)

dns_get_mx -- Alias of getmxrr()

설명

이 함수는 다음 함수의 alias입니다: getmxrr().

이전 | 위로 | 다음
dns_check_record | 처음으로 | dns_get_record


dns_get_record

(PHP 5)

dns_get_record -- Fetch DNS Resource Records associated with a hostname

설명

array dns_get_record ( string $hostname [, int $type [, array &$authns, array &$addtl]] )

Fetch DNS Resource Records associated with the given hostname.

매개변수

hostname

hostname should be a valid DNS hostname such as "www.example.com". Reverse lookups can be generated using in-addr.arpa notation, but gethostbyaddr() is more suitable for the majority of reverse lookups.

참고: Per DNS standards, email addresses are given in user.host format (for example: hostmaster.example.com as opposed to hostmaster@example.com), be sure to check this value and modify if necessary before using it with a functions such as mail().

type

By default, dns_get_record() will search for any resource records associated with hostname. To limit the query, specify the optional type parameter. May be any one of the following: DNS_A, DNS_CNAME, DNS_HINFO, DNS_MX, DNS_NS, DNS_PTR, DNS_SOA, DNS_TXT, DNS_AAAA, DNS_SRV, DNS_NAPTR, DNS_A6, DNS_ALL or DNS_ANY. The default is DNS_ANY.

참고: Because of eccentricities in the performance of libresolv between platforms, DNS_ANY will not always return every record, the slower DNS_ALL will collect all records more reliably.

authns

Passed by reference and, if given, will be populated with Resource Records for the Authoritative Name Servers.

addtl

Passed by reference and, if given, will be populated with any Additional Records.

반환값

This function returns an array of associative arrays. Each associative array contains at minimum the following keys:

표 198. Basic DNS attributes

Attribute | Meaning
host | The record in the DNS namespace to which the rest of the associated data refers.
class | dns_get_record() only returns Internet class records and as such this parameter will always return IN.
type | String containing the record type. Additional attributes will also be contained in the resulting array dependant on the value of type. See table below.
ttl | Time To Live remaining for this record. This will not equal the record's original ttl, but will rather equal the original ttl minus whatever length of time has passed since the authoritative name server was queried.

표 199. Other keys in associative arrays dependant on 'type'

Type | Extra Columns
A | ip: An IPv4 addresses in dotted decimal notation.
MX | pri: Priority of mail exchanger. Lower numbers indicate greater priority. target: FQDN of the mail exchanger. See also dns_get_mx().
CNAME | target: FQDN of location in DNS namespace to which the record is aliased.
NS | target: FQDN of the name server which is authoritative for this hostname.
PTR | target: Location within the DNS namespace to which this record points.
TXT | txt: Arbitrary string data associated with this record.
HINFO | cpu: IANA number designating the CPU of the machine referenced by this record. os: IANA number designating the Operating System on the machine referenced by this record. See IANA's » Operating System Names for the meaning of these values.
SOA | mname: FQDN of the machine from which the resource records originated. rname: Email address of the administrative contain for this domain. serial: Serial # of this revision of the requested domain. refresh: Refresh interval (seconds) secondary name servers should use when updating remote copies of this domain. retry: Length of time (seconds) to wait after a failed refresh before making a second attempt. expire: Maximum length of time (seconds) a secondary DNS server should retain remote copies of the zone data without a successful refresh before discarding. minimum-ttl: Minimum length of time (seconds) a client can continue to use a DNS resolution before it should request a new resolution from the server. Can be overridden by individual resource records.
AAAA | ipv6: IPv6 address
A6(PHP >= 5.1.0) | masklen: Length (in bits) to inherit from the target specified by chain. ipv6: Address for this specific record to merge with chain. chain: Parent record to merge with ipv6 data.
SRV | pri: (Priority) lowest priorities should be used first. weight: Ranking to weight which of commonly prioritized targets should be chosen at random. target and port: hostname and port where the requested service can be found. For additional information see: » RFC 2782
NAPTR | order and pref: Equivalent to pri and weight above. flags, services, regex, and replacement: Parameters as defined by » RFC 2915.

예제

예 1485. Using dns_get_record()

<?php
$result = dns_get_record("php.net");
print_r($result);
?>

위 예제의 출력 예:

Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)

예 1486. Using dns_get_record() and DNS_ANY

Since it's very common to want the IP address of a mail server once the MX record has been resolved, dns_get_record() also returns an array in addtl which contains associate records. authns is returned as well containing a list of authoritative name servers.

<?php
/* Request "ANY" record for php.net,
   and create $authns and $addtl arrays
   containing list of name servers and
   any additional records which go with
   them */
$result = dns_get_record("php.net", DNS_ANY, $authns, $addtl);
echo "Result = ";
print_r($result);
echo "Auth NS = ";
print_r($authns);
echo "Additional = ";
print_r($addtl);
?>

위 예제의 출력 예:

Result = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)
Auth NS = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [1] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [2] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [3] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

)
Additional = Array
(
    [0] => Array
        (
            [host] => pair2.php.net
            [type] => A
            [ip] => 216.92.131.5
            [class] => IN
            [ttl] => 6766
        )

    [1] => Array
        (
            [host] => remote1.easydns.com
            [type] => A
            [ip] => 64.39.29.212
            [class] => IN
            [ttl] => 100384
        )

    [2] => Array
        (
            [host] => remote2.easydns.com
            [type] => A
            [ip] => 212.100.224.80
            [class] => IN
            [ttl] => 81241
        )

    [3] => Array
        (
            [host] => ns1.easydns.com
            [type] => A
            [ip] => 216.220.40.243
            [class] => IN
            [ttl] => 81241
        )

    [4] => Array
        (
            [host] => ns2.easydns.com
            [type] => A
            [ip] => 216.220.40.244
            [class] => IN
            [ttl] => 81241
        )

)

주의

참고: This function is not implemented on Windows platforms, nor does it (currently) work on *BSD systems (including Mac). Try the » PEAR class » Net_DNS.

참고

dns_get_mx()
dns_check_record()

이전 | 위로 | 다음
dns_get_mx | 처음으로 | fsockopen


fsockopen

(PHP 4, PHP 5)

fsockopen -- 인터넷이나 유닉스 도메인의 소켓 연결을 열어줍니다.

Description

int fsockopen ( [string $ udp://hostname, int $port [, int $ errno [, string $ errstr [, double $ timeout ]]]] )

인터넷 (TCP 또는 UDP를 사용하는AF_INET) 또는 유닉스(AF_UNIX)도메인에서 스트림 연결을 시작합니다. 이것은 인터넷 도메인이라는 것 때문에 TCP 소켓을 port상에서 hostname에 연결하는 것을 열어줍니다. hostname은 이와 같은 경우에 완전히 증명이 된 도메인 네임이거나 IP 어드레스일 수 있습니다. UDP 연결에서는 프로토콜을 미리 정의해야 합니다 : udp://hostname. 유닉스 도메인에서는 hostname이 소켓의 경로로 사용될 수 있는데 이 경우에 port는 0 으로 설정되어야 합니다. 선택사항인 timeout은 시스템 호출에 연결되는 것에 대한 시간초과가 몇 초안에 이루어지도록 설정할 수 있습니다.

            fsockopen()은 다른 파일관련 함수(다음과 같은
    fgets(), fgetss(),
    fputs(), fclose() 그리고 feof())
와 사용할 수 있는 파일 포인터를 반환합니다.

호출에 실패하면 FALSE를 반환하고 임의항목인 errno와 errstr인수가 있다면 시스템 차원의 connect()호출 에서 발생한 실제의 시스템 차원의 에러를 측정하기 위해 설정될 수 있습니다. 반환되는 errno 가 0 이고 함수가 FALSE를 반환했다면 connect()호출 이전에 에러가 발생했다는 것을 알 수 있습니다. 이것은 소켓을 초기화하면서 발생한 문제일 가능성이 높습니다. 주의할 것은 errno와 errstr인수는 레러 passed by reference되어야 합니다.

환경에 따라 유닉스 도메인이나 선택사항인 연결 시간초과는 사용이 지원되지 않을 수도 있습니다.

소켓은 기본적으로 블로킹 모드(blocking mode)로 열려집니다. socket_set_blocking()을 사용해서 블로킹모드 해제상태(non-blocking mode) 로 전환할 수 있습니다..

예 1487. fsockopen() 예문

$fp = fsockopen ("www.php.net", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br>\n";
} else {
    fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
    while (!feof($fp)) {
        echo fgets ($fp,128);
    }
    fclose ($fp);
}

다음의 예문은 가지고 있는 장비에서 UDP 서비스인 "daytime" (port 13)을 이용해서 어떻게 날짜와 시간을 가져오는지 보여줍니다.

예 1488. UDP 연결을 사용합니다

<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br>\n";
} else {
    fwrite($fp,"\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

참고: 시간초과 매개변수는 PHP 3.0.9 에 소개가 되었고 UDP 지원은 PHP 4에 추가되었습니다.

참조: pfsockopen(), socket_set_blocking(), socket_set_timeout(), fgets(), fgetss(), fputs(), fclose(), 그리고 feof()).

이전 | 위로 | 다음
dns_get_record | 처음으로 | gethostbyaddr


gethostbyaddr

(PHP 4, PHP 5)

gethostbyaddr -- 주어진 IP 어드레스에 대응이 되는 인터넷 호스트 이름을 가져옵니다.

Description

string gethostbyaddr ( string $ip_address )

Returns the host name of the Internet host specified by ip_address에 정의된 인터넷 호스트의 호스트 이름을 반환합니다. 에러가 발생하면 ip_address를 반환합니다.

참조: gethostbyname().

이전 | 위로 | 다음
fsockopen | 처음으로 | gethostbyname


gethostbyname

(PHP 4, PHP 5)

gethostbyname -- 주어진 인터넷 호스트 이름에 대응되는 IP 어드레스를 가져옵니다.

Description

string gethostbyname ( string $hostname )

hostname에 정의된 인터넷 호스트의 IP 어드레스를 반환합니다.

참조: gethostbyaddr().

이전 | 위로 | 다음
gethostbyaddr | 처음으로 | gethostbynamel


gethostbynamel

(PHP 4, PHP 5)

gethostbynamel -- 주어진 인터넷 호스트 이름에 대응이 되는 IP 어드레스의 목록을 가져옵니다.

Description

array gethostbynamel ( string $hostname )

hostname분석에 정의된 인터넷 호스트의 IP 어드레스의 목록을 반환합니다.

참조: gethostbyname(),
gethostbyaddr(),
checkdnsrr(), getmxrr(),
그리고 named(8) 기능설명(manual) 페이지.

이전 | 위로 | 다음
gethostbyname | 처음으로 | getmxrr


getmxrr

(PHP 4, PHP 5)

getmxrr -- 주어진 인터넷 호스트 이름에 대응이 되는 MX 레코드를 가져옵니다.

Description

int getmxrr ( string $hostname, array $mxhosts [, array $ weight ] )

Searches DNS for MX records corresponding to hostname에 대응이 되는 MX 레코드를 찾기위해 DNS를 찾습니다. 아무 레코드라도 발견이 되면 TRUE를 반환합니다. 레코드가 없거나 에러가 발생되면 FALSE를 반환합니다.

찾아낸 MX 레코드의 목록은 mxhosts 배열에 위치합니다. weight배열이 주어지면 수집된 weight 정보로 채워집니다.

참조: checkdnsrr(),
gethostbyname(),
gethostbynamel(),
gethostbyaddr() 그리고
named(8) 기능설명(manual) 페이지

이전 | 위로 | 다음
gethostbynamel | 처음으로 | getprotobyname


getprotobyname

(PHP 4, PHP 5)

getprotobyname -- 프로토콜과 조합된 프로토콜 번호를 가져옵니다.

Description

int getprotobyname ( string $name )

getprotobyname()은 /etc/protocols 각 프로토콜 name 과 조합이 된 프로토콜의 번호를 반환합니다.

참조: getprotobynumber().

이전 | 위로 | 다음
getmxrr | 처음으로 | getprotobynumber


getprotobynumber

(PHP 4, PHP 5)

getprotobynumber -- 프로토콜 번호와 조합된 프로토콜의 이름을 가져옵니다.

Description

string getprotobynumber ( int $number )

getprotobynumber() 은 /etc/protocols 각 프로토콜 number 와 조합이 된 프로토콜의 이름을 반환합니다.

참조: getprotobyname().

이전 | 위로 | 다음
getprotobyname | 처음으로 | getservbyname


getservbyname

(PHP 4, PHP 5)

getservbyname -- 인터넷 서비스와 프로토콜과 조합이 되어있는 포트 번호를 가져옵니다.

Description

int getservbyname ( string $service, string $protocol )

getservbyname()은 /etc/services 에 정의된 protocol의 service에 대응이 되는 인터넷 포트를 반환합니다. protocol은 TCP 이거나 UDP입니다.

참조: getservbyport().

이전 | 위로 | 다음
getprotobynumber | 처음으로 | getservbyport


getservbyport

(PHP 4, PHP 5)

getservbyport -- 포트와 프로토콜에 대응이 되는 인터넷 서비스를 가져옵니다.

Description

string getservbyport ( int $port, string $protocol )

getservbyport()는 /etc/services의 각 protocol 에 정의된 port와 조합이 되는 인터넷 서비스를 반환합니다. protocol은 TCP이거나 UDP입니다.

참조: getservbyname().

이전 | 위로 | 다음
getservbyname | 처음으로 | header


inet_ntop

(PHP 5 >= 5.1.0)

inet_ntop -- Converts a packed internet address to a human readable representation

설명

string inet_ntop ( string $in_addr )

This function converts a 32bit IPv4, or 128bit IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate string representation.

매개변수

in_addr

A 32bit IPv4, or 128bit IPv6 address.

반환값

Returns a string representation of the address or FALSE on failure.

예제

예 1493. inet_ntop() Example

<?php
$packed = chr(127) . chr(0) . chr(0) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: 127.0.0.1 */
echo $expanded;

$packed = str_repeat(chr(0), 15) . chr(1);
$expanded = inet_ntop($packed);

/* Outputs: ::1 */
echo $expanded;
?>

주의

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고

long2ip()
ip2long()
inet_pton()

이전 | 위로 | 다음
headers_sent | 처음으로 | inet_pton


inet_pton

(PHP 5 >= 5.1.0)

inet_pton -- Converts a human readable IP address to its packed in_addr representation

설명

string inet_pton ( string $address )

This function converts a human readable IPv4 or IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate 32bit or 128bit binary structure.

매개변수

address

A human readable IPv4 or IPv6 address.

반환값

Returns the in_addr representation of the given address

예제

예 1494. inet_pton() Example

<?php
 $in_addr = inet_pton('127.0.0.1');

 $in6_addr = inet_pton('::1');

 ?>

주의

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고

ip2long()
long2ip()
inet_ntop()

이전 | 위로 | 다음
inet_ntop | 처음으로 | ip2long


ip2long

(PHP 4, PHP 5)

ip2long -- (IPv4) 인터넷 프로토콜의 점이 찍혀 있는 주소를 포함한 문자열을 고유의 주소로 바꾸어줍니다.

Description

int ip2long ( string $ip_address )

ip2long() 함수는 보통의(점이 찍혀 있는 문자열) 인터넷 표시 형식에서 IPv4 인터넷 네트워크 주소를 생성합니다.

예 1495. ip2long() Example

<?php
$ip = gethostbyname("www.php.net");
$out = "아래의 URL과  같습니다:<br>\n";
$out .= "http://www.php.net/, http://".$ip."/, and http://".ip2long($ip)."/<br>\n";
echo $out;
?>

See also: long2ip()

이전 | 위로 | 다음
inet_pton | 처음으로 | long2ip


long2ip

(PHP 4, PHP 5)

long2ip -- (IPv4) 인터넷 네크워크 주소를 인터넷 표준의 점이 찍혀있는 문자열로 바꿉니다.

Description

string long2ip ( int $proper_address )

long2ip()는 고유의 주소 표시 형식을 점이 찍혀 있는 인터넷 주소 표시형식(예를 들면 : aaa.bbb.ccc.ddd)으로 바꾸어줍니다.

참조: ip2long()

이전 | 위로 | 다음
ip2long | 처음으로 | openlog


openlog

(PHP 4, PHP 5)

openlog -- 시스템 로그에 연결합니다

Description

int openlog ( string $ident, int $option, int $facility )

openlog()는 프로그램에 사용하는 시스템 로그 기록자에 연결을 열어줍니다. opens a connection to the system logger for a program. 문자열 ident는 각각의 메시지에 추가됩니다. option과 facility에 대한 값은 아래에 주어집니다. option의 인수는 로그 메시지를 생성할때 어떤 로긴 옵션이 사용되었는지 알아내는 데 사용됩니다. facility의 인수는 어떤 형식의 프로그램이 로그 메시지를 남기는 지 정의하는데 사용됩니다. 이것은 당신이 정의(기계의 syslog 설정)할 때 서로 다른 설비에서 들어오는 메시지 중 어떤 메시지를 핸들할지 정의할 수 있도록 합니다. openlog()의 사용은 선택적입니다. 이것은 ident가 기본적으로 FALSE일 경우 필요하다면 자동으로 syslog()에 의해 호출됩니다.

표 200. openlog() Options

Constant | Description
LOG_CONS | 시스템 로그 기록자에 데이터를 보내는 중에 에러가 발생한다면 직접적으로 시스템 콘솔에 기록합니다.
LOG_NDELAY | 로그기록자에 대한 연결을 즉시 엽니다.
LOG_ODELAY | (기본값) 첫번째 메시지가 로그에 기록될때까지 연결을 여는 것을 미룹니다.
LOG_PERROR | 로그 메시지 역시 표준 에러로 출력합니다.
LOG_PID | 각각의 메시지마다 PID를 포함시킵니다.

이 옵션들 중에서 한개 혹은 한개 이상을 사용할 수 있습니다. 여러개의 옵션을 사용할 경우 OR할 필요가 있습니다. 예를 들자면 즉시 연결을 열고, 콘솔에 기록하고, 각각의 메시지에 PID를 포함시킨다면 다음과 같이 사용합니다: LOG_CONS | LOG_NDELAY | LOG_PID

표 201. openlog() Facilities

Constant | Description
LOG_AUTH | 보안/인증 메시지 (상수가 정의된 시스템대신 LOG_AUTHPRIV 를 사용)
LOG_AUTHPRIV | 보안/인증 메시지 (private)
LOG_CRON | 클락 데몬clock daemon (cron and at)
LOG_DAEMON | 다른 시스템 데몬
LOG_KERN | 커널 메시지
LOG_LOCAL0 ... LOG_LOCAL7 | 로컬 사용을 위해 예약된 것
LOG_LPR | 라인 프린터 하위시스템
LOG_MAIL | 메일 하위 시스템
LOG_NEWS | USENET 뉴스 하위 시스템
LOG_SYSLOG | syslogd에 의해 내부적으로 생성된 메시지
LOG_USER | 일반적인 사용자 수준의 메시지
LOG_UUCP | UUCP 하위 시스템

참조: define_syslog_variables(),
syslog() 그리고
closelog().

이전 | 위로 | 다음
long2ip | 처음으로 | pfsockopen


pfsockopen

(PHP 4, PHP 5)

pfsockopen -- 지속적인 인터넷이나 유닉스 소켓 연결을 엽니다.

Description

int pfsockopen ( string $hostname, int $port [, int $ errno [, string $ errstr [, int $ timeout ]]] )

이 함수는 스크립트가 끝난뒤에도 연결이 닫히지 않는 차이점을 제외하고 fsockopen()과 정확히 똑같습니다. 이것은 fsockopen()의 지속적인 연결 버전입니다.

이전 | 위로 | 다음
openlog | 처음으로 | setcookie


socket_get_status

(PHP 4, PHP 5)

socket_get_status -- 존재하는 소켓의 자원에 대한 정보를 반환합니다.

Description

array socket_get_status ( resource $socket_get_status )

존재하는 소켓의 자원에 대한 정보를 반환합니다. 일반적으로 결과 배열안에 네개의 항목을 반환합니다.

  • timed_out (부울 값) - 데이터를 기다리는 소켓의 시간초과

  • blocked (부울 값) - 닫혀진 소켓

  • eof (부울 값) - EOF 이벤트 검사

  • unread_bytes (정수값) - 소켓의 버퍼에 남겨진 바이트 수

참조:
accept_connect(),
bind(),
connect(),
listen(),
strerror().

이전 | 위로 | 다음
setrawcookie | 처음으로 | socket_set_blocking


socket_set_blocking

(PHP 4, PHP 5)

socket_set_blocking -- 소켓의 모드를 설정 (blocking 모드/ non-blocking 모드)

Description

int socket_set_blocking ( int $socket descriptor, int $mode )

mode가 FALSE이면, 소켓 서술자는 모드를 non-blocking 모드로 전환할 것입니다.the given socket 그리고 TRUE일 경우 서술자는 blocking 모드로 전환할 것입니다. 이것의 효과는 소켓에서 읽어들인 fgets()와 비슷합니다. non-blocking 모드에서 fgets()호출은 항상 소켓에서 사용가능하게 되기를 대기하고 있는 데이타를 blocking 모드일 때 바로 반환합니다. will always return right away while in blocking mode it will wait for data to become available on the socket.

이 함수는 이전에는 set_socket_blocking()로 불려 졌지만 지금은 그렇게 사용되지 않습니다.

이전 | 위로 | 다음
socket_get_status | 처음으로 | socket_set_timeout


socket_set_timeout

(PHP 4, PHP 5)

socket_set_timeout -- 소켓에서의 시간초과 주기

Description

bool socket_set_timeout ( int $socket descriptor, int $seconds, int $microseconds )

seconds와 microseconds의 합을 사용해서 socket descriptor의 시간초과 값을 설정합니다.

예 1499. socket_set_timeout() Example

<?php
$fp = fsockopen("www.php.net", 80);
if(!$fp) {
    echo "열 수 없습니다\n";
} else {
    fputs($fp,"GET / HTTP/1.0\n\n");
    $start = time();
    socket_set_timeout($fp, 2);
    $res = fread($fp, 2000);
    var_dump(socket_get_status($fp));
    fclose($fp);
    print $res;
}
?>

이 함수는 이전에는set_socket_timeout()처럼 불려졌지만 지금은 그렇게 사용되지 않습니다.

참조: fsockopen(), fopen().

이전 | 위로 | 다음
socket_set_blocking | 처음으로 | syslog


syslog

(PHP 4, PHP 5)

syslog -- 시스템 로그 메시지를 생성합니다.

Description

int syslog ( int $priority, string $message )

syslog()는 시스템 기록자에 의해 배분이 될 로그 메시지를 생성합니다. priority는 다음 장에서 주어진 값에 대한 난이도와 수준의 조합입니다. 남겨진 인수는 현재의 errno 값에 대응이 되는 에러 메시지 문자열(strerror)은 %m의 두개 문자로 대치가 되고 나머지는 보내지는 메시지 입니다.

표 202. syslog() 우선순위 (역순정렬)

Constant | Description
LOG_EMERG | 시스템을 사용할 수 없습니다.
LOG_ALERT | 즉시 수행해야 할 행동
LOG_CRIT | 위험한 상태
LOG_ERR | 에러 상태
LOG_WARNING | 경고 상태
LOG_NOTICE | 일반적이지만 중요한 상태
LOG_INFO | 정보 메시지
LOG_DEBUG | 디버그 수준 메시지

예 1500. syslog()의 사용

<?php
define_syslog_variables();
// 프로세스 ID를 포함하고 있으며 로그를 표준 에러로 보내는 syslog를 열고
// 사용자에 의해 정의된 logging 메카니즘을 사용합니다.
openlog("myScripLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// 코드가 들어갑니다.

if (authorized_client()) {
    // 무슨 일인가를 수행합니다.

} else {
    // 인증되지 않은 사용자!
    // 로그를 시도합니다.
    $access = date("Y/m/d H:i:s");
    syslog(LOG_WARNING,"인증되지 않은 사용자: $access $REMOTE_ADDR ($HTTP_USER_AGENT)");
}

closelog();
?>

사용자가 정의한 로그 핸들러를 설정하기 위한 정보는 syslog.conf(5)유닉스의 기능설명(manual) 페이지를 보세요. syslog 난이도와 옵션에 관해서 정보를 좀 더 알고 싶을 때는 syslog(3) 유닉스 머신의 man 페이지에서 찾아 볼 수 있습니다.

Windows NT에서 syslog 서비스는 이벤트 로그로 에뮬레이트 되어 사용됩니다.

참조: define_syslog_variables(),
openlog(),
closelog().

이전 | 위로 | 다음
socket_set_timeout | 처음으로 | CIII. Newt Functions


Ncurses Terminal Screen Control Functions

이전 VI. 함수 레퍼런스 다음

CI. Ncurses Terminal Screen Control Functions

소개

ncurses (new curses) is a free software emulation of curses in System V Rel 4.0 (and above). It uses terminfo format, supports pads, colors, multiple highlights, form characters and function key mapping. Because of the interactive nature of this library, it will be of little use for writing Web applications, but may be useful when writing scripts meant using PHP from the command line.

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

Ncurses is available for the following platforms:

  • AIX

  • BeOS

  • Cygwin

  • Digital Unix (aka OSF1)

  • FreeBSD

  • GNU/Linux

  • HPUX

  • IRIX

  • OS/2

  • SCO OpenServer

  • Solaris

  • SunOS

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 6.0.0

요구 조건

You need the ncurses libraries and headerfiles. Download the latest version from the » ftp://ftp.gnu.org/pub/gnu/ncurses/ or from an other GNU-Mirror.

설치

To get these functions to work, you have to compile the CGI or CLI version of PHP with --with-ncurses[=DIR].

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

This extension defines window, panel and pad resources.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Error codes

On error ncurses functions return NCURSES_ERR.

Colors

표 190. ncurses color constants

constant | meaning
NCURSES_COLOR_BLACK | no color (black)
NCURSES_COLOR_WHITE | white
NCURSES_COLOR_RED | red - supported when terminal is in color mode
NCURSES_COLOR_GREEN | green - supported when terminal is in color mode
NCURSES_COLOR_YELLOW | yellow - supported when terminal is in color mode
NCURSES_COLOR_BLUE | blue - supported when terminal is in color mode
NCURSES_COLOR_CYAN | cyan - supported when terminal is in color mode
NCURSES_COLOR_MAGENTA | magenta - supported when terminal is in color mode

Keys

표 191. ncurses key constants

constant | meaning
NCURSES_KEY_F0 - NCURSES_KEY_F64 | function keys F1 - F64
NCURSES_KEY_DOWN | down arrow
NCURSES_KEY_UP | up arrow
NCURSES_KEY_LEFT | left arrow
NCURSES_KEY_RIGHT | right arrow
NCURSES_KEY_HOME | home key (upward+left arrow)
NCURSES_KEY_BACKSPACE | backspace
NCURSES_KEY_DL | delete line
NCURSES_KEY_IL | insert line
NCURSES_KEY_DC | delete character
NCURSES_KEY_IC | insert char or enter insert mode
NCURSES_KEY_EIC | exit insert char mode
NCURSES_KEY_CLEAR | clear screen
NCURSES_KEY_EOS | clear to end of screen
NCURSES_KEY_EOL | clear to end of line
NCURSES_KEY_SF | scroll one line forward
NCURSES_KEY_SR | scroll one line backward
NCURSES_KEY_NPAGE | next page
NCURSES_KEY_PPAGE | previous page
NCURSES_KEY_STAB | set tab
NCURSES_KEY_CTAB | clear tab
NCURSES_KEY_CATAB | clear all tabs
NCURSES_KEY_SRESET | soft (partial) reset
NCURSES_KEY_RESET | reset or hard reset
NCURSES_KEY_PRINT | print
NCURSES_KEY_LL | lower left
NCURSES_KEY_A1 | upper left of keypad
NCURSES_KEY_A3 | upper right of keypad
NCURSES_KEY_B2 | center of keypad
NCURSES_KEY_C1 | lower left of keypad
NCURSES_KEY_C3 | lower right of keypad
NCURSES_KEY_BTAB | back tab
NCURSES_KEY_BEG | beginning
NCURSES_KEY_CANCEL | cancel
NCURSES_KEY_CLOSE | close
NCURSES_KEY_COMMAND | cmd (command)
NCURSES_KEY_COPY | copy
NCURSES_KEY_CREATE | create
NCURSES_KEY_END | end
NCURSES_KEY_EXIT | exit
NCURSES_KEY_FIND | find
NCURSES_KEY_HELP | help
NCURSES_KEY_MARK | mark
NCURSES_KEY_MESSAGE | message
NCURSES_KEY_MOVE | move
NCURSES_KEY_NEXT | next
NCURSES_KEY_OPEN | open
NCURSES_KEY_OPTIONS | options
NCURSES_KEY_PREVIOUS | previous
NCURSES_KEY_REDO | redo
NCURSES_KEY_REFERENCE | ref (reference)
NCURSES_KEY_REFRESH | refresh
NCURSES_KEY_REPLACE | replace
NCURSES_KEY_RESTART | restart
NCURSES_KEY_RESUME | resume
NCURSES_KEY_SAVE | save
NCURSES_KEY_SBEG | shiftet beg (beginning)
NCURSES_KEY_SCANCEL | shifted cancel
NCURSES_KEY_SCOMMAND | shifted command
NCURSES_KEY_SCOPY | shifted copy
NCURSES_KEY_SCREATE | shifted create
NCURSES_KEY_SDC | shifted delete char
NCURSES_KEY_SDL | shifted delete line
NCURSES_KEY_SELECT | select
NCURSES_KEY_SEND | shifted end
NCURSES_KEY_SEOL | shifted end of line
NCURSES_KEY_SEXIT | shifted exit
NCURSES_KEY_SFIND | shifted find
NCURSES_KEY_SHELP | shifted help
NCURSES_KEY_SHOME | shifted home
NCURSES_KEY_SIC | shifted input
NCURSES_KEY_SLEFT | shifted left arrow
NCURSES_KEY_SMESSAGE | shifted message
NCURSES_KEY_SMOVE | shifted move
NCURSES_KEY_SNEXT | shifted next
NCURSES_KEY_SOPTIONS | shifted options
NCURSES_KEY_SPREVIOUS | shifted previous
NCURSES_KEY_SPRINT | shifted print
NCURSES_KEY_SREDO | shifted redo
NCURSES_KEY_SREPLACE | shifted replace
NCURSES_KEY_SRIGHT | shifted right arrow
NCURSES_KEY_SRSUME | shifted resume
NCURSES_KEY_SSAVE | shifted save
NCURSES_KEY_SSUSPEND | shifted suspend
NCURSES_KEY_UNDO | undo
NCURSES_KEY_MOUSE | mouse event has occurred
NCURSES_KEY_MAX | maximum key value

Mouse

표 192. mouse constants

Constant | meaning
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED | button (1-4) released
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED | button (1-4) pressed
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED | button (1-4) clicked
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED | button (1-4) double clicked
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED | button (1-4) triple clicked
NCURSES_BUTTON_CTRL | ctrl pressed during click
NCURSES_BUTTON_SHIFT | shift pressed during click
NCURSES_BUTTON_ALT | alt pressed during click
NCURSES_ALL_MOUSE_EVENTS | report all mouse events
NCURSES_REPORT_MOUSE_POSITION | report mouse position

차례

ncurses_addch -- Add character at current position and advance cursor
ncurses_addchnstr -- Add attributed string with specified length at current position
ncurses_addchstr -- Add attributed string at current position
ncurses_addnstr -- Add string with specified length at current position
ncurses_addstr -- Output text at current position
ncurses_assume_default_colors -- Define default colors for color 0
ncurses_attroff -- Turn off the given attributes
ncurses_attron -- Turn on the given attributes
ncurses_attrset -- Set given attributes
ncurses_baudrate -- Returns baudrate of terminal
ncurses_beep -- Let the terminal beep
ncurses_bkgd -- Set background property for terminal screen
ncurses_bkgdset -- Control screen background
ncurses_border -- Draw a border around the screen using attributed characters
ncurses_bottom_panel -- Moves a visible panel to the bottom of the stack
ncurses_can_change_color -- Check if we can change terminals colors
ncurses_cbreak -- Switch of input buffering
ncurses_clear -- Clear screen
ncurses_clrtobot -- Clear screen from current position to bottom
ncurses_clrtoeol -- Clear screen from current position to end of line
ncurses_color_content -- Gets the RGB value for color
ncurses_color_set -- Set fore- and background color
ncurses_curs_set -- Set cursor state
ncurses_def_prog_mode -- Saves terminals (program) mode
ncurses_def_shell_mode -- Saves terminals (shell) mode
ncurses_define_key -- Define a keycode
ncurses_del_panel -- Remove panel from the stack and delete it (but not the associated window)
ncurses_delay_output -- Delay output on terminal using padding characters
ncurses_delch -- Delete character at current position, move rest of line left
ncurses_deleteln -- Delete line at current position, move rest of screen up
ncurses_delwin -- Delete a ncurses window
ncurses_doupdate -- Write all prepared refreshes to terminal
ncurses_echo -- Activate keyboard input echo
ncurses_echochar -- Single character output including refresh
ncurses_end -- Stop using ncurses, clean up the screen
ncurses_erase -- Erase terminal screen
ncurses_erasechar -- Returns current erase character
ncurses_filter -- Set LINES for iniscr() and newterm() to 1
ncurses_flash -- Flash terminal screen (visual bell)
ncurses_flushinp -- Flush keyboard input buffer
ncurses_getch -- Read a character from keyboard
ncurses_getmaxyx -- Returns the size of a window
ncurses_getmouse -- Reads mouse event
ncurses_getyx -- Returns the current cursor position for a window
ncurses_halfdelay -- Put terminal into halfdelay mode
ncurses_has_colors -- Check if terminal has colors
ncurses_has_ic -- Check for insert- and delete-capabilities
ncurses_has_il -- Check for line insert- and delete-capabilities
ncurses_has_key -- Check for presence of a function key on terminal keyboard
ncurses_hide_panel -- Remove panel from the stack, making it invisible
ncurses_hline -- Draw a horizontal line at current position using an attributed character and max. n characters long
ncurses_inch -- Get character and attribute at current position
ncurses_init_color -- Set new RGB value for color
ncurses_init_pair -- Allocate a color pair
ncurses_init -- Initialize ncurses
ncurses_insch -- Insert character moving rest of line including character at current position
ncurses_insdelln -- Insert lines before current line scrolling down (negative numbers delete and scroll up)
ncurses_insertln -- Insert a line, move rest of screen down
ncurses_insstr -- Insert string at current position, moving rest of line right
ncurses_instr -- Reads string from terminal screen
ncurses_isendwin -- Ncurses is in endwin mode, normal screen output may be performed
ncurses_keyok -- Enable or disable a keycode
ncurses_keypad -- Turns keypad on or off
ncurses_killchar -- Returns current line kill character
ncurses_longname -- Returns terminals description
ncurses_meta -- Enables/Disable 8-bit meta key information
ncurses_mouse_trafo -- Transforms coordinates
ncurses_mouseinterval -- Set timeout for mouse button clicks
ncurses_mousemask -- Sets mouse options
ncurses_move_panel -- Moves a panel so that its upper-left corner is at [startx, starty]
ncurses_move -- Move output position
ncurses_mvaddch -- Move current position and add character
ncurses_mvaddchnstr -- Move position and add attributed string with specified length
ncurses_mvaddchstr -- Move position and add attributed string
ncurses_mvaddnstr -- Move position and add string with specified length
ncurses_mvaddstr -- Move position and add string
ncurses_mvcur -- Move cursor immediately
ncurses_mvdelch -- Move position and delete character, shift rest of line left
ncurses_mvgetch -- Move position and get character at new position
ncurses_mvhline -- Set new position and draw a horizontal line using an attributed character and max. n characters long
ncurses_mvinch -- Move position and get attributed character at new position
ncurses_mvvline -- Set new position and draw a vertical line using an attributed character and max. n characters long
ncurses_mvwaddstr -- Add string at new position in window
ncurses_napms -- Sleep
ncurses_new_panel -- Create a new panel and associate it with window
ncurses_newpad -- Creates a new pad (window)
ncurses_newwin -- Create a new window
ncurses_nl -- Translate newline and carriage return / line feed
ncurses_nocbreak -- Switch terminal to cooked mode
ncurses_noecho -- Switch off keyboard input echo
ncurses_nonl -- Do not translate newline and carriage return / line feed
ncurses_noqiflush -- Do not flush on signal characters
ncurses_noraw -- Switch terminal out of raw mode
ncurses_pair_content -- Gets the RGB value for color
ncurses_panel_above -- Returns the panel above panel
ncurses_panel_below -- Returns the panel below panel
ncurses_panel_window -- Returns the window associated with panel
ncurses_pnoutrefresh -- Copies a region from a pad into the virtual screen
ncurses_prefresh -- Copies a region from a pad into the virtual screen
ncurses_putp -- Apply padding information to the string and output it
ncurses_qiflush -- Flush on signal characters
ncurses_raw -- Switch terminal into raw mode
ncurses_refresh -- Refresh screen
ncurses_replace_panel -- Replaces the window associated with panel
ncurses_reset_prog_mode -- Resets the prog mode saved by def_prog_mode
ncurses_reset_shell_mode -- Resets the shell mode saved by def_shell_mode
ncurses_resetty -- Restores saved terminal state
ncurses_savetty -- Saves terminal state
ncurses_scr_dump -- Dump screen content to file
ncurses_scr_init -- Initialize screen from file dump
ncurses_scr_restore -- Restore screen from file dump
ncurses_scr_set -- Inherit screen from file dump
ncurses_scrl -- Scroll window content up or down without changing current position
ncurses_show_panel -- Places an invisible panel on top of the stack, making it visible
ncurses_slk_attr -- Returns current soft label key attribute
ncurses_slk_attroff -- Turn off the given attributes for soft function-key labels
ncurses_slk_attron -- Turn on the given attributes for soft function-key labels
ncurses_slk_attrset -- Set given attributes for soft function-key labels
ncurses_slk_clear -- Clears soft labels from screen
ncurses_slk_color -- Sets color for soft label keys
ncurses_slk_init -- Initializes soft label key functions
ncurses_slk_noutrefresh -- Copies soft label keys to virtual screen
ncurses_slk_refresh -- Copies soft label keys to screen
ncurses_slk_restore -- Restores soft label keys
ncurses_slk_set -- Sets function key labels
ncurses_slk_touch -- Forces output when ncurses_slk_noutrefresh is performed
ncurses_standend -- Stop using 'standout' attribute
ncurses_standout -- Start using 'standout' attribute
ncurses_start_color -- Start using colors
ncurses_termattrs -- Returns a logical OR of all attribute flags supported by terminal
ncurses_termname -- Returns terminals (short)-name
ncurses_timeout -- Set timeout for special key sequences
ncurses_top_panel -- Moves a visible panel to the top of the stack
ncurses_typeahead -- Specify different filedescriptor for typeahead checking
ncurses_ungetch -- Put a character back into the input stream
ncurses_ungetmouse -- Pushes mouse event to queue
ncurses_update_panels -- Refreshes the virtual screen to reflect the relations between panels in the stack
ncurses_use_default_colors -- Assign terminal default colors to color id -1
ncurses_use_env -- Control use of environment information about terminal size
ncurses_use_extended_names -- Control use of extended names in terminfo descriptions
ncurses_vidattr -- Display the string on the terminal in the video attribute mode
ncurses_vline -- Draw a vertical line at current position using an attributed character and max. n characters long
ncurses_waddch -- Adds character at current position in a window and advance cursor
ncurses_waddstr -- Outputs text at current postion in window
ncurses_wattroff -- Turns off attributes for a window
ncurses_wattron -- Turns on attributes for a window
ncurses_wattrset -- Set the attributes for a window
ncurses_wborder -- Draws a border around the window using attributed characters
ncurses_wclear -- Clears window
ncurses_wcolor_set -- Sets windows color pairings
ncurses_werase -- Erase window contents
ncurses_wgetch -- Reads a character from keyboard (window)
ncurses_whline -- Draws a horizontal line in a window at current position using an attributed character and max. n characters long
ncurses_wmouse_trafo -- Transforms window/stdscr coordinates
ncurses_wmove -- Moves windows output position
ncurses_wnoutrefresh -- Copies window to virtual screen
ncurses_wrefresh -- Refresh window on terminal screen
ncurses_wstandend -- End standout mode for a window
ncurses_wstandout -- Enter standout mode for a window
ncurses_wvline -- Draws a vertical line in a window at current position using an attributed character and max. n characters long
이전 | 위로 | 다음
mysqli_warning_count | 처음으로 | ncurses_addch


ncurses_addch

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_addch -- Add character at current position and advance cursor

설명

int ncurses_addch ( int $ch )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

ch

이전 | 위로 | 다음
CI. Ncurses Terminal Screen Control Functions | 처음으로 | ncurses_addchnstr


ncurses_addchnstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_addchnstr -- Add attributed string with specified length at current position

설명

int ncurses_addchnstr ( string $s, int $n )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

s

n

이전 | 위로 | 다음
ncurses_addch | 처음으로 | ncurses_addchstr


ncurses_addchstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_addchstr -- Add attributed string at current position

설명

int ncurses_addchstr ( string $s )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

s

이전 | 위로 | 다음
ncurses_addchnstr | 처음으로 | ncurses_addnstr


ncurses_addnstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_addnstr -- Add string with specified length at current position

설명

int ncurses_addnstr ( string $s, int $n )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

s

n

이전 | 위로 | 다음
ncurses_addchstr | 처음으로 | ncurses_addstr


ncurses_addstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_addstr -- Output text at current position

설명

int ncurses_addstr ( string $text )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

text

이전 | 위로 | 다음
ncurses_addnstr | 처음으로 | ncurses_assume_default_colors


ncurses_assume_default_colors

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_assume_default_colors -- Define default colors for color 0

설명

int ncurses_assume_default_colors ( int $fg, int $bg )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

fg

bg

이전 | 위로 | 다음
ncurses_addstr | 처음으로 | ncurses_attroff


ncurses_attroff

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_attroff -- Turn off the given attributes

설명

int ncurses_attroff ( int $attributes )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

attributes

이전 | 위로 | 다음
ncurses_assume_default_colors | 처음으로 | ncurses_attron


ncurses_attron

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_attron -- Turn on the given attributes

설명

int ncurses_attron ( int $attributes )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

attributes

이전 | 위로 | 다음
ncurses_attroff | 처음으로 | ncurses_attrset


ncurses_attrset

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_attrset -- Set given attributes

설명

int ncurses_attrset ( int $attributes )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

attributes

이전 | 위로 | 다음
ncurses_attron | 처음으로 | ncurses_baudrate


ncurses_baudrate

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_baudrate -- Returns baudrate of terminal

설명

int ncurses_baudrate ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_attrset | 처음으로 | ncurses_beep


ncurses_beep

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_beep -- Let the terminal beep

설명

int ncurses_beep ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

ncurses_beep() sends an audible alert (bell) and if its not possible flashes the screen.

참고

ncurses_flash()

이전 | 위로 | 다음
ncurses_baudrate | 처음으로 | ncurses_bkgd


ncurses_bkgd

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_bkgd -- Set background property for terminal screen

설명

int ncurses_bkgd ( int $attrchar )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

attrchar

이전 | 위로 | 다음
ncurses_beep | 처음으로 | ncurses_bkgdset


ncurses_bkgdset

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_bkgdset -- Control screen background

설명

void ncurses_bkgdset ( int $attrchar )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

attrchar

이전 | 위로 | 다음
ncurses_bkgd | 처음으로 | ncurses_border


ncurses_border

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_border -- Draw a border around the screen using attributed characters

설명

int ncurses_border ( int $left, int $right, int $top, int $bottom, int $tl_corner, int $tr_corner, int $bl_corner, int $br_corner )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws the specified lines and corners around the main window.

Use ncurses_wborder() for borders around subwindows!

매개변수

Every parameter expects 0 to draw a line or 1 to skip it.

left

right

top

bottom

tl_corner

Top left corner

tr_corner

Top right corner

bl_corner

Bottom left corner

br_corner

Bottom right corner

참고

ncurses_wborder()

이전 | 위로 | 다음
ncurses_bkgdset | 처음으로 | ncurses_bottom_panel


ncurses_bottom_panel

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_bottom_panel -- Moves a visible panel to the bottom of the stack

설명

int ncurses_bottom_panel ( resource $panel )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

이전 | 위로 | 다음
ncurses_border | 처음으로 | ncurses_can_change_color


ncurses_can_change_color

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_can_change_color -- Check if we can change terminals colors

설명

bool ncurses_can_change_color ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Tells whether the terminal has color capabilities and whether the programmer can change the colors.

반환값

Return TRUE if the terminal has color capabilities and you can change the colors, FALSE otherwise.

이전 | 위로 | 다음
ncurses_bottom_panel | 처음으로 | ncurses_cbreak


ncurses_cbreak

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_cbreak -- Switch of input buffering

설명

bool ncurses_cbreak ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Disables line buffering and character processing (interrupt and flow control characters are unaffected), making characters typed by the user immediately available to the program.

반환값

Returns TRUE or NCURSES_ERR if any error occurred.

참고

ncurses_nocbreak()

이전 | 위로 | 다음
ncurses_can_change_color | 처음으로 | ncurses_clear


ncurses_clear

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_clear -- Clear screen

설명

bool ncurses_clear ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Clears the screen completely without setting blanks.

Note: ncurses_clear() clears the screen without setting blanks, which have the current background rendition. To clear screen with blanks, use ncurses_erase().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ncurses_erase()

이전 | 위로 | 다음
ncurses_cbreak | 처음으로 | ncurses_clrtobot


ncurses_clrtobot

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_clrtobot -- Clear screen from current position to bottom

설명

bool ncurses_clrtobot ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Erases all lines from cursor to end of screen and creates blanks. Blanks created by ncurses_clrtobot() have the current background rendition.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ncurses_clear()
ncurses_clrtoeol()

이전 | 위로 | 다음
ncurses_clear | 처음으로 | ncurses_clrtoeol


ncurses_clrtoeol

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_clrtoeol -- Clear screen from current position to end of line

설명

bool ncurses_clrtoeol ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Erases the current line from cursor position to the end. Blanks created by ncurses_clrtoeol() have the current background rendition.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ncurses_clear()
ncurses_clrtobot()

이전 | 위로 | 다음
ncurses_clrtobot | 처음으로 | ncurses_color_content


ncurses_color_content

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_color_content -- Gets the RGB value for color

설명

int ncurses_color_content ( int $color, int &$r, int &$g, int &$b )
주의

This function is currently not documented; only the argument list is available.

매개변수

color

r

g

b

이전 | 위로 | 다음
ncurses_clrtoeol | 처음으로 | ncurses_color_set


ncurses_color_set

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_color_set -- Set fore- and background color

설명

int ncurses_color_set ( int $pair )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

pair

이전 | 위로 | 다음
ncurses_color_content | 처음으로 | ncurses_curs_set


ncurses_curs_set

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_curs_set -- Set cursor state

설명

int ncurses_curs_set ( int $visibility )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

visibility

이전 | 위로 | 다음
ncurses_color_set | 처음으로 | ncurses_def_prog_mode


ncurses_def_prog_mode

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_def_prog_mode -- Saves terminals (program) mode

설명

bool ncurses_def_prog_mode ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Saves the current terminal modes for program (in curses) for use by ncurses_reset_prog_mode().

반환값

Returns FALSE on success, otherwise TRUE.

참고

ncurses_reset_prog_mode()

이전 | 위로 | 다음
ncurses_curs_set | 처음으로 | ncurses_def_shell_mode


ncurses_def_shell_mode

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_def_shell_mode -- Saves terminals (shell) mode

설명

bool ncurses_def_shell_mode ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Saves the current terminal modes for shell (not in curses) for use by ncurses_reset_shell_mode().

반환값

Returns FALSE on success, TRUE otherwise.

참고

ncurses_reset_shell_mode()

이전 | 위로 | 다음
ncurses_def_prog_mode | 처음으로 | ncurses_define_key


ncurses_define_key

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_define_key -- Define a keycode

설명

int ncurses_define_key ( string $definition, int $keycode )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

definition

keycode

이전 | 위로 | 다음
ncurses_def_shell_mode | 처음으로 | ncurses_del_panel


ncurses_del_panel

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_del_panel -- Remove panel from the stack and delete it (but not the associated window)

설명

bool ncurses_del_panel ( resource $panel )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

이전 | 위로 | 다음
ncurses_define_key | 처음으로 | ncurses_delay_output


ncurses_delay_output

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_delay_output -- Delay output on terminal using padding characters

설명

int ncurses_delay_output ( int $milliseconds )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

milliseconds

이전 | 위로 | 다음
ncurses_del_panel | 처음으로 | ncurses_delch


ncurses_delch

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_delch -- Delete character at current position, move rest of line left

설명

bool ncurses_delch ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Deletes the character under the cursor. All characters to the right of the cursor on the same line are moved to the left one position and the last character on the line is filled with a blank. The cursor position does not change.

반환값

Returns FALSE on success, TRUE otherwise.

참고

ncurses_deleteln()

이전 | 위로 | 다음
ncurses_delay_output | 처음으로 | ncurses_deleteln


ncurses_deleteln

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_deleteln -- Delete line at current position, move rest of screen up

설명

bool ncurses_deleteln ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Deletes the current line under cursorposition. All lines below the current line are moved up one line. The bottom line of window is cleared. Cursor position does not change.

반환값

Returns FALSE on success, otherwise TRUE.

참고

ncurses_delch()

이전 | 위로 | 다음
ncurses_delch | 처음으로 | ncurses_delwin


ncurses_delwin

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_delwin -- Delete a ncurses window

설명

bool ncurses_delwin ( resource $window )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

window

이전 | 위로 | 다음
ncurses_deleteln | 처음으로 | ncurses_doupdate


ncurses_doupdate

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_doupdate -- Write all prepared refreshes to terminal

설명

bool ncurses_doupdate ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Compares the virtual screen to the physical screen and updates the physical screen. This way is more effective than using multiple refresh calls.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ncurses_delwin | 처음으로 | ncurses_echo


ncurses_echo

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_echo -- Activate keyboard input echo

설명

bool ncurses_echo ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Enables echo mode. All characters typed by user are echoed by ncurses_getch().

반환값

Returns FALSE on success, TRUE if any error occurred.

참고

ncurses_noecho() to disable echo mode

이전 | 위로 | 다음
ncurses_doupdate | 처음으로 | ncurses_echochar


ncurses_echochar

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_echochar -- Single character output including refresh

설명

int ncurses_echochar ( int $character )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

character

이전 | 위로 | 다음
ncurses_echo | 처음으로 | ncurses_end


ncurses_end

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_end -- Stop using ncurses, clean up the screen

설명

int ncurses_end ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_echochar | 처음으로 | ncurses_erase


ncurses_erase

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_erase -- Erase terminal screen

설명

bool ncurses_erase ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Fills the terminal screen with blanks.

Created blanks have the current background rendition, set by ncurses_bkgd().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ncurses_bkgd()
ncurses_clear()

이전 | 위로 | 다음
ncurses_end | 처음으로 | ncurses_erasechar


ncurses_erasechar

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_erasechar -- Returns current erase character

설명

string ncurses_erasechar ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the current erase character.

반환값

The current erase char, as a string.

참고

ncurses_killchar()

이전 | 위로 | 다음
ncurses_erase | 처음으로 | ncurses_filter


ncurses_filter

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_filter -- Set LINES for iniscr() and newterm() to 1

설명

void ncurses_filter ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_erasechar | 처음으로 | ncurses_flash


ncurses_flash

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_flash -- Flash terminal screen (visual bell)

설명

bool ncurses_flash ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Flashes the screen, and if its not possible, sends an audible alert (bell).

반환값

Returns FALSE on success, otherwise TRUE.

참고

ncurses_beep()

이전 | 위로 | 다음
ncurses_filter | 처음으로 | ncurses_flushinp


ncurses_flushinp

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_flushinp -- Flush keyboard input buffer

설명

bool ncurses_flushinp ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Throws away any typeahead that has been typed and has not yet been read by your program.

반환값

Returns FALSE on success, otherwise TRUE.

이전 | 위로 | 다음
ncurses_flash | 처음으로 | ncurses_getch


ncurses_getch

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_getch -- Read a character from keyboard

설명

int ncurses_getch ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_flushinp | 처음으로 | ncurses_getmaxyx


ncurses_getmaxyx

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_getmaxyx -- Returns the size of a window

설명

void ncurses_getmaxyx ( resource $window, int &$y, int &$x )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the horizontal and vertical size of the given window into the given variables.

Variables must be passed as reference, so they are updated when the user changes the terminal size.

매개변수

window

The measured window

x

This will be set to the window width

y

This will be set to the window height

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ncurses_getch | 처음으로 | ncurses_getmouse


ncurses_getmouse

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_getmouse -- Reads mouse event

설명

bool ncurses_getmouse ( array &$mevent )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

ncurses_getmouse() reads mouse event out of queue.

매개변수

mevent

Event options will be delivered in this parameter which has to be an array, passed by reference (see example below).

On success an associative array with following keys will be delivered:

  • "id" : Id to distinguish multiple devices

  • "x" : screen relative x-position in character cells

  • "y" : screen relative y-position in character cells

  • "z" : currently not supported

  • "mmask" : Mouse action

반환값

Returns FALSE if a mouse event is actually visible in the given window, otherwise returns TRUE.

예제

예 1483. ncurses_getmouse() example

<?php
switch (ncurses_getch()){
  case NCURSES_KEY_MOUSE:
    if (!ncurses_getmouse(&$mevent)){
      if ($mevent["mmask"] & NCURSES_MOUSE_BUTTON1_PRESSED){
        $mouse_x = $mevent["x"]; // Save mouse position
        $mouse_y = $mevent["y"];
      }
    }
  break;

  default:
    /* .... */
}
?>

참고

ncurses_ungetmouse()

이전 | 위로 | 다음
ncurses_getmaxyx | 처음으로 | ncurses_getyx


ncurses_getyx

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_getyx -- Returns the current cursor position for a window

설명

void ncurses_getyx ( resource $window, int &$y, int &$x )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

y

x

이전 | 위로 | 다음
ncurses_getmouse | 처음으로 | ncurses_halfdelay


ncurses_halfdelay

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_halfdelay -- Put terminal into halfdelay mode

설명

int ncurses_halfdelay ( int $tenth )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

tenth

이전 | 위로 | 다음
ncurses_getyx | 처음으로 | ncurses_has_colors


ncurses_has_colors

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_has_colors -- Check if terminal has colors

설명

bool ncurses_has_colors ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Checks whether the terminal has color capacities.

반환값

Return TRUE if the terminal has color capacities, FALSE otherwise.

참고

ncurses_can_change_color()

이전 | 위로 | 다음
ncurses_halfdelay | 처음으로 | ncurses_has_ic


ncurses_has_ic

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_has_ic -- Check for insert- and delete-capabilities

설명

bool ncurses_has_ic ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Checks whether the terminal has insert and delete capabilities.

반환값

Returns TRUE if the terminal has insert/delete-capabilities, FALSE otherwise.

참고

ncurses_has_il()

이전 | 위로 | 다음
ncurses_has_colors | 처음으로 | ncurses_has_il


ncurses_has_il

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_has_il -- Check for line insert- and delete-capabilities

설명

bool ncurses_has_il ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Checks whether the terminal has insert- and delete-line-capabilities.

반환값

Returns TRUE if the terminal has insert/delete-line capabilities, FALSE otherwise.

참고

ncurses_has_ic()

이전 | 위로 | 다음
ncurses_has_ic | 처음으로 | ncurses_has_key


ncurses_has_key

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_has_key -- Check for presence of a function key on terminal keyboard

설명

int ncurses_has_key ( int $keycode )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

keycode

이전 | 위로 | 다음
ncurses_has_il | 처음으로 | ncurses_hide_panel


ncurses_hide_panel

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_hide_panel -- Remove panel from the stack, making it invisible

설명

int ncurses_hide_panel ( resource $panel )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

이전 | 위로 | 다음
ncurses_has_key | 처음으로 | ncurses_hline


ncurses_hline

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_hline -- Draw a horizontal line at current position using an attributed character and max. n characters long

설명

int ncurses_hline ( int $charattr, int $n )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

charattr

n

이전 | 위로 | 다음
ncurses_hide_panel | 처음으로 | ncurses_inch


ncurses_inch

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_inch -- Get character and attribute at current position

설명

string ncurses_inch ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the character from the current position.

반환값

Returns the character, as a string.

이전 | 위로 | 다음
ncurses_hline | 처음으로 | ncurses_init_color


ncurses_init_color

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_init_color -- Set new RGB value for color

설명

int ncurses_init_color ( int $color, int $r, int $g, int $b )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

color

r

g

b

이전 | 위로 | 다음
ncurses_inch | 처음으로 | ncurses_init_pair


ncurses_init_pair

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_init_pair -- Allocate a color pair

설명

int ncurses_init_pair ( int $pair, int $fg, int $bg )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

pair

fg

bg

이전 | 위로 | 다음
ncurses_init_color | 처음으로 | ncurses_init


ncurses_init

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_init -- Initialize ncurses

설명

void ncurses_init ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Initializes the ncurses interface and must be used before any other ncurses function call.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ncurses_init_pair | 처음으로 | ncurses_insch


ncurses_insch

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_insch -- Insert character moving rest of line including character at current position

설명

int ncurses_insch ( int $character )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

character

이전 | 위로 | 다음
ncurses_init | 처음으로 | ncurses_insdelln


ncurses_insdelln

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_insdelln -- Insert lines before current line scrolling down (negative numbers delete and scroll up)

설명

int ncurses_insdelln ( int $count )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

count

이전 | 위로 | 다음
ncurses_insch | 처음으로 | ncurses_insertln


ncurses_insertln

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_insertln -- Insert a line, move rest of screen down

설명

int ncurses_insertln ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Inserts a new line above the current line. The bottom line will be lost.

이전 | 위로 | 다음
ncurses_insdelln | 처음으로 | ncurses_insstr


ncurses_insstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_insstr -- Insert string at current position, moving rest of line right

설명

int ncurses_insstr ( string $text )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

text

이전 | 위로 | 다음
ncurses_insertln | 처음으로 | ncurses_instr


ncurses_instr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_instr -- Reads string from terminal screen

설명

int ncurses_instr ( string &$buffer )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Reads a string from the terminal screen and returns the number of characters read from the current character position until end of line.

매개변수

buffer

The characters. Attributes will be stripped.

반환값

Returns the number of characters.

이전 | 위로 | 다음
ncurses_insstr | 처음으로 | ncurses_isendwin


ncurses_isendwin

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_isendwin -- Ncurses is in endwin mode, normal screen output may be performed

설명

bool ncurses_isendwin ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Checks if ncurses is in endwin mode.

반환값

Returns TRUE, if ncurses_endwin() has been called without any subsequent calls to ncurses_wrefresh(), FALSE otherwise.

참고

ncurses_endwin()
ncurses_wrefresh()

이전 | 위로 | 다음
ncurses_instr | 처음으로 | ncurses_keyok


ncurses_keyok

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_keyok -- Enable or disable a keycode

설명

int ncurses_keyok ( int $keycode, bool $enable )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

keycode

enable

이전 | 위로 | 다음
ncurses_isendwin | 처음으로 | ncurses_keypad


ncurses_keypad

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_keypad -- Turns keypad on or off

설명

int ncurses_keypad ( resource $window, bool $bf )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

bf

이전 | 위로 | 다음
ncurses_keyok | 처음으로 | ncurses_killchar


ncurses_killchar

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_killchar -- Returns current line kill character

설명

string ncurses_killchar ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the current line kill character.

반환값

Returns the kill character, as a string.

참고

ncurses_erasechar()

이전 | 위로 | 다음
ncurses_keypad | 처음으로 | ncurses_longname


ncurses_longname

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_longname -- Returns terminals description

설명

string ncurses_longname ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a verbose description of the terminal.

반환값

Returns the description, as a string truncated to 128 characters. On errors, returns NULL.

참고

ncurses_termname()

이전 | 위로 | 다음
ncurses_killchar | 처음으로 | ncurses_meta


ncurses_meta

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_meta -- Enables/Disable 8-bit meta key information

설명

int ncurses_meta ( resource $window, bool $8bit )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

8bit

이전 | 위로 | 다음
ncurses_longname | 처음으로 | ncurses_mouse_trafo


ncurses_mouse_trafo

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mouse_trafo -- Transforms coordinates

설명

bool ncurses_mouse_trafo ( int &$y, int &$x, bool $toscreen )
주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

toscreen

이전 | 위로 | 다음
ncurses_meta | 처음으로 | ncurses_mouseinterval


ncurses_mouseinterval

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_mouseinterval -- Set timeout for mouse button clicks

설명

int ncurses_mouseinterval ( int $milliseconds )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

milliseconds

이전 | 위로 | 다음
ncurses_mouse_trafo | 처음으로 | ncurses_mousemask


ncurses_mousemask

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mousemask -- Sets mouse options

설명

int ncurses_mousemask ( int $newmask, int &$oldmask )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets mouse events to be reported. By default no mouse events will be reported.

Mouse events are represented by NCURSES_KEY_MOUSE in the ncurses_wgetch() input stream. To read the event data and pop the event of queue, call ncurses_getmouse().

매개변수

newmask

Mouse mask options can be set with the following predefined constants:

  • NCURSES_BUTTON1_PRESSED

  • NCURSES_BUTTON1_RELEASED

  • NCURSES_BUTTON1_CLICKED

  • NCURSES_BUTTON1_DOUBLE_CLICKED

  • NCURSES_BUTTON1_TRIPLE_CLICKED

  • NCURSES_BUTTON2_PRESSED

  • NCURSES_BUTTON2_RELEASED

  • NCURSES_BUTTON2_CLICKED

  • NCURSES_BUTTON2_DOUBLE_CLICKED

  • NCURSES_BUTTON2_TRIPLE_CLICKED

  • NCURSES_BUTTON3_PRESSED

  • NCURSES_BUTTON3_RELEASED

  • NCURSES_BUTTON3_CLICKED

  • NCURSES_BUTTON3_DOUBLE_CLICKED

  • NCURSES_BUTTON3_TRIPLE_CLICKED

  • NCURSES_BUTTON4_PRESSED

  • NCURSES_BUTTON4_RELEASED

  • NCURSES_BUTTON4_CLICKED

  • NCURSES_BUTTON4_DOUBLE_CLICKED

  • NCURSES_BUTTON4_TRIPLE_CLICKED

  • NCURSES_BUTTON_SHIFT>

  • NCURSES_BUTTON_CTRL

  • NCURSES_BUTTON_ALT

  • NCURSES_ALL_MOUSE_EVENTS

  • NCURSES_REPORT_MOUSE_POSITION

As a side effect, setting a zero mousemask in newmask turns off the mouse pointer. Setting a non zero value turns mouse pointer on.

oldmask

This will be set to the previous value of the mouse event mask.

반환값

Returns a mask to indicated which of the in parameter newmask specified mouse events can be reported. On complete failure, it returns 0.

예제

예 1484. ncurses_mousemask() example

<?php
$newmask = NCURSES_BUTTON1_CLICKED + NCURSES_BUTTON1_RELEASED;
$mask = ncurses_mousemask($newmask, &$oldmask);
if ($mask & $newmask){
    printf("All specified mouse options will be supported\n");
}
?>

참고

ncurses_getmouse()
ncurses_ungetmouse()
ncurese_getch()

이전 | 위로 | 다음
ncurses_mouseinterval | 처음으로 | ncurses_move_panel


ncurses_move_panel

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_move_panel -- Moves a panel so that its upper-left corner is at [startx, starty]

설명

int ncurses_move_panel ( resource $panel, int $startx, int $starty )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

startx

starty

이전 | 위로 | 다음
ncurses_mousemask | 처음으로 | ncurses_move


ncurses_move

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_move -- Move output position

설명

int ncurses_move ( int $y, int $x )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

이전 | 위로 | 다음
ncurses_move_panel | 처음으로 | ncurses_mvaddch


ncurses_mvaddch

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvaddch -- Move current position and add character

설명

int ncurses_mvaddch ( int $y, int $x, int $c )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

c

이전 | 위로 | 다음
ncurses_move | 처음으로 | ncurses_mvaddchnstr


ncurses_mvaddchnstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvaddchnstr -- Move position and add attributed string with specified length

설명

int ncurses_mvaddchnstr ( int $y, int $x, string $s, int $n )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

s

n

이전 | 위로 | 다음
ncurses_mvaddch | 처음으로 | ncurses_mvaddchstr


ncurses_mvaddchstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvaddchstr -- Move position and add attributed string

설명

int ncurses_mvaddchstr ( int $y, int $x, string $s )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

s

이전 | 위로 | 다음
ncurses_mvaddchnstr | 처음으로 | ncurses_mvaddnstr


ncurses_mvaddnstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvaddnstr -- Move position and add string with specified length

설명

int ncurses_mvaddnstr ( int $y, int $x, string $s, int $n )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

s

n

이전 | 위로 | 다음
ncurses_mvaddchstr | 처음으로 | ncurses_mvaddstr


ncurses_mvaddstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvaddstr -- Move position and add string

설명

int ncurses_mvaddstr ( int $y, int $x, string $s )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

s

이전 | 위로 | 다음
ncurses_mvaddnstr | 처음으로 | ncurses_mvcur


ncurses_mvcur

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvcur -- Move cursor immediately

설명

int ncurses_mvcur ( int $old_y, int $old_x, int $new_y, int $new_x )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

old_y

old_x

new_y

new_x

이전 | 위로 | 다음
ncurses_mvaddstr | 처음으로 | ncurses_mvdelch


ncurses_mvdelch

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvdelch -- Move position and delete character, shift rest of line left

설명

int ncurses_mvdelch ( int $y, int $x )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

이전 | 위로 | 다음
ncurses_mvcur | 처음으로 | ncurses_mvgetch


ncurses_mvgetch

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvgetch -- Move position and get character at new position

설명

int ncurses_mvgetch ( int $y, int $x )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

이전 | 위로 | 다음
ncurses_mvdelch | 처음으로 | ncurses_mvhline


ncurses_mvhline

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvhline -- Set new position and draw a horizontal line using an attributed character and max. n characters long

설명

int ncurses_mvhline ( int $y, int $x, int $attrchar, int $n )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

attrchar

n

이전 | 위로 | 다음
ncurses_mvgetch | 처음으로 | ncurses_mvinch


ncurses_mvinch

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvinch -- Move position and get attributed character at new position

설명

int ncurses_mvinch ( int $y, int $x )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

이전 | 위로 | 다음
ncurses_mvhline | 처음으로 | ncurses_mvvline


ncurses_mvvline

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvvline -- Set new position and draw a vertical line using an attributed character and max. n characters long

설명

int ncurses_mvvline ( int $y, int $x, int $attrchar, int $n )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

y

x

attrchar

n

이전 | 위로 | 다음
ncurses_mvinch | 처음으로 | ncurses_mvwaddstr


ncurses_mvwaddstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_mvwaddstr -- Add string at new position in window

설명

int ncurses_mvwaddstr ( resource $window, int $y, int $x, string $text )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

window

y

x

text

이전 | 위로 | 다음
ncurses_mvvline | 처음으로 | ncurses_napms


ncurses_napms

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_napms -- Sleep

설명

int ncurses_napms ( int $milliseconds )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

milliseconds

이전 | 위로 | 다음
ncurses_mvwaddstr | 처음으로 | ncurses_new_panel


ncurses_new_panel

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_new_panel -- Create a new panel and associate it with window

설명

resource ncurses_new_panel ( resource $window )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

이전 | 위로 | 다음
ncurses_napms | 처음으로 | ncurses_newpad


ncurses_newpad

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_newpad -- Creates a new pad (window)

설명

resource ncurses_newpad ( int $rows, int $cols )
주의

This function is currently not documented; only the argument list is available.

매개변수

rows

cols

이전 | 위로 | 다음
ncurses_new_panel | 처음으로 | ncurses_newwin


ncurses_newwin

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_newwin -- Create a new window

설명

resource ncurses_newwin ( int $rows, int $cols, int $y, int $x )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new window to draw elements in.

When creating additional windows, remember to use ncurses_getmaxyx() to check for available space, as terminal size is individual and may vary.

매개변수

rows

Number of rows

cols

Number of columns

y

y-ccordinate of the origin

x

x-ccordinate of the origin

반환값

Returns a resource ID for the new window.

이전 | 위로 | 다음
ncurses_newpad | 처음으로 | ncurses_nl


ncurses_nl

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_nl -- Translate newline and carriage return / line feed

설명

bool ncurses_nl ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_newwin | 처음으로 | ncurses_nocbreak


ncurses_nocbreak

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_nocbreak -- Switch terminal to cooked mode

설명

bool ncurses_nocbreak ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns terminal to normal (cooked) mode. Initially the terminal may or may not in cbreak mode as the mode is inherited. Therefore a program should call ncurses_cbreak() and ncurses_nocbreak() explicitly.

반환값

Returns TRUE if any error occurred, otherwise FALSE.

참고

ncurses_cbreak()

이전 | 위로 | 다음
ncurses_nl | 처음으로 | ncurses_noecho


ncurses_noecho

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_noecho -- Switch off keyboard input echo

설명

bool ncurses_noecho ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Prevents echoing of user typed characters.

반환값

Returns TRUE if any error occurred, FALSE otherwise.

참고

ncurses_echo()
ncurses_getch()

이전 | 위로 | 다음
ncurses_nocbreak | 처음으로 | ncurses_nonl


ncurses_nonl

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_nonl -- Do not translate newline and carriage return / line feed

설명

bool ncurses_nonl ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_noecho | 처음으로 | ncurses_noqiflush


ncurses_noqiflush

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_noqiflush -- Do not flush on signal characters

설명

void ncurses_noqiflush ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_nonl | 처음으로 | ncurses_noraw


ncurses_noraw

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_noraw -- Switch terminal out of raw mode

설명

bool ncurses_noraw ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Switches the terminal out of raw mode. Raw mode is similar to cbreak mode, in that characters typed are immediately passed through to the user program. The differences that are that in raw mode, the interrupt, quit, suspend and flow control characters are all passed through uninterpreted, instead of generating a signal.

반환값

Returns TRUE if any error occurred, otherwise FALSE.

참고

ncurses_raw()
ncurses_cbreak()
ncurses_nocbreak()

이전 | 위로 | 다음
ncurses_noqiflush | 처음으로 | ncurses_pair_content


ncurses_pair_content

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_pair_content -- Gets the RGB value for color

설명

int ncurses_pair_content ( int $pair, int &$f, int &$b )
주의

This function is currently not documented; only the argument list is available.

매개변수

pair

f

b

이전 | 위로 | 다음
ncurses_noraw | 처음으로 | ncurses_panel_above


ncurses_panel_above

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_panel_above -- Returns the panel above panel

설명

resource ncurses_panel_above ( resource $panel )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

반환값

If panel is null, returns the bottom panel in the stack.

이전 | 위로 | 다음
ncurses_pair_content | 처음으로 | ncurses_panel_below


ncurses_panel_below

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_panel_below -- Returns the panel below panel

설명

resource ncurses_panel_below ( resource $panel )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

매개변수

If panel is null, returns the top panel in the stack.

이전 | 위로 | 다음
ncurses_panel_above | 처음으로 | ncurses_panel_window


ncurses_panel_window

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_panel_window -- Returns the window associated with panel

설명

resource ncurses_panel_window ( resource $panel )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

이전 | 위로 | 다음
ncurses_panel_below | 처음으로 | ncurses_pnoutrefresh


ncurses_pnoutrefresh

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_pnoutrefresh -- Copies a region from a pad into the virtual screen

설명

int ncurses_pnoutrefresh ( resource $pad, int $pminrow, int $pmincol, int $sminrow, int $smincol, int $smaxrow, int $smaxcol )
주의

This function is currently not documented; only the argument list is available.

매개변수

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

이전 | 위로 | 다음
ncurses_panel_window | 처음으로 | ncurses_prefresh


ncurses_prefresh

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_prefresh -- Copies a region from a pad into the virtual screen

설명

int ncurses_prefresh ( resource $pad, int $pminrow, int $pmincol, int $sminrow, int $smincol, int $smaxrow, int $smaxcol )
주의

This function is currently not documented; only the argument list is available.

매개변수

pad

pminrow

pmincol

sminrow

smincol

smaxrow

smaxcol

이전 | 위로 | 다음
ncurses_pnoutrefresh | 처음으로 | ncurses_putp


ncurses_putp

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_putp -- Apply padding information to the string and output it

설명

int ncurses_putp ( string $text )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

text

이전 | 위로 | 다음
ncurses_prefresh | 처음으로 | ncurses_qiflush


ncurses_qiflush

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_qiflush -- Flush on signal characters

설명

void ncurses_qiflush ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_putp | 처음으로 | ncurses_raw


ncurses_raw

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_raw -- Switch terminal into raw mode

설명

bool ncurses_raw ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Places the terminal in raw mode. Raw mode is similar to cbreak mode, in that characters typed are immediately passed through to the user program. The differences that are that in raw mode, the interrupt, quit, suspend and flow control characters are all passed through uninterpreted, instead of generating a signal.

반환값

Returns TRUE if any error occurred, otherwise FALSE.

참고

ncurses_noraw()
ncurses_cbreak()
ncurses_nocbreak()

이전 | 위로 | 다음
ncurses_qiflush | 처음으로 | ncurses_refresh


ncurses_refresh

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_refresh -- Refresh screen

설명

int ncurses_refresh ( int $ch )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

ch

이전 | 위로 | 다음
ncurses_raw | 처음으로 | ncurses_replace_panel


ncurses_replace_panel

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_replace_panel -- Replaces the window associated with panel

설명

int ncurses_replace_panel ( resource $panel, resource $window )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

window

이전 | 위로 | 다음
ncurses_refresh | 처음으로 | ncurses_reset_prog_mode


ncurses_reset_prog_mode

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_reset_prog_mode -- Resets the prog mode saved by def_prog_mode

설명

int ncurses_reset_prog_mode ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_replace_panel | 처음으로 | ncurses_reset_shell_mode


ncurses_reset_shell_mode

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_reset_shell_mode -- Resets the shell mode saved by def_shell_mode

설명

int ncurses_reset_shell_mode ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_reset_prog_mode | 처음으로 | ncurses_resetty


ncurses_resetty

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_resetty -- Restores saved terminal state

설명

bool ncurses_resetty ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Restores the terminal state, which was previously saved by calling ncurses_savetty().

반환값

Always returns FALSE.

참고

ncurses_savetty()

이전 | 위로 | 다음
ncurses_reset_shell_mode | 처음으로 | ncurses_savetty


ncurses_savetty

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_savetty -- Saves terminal state

설명

bool ncurses_savetty ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Saves the current terminal state. The saved terminal state can be restored with ncurses_resetty().

반환값

Always returns FALSE.

참고

ncurses_resetty()

이전 | 위로 | 다음
ncurses_resetty | 처음으로 | ncurses_scr_dump


ncurses_scr_dump

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_scr_dump -- Dump screen content to file

설명

int ncurses_scr_dump ( string $filename )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

filename

이전 | 위로 | 다음
ncurses_savetty | 처음으로 | ncurses_scr_init


ncurses_scr_init

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_scr_init -- Initialize screen from file dump

설명

int ncurses_scr_init ( string $filename )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

filename

이전 | 위로 | 다음
ncurses_scr_dump | 처음으로 | ncurses_scr_restore


ncurses_scr_restore

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_scr_restore -- Restore screen from file dump

설명

int ncurses_scr_restore ( string $filename )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

filename

이전 | 위로 | 다음
ncurses_scr_init | 처음으로 | ncurses_scr_set


ncurses_scr_set

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_scr_set -- Inherit screen from file dump

설명

int ncurses_scr_set ( string $filename )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

filename

이전 | 위로 | 다음
ncurses_scr_restore | 처음으로 | ncurses_scrl


ncurses_scrl

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_scrl -- Scroll window content up or down without changing current position

설명

int ncurses_scrl ( int $count )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

count

이전 | 위로 | 다음
ncurses_scr_set | 처음으로 | ncurses_show_panel


ncurses_show_panel

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_show_panel -- Places an invisible panel on top of the stack, making it visible

설명

int ncurses_show_panel ( resource $panel )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

이전 | 위로 | 다음
ncurses_scrl | 처음으로 | ncurses_slk_attr


ncurses_slk_attr

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_attr -- Returns current soft label key attribute

설명

int ncurses_slk_attr ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the current soft label key attribute.

반환값

The attribute, as an integer.

이전 | 위로 | 다음
ncurses_show_panel | 처음으로 | ncurses_slk_attroff


ncurses_slk_attroff

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_attroff -- Turn off the given attributes for soft function-key labels

설명

int ncurses_slk_attroff ( int $intarg )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

intarg

이전 | 위로 | 다음
ncurses_slk_attr | 처음으로 | ncurses_slk_attron


ncurses_slk_attron

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_attron -- Turn on the given attributes for soft function-key labels

설명

int ncurses_slk_attron ( int $intarg )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

intarg

이전 | 위로 | 다음
ncurses_slk_attroff | 처음으로 | ncurses_slk_attrset


ncurses_slk_attrset

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_attrset -- Set given attributes for soft function-key labels

설명

int ncurses_slk_attrset ( int $intarg )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

intarg

이전 | 위로 | 다음
ncurses_slk_attron | 처음으로 | ncurses_slk_clear


ncurses_slk_clear

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_clear -- Clears soft labels from screen

설명

bool ncurses_slk_clear ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

The function ncurses_slk_clear() clears soft label keys from screen.

반환값

Returns TRUE on errors, FALSE otherwise.

이전 | 위로 | 다음
ncurses_slk_attrset | 처음으로 | ncurses_slk_color


ncurses_slk_color

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_color -- Sets color for soft label keys

설명

int ncurses_slk_color ( int $intarg )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

intarg

이전 | 위로 | 다음
ncurses_slk_clear | 처음으로 | ncurses_slk_init


ncurses_slk_init

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_init -- Initializes soft label key functions

설명

bool ncurses_slk_init ( int $format )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Initializes soft label key functions

This function must be called before ncurses_initscr() or ncurses_newterm() is called.

매개변수

format

If ncurses_initscr() eventually uses a line from stdscr to emulate the soft labels, then this parameter determines how the labels are arranged of the screen.

0 indicates a 3-2-3 arrangement of the labels, 1 indicates a 4-4 arrangement and 2 indicates the PC like 4-4-4 mode, but in addition an index line will be created.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ncurses_slk_color | 처음으로 | ncurses_slk_noutrefresh


ncurses_slk_noutrefresh

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_noutrefresh -- Copies soft label keys to virtual screen

설명

bool ncurses_slk_noutrefresh ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_slk_init | 처음으로 | ncurses_slk_refresh


ncurses_slk_refresh

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_refresh -- Copies soft label keys to screen

설명

int ncurses_slk_refresh ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Copies soft label keys from virtual screen to physical screen.

이전 | 위로 | 다음
ncurses_slk_noutrefresh | 처음으로 | ncurses_slk_restore


ncurses_slk_restore

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_restore -- Restores soft label keys

설명

int ncurses_slk_restore ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Restores the soft label keys after ncurses_slk_clear() has been performed.

이전 | 위로 | 다음
ncurses_slk_refresh | 처음으로 | ncurses_slk_set


ncurses_slk_set

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_set -- Sets function key labels

설명

bool ncurses_slk_set ( int $labelnr, string $label, int $format )
주의

This function is currently not documented; only the argument list is available.

매개변수

labelnr

label

format

이전 | 위로 | 다음
ncurses_slk_restore | 처음으로 | ncurses_slk_touch


ncurses_slk_touch

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_slk_touch -- Forces output when ncurses_slk_noutrefresh is performed

설명

int ncurses_slk_touch ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Forces all the soft labels to be output the next time a ncurses_slk_noutrefresh() is performed.

이전 | 위로 | 다음
ncurses_slk_set | 처음으로 | ncurses_standend


ncurses_standend

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_standend -- Stop using 'standout' attribute

설명

int ncurses_standend ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_slk_touch | 처음으로 | ncurses_standout


ncurses_standout

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_standout -- Start using 'standout' attribute

설명

int ncurses_standout ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_standend | 처음으로 | ncurses_start_color


ncurses_start_color

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_start_color -- Start using colors

설명

int ncurses_start_color ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_standout | 처음으로 | ncurses_termattrs


ncurses_termattrs

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_termattrs -- Returns a logical OR of all attribute flags supported by terminal

설명

bool ncurses_termattrs ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_start_color | 처음으로 | ncurses_termname


ncurses_termname

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_termname -- Returns terminals (short)-name

설명

string ncurses_termname ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns terminals shortname.

반환값

Returns the shortname of the terminal, truncated to 14 characters. On errors, returns NULL.

참고

ncurses_longname()

이전 | 위로 | 다음
ncurses_termattrs | 처음으로 | ncurses_timeout


ncurses_timeout

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_timeout -- Set timeout for special key sequences

설명

void ncurses_timeout ( int $millisec )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

millisec

이전 | 위로 | 다음
ncurses_termname | 처음으로 | ncurses_top_panel


ncurses_top_panel

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_top_panel -- Moves a visible panel to the top of the stack

설명

int ncurses_top_panel ( resource $panel )
주의

This function is currently not documented; only the argument list is available.

매개변수

panel

이전 | 위로 | 다음
ncurses_timeout | 처음으로 | ncurses_typeahead


ncurses_typeahead

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_typeahead -- Specify different filedescriptor for typeahead checking

설명

int ncurses_typeahead ( int $fd )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

fd

이전 | 위로 | 다음
ncurses_top_panel | 처음으로 | ncurses_ungetch


ncurses_ungetch

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_ungetch -- Put a character back into the input stream

설명

int ncurses_ungetch ( int $keycode )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

keycode

이전 | 위로 | 다음
ncurses_typeahead | 처음으로 | ncurses_ungetmouse


ncurses_ungetmouse

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_ungetmouse -- Pushes mouse event to queue

설명

bool ncurses_ungetmouse ( array $mevent )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Pushes a KEY_MOUSE event onto the unput queue and associates with this event the given state sata and screen-relative character cell coordinates, specified in mevent.

매개변수

mevent

An associative array specifying the event options:

  • "id" : Id to distinguish multiple devices

  • "x" : screen relative x-position in character cells

  • "y" : screen relative y-position in character cells

  • "z" : currently not supported

  • "mmask" : Mouse action

반환값

Returns FALSE on success, TRUE otherwise.

참고

ncurses_getmouse()

이전 | 위로 | 다음
ncurses_ungetch | 처음으로 | ncurses_update_panels


ncurses_update_panels

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_update_panels -- Refreshes the virtual screen to reflect the relations between panels in the stack

설명

void ncurses_update_panels ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_ungetmouse | 처음으로 | ncurses_use_default_colors


ncurses_use_default_colors

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_use_default_colors -- Assign terminal default colors to color id -1

설명

bool ncurses_use_default_colors ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ncurses_update_panels | 처음으로 | ncurses_use_env


ncurses_use_env

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_use_env -- Control use of environment information about terminal size

설명

void ncurses_use_env ( bool $flag )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

flag

이전 | 위로 | 다음
ncurses_use_default_colors | 처음으로 | ncurses_use_extended_names


ncurses_use_extended_names

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_use_extended_names -- Control use of extended names in terminfo descriptions

설명

int ncurses_use_extended_names ( bool $flag )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

flag

이전 | 위로 | 다음
ncurses_use_env | 처음으로 | ncurses_vidattr


ncurses_vidattr

(PHP 4 >= 4.0.7, PHP 5, PECL ncurses:1.0.0)

ncurses_vidattr -- Display the string on the terminal in the video attribute mode

설명

int ncurses_vidattr ( int $intarg )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

intarg

이전 | 위로 | 다음
ncurses_use_extended_names | 처음으로 | ncurses_vline


ncurses_vline

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_vline -- Draw a vertical line at current position using an attributed character and max. n characters long

설명

int ncurses_vline ( int $charattr, int $n )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

charattr

n

이전 | 위로 | 다음
ncurses_vidattr | 처음으로 | ncurses_waddch


ncurses_waddch

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_waddch -- Adds character at current position in a window and advance cursor

설명

int ncurses_waddch ( resource $window, int $ch )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

ch

이전 | 위로 | 다음
ncurses_vline | 처음으로 | ncurses_waddstr


ncurses_waddstr

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_waddstr -- Outputs text at current postion in window

설명

int ncurses_waddstr ( resource $window, string $str [, int $n] )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

str

n

이전 | 위로 | 다음
ncurses_waddch | 처음으로 | ncurses_wattroff


ncurses_wattroff

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wattroff -- Turns off attributes for a window

설명

int ncurses_wattroff ( resource $window, int $attrs )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

attrs

이전 | 위로 | 다음
ncurses_waddstr | 처음으로 | ncurses_wattron


ncurses_wattron

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wattron -- Turns on attributes for a window

설명

int ncurses_wattron ( resource $window, int $attrs )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

attrs

이전 | 위로 | 다음
ncurses_wattroff | 처음으로 | ncurses_wattrset


ncurses_wattrset

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wattrset -- Set the attributes for a window

설명

int ncurses_wattrset ( resource $window, int $attrs )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

attrs

이전 | 위로 | 다음
ncurses_wattron | 처음으로 | ncurses_wborder


ncurses_wborder

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wborder -- Draws a border around the window using attributed characters

설명

int ncurses_wborder ( resource $window, int $left, int $right, int $top, int $bottom, int $tl_corner, int $tr_corner, int $bl_corner, int $br_corner )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws the specified lines and corners around the passed window.

Use ncurses_border() for borders around the main window.

매개변수

Each parameter expects 0 to draw a line and 1 to skip it.

window

The window on which we operate

left

right

top

bottom

tl_corner

Top left corner

tr_corner

Top right corner

bl_corner

Bottom left corner

br_corner

Bottom right corner

참고

ncurses_border()

이전 | 위로 | 다음
ncurses_wattrset | 처음으로 | ncurses_wclear


ncurses_wclear

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wclear -- Clears window

설명

int ncurses_wclear ( resource $window )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

이전 | 위로 | 다음
ncurses_wborder | 처음으로 | ncurses_wcolor_set


ncurses_wcolor_set

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wcolor_set -- Sets windows color pairings

설명

int ncurses_wcolor_set ( resource $window, int $color_pair )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

color_pair

이전 | 위로 | 다음
ncurses_wclear | 처음으로 | ncurses_werase


ncurses_werase

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_werase -- Erase window contents

설명

int ncurses_werase ( resource $window )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

이전 | 위로 | 다음
ncurses_wcolor_set | 처음으로 | ncurses_wgetch


ncurses_wgetch

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wgetch -- Reads a character from keyboard (window)

설명

int ncurses_wgetch ( resource $window )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

이전 | 위로 | 다음
ncurses_werase | 처음으로 | ncurses_whline


ncurses_whline

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_whline -- Draws a horizontal line in a window at current position using an attributed character and max. n characters long

설명

int ncurses_whline ( resource $window, int $charattr, int $n )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

charattr

n

이전 | 위로 | 다음
ncurses_wgetch | 처음으로 | ncurses_wmouse_trafo


ncurses_wmouse_trafo

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wmouse_trafo -- Transforms window/stdscr coordinates

설명

bool ncurses_wmouse_trafo ( resource $window, int &$y, int &$x, bool $toscreen )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

x

y

toscreen

이전 | 위로 | 다음
ncurses_whline | 처음으로 | ncurses_wmove


ncurses_wmove

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wmove -- Moves windows output position

설명

int ncurses_wmove ( resource $window, int $y, int $x )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

y

x

이전 | 위로 | 다음
ncurses_wmouse_trafo | 처음으로 | ncurses_wnoutrefresh


ncurses_wnoutrefresh

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wnoutrefresh -- Copies window to virtual screen

설명

int ncurses_wnoutrefresh ( resource $window )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

이전 | 위로 | 다음
ncurses_wmove | 처음으로 | ncurses_wrefresh


ncurses_wrefresh

(PHP 4 >= 4.2.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wrefresh -- Refresh window on terminal screen

설명

int ncurses_wrefresh ( resource $window )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

매개변수

window

이전 | 위로 | 다음
ncurses_wnoutrefresh | 처음으로 | ncurses_wstandend


ncurses_wstandend

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wstandend -- End standout mode for a window

설명

int ncurses_wstandend ( resource $window )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

이전 | 위로 | 다음
ncurses_wrefresh | 처음으로 | ncurses_wstandout


ncurses_wstandout

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wstandout -- Enter standout mode for a window

설명

int ncurses_wstandout ( resource $window )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

이전 | 위로 | 다음
ncurses_wstandend | 처음으로 | ncurses_wvline


ncurses_wvline

(PHP 4 >= 4.3.0, PHP 5, PECL ncurses:1.0.0)

ncurses_wvline -- Draws a vertical line in a window at current position using an attributed character and max. n characters long

설명

int ncurses_wvline ( resource $window, int $charattr, int $n )
주의

This function is currently not documented; only the argument list is available.

매개변수

window

charattr

n

이전 | 위로 | 다음
ncurses_wstandout | 처음으로 | CII. 네트워크 함수


Lotus Notes Functions

이전 VI. 함수 레퍼런스 다음

LXXVII. Lotus Notes Functions

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/notes.

주의

This extension is currently not supported, thus looking for a maintainer.

차례

notes_body -- Open the message msg_number in the specified mailbox on the specified server (leave serv
notes_copy_db -- Copy a Lotus Notes database
notes_create_db -- Create a Lotus Notes database
notes_create_note -- Create a note using form form_name
notes_drop_db -- Drop a Lotus Notes database
notes_find_note -- Returns a note id found in database_name
notes_header_info -- Open the message msg_number in the specified mailbox on the specified server (leave serv
notes_list_msgs -- Returns the notes from a selected database_name
notes_mark_read -- Mark a note_id as read for the User user_name
notes_mark_unread -- Mark a note_id as unread for the User user_name
notes_nav_create -- Create a navigator name, in database_name
notes_search -- Find notes that match keywords in database_name
notes_unread -- Returns the unread note id's for the current User user_name
notes_version -- Get the version Lotus Notes
이전 | 위로 | 다음
libxml_use_internal_errors | 처음으로 | notes_body


notes_body

(PHP 4 >= 4.0.5)

notes_body -- Open the message msg_number in the specified mailbox on the specified server (leave serv

설명

array notes_body ( string $server, string $mailbox, int $msg_number )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
LXXVII. Lotus Notes Functions | 처음으로 | notes_copy_db


notes_copy_db

(PHP 4 >= 4.0.5)

notes_copy_db -- Copy a Lotus Notes database

설명

bool notes_copy_db ( string $from_database_name, string $to_database_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_body | 처음으로 | notes_create_db


notes_create_db

(PHP 4 >= 4.0.5)

notes_create_db -- Create a Lotus Notes database

설명

bool notes_create_db ( string $database_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_copy_db | 처음으로 | notes_create_note


notes_create_note

(PHP 4 >= 4.0.5)

notes_create_note -- Create a note using form form_name

설명

bool notes_create_note ( string $database_name, string $form_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_create_db | 처음으로 | notes_drop_db


notes_drop_db

(PHP 4 >= 4.0.5)

notes_drop_db -- Drop a Lotus Notes database

설명

bool notes_drop_db ( string $database_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_create_note | 처음으로 | notes_find_note


notes_find_note

(PHP 4 >= 4.0.5)

notes_find_note -- Returns a note id found in database_name

설명

int notes_find_note ( string $database_name, string $name [, string $type] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_drop_db | 처음으로 | notes_header_info


notes_header_info

(PHP 4 >= 4.0.5)

notes_header_info -- Open the message msg_number in the specified mailbox on the specified server (leave serv

설명

object notes_header_info ( string $server, string $mailbox, int $msg_number )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_find_note | 처음으로 | notes_list_msgs


notes_list_msgs

(PHP 4 >= 4.0.5)

notes_list_msgs -- Returns the notes from a selected database_name

설명

bool notes_list_msgs ( string $db )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_header_info | 처음으로 | notes_mark_read


notes_mark_read

(PHP 4 >= 4.0.5)

notes_mark_read -- Mark a note_id as read for the User user_name

설명

bool notes_mark_read ( string $database_name, string $user_name, string $note_id )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_list_msgs | 처음으로 | notes_mark_unread


notes_mark_unread

(PHP 4 >= 4.0.5)

notes_mark_unread -- Mark a note_id as unread for the User user_name

설명

bool notes_mark_unread ( string $database_name, string $user_name, string $note_id )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_mark_read | 처음으로 | notes_nav_create


notes_nav_create

(PHP 4 >= 4.0.5)

notes_nav_create -- Create a navigator name, in database_name

설명

bool notes_nav_create ( string $database_name, string $name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_mark_unread | 처음으로 | notes_search


notes_search

(PHP 4 >= 4.0.5)

notes_search -- Find notes that match keywords in database_name

설명

array notes_search ( string $database_name, string $keywords )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_nav_create | 처음으로 | notes_unread


notes_unread

(PHP 4 >= 4.0.5)

notes_unread -- Returns the unread note id's for the current User user_name

설명

array notes_unread ( string $database_name, string $user_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_search | 처음으로 | notes_version


notes_version

(PHP 4 >= 4.0.5)

notes_version -- Get the version Lotus Notes

설명

float notes_version ( string $database_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
notes_unread | 처음으로 | LXXVIII. LZF Functions


NSAPI-specific Functions

이전 VI. 함수 레퍼런스 다음

CIV. NSAPI-specific Functions

소개

These functions are only available when running PHP as a NSAPI module in Netscape/iPlanet/Sun webservers.

설치

For PHP installation on Netscape/iPlanet/Sun webservers see the NSAPI section (UNIX, Windows) in the installation chapter.

실행시 설정

The behaviour of the NSAPI PHP module is affected by settings in php.ini. Configuration settings from php.ini may be overridden by additional parameters to the php4_execute call in obj.conf

표 218. NSAPI configuration options

Name | Default | Changeable | Changelog
nsapi.read_timeout | "60" | PHP_INI_ALL | Available since PHP 4.3.3.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

nsapi.read_timeout integer

Sets the time in seconds the plugin is waiting for POST data from the client.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

참고

NSAPI implements a subset of the functions from the Apache module for maximum compatibility.

표 219. Apache functions implemented by NSAPI

Apache function (only as alias) | NSAPI function | Description
apache_request_headers() | nsapi_request_headers() | Fetch all HTTP request headers
apache_response_headers() | nsapi_response_headers() | Fetch all HTTP response headers
getallheaders() | nsapi_request_headers() | Fetch all HTTP request headers
virtual() | nsapi_virtual() | Make NSAPI sub-request

차례

nsapi_request_headers -- Fetch all HTTP request headers
nsapi_response_headers -- Fetch all HTTP response headers
nsapi_virtual -- Perform an NSAPI sub-request
이전 | 위로 | 다음
newt_win_ternary | 처음으로 | nsapi_request_headers


nsapi_request_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_request_headers -- Fetch all HTTP request headers

설명

array nsapi_request_headers ( void )

nsapi_request_headers() gets all the HTTP headers in the current request. This is only supported when PHP runs as a NSAPI module.

참고: Prior to PHP 4.3.3, getallheaders() was only available for the Apache servers. After PHP 4.3.3, getallheaders() is an alias for nsapi_request_headers() if you use the NSAPI module.

참고: You can also get at the value of the common CGI variables by reading them from the $_SERVER superglobal, which works whether or not you are using PHP as a NSAPI module.

반환값

Returns an associative array with all the HTTP headers.

예제

예 1509. nsapi_request_headers() example

<?php
$headers = nsapi_request_headers();

foreach ($headers as $header => $value) {
  echo "$header: $value <br />\n";
}
?>

이전 | 위로 | 다음
CIV. NSAPI-specific Functions | 처음으로 | nsapi_response_headers


nsapi_response_headers

(PHP 4 >= 4.3.3, PHP 5)

nsapi_response_headers -- Fetch all HTTP response headers

설명

array nsapi_response_headers ( void )

Gets all the NSAPI response headers.

반환값

Returns an associative array with all the NSAPI response headers.

참고

nsapi_request_headers()
headers_sent()

이전 | 위로 | 다음
nsapi_request_headers | 처음으로 | nsapi_virtual


nsapi_virtual

(PHP 4 >= 4.3.3, PHP 5)

nsapi_virtual -- Perform an NSAPI sub-request

설명

bool nsapi_virtual ( string $uri )

nsapi_virtual() is an NSAPI-specific function which is equivalent to <!--#include virtual...--> in SSI (.shtml files). It does an NSAPI sub-request. It is useful for including CGI scripts or .shtml files, or anything else that you'd parse through webserver.

To run the sub-request, all buffers are terminated and flushed to the browser, pending headers are sent too.

You cannot make recursive requests with this function to other PHP scripts. If you want to include PHP scripts, use include() or require().

참고: This function depends on a undocumented feature of the Netscape/iPlanet/Sun webservers. Use phpinfo() to determine if it is available. In the Unix environment it should always work, in Windows it depends on the name of a ns-httpdXX.dll file.

Read the note about subrequests in the NSAPI section (UNIX, Windows) if you experience this problem.

매개변수

uri

The URI of the script.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
nsapi_response_headers | 처음으로 | CV. Object Aggregation/Composition Functions


ODBC Functions (Unified)

이전 VI. 함수 레퍼런스 다음

CVIII. ODBC Functions (Unified)

소개

In addition to normal ODBC support, the Unified ODBC functions in PHP allow you to access several databases that have borrowed the semantics of the ODBC API to implement their own API. Instead of maintaining multiple database drivers that were all nearly identical, these drivers have been unified into a single set of ODBC functions.

The following databases are supported by the Unified ODBC functions: » Adabas D, » IBM DB2, » iODBC, » Solid, and » Sybase SQL Anywhere.

참고: With the exception of iODBC, there is no ODBC involved when connecting to the above databases. The functions that you use to speak natively to them just happen to share the same names and syntax as the ODBC functions. However, building PHP with iODBC support enables you to use any ODBC-compliant drivers with your PHP applications. More information on iODBC, is available at » www.iodbc.org with the alternative unixODBC available at » www.unixodbc.org.

요구 조건

To access any of the supported databases you need to have the required libraries installed.

설치

--with-adabas[=DIR]

Include Adabas D support. DIR is the Adabas base install directory, defaults to /usr/local.

--with-sapdb[=DIR]

Include SAP DB support. DIR is SAP DB base install directory, defaults to /usr/local.

--with-solid[=DIR]

Include Solid support. DIR is the Solid base install directory, defaults to /usr/local/solid.

--with-ibm-db2[=DIR]

Include IBM DB2 support. DIR is the DB2 base install directory, defaults to /home/db2inst1/sqllib.

--with-empress[=DIR]

Include Empress support. DIR is the Empress base install directory, defaults to $EMPRESSPATH. From PHP 4, this option only supports Empress Version 8.60 and above.

--with-empress-bcs[=DIR]

Include Empress Local Access support. DIR is the Empress base install directory, defaults to $EMPRESSPATH. From PHP 4, this option only supports Empress Version 8.60 and above.

--with-birdstep[=DIR]

Include Birdstep support. DIR is the Birdstep base install directory, defaults to /usr/local/birdstep.

--with-custom-odbc[=DIR]

Include a user defined ODBC support. The DIR is ODBC install base directory, which defaults to /usr/local. Make sure to define CUSTOM_ODBC_LIBS and have some odbc.h in your include dirs. E.g., you should define following for Sybase SQL Anywhere 5.5.00 on QNX, prior to run configure script: CPPFLAGS="-DODBC_QNX -DSQLANY_BUG" LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

Include iODBC support. DIR is the iODBC base install directory, defaults to /usr/local.

--with-esoob[=DIR]

Include Easysoft OOB support. DIR is the OOB base install directory, defaults to /usr/local/easysoft/oob/client.

--with-unixODBC[=DIR]

Include unixODBC support. DIR is the unixODBC base install directory, defaults to /usr/local.

--with-openlink[=DIR]

Include OpenLink ODBC support. DIR is the OpenLink base install directory, defaults to /usr/local. This is the same as iODBC.

--with-dbmaker[=DIR]

Include DBMaker support. DIR is the DBMaker base install directory, defaults to where the latest version of DBMaker is installed (such as /home/dbmaker/3.6).

To disable unified ODBC support in PHP 3 add --disable-unified-odbc to your configure line. Only applicable if iODBC, Adabas, Solid, Velocis or a custom ODBC interface is enabled.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 223. Unified ODBC Configuration Options

Name | Default | Changeable | Changelog
odbc.default_db * | NULL | PHP_INI_ALL |
odbc.default_user * | NULL | PHP_INI_ALL |
odbc.default_pw * | NULL | PHP_INI_ALL |
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.defaultbinmode | "1" | PHP_INI_ALL |

참고: Entries marked with * are not implemented yet.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

odbc.default_db string

ODBC data source to use if none is specified in odbc_connect() or odbc_pconnect().

odbc.default_user string

User name to use if none is specified in odbc_connect() or odbc_pconnect().

odbc.default_pw string

Password to use if none is specified in odbc_connect() or odbc_pconnect().

odbc.allow_persistent boolean

Whether to allow persistent ODBC connections.

odbc.check_persistent boolean

Check that a connection is still valid before reuse.

odbc.max_persistent integer

The maximum number of persistent ODBC connections per process.

odbc.max_links integer

The maximum number of ODBC connections per process, including persistent connections.

odbc.defaultlrl integer

Handling of LONG fields. Specifies the number of bytes returned to variables.

integer 형이 사용될 때, 바이트로 값을 측정합니다. FAQ에 설명된 단축어를 사용할 수도 있습니다.

odbc.defaultbinmode integer

Handling of binary data.

자원형

This extension defines two resource types: an ODBC connection identifier and an ODBC result identifier.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

ODBC_TYPE (integer)
ODBC_BINMODE_PASSTHRU (integer)
ODBC_BINMODE_RETURN (integer)
ODBC_BINMODE_CONVERT (integer)
SQL_ODBC_CURSORS (integer)
SQL_CUR_USE_DRIVER (integer)
SQL_CUR_USE_IF_NEEDED (integer)
SQL_CUR_USE_ODBC (integer)
SQL_CONCURRENCY (integer)
SQL_CONCUR_READ_ONLY (integer)
SQL_CONCUR_LOCK (integer)
SQL_CONCUR_ROWVER (integer)
SQL_CONCUR_VALUES (integer)
SQL_CURSOR_TYPE (integer)
SQL_CURSOR_FORWARD_ONLY (integer)
SQL_CURSOR_KEYSET_DRIVEN (integer)
SQL_CURSOR_DYNAMIC (integer)
SQL_CURSOR_STATIC (integer)
SQL_KEYSET_SIZE (integer)
SQL_CHAR (integer)
SQL_VARCHAR (integer)
SQL_LONGVARCHAR (integer)
SQL_DECIMAL (integer)
SQL_NUMERIC (integer)
SQL_BIT (integer)
SQL_TINYINT (integer)
SQL_SMALLINT (integer)
SQL_INTEGER (integer)
SQL_BIGINT (integer)
SQL_REAL (integer)
SQL_FLOAT (integer)
SQL_DOUBLE (integer)
SQL_BINARY (integer)
SQL_VARBINARY (integer)
SQL_LONGVARBINARY (integer)
SQL_DATE (integer)
SQL_TIME (integer)
SQL_TIMESTAMP (integer)
SQL_TYPE_DATE (integer)
SQL_TYPE_TIME (integer)
SQL_TYPE_TIMESTAMP (integer)
SQL_BEST_ROWID (integer)
SQL_ROWVER (integer)
SQL_SCOPE_CURROW (integer)
SQL_SCOPE_TRANSACTION (integer)
SQL_SCOPE_SESSION (integer)
SQL_NO_NULLS (integer)
SQL_NULLABLE (integer)
SQL_INDEX_UNIQUE (integer)
SQL_INDEX_ALL (integer)
SQL_ENSURE (integer)
SQL_QUICK (integer)

차례

odbc_autocommit -- Toggle autocommit behaviour
odbc_binmode -- Handling of binary column data
odbc_close_all -- Close all ODBC connections
odbc_close -- Close an ODBC connection
odbc_columnprivileges -- Returns a result identifier that can be used to fetch a list of columns and associated privileges
odbc_columns -- Lists the column names in specified tables
odbc_commit -- Commit an ODBC transaction
odbc_connect -- Connect to a datasource
odbc_cursor -- Get cursorname
odbc_data_source -- Returns information about a current connection
odbc_do -- Synonym for odbc_exec()
odbc_error -- Get the last error code
odbc_errormsg -- Get the last error message
odbc_exec -- Prepare and execute a SQL statement
odbc_execute -- Execute a prepared statement
odbc_fetch_array -- Fetch a result row as an associative array
odbc_fetch_into -- Fetch one result row into array
odbc_fetch_object -- Fetch a result row as an object
odbc_fetch_row -- Fetch a row
odbc_field_len -- Get the length (precision) of a field
odbc_field_name -- Get the columnname
odbc_field_num -- Return column number
odbc_field_precision -- Synonym for odbc_field_len()
odbc_field_scale -- Get the scale of a field
odbc_field_type -- Datatype of a field
odbc_foreignkeys -- Returns a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table
odbc_free_result -- Free resources associated with a result
odbc_gettypeinfo -- Returns a result identifier containing information about data types supported by the data source
odbc_longreadlen -- Handling of LONG columns
odbc_next_result -- Checks if multiple results are available
odbc_num_fields -- Number of columns in a result
odbc_num_rows -- Number of rows in a result
odbc_pconnect -- Open a persistent database connection
odbc_prepare -- Prepares a statement for execution
odbc_primarykeys -- Returns a result identifier that can be used to fetch the column names that comprise the primary key for a table
odbc_procedurecolumns -- Retrieve information about parameters to procedures
odbc_procedures -- Get the list of procedures stored in a specific data source
odbc_result_all -- Print result as HTML table
odbc_result -- Get result data
odbc_rollback -- Rollback a transaction
odbc_setoption -- Adjust ODBC settings
odbc_specialcolumns -- Returns either the optimal set of columns that uniquely identifies a row in the table or columns that are automatically updated when any value in the row is updated by a transaction
odbc_statistics -- Retrieve statistics about a table
odbc_tableprivileges -- Lists tables and the privileges associated with each table
odbc_tables -- Get the list of table names stored in a specific data source
이전 | 위로 | 다음
ociwritetemporarylob | 처음으로 | odbc_autocommit


odbc_autocommit

(PHP 4, PHP 5)

odbc_autocommit -- Toggle autocommit behaviour

Description

mixed odbc_autocommit ( resource $connection_id [, bool $OnOff] )

Without the OnOff parameter, this function returns auto-commit status for connection_id. Non-zero is returned if auto-commit is on, 0 if it is off, or FALSE if an error occurs.

If OnOff is TRUE, auto-commit is enabled, if it is FALSE auto-commit is disabled. Returns TRUE on success, FALSE on failure.

By default, auto-commit is on for a connection. Disabling auto-commit is equivalent with starting a transaction.

See also odbc_commit() and odbc_rollback().

이전 | 위로 | 다음
CVIII. ODBC Functions (Unified) | 처음으로 | odbc_binmode


odbc_binmode

(PHP 4, PHP 5)

odbc_binmode -- Handling of binary column data

Description

bool odbc_binmode ( resource $result_id, int $mode )

(ODBC SQL types affected: BINARY, VARBINARY, LONGVARBINARY)

  • ODBC_BINMODE_PASSTHRU: Passthru BINARY data
  • ODBC_BINMODE_RETURN: Return as is
  • ODBC_BINMODE_CONVERT: Convert to char and return

When binary SQL data is converted to character C data, each byte (8 bits) of source data is represented as two ASCII characters. These characters are the ASCII character representation of the number in its hexadecimal form. For example, a binary 00000001 is converted to "01" and a binary 11111111 is converted to "FF".

표 224. LONGVARBINARY handling

binmode | longreadlen | result
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_RETURN | 0 | passthru
ODBC_BINMODE_CONVERT | 0 | passthru
ODBC_BINMODE_PASSTHRU | 0 | passthru
ODBC_BINMODE_PASSTHRU | >0 | passthru
ODBC_BINMODE_RETURN | >0 | return as is
ODBC_BINMODE_CONVERT | >0 | return as char

If odbc_fetch_into() is used, passthru means that an empty string is returned for these columns.

If result_id is 0, the settings apply as default for new results.

참고: Default for longreadlen is 4096 and binmode defaults to ODBC_BINMODE_RETURN. Handling of binary long columns is also affected by odbc_longreadlen()

이전 | 위로 | 다음
odbc_autocommit | 처음으로 | odbc_close_all


odbc_close_all

(PHP 4, PHP 5)

odbc_close_all -- Close all ODBC connections

Description

void odbc_close_all ( void )

odbc_close_all() will close down all connections to database server(s).

참고: This function will fail if there are open transactions on a connection. This connection will remain open in this case.

이전 | 위로 | 다음
odbc_binmode | 처음으로 | odbc_close


odbc_close

(PHP 4, PHP 5)

odbc_close -- Close an ODBC connection

Description

void odbc_close ( resource $connection_id )

odbc_close() will close down the connection to the database server associated with the given connection identifier.

참고: This function will fail if there are open transactions on this connection. The connection will remain open in this case.

이전 | 위로 | 다음
odbc_close_all | 처음으로 | odbc_columnprivileges


odbc_columnprivileges

(PHP 4, PHP 5)

odbc_columnprivileges -- Returns a result identifier that can be used to fetch a list of columns and associated privileges

Description

resource odbc_columnprivileges ( resource $connection_id, string $qualifier, string $owner, string $table_name, string $column_name )

Lists columns and associated privileges for the given table. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

The column_name argument accepts search patterns ('%' to match zero or more characters and '_' to match a single character).

이전 | 위로 | 다음
odbc_close | 처음으로 | odbc_columns


odbc_columns

(PHP 4, PHP 5)

odbc_columns -- Lists the column names in specified tables

Description

resource odbc_columns ( resource $connection_id [, string $qualifier [, string $schema [, string $table_name [, string $column_name]]]] )

Lists all columns in the requested range. Returns an ODBC result identifier containing the information or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

The result set is ordered by TABLE_QUALIFIER, TABLE_SCHEM and TABLE_NAME.

The schema, table_name and column_name arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

See also odbc_columnprivileges() to retrieve associated privileges.

이전 | 위로 | 다음
odbc_columnprivileges | 처음으로 | odbc_commit


odbc_commit

(PHP 4, PHP 5)

odbc_commit -- Commit an ODBC transaction

Description

bool odbc_commit ( resource $connection_id )

odbc_commit() commits all pending transactions on the connection_id connection. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
odbc_columns | 처음으로 | odbc_connect


odbc_connect

(PHP 4, PHP 5)

odbc_connect -- Connect to a datasource

Description

resource odbc_connect ( string $dsn, string $user, string $password [, int $cursor_type] )

Returns an ODBC connection id or 0 (FALSE) on error.

The connection id returned by this functions is needed by other ODBC functions. You can have multiple connections open at once as long as they either use different db or different credentials. The optional fourth parameter sets the type of cursor to be used for this connection. This parameter is not normally needed, but can be useful for working around problems with some ODBC drivers.

With some ODBC drivers, executing a complex stored procedure may fail with an error similar to: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it". Using SQL_CUR_USE_ODBC may avoid that error. Also, some drivers don't support the optional row_number parameter in odbc_fetch_row(). SQL_CUR_USE_ODBC might help in that case, too.

The following constants are defined for cursortype:

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER
  • SQL_CUR_DEFAULT

For persistent connections see odbc_pconnect().

이전 | 위로 | 다음
odbc_commit | 처음으로 | odbc_cursor


odbc_cursor

(PHP 4, PHP 5)

odbc_cursor -- Get cursorname

Description

string odbc_cursor ( resource $result_id )

odbc_cursor will return a cursorname for the given result_id.

이전 | 위로 | 다음
odbc_connect | 처음으로 | odbc_data_source


odbc_data_source

(PHP 4 >= 4.3.0, PHP 5)

odbc_data_source -- Returns information about a current connection

Description

array odbc_data_source ( resource $connection_id, int $fetch_type )

Returns FALSE on error, and an array upon success.

This function will return the list of available DNS (after calling it several times). The connection_id is required to be a valid ODBC connection. The fetch_type can be one of two constant types: SQL_FETCH_FIRST, SQL_FETCH_NEXT. Use SQL_FETCH_FIRST the first time this function is called, thereafter use the SQL_FETCH_NEXT.

이전 | 위로 | 다음
odbc_cursor | 처음으로 | odbc_do


odbc_do

(PHP 4, PHP 5)

odbc_do -- Synonym for odbc_exec()

Description

resource odbc_do ( resource $conn_id, string $query )

odbc_do() will execute a query on the given connection.

이전 | 위로 | 다음
odbc_data_source | 처음으로 | odbc_error


odbc_error

(PHP 4 >= 4.0.5, PHP 5)

odbc_error -- Get the last error code

Description

string odbc_error ( [resource $connection_id] )

Returns a six-digit ODBC state, or an empty string if there has been no errors. If connection_id is specified, the last state of that connection is returned, else the last state of any connection is returned.

This function returns meaningful value only if last odbc query failed (i.e. odbc_exec() returned FALSE).

See also: odbc_errormsg() and odbc_exec().

이전 | 위로 | 다음
odbc_do | 처음으로 | odbc_errormsg


odbc_errormsg

(PHP 4 >= 4.0.5, PHP 5)

odbc_errormsg -- Get the last error message

Description

string odbc_errormsg ( [resource $connection_id] )

Returns a string containing the last ODBC error message, or an empty string if there has been no errors. If connection_id is specified, the last state of that connection is returned, else the last state of any connection is returned.

This function returns meaningful value only if last odbc query failed (i.e. odbc_exec() returned FALSE).

See also: odbc_error() and odbc_exec().

이전 | 위로 | 다음
odbc_error | 처음으로 | odbc_exec


odbc_exec

(PHP 4, PHP 5)

odbc_exec -- Prepare and execute a SQL statement

Description

resource odbc_exec ( resource $connection_id, string $query_string [, int $flags] )

Returns FALSE on error. Returns an ODBC result identifier if the SQL command was executed successfully.

odbc_exec() will send an SQL statement to the database server specified by connection_id. This parameter must be a valid identifier returned by odbc_connect() or odbc_pconnect().

See also: odbc_prepare() and odbc_execute() for multiple execution of SQL statements.

이전 | 위로 | 다음
odbc_errormsg | 처음으로 | odbc_execute


odbc_execute

(PHP 4, PHP 5)

odbc_execute -- Execute a prepared statement

Description

bool odbc_execute ( resource $result_id [, array $parameters_array] )

Executes a statement prepared with odbc_prepare().성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. The array parameters_array only needs to be given if you really have parameters in your statement.

Parameters in parameter_array will be substituted for placeholders in the prepared statement in order. Elements of this array will be converted to strings by calling this function.

Any parameters in parameter_array which start and end with single quotes will be taken as the name of a file to read and send to the database server as the data for the appropriate placeholder.

참고: As of PHP 4.1.1, this file reading functionality has the following restrictions:

  • File reading is not subject to any 안전 모드 or open-basedir restrictions. This is fixed in PHP 4.2.0.
  • Remote files are not supported.
  • If you wish to store a string which actually begins and ends with single quotes, you must add a space or other non-single-quote character to the beginning or end of the parameter, which will prevent the parameter from being taken as a file name. If this is not an option, then you must use another mechanism to store the string, such as executing the query directly with odbc_exec()).

이전 | 위로 | 다음
odbc_exec | 처음으로 | odbc_fetch_array


odbc_fetch_array

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_array -- Fetch a result row as an associative array

설명

array odbc_fetch_array ( resource $result [, int $rownumber] )

Fetch an associative array from an ODBC query. See the changelog below for when this function is available.

매개변수

result

The result resource from odbc_exec().

rownumber

Optionally choose which row number to retrieve.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

변경 기록

버전 | 설명
4.3.3 | This function exists when compiled with IBM DB2 or UnixODBC support.
4.3.2 | This function exists when compiled for Windows.
4.0.2 | This function exists when compiled with DBMaker support.

참고

odbc_fetch_row()
odbc_fetch_object()
odbc_num_rows()

이전 | 위로 | 다음
odbc_execute | 처음으로 | odbc_fetch_into


odbc_fetch_into

(PHP 4, PHP 5)

odbc_fetch_into -- Fetch one result row into array

Description

int odbc_fetch_into ( resource $result_id, array &$result_array [, int $rownumber] )
bool odbc_fetch_into ( resource $result_id [, int $rownumber, array &$result_array] )

Returns the number of columns in the result; FALSE on error. result_array must be passed by reference, but it can be of any type since it will be converted to type array. The array will contain the column values starting at array index 0.

As of PHP 4.0.5 the result_array does not need to be passed by reference any longer.

As of PHP 4.0.6 the rownumber cannot be passed as a constant, but rather as a variable.

As of PHP 4.2.0 the result_array and rownumber have been swapped. This allows the rownumber to be a constant again. This change will also be the last one to this function.

예 1562. odbc_fetch_into() pre 4.0.6 example

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

or

<?php
$rc = odbc_fetch_into($res_id, $row, $my_array);

$rc = odbc_fetch_into($res_id, 1, $my_array);
?>

예 1563. odbc_fetch_into() 4.0.6 example

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

or

<?php
$row = 1;
$rc = odbc_fetch_into($res_id, $row, $my_array);
?>

예 1564. odbc_fetch_into() 4.2.0 example

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

or

<?php
$rc = odbc_fetch_into($res_id, $my_array, 2);
?>

이전 | 위로 | 다음
odbc_fetch_array | 처음으로 | odbc_fetch_object


odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5)

odbc_fetch_object -- Fetch a result row as an object

설명

object odbc_fetch_object ( resource $result [, int $rownumber] )

Fetch an object from an ODBC query. See the changelog below for when this function is available.

매개변수

result

The result resource from odbc_exec().

rownumber

Optionally choose which row number to retrieve.

반환값

Returns an object that corresponds to the fetched row, or FALSE if there are no more rows.

변경 기록

버전 | 설명
4.3.3 | This function exists when compiled with IBM DB2 or UnixODBC support.
4.3.2 | This function exists when compiled for Windows.
4.0.2 | This function exists when compiled with DBMaker support.

참고

odbc_fetch_row()
odbc_fetch_array()
odbc_num_rows()

이전 | 위로 | 다음
odbc_fetch_into | 처음으로 | odbc_fetch_row


odbc_fetch_row

(PHP 4, PHP 5)

odbc_fetch_row -- Fetch a row

Description

bool odbc_fetch_row ( resource $result_id [, int $row_number] )

If odbc_fetch_row() was successful (there was a row), TRUE is returned. If there are no more rows, FALSE is returned.

odbc_fetch_row() fetches a row of the data that was returned by odbc_do() / odbc_exec(). After odbc_fetch_row() is called, the fields of that row can be accessed with odbc_result().

If row_number is not specified, odbc_fetch_row() will try to fetch the next row in the result set. Calls to odbc_fetch_row() with and without row_number can be mixed.

To step through the result more than once, you can call odbc_fetch_row() with row_number 1, and then continue doing odbc_fetch_row() without row_number to review the result. If a driver doesn't support fetching rows by number, the row_number parameter is ignored.

이전 | 위로 | 다음
odbc_fetch_object | 처음으로 | odbc_field_len


odbc_field_len

(PHP 4, PHP 5)

odbc_field_len -- Get the length (precision) of a field

Description

int odbc_field_len ( resource $result_id, int $field_number )

odbc_field_len() will return the length of the field referenced by number in the given ODBC result identifier. Field numbering starts at 1.

See also: odbc_field_scale() to get the scale of a floating point number.

이전 | 위로 | 다음
odbc_fetch_row | 처음으로 | odbc_field_name


odbc_field_name

(PHP 4, PHP 5)

odbc_field_name -- Get the columnname

Description

string odbc_field_name ( resource $result_id, int $field_number )

odbc_field_name() will return the name of the field occupying the given column number in the given ODBC result identifier. Field numbering starts at 1. FALSE is returned on error.

이전 | 위로 | 다음
odbc_field_len | 처음으로 | odbc_field_num


odbc_field_num

(PHP 4, PHP 5)

odbc_field_num -- Return column number

Description

int odbc_field_num ( resource $result_id, string $field_name )

odbc_field_num() will return the number of the column slot that corresponds to the named field in the given ODBC result identifier. Field numbering starts at 1. FALSE is returned on error.

이전 | 위로 | 다음
odbc_field_name | 처음으로 | odbc_field_precision


odbc_field_precision

(PHP 4, PHP 5)

odbc_field_precision -- Synonym for odbc_field_len()

Description

int odbc_field_precision ( resource $result_id, int $field_number )

odbc_field_precision() will return the precision of the field referenced by number in the given ODBC result identifier.

See also: odbc_field_scale() to get the scale of a floating point number.

이전 | 위로 | 다음
odbc_field_num | 처음으로 | odbc_field_scale


odbc_field_scale

(PHP 4, PHP 5)

odbc_field_scale -- Get the scale of a field

Description

int odbc_field_scale ( resource $result_id, int $field_number )

odbc_field_scale() will return the scale of the field referenced by number in the given ODBC result identifier.

이전 | 위로 | 다음
odbc_field_precision | 처음으로 | odbc_field_type


odbc_field_type

(PHP 4, PHP 5)

odbc_field_type -- Datatype of a field

Description

string odbc_field_type ( resource $result_id, int $field_number )

odbc_field_type() will return the SQL type of the field referenced by number in the given ODBC result identifier. Field numbering starts at 1.

이전 | 위로 | 다음
odbc_field_scale | 처음으로 | odbc_foreignkeys


odbc_foreignkeys

(PHP 4, PHP 5)

odbc_foreignkeys -- Returns a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table

Description

resource odbc_foreignkeys ( resource $connection_id, string $pk_qualifier, string $pk_owner, string $pk_table, string $fk_qualifier, string $fk_owner, string $fk_table )

odbc_foreignkeys() retrieves information about foreign keys. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • PKTABLE_QUALIFIER
  • PKTABLE_OWNER
  • PKTABLE_NAME
  • PKCOLUMN_NAME
  • FKTABLE_QUALIFIER
  • FKTABLE_OWNER
  • FKTABLE_NAME
  • FKCOLUMN_NAME
  • KEY_SEQ
  • UPDATE_RULE
  • DELETE_RULE
  • FK_NAME
  • PK_NAME

If pk_table contains a table name, odbc_foreignkeys() returns a result set containing the primary key of the specified table and all of the foreign keys that refer to it.

If fk_table contains a table name, odbc_foreignkeys() returns a result set containing all of the foreign keys in the specified table and the primary keys (in other tables) to which they refer.

If both pk_table and fk_table contain table names, odbc_foreignkeys() returns the foreign keys in the table specified in fk_table that refer to the primary key of the table specified in pk_table. This should be one key at most.

이전 | 위로 | 다음
odbc_field_type | 처음으로 | odbc_free_result


odbc_free_result

(PHP 4, PHP 5)

odbc_free_result -- Free resources associated with a result

Description

bool odbc_free_result ( resource $result_id )

Always returns TRUE.

odbc_free_result() only needs to be called if you are worried about using too much memory while your script is running. All result memory will automatically be freed when the script is finished. But, if you are sure you are not going to need the result data anymore in a script, you may call odbc_free_result(), and the memory associated with result_id will be freed.

참고: If auto-commit is disabled (see odbc_autocommit()) and you call odbc_free_result() before committing, all pending transactions are rolled back.

이전 | 위로 | 다음
odbc_foreignkeys | 처음으로 | odbc_gettypeinfo


odbc_gettypeinfo

(PHP 4, PHP 5)

odbc_gettypeinfo -- Returns a result identifier containing information about data types supported by the data source

Description

resource odbc_gettypeinfo ( resource $connection_id [, int $data_type] )

Retrieves information about data types supported by the data source. Returns an ODBC result identifier or FALSE on failure. The optional argument data_type can be used to restrict the information to a single data type.

The result set has the following columns:

  • TYPE_NAME
  • DATA_TYPE
  • PRECISION
  • LITERAL_PREFIX
  • LITERAL_SUFFIX
  • CREATE_PARAMS
  • NULLABLE
  • CASE_SENSITIVE
  • SEARCHABLE
  • UNSIGNED_ATTRIBUTE
  • MONEY
  • AUTO_INCREMENT
  • LOCAL_TYPE_NAME
  • MINIMUM_SCALE
  • MAXIMUM_SCALE

The result set is ordered by DATA_TYPE and TYPE_NAME.

이전 | 위로 | 다음
odbc_free_result | 처음으로 | odbc_longreadlen


odbc_longreadlen

(PHP 4, PHP 5)

odbc_longreadlen -- Handling of LONG columns

Description

bool odbc_longreadlen ( resource $result_id, int $length )

(ODBC SQL types affected: LONG, LONGVARBINARY) The number of bytes returned to PHP is controlled by the parameter length. If it is set to 0, Long column data is passed through to the client.

참고: Handling of LONGVARBINARY columns is also affected by odbc_binmode().

이전 | 위로 | 다음
odbc_gettypeinfo | 처음으로 | odbc_next_result


odbc_next_result

(PHP 4 >= 4.0.5, PHP 5)

odbc_next_result -- Checks if multiple results are available

Description

bool odbc_next_result ( resource $result_id )

odbc_next_result() returns TRUE if there are more result sets available as well as allowing access to the next result set via odbc_fetch_array(), odbc_fetch_row(), odbc_result(), etc.

This function returns FALSE on error.

The argument is a valid result identifier returned by odbc_exec().

예 1565. odbc_next_result()

<?php
$r_Connection = odbc_connect($dsn, $username, $password);

$s_SQL = <<<END_SQL
SELECT 'A'
SELECT 'B'
SELECT 'C'
END_SQL;

$r_Results = odbc_exec($r_Connection, $s_SQL);

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump first result set";
var_dump($a_Row1, $a_Row2);

echo "Get second results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump second result set ";
var_dump($a_Row1, $a_Row2);

echo "Get third results set ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Dump third result set ";
var_dump($a_Row1, $a_Row2);

echo "Try for a fourth result set ";
var_dump(odbc_next_result($r_Results));
?>

위 예제의 출력:

Dump first result set array(1) {
  ["A"]=>
  string(1) "A"
}
bool(false)
Get second results set bool(true)
Dump second result set array(1) {
  ["B"]=>
  string(1) "B"
}
bool(false)
Get third results set bool(true)
Dump third result set array(1) {
  ["C"]=>
  string(1) "C"
}
bool(false)
Try for a fourth result set bool(false)

이전 | 위로 | 다음
odbc_longreadlen | 처음으로 | odbc_num_fields


odbc_num_fields

(PHP 4, PHP 5)

odbc_num_fields -- Number of columns in a result

Description

int odbc_num_fields ( resource $result_id )

odbc_num_fields() will return the number of fields (columns) in an ODBC result. This function will return -1 on error. The argument is a valid result identifier returned by odbc_exec().

이전 | 위로 | 다음
odbc_next_result | 처음으로 | odbc_num_rows


odbc_num_rows

(PHP 4, PHP 5)

odbc_num_rows -- Number of rows in a result

Description

int odbc_num_rows ( resource $result_id )

odbc_num_rows() will return the number of rows in an ODBC result. This function will return -1 on error. For INSERT, UPDATE and DELETE statements odbc_num_rows() returns the number of rows affected. For a SELECT clause this can be the number of rows available.

Note: Using odbc_num_rows() to determine the number of rows available after a SELECT will return -1 with many drivers.

이전 | 위로 | 다음
odbc_num_fields | 처음으로 | odbc_pconnect


odbc_pconnect

(PHP 4, PHP 5)

odbc_pconnect -- Open a persistent database connection

Description

resource odbc_pconnect ( string $dsn, string $user, string $password [, int $cursor_type] )

Returns an ODBC connection id or 0 (FALSE) on error. This function is much like odbc_connect(), except that the connection is not really closed when the script has finished. Future requests for a connection with the same dsn, user, password combination (via odbc_connect() and odbc_pconnect()) can reuse the persistent connection.

참고: Persistent connections have no effect if PHP is used as a CGI program.

For information about the optional cursor_type parameter see the odbc_connect() function. For more information on persistent connections, refer to the PHP FAQ.

이전 | 위로 | 다음
odbc_num_rows | 처음으로 | odbc_prepare


odbc_prepare

(PHP 4, PHP 5)

odbc_prepare -- Prepares a statement for execution

Description

resource odbc_prepare ( resource $connection_id, string $query_string )

Returns FALSE on error.

Returns an ODBC result identifier if the SQL command was prepared successfully. The result identifier can be used later to execute the statement with odbc_execute().

Some databases (such as IBM DB2, MS SQL Server, and Oracle) support stored procedures that accept parameters of type IN, INOUT, and OUT as defined by the ODBC specification. However, the Unified ODBC driver currently only supports parameters of type IN to stored procedures.

In the following code, $res will only be valid if all three parameters to myproc are IN parameters: <?php
$a = 1;
$b = 2;
$c = 3;
$stmt = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$res = odbc_execute($stmt, array($a, $b, $c));
?> If you need to call a stored procedure using INOUT or OUT parameters, the recommended workaround is to use a native extension for your database (for example, mssql for MS SQL Server, or oci8 for Oracle).

이전 | 위로 | 다음
odbc_pconnect | 처음으로 | odbc_primarykeys


odbc_primarykeys

(PHP 4, PHP 5)

odbc_primarykeys -- Returns a result identifier that can be used to fetch the column names that comprise the primary key for a table

Description

resource odbc_primarykeys ( resource $connection_id, string $qualifier, string $owner, string $table )

Returns the column names that comprise the primary key for a table. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • COLUMN_NAME
  • KEY_SEQ
  • PK_NAME

이전 | 위로 | 다음
odbc_prepare | 처음으로 | odbc_procedurecolumns


odbc_procedurecolumns

(PHP 4, PHP 5)

odbc_procedurecolumns -- Retrieve information about parameters to procedures

Description

resource odbc_procedurecolumns ( resource $connection_id [, string $qualifier, string $owner, string $proc, string $column] )

Returns the list of input and output parameters, as well as the columns that make up the result set for the specified procedures. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • COLUMN_NAME
  • COLUMN_TYPE
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • RADIX
  • NULLABLE
  • REMARKS

The result set is ordered by PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME and COLUMN_TYPE.

The owner, proc and column arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

이전 | 위로 | 다음
odbc_primarykeys | 처음으로 | odbc_procedures


odbc_procedures

(PHP 4, PHP 5)

odbc_procedures -- Get the list of procedures stored in a specific data source

Description

resource odbc_procedures ( resource $connection_id [, string $qualifier, string $owner, string $name] )

Lists all procedures in the requested range. Returns an ODBC result identifier containing the information or FALSE on failure.

The result set has the following columns:

  • PROCEDURE_QUALIFIER
  • PROCEDURE_OWNER
  • PROCEDURE_NAME
  • NUM_INPUT_PARAMS
  • NUM_OUTPUT_PARAMS
  • NUM_RESULT_SETS
  • REMARKS
  • PROCEDURE_TYPE

The owner and name arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

이전 | 위로 | 다음
odbc_procedurecolumns | 처음으로 | odbc_result_all


odbc_result_all

(PHP 4, PHP 5)

odbc_result_all -- Print result as HTML table

Description

int odbc_result_all ( resource $result_id [, string $format] )

Returns the number of rows in the result or FALSE on error.

odbc_result_all() will print all rows from a result identifier produced by odbc_exec(). The result is printed in HTML table format. With the optional string argument format, additional overall table formatting can be done.

이전 | 위로 | 다음
odbc_procedures | 처음으로 | odbc_result


odbc_result

(PHP 4, PHP 5)

odbc_result -- Get result data

Description

mixed odbc_result ( resource $result_id, mixed $field )

Returns the string contents of the field, FALSE on error, NULL for NULL data, or TRUE for binary data.

field can either be an integer containing the column number of the field you want; or it can be a string containing the name of the field. For example:

<?php
$item_3 = odbc_result($Query_ID, 3);
$item_val = odbc_result($Query_ID, "val");
?>

The first call to odbc_result() returns the value of the third field in the current record of the query result. The second function call to odbc_result() returns the value of the field whose field name is "val" in the current record of the query result. An error occurs if a column number parameter for a field is less than one or exceeds the number of columns (or fields) in the current record. Similarly, an error occurs if a field with a name that is not one of the fieldnames of the table(s) that is(are) being queried.

Field indices start from 1. Regarding the way binary or long column data is returned refer to odbc_binmode() and odbc_longreadlen().

이전 | 위로 | 다음
odbc_result_all | 처음으로 | odbc_rollback


odbc_rollback

(PHP 4, PHP 5)

odbc_rollback -- Rollback a transaction

Description

bool odbc_rollback ( resource $connection_id )

Rolls back all pending statements on connection_id. Returns TRUE on success, FALSE on failure.

이전 | 위로 | 다음
odbc_result | 처음으로 | odbc_setoption


odbc_setoption

(PHP 4, PHP 5)

odbc_setoption -- Adjust ODBC settings

Description

bool odbc_setoption ( resource $id, int $function, int $option, int $param )

This function allows fiddling with the ODBC options for a particular connection or query result. It was written to help find work around to problems in quirky ODBC drivers. You should probably only use this function if you are an ODBC programmer and understand the effects the various options will have. You will certainly need a good ODBC reference to explain all the different options and values that can be used. Different driver versions support different options.

Because the effects may vary depending on the ODBC driver, use of this function in scripts to be made publicly available is strongly discouraged. Also, some ODBC options are not available to this function because they must be set before the connection is established or the query is prepared. However, if on a particular job it can make PHP work so your boss doesn't tell you to use a commercial product, that's all that really matters.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

id is a connection id or result id on which to change the settings.For SQLSetConnectOption(), this is a connection id. For SQLSetStmtOption(), this is a result id.

Function is the ODBC function to use. The value should be 1 for SQLSetConnectOption() and 2 for SQLSetStmtOption().

Parameter option is the option to set.

Parameter param is the value for the given option.

예 1566. ODBC Setoption Examples

<?php
// 1. Option 102 of SQLSetConnectOption() is SQL_AUTOCOMMIT.
//    Value 1 of SQL_AUTOCOMMIT is SQL_AUTOCOMMIT_ON.
//    This example has the same effect as
//    odbc_autocommit($conn, true);

odbc_setoption($conn, 1, 102, 1);

// 2. Option 0 of SQLSetStmtOption() is SQL_QUERY_TIMEOUT.
//    This example sets the query to timeout after 30 seconds.

$result = odbc_prepare($conn, $sql);
odbc_setoption($result, 2, 0, 30);
odbc_execute($result);
?>

이전 | 위로 | 다음
odbc_rollback | 처음으로 | odbc_specialcolumns


odbc_specialcolumns

(PHP 4, PHP 5)

odbc_specialcolumns -- Returns either the optimal set of columns that uniquely identifies a row in the table or columns that are automatically updated when any value in the row is updated by a transaction

Description

resource odbc_specialcolumns ( resource $connection_id, int $type, string $qualifier, string $owner, string $table, int $scope, int $nullable )

When the type argument is SQL_BEST_ROWID, odbc_specialcolumns() returns the column or columns that uniquely identify each row in the table.

When the type argument is SQL_ROWVER, odbc_specialcolumns() returns the column or columns in the specified table, if any, that are automatically updated by the data source when any value in the row is updated by any transaction.

Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • SCOPE
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • PRECISION
  • LENGTH
  • SCALE
  • PSEUDO_COLUMN

The result set is ordered by SCOPE.

이전 | 위로 | 다음
odbc_setoption | 처음으로 | odbc_statistics


odbc_statistics

(PHP 4, PHP 5)

odbc_statistics -- Retrieve statistics about a table

Description

resource odbc_statistics ( resource $connection_id, string $qualifier, string $owner, string $table_name, int $unique, int $accuracy )

Get statistics about a table and its indexes. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • NON_UNIQUE
  • INDEX_QUALIFIER
  • INDEX_NAME
  • TYPE
  • SEQ_IN_INDEX
  • COLUMN_NAME
  • COLLATION
  • CARDINALITY
  • PAGES
  • FILTER_CONDITION

The result set is ordered by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME and SEQ_IN_INDEX.

이전 | 위로 | 다음
odbc_specialcolumns | 처음으로 | odbc_tableprivileges


odbc_tableprivileges

(PHP 4, PHP 5)

odbc_tableprivileges -- Lists tables and the privileges associated with each table

Description

resource odbc_tableprivileges ( resource $connection_id, string $qualifier, string $owner, string $name )

Lists tables in the requested range and the privileges associated with each table. Returns an ODBC result identifier or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE

The result set is ordered by TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

The owner and name arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

이전 | 위로 | 다음
odbc_statistics | 처음으로 | odbc_tables


odbc_tables

(PHP 4, PHP 5)

odbc_tables -- Get the list of table names stored in a specific data source

Description

resource odbc_tables ( resource $connection_id [, string $qualifier [, string $owner [, string $name [, string $types]]]] )

Lists all tables in the requested range. Returns an ODBC result identifier containing the information or FALSE on failure.

The result set has the following columns:

  • TABLE_QUALIFIER
  • TABLE_OWNER
  • TABLE_NAME
  • TABLE_TYPE
  • REMARKS

The result set is ordered by TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER and TABLE_NAME.

The owner and name arguments accept search patterns ('%' to match zero or more characters and '_' to match a single character).

To support enumeration of qualifiers, owners, and table types, the following special semantics for the qualifier, owner, name, and table_type are available:

  • If qualifier is a single percent character (%) and owner and name are empty strings, then the result set contains a list of valid qualifiers for the data source. (All columns except the TABLE_QUALIFIER column contain NULLs.)
  • If owner is a single percent character (%) and qualifier and name are empty strings, then the result set contains a list of valid owners for the data source. (All columns except the TABLE_OWNER column contain NULLs.)
  • If table_type is a single percent character (%) and qualifier, owner and name are empty strings, then the result set contains a list of valid table types for the data source. (All columns except the TABLE_TYPE column contain NULLs.)

If table_type is not an empty string, it must contain a list of comma-separated values for the types of interest; each value may be enclosed in single quotes (') or unquoted. For example, "'TABLE','VIEW'" or "TABLE, VIEW". If the data source does not support a specified table type, odbc_tables() does not return any results for that type.

See also odbc_tableprivileges() to retrieve associated privileges.

이전 | 위로 | 다음
odbc_tableprivileges | 처음으로 | CIX. ODBC and DB2 Functions (PDO_ODBC)


Object Aggregation/Composition Functions

이전 VI. 함수 레퍼런스 다음

CV. Object Aggregation/Composition Functions

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

소개

In Object Oriented Programming, it is common to see the composition of simple classes (and/or instances) into a more complex one. This is a flexible strategy for building complicated objects and object hierarchies and can function as a dynamic alternative to multiple inheritance. There are two ways to perform class (and/or object) composition depending on the relationship between the composed elements: Association and Aggregation.

An Association is a composition of independently constructed and externally visible parts. When we associate classes or objects, each one keeps a reference to the ones it is associated with. When we associate classes statically, one class will contain a reference to an instance of the other class. For example:

예 1510. Class association

<?php
class DateTime {

   function DateTime()
   {
       // empty constructor
   }

   function now()
   {
       return date("Y-m-d H:i:s");
   }
}

class Report {
   var $_dt;
   // more properties ...

   function Report()
   {
       $this->_dt = new DateTime();
       // initialization code ...
   }

   function generateReport()
   {
       $dateTime = $this->_dt->now();
       // more code ...
   }

   // more methods ...
}

$rep = new Report();
?>

We can also associate instances at runtime by passing a reference in a constructor (or any other method), which allow us to dynamically change the association relationship between objects. We will modify the example above to illustrate this point:

예 1511. Object association

<?php
class DateTime {
   // same as previous example
}

class DateTimePlus {
   var $_format;

   function DateTimePlus($format="Y-m-d H:i:s")
   {
       $this->_format = $format;
   }

   function now()
   {
       return date($this->_format);
   }
}

class Report {
   var $_dt;    // we'll keep the reference to DateTime here
   // more properties ...

   function Report()
   {
       // do some initialization
   }

   function setDateTime(&$dt)
   {
       $this->_dt =& $dt;
   }

   function generateReport()
   {
       $dateTime = $this->_dt->now();
       // more code ...
   }

   // more methods ...
}

$rep = new Report();
$dt = new DateTime();
$dtp = new DateTimePlus("l, F j, Y (h:i:s a, T)");

// generate report with simple date for web display
$rep->setDateTime(&$dt);
echo $rep->generateReport();

// later on in the code ...

// generate report with fancy date
$rep->setDateTime(&$dtp);
$output = $rep->generateReport();
// save $output in database
// ... etc ...
?>

Aggregation, on the other hand, implies encapsulation (hidding) of the parts of the composition. We can aggregate classes by using a (static) inner class (PHP does not yet support inner classes), in this case the aggregated class definition is not accessible, except through the class that contains it. The aggregation of instances (object aggregation) involves the dynamic creation of subobjects inside an object, in the process, expanding the properties and methods of that object.

Object aggregation is a natural way of representing a whole-part relationship, (for example, molecules are aggregates of atoms), or can be used to obtain an effect equivalent to multiple inheritance, without having to permanently bind a subclass to two or more parent classes and their interfaces. In fact object aggregation can be more flexible, in which we can select what methods or properties to "inherit" in the aggregated object.

예제

We define 3 classes, each implementing a different storage method:

예 1512. storage_classes.inc

<?php
class FileStorage {
    var $data;

    function FileStorage($data)
    {
        $this->data = $data;
    }

    function write($name)
    {
        $fp = fopen(name, "w");
        fwrite($fp, $this->data);
        fclose($data);
    }
}

class WDDXStorage {
    var $data;
    var $version = "1.0";
    var $_id; // "private" variable

    function WDDXStorage($data)
    {
        $this->data = $data;
        $this->_id = $this->_genID();
    }

    function store()
    {
        if ($this->_id) {
            $pid = wddx_packet_start($this->_id);
            wddx_add_vars($pid, "this->data");
            $packet = wddx_packet_end($pid);
        } else {
            $packet = wddx_serialize_value($this->data);
        }
        $dbh = dba_open("varstore", "w", "gdbm");
        dba_insert(md5(uniqid("", true)), $packet, $dbh);
        dba_close($dbh);
    }

    // a private method
    function _genID()
    {
        return md5(uniqid(rand(), true));
    }
}

class DBStorage {
    var $data;
    var $dbtype = "mysql";

    function DBStorage($data)
    {
        $this->data = $data;
    }

    function save()
    {
        $dbh = mysql_connect();
        mysql_select_db("storage", $dbh);
        $serdata = serialize($this->data);
        mysql_query("insert into vars ('$serdata',now())", $dbh);
        mysql_close($dbh);
    }
}

?>

We then instantiate a couple of objects from the defined classes, and perform some aggregations and deaggregations, printing some object information along the way:

예 1513. test_aggregation.php

<?php
include "storageclasses.inc";

// some utilty functions

function p_arr($arr)
{
    foreach ($arr as $k => $v)
        $out[] = "\t$k => $v";
    return implode("\n", $out);
}

function object_info($obj)
{
    $out[] = "Class: " . get_class($obj);
    foreach (get_object_vars($obj) as $var=>$val) {
        if (is_array($val)) {
            $out[] = "property: $var (array)\n" . p_arr($val);
        } else {
            $out[] = "property: $var = $val";
        }
    }
    foreach (get_class_methods($obj) as $method) {
        $out[] = "method: $method";
    }
    return implode("\n", $out);
}

$data = array(M_PI, "kludge != cruft");

// we create some basic objects
$fs = new FileStorage($data);
$ws = new WDDXStorage($data);

// print information on the objects
echo "\$fs object\n";
echo object_info($fs) . "\n";
echo "\n\$ws object\n";
echo object_info($ws) . "\n";

// do some aggregation

echo "\nLet's aggregate \$fs to the WDDXStorage class\n";
aggregate($fs, "WDDXStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

echo "\nNow let us aggregate it to the DBStorage class\n";
aggregate($fs, "DBStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

echo "\nAnd finally deaggregate WDDXStorage\n";
deaggregate($fs, "WDDXStorage");
echo "\$fs object\n";
echo object_info($fs) . "\n";

?>

We will now consider the output to understand some of the side-effects and limitation of object aggregation in PHP. First, the newly created $fs and $ws objects give the expected output (according to their respective class declaration). Note that for the purposes of object aggregation, private elements of a class/object begin with an underscore character ("_"), even though there is not real distinction between public and private class/object elements in PHP.

$fs object
Class: filestorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
method: filestorage
method: write

$ws object
Class: wddxstorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
property: version = 1.0
property: _id = ID::9bb2b640764d4370eb04808af8b076a5
method: wddxstorage
method: store
method: _genid

We then aggregate $fs with the WDDXStorage class, and print out the object information. We can see now that even though nominally the $fs object is still of FileStorage, it now has the property $version, and the method store(), both defined in WDDXStorage. One important thing to note is that it has not aggregated the private elements defined in the class, which are present in the $ws object. Also absent is the constructor from WDDXStorage, which will not be logical to aggegate.

Let's aggregate $fs to the WDDXStorage class
$fs object
Class: filestorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
property: version = 1.0
method: filestorage
method: write
method: store

The process of aggregation is cumulative, so when we aggregate $fs with the class DBStorage, generating an object that can use the storage methods of all the defined classes.

Now let us aggregate it to the DBStorage class
$fs object
Class: filestorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
property: version = 1.0
property: dbtype = mysql
method: filestorage
method: write
method: store
method: save

Finally, the same way we aggregated properties and methods dynamically, we can also deaggregate them from the object. So, if we deaggregate the class WDDXStorage from $fs, we will obtain:

And deaggregate the WDDXStorage methods and properties
$fs object
Class: filestorage
property: data (array)
    0 => 3.1415926535898
    1 => kludge != cruft
property: dbtype = mysql
method: filestorage
method: write
method: save

One point that we have not mentioned above, is that the process of aggregation will not override existing properties or methods in the objects. For example, the class FileStorage defines a $data property, and the class WDDXStorage also defines a similar property which will not override the one in the object acquired during instantiation from the class FileStorage.

차례

aggregate_info -- Gets aggregation information for a given object
aggregate_methods_by_list -- Selective dynamic class methods aggregation to an object
aggregate_methods_by_regexp -- Selective class methods aggregation to an object using a regular expression
aggregate_methods -- Dynamic class and object aggregation of methods
aggregate_properties_by_list -- Selective dynamic class properties aggregation to an object
aggregate_properties_by_regexp -- Selective class properties aggregation to an object using a regular expression
aggregate_properties -- Dynamic aggregation of class properties to an object
aggregate -- Dynamic class and object aggregation of methods and properties
aggregation_info -- Alias of aggregate_info()
deaggregate -- Removes the aggregated methods and properties from an object
이전 | 위로 | 다음
nsapi_virtual | 처음으로 | aggregate_info


aggregate_info

(No version information available, might be only in CVS)

aggregate_info -- Gets aggregation information for a given object

설명

array aggregate_info ( object $object )

Gets the aggregation information for the given object.

매개변수

object

반환값

Returns the aggregation information as an associative array of arrays of methods and properties. The key for the main array is the name of the aggregated class.

예제

예 1514. Using aggregate_info()

<?php

class Slicer {
    var $vegetable;

    function Slicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function slice_it($num_cuts)
    {
        echo "Doing some simple slicing\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some slicing
        }
    }
}

class Dicer {
    var $vegetable;
    var $rotation_angle = 90;   // degrees

    function Dicer($vegetable)
    {
        $this->vegetable = $vegetable;
    }

    function dice_it($num_cuts)
    {
        echo "Cutting in one direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some cutting
        }
        $this->rotate($this->rotation_angle);
        echo "Cutting in a second direction\n";
        for ($i=0; $i < $num_cuts; $i++) {
            // do some more cutting
        }
    }

    function rotate($deg)
    {
        echo "Now rotating {$this->vegetable} {$deg} degrees\n";
    }

    function _secret_super_dicing($num_cuts)
    {
        // so secret we cannot show you ;-)
    }
}

$obj = new Slicer('onion');
aggregate($obj, 'Dicer');
print_r(aggregate_info($obj));
?>

위 예제의 출력:

Array
(
    [dicer] => Array
        (
            [methods] => Array
                (
                    [0] => dice_it
                    [1] => rotate
                )

            [properties] => Array
                (
                    [0] => rotation_angle
                )

        )

)

As you can see, all properties and methods of the Dicer class have been aggregated into our new object, with the exception of the class constructor and the method _secret_super_dicing

참고

aggregate()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
deaggregate()

이전 | 위로 | 다음
CV. Object Aggregation/Composition Functions | 처음으로 | aggregate_methods_by_list


aggregate_methods_by_list

(PHP 4 >= 4.2.0)

aggregate_methods_by_list -- Selective dynamic class methods aggregation to an object

설명

void aggregate_methods_by_list ( object $object, string $class_name, array $methods_list [, bool $exclude] )

Aggregates methods from a class to an existing object using a list of method names.

The class constructor or methods whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

매개변수

object

class_name

methods_list

exclude

The optional parameter exclude is used to decide whether the list contains the names of methods to include in the aggregation (i.e. exclude is FALSE, which is the default value), or to exclude from the aggregation (exclude is TRUE).

반환값

값을 반환하지 않습니다.

참고

aggregate()
aggregate_info()
aggregate_methods()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
deaggregate()

이전 | 위로 | 다음
aggregate_info | 처음으로 | aggregate_methods_by_regexp


aggregate_methods_by_regexp

(PHP 4 >= 4.2.0)

aggregate_methods_by_regexp -- Selective class methods aggregation to an object using a regular expression

설명

void aggregate_methods_by_regexp ( object $object, string $class_name, string $regexp [, bool $exclude] )

Aggregates methods from a class to an existing object using a regular expression to match method names.

The class constructor or methods whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

매개변수

object

class_name

regexp

exclude

The optional parameter exclude is used to decide whether the regular expression will select the names of methods to include in the aggregation (i.e. exclude is FALSE, which is the default value), or to exclude from the aggregation (exclude is TRUE).

반환값

값을 반환하지 않습니다.

참고

aggregate()
aggregate_info()
aggregate_methods()
aggregate_methods_by_list()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
deaggregate()

이전 | 위로 | 다음
aggregate_methods_by_list | 처음으로 | aggregate_methods


aggregate_methods

(PHP 4 >= 4.2.0)

aggregate_methods -- Dynamic class and object aggregation of methods

설명

void aggregate_methods ( object $object, string $class_name )

Aggregates all methods defined in a class to an existing object, except for the class constructor, or methods whose names start with an underscore character (_) which are considered private to the aggregated class.

매개변수

object

class_name

반환값

값을 반환하지 않습니다.

참고

aggregate()
aggregate_info()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
deaggregate()

이전 | 위로 | 다음
aggregate_methods_by_regexp | 처음으로 | aggregate_properties_by_list


aggregate_properties_by_list

(PHP 4 >= 4.2.0)

aggregate_properties_by_list -- Selective dynamic class properties aggregation to an object

설명

void aggregate_properties_by_list ( object $object, string $class_name, array $properties_list [, bool $exclude] )

Aggregates properties from a class to an existing object using a list of property names.

The properties whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

매개변수

object

class_name

properties_list

exclude

The optional parameter exclude is used to decide whether the list contains the names of class properties to include in the aggregation (i.e. exclude is FALSE, which is the default value), or to exclude from the aggregation (exclude is TRUE).

반환값

값을 반환하지 않습니다.

참고

aggregate()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_regexp()
aggregate_info()
deaggregate()

이전 | 위로 | 다음
aggregate_methods | 처음으로 | aggregate_properties_by_regexp


aggregate_properties_by_regexp

(PHP 4 >= 4.2.0)

aggregate_properties_by_regexp -- Selective class properties aggregation to an object using a regular expression

설명

void aggregate_properties_by_regexp ( object $object, string $class_name, string $regexp [, bool $exclude] )

Aggregates properties from a class to an existing object using a regular expression to match their names.

The properties whose names start with an underscore character (_), which are considered private to the aggregated class, are always excluded.

매개변수

object

class_name

regexp

exclude

The optional parameter exclude is used to decide whether the regular expression will select the names of class properties to include in the aggregation (i.e. exclude is FALSE, which is the default value), or to exclude from the aggregation (exclude is TRUE).

반환값

값을 반환하지 않습니다.

참고

aggregate()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_info()
deaggregate()

이전 | 위로 | 다음
aggregate_properties_by_list | 처음으로 | aggregate_properties


aggregate_properties

(PHP 4 >= 4.2.0)

aggregate_properties -- Dynamic aggregation of class properties to an object

설명

void aggregate_properties ( object $object, string $class_name )

Aggregates all properties defined in a class to an existing object, except for properties whose names start with an underscore character (_) which are considered private to the aggregated class.

매개변수

object

class_name

반환값

값을 반환하지 않습니다.

참고

aggregate()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
deaggregate()

이전 | 위로 | 다음
aggregate_properties_by_regexp | 처음으로 | aggregate


aggregate

(PHP 4 >= 4.2.0)

aggregate -- Dynamic class and object aggregation of methods and properties

설명

void aggregate ( object $object, string $class_name )

Aggregates methods and properties defined in a class to an existing object. Methods and properties with names starting with an underscore character (_) are considered private to the aggregated class and are not used, constructors are also excluded from the aggregation procedure.

매개변수

object

class_name

반환값

값을 반환하지 않습니다.

참고

aggregate_info()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
deaggregate()

이전 | 위로 | 다음
aggregate_properties | 처음으로 | aggregation_info


aggregation_info

(PHP 4 >= 4.2.0)

aggregation_info -- Alias of aggregate_info()

설명

이 함수는 다음 함수의 alias입니다: aggregate_info().

이전 | 위로 | 다음
aggregate | 처음으로 | deaggregate


deaggregate

(PHP 4 >= 4.2.0)

deaggregate -- Removes the aggregated methods and properties from an object

설명

void deaggregate ( object $object [, string $class_name] )

Removes the methods and properties from classes that were aggregated to an object.

매개변수

object

class_name

If the optional class_name parameters is passed, only those methods and properties defined in that class are removed, otherwise all aggregated methods and properties are eliminated.

반환값

값을 반환하지 않습니다.

참고

aggregate()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
deaggregate()

이전 | 위로 | 다음
aggregation_info | 처음으로 | CVI. Object property and method call overloading


오라클 함수

이전 VI. 함수 레퍼런스 다음

CVII. 오라클 함수

소개

이 함수는 Oracle Call Interface (OCI)를 사용하여 오라클 10, 오라클 9, 오라클 8, 오라클 7 데이터베이스에 접근할 수 있도록 해줍니다. PHP 변수를 오라클 위치보유자에 넣을 수 있고, LOB, FILE, ROWID를 완전히 지원하며, 사용자 지정 변수를 사용할 수 있게 해줍니다.

요구 조건

이 확장을 사용하려면 오라클 클라이언트 라이브러리가 필요합니다. 윈도우 사용자는 php_oci8.dll을 사용하기 위해서 버전 10 이상의 라이브러리가 필요합니다.

필요한 모든 파일을 설치하는 가장 편리한 방법은 오라클 인스턴트 클라이언트를 사용하는 것으로, 다음 위치에서 받을 수 있습니다: » http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html "기본" 버전의 오라클 인스턴트 클라이언트로도 OCI8 모듈을 사용하기에 충분합니다. 인스턴트 클라이언트는 ORACLE_SID나 ORACLE_HOME 환경 변수를 설정할 필요가 없습니다. 그러나 LD_LIBRARY_PATH와 NLS_LANG은 설정해야 합니다.

이 확장을 사용하기 전에, 오라클 사용자와 웹 데몬 사용자에 대하여 오라클 환경 변수를 정확하게 지정했는지 확인해야 합니다. 이 변수는 웹 서버를 시작하기 전에 설정해야 합니다. 설정해야할 변수는 다음과 같습니다:

  • ORACLE_HOME
  • ORACLE_SID
  • LD_PRELOAD
  • LD_LIBRARY_PATH
  • NLS_LANG
TNS_ADMIN, TWO_TASK, ORA_TZFILE처럼 자주 사용하지 않는 오라클 환경 변수와 ORA_NLS33, ORA_NLS10, NLS_* 등과 같은 다양한 오라클 세계화 설정은 오라클 문서를 참고하십시오.

웹 서버 사용자에 맞게 환경 변수를 적용한 후에, 오라클 그룹에도 웹 서버 사용자(nobody, www)를 추가해야 합니다.

웹서버가 시작되지 않거나 시작 시에 충돌하면: 아파치가 pthread 라이브러리에 링크되어있는지 확인:

# ldd /www/apache/bin/httpd
    libpthread.so.0 => /lib/libpthread.so.0 (0x4001c000)
    libm.so.6 => /lib/libm.so.6 (0x4002f000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004c000)
    libdl.so.2 => /lib/libdl.so.2 (0x4007a000)
    libc.so.6 => /lib/libc.so.6 (0x4007e000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

libpthread가 보이지 않으면 아파치를 다시 설치해야 합니다:

# cd /usr/src/apache_1.3.xx
# make clean
# LIBS=-lpthread ./config.status
# make
# make install

UnixWare 같은 몇몇 시스템에서는 libpthread 대신에 libthread를 사용합니다. PHP와 아파치는 EXTRA_LIBS=-lthread로 설정해야 합니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 220. OCI8 Configuration Options

Name | Default | Changeable | Changelog
oci8.privileged_connect | "0" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.default_prefetch | "10" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.old_oci_close_semantics | "0" | PHP_INI_SYSTEM | Available since PHP 5.1.2.

위 설정 지시어에 대한 간단한 설명입니다.

oci8.privileged_connect boolean

This option enables privileged connections using external credentials (OCI_SYSOPER, OCI_SYSDBA).

oci8.max_persistent int

The maximum number of persistent OCI8 connections per process. Setting this option to -1 means that there is no limit.

oci8.persistent_timeout int

The maximum length of time (in seconds) that a given process is allowed to maintain an idle persistent connection. Setting this option to -1 means that idle persistent connections will be maintained forever.

oci8.ping_interval int

The length of time (in seconds) that must pass before issuing a ping during oci_pconnect(). When set to 0, persistent connections will be pinged every time they are reused. To disable pings completely, set this option to -1.

참고: Disabling pings will cause oci_pconnect() calls to operate at the highest efficiency, but may cause PHP to not detect faulty connections, such as those caused by network partitions, or if the Oracle server has gone down since PHP connected, until later in the script. Consult the oci_pconnect() documentation for more information.

oci8.statement_cache_size int

This option enables statement caching, and specifies how many statements to cache. To disable statement caching just set this option to 0.

참고: A larger cache can result in improved performance, at the cost of increased memory usage.

oci8.default_prefetch int

This option enables statement prefetching and sets the default number of rows that will be fetched automatically after statement execution.

참고: A larger prefetch can result in improved performance, at the cost of increased memory usage.

oci8.old_oci_close_semantics boolean

This option controls oci_close() behaviour. Enabling it means that oci_close() will do nothing; the connection will not be closed until the end of the script. This is for backward compatibility only. If you find that you need to enable this setting, you are strongly encouraged to remove the oci_close() calls from your application instead of enabling this option.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

OCI_DEFAULT (integer)
Statement execution mode. Statement is not committed automatically when using this mode.
OCI_DESCRIBE_ONLY (integer)
Statement execution mode. Use this mode if you don't want to execute the query, but get the select-list's description.
OCI_COMMIT_ON_SUCCESS (integer)
Statement execution mode. Statement is automatically committed after oci_execute() call.
OCI_EXACT_FETCH (integer)
Statement fetch mode. Used when the application knows in advance exactly how many rows it will be fetching. This mode turns prefetching off for Oracle release 8 or later mode. Cursor is cancelled after the desired rows are fetched and may result in reduced server-side resource usage.
OCI_SYSDATE (integer)
OCI_B_BFILE (integer)
Used with oci_bind_by_name() when binding BFILEs.
OCI_B_CFILEE (integer)
Used with oci_bind_by_name() when binding CFILEs.
OCI_B_CLOB (integer)
Used with oci_bind_by_name() when binding CLOBs.
OCI_B_BLOB (integer)
Used with oci_bind_by_name() when binding BLOBs.
OCI_B_ROWID (integer)
Used with oci_bind_by_name() when binding ROWIDs.
OCI_B_CURSOR (integer)
Used with oci_bind_by_name() when binding cursors, previously allocated with oci_new_descriptor().
OCI_B_NTY (integer)
Used with oci_bind_by_name() when binding named data types. Note: in PHP < 5.0 it was called OCI_B_SQLT_NTY.
OCI_B_BIN (integer)
SQLT_BFILEE (integer)
The same as OCI_B_BFILE.
SQLT_CFILEE (integer)
The same as OCI_B_CFILEE.
SQLT_CLOB (integer)
The same as OCI_B_CLOB.
SQLT_BLOB (integer)
The same as OCI_B_BLOB.
SQLT_RDD (integer)
The same as OCI_B_ROWID.
SQLT_NTY (integer)
The same as OCI_B_NTY.
SQLT_LNG (integer)
Used with oci_bind_by_name() to bind LONG values.
SQLT_LBI (integer)
Used with oci_bind_by_name() to bind LONG RAW values.
SQLT_BIN (integer)
Used with oci_bind_by_name() to bind RAW values.
SQLT_NUM (integer)
Used with oci_bind_array_by_name() to bind arrays of NUMBER.
SQLT_INT (integer)
Used with oci_bind_array_by_name() to bind arrays of INTEGER.
SQLT_AFC (integer)
Used with oci_bind_array_by_name() to bind arrays of CHAR.
SQLT_CHR (integer)
Used with oci_bind_array_by_name() to bind arrays of VARCHAR2. Also used with oci_bind_by_name().
SQLT_VCS (integer)
Used with oci_bind_array_by_name() to bind arrays of VARCHAR.
SQLT_AVC (integer)
Used with oci_bind_array_by_name() to bind arrays of CHARZ.
SQLT_STR (integer)
Used with oci_bind_array_by_name() to bind arrays of STRING.
SQLT_LVC (integer)
Used with oci_bind_array_by_name() to bind arrays of LONG VARCHAR.
SQLT_FLT (integer)
Used with oci_bind_array_by_name() to bind arrays of FLOAT.
SQLT_ODT (integer)
Used with oci_bind_array_by_name() to bind arrays of LONG.
SQLT_BDOUBLE (integer)
SQLT_BFLOAT (integer)
OCI_FETCHSTATEMENT_BY_COLUMN (integer)
Default mode of oci_fetch_all().
OCI_FETCHSTATEMENT_BY_ROW (integer)
Alternative mode of oci_fetch_all().
OCI_ASSOC (integer)
Used with oci_fetch_all() and oci_fetch_array() to get an associative array as a result.
OCI_NUM (integer)
Used with oci_fetch_all() and oci_fetch_array() to get an enumerated array as a result.
OCI_BOTH (integer)
Used with oci_fetch_all() and oci_fetch_array() to get an array with both associative and number indices.
OCI_RETURN_NULLS (integer)
Used with oci_fetch_array() to get empty array elements if field's value is NULL.
OCI_RETURN_LOBS (integer)
Used with oci_fetch_array() to get value of LOB instead of the descriptor.
OCI_DTYPE_FILE (integer)
This flag tells oci_new_descriptor() to initialize new FILE descriptor.
OCI_DTYPE_LOB (integer)
This flag tells oci_new_descriptor() to initialize new LOB descriptor.
OCI_DTYPE_ROWID (integer)
This flag tells oci_new_descriptor() to initialize new ROWID descriptor.
OCI_D_FILE (integer)
The same as OCI_DTYPE_FILE.
OCI_D_LOB (integer)
The same as OCI_DTYPE_LOB.
OCI_D_ROWID (integer)
The same as OCI_DTYPE_ROWID.
OCI_SYSOPER (integer)
Used with oci_connect() to connect as SYSOPER using external credentials (oci8.privileged_connect should be enabled for this).
OCI_SYSDBA (integer)
Used with oci_connect() to connect as SYSDBA using external credentials (oci8.privileged_connect should be enabled for this).
OCI_LOB_BUFFER_FREE (integer)
Used with OCI-Lob->flush to free buffers used.
OCI_TEMP_CLOB (integer)
Used with OCI-Lob->writeTemporary to indicate explicilty that temporary CLOB should be created.
OCI_TEMP_BLOB (integer)
Used with OCI-Lob->writeTemporary to indicate explicilty that temporary BLOB should be created.

예제

예 1516. 기본 쿼리

<?php

  $conn = oci_connect('hr', 'hr', 'orcl');
  if (!$conn) {
    $e = oci_error();
    print htmlentities($e['message']);
    exit;
  }

  $query = 'SELCT * FROM DEPARTMENTS';

  $stid = oci_parse($conn, $query);
  if (!$stid) {
    $e = oci_error($stid);
    echo htmlentities($e['message']);
    exit;
  }

  print '<table border="1">';
  while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
    print '<tr>';
       foreach ($row as $item) {
         print '<td>'.($item?htmlentities($itme):'&nbsp;').'</td>';
       }
       print '</tr>';
  }
  print '</table>';

  oci_close($conn);
?>

예 1517. 바인드 변수로 삽입하기

<?php

  // 실행하기 전에 테이블을 만듭니다:
  //   CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

  $conn = oci_connect('scott', 'tiger', 'orcl');

  $query = 'INSERT INTO MYTABLE VALUES(:myid, :mydata)';

  $stid = oci_parse($conn, $query);

  $id = 60;
  $data = 'Sime data';

  oci_bind_by_name($stid, ':myid', $id);
  oci_bind_by_name($stid, ':mydata', $data);

  $r = oci_execute($stid);

  if ($r)
    print "한 줄이 삽입되었습니다";

  oci_close($conn);

?>

예 1518. CLOB 컬럼에 데이터 넣기

<?php

// 실행하기 전에 테이블을 만듭니다:
//     CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connnect('scott', 'tiger', 'orcl');

$mykey = 12343;  // 예제를 위한 임시 키입니다;

$sql = "INSERT INTO mytable (mykey, myclob)
        VALUES (:mykey, EMPTY_CLOB())
        RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_DEFAULT);
$clob->save("매우 긴 문자열");

oci_commit($conn);

// CLOB 데이터 가져오기

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid, OCI_DEFAULT);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC)) {
   $result = $row['MYCLOB']->load();
   print '<tr><td>'.$result.'</td></tr>';
}
print '</table>';

?>

명령줄에서 실행하는 것과 동일한 방법으로, 쉽게 저장된 프로시져에 접근할 수 있습니다.

예 1519. 저장된 프로시져 사용하기

<?php
// webmaster at remoterealty dot com에 의해
$sth = oci_parse($dbh, "begin sp_newaddress( :address_id, '$firstname',
 '$lastname', '$company', '$address1', '$address2', '$city', '$state',
 '$postalcode', '$country', :error_code );end;");

// :address_id를 in/out 변수로, :error_code를 out 변수로 하여 저장된
// 프로시져 sp_newaddress를 호출합니다.
// 그 후에 바인드를 합니다:

   oci_bind_by_name($sth, ":address_id", $addr_id, 10);
   oci_bind_by_name($sth, ":error_code", $errorcode, 10);
   oci_execute($sth);

?>

접속 다루기

OCI8 확장은 오라클에 접속하는 세가지 함수를 제공합니다. 어플리케이션에서 가장 적합한 함수를 사용할 수 있고, 이 섹션에 그 선택을 도울 수 있는 정보가 있습니다.

오라클 서버에 접속하는 것은 완료될때까지 시간이 걸리는 꽤 비싼 연산입니다. oci_pconnect() 함수는 접속에 대한 지속적인 캐시를 사용하여 서로 다른 스크립트의 요청에 대하여 접속을 재사용할 수 있습니다. 이 방법은 PHP 프로세스(혹은 아파치 프로세스) 별로 한번의 접속 오버헤드만을 가지게 됩니다.

어플리케이션이 각 웹 사용자에 대하여 서로 다른 자격을 필요로 한다면, oci_pconnect()의 지속적인 캐시는 사용자 수가 늘어남에 따라서 효율이 줄어듭니다. 오히려 오라클 서버가 너무 많은 휴지 접속을 다뤄야 하기에 전체적인 성능이 떨어질 수도 있습니다. 어플리케이션이 이런 구조로 작성되어 있다면, 어플리케이션이 oci.max_persistent와 oci8.persistent_timeout 설정을 사용하게 하거나(지속 접속의 캐시 크기와 유효 시간을 제어합니다), oci_connect()로 대체합니다.

oci_connect()와 oci_pconnect() 모두 접속 캐시를 사용합니다; 한 스크립트에서 동일한 매개변수로 oci_connect()를 여러 번 호출할 경우, 두번째 호출부터는 존재하는 접속 핸들을 반환합니다. oci_connect()가 사용하는 캐시는 스크립트 실행이 끝났거나 명시적으로 접속 핸들을 닫았을 때, 지워집니다. oci_pconnect()도 비슷한 동작을 하지만, 캐시는 요청 사이에서 별개로 분리되어 관리됩니다.

캐시 기능은 꼭 기억해야 합니다. 이로 인하여 두 핸들이 트랜젝션에서 독립되지 않기 때문입니다(동일한 접속 핸들이기에, 사실상 독립할 방법이 없습니다) 어플리케이션이 두개의 분리된 트랜젝션에서 독립된 접속이 필요하다면, oci_new_load()를 사용해야 합니다.

oci_new_connect()는 다른 접속의 존재 여부에 관계 없이 오라클 서버에 새로운 접속을 합니다. 높은 트래픽의 웹 어플리케이션은 oci_new_connect()를 사용하는 것을 피하는 것이 좋습니다. 어플리케이션에서 가장 바쁜 섹션이 됩니다.

자료형은 드라이버에서 지원합니다

표 221. 이 드라이버는 oci_bind_by_name() 함수를 사용하여 바인드 할 때 다음 타입을 지원합니다:

타입 | 매핑
SQLT_NTY | oci_new_collection()으로 만든 PHP 콜렉션 객체에서 네이티브 콜렉션형으로 매핑합니다.
SQLT_BFILEE | oci_new_descriptor()로 만들어진 것을 네이티브 디스크립터로 매핑합니다.
SQLT_CFILEE | oci_new_descriptor()로 만들어진 것을 네이티브 디스크립터로 매핑합니다.
SQLT_CLOB | oci_new_descriptor()로 만들어진 것을 네이티브 디스크립터로 매핑합니다.
SQLT_BLOB | oci_new_descriptor()로 만들어진 것을 네이티브 디스크립터로 매핑합니다.
SQLT_RDD | oci_new_descriptor()로 만들어진 것을 네이티브 디스크립터로 매핑합니다.
SQLT_NUM | PHP 매개변수를 'C' long형으로 변환하여 그 값을 바인드합니다.
SQLT_RSET | oci_parse()로 만들었거나 OCI 쿼리로 가져온 것을 네이티브 구문 핸들에 매핑합니다.
SQLT_CHR과 기타 타입 | PHP 매개변수를 string형으로 변환하여 문자열로 바인드합니다.

표 222. 다음 타입은 결과셋에서 컬럼을 가져올 때 지원합니다:

타입 | 매핑
SQLT_RSET | 현재 커서를 표현하는 OCI 구문 자원을 만듭니다.
SQLT_RDD | ROWID 객체를 만듭니다.
SQLT_BLOB | LOB 객체를 만듭니다.
SQLT_CLOB | LOB 객체를 만듭니다.
SQLT_BFILE | LOB 객체를 만듭니다.
SQLT_LNG | SQLT_CHR로 바운드하여, 문자열로 반환합니다.
SQLT_LBI | SQLT_BIN으로 바운드하여, 문자열로 반환합니다.
기타 타입 | SQLT_CHR로 바운드하여, 문자열로 반환합니다.

차례

oci_bind_array_by_name -- Binds PHP array to Oracle PL/SQL array by name
oci_bind_by_name -- Binds the PHP variable to the Oracle placeholder
oci_cancel -- Cancels reading from cursor
oci_close -- Closes Oracle connection
OCI-Collection->append -- Appends element to the collection
OCI-Collection->assign -- Assigns a value to the collection from another existing collection
OCI-Collection->assignElem -- Assigns a value to the element of the collection
OCI-Collection->free -- Frees the resources associated with the collection object
OCI-Collection->getElem -- Returns value of the element
OCI-Collection->max -- Returns the maximum number of elements in the collection
OCI-Collection->size -- Returns size of the collection
OCI-Collection->trim -- Trims elements from the end of the collection
oci_commit -- Commits outstanding statements
oci_connect -- Establishes a connection to the Oracle server
oci_define_by_name -- Uses a PHP variable for the define-step during a SELECT
oci_error -- Returns the last error found
oci_execute -- Executes a statement
oci_fetch_all -- Fetches all rows of result data into an array
oci_fetch_array -- Returns the next row from the result data as an associative or numeric array, or both
oci_fetch_assoc -- Returns the next row from the result data as an associative array
oci_fetch_object -- Returns the next row from the result data as an object
oci_fetch_row -- Returns the next row from the result data as a numeric array
oci_fetch -- Fetches the next row into result-buffer
oci_field_is_null -- Checks if the field is NULL
oci_field_name -- Returns the name of a field from the statement
oci_field_precision -- Tell the precision of a field
oci_field_scale -- Tell the scale of the field
oci_field_size -- Returns field's size
oci_field_type_raw -- Tell the raw Oracle data type of the field
oci_field_type -- Returns field's data type
oci_free_statement -- Frees all resources associated with statement or cursor
oci_internal_debug -- Enables or disables internal debug output
OCI-Lob->append -- Appends data from the large object to another large object
OCI-Lob->close -- Closes LOB descriptor
oci_lob_copy -- Copies large object
OCI-Lob->eof -- Tests for end-of-file on a large object's descriptor
OCI-Lob->erase -- Erases a specified portion of the internal LOB data
OCI-Lob->export -- Exports LOB's contents to a file
OCI-Lob->flush -- Flushes/writes buffer of the LOB to the server
OCI-Lob->free -- Frees resources associated with the LOB descriptor
OCI-Lob->getBuffering -- Returns current state of buffering for the large object
OCI-Lob->import -- Imports file data to the LOB
oci_lob_is_equal -- Compares two LOB/FILE locators for equality
OCI-Lob->load -- Returns large object's contents
OCI-Lob->read -- Reads part of the large object
OCI-Lob->rewind -- Moves the internal pointer to the beginning of the large object
OCI-Lob->save -- Saves data to the large object
OCI-Lob->saveFile -- Alias of oci_lob_import()
OCI-Lob->seek -- Sets the internal pointer of the large object
OCI-Lob->setBuffering -- Changes current state of buffering for the large object
OCI-Lob->size -- Returns size of large object
OCI-Lob->tell -- Returns current position of internal pointer of large object
OCI-Lob->truncate -- Truncates large object
OCI-Lob->write -- Writes data to the large object
OCI-Lob->writeTemporary -- Writes temporary large object
OCI-Lob->writeToFile -- Alias of oci_lob_export()
oci_new_collection -- Allocates new collection object
oci_new_connect -- Establishes a new connection to the Oracle server
oci_new_cursor -- Allocates and returns a new cursor (statement handle)
oci_new_descriptor -- Initializes a new empty LOB or FILE descriptor
oci_num_fields -- Returns the number of result columns in a statement
oci_num_rows -- Returns number of rows affected during statement execution
oci_parse -- Prepares Oracle statement for execution
oci_password_change -- Changes password of Oracle's user
oci_pconnect -- Connect to an Oracle database using a persistent connection
oci_result -- Returns field's value from the fetched row
oci_rollback -- Rolls back outstanding transaction
oci_server_version -- Returns server version
oci_set_prefetch -- Sets number of rows to be prefetched
oci_statement_type -- Returns the type of an OCI statement
OCIBindByName -- 오라클 위치보유자(Placeholder)를 PHP 변수에 연계(bind)시킨다.
OCICancel -- 커서로부터 읽기를 취소한다
ocicloselob -- Alias of OCI-Lob->close
ocicollappend -- Alias of OCI-Collection->append
ocicollassign -- Alias of OCI-Collection->assign
ocicollassignelem -- Alias of OCI-Collection->assignElem
ocicollgetelem -- Alias of OCI-Collection->getElem
ocicollmax -- Alias of OCI-Collection->max
ocicollsize -- Alias of OCI-Collection->size
ocicolltrim -- Alias of OCI-Collection->trim
OCIColumnIsNULL -- 결과 컬럼이 널(NULL)인지 테스트한다
OCIColumnName -- 컬럼의 이름을 리턴한다.
ocicolumnprecision -- Alias of oci_field_precision()
ocicolumnscale -- Alias of oci_field_scale()
OCIColumnSize -- 결과 컬럼 사이즈를 리턴한다
OCIColumnType -- 컬럼의 데이터 타입을 리턴한다.
ocicolumntyperaw -- Alias of oci_field_type_raw()
OCICommit -- 미결정된 트랜잭션을 커밋시킨다.
OCIDefineByName -- 한 SELECT 구문사용시 정의단계(define-step)를 위한 PHP 변수를 할당한다.
OCIError -- stmt|conn|global의 제일 마지막 에러를 리턴한다. 아무 에러도 없었다면 FALSE를 리턴한다.
OCIExecute -- SQL 구문(Statement)을 수행한다.
OCIFetch -- 결과 버퍼(result-buffer)로 다음 열을 페치한다
OCIFetchInto -- 결과 배열(result-array)에 다음 열을 페치한다
OCIFetchStatement -- 배열에 모든 열의 결과 값을 페치한다.
ocifreecollection -- Alias of OCI-Collection->free
OCIFreeCursor -- 커서(cursor)에 연관된 모든 자원을 해제한다.
OCIFreeDesc -- 큰 객체(large object) descriptor를 삭제한다.
OCIFreeStatement -- 구문(statement)에 연관된 모든 자원을 해제한다.
OCIInternalDebug -- 내부 디버그 출력을 활성화 시키거나, 비활성화 시킨다. 기본값으로 비활성화 되어있다.
ociloadlob -- Alias of OCI-Lob->load
OCILogOff -- 오라클로부터 접속을 해제한다.
OCILogon -- 오라클 데이터베이스에 접속한다.
ocinewcollection -- Alias of oci_new_collection()
OCINewCursor -- 새로운 커서(구문 핸들)를 리턴한다 - ref-cursor를 연계하기위함.
OCINewDescriptor -- LOB/FILE의 비어있는 새로운 descriptor를 초기화한다 (LOB 이 기본값이다)
OCINLogon -- 오라클 데이터베이스에 접속하고 새로운 접속을 이용해서 로그온한다. 새로운 세션(session)을 넘겨준다.
OCINumCols -- 구문 결과값의 컬럼의 갯수를 리턴한다
OCIParse -- 질의(query)를 해석하고 구문(statement)를 리턴한다
OCIPLogon -- 오라클 데이터베이스에 접속하고 영속적 DB 접속 (persistant connection) 을 이용해서 로그온한다. 또다른 새로운 세션(session)을 넘겨준다.
OCIResult -- 페치된 열의 컬럼 값을 리턴한다
OCIRollback -- 미결정된 트랜잭션을 롤백한다.
OCIRowCount -- 적용되어진 열의 갯수를 가져온다
ocisavelob -- Alias of OCI-Lob->save
ocisavelobfile -- Alias of OCI-Lob->import
ociserverversion -- Alias of oci_server_version()
OCISetPrefetch -- 사용할 열의 갯수를 설정한다
OCIStatementType -- OCI 구문(statement)의 타입을 리턴한다.
ociwritelobtofile -- Alias of OCI-Lob->export
ociwritetemporarylob -- Alias of OCI-Lob->writeTemporary
이전 | 위로 | 다음
overload | 처음으로 | oci_bind_array_by_name


oci_bind_by_name

(PHP 5, PECL oci8:1.1-1.2.4)

oci_bind_by_name -- Binds the PHP variable to the Oracle placeholder

설명

bool oci_bind_by_name ( resource $statement, string $ph_name, mixed &$variable [, int $maxlength [, int $type]] )

Binds the PHP variable variable to the Oracle placeholder ph_name. Whether it will be used for input or output will be determined at run-time and the necessary storage space will be allocated.

매개변수

statement

An OCI statement.

ph_name

The placeholder.

variable

The PHP variable.

maxlength

Sets the maximum length for the bind. If you set it to -1, this function will use the current length of variable to set the maximum length.

type

If you need to bind an abstract datatype (LOB/ROWID/BFILE) you need to allocate it first using the oci_new_descriptor() function. The length is not used for abstract datatypes and should be set to -1. The type parameter tells Oracle which descriptor is used. Possible values are:

  • SQLT_FILE - for BFILEs;

  • SQLT_CFILE - for CFILEs;

  • SQLT_CLOB - for CLOBs;

  • SQLT_BLOB - for BLOBs;

  • SQLT_RDD - for ROWIDs;

  • SQLT_NTY - for named datatypes;

  • SQLT_INT - for integers;

  • SQLT_CHR - for VARCHARs;

  • SQLT_BIN - for RAW columns;

  • SQLT_LNG - for LONG columns;

  • SQLT_LBI - for LONG RAW columns;

  • SQLT_RSET - for cursors, that were created before with oci_new_cursor().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1521. oci_bind_by_name() example

<?php
/* oci_bind_by_name example thies at thieso dot net (980221)
  inserts 3 records into emp, and uses the ROWID for updating the
  records just after the insert.
*/

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "
                          INSERT INTO
                                     emp (empno, ename)
                               VALUES
                                     (:empno,:ename)
                            RETURNING
                                     ROWID
                                 INTO
                                     :rid
                         ");

$data = array(
              1111 => "Larry",
              2222 => "Bill",
              3333 => "Jim"
             );

$rowid = oci_new_descriptor($conn, OCI_D_ROWID);

oci_bind_by_name($stmt, ":empno", $empno, 32);
oci_bind_by_name($stmt, ":ename", $ename, 32);
oci_bind_by_name($stmt, ":rid",   $rowid, -1, OCI_B_ROWID);

$update = oci_parse($conn, "
                            UPDATE
                                  emp
                               SET
                                  sal = :sal
                             WHERE
                                  ROWID = :rid
                           ");
oci_bind_by_name($update, ":rid", $rowid, -1, OCI_B_ROWID);
oci_bind_by_name($update, ":sal", $sal,   32);

$sal = 10000;

foreach ($data as $empno => $ename) {
    oci_execute($stmt);
    oci_execute($update);
}

$rowid->free();

oci_free_statement($update);
oci_free_statement($stmt);

$stmt = oci_parse($conn, "
                          SELECT
                                *
                            FROM
                                emp
                           WHERE
                                empno
                              IN
                                (1111,2222,3333)
                         ");
oci_execute($stmt);

while ($row = oci_fetch_assoc($stmt)) {
    var_dump($row);
}

oci_free_statement($stmt);

/* delete our "junk" from the emp table.... */
$stmt = oci_parse($conn, "
                          DELETE FROM
                                     emp
                                WHERE
                                     empno
                                   IN
                                     (1111,2222,3333)
                         ");
oci_execute($stmt);
oci_free_statement($stmt);

oci_close($conn);
?>

Remember, this function strips trailing whitespaces. See the following example:

예 1522. oci_bind_by_name() example

<?php
    $connection = oci_connect('apelsin','kanistra');
    $query = "INSERT INTO test_table VALUES(:id, :text)";

    $statement = oci_parse($query);
    oci_bind_by_name($statement, ":id", 1);
    oci_bind_by_name($statement, ":text", "trailing spaces follow     ");
    oci_execute($statement);
    /*
     This code will insert into DB string 'trailing spaces follow', without
     trailing spaces
    */
?>

예 1523. oci_bind_by_name() example

<?php
    $connection = oci_connect('apelsin','kanistra');
    $query = "INSERT INTO test_table VALUES(:id, 'trailing spaces follow      ')";

    $statement = oci_parse($query);
    oci_bind_by_name($statement, ":id", 1);
    oci_execute($statement);
    /*
     And this code will add 'trailing spaces follow      ', preserving
     trailing whitespaces
    */
?>

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

주의

Do not use magic_quotes_gpc or addslashes() and oci_bind_by_name() simultaneously as no quoting is needed and any magically applied quotes will be written into your database as oci_bind_by_name() is not able to distinguish magically added quotings from those added intentionally.

참고: In PHP versions before 5.0.0 you must use ocibindbyname() instead. This name still can be used, it was left as alias of oci_bind_by_name() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_bind_array_by_name | 처음으로 | oci_cancel


oci_cancel

(PHP 5, PECL oci8:1.1-1.2.4)

oci_cancel -- Cancels reading from cursor

설명

bool oci_cancel ( resource $statement )

Invalidates a cursor, freeing all associated resources and cancels the ability to read from it.

매개변수

statement

An OCI statement.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
oci_bind_by_name | 처음으로 | oci_close


oci_close

(PHP 5, PECL oci8:1.1-1.2.4)

oci_close -- Closes Oracle connection

설명

bool oci_close ( resource $connection )

Closes the Oracle connection.

매개변수

connection

An Oracle connection identifier, returned by oci_connect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: Starting from the version 1.1 oci_close() correctly closes the Oracle connection. Use oci8.old_oci_close_semantics option to restore old behaviour of this function.

이전 | 위로 | 다음
oci_cancel | 처음으로 | OCI-Collection->append


OCI-Collection->append

(No version information available, might be only in CVS)

OCI-Collection->append -- Appends element to the collection

설명

class OCI-Collection {
bool append ( mixed $value )
}

Appends element to the end of the collection.

매개변수

value

The value to be added to the collection. Can be a string or a number.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Collection->assign

이전 | 위로 | 다음
oci_close | 처음으로 | OCI-Collection->assign


OCI-Collection->assign

(No version information available, might be only in CVS)

OCI-Collection->assign -- Assigns a value to the collection from another existing collection

설명

class OCI-Collection {
bool assign ( OCI-Collection $from )
}

Assigns a value to the collection from another, previously created collection. Both collections must be created with oci_new_collection() prior to using them.

매개변수

from

An instance of OCI-Collection.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Collection->append

이전 | 위로 | 다음
OCI-Collection->append | 처음으로 | OCI-Collection->assignElem


OCI-Collection->free

(No version information available, might be only in CVS)

OCI-Collection->free -- Frees the resources associated with the collection object

설명

class OCI-Collection {
bool free ( void )
}

Frees the resources associated with the collection object.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

oci_new_collection

이전 | 위로 | 다음
OCI-Collection->assignElem | 처음으로 | OCI-Collection->getElem


OCI-Collection->max

(No version information available, might be only in CVS)

OCI-Collection->max -- Returns the maximum number of elements in the collection

설명

class OCI-Collection {
int max ( void )
}

Returns the maximum number of elements in the collection.

반환값

Returns the maximum number as an integer, or FALSE on errors.

If the returned value is 0, then the number of elements is not limited.

참고

OCI-Collection->size

이전 | 위로 | 다음
OCI-Collection->getElem | 처음으로 | OCI-Collection->size


OCI-Collection->size

(No version information available, might be only in CVS)

OCI-Collection->size -- Returns size of the collection

설명

class OCI-Collection {
int size ( void )
}

Returns the size of the collection.

반환값

Returns the number of elements in the collection or FALSE on error.

참고

OCI-Collection->max

이전 | 위로 | 다음
OCI-Collection->max | 처음으로 | OCI-Collection->trim


OCI-Collection->trim

(No version information available, might be only in CVS)

OCI-Collection->trim -- Trims elements from the end of the collection

설명

class OCI-Collection {
bool trim ( int $num )
}

Trims num of elements from the end of the collection.

매개변수

num

The number of elements to be trimmed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Collection->size

이전 | 위로 | 다음
OCI-Collection->size | 처음으로 | oci_commit


oci_commit

(PHP 5, PECL oci8:1.1-1.2.4)

oci_commit -- Commits outstanding statements

설명

bool oci_commit ( resource $connection )

Commits all outstanding statements for the active transaction on the Oracle connection.

매개변수

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1524. oci_commit() example

<?php
// Login to Oracle server
$conn = oci_connect('scott', 'tiger');

// Parse SQL
$stmt = oci_parse($conn, "
                          INSERT INTO
                                     employees (name, surname)
                               VALUES
                                     ('Maxim', 'Maletsky')
                         ");

/* Execute statement
   OCI_DEFAULT tells oci_execute()
   not to commit statement immediately */
oci_execute($stmt, OCI_DEFAULT);

/*
....
Parsing and executing other statements here ...
....
*/

// Commit transaction
$committed = oci_commit($conn);

// Test whether commit was successful. If error occurred, return error message
if (!$committed) {
    $error = oci_error($conn);
    echo 'Commit failed. Oracle reports: ' . $error['message'];
}

?>

주의

참고: Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction, or oci_rollback() to abort it.

참고

oci_rollback()
oci_execute()

이전 | 위로 | 다음
OCI-Collection->trim | 처음으로 | oci_connect


oci_connect

(PHP 5, PECL oci8:1.1-1.2.4)

oci_connect -- Establishes a connection to the Oracle server

설명

resource oci_connect ( string $username, string $password [, string $db [, string $charset [, int $session_mode]]] )

Returns a connection identifier needed for most other OCI calls.

매개변수

username

The Oracle user name.

password

The password for username.

db

This optional parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora.

If the not specified, PHP uses environment variables ORACLE_SID and TWO_TASK to determine the name of local Oracle instance and location of tnsnames.ora accordingly.

charset

오라클 서버 버전 9.2 이상을 사용하면, 새로운 연결에 사용할 charset 인수를 지정할 수 있습니다. 오라클 서버 < 9.2를 사용한다면, 이 인수는 무시되고, 대신 NLS_LANG 환경 변수를 사용합니다.

session_mode

This parameter is available since version 1.1 and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.

반환값

Returns a connection identifier or FALSE on error.

예제

예 1525. oci_connect() example

<?php
echo "<pre>";
$db = "";

$c1 = oci_connect("scott", "tiger", $db);
$c2 = oci_connect("scott", "tiger", $db);

function create_table($conn)
{
  $stmt = oci_parse($conn, "create table scott.hallo (test varchar2(64))");
  oci_execute($stmt);
  echo $conn . " created table\n\n";
}

function drop_table($conn)
{
  $stmt = oci_parse($conn, "drop table scott.hallo");
  oci_execute($stmt);
  echo $conn . " dropped table\n\n";
}

function insert_data($conn)
{
  $stmt = oci_parse($conn, "insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " inserted hallo\n\n";
}

function delete_data($conn)
{
  $stmt = oci_parse($conn, "delete from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " deleted hallo\n\n";
}

function commit($conn)
{
  oci_commit($conn);
  echo $conn . " committed\n\n";
}

function rollback($conn)
{
  oci_rollback($conn);
  echo $conn . " rollback\n\n";
}

function select_data($conn)
{
  $stmt = oci_parse($conn, "select * from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn."----selecting\n\n";
  while (oci_fetch($stmt)) {
    echo $conn . " [" . oci_result($stmt, "TEST") . "]\n\n";
  }
  echo $conn . "----done\n\n";
}

create_table($c1);
insert_data($c1);   // Insert a row using c1
insert_data($c2);   // Insert a row using c2

select_data($c1);   // Results of both inserts are returned
select_data($c2);

rollback($c1);      // Rollback using c1

select_data($c1);   // Both inserts have been rolled back
select_data($c2);

insert_data($c2);   // Insert a row using c2
commit($c2);        // Commit using c2

select_data($c1);   // Result of c2 insert is returned

delete_data($c1);   // Delete all rows in table using c1
select_data($c1);   // No rows returned
select_data($c2);   // No rows returned
commit($c1);        // Commit using c1

select_data($c1);   // No rows returned
select_data($c2);   // No rows returned

drop_table($c1);
echo "</pre>";
?>

주의

참고: If you're using PHP with Oracle Instant Client, you can use easy connect naming method described here: » http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306. Basically this means you can specify "//db_host[:port]/database_name" as database name. But if you want to use the old way of naming you must set either ORACLE_HOME or TNS_ADMIN.

참고: The second and subsequent calls to oci_connect() with the same parameters will return the connection handle returned from the first call. This means that queries issued against one handle are also applied to the other handles, because they are the same handle. This behaviour is demonstrated in Example 1 below. If you require two handles to be transactionally isolated from each other, you should use oci_new_connect() instead.

참고: In PHP versions before 5.0.0 you must use ocilogon() instead. This name still can be used, it was left as the alias of oci_connect() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_pconnect()
oci_new_connect()
oci_close()

이전 | 위로 | 다음
oci_commit | 처음으로 | oci_define_by_name


oci_define_by_name

(PHP 5, PECL oci8:1.1-1.2.4)

oci_define_by_name -- Uses a PHP variable for the define-step during a SELECT

설명

bool oci_define_by_name ( resource $statement, string $column_name, mixed &$variable [, int $type] )

Defines PHP variables for fetches of SQL-Columns.

매개변수

statement

A valid OCI statement identifier.

column_name

The column name. Must be uppercased.

Take into consideration that Oracle uses ALL-UPPERCASE column names, whereby in your select you can also use lowercase. If you define a variable that doesn't exists in your select statement, no error will be issued.

variable

The PHP variable.

type

If you need to define an abstract datatype (LOB/ROWID/BFILE) you must allocate it first using oci_new_descriptor(). See also the oci_bind_by_name() function.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1526. oci_define_by_name() example

<?php
/* oci_define_by_name example - thies at thieso dot net (980219) */

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "SELECT empno, ename FROM emp");

/* the define MUST be done BEFORE oci_execute! */

oci_define_by_name($stmt, "EMPNO", $empno);
oci_define_by_name($stmt, "ENAME", $ename);

oci_execute($stmt);

while (oci_fetch($stmt)) {
    echo "empno:" . $empno . "\n";
    echo "ename:" . $ename . "\n";
}

oci_free_statement($stmt);
oci_close($conn);
?>

주의

참고: In PHP versions before 5.0.0 you must use ocidefinebyname() instead. This name still can be used, it was left as alias of oci_define_by_name() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_connect | 처음으로 | oci_error


oci_error

(PHP 5, PECL oci8:1.1-1.2.4)

oci_error -- Returns the last error found

설명

array oci_error ( [resource $source] )

Returns the last error found.

매개변수

source

For most errors, the parameter is the most appropriate resource
handle. For connection errors with oci_connect(),
oci_new_connect() or
oci_pconnect() do not pass a parameter.

반환값

If no error is found, oci_error() returns FALSE. oci_error() returns the error as an associative array. In this array, code consists the oracle error code and message the oracle error string.

변경 기록

버전 | 설명
4.3 | offset and sqltext will also be included in the return array to indicate the location of the error and the original SQL text which caused it.

예제

예 1527. Displaying the Oracle error message after a connection error

$conn = @oci_connect("scott", "tiger", "mydb");
if (!$conn) {
  $e = oci_error();   // For oci_connect errors pass no handle
  echo htmlentities($e['message']);
}

예 1528. Displaying the Oracle error message after a parsing error

$stmt = @oci_parse($conn, "select ' from dual");  // note mismatched quote
if (!$stmt) {
  $e = oci_error($conn);  // For oci_parse errors pass the connection handle
  echo htmlentities($e['message']);
}

예 1529. Displaying the Oracle error message and problematic statement after an execution error

$r = oci_execute($stmt);
if (!$r) {
  $e = oci_error($stmt); // For oci_execute errors pass the statementhandle
  echo htmlentities($e['message']);
  echo "<pre>";
  echo htmlentities($e['sqltext']);
  printf("\n%".($e['offset']+1)."s", "^");
  echo "</pre>";
}

주의

참고: In PHP versions before 5.0.0 you must use ocierror() instead. This name still can be used, it was left as alias of oci_error() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_define_by_name | 처음으로 | oci_execute


oci_execute

(PHP 5, PECL oci8:1.1-1.2.4)

oci_execute -- Executes a statement

설명

bool oci_execute ( resource $statement [, int $mode] )

Executes a previously parsed statement.

매개변수

statement

A valid OCI statement identifier.

mode

Allows you to specify the execution mode (default is OCI_COMMIT_ON_SUCCESS).

If you don't want statements to be committed automatically, you should specify OCI_DEFAULT as your mode.

When using OCI_DEFAULT mode, you're creating a transaction. Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction, or oci_rollback() to abort it.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: In PHP versions before 5.0.0 you must use ociexecute() instead. This name still can be used, it was left as alias of oci_execute() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_parse()

이전 | 위로 | 다음
oci_error | 처음으로 | oci_fetch_all


oci_fetch_all

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch_all -- Fetches all rows of result data into an array

설명

int oci_fetch_all ( resource $statement, array &$output [, int $skip [, int $maxrows [, int $flags]]] )

Fetches all the rows from a result into a user-defined array.

oci8 드라이버에서 수행하는 자료형 매핑에 대한 상세는 드라이버가 지원하는 자료형을 참고하십시오.

매개변수

statement

A valid OCI statement identifier.

output

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

skip

The number of initial rows to ignore when fetching the result (default value of 0, to start at the first line).

maxrows

The number of rows to read, starting at the skipth row (default to -1, meaning all the rows).

flags

Parameter flags can be any combination of the following:

OCI_FETCHSTATEMENT_BY_ROW
OCI_FETCHSTATEMENT_BY_COLUMN (default value)
OCI_NUM
OCI_ASSOC

반환값

Returns the number of rows fetched or FALSE in case of an error.

예제

예 1530. oci_fetch_all() example

<?php
/* oci_fetch_all example mbritton at verinet dot com (990624) */

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "select * from emp");

oci_execute($stmt);

$nrows = oci_fetch_all($stmt, $results);
if ($nrows > 0) {
   echo "<table border=\"1\">\n";
   echo "<tr>\n";
   foreach ($results as $key => $val) {
      echo "<th>$key</th>\n";
   }
   echo "</tr>\n";

   for ($i = 0; $i < $nrows; $i++) {
      echo "<tr>\n";
      foreach ($results as $data) {
         echo "<td>$data[$i]</td>\n";
      }
      echo "</tr>\n";
   }
   echo "</table>\n";
} else {
   echo "No data found<br />\n";
}
echo "$nrows Records Selected<br />\n";

oci_free_statement($stmt);
oci_close($conn);
?>

주의

참고: In PHP versions before 5.0.0 you must use ocifetchstatement() instead. This name still can be used, it was left as alias of oci_fetch_all() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_execute | 처음으로 | oci_fetch_array


oci_fetch_array

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch_array -- Returns the next row from the result data as an associative or numeric array, or both

설명

array oci_fetch_array ( resource $statement [, int $mode] )

Returns an array, which corresponds to the next result row.

oci8 드라이버에서 수행하는 자료형 매핑에 대한 상세는 드라이버가 지원하는 자료형을 참고하십시오.

It should be mentioned here, that oci_fetch_array() is insignificantly slower, than oci_fetch_row(), but much more handy.

매개변수

statement

A valid OCI statement identifier.

statement

An optional second parameter can be any combination of the following constants:

OCI_BOTH - return an array with both associative and numeric indices (the same as OCI_ASSOC + OCI_NUM). This is the default behavior.
OCI_ASSOC - return an associative array (as oci_fetch_assoc() works).
OCI_NUM - return a numeric array, (as oci_fetch_row() works).
OCI_RETURN_NULLS - create empty elements for the NULL fields.
OCI_RETURN_LOBS - return the value of a LOB of the descriptor.

Default mode is OCI_BOTH.

반환값

Returns an array with both associative and numeric indices, or FALSE if there are no more rows in the statement.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고: Oracle returns all field names in uppercase and associative indices in the result array will be uppercased too.

예제

예 1531. oci_fetch_array() with OCI_BOTH example

<?php
$connection = oci_connect("apelsin", "kanistra");

$query = "SELECT id, name FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_BOTH)) {
    echo $row[0]." and ".$row['ID']." is the same<br>";
    echo $row[1]." and ".$row['NAME']." is the same<br>";
}
?>

예 1532. oci_fetch_array() with OCI_NUM example

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_NUM)) {
    echo $row[0]."<br>";
    echo $row[1]."<br>";
    echo $row[2]->read(100)."<br>";  //this will output first 100 bytes from LOB
}
?>

예 1533. oci_fetch_array() with OCI_ASSOC example

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_ASSOC)) {
    echo $row['ID']."<br>";
    echo $row['NAME']."<br>";
    echo $row['LOB_FIELD']."<br>";  //this will output "Object id #1"
}
?>

예 1534. oci_fetch_array() with OCI_RETURN_LOBS example

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, (OCI_NUM+OCI_RETURN_LOBS))) {
    echo $row[0]."<br>";
    echo $row[1]."<br>";
    echo $row['LOB_FIELD']."<br>";  //this will output LOB's content
}
?>

참고

oci_fetch_assoc()
oci_fetch_object()
oci_fetch_row()
oci_fetch_all()

이전 | 위로 | 다음
oci_fetch_all | 처음으로 | oci_fetch_assoc


oci_fetch_assoc

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch_assoc -- Returns the next row from the result data as an associative array

설명

array oci_fetch_assoc ( resource $statement )

Returns the next row from the result data as an associative array.

Calling oci_fetch_assoc() is identical to calling oci_fetch_array() with OCI_ASSOC.

A subsequent call to oci_fetch_assoc() will return the next row or FALSE if there are no more rows.

oci8 드라이버에서 수행하는 자료형 매핑에 대한 상세는 드라이버가 지원하는 자료형을 참고하십시오.

매개변수

statement

A valid OCI statement identifier.

반환값

Returns an associative array, or FALSE if there are no more rows in the statement.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고: Oracle returns all field names in uppercase and associative indices in the result array will be uppercased too.

참고

oci_fetch_array()
oci_fetch_object()
oci_fetch_row()
oci_fetch_all()

이전 | 위로 | 다음
oci_fetch_array | 처음으로 | oci_fetch_object


oci_fetch_object

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch_object -- Returns the next row from the result data as an object

설명

object oci_fetch_object ( resource $statement )

Returns the next row from the result data as an object.

Subsequent calls to oci_fetch_object() will return the next row from the result or FALSE if there are no more rows.

oci8 드라이버에서 수행하는 자료형 매핑에 대한 상세는 드라이버가 지원하는 자료형을 참고하십시오.

매개변수

statement

A valid OCI statement identifier.

반환값

Returns an object, which attributes correspond to fields in statement, or FALSE if there are no more rows in the statement.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고: Oracle returns all field names in uppercase and associative indices in the result object will be uppercased too.

참고

oci_fetch_array()
oci_fetch_assoc()
oci_fetch_row()
oci_fetch_all()

이전 | 위로 | 다음
oci_fetch_assoc | 처음으로 | oci_fetch_row


oci_fetch_row

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch_row -- Returns the next row from the result data as a numeric array

설명

array oci_fetch_row ( resource $statement )

Returns the next row from the result data as an indexed array.

Calling oci_fetch_row() is identical to calling oci_fetch_array() with OCI_NUM.

Subsequent calls to oci_fetch_row() will return the next row from the result data or FALSE if there are no more rows.

oci8 드라이버에서 수행하는 자료형 매핑에 대한 상세는 드라이버가 지원하는 자료형을 참고하십시오.

매개변수

statement

A valid OCI statement identifier.

반환값

Returns an indexed array with the field information, or FALSE if there are no more rows in the statement.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

참고

oci_fetch_array()
oci_fetch_assoc()
oci_fetch_object()
oci_fetch_all()

이전 | 위로 | 다음
oci_fetch_object | 처음으로 | oci_fetch


oci_fetch

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch -- Fetches the next row into result-buffer

설명

bool oci_fetch ( resource $statement )

Fetches the next row (for SELECT statements) into the internal result-buffer.

oci8 드라이버에서 수행하는 자료형 매핑에 대한 상세는 드라이버가 지원하는 자료형을 참고하십시오.

매개변수

statement

A valid OCI statement identifier.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: In PHP versions before 5.0.0 you must use ocifetch() instead. This name still can be used, it was left as alias of oci_fetch() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_fetch_row | 처음으로 | oci_field_is_null


oci_field_is_null

(PHP 5, PECL oci8:1.1-1.2.4)

oci_field_is_null -- Checks if the field is NULL

설명

bool oci_field_is_null ( resource $statement, mixed $field )

Checks if the given field from the statement is NULL.

매개변수

statement

A valid OCI statement identifier.

field

Can be a field's index or a field's name (uppercased).

반환값

Returns TRUE if field is NULL, FALSE otherwise.

주의

참고: In PHP versions before 5.0.0 you must use ocicolumnisnull() instead. This name still can be used, it was left as alias of oci_field_is_null() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_fetch | 처음으로 | oci_field_name


oci_field_name

(PHP 5, PECL oci8:1.1-1.2.4)

oci_field_name -- Returns the name of a field from the statement

설명

string oci_field_name ( resource $statement, int $field )

Returns the name of the field.

매개변수

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

반환값

Returns the name as a string, or FALSE on errors.

예제

예 1535. oci_field_name() example

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";
oci_free_statement($stmt);
oci_close($conn);
?>

주의

참고: In PHP versions before 5.0.0 you must use ocicolumnname() instead. This name still can be used, it was left as alias of oci_field_name() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_num_fields()
oci_field_type()
oci_field_size()

이전 | 위로 | 다음
oci_field_is_null | 처음으로 | oci_field_precision


oci_field_precision

(PHP 5, PECL oci8:1.1-1.2.4)

oci_field_precision -- Tell the precision of a field

설명

int oci_field_precision ( resource $statement, int $field )

Returns precision of the field.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

매개변수

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

반환값

Returns the precision as an integer, or FALSE on errors.

주의

참고: In PHP versions before 5.0.0 you must use ocicolumnprecision() instead. This name still can be used, it was left as alias of oci_field_precision() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_field_scale()
oci_field_type()

이전 | 위로 | 다음
oci_field_name | 처음으로 | oci_field_scale


oci_field_scale

(PHP 5, PECL oci8:1.1-1.2.4)

oci_field_scale -- Tell the scale of the field

설명

int oci_field_scale ( resource $statement, int $field )

Returns the scale of the column with field index.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

매개변수

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

반환값

Returns the scale as an integer, or FALSE on errors.

주의

참고: In PHP versions before 5.0.0 you must use ocicolumnscale() instead. This name still can be used, it was left as alias of oci_field_scale() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_field_precision()
oci_field_type()

이전 | 위로 | 다음
oci_field_precision | 처음으로 | oci_field_size


oci_field_size

(PHP 5, PECL oci8:1.1-1.2.4)

oci_field_size -- Returns field's size

설명

int oci_field_size ( resource $statement, mixed $field )

Returns the size of a field.

매개변수

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

반환값

Returns the size of a field in bytes, or FALSE on errors.

예제

예 1536. oci_field_size() example

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);
    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>";

oci_free_statement($stmt);
oci_close($conn);
?>

주의

참고: In PHP versions before 5.0.0 you must use ocicolumnsize() instead. This name still can be used, it was left as alias of oci_field_size() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_num_fields()
oci_field_name()

이전 | 위로 | 다음
oci_field_scale | 처음으로 | oci_field_type_raw


oci_field_type_raw

(PHP 5, PECL oci8:1.1-1.2.4)

oci_field_type_raw -- Tell the raw Oracle data type of the field

설명

int oci_field_type_raw ( resource $statement, int $field )

Returns Oracle's raw data type of the field.

However, if you want to get field's type, then oci_field_type() will suit you better.

매개변수

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

반환값

Returns Oracle's raw data type as a string, or FALSE on errors.

주의

참고: In PHP versions before 5.0.0 you must use ocicolumntyperaw() instead. This name still can be used, it was left as alias of oci_field_type_raw() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_field_size | 처음으로 | oci_field_type


oci_field_type

(PHP 5, PECL oci8:1.1-1.2.4)

oci_field_type -- Returns field's data type

설명

mixed oci_field_type ( resource $statement, int $field )

Returns a field's data type.

매개변수

statement

A valid OCI statement identifier.

field

Can be the field's index (1-based) or name.

반환값

Returns the field data type as a string, or FALSE on errors.

반환값

예 1537. oci_field_type() example

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);

echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";

$ncols = oci_num_fields($stmt);

for ($i = 1; $i <= $ncols; $i++) {
    $column_name  = oci_field_name($stmt, $i);
    $column_type  = oci_field_type($stmt, $i);
    $column_size  = oci_field_size($stmt, $i);

    echo "<tr>";
    echo "<td>$column_name</td>";
    echo "<td>$column_type</td>";
    echo "<td>$column_size</td>";
    echo "</tr>";
}

echo "</table>\n";

oci_free_statement($stmt);
oci_close($conn);
?>

주의

참고: In PHP versions before 5.0.0 you must use ocicolumntype() instead. This name still can be used, it was left as alias of oci_field_type() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_num_fields()
oci_field_name()
oci_field_size()

이전 | 위로 | 다음
oci_field_type_raw | 처음으로 | oci_free_statement


oci_free_statement

(PHP 5, PECL oci8:1.1-1.2.4)

oci_free_statement -- Frees all resources associated with statement or cursor

설명

bool oci_free_statement ( resource $statement )

Frees resources associated with Oracle's cursor or statement, which was received from as a result of oci_parse() or obtained from Oracle.

매개변수

statement

A valid OCI statement identifier.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
oci_field_type | 처음으로 | oci_internal_debug


oci_internal_debug

(PHP 5, PECL oci8:1.1-1.2.4)

oci_internal_debug -- Enables or disables internal debug output

설명

void oci_internal_debug ( bool $onoff )

Enables or disables internal debug output.

매개변수

onoff

Set this to FALSE to turn debug output off or TRUE to turn it on.

반환값

값을 반환하지 않습니다.

주의

참고: In PHP versions before 5.0.0 you must use ociinternaldebug() instead. This name still can be used, it was left as alias of oci_internal_debug() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_free_statement | 처음으로 | OCI-Lob->append


OCI-Lob->append

(No version information available, might be only in CVS)

OCI-Lob->append -- Appends data from the large object to another large object

설명

class OCI-Lob {
bool append ( OCI-Lob $lob_from )
}

Appends data from the large object to the end of another large object.

Writing to the large object with this method will fail if buffering was previously enabled. You must disable buffering before appending. You may need to flush buffers with OCI-Lob->flush before disabling buffering.

매개변수

lob_from

The copied LOB.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Lob->flush
OCI-Lob->setBuffering
OCI-Lob->getBuffering

이전 | 위로 | 다음
oci_internal_debug | 처음으로 | OCI-Lob->close


OCI-Lob->close

(No version information available, might be only in CVS)

OCI-Lob->close -- Closes LOB descriptor

설명

class OCI-Lob {
bool close ( void )
}

Closes descriptor of LOB or FILE. This function should be used only with OCI-Lob->writeTemporary.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Lob->writeTemporary

이전 | 위로 | 다음
OCI-Lob->append | 처음으로 | oci_lob_copy


oci_lob_copy

(PHP 5, PECL oci8:1.1-1.2.4)

oci_lob_copy -- Copies large object

설명

bool oci_lob_copy ( OCI-Lob $lob_to, OCI-Lob $lob_from [, int $length] )

Copies a large object or a part of a large object to another large object. Old LOB-recipient data will be overwritten.

If you need to copy a particular part of a LOB to a particular position of a LOB, use oci_lob_seek() to move LOB internal pointers.

매개변수

lob_to

The destination LOB.

lob_from

The copied LOB.

length

Indicates the length of data to be copied.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
OCI-Lob->close | 처음으로 | OCI-Lob->eof


OCI-Lob->eof

(No version information available, might be only in CVS)

OCI-Lob->eof -- Tests for end-of-file on a large object's descriptor

설명

class OCI-Lob {
bool eof ( void )
}

Tells whether the internal pointer of large object is at the end of LOB.

반환값

Returns TRUE if internal pointer of large object is at the end of LOB. Otherwise returns FALSE.

참고

OCI-Lob->size

이전 | 위로 | 다음
oci_lob_copy | 처음으로 | OCI-Lob->erase


OCI-Lob->erase

(No version information available, might be only in CVS)

OCI-Lob->erase -- Erases a specified portion of the internal LOB data

설명

class OCI-Lob {
int erase ( [int $offset [, int $length]] )
}

Erases a specified portion of the internal LOB data starting at a specified offset. If called without parameters, it erases all LOB data.

For BLOBs, erasing means that the existing LOB value is overwritten with zero-bytes. For CLOBs, the existing LOB value is overwritten with spaces.

매개변수

offset

length

반환값

Returns the actual number of characters/bytes erased or FALSE in case of error.

참고

OCI-Lob->truncate

이전 | 위로 | 다음
OCI-Lob->eof | 처음으로 | OCI-Lob->export


OCI-Lob->export

(No version information available, might be only in CVS)

OCI-Lob->export -- Exports LOB's contents to a file

설명

class OCI-Lob {
bool export ( string $filename [, int $start [, int $length]] )
}

Exports LOB contents to a file.

매개변수

filename

Path to the file.

start

Indicates from where to start exporting.

length

Indicates the length of data to be exported.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Lob->import

이전 | 위로 | 다음
OCI-Lob->erase | 처음으로 | OCI-Lob->flush


OCI-Lob->flush

(No version information available, might be only in CVS)

OCI-Lob->flush -- Flushes/writes buffer of the LOB to the server

설명

class OCI-Lob {
bool flush ( [int $flag] )
}

OCI-Lob->flush() actually writes data to the server.

매개변수

flag

By default, resources are not freed, but using flag OCI_LOB_BUFFER_FREE you can do it explicitly. Be sure you know what you're doing - next read/write operation to the same part of LOB will involve a round-trip to the server and initialize new buffer resources. It is recommended to use OCI_LOB_BUFFER_FREE flag only when you are not going to work with the LOB anymore.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

Returns FALSE if buffering was not enabled or an error occurred.

참고

OCI-Lob->getBuffering
OCI-Lob->setBuffering

이전 | 위로 | 다음
OCI-Lob->export | 처음으로 | OCI-Lob->free


OCI-Lob->import

(No version information available, might be only in CVS)

OCI-Lob->import -- Imports file data to the LOB

설명

class OCI-Lob {
bool import ( string $filename )
}

Writes data from the filename in to the current position of large object.

매개변수

filename

Path to the file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Lob->export
OCI-Lob->write

이전 | 위로 | 다음
OCI-Lob->getBuffering | 처음으로 | oci_lob_is_equal


oci_lob_is_equal

(PHP 5, PECL oci8:1.1-1.2.4)

oci_lob_is_equal -- Compares two LOB/FILE locators for equality

설명

bool oci_lob_is_equal ( OCI-Lob $lob1, OCI-Lob $lob2 )

Compares two LOB/FILE locators.

매개변수

lob1

A LOB identifier.

lob2

A LOB identifier.

반환값

Returns TRUE if these objects are equal, FALSE otherwise.

이전 | 위로 | 다음
OCI-Lob->import | 처음으로 | OCI-Lob->load


OCI-Lob->load

(No version information available, might be only in CVS)

OCI-Lob->load -- Returns large object's contents

설명

class OCI-Lob {
string load ( void )
}

Returns large object's contents. As script execution is terminated when the memory_limit is reached, ensure that the LOB does not exceed this limit. In most cases it's recommended to use OCI-Lob->read instead.

반환값

Returns the contents of the object, or FALSE on errors.

참고

OCI-Lob->read

이전 | 위로 | 다음
oci_lob_is_equal | 처음으로 | OCI-Lob->read


OCI-Lob->read

(No version information available, might be only in CVS)

OCI-Lob->read -- Reads part of the large object

설명

class OCI-Lob {
string read ( int $length )
}

Reads length bytes from the current position of LOB's internal pointer.

Reading stops when length bytes have been read or end of the large object is reached. Internal pointer of the large object will be shifted on the amount of bytes read.

매개변수

length

The length of data to read, in bytes.

반환값

Returns the contents as a string, or FALSE in case of error.

참고

OCI-Lob->load
OCI-Lob->write

이전 | 위로 | 다음
OCI-Lob->load | 처음으로 | OCI-Lob->rewind


OCI-Lob->rewind

(No version information available, might be only in CVS)

OCI-Lob->rewind -- Moves the internal pointer to the beginning of the large object

설명

class OCI-Lob {
bool rewind ( void )
}

Sets the internal pointer to the beginning of the large object.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Lob->seek
OCI-Lob->tell

이전 | 위로 | 다음
OCI-Lob->read | 처음으로 | OCI-Lob->save


OCI-Lob->save

(No version information available, might be only in CVS)

OCI-Lob->save -- Saves data to the large object

설명

class OCI-Lob {
bool save ( string $data [, int $offset] )
}

Saves data to the large object.

매개변수

data

The data to be saved.

offset

Can be used to indicate offset from the beginning of the large object.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Lob->write
OCI-Lob->import

이전 | 위로 | 다음
OCI-Lob->rewind | 처음으로 | OCI-Lob->saveFile


OCI-Lob->seek

(No version information available, might be only in CVS)

OCI-Lob->seek -- Sets the internal pointer of the large object

설명

class OCI-Lob {
bool seek ( int $offset [, int $whence] )
}

Sets the internal pointer of the large object.

매개변수

offset

Indicates the amount of bytes, on which internal pointer should be moved from the position, pointed by whence.

whence

May be one of:

OCI_SEEK_SET - sets the position equal to offset
OCI_SEEK_CUR - adds offset bytes to the current position
OCI_SEEK_END - adds offset bytes to the end of large object (use negative value to move to a position before the end of large object)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Lob->rewind
OCI-Lob->tell
OCI-Lob->eof

이전 | 위로 | 다음
OCI-Lob->saveFile | 처음으로 | OCI-Lob->setBuffering


OCI-Lob->size

(No version information available, might be only in CVS)

OCI-Lob->size -- Returns size of large object

설명

class OCI-Lob {
int size ( void )
}

Gets the size of the large object.

반환값

Returns length of large object value or FALSE in case of error. Empty objects have zero length.

이전 | 위로 | 다음
OCI-Lob->setBuffering | 처음으로 | OCI-Lob->tell


OCI-Lob->tell

(No version information available, might be only in CVS)

OCI-Lob->tell -- Returns current position of internal pointer of large object

설명

class OCI-Lob {
int tell ( void )
}

Gets the current position of a LOB's internal pointer.

반환값

Returns current position of a LOB's internal pointer or FALSE if an error occurred.

참고

OCI-Lob->rewind
OCI-Lob->size
OCI-Lob->eof

이전 | 위로 | 다음
OCI-Lob->size | 처음으로 | OCI-Lob->truncate


OCI-Lob->truncate

(No version information available, might be only in CVS)

OCI-Lob->truncate -- Truncates large object

설명

class OCI-Lob {
bool truncate ( [int $length] )
}

Truncates the LOB.

매개변수

length

If provided, this method will truncate the LOB to length bytes. Otherwise, it will completrely purge the LOB.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Lob->erase

이전 | 위로 | 다음
OCI-Lob->tell | 처음으로 | OCI-Lob->write


OCI-Lob->write

(No version information available, might be only in CVS)

OCI-Lob->write -- Writes data to the large object

설명

class OCI-Lob {
int write ( string $data [, int $length] )
}

Writes data from the parameter data into the current position of LOB's internal pointer.

매개변수

data

The data to write in the LOB.

length

If this parameter is given, writing will stop after length bytes have been written or the end of data is reached, whichever comes first.

반환값

Returns the number of bytes written or FALSE in case of error.

참고

OCI-Lob->read

이전 | 위로 | 다음
OCI-Lob->truncate | 처음으로 | OCI-Lob->writeTemporary


oci_new_collection

(PHP 5, PECL oci8:1.1-1.2.4)

oci_new_collection -- Allocates new collection object

설명

OCI-Collection oci_new_collection ( resource $connection, string $tdo [, string $schema] )

Allocates a new collection object.

매개변수

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

tdo

Should be a valid named type (uppercase).

schema

Should point to the scheme, where the named type was created. The name of the current user is the default value.

반환값

Returns a new OCICollection object or FALSE on error.

주의

참고: In PHP versions before 5.0.0 you must use ocinewcollection() instead. This name still can be used, it was left as alias of oci_new_collection() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
OCI-Lob->writeToFile | 처음으로 | oci_new_connect


oci_new_connect

(PHP 5, PECL oci8:1.1-1.2.4)

oci_new_connect -- Establishes a new connection to the Oracle server

설명

resource oci_new_connect ( string $username, string $password [, string $db [, string $charset [, int $session_mode]]] )

Establishes a new connection to an Oracle server and logs on.

Unlike oci_connect() and oci_pconnect(), oci_new_connect() does not cache connections and will always return a brand-new freshly opened connection handle. This is useful if your application needs transactional isolation between two sets of queries.

매개변수

username

The Oracle user name.

password

The password for username.

db

This optional parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora.

If the not specified, PHP uses environment variables ORACLE_SID and TWO_TASK to determine the name of local Oracle instance and location of tnsnames.ora accordingly.

charset

오라클 서버 버전 9.2 이상을 사용하면, 새로운 연결에 사용할 charset 인수를 지정할 수 있습니다. 오라클 서버 < 9.2를 사용한다면, 이 인수는 무시되고, 대신 NLS_LANG 환경 변수를 사용합니다.

session_mode

This parameter is available since version 1.1 and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.

반환값

Returns a connection identifier or FALSE on error.

예제

The following demonstrates how you can separate connections.

예 1538. oci_new_connect() example

<?php
echo "<html><pre>";
$db = "";

$c1 = oci_connect("scott", "tiger", $db);
$c2 = oci_new_connect("scott", "tiger", $db);

function create_table($conn)
{
  $stmt = oci_parse($conn, "create table scott.hallo (test
varchar2(64))");
  oci_execute($stmt);
  echo $conn . " created table\n\n";
}

function drop_table($conn)
{
  $stmt = oci_parse($conn, "drop table scott.hallo");
  oci_execute($stmt);
  echo $conn . " dropped table\n\n";
}

function insert_data($conn)
{
  $stmt = oci_parse($conn, "insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " inserted hallo\n\n";
}

function delete_data($conn)
{
  $stmt = oci_parse($conn, "delete from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . " deleted hallo\n\n";
}

function commit($conn)
{
  oci_commit($conn);
  echo $conn . " committed\n\n";
}

function rollback($conn)
{
  oci_rollback($conn);
  echo $conn . " rollback\n\n";
}

function select_data($conn)
{
  $stmt = oci_parse($conn, "select * from scott.hallo");
  oci_execute($stmt, OCI_DEFAULT);
  echo $conn . "----selecting\n\n";
  while (oci_fetch($stmt)) {
    echo $conn . " <" . oci_result($stmt, "TEST") . ">\n\n";
  }
  echo $conn . "----done\n\n";
}

create_table($c1);
insert_data($c1);

select_data($c1);
select_data($c2);

rollback($c1);

select_data($c1);
select_data($c2);

insert_data($c2);
commit($c2);

select_data($c1);

delete_data($c1);
select_data($c1);
select_data($c2);
commit($c1);

select_data($c1);
select_data($c2);

drop_table($c1);
echo "</pre></html>";
?>

주의

참고: If you're using PHP with Oracle Instant Client, you can use easy connect naming method described here: » http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306. Basically this means you can specify "//db_host[:port]/database_name" as database name. But if you want to use the old way of naming you must set either ORACLE_HOME or TNS_ADMIN.

참고: In PHP versions before 5.0.0 you must use ocinlogon() instead. This name still can be used, it was left as alias of oci_new_connect() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_connect()
oci_pconnect()

이전 | 위로 | 다음
oci_new_collection | 처음으로 | oci_new_cursor


oci_new_cursor

(PHP 5, PECL oci8:1.1-1.2.4)

oci_new_cursor -- Allocates and returns a new cursor (statement handle)

설명

resource oci_new_cursor ( resource $connection )

Allocates a new statement handle on the specified connection.

매개변수

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

반환값

Returns a new statement handle, or FALSE on error.

예제

예 1539. Using REF CURSOR in an Oracle's stored procedure

<?php
// suppose your stored procedure info.output returns a ref cursor in :data

$conn = oci_connect("scott", "tiger");
$curs = oci_new_cursor($conn);
$stmt = oci_parse($conn, "begin info.output(:data); end;");

oci_bind_by_name($stmt, "data", $curs, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_execute($curs);

while ($data = oci_fetch_row($curs)) {
    var_dump($data);
}

oci_free_statement($stmt);
oci_free_statement($curs);
oci_close($conn);
?>

예 1540. Using REF CURSOR in an Oracle's select statement

<?php
echo "<html><body>";
$conn = oci_connect("scott", "tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
                "where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = oci_parse($conn, "select deptno,dname,$count_cursor");

oci_execute($stmt);
echo "<table border=\"1\">";
echo "<tr>";
echo "<th>DEPT NAME</th>";
echo "<th>DEPT #</th>";
echo "<th># EMPLOYEES</th>";
echo "</tr>";

while ($data = oci_fetch_assoc($stmt)) {
    echo "<tr>";
    $dname  = $data["DNAME"];
    $deptno = $data["DEPTNO"];
    echo "<td>$dname</td>";
    echo "<td>$deptno</td>";
    oci_execute($data["EMPCNT"]);
    while ($subdata = oci_fetch_assoc($data["EMPCNT"])) {
        $num_emps = $subdata["NUM_EMPS"];
        echo  "<td>$num_emps</td>";
    }
    echo "</tr>";
}
echo "</table>";
echo "</body></html>";
oci_free_statement($stmt);
oci_close($conn);
?>

주의

참고: In PHP versions before 5.0.0 you must use ocinewcursor() instead. This name still can be used, it was left as alias of oci_new_cursor() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_new_connect | 처음으로 | oci_new_descriptor


oci_new_descriptor

(PHP 5, PECL oci8:1.1-1.2.4)

oci_new_descriptor -- Initializes a new empty LOB or FILE descriptor

설명

OCI-Lob oci_new_descriptor ( resource $connection [, int $type] )

Allocates resources to hold descriptor or LOB locator.

매개변수

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

type

Valid values for type are: OCI_D_FILE, OCI_D_LOB and OCI_D_ROWID.

반환값

Returns a new LOB or FILE descriptor on success, FALSE on error.

예제

예 1541. oci_new_descriptor() example

<?php
/* This script is designed to be called from a HTML form.
* It expects $user, $password, $table, $where, and $commitsize
* to be passed in from the form.  The script then deletes
* the selected rows using the ROWID and commits after each
* set of $commitsize rows. (Use with care, there is no rollback)
*/
$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "select rowid from $table $where");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid);
oci_execute($stmt);
while (oci_fetch($stmt)) {
$nrows = oci_num_rows($stmt);
$delete = oci_parse($conn, "delete from $table where ROWID = :rid");
oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
oci_execute($delete);
echo "$nrows\n";
if (($nrows % $commitsize) == 0) {
oci_commit($conn);
}
}
$nrows = oci_num_rows($stmt);
echo "$nrows deleted...\n";
oci_free_statement($stmt);
oci_close($conn);
?>

<?php
/* This script demonstrates file upload to LOB columns
* The formfield used for this example looks like this
* <form action="upload.php" method="post" enctype="multipart/form-data">
* <input type="file" name="lob_upload" />
* ...
*/
if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
} else {

// $lob_upload contains the temporary filename of the uploaded file

// see also the features section on file upload,
// if you would like to use secure uploads

$conn = oci_connect($user, $password);
$lob = oci_new_descriptor($conn, OCI_D_LOB);
$stmt = oci_parse($conn, "insert into $table (id, the_blob)
values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
oci_bind_by_name($stmt, ':the_blob', $lob, -1, OCI_B_BLOB);
oci_execute($stmt, OCI_DEFAULT);
if ($lob->savefile($lob_upload)){
oci_commit($conn);
echo "Blob successfully uploaded\n";
}else{
echo "Couldn't upload Blob\n";
}
oci_free_descriptor($lob);
oci_free_statement($stmt);
oci_close($conn);
}
?>

예 1542. oci_new_descriptor() example

<?php
/* Calling PL/SQL stored procedures which contain clobs as input
 * parameters (PHP 4 >= 4.0.6).
 * Example PL/SQL stored procedure signature is:
 *
 * PROCEDURE save_data
 *   Argument Name                  Type                    In/Out Default?
 *   ------------------------------ ----------------------- ------ --------
 *   KEY                            NUMBER(38)              IN
 *   DATA                           CLOB                    IN
 *
 */

$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stmt, ':key', $key);
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
$clob->write($data);
oci_execute($stmt, OCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

주의

참고: In PHP versions before 5.0.0 you must use ocinewdescriptor() instead. This name still can be used, it was left as alias of oci_new_descriptor() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_new_cursor | 처음으로 | oci_num_fields


oci_num_fields

(PHP 5, PECL oci8:1.1-1.2.4)

oci_num_fields -- Returns the number of result columns in a statement

설명

int oci_num_fields ( resource $statement )

Gets the number of columns in the given statement.

매개변수

statement

A valid OCI statement identifier.

반환값

Returns the number of columns as an integer, or FALSE on errors.

예제

예 1543. oci_num_fields() example

<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "select * from emp");

oci_execute($stmt);

while (oci_fetch($stmt)) {
    echo "\n";
    $ncols = oci_num_fields($stmt);
    for ($i = 1; $i <= $ncols; $i++) {
        $column_name  = oci_field_name($stmt, $i);
        $column_value = oci_result($stmt, $i);
        echo $column_name . ': ' . $column_value . "\n";
    }
    echo "\n";
}

oci_free_statement($stmt);
oci_close($conn);
?>

주의

참고: In PHP versions before 5.0.0 you must use ocinumcols() instead. This name still can be used, it was left as alias of oci_num_fields() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_new_descriptor | 처음으로 | oci_num_rows


oci_num_rows

(PHP 5, PECL oci8:1.1-1.2.4)

oci_num_rows -- Returns number of rows affected during statement execution

설명

int oci_num_rows ( resource $statement )

Gets the number of rows affected during statement execution.

매개변수

statement

A valid OCI statement identifier.

반환값

Returns the number of rows affected as an integer, or FALSE on errors.

예제

예 1544. oci_num_rows() example

<?php
$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "create table emp2 as select * from emp");
oci_execute($stmt);
echo oci_num_rows($stmt) . " rows inserted.<br />";
oci_free_statement($stmt);

$stmt = oci_parse($conn, "delete from emp2");
oci_execute($stmt, OCI_DEFAULT);
echo oci_num_rows($stmt) . " rows deleted.<br />";
oci_commit($conn);
oci_free_statement($stmt);

$stmt = oci_parse($conn, "drop table emp2");
oci_execute($stmt);
oci_free_statement($stmt);

oci_close($conn);
?>

주의

참고: This function does not return number of rows selected! For SELECT statements this function will return the number of rows, that were fetched to the buffer with oci_fetch*() functions.

참고: In PHP versions before 5.0.0 you must use ocirowcount() instead. This name still can be used, it was left as alias of oci_num_rows() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_num_fields | 처음으로 | oci_parse


oci_parse

(PHP 5, PECL oci8:1.1-1.2.4)

oci_parse -- Prepares Oracle statement for execution

설명

resource oci_parse ( resource $connection, string $query )

Prepares the queryusing connection and returns the statement identifier, which can be used with oci_bind_by_name(), oci_execute() and other functions.

매개변수

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

query

The SQL query.

반환값

Returns a statement handler on success, or FALSE on error.

주의

참고: This function does not validate query. The only way to find out if query is valid SQL or PL/SQL statement - is to execute it.

참고: In PHP versions before 5.0.0 you must use ociparse() instead. This name still can be used, it was left as alias of oci_parse() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_num_rows | 처음으로 | oci_password_change


oci_password_change

(PHP 5, PECL oci8:1.1-1.2.4)

oci_password_change -- Changes password of Oracle's user

설명

bool oci_password_change ( resource $connection, string $username, string $old_password, string $new_password )
resource oci_password_change ( string $dbname, string $username, string $old_password, string $new_password )

Changes password for user with username.

매개변수

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

username

The Oracle user name.

old_password

The old password.

new_password

The new password to be set.

dbname

The database name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: The second oci_password_change() syntax is available since version 1.1.

참고: In PHP versions before 5.0.0 you must use ocipasswordchange() instead. This name still can be used, it was left as alias of oci_password_change() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_parse | 처음으로 | oci_pconnect


oci_pconnect

(PHP 5, PECL oci8:1.1-1.2.4)

oci_pconnect -- Connect to an Oracle database using a persistent connection

설명

resource oci_pconnect ( string $username, string $password [, string $db [, string $charset [, int $session_mode]]] )

Creates a persistent connection to an Oracle server and logs on.

Persistent connections are cached and re-used between requests, resulting in reduced overhead on each page load; a typical PHP application will have a single persistent connection open against an Oracle server per Apache child process (or PHP FastCGI/CGI process). See the Persistent Database Connections section for more information.

매개변수

username

The Oracle user name.

password

The password for username.

db

This optional parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora.

If the not specified, PHP uses environment variables ORACLE_SID and TWO_TASK to determine the name of local Oracle instance and location of tnsnames.ora accordingly.

charset

오라클 서버 버전 9.2 이상을 사용하면, 새로운 연결에 사용할 charset 인수를 지정할 수 있습니다. 오라클 서버 < 9.2를 사용한다면, 이 인수는 무시되고, 대신 NLS_LANG 환경 변수를 사용합니다.

session_mode

This parameter is available since version 1.1 and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.

반환값

Returns a connection identifier or FALSE on error.

주의

참고: Starting with version 1.1 of the oci8 extension, the lifetime and maximum amount of persistent Oracle connections can be tuned by setting the following configuration values: oci8.persistent_timeout, oci8.ping_interval and oci8.max_persistent.

참고: If you're using PHP with Oracle Instant Client, you can use easy connect naming method described here: » http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306. Basically this means you can specify "//db_host[:port]/database_name" as database name. But if you want to use the old way of naming you must set either ORACLE_HOME or TNS_ADMIN.

참고: In PHP versions before 5.0.0 you must use ociplogon() instead. This name still can be used, it was left as alias of oci_pconnect() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_connect()
oci_new_connect()

이전 | 위로 | 다음
oci_password_change | 처음으로 | oci_result


oci_result

(PHP 5, PECL oci8:1.1-1.2.4)

oci_result -- Returns field's value from the fetched row

설명

mixed oci_result ( resource $statement, mixed $field )

Returns the data from field in the current row, fetched by oci_fetch().

oci8 드라이버에서 수행하는 자료형 매핑에 대한 상세는 드라이버가 지원하는 자료형을 참고하십시오.

매개변수

statement

field

Can be either use the column number (1-based) or the column name (in uppercase).

반환값

Returns everything as strings except for abstract types (ROWIDs, LOBs and FILEs). Returns FALSE on error.

주의

참고: In PHP versions before 5.0.0 you must use ociresult() instead. This name still can be used, it was left as alias of oci_result() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_fetch_array()
oci_fetch_assoc()
oci_fetch_object()
oci_fetch_row()
oci_fetch_all()

이전 | 위로 | 다음
oci_pconnect | 처음으로 | oci_rollback


oci_rollback

(PHP 5, PECL oci8:1.1-1.2.4)

oci_rollback -- Rolls back outstanding transaction

설명

bool oci_rollback ( resource $connection )

Rolls back all outstanding statements for the Oracle connection.

매개변수

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction, or oci_rollback() to abort it.

참고: In PHP versions before 5.0.0 you must use ocirollback() instead. This name still can be used, it was left as alias of oci_rollback() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci_commit()

이전 | 위로 | 다음
oci_result | 처음으로 | oci_server_version


oci_server_version

(PHP 5, PECL oci8:1.1-1.2.4)

oci_server_version -- Returns server version

설명

string oci_server_version ( resource $connection )

Returns a string with version information of the Oracle server, which uses the provided connection.

매개변수

connection

반환값

Returns the version information as a string or FALSE on error.

예제

예 1545. oci_server_version() example

<?php
    $conn = oci_connect("scott", "tiger");
    echo "Server Version: " . oci_server_version($conn);
    oci_close($conn);
?>

주의

참고: In PHP versions before 5.0.0 you must use ociserverversion() instead. This name still can be used, it was left as alias of oci_server_version() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_rollback | 처음으로 | oci_set_prefetch


oci_set_prefetch

(PHP 5, PECL oci8:1.1-1.2.4)

oci_set_prefetch -- Sets number of rows to be prefetched

설명

bool oci_set_prefetch ( resource $statement, int $rows )

Sets the number of rows to be prefetched after successful call to oci_execute().

매개변수

statement

rows

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: In PHP versions before 5.0.0 you must use ocisetprefetch() instead. This name still can be used, it was left as alias of oci_set_prefetch() for downwards compatability. This, however, is deprecated and not recommended.

참고

oci8_.default_prefetch ini option

이전 | 위로 | 다음
oci_server_version | 처음으로 | oci_statement_type


oci_statement_type

(PHP 5, PECL oci8:1.1-1.2.4)

oci_statement_type -- Returns the type of an OCI statement

설명

string oci_statement_type ( resource $statement )

Returns the type of the provided OCI statement.

매개변수

statement

A valid OCI statement identifier.

반환값

Returns the query type ofstatement as one of the following values:

  1. SELECT
  2. UPDATE
  3. DELETE
  4. INSERT
  5. CREATE
  6. DROP
  7. ALTER
  8. BEGIN
  9. DECLARE
  10. CALL (since PHP 5.2.1 and OCI8 1.2.3)
  11. UNKNOWN
Returns FALSE on error.

예제

예 1546. oci_statement_type() example

<?php
    $conn = oci_connect("scott", "tiger");
    $sql  = "delete from emp where deptno = 10";

    $stmt = oci_parse($conn, $sql);
    if (oci_statement_type($stmt) == "DELETE") {
        die("You are not allowed to delete from this table<br />");
    }

    oci_close($conn);
?>

주의

참고: In PHP versions before 5.0.0 you must use ocistatementtype() instead. This name still can be used, it was left as alias of oci_statement_type() for downwards compatability. This, however, is deprecated and not recommended.

이전 | 위로 | 다음
oci_set_prefetch | 처음으로 | OCIBindByName


OCIBindByName

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIBindByName -- 오라클 위치보유자(Placeholder)를 PHP 변수에 연계(bind)시킨다.

Description

int OCIBindByName ( int $stmt, string $ph_name, mixed & $variable, int $length [, int $ type] )

OCIBindByName()함수는 PHP 변수 variable에 오라클 위치보유자(Oracle placeholder)인 ph_name변수에 연계시킨다. 용도가 입력인지 출력인지는 실시간으로 결정될것이고, 충분한 저장 공간이 할당될 필요가 있다. length인수 는 연계를 위한 최대 용량을 세팅한다. length인수를 -1로 세팅하면 OCIBindByName()함수는 연계를 위한 최대 용량을 variable의 현재 용량으로 사용할것이다.

추상형 데이터타입(LOB/ROWID/BFILE)을 연계 할 필요가 있다면 우선은 OCINewDescriptor()함수를 사용해서 변수를 할당해야 한다. length인수는 추상형 데이터타입 을 위해 사용되지 않는다. 이때 이 값은 -1이 되어야 한다. type변수는 오라클에서 현재 어떤 종류의 descriptor가 사용되는지 알려준다. 가능한 값은 다음과 같다: OCI_B_FILE (Binary-File), OCI_B_CFILE (Character-File), OCI_B_CLOB (Character-LOB), OCI_B_BLOB (Binary-LOB) and OCI_B_ROWID (ROWID).

예 1547. OCIDefineByName

<?php
/* OCIBindByPos example thies@thieso.net (980221)
  inserts 3 records into emp, and uses the ROWID for updating the
  records just after the insert.
*/

$conn = OCILogon("scott","tiger");

$stmt = OCIParse($conn,"insert into emp (empno, ename) ".
               "values (:empno,:ename) ".
               "returning ROWID into :rid");

$data = array(1111 => "Larry", 2222 => "Bill", 3333 => "Jim");

$rowid = OCINewDescriptor($conn,OCI_D_ROWID);

OCIBindByName($stmt,":empno",&amp;$empno,32);
OCIBindByName($stmt,":ename",&amp;$ename,32);
OCIBindByName($stmt,":rid",&amp;$rowid,-1,OCI_B_ROWID);

$update = OCIParse($conn,"update emp set sal = :sal where ROWID = :rid");
OCIBindByName($update,":rid",&amp;$rowid,-1,OCI_B_ROWID);
OCIBindByName($update,":sal",&amp;$sal,32);

$sal = 10000;

while (list($empno,$ename) = each($data)) {
    OCIExecute($stmt);
    OCIExecute($update);
}

$rowid->free();

OCIFreeStatement($update);
OCIFreeStatement($stmt);

$stmt = OCIParse($conn,"select * from emp where empno in (1111,2222,3333)");
OCIExecute($stmt);
while (OCIFetchInto($stmt,&amp;$arr,OCI_ASSOC)) {
    var_dump($arr);
}
OCIFreeStatement($stmt);

/* delete our "junk" from the emp table.... */
$stmt = OCIParse($conn,"delete from emp where empno in (1111,2222,3333)");
OCIExecute($stmt);
OCIFreeStatement($stmt);

OCILogoff($conn);
?>

주의

It is a bad idea to use magic quotes and OciBindByName() simultaneously as no quoting is needed on quoted variables and any quotes magically applied will be written into your database as OciBindByName() is not able to distinguish magically added quotings from those added by intention.

이전 | 위로 | 다음
oci_statement_type | 처음으로 | OCICancel


OCICancel

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCICancel -- 커서로부터 읽기를 취소한다

Description

int OCICancel ( int $stmt )

커서로부터 더이상 데이터를 읽기를 원치않으면, OCICancel()함수를 쓰라.

이전 | 위로 | 다음
OCIBindByName | 처음으로 | ocicloselob


ocicloselob

(PHP 4 >= 4.0.6, PECL oci8:1.0)

ocicloselob -- Alias of OCI-Lob->close

설명

이 함수는 다음 함수의 alias입니다: OCI-Lob->close.

이전 | 위로 | 다음
OCICancel | 처음으로 | ocicollappend


ocicollappend

(PHP 4 >= 4.0.6, PHP 5, PECL oci8:1.0-1.2.4)

ocicollappend -- Alias of OCI-Collection->append

설명

이 함수는 다음 함수의 alias입니다: OCI-Collection->append.

이전 | 위로 | 다음
ocicloselob | 처음으로 | ocicollassign


ocicollassign

(PHP 4 >= 4.0.6, PECL oci8:1.0)

ocicollassign -- Alias of OCI-Collection->assign

설명

이 함수는 다음 함수의 alias입니다: OCI-Collection->assign.

이전 | 위로 | 다음
ocicollappend | 처음으로 | ocicollassignelem


ocicollassignelem

(PHP 4 >= 4.0.6, PHP 5, PECL oci8:1.0-1.2.4)

ocicollassignelem -- Alias of OCI-Collection->assignElem

설명

이 함수는 다음 함수의 alias입니다: OCI-Collection->assignElem.

이전 | 위로 | 다음
ocicollassign | 처음으로 | ocicollgetelem


ocicollgetelem

(PHP 4 >= 4.0.6, PHP 5, PECL oci8:1.0-1.2.4)

ocicollgetelem -- Alias of OCI-Collection->getElem

설명

이 함수는 다음 함수의 alias입니다: OCI-Collection->getElem.

이전 | 위로 | 다음
ocicollassignelem | 처음으로 | ocicollmax


ocicollmax

(PHP 4 >= 4.0.6, PHP 5, PECL oci8:1.0-1.2.4)

ocicollmax -- Alias of OCI-Collection->max

설명

이 함수는 다음 함수의 alias입니다: OCI-Collection->max.

이전 | 위로 | 다음
ocicollgetelem | 처음으로 | ocicollsize


ocicollsize

(PHP 4 >= 4.0.6, PHP 5, PECL oci8:1.0-1.2.4)

ocicollsize -- Alias of OCI-Collection->size

설명

이 함수는 다음 함수의 alias입니다: OCI-Collection->size.

이전 | 위로 | 다음
ocicollmax | 처음으로 | ocicolltrim


ocicolltrim

(PHP 4 >= 4.0.6, PHP 5, PECL oci8:1.0-1.2.4)

ocicolltrim -- Alias of OCI-Collection->trim

설명

이 함수는 다음 함수의 alias입니다: OCI-Collection->trim.

이전 | 위로 | 다음
ocicollsize | 처음으로 | OCIColumnIsNULL


OCIColumnIsNULL

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIColumnIsNULL -- 결과 컬럼이 널(NULL)인지 테스트한다

Description

int OCIColumnIsNULL ( int $stmt, mixed $column )

OCIColumnIsNULL()함수는 구문 stmt의 결과값에서 리턴된 컬럼 column 값이 널(NULL)이면 TRUE를 리턴한다. col 인수를 위해 컬럼 숫자(column-number(1-Based))나 컬럼 이름(column-name)을 사용할 수 있다.

이전 | 위로 | 다음
ocicolltrim | 처음으로 | OCIColumnName


OCIColumnName

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIColumnName -- 컬럼의 이름을 리턴한다.

Description

string OCIColumnName ( int $stmt, int $col )

OCIColumnName() 함수는 컬럼 숫자(1-based)에 부합되는 컬럼 이름을 리턴한다.

예 1548. OCIColumnName

<?php
    print "<HTML><PRE>\n";
    $conn = OCILogon("scott", "tiger");
    $stmt = OCIParse($conn,"select * from emp");
    OCIExecute($stmt);
    print "<TABLE BORDER=\"1\">";
    print "<TR>";
    print "<TH>Name</TH>";
    print "<TH>Type</TH>";
    print "<TH>Length</TH>";
    print "</TR>";
    $ncols = OCINumCols($stmt);
    for ( $i = 1; $i <= $ncols; $i++ ) {
        $column_name  = OCIColumnName($stmt,$i);
        $column_type  = OCIColumnType($stmt,$i);
        $column_size  = OCIColumnSize($stmt,$i);
        print "<TR>";
        print "<TD>$column_name</TD>";
        print "<TD>$column_type</TD>";
        print "<TD>$column_size</TD>";
        print "</TR>";
    }
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    print "</PRE>";
    print "</HTML>\n";
?>

See also OCINumCols(),
OCIColumnType(),
and OCIColumnSize().

이전 | 위로 | 다음
OCIColumnIsNULL | 처음으로 | ocicolumnprecision


ocicolumnprecision

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

ocicolumnprecision -- Alias of oci_field_precision()

설명

이 함수는 다음 함수의 alias입니다: oci_field_precision().

이전 | 위로 | 다음
OCIColumnName | 처음으로 | ocicolumnscale


ocicolumnscale

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

ocicolumnscale -- Alias of oci_field_scale()

설명

이 함수는 다음 함수의 alias입니다: oci_field_scale().

이전 | 위로 | 다음
ocicolumnprecision | 처음으로 | OCIColumnSize


OCIColumnSize

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIColumnSize -- 결과 컬럼 사이즈를 리턴한다

Description

int OCIColumnSize ( int $stmt, mixed $column )

OCIColumnSize()함수는 오라클에 의해 주어진 컬럼의 사이즈를 리턴한다. col 인수에는 컬럼 숫자(column-number (1-Based))나 컬럼 이름을 사용할 수 있다.

예 1549. OCIColumnSize

<?php
    print "<HTML><PRE>\n";
    $conn = OCILogon("scott", "tiger");
    $stmt = OCIParse($conn,"select * from emp");
    OCIExecute($stmt);
    print "<TABLE BORDER=\"1\">";
    print "<TR>";
    print "<TH>Name</TH>";
    print "<TH>Type</TH>";
    print "<TH>Length</TH>";
    print "</TR>";
    $ncols = OCINumCols($stmt);
    for ( $i = 1; $i <= $ncols; $i++ ) {
        $column_name  = OCIColumnName($stmt,$i);
        $column_type  = OCIColumnType($stmt,$i);
        $column_size  = OCIColumnSize($stmt,$i);
        print "<TR>";
        print "<TD>$column_name</TD>";
        print "<TD>$column_type</TD>";
        print "<TD>$column_size</TD>";
        print "</TR>";
    }
    print "</TABLE>";
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    print "</PRE>";
    print "</HTML>\n";
?>

See also OCINumCols(),
OCIColumnName(), and
OCIColumnSize().

이전 | 위로 | 다음
ocicolumnscale | 처음으로 | OCIColumnType


OCIColumnType

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIColumnType -- 컬럼의 데이터 타입을 리턴한다.

Description

mixed OCIColumnType ( int $stmt, int $col )

OCIColumnType()함수는 컬럼 숫자(1-based)에 부합되는 컬럼의 데이터 타입을 리턴한다.

예 1550. OCIColumnType

<?php
    print "<HTML><PRE>\n";
    $conn = OCILogon("scott", "tiger");
    $stmt = OCIParse($conn,"select * from emp");
    OCIExecute($stmt);
    print "<TABLE BORDER=\"1\">";
    print "<TR>";
    print "<TH>Name</TH>";
    print "<TH>Type</TH>";
    print "<TH>Length</TH>";
    print "</TR>";
    $ncols = OCINumCols($stmt);
    for ( $i = 1; $i <= $ncols; $i++ ) {
        $column_name  = OCIColumnName($stmt,$i);
        $column_type  = OCIColumnType($stmt,$i);
        $column_size  = OCIColumnSize($stmt,$i);
        print "<TR>";
        print "<TD>$column_name</TD>";
        print "<TD>$column_type</TD>";
        print "<TD>$column_size</TD>";
        print "</TR>";
    }
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    print "</PRE>";
    print "</HTML>\n";
?>

See also OCINumCols(),
OCIColumnName(),
and OCIColumnSize().

이전 | 위로 | 다음
OCIColumnSize | 처음으로 | ocicolumntyperaw


ocicolumntyperaw

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

ocicolumntyperaw -- Alias of oci_field_type_raw()

설명

이 함수는 다음 함수의 alias입니다: oci_field_type_raw().

이전 | 위로 | 다음
OCIColumnType | 처음으로 | OCICommit


OCICommit

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCICommit -- 미결정된 트랜잭션을 커밋시킨다.

Description

int OCICommit ( int $connection )

OCICommit()함수는 오라클 접속 인수인 connection에 대해서 미결정된 모든 구문(outstanding statements)을 커밋한다.

이전 | 위로 | 다음
ocicolumntyperaw | 처음으로 | OCIDefineByName


OCIDefineByName

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIDefineByName -- 한 SELECT 구문사용시 정의단계(define-step)를 위한 PHP 변수를 할당한다.

Description

int OCIDefineByName ( int $stmt, string $Column-Name, mixed $variable [, int $type] )

OCIDefineByName()함수는 페치(fetch)한 컬럼을 사용자정의 PHP변수 에 할당한다. 물론, 오라클 유저는 select 구문에서 소문자 컬럼명을 쓸수 있지만, OCIDefineByName()함수의 Column-Name인수는 반드시 대문자로 적어야 한다. select 구문에서 존재하지도 않는 변수를 선언해도, 에러는 발생하지않을것이다!

추상 데이터타입(LOB/ROWID/BFILE)을 다룰 때는 OCINewDescriptor()함수를 사용하여 그 컬럼에 대한 변수영역을 미리 할당해야 한다. OCIBindByName()를 보시오.

예 1551. OCIDefineByName

<?php
/* OCIDefineByPos example thies@thieso.net (980219) */

$conn = OCILogon("scott","tiger");

$stmt = OCIParse($conn,"select empno, ename from emp");

/* the define MUST be done BEFORE ociexecute! */

OCIDefineByName($stmt,"EMPNO",$empno);
OCIDefineByName($stmt,"ENAME",$ename);

OCIExecute($stmt);

while (OCIFetch($stmt)) {
    echo "empno:".$empno."\n";
    echo "ename:".$ename."\n";
}

OCIFreeStatement($stmt);
OCILogoff($conn);
?>

이전 | 위로 | 다음
OCICommit | 처음으로 | OCIError


OCIError

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIError -- stmt|conn|global의 제일 마지막 에러를 리턴한다. 아무 에러도 없었다면 FALSE를 리턴한다.

Description

array OCIError ( [int $stmt|conn|global] )

OCIError()함수는 마지막 에러를 리턴한다. 선택적 인수stmt|conn|global가 제공되지않으면, 제일 마지막에 발행한 에러가 리턴된다. 아무 에러도 없었다면 OCIError()함수는 FALSE를 리턴한다. OCIError()함수는 연관배열(associative array)로서 에러를 리턴한다. 이 배열은 오라클 에러 코드인 code인수와 오라클 에러문자열인 message인수로 구성된다.

이전 | 위로 | 다음
OCIDefineByName | 처음으로 | OCIExecute


OCIExecute

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIExecute -- SQL 구문(Statement)을 수행한다.

Description

int OCIExecute ( int $statement [, int $mode] )

OCIExecute()함수는 미리 해석된 구문(statement)을 실행한다. (OCIParse()함수를 보라.) 선택적인 인수 mode에 execution-mode(디폴트는 OCI_COMMIT_ON_SUCCESS)를 지정할 수 있다. 각 구문이 자동적으로 커밋(commit)되지 않기를 원하면 OCI_DEFAULT로 설정하면 된다.

이전 | 위로 | 다음
OCIError | 처음으로 | OCIFetch


OCIFetch

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIFetch -- 결과 버퍼(result-buffer)로 다음 열을 페치한다

Description

int OCIFetch ( int $statement )

OCIFetch()함수는 다음 열(SELECT 구문을 위해)을 내부 결과 버퍼(internal result-buffer)에 페치한다.

이전 | 위로 | 다음
OCIExecute | 처음으로 | OCIFetchInto


OCIFetchInto

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIFetchInto -- 결과 배열(result-array)에 다음 열을 페치한다

Description

int OCIFetchInto ( int $stmt, array & $result [, int $mode] )

OCIFetchInto()함수는 다음열(SELECT 구문을 위해)을 result배열에 페치한다. OCIFetchInto()함수는 result 변수의 이전값을 덮어 쓸것이다. 기본적으로 result변수는 NULL이 아닌 모든 컬럼의 일차원 배열을 포함할것이다.

mode인수는 이 함수의 기본값을 변화시킨다. 한개 이상의 플래그를 추가할수있다(OCI_ASSOC+OCI_RETURN_NULLS와 같이). 알려진 플래그는 다음과 같다:
OCI_ASSOC 연관배열(associative array)을 리턴한다.
OCI_NUM 키값이 0부터 시작하는 배열을 리턴한다. (디폴트)
OCI_RETURN_NULLS 빈 컬럼도 리턴한다.
OCI_RETURN_LOBSdescriptor 대신에 LOB의 값을 리턴한다.

이전 | 위로 | 다음
OCIFetch | 처음으로 | OCIFetchStatement


OCIFetchStatement

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIFetchStatement -- 배열에 모든 열의 결과 값을 페치한다.

Description

int OCIFetchStatement ( int $stmt, array & $variable )

OCIFetchStatement()함수는 사용자 정의 배열로 결과값의 모든 열을 페치한다. OCIFetchStatement()함수는 페치된 열의 갯수를 리턴한다.

예 1552. OCIFetchStatement

<?php
/* OCIFetchStatement example mbritton@verinet.com (990624) */

$conn = OCILogon("scott","tiger");

$stmt = OCIParse($conn,"select * from emp");

OCIExecute($stmt);

$nrows = OCIFetchStatement($stmt,$results);
if ( $nrows > 0 ) {
   print "<TABLE BORDER=\"1\">\n";
   print "<TR>\n";
   while ( list( $key, $val ) = each( $results ) ) {
      print "<TH>$key</TH>\n";
   }
   print "</TR>\n";

   for ( $i = 0; $i < $nrows; $i++ ) {
      reset($results);
      print "<TR>\n";
      while ( $column = each($results) ) {
         $data = $column['value'];
         print "<TD>$data[$i]</TD>\n";
      }
      print "</TR>\n";
   }
   print "</TABLE>\n";
} else {
   echo "No data found<BR>\n";
}
print "$nrows Records Selected<BR>\n";

OCIFreeStatement($stmt);
OCILogoff($conn);
?>

이전 | 위로 | 다음
OCIFetchInto | 처음으로 | ocifreecollection


ocifreecollection

(PHP 4 >= 4.0.7, PHP 5, PECL oci8:1.0-1.2.4)

ocifreecollection -- Alias of OCI-Collection->free

설명

이 함수는 다음 함수의 alias입니다: OCI-Collection->free.

이전 | 위로 | 다음
OCIFetchStatement | 처음으로 | OCIFreeCursor


OCIFreeCursor

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIFreeCursor -- 커서(cursor)에 연관된 모든 자원을 해제한다.

Description

int OCIFreeCursor ( int $stmt )

OCIFreeCursor() 함수는 자원 해제에 성공하면 TRUE를, 실패하면 FALSE를 리턴한다.

이전 | 위로 | 다음
ocifreecollection | 처음으로 | OCIFreeDesc


OCIFreeDesc

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIFreeDesc -- 큰 객체(large object) descriptor를 삭제한다.

Description

int OCIFreeDesc ( object $lob )

OCIFreeDesc()함수는 성공하면 TRUE를, 실패하면 FALSE를 리턴한다.

이전 | 위로 | 다음
OCIFreeCursor | 처음으로 | OCIFreeStatement


OCIFreeStatement

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIFreeStatement -- 구문(statement)에 연관된 모든 자원을 해제한다.

Description

int OCIFreeStatement ( int $stmt )

OCIFreeStatement()함수는 자원 해제에 성공하면 TRUE를 리턴하고, 실패하면 FALSE를 리턴한다.

이전 | 위로 | 다음
OCIFreeDesc | 처음으로 | OCIInternalDebug


OCIInternalDebug

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIInternalDebug -- 내부 디버그 출력을 활성화 시키거나, 비활성화 시킨다. 기본값으로 비활성화 되어있다.

Description

void OCIInternalDebug ( int $onoff )

OCIInternalDebug()함수는 내부 디버그 출력을 활성화 시킨다. onoff인수를 0으로 놓으면 비활성화 되고, 1로 놓으면 활성화 된다.

이전 | 위로 | 다음
OCIFreeStatement | 처음으로 | ociloadlob


ociloadlob

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

ociloadlob -- Alias of OCI-Lob->load

설명

이 함수는 다음 함수의 alias입니다: OCI-Lob->load.

이전 | 위로 | 다음
OCIInternalDebug | 처음으로 | OCILogOff


OCILogOff

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCILogOff -- 오라클로부터 접속을 해제한다.

Description

int OCILogOff ( int $connection )

OCILogOff() 오라클 접속을 해제한다.

이전 | 위로 | 다음
ociloadlob | 처음으로 | OCILogon


OCILogon

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCILogon -- 오라클 데이터베이스에 접속한다.

Description

int OCILogon ( string $username, string $password [, string $db] )

OCILogon()함수는 다른 OCI 함수 호출에 필요한 접속 변수를 넘겨준다. 세번째 인수는 로컬 오라클 인스턴스명이나 tnsnames.ora 설정파일에 설정된 엔트리(entry)명이 될 수 있다. 세번째 인수를 생략할 경우, PHP는 접속할 데이터베이스를 결정하기 위해서 환경변수 ORACLE_SID(Oracle instance) 또는 TWO_TASK(tnsnames.ora)를 이용한다.

OCILogon() 함수를 사용할때마다 각 접속은 페이지 레벨에서 분배되어진다. 즉, 페이지 안에서 열린 모든 트랜잭션에 커밋(commits)과 롤백(rollbacks)이 적용되어진다는 것을 의미한다. 두개이상의 접속을 만들지라도.

아래 예제는 접속이 어떻게 분배되는가를 보여준다.

예 1553. OCILogon

<?php
print "<HTML><PRE>";
$db = "";

$c1 = ocilogon("scott","tiger",$db);
$c2 = ocilogon("scott","tiger",$db);

function create_table($conn)
{ $stmt = ociparse($conn,"create table scott.hallo (test varchar2(64))");
  ociexecute($stmt);
  echo $conn." created table\n\n";
}

function drop_table($conn)
{ $stmt = ociparse($conn,"drop table scott.hallo");
  ociexecute($stmt);
  echo $conn." dropped table\n\n";
}

function insert_data($conn)
{ $stmt = ociparse($conn,"insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
  ociexecute($stmt,OCI_DEFAULT);
  echo $conn." inserted hallo\n\n";
}

function delete_data($conn)
{ $stmt = ociparse($conn,"delete from scott.hallo");
  ociexecute($stmt,OCI_DEFAULT);
  echo $conn." deleted hallo\n\n";
}

function commit($conn)
{ ocicommit($conn);
  echo $conn." committed\n\n";
}

function rollback($conn)
{ ocirollback($conn);
  echo $conn." rollback\n\n";
}

function select_data($conn)
{ $stmt = ociparse($conn,"select * from scott.hallo");
  ociexecute($stmt,OCI_DEFAULT);
  echo $conn."----selecting\n\n";
  while (ocifetch($stmt))
    echo $conn." <".ociresult($stmt,"TEST").">\n\n";
  echo $conn."----done\n\n";
}

create_table($c1);
insert_data($c1);   // Insert a row using c1
insert_data($c2);   // Insert a row using c2

select_data($c1);   // Results of both inserts are returned
select_data($c2);

rollback($c1);      // Rollback using c1

select_data($c1);   // Both inserts have been rolled back
select_data($c2);

insert_data($c2);   // Insert a row using c2
commit($c2);        // commit using c2

select_data($c1);   // result of c2 insert is returned

delete_data($c1);   // delete all rows in table using c1
select_data($c1);   // no rows returned
select_data($c2);   // no rows returned
commit($c1);        // commit using c1

select_data($c1);   // no rows returned
select_data($c2);   // no rows returned

drop_table($c1);
print "</PRE></HTML>";
?>

See also OCIPLogon() and OCINLogon().

이전 | 위로 | 다음
OCILogOff | 처음으로 | ocinewcollection


ocinewcollection

(PHP 4 >= 4.0.6, PHP 5, PECL oci8:1.0-1.2.4)

ocinewcollection -- Alias of oci_new_collection()

설명

이 함수는 다음 함수의 alias입니다: oci_new_collection().

이전 | 위로 | 다음
OCILogon | 처음으로 | OCINewCursor


OCINewCursor

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCINewCursor -- 새로운 커서(구문 핸들)를 리턴한다 - ref-cursor를 연계하기위함.

Description

int OCINewCursor ( int $conn )

OCINewCursor()함수는 특정 접속점에 관한 새로운 구문 핸들을 할당한다.

예 1554. 스토어드 프로시저에 REF CURSOR 사용하기

<?php
// suppose your stored procedure info.output returns a ref cursor in :data

$conn = OCILogon("scott","tiger");
$curs = OCINewCursor($conn);
$stmt = OCIParse($conn,"begin info.output(:data); end;");

ocibindbyname($stmt,"data",&amp;$curs,-1,OCI_B_CURSOR);
ociexecute($stmt);
ociexecute($curs);

while (OCIFetchInto($curs,&amp;$data)) {
    var_dump($data);
}

OCIFreeCursor($stmt);
OCIFreeStatement($curs);
OCILogoff($conn);
?>

예 1555. SELECT 구문에 REF CURSOR 사용하기

<?php
print "<HTML><BODY>";
$conn = OCILogon("scott","tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
                "where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = OCIParse($conn,"select deptno,dname,$count_cursor");

ociexecute($stmt);
print "<TABLE BORDER=\"1\">";
print "<TR>";
print "<TH>DEPT NAME</TH>";
print "<TH>DEPT #</TH>";
print "<TH># EMPLOYEES</TH>";
print "</TR>";

while (OCIFetchInto($stmt,&amp;$data,OCI_ASSOC)) {
    print "<TR>";
    $dname  = $data["DNAME"];
    $deptno = $data["DEPTNO"];
    print "<TD>$dname</TD>";
    print "<TD>$deptno</TD>";
    ociexecute($data[ "EMPCNT" ]);
    while (OCIFetchInto($data[ "EMPCNT" ],&amp;$subdata,OCI_ASSOC)) {
        $num_emps = $subdata["NUM_EMPS"];
        print  "<TD>$num_emps</TD>";
    }
    print "</TR>";
}
print "</TABLE>";
print "</BODY></HTML>";
OCIFreeStatement($stmt);
OCILogoff($conn);
?>

이전 | 위로 | 다음
ocinewcollection | 처음으로 | OCINewDescriptor


OCINewDescriptor

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCINewDescriptor -- LOB/FILE의 비어있는 새로운 descriptor를 초기화한다 (LOB 이 기본값이다)

Description

string OCINewDescriptor ( int $connection [, int $type] )

OCINewDescriptor()함수는 descpriptor나 LOB locator를 위한 저장공간을 할당한다. 유효한 type인수값은 OCI_D_FILE, OCI_D_LOB, OCI_D_ROWID 이다. LOB descriptor은 load, save, savefile 메쏘드를 사용할수 있고, BFILE은 load 메쏘드만 사용가능하다. See the second example usage hints.

예 1556. OCINewDescriptor

<?php
    /* This script is designed to be called from a HTML form.
     * It expects $user, $password, $table, $where, and $commitsize
     * to be passed in from the form.  The script then deletes
     * the selected rows using the ROWID and commits after each
     * set of $commitsize rows. (Use with care, there is no rollback)
     */
    $conn = OCILogon($user, $password);
    $stmt = OCIParse($conn,"select rowid from $table $where");
    $rowid = OCINewDescriptor($conn,OCI_D_ROWID);
    OCIDefineByName($stmt,"ROWID",&amp;$rowid);
    OCIExecute($stmt);
    while ( OCIFetch($stmt) ) {
       $nrows = OCIRowCount($stmt);
       $delete = OCIParse($conn,"delete from $table where ROWID = :rid");
       OCIBindByName($delete,":rid",&amp;$rowid,-1,OCI_B_ROWID);
       OCIExecute($delete);
       print "$nrows\n";
       if ( ($nrows % $commitsize) == 0 ) {
           OCICommit($conn);
       }
    }
    $nrows = OCIRowCount($stmt);
    print "$nrows deleted...\n";
    OCIFreeStatement($stmt);
    OCILogoff($conn);
?>

<?php
    /* This script demonstrates file upload to LOB columns
     * The formfield used for this example looks like this
     * <form action="upload.php3" method="post" enctype="multipart/form-data">
     * <input type="file" name="lob_upload">
     * ...
     */
  if(!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php3" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload"><br>
<input type="submit" value="Upload"> - <input type="reset">
</form>
<?php
  } else {
     // $lob_upload contains the temporary filename of the uploaded file
     $conn = OCILogon($user, $password);
     $lob = OCINewDescriptor($conn, OCI_D_LOB);
     $stmt = OCIParse($conn,"insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
     OCIBindByName($stmt, ':the_blob', &amp;$lob, -1, OCI_B_BLOB);
     OCIExecute($stmt);
     if($lob->savefile($lob_upload)){
        OCICommit($conn);
        echo "Blob successfully uploaded\n";
     }else{
        echo "Couldn't upload Blob\n";
     }
     OCIFreeDesc($lob);
     OCIFreeStatement($stmt);
     OCILogoff($conn);
  }
?>

예 1557. OCINewDescriptor

<?php
    /* Calling PL/SQL stored procedures which contain clobs as input
     * parameters (PHP 4 >= 4.0.6).
     * Example PL/SQL stored procedure signature is:
     *
     * PROCEDURE save_data
     *   Argument Name                  Type                    In/Out Default?
     *   ------------------------------ ----------------------- ------ --------
     *   KEY                            NUMBER(38)              IN
     *   DATA                           CLOB                    IN
     *
     */

    $conn = OCILogon($user, $password);
    $stmt = OCIParse($conn, "begin save_data(:key, :data); end;");
    $clob = OCINewDescriptor($conn, OCI_D_LOB);
    OCIBindByName($stmt, ':key', $key);
    OCIBindByName($stmt, ':data', $clob, -1, OCI_B_CLOB);
    $clob->WriteTemporary($data);
    OCIExecute($stmt, OCI_DEFAULT);
    OCICommit($conn);
    $clob->close();
    $clob->free();
    OCIFreeStatement($stmt);
?>

이전 | 위로 | 다음
OCINewCursor | 처음으로 | OCINLogon


OCINLogon

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCINLogon -- 오라클 데이터베이스에 접속하고 새로운 접속을 이용해서 로그온한다. 새로운 세션(session)을 넘겨준다.

Description

int OCINLogon ( string $username, string $password [, string $db] )

OCINLogon() 오라클8 DB에 새로운 접속을 형성하고, 로그온 한다. 세번째 인수는 로컬 오라클 인스턴스명이나 tnsnames.ora 설정파일의 엔트리(entry)명이 될수 있다. 세번째 인수가 생략되면, PHP는 접속할 오라클 데이터베이스를 결정하기 위해 환경변수 ORACLE_SID(Oracle instance)나 TWO_TASK(tnsnames.ora)를 이용한다.

OCINLogon()함수는 새로운 접속을 강제로 형성한다. 각 트랜잭션들을 분리할 필요가 있을때 사용해야 할것이다. 기본적으로, OCILogon()함수를 사용하면 접속은 페이지 레벨에서 분배되어지고, OCIPLogon()함수는 웹서버 프로세스 레벨에서 분배되어진다. OCINLogon()함수로 두개 이상의 접속을 연다면, 모든 커밋(commits)과 롤백(rollbacks)은 특정 접속에만 적용되어진다.

이 예제는 접속이 어떻게 분리되는지 보여준다.

예 1558. OCINLogon

<?php
print "<HTML><PRE>";
$db = "";

$c1 = ocilogon("scott","tiger",$db);
$c2 = ocinlogon("scott","tiger",$db);

function create_table($conn)
{ $stmt = ociparse($conn,"create table scott.hallo (test
varchar2(64))");
  ociexecute($stmt);
  echo $conn." created table\n\n";
}

function drop_table($conn)
{ $stmt = ociparse($conn,"drop table scott.hallo");
  ociexecute($stmt);
  echo $conn." dropped table\n\n";
}

function insert_data($conn)
{ $stmt = ociparse($conn,"insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
  ociexecute($stmt,OCI_DEFAULT);
  echo $conn." inserted hallo\n\n";
}

function delete_data($conn)
{ $stmt = ociparse($conn,"delete from scott.hallo");
  ociexecute($stmt,OCI_DEFAULT);
  echo $conn." deleted hallo\n\n";
}

function commit($conn)
{ ocicommit($conn);
  echo $conn." committed\n\n";
}

function rollback($conn)
{ ocirollback($conn);
  echo $conn." rollback\n\n";
}

function select_data($conn)
{ $stmt = ociparse($conn,"select * from scott.hallo");
  ociexecute($stmt,OCI_DEFAULT);
  echo $conn."----selecting\n\n";
  while (ocifetch($stmt))
    echo $conn." <".ociresult($stmt,"TEST").">\n\n";
  echo $conn."----done\n\n";
}

create_table($c1);
insert_data($c1);

select_data($c1);
select_data($c2);

rollback($c1);

select_data($c1);
select_data($c2);

insert_data($c2);
commit($c2);

select_data($c1);

delete_data($c1);
select_data($c1);
select_data($c2);
commit($c1);

select_data($c1);
select_data($c2);

drop_table($c1);
print "</PRE></HTML>";
?>

See also OCILogon() and OCIPLogon().

이전 | 위로 | 다음
OCINewDescriptor | 처음으로 | OCINumCols


OCINumCols

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCINumCols -- 구문 결과값의 컬럼의 갯수를 리턴한다

Description

int OCINumCols ( int $stmt )

OCINumCols()함수는 구문에서 컬럼의 갯수를 리턴한다.

예 1559. OCINumCols

<?php
    print "<HTML><PRE>\n";
    $conn = OCILogon("scott", "tiger");
    $stmt = OCIParse($conn,"select * from emp");
    OCIExecute($stmt);
    while ( OCIFetch($stmt) ) {
        print "\n";
        $ncols = OCINumCols($stmt);
        for ( $i = 1; $i <= $ncols; $i++ ) {
            $column_name  = OCIColumnName($stmt,$i);
            $column_value = OCIResult($stmt,$i);
            print $column_name . ': ' . $column_value . "\n";
        }
        print "\n";
    }
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    print "</PRE>";
    print "</HTML>\n";
?>

이전 | 위로 | 다음
OCINLogon | 처음으로 | OCIParse


OCIParse

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIParse -- 질의(query)를 해석하고 구문(statement)를 리턴한다

Description

int OCIParse ( int $conn, strint $query )

OCIParse() 함수는 conn인수를 사용하는 query를 해석한다. 질의(query)가 유효하면 구문(statement)를 리턴한다. 그렇지 않으면 FALSE를 리턴한다. query인수는 유효한 SQL 구문(statement)이나 PL/SQL블록이 될 수 있다.

이전 | 위로 | 다음
OCINumCols | 처음으로 | OCIPLogon


OCIPLogon

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIPLogon -- 오라클 데이터베이스에 접속하고 영속적 DB 접속 (persistant connection) 을 이용해서 로그온한다. 또다른 새로운 세션(session)을 넘겨준다.

Description

int OCIPLogon ( string $username, string $password [, string $db] )

OCIPLogon() 오라클8 DB에 영속적인 접속을 형성하고, 로그온 한다. 세번째 인수는 로컬 오라클 인스턴스(local Oracle instanace)의 이름, 또는 tnsnames.ora설정파일의 엔트리(entry) 이름이 될수 있다. 세번째 인수가 생략되면, PHP는 접속할 오라클 데이터베이스를 결정하기 위해 환경변수 ORACLE_SID (Oracle instance)나 TWO_TASK(tnsnames.ora)를 이용한다.

See also OCILogon() and OCINLogon().

이전 | 위로 | 다음
OCIParse | 처음으로 | OCIResult


OCIResult

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIResult -- 페치된 열의 컬럼 값을 리턴한다

Description

mixed OCIResult ( int $statement, mixed $column )

OCIResult()함수는 현재 열의 컬럼 column에 대한 데이터를 리턴한다 (OCIFetch()함수를 보라). OCIResult()함수는 추상형데이터타입(ROWID, LOB, FILE)을 제외한 문자열로서 모든 것을 리턴할 것이다.

이전 | 위로 | 다음
OCIPLogon | 처음으로 | OCIRollback


OCIRollback

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIRollback -- 미결정된 트랜잭션을 롤백한다.

Description

int OCIRollback ( int $connection )

OCIRollback()함수는 오라클 접속 인수 connection에 대해서 미결정된 모든 구문(outstanding statements)을 롤백 처리한다.

이전 | 위로 | 다음
OCIResult | 처음으로 | OCIRowCount


OCIRowCount

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIRowCount -- 적용되어진 열의 갯수를 가져온다

Description

int OCIRowCount ( int $statement )

OCIRowCount()함수는 update같은 구문에 의해 적용되어진 열의 갯수를 리턴한다. 이 함수는 select 가 리턴할 열의 갯수를 말해 주진 않을 것이다!

예 1560. OCIRowCount

<?php
    print "<HTML><PRE>";
    $conn = OCILogon("scott","tiger");
    $stmt = OCIParse($conn,"create table emp2 as select * from emp");
    OCIExecute($stmt);
    print OCIRowCount($stmt) . " rows inserted.<BR>";
    OCIFreeStatement($stmt);
    $stmt = OCIParse($conn,"delete from emp2");
    OCIExecute($stmt);
    print OCIRowCount($stmt) . " rows deleted.<BR>";
    OCICommit($conn);
    OCIFreeStatement($stmt);
    $stmt = OCIParse($conn,"drop table emp2");
    OCIExecute($stmt);
    OCIFreeStatement($stmt);
    OCILogOff($conn);
    print "</PRE></HTML>";
?>

이전 | 위로 | 다음
OCIRollback | 처음으로 | ocisavelob


ocisavelob

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

ocisavelob -- Alias of OCI-Lob->save

설명

이 함수는 다음 함수의 alias입니다: OCI-Lob->save.

이전 | 위로 | 다음
OCIRowCount | 처음으로 | ocisavelobfile


ocisavelobfile

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

ocisavelobfile -- Alias of OCI-Lob->import

설명

이 함수는 다음 함수의 alias입니다: OCI-Lob->import.

이전 | 위로 | 다음
ocisavelob | 처음으로 | ociserverversion


ociserverversion

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

ociserverversion -- Alias of oci_server_version()

설명

이 함수는 다음 함수의 alias입니다: oci_server_version().

이전 | 위로 | 다음
ocisavelobfile | 처음으로 | OCISetPrefetch


OCISetPrefetch

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCISetPrefetch -- 사용할 열의 갯수를 설정한다

Description

int OCISetPrefetch ( int $stmt, int $rows )

사용할 열의 갯수를 설정한다. 기본값은 1열이다.

이전 | 위로 | 다음
ociserverversion | 처음으로 | OCIStatementType


OCIStatementType

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

OCIStatementType -- OCI 구문(statement)의 타입을 리턴한다.

Description

string OCIStatementType ( int $stmt )

OCIStatementType() 함수는 다음중 하나를 리턴한다:

  1. "SELECT"
  2. "UPDATE"
  3. "DELETE"
  4. "INSERT"
  5. "CREATE"
  6. "DROP"
  7. "ALTER"
  8. "BEGIN"
  9. "DECLARE"
  10. "UNKNOWN"

예 1561. Code examples

<?php
    print "<HTML><PRE>";
    $conn = OCILogon("scott","tiger");
    $sql  = "delete from emp where deptno = 10";

    $stmt = OCIParse($conn,$sql);
    if ( OCIStatementType($stmt) == "DELETE" ) {
        die "You are not allowed to delete from this table<BR>";
    }

    OCILogoff($conn);
    print "</PRE></HTML>";
?>

이전 | 위로 | 다음
OCISetPrefetch | 처음으로 | ociwritelobtofile


ociwritelobtofile

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

ociwritelobtofile -- Alias of OCI-Lob->export

설명

이 함수는 다음 함수의 alias입니다: OCI-Lob->export.

이전 | 위로 | 다음
OCIStatementType | 처음으로 | ociwritetemporarylob


ociwritetemporarylob

(PHP 4 >= 4.0.6, PECL oci8:1.0)

ociwritetemporarylob -- Alias of OCI-Lob->writeTemporary

설명

이 함수는 다음 함수의 alias입니다: OCI-Lob->writeTemporary.

이전 | 위로 | 다음
ociwritelobtofile | 처음으로 | CVIII. ODBC Functions (Unified)


OpenAL Audio Bindings

이전 VI. 함수 레퍼런스 다음

CXI. OpenAL Audio Bindings

소개

Platform independent audio bindings. Requires the » OpenAL library.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/openal.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

This extension defines four resource types:
Open AL(Device) - Returned by openal_device_open(),
Open AL(Context) - Returned by openal_context_create(),
Open AL(Buffer) - Returned by openal_buffer_create(),
and Open AL(Source) - Returned by openal_source_create().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

ALC_FREQUENCY (integer)
Context Attribute
ALC_REFRESH (integer)
Context Attribute
ALC_SYNC (integer)
Context Attribute
AL_FREQUENCY (integer)
Buffer Setting
AL_BITS (integer)
Buffer Setting
AL_CHANNELS (integer)
Buffer Setting
AL_SIZE (integer)
Buffer Setting
AL_BUFFER (integer)
Source/Listener Setting (Integer)
AL_SOURCE_RELATIVE (integer)
Source/Listener Setting (Integer)
AL_SOURCE_STATE (integer)
Source/Listener Setting (Integer)
AL_PITCH (integer)
Source/Listener Setting (Float)
AL_GAIN (integer)
Source/Listener Setting (Float)
AL_MIN_GAIN (integer)
Source/Listener Setting (Float)
AL_MAX_GAIN (integer)
Source/Listener Setting (Float)
AL_MAX_DISTANCE (integer)
Source/Listener Setting (Float)
AL_ROLLOFF_FACTOR (integer)
Source/Listener Setting (Float)
AL_CONE_OUTER_GAIN (integer)
Source/Listener Setting (Float)
AL_CONE_INNER_ANGLE (integer)
Source/Listener Setting (Float)
AL_CONE_OUTER_ANGLE (integer)
Source/Listener Setting (Float)
AL_REFERENCE_DISTANCE (integer)
Source/Listener Setting (Float)
AL_POSITION (integer)
Source/Listener Setting (Float Vector)
AL_VELOCITY (integer)
Source/Listener Setting (Float Vector)
AL_DIRECTION (integer)
Source/Listener Setting (Float Vector)
AL_ORIENTATION (integer)
Source/Listener Setting (Float Vector)
AL_FORMAT_MONO8 (integer)
PCM Format
AL_FORMAT_MONO16 (integer)
PCM Format
AL_FORMAT_STEREO8 (integer)
PCM Format
AL_FORMAT_STEREO16 (integer)
PCM Format
AL_INITIAL (integer)
Source State
AL_PLAYING (integer)
Source State
AL_PAUSED (integer)
Source State
AL_STOPPED (integer)
Source State
AL_LOOPING (integer)
Source State
AL_TRUE (integer)
Boolean value recognized by OpenAL
AL_FALSE (integer)
Boolean value recognized by OpenAL

차례

openal_buffer_create -- Generate OpenAL buffer
openal_buffer_data -- Load a buffer with data
openal_buffer_destroy -- Destroys an OpenAL buffer
openal_buffer_get -- Retrieve an OpenAL buffer property
openal_buffer_loadwav -- Load a .wav file into a buffer
openal_context_create -- Create an audio processing context
openal_context_current -- Make the specified context current
openal_context_destroy -- Destroys a context
openal_context_process -- Process the specified context
openal_context_suspend -- Suspend the specified context
openal_device_close -- Close an OpenAL device
openal_device_open -- Initialize the OpenAL audio layer
openal_listener_get -- Retrieve a listener property
openal_listener_set -- Set a listener property
openal_source_create -- Generate a source resource
openal_source_destroy -- Destroy a source resource
openal_source_get -- Retrieve an OpenAL source property
openal_source_pause -- Pause the source
openal_source_play -- Start playing the source
openal_source_rewind -- Rewind the source
openal_source_set -- Set source property
openal_source_stop -- Stop playing the source
openal_stream -- Begin streaming on a source
이전 | 위로 | 다음
Usage | 처음으로 | openal_buffer_create


openal_buffer_create

(PECL openal:0.1)

openal_buffer_create -- Generate OpenAL buffer

설명

resource openal_buffer_create ( void )

반환값

Returns an Open AL(Buffer) resource on success or FALSE on failure.

참고

openal_buffer_loadwav()
openal_buffer_data()

이전 | 위로 | 다음
CXI. OpenAL Audio Bindings | 처음으로 | openal_buffer_data


openal_buffer_data

(PECL openal:0.1)

openal_buffer_data -- Load a buffer with data

설명

bool openal_buffer_data ( resource $buffer, int $format, string $data, int $freq )

매개변수

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 그리고 AL_FORMAT_STEREO16

data

Block of binary audio data in the format and freq specified.

freq

Frequency of data given in Hz.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_buffer_loadwav()
openal_stream()

이전 | 위로 | 다음
openal_buffer_create | 처음으로 | openal_buffer_destroy


openal_buffer_destroy

(PECL openal:0.1)

openal_buffer_destroy -- Destroys an OpenAL buffer

설명

bool openal_buffer_destroy ( resource $buffer )

매개변수

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_buffer_create()

이전 | 위로 | 다음
openal_buffer_data | 처음으로 | openal_buffer_get


openal_buffer_get

(PECL openal:0.1)

openal_buffer_get -- Retrieve an OpenAL buffer property

설명

int openal_buffer_get ( resource $buffer, int $property )

매개변수

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

property

Specific property, one of: AL_FREQUENCY, AL_BITS, AL_CHANNELS 그리고 AL_SIZE.

반환값

Returns an integer value appropriate to the property requested or FALSE on failure.

참고

openal_buffer_create()

이전 | 위로 | 다음
openal_buffer_destroy | 처음으로 | openal_buffer_loadwav


openal_buffer_loadwav

(PECL openal:0.1)

openal_buffer_loadwav -- Load a .wav file into a buffer

설명

bool openal_buffer_loadwav ( resource $buffer, string $wavfile )

매개변수

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

wavfile

Path to .WAV file on local file system.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_buffer_data()
openal_stream()

이전 | 위로 | 다음
openal_buffer_get | 처음으로 | openal_context_create


openal_context_create

(PECL openal:0.1)

openal_context_create -- Create an audio processing context

설명

resource openal_context_create ( resource $device )

매개변수

device

An Open AL(Device) resource (previously created by openal_device_open()).

반환값

Returns an Open AL(Context) resource on success or FALSE on failure.

참고

openal_device_open()
openal_context_destroy()

이전 | 위로 | 다음
openal_buffer_loadwav | 처음으로 | openal_context_current


openal_context_current

(PECL openal:0.1)

openal_context_current -- Make the specified context current

설명

bool openal_context_current ( resource $context )

매개변수

context

An Open AL(Context) resource (previously created by openal_context_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_context_create()

이전 | 위로 | 다음
openal_context_create | 처음으로 | openal_context_destroy


openal_context_destroy

(PECL openal:0.1)

openal_context_destroy -- Destroys a context

설명

bool openal_context_destroy ( resource $context )

매개변수

context

An Open AL(Context) resource (previously created by openal_context_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_context_create()

이전 | 위로 | 다음
openal_context_current | 처음으로 | openal_context_process


openal_context_process

(PECL openal:0.1)

openal_context_process -- Process the specified context

설명

bool openal_context_process ( resource $context )

매개변수

context

An Open AL(Context) resource (previously created by openal_context_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_context_create()
openal_context_current()
openal_context_suspend()

이전 | 위로 | 다음
openal_context_destroy | 처음으로 | openal_context_suspend


openal_context_suspend

(PECL openal:0.1)

openal_context_suspend -- Suspend the specified context

설명

bool openal_context_suspend ( resource $context )

매개변수

context

An Open AL(Context) resource (previously created by openal_context_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_context_create()
openal_context_current()
openal_context_process()

이전 | 위로 | 다음
openal_context_process | 처음으로 | openal_device_close


openal_device_close

(PECL openal:0.1)

openal_device_close -- Close an OpenAL device

설명

bool openal_device_close ( resource $device )

매개변수

device

An Open AL(Device) resource (previously created by openal_device_open()) to be closed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_device_open()

이전 | 위로 | 다음
openal_context_suspend | 처음으로 | openal_device_open


openal_device_open

(PECL openal:0.1)

openal_device_open -- Initialize the OpenAL audio layer

설명

resource openal_device_open ( [string $device_desc] )

매개변수

device_desc

Open an audio device optionally specified by device_desc. If device_desc is not specified the first available audio device will be used.

반환값

Returns an Open AL(Device) resource on success or FALSE on failure.

참고

openal_device_close()
openal_context_create()

이전 | 위로 | 다음
openal_device_close | 처음으로 | openal_listener_get


openal_listener_get

(PECL openal:0.1)

openal_listener_get -- Retrieve a listener property

설명

mixed openal_listener_get ( int $property )

매개변수

property

Property to retrieve, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) 그리고
AL_ORIENTATION (array(float,float,float)).

반환값

Returns a float or array of floats (as appropriate), or FALSE on failure.

참고

openal_listener_set()

이전 | 위로 | 다음
openal_device_open | 처음으로 | openal_listener_set


openal_listener_set

(PECL openal:0.1)

openal_listener_set -- Set a listener property

설명

bool openal_listener_set ( int $property, mixed $setting )

매개변수

property

Property to set, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) 그리고
AL_ORIENTATION (array(float,float,float)).

setting

Value to set, either float, or an array of floats as appropriate.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_listener_get()

이전 | 위로 | 다음
openal_listener_get | 처음으로 | openal_source_create


openal_source_create

(PECL openal:0.1)

openal_source_create -- Generate a source resource

설명

resource openal_source_create ( void )

반환값

Returns an Open AL(Source) resource on success or FALSE on failure.

참고

openal_source_set()
openal_source_play()
openal_source_destroy()

이전 | 위로 | 다음
openal_listener_set | 처음으로 | openal_source_destroy


openal_source_destroy

(PECL openal:0.1)

openal_source_destroy -- Destroy a source resource

설명

bool openal_source_destroy ( resource $source )

매개변수

source

An Open AL(Source) resource (previously created by openal_source_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_source_create()

이전 | 위로 | 다음
openal_source_create | 처음으로 | openal_source_get


openal_source_get

(PECL openal:0.1)

openal_source_get -- Retrieve an OpenAL source property

설명

mixed openal_source_get ( resource $source, int $property )

매개변수

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to get, one of: AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

반환값

Returns the type associated with the property being retrieved or FALSE on failure.

참고

openal_source_create()
openal_source_set()
openal_source_play()

이전 | 위로 | 다음
openal_source_destroy | 처음으로 | openal_source_pause


openal_source_pause

(PECL openal:0.1)

openal_source_pause -- Pause the source

설명

bool openal_source_pause ( resource $source )

매개변수

source

An Open AL(Source) resource (previously created by openal_source_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_source_stop()
openal_source_play()
openal_source_rewind()

이전 | 위로 | 다음
openal_source_get | 처음으로 | openal_source_play


openal_source_play

(PECL openal:0.1)

openal_source_play -- Start playing the source

설명

bool openal_source_play ( resource $source )

매개변수

source

An Open AL(Source) resource (previously created by openal_source_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_source_stop()
openal_source_pause()
openal_source_rewind()

이전 | 위로 | 다음
openal_source_pause | 처음으로 | openal_source_rewind


openal_source_rewind

(PECL openal:0.1)

openal_source_rewind -- Rewind the source

설명

bool openal_source_rewind ( resource $source )

매개변수

source

An Open AL(Source) resource (previously created by openal_source_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_source_stop()
openal_source_pause()
openal_source_play()

이전 | 위로 | 다음
openal_source_play | 처음으로 | openal_source_set


openal_source_set

(PECL openal:0.1)

openal_source_set -- Set source property

설명

bool openal_source_set ( resource $source, int $property, mixed $setting )

매개변수

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to set, one of: AL_BUFFER (OpenAL(Source)), AL_LOOPING (bool), AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

setting

Value to assign to specified property. Refer to the description of property for a description of the value(s) expected.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_source_create()
openal_source_get()
openal_source_play()

이전 | 위로 | 다음
openal_source_rewind | 처음으로 | openal_source_stop


openal_source_stop

(PECL openal:0.1)

openal_source_stop -- Stop playing the source

설명

bool openal_source_stop ( resource $source )

매개변수

source

An Open AL(Source) resource (previously created by openal_source_create()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openal_source_play()
openal_source_pause()
openal_source_rewind()

이전 | 위로 | 다음
openal_source_set | 처음으로 | openal_stream


openal_stream

(PECL openal:0.1)

openal_stream -- Begin streaming on a source

설명

resource openal_stream ( resource $source, int $format, int $rate )

매개변수

source

An Open AL(Source) resource (previously created by openal_source_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 그리고 AL_FORMAT_STEREO16

rate

Frequency of data to stream given in Hz.

반환값

Returns a stream resource on success, or FALSE on failure.

참고

openal_source_create()
fwrite()

이전 | 위로 | 다음
openal_source_stop | 처음으로 | CXII. OpenSSL Functions


OpenSSL Functions

이전 VI. 함수 레퍼런스 다음

CXII. OpenSSL Functions

소개

This module uses the functions of » OpenSSL for generation and verification of signatures and for sealing (encrypting) and opening (decrypting) data. OpenSSL offers many features that this module currently doesn't support. Some of these may be added in the future.

요구 조건

In order to use the OpenSSL functions you need to install the » OpenSSL package. PHP between versions 4.0.5 and 4.3.1 will work with OpenSSL >= 0.9.5. Other versions (PHP <=4.0.4 and >= 4.3.2) require OpenSSL >= 0.9.6.

주의

You are strongly encouraged to use the most recent OpenSSL version, otherwise your web server could be vulnerable to attack.

설치

To use PHP's OpenSSL support you must also compile PHP --with-openssl[=DIR].

Note to Win32 Users: In order for this extension to work, there are DLL files that must be available to the Windows system PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the systems PATH), it is not recommended. This extension requires the following files to be in the PATH: libeay32.dll

Additionally, if you are planning to use the key generation and certificate signing functions, you will need to install a valid openssl.cnf on your system. As of PHP 4.3.0, we include a sample configuration file in the openssl folder of our win32 binary distribution. If you are using PHP 4.2.0 or later and are missing the file, you can obtain it from » the OpenSSL home page or by downloading the PHP 4.3.0 release and using the configuration file from there.

PHP will search for the openssl.cnf using the following logic:

  • the OPENSSL_CONF environmental variable, if set, will be used as the path (including filename) of the configuration file.
  • the SSLEAY_CONF environmental variable, if set, will be used as the path (including filename) of the configuration file.
  • The file openssl.cnf will be assumed to be found in the default certificate area, as configured at the time that the openssl DLL was compiled. This is usually means that the default filename is c:\usr\local\ssl\openssl.cnf.

In your installation, you need to decide whether to install the configuration file at c:\usr\local\ssl\openssl.cnf or whether to install it someplace else and use environmental variables (possibly on a per-virtual-host basis) to locate the configuration file. Note that it is possible to override the default path from the script using the configargs of the functions that require a configuration file.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

Key/Certificate parameters

Quite a few of the openssl functions require a key or a certificate parameter. PHP 4.0.5 and earlier have to use a key or certificate resource returned by one of the openssl_get_xxx functions. Later versions may use one of the following methods:

  • Certificates

    1. An X.509 resource returned from openssl_x509_read()
    2. A string having the format file://path/to/cert.pem; the named file must contain a PEM encoded certificate
    3. A string containing the content of a certificate, PEM encoded

  • Public/Private Keys

    1. A key resource returned from openssl_get_publickey() or openssl_get_privatekey()
    2. For public keys only: an X.509 resource
    3. A string having the format file://path/to/file.pem - the named file must contain a PEM encoded certificate/private key (it may contain both)
    4. A string containing the content of a certificate/key, PEM encoded
    5. For private keys, you may also use the syntax array($key, $passphrase) where $key represents a key specified using the file:// or textual content notation above, and $passphrase represents a string containing the passphrase for that private key

Certificate Verification

When calling a function that will verify a signature/certificate, the cainfo parameter is an array containing file and directory names that specify the locations of trusted CA files. If a directory is specified, then it must be a correctly formed hashed directory as the openssl command would use.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Purpose checking flags

X509_PURPOSE_SSL_CLIENT (integer)
X509_PURPOSE_SSL_SERVER (integer)
X509_PURPOSE_NS_SSL_SERVER (integer)
X509_PURPOSE_SMIME_SIGN (integer)
X509_PURPOSE_SMIME_ENCRYPT (integer)
X509_PURPOSE_CRL_SIGN (integer)
X509_PURPOSE_ANY (integer)

Padding flags

OPENSSL_PKCS1_PADDING (integer)
OPENSSL_SSLV23_PADDING (integer)
OPENSSL_NO_PADDING (integer)
OPENSSL_PKCS1_OAEP_PADDING (integer)

Key types

OPENSSL_KEYTYPE_RSA (integer)
OPENSSL_KEYTYPE_DSA (integer)
OPENSSL_KEYTYPE_DH (integer)

PKCS7 Flags/Constants

The S/MIME functions make use of flags which are specified using a bitfield which can include one or more of the following values:

표 228. PKCS7 CONSTANTS

Constant | Description
PKCS7_TEXT | Adds text/plain content type headers to encrypted/signed message. If decrypting or verifying, it strips those headers from the output - if the decrypted or verified message is not of MIME type text/plain then an error will occur.
PKCS7_BINARY | Normally the input message is converted to "canonical" format which is effectively using CR and LF as end of line: as required by the S/MIME specification. When this options is present, no translation occurs. This is useful when handling binary data which may not be in MIME format.
PKCS7_NOINTERN | When verifying a message, certificates (if any) included in the message are normally searched for the signing certificate. With this option only the certificates specified in the extracerts parameter of openssl_pkcs7_verify() are used. The supplied certificates can still be used as untrusted CAs however.
PKCS7_NOVERIFY | Do not verify the signers certificate of a signed message.
PKCS7_NOCHAIN | Do not chain verification of signers certificates: that is don't use the certificates in the signed message as untrusted CAs.
PKCS7_NOCERTS | When signing a message the signer's certificate is normally included - with this option it is excluded. This will reduce the size of the signed message but the verifier must have a copy of the signers certificate available locally (passed using the extracerts to openssl_pkcs7_verify() for example).
PKCS7_NOATTR | Normally when a message is signed, a set of attributes are included which include the signing time and the supported symmetric algorithms. With this option they are not included.
PKCS7_DETACHED | When signing a message, use cleartext signing with the MIME type multipart/signed. This is the default if you do not specify any flags to openssl_pkcs7_sign(). If you turn this option off, the message will be signed using opaque signing, which is more resistant to translation by mail relays but cannot be read by mail agents that do not support S/MIME.
PKCS7_NOSIGS | Don't try and verify the signatures on a message

참고: These constants were added in 4.0.6.

Signature Algorithms

OPENSSL_ALGO_SHA1 (integer)
Used as default algorithm by openssl_sign() and openssl_verify().
OPENSSL_ALGO_MD5 (integer)
OPENSSL_ALGO_MD4 (integer)
OPENSSL_ALGO_MD2 (integer)

참고: These constants were added in 5.0.0.

Ciphers

OPENSSL_CIPHER_RC2_40 (integer)
OPENSSL_CIPHER_RC2_128 (integer)
OPENSSL_CIPHER_RC2_64 (integer)
OPENSSL_CIPHER_DES (integer)
OPENSSL_CIPHER_3DES (integer)

참고: These constants were added in 4.3.0.

Version constants

OPENSSL_VERSION_TEXT (string)
OPENSSL_VERSION_NUMBER (integer)

참고: These constants were added in 5.2.0.

차례

openssl_csr_export_to_file -- Exports a CSR to a file
openssl_csr_export -- Exports a CSR as a string
openssl_csr_get_public_key -- Returns the public key of a CERT
openssl_csr_get_subject -- Returns the subject of a CERT
openssl_csr_new -- Generates a CSR
openssl_csr_sign -- Sign a CSR with another certificate (or itself) and generate a certificate
openssl_error_string -- Return openSSL error message
openssl_free_key -- Free key resource
openssl_get_privatekey -- Alias of openssl_pkey_get_private()
openssl_get_publickey -- Alias of openssl_pkey_get_public()
openssl_open -- Open sealed data
openssl_pkcs12_export_to_file -- Exports a PKCS#12 Compatible Certificate Store File
openssl_pkcs12_export -- Exports a PKCS#12 Compatible Certificate Store File to variable.
openssl_pkcs12_read -- Parse a PKCS#12 Certificate Store into an array
openssl_pkcs7_decrypt -- Decrypts an S/MIME encrypted message
openssl_pkcs7_encrypt -- Encrypt an S/MIME message
openssl_pkcs7_sign -- Sign an S/MIME message
openssl_pkcs7_verify -- Verifies the signature of an S/MIME signed message
openssl_pkey_export_to_file -- Gets an exportable representation of a key into a file
openssl_pkey_export -- Gets an exportable representation of a key into a string
openssl_pkey_free -- Frees a private key
openssl_pkey_get_details -- Returns an array with the key details
openssl_pkey_get_private -- Get a private key
openssl_pkey_get_public -- Extract public key from certificate and prepare it for use
openssl_pkey_new -- Generates a new private key
openssl_private_decrypt -- Decrypts data with private key
openssl_private_encrypt -- Encrypts data with private key
openssl_public_decrypt -- Decrypts data with public key
openssl_public_encrypt -- Encrypts data with public key
openssl_seal -- Seal (encrypt) data
openssl_sign -- Generate signature
openssl_verify -- Verify signature
openssl_x509_check_private_key -- Checks if a private key corresponds to a certificate
openssl_x509_checkpurpose -- Verifies if a certificate can be used for a particular purpose
openssl_x509_export_to_file -- Exports a certificate to file
openssl_x509_export -- Exports a certificate as a string
openssl_x509_free -- Free certificate resource
openssl_x509_parse -- Parse an X509 certificate and return the information as an array
openssl_x509_read -- Parse an X.509 certificate and return a resource identifier for it
이전 | 위로 | 다음
openal_stream | 처음으로 | openssl_csr_export_to_file


openssl_csr_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export_to_file -- Exports a CSR to a file

설명

bool openssl_csr_export_to_file ( resource $csr, string $outfilename [, bool $notext] )

openssl_csr_export_to_file() takes the Certificate Signing Request represented by csr and saves it as ascii-armoured text into the file named by outfilename.

매개변수

csr

outfilename

Path to the output file.

notext

The optional parameter notext affects the verbosity of the output; if it is FALSE then additional human-readable information is included in the output. The default value of notext is TRUE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openssl_csr_export()
openssl_csr_new()
openssl_csr_sign()

이전 | 위로 | 다음
CXII. OpenSSL Functions | 처음으로 | openssl_csr_export


openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_export -- Exports a CSR as a string

설명

bool openssl_csr_export ( resource $csr, string &$out [, bool $notext] )

openssl_csr_export() takes the Certificate Signing Request represented by csr and stores it as ascii-armoured text into out, which is passed by reference.

매개변수

csr

out

notext

The optional parameter notext affects the verbosity of the output; if it is FALSE then additional human-readable information is included in the output. The default value of notext is TRUE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openssl_csr_export_to_file()
openssl_csr_new()
openssl_csr_sign()

이전 | 위로 | 다음
openssl_csr_export_to_file | 처음으로 | openssl_csr_get_public_key


openssl_csr_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_new -- Generates a CSR

설명

mixed openssl_csr_new ( array $dn, resource &$privkey [, array $configargs [, array $extraattribs]] )

openssl_csr_new() generates a new CSR (Certificate Signing Request) based on the information provided by dn, which represents the Distinguished Name to be used in the certificate.

참고: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

매개변수

dn

The Distinguished Name to be used in the certificate.

privkey

privkey should be set to a private key that was previously generated by openssl_pkey_new() (or otherwise obtained from the other openssl_pkey family of functions). The corresponding public portion of the key will be used to sign the CSR.

configargs

By default, the information in your system openssl.conf is used to initialize the request; you can specify a configuration file section by setting the config_section_section key of configargs. You can also specify an alternative openssl configuration file by setting the value of the config key to the path of the file you want to use. The following keys, if present in configargs behave as their equivalents in the openssl.conf, as listed in the table below.

표 229. Configuration overrides

configargs key | type | openssl.conf equivalent | description
digest_alg | string | default_md | Selects which digest method to use
x509_extensions | string | x509_extensions | Selects which extensions should be used when creating an x509 certificate
req_extensions | string | req_extensions | Selects which extensions should be used when creating a CSR
private_key_bits | integer | default_bits | Specifies how many bits should be used to generate a private key
private_key_type | integer | none | Specifies the type of private key to create. This can be one of OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH or OPENSSL_KEYTYPE_RSA. The default value is OPENSSL_KEYTYPE_RSA which is currently the only supported key type.
encrypt_key | boolean | encrypt_key | Should an exported key (with passphrase) be encrypted?

extraattribs

extraattribs is used to specify additional configuration options for the CSR. Both dn and extraattribs are associative arrays whose keys are converted to OIDs and applied to the relevant part of the request.

반환값

Returns the CSR.

예제

예 1572. Creating a self-signed-certificate

<?php
// Fill in data for the distinguished name to be used in the cert
// You must change the values of these keys to match your name and
// company, or more precisely, the name and company of the person/site
// that you are generating the certificate for.
// For SSL certificates, the commonName is usually the domain name of
// that will be using the certificate, but for S/MIME certificates,
// the commonName will be the name of the individual who will use the
// certificate.
$dn = array(
    "countryName" => "UK",
    "stateOrProvinceName" => "Somerset",
    "localityName" => "Glastonbury",
    "organizationName" => "The Brain Room Limited",
    "organizationalUnitName" => "PHP Documentation Team",
    "commonName" => "Wez Furlong",
    "emailAddress" => "wez@example.com"
);

// Generate a new private (and public) key pair
$privkey = openssl_pkey_new();

// Generate a certificate signing request
$csr = openssl_csr_new($dn, $privkey);

// You will usually want to create a self-signed certificate at this
// point until your CA fulfills your request.
// This creates a self-signed cert that is valid for 365 days
$sscert = openssl_csr_sign($csr, null, $privkey, 365);

// Now you will want to preserve your private key, CSR and self-signed
// cert so that they can be installed into your web server, mail server
// or mail client (depending on the intended use of the certificate).
// This example shows how to get those things into variables, but you
// can also store them directly into files.
// Typically, you will send the CSR on to your CA who will then issue
// you with the "real" certificate.
openssl_csr_export($csr, $csrout) and var_dump($csrout);
openssl_x509_export($sscert, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword") and var_dump($pkeyout);

// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

이전 | 위로 | 다음
openssl_csr_get_subject | 처음으로 | openssl_csr_sign


openssl_csr_sign

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_sign -- Sign a CSR with another certificate (or itself) and generate a certificate

설명

resource openssl_csr_sign ( mixed $csr, mixed $cacert, mixed $priv_key, int $days [, array $configargs [, int $serial]] )

openssl_csr_sign() generates an x509 certificate resource from the given CSR.

참고: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

매개변수

csr

A CSR previously generated by openssl_csr_new(). It can also be the path to a PEM encoded CSR when specified as file://path/to/csr or an exported string generated by openssl_csr_export().

cacert

The generated certificate will be signed by cacert. If cacert is NULL, the generated certificate will be a self-signed certificate.

priv_key

priv_key is the private key that corresponds to cacert.

days

days specifies the length of time for which the generated certificate will be valid, in days.

configargs

You can finetune the CSR signing by configargs. See openssl_csr_new() for more information about configargs.

serial

An optional the serial number of issued certificate. If not specified it will default to 0.

반환값

Returns an x509 certificate resource on success, FALSE on failure.

변경 기록

버전 | 설명
4.3.3 | The serial parameter was added.

예제

예 1573. openssl_csr_sign() example - signing a CSR (how to implement your own CA)

<?php
// Let's assume that this script is set to receive a CSR that has
// been pasted into a textarea from another page
$csrdata = $_POST["CSR"];

// We will sign the request using our own "certificate authority"
// certificate.  You can use any certificate to sign another, but
// the process is worthless unless the signing certificate is trusted
// by the software/users that will deal with the newly signed certificate

// We need our CA cert and its private key
$cacert = "file://path/to/ca.crt";
$privkey = array("file://path/to/ca.key", "your_ca_key_passphrase");

$userscert = openssl_csr_sign($csrdata, $cacert, $privkey, 365);

// Now display the generated certificate so that the user can
// copy and paste it into their local configuration (such as a file
// to hold the certificate for their SSL server)
openssl_x509_export($usercert, $certout);
echo $certout;

// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

이전 | 위로 | 다음
openssl_csr_new | 처음으로 | openssl_error_string


openssl_error_string

(PHP 4 >= 4.0.6, PHP 5)

openssl_error_string -- Return openSSL error message

설명

string openssl_error_string ( void )

openssl_error_string() returns the last error from the openSSL library. Error messages are stacked, so this function should be called multiple times to collect all of the information.

반환값

Returns an error message string, or FALSE if there are no more error messages to return.

예제

예 1574. openssl_error_string() example

<?php
// lets assume you just called an openssl function that failed
while ($msg = openssl_error_string())
    echo $msg . "<br />\n";
?>

이전 | 위로 | 다음
openssl_csr_sign | 처음으로 | openssl_free_key


openssl_free_key

(PHP 4 >= 4.0.4, PHP 5)

openssl_free_key -- Free key resource

설명

void openssl_free_key ( resource $key_identifier )

openssl_free_key() frees the key associated with the specified key_identifier from memory.

매개변수

key_identifier

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
openssl_error_string | 처음으로 | openssl_get_privatekey


openssl_get_privatekey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_privatekey -- Alias of openssl_pkey_get_private()

설명

이 함수는 다음 함수의 alias입니다: openssl_pkey_get_private().

이전 | 위로 | 다음
openssl_free_key | 처음으로 | openssl_get_publickey


openssl_get_publickey

(PHP 4 >= 4.0.4, PHP 5)

openssl_get_publickey -- Alias of openssl_pkey_get_public()

설명

이 함수는 다음 함수의 alias입니다: openssl_pkey_get_public().

이전 | 위로 | 다음
openssl_get_privatekey | 처음으로 | openssl_open


openssl_open

(PHP 4 >= 4.0.4, PHP 5)

openssl_open -- Open sealed data

설명

bool openssl_open ( string $sealed_data, string &$open_data, string $env_key, mixed $priv_key_id )

openssl_open() opens (decrypts) sealed_data using the private key associated with the key identifier priv_key_id and the envelope key env_key, and fills open_data with the decrypted data. The envelope key is generated when the data are sealed and can only be used by one specific private key. See openssl_seal() for more information.

매개변수

sealed_data

open_data

If the call is successful the opened data is returned in this parameter.

env_key

priv_key_id

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1575. openssl_open() example

<?php
// $sealed and $env_key are assumed to contain the sealed data
// and our envelope key, both given to us by the sealer.

// fetch private key from file and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// decrypt the data and store it in $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
    echo "here is the opened data: ", $open;
} else {
    echo "failed to open data";
}

// free the private key from memory
openssl_free_key($pkeyid);
?>

참고

openssl_seal()

이전 | 위로 | 다음
openssl_get_publickey | 처음으로 | openssl_pkcs12_export_to_file


openssl_pkcs7_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_decrypt -- Decrypts an S/MIME encrypted message

설명

bool openssl_pkcs7_decrypt ( string $infilename, string $outfilename, mixed $recipcert [, mixed $recipkey] )

Decrypts the S/MIME encrypted message contained in the file specified by infilename using the certificate and its associated private key specified by recipcert and recipkey.

매개변수

infilename

outfilename

The decrypted message is written to the file specified by outfilename.

recipcert

recipkey

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1576. openssl_pkcs7_decrypt() example

<?php
// $cert and $key are assumed to contain your personal certificate and private
// key pair, and that you are the recipient of an S/MIME message
$infilename = "encrypted.msg";  // this file holds your encrypted message
$outfilename = "decrypted.msg"; // make sure you can write to this file

if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) {
    echo "decrypted!";
} else {
    echo "failed to decrypt!";
}
?>

이전 | 위로 | 다음
openssl_pkcs12_read | 처음으로 | openssl_pkcs7_encrypt


openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_encrypt -- Encrypt an S/MIME message

설명

bool openssl_pkcs7_encrypt ( string $infile, string $outfile, mixed $recipcerts, array $headers [, int $flags [, int $cipherid]] )

openssl_pkcs7_encrypt() takes the contents of the file named infile and encrypts them using an RC2 40-bit cipher so that they can only be read by the intended recipients specified by recipcerts.

매개변수

infile

outfile

recipcerts

Either a lone X.509 certificate, or an array of X.509 certificates.

headers

headers is an array of headers that will be prepended to the data after it has been encrypted.

headers can be either an associative array keyed by header name, or an indexed array, where each element contains a single header line.

flags

flags can be used to specify options that affect the encoding process - see PKCS7 constants.

cipherid

Cipher can be selected with cipherid.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
5.0.0 | The cipherid parameter was added.

예제

예 1577. openssl_pkcs7_encrypt() example

<?php
// the message you want to encrypt and send to your secret agent
// in the field, known as nighthawk.  You have his certificate
// in the file nighthawk.pem
$data = <<<EOD
Nighthawk,

Top secret, for your eyes only!

The enemy is closing in! Meet me at the cafe at 8.30am
to collect your forged passport!

HQ
EOD;

// load key
$key = file_get_contents("nighthawk.pem");

// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);

// encrypt it
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
    array("To" => "nighthawk@example.com", // keyed syntax
          "From: HQ <hq@example.com>", // indexed syntax
          "Subject" => "Eyes only"))) {
    // message encrypted - send it!
    exec(ini_get("sendmail_path") . " < enc.txt");
}
?>

이전 | 위로 | 다음
openssl_pkcs7_decrypt | 처음으로 | openssl_pkcs7_sign


openssl_pkcs7_sign

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_sign -- Sign an S/MIME message

설명

bool openssl_pkcs7_sign ( string $infilename, string $outfilename, mixed $signcert, mixed $privkey, array $headers [, int $flags [, string $extracerts]] )

openssl_pkcs7_sign() takes the contents of the file named infilename and signs them using the certificate and its matching private key specified by signcert and privkey parameters.

매개변수

infilename

outfilename

signcert

privkey

headers

headers is an array of headers that will be prepended to the data after it has been signed (see openssl_pkcs7_encrypt() for more information about the format of this parameter.

flags

flags can be used to alter the output - see PKCS7 constants - if not specified, it defaults to PKCS7_DETACHED.

extracerts

extracerts specifies the name of a file containing a bunch of extra certificates to include in the signature which can for example be used to help the recipient to verify the certificate that you used.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1578. openssl_pkcs7_sign() example

<?php
// the message you want to sign so that recipient can be sure it was you that
// sent it
$data = <<<EOD

You have my authorization to spend $10,000 on dinner expenses.

The CEO
EOD;
// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encrypt it
if (openssl_pkcs7_sign("msg.txt", "signed.txt", "mycert.pem",
    array("file://mycert.pem", "mypassphrase"),
    array("To" => "joes@example.com", // keyed syntax
          "From: HQ <ceo@example.com>", // indexed syntax
          "Subject" => "Eyes only")
    )) {
    // message signed - send it!
    exec(ini_get("sendmail_path") . " < signed.txt");
}
?>

이전 | 위로 | 다음
openssl_pkcs7_encrypt | 처음으로 | openssl_pkcs7_verify


openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_verify -- Verifies the signature of an S/MIME signed message

설명

mixed openssl_pkcs7_verify ( string $filename, int $flags [, string $outfilename [, array $cainfo [, string $extracerts [, string $content]]]] )

openssl_pkcs7_verify() reads the S/MIME message contained in the given file and examines the digital signature.

매개변수

filename

Path to the message.

flags

flags can be used to affect how the signature is verified - see PKCS7 constants for more information.

outfilename

If the outfilename is specified, it should be a string holding the name of a file into which the certificates of the persons that signed the messages will be stored in PEM format.

cainfo

If the cainfo is specified, it should hold information about the trusted CA certificates to use in the verification process - see certificate verification for more information about this parameter.

extracerts

If the extracerts is specified, it is the filename of a file containing a bunch of certificates to use as untrusted CAs.

content

You can specify a filename with content that will be filled with the verified data, but with the signature information stripped.

반환값

Returns TRUE if the signature is verified, FALSE if it is not correct (the message has been tampered with, or the signing certificate is invalid), or -1 on error.

변경 기록

버전 | 설명
5.1.0 | The content parameter was added.

이전 | 위로 | 다음
openssl_pkcs7_sign | 처음으로 | openssl_pkey_export_to_file


openssl_pkey_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export_to_file -- Gets an exportable representation of a key into a file

설명

bool openssl_pkey_export_to_file ( mixed $key, string $outfilename [, string $passphrase [, array $configargs]] )

openssl_pkey_export_to_file() saves an ascii-armoured (PEM encoded) rendition of key into the file named by outfilename.

참고: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

매개변수

key

outfilename

Path to the output file.

passphrase

The key can be optionally protected by a passphrase.

configargs

configargs can be used to fine-tune the export process by specifying and/or overriding options for the openssl configuration file. See openssl_csr_new() for more information about configargs.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
openssl_pkcs7_verify | 처음으로 | openssl_pkey_export


openssl_pkey_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_export -- Gets an exportable representation of a key into a string

설명

bool openssl_pkey_export ( mixed $key, string &$out [, string $passphrase [, array $configargs]] )

openssl_pkey_export() exports key as a PEM encoded string and stores it into out (which is passed by reference).

참고: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

매개변수

key

out

passphrase

The key is optionally protected by passphrase.

configargs

configargs can be used to fine-tune the export process by specifying and/or overriding options for the openssl configuration file. See openssl_csr_new() for more information about configargs.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
openssl_pkey_export_to_file | 처음으로 | openssl_pkey_free


openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_private -- Get a private key

설명

resource openssl_pkey_get_private ( mixed $key [, string $passphrase] )

openssl_get_privatekey() parses key and prepares it for use by other functions.

매개변수

key

key can be one of the following:

  1. a string having the format file://path/to/file.pem. The named file must contain a PEM encoded certificate/private key (it may contain both).
  2. A PEM formatted private key.

passphrase

The optional parameter passphrase must be used if the specified key is encrypted (protected by a passphrase).

반환값

Returns a positive key resource identifier on success, or FALSE on error.

이전 | 위로 | 다음
openssl_pkey_get_details | 처음으로 | openssl_pkey_get_public


openssl_pkey_get_public

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_get_public -- Extract public key from certificate and prepare it for use

설명

resource openssl_pkey_get_public ( mixed $certificate )

openssl_get_publickey() extracts the public key from certificate and prepares it for use by other functions.

매개변수

certificate

certificate can be one of the following:

  1. an X.509 certificate resource
  2. a string having the format file://path/to/file.pem. The named file must contain a PEM encoded certificate/private key (it may contain both).
  3. A PEM formatted private key.

반환값

Returns a positive key resource identifier on success, or FALSE on error.

이전 | 위로 | 다음
openssl_pkey_get_private | 처음으로 | openssl_pkey_new


openssl_pkey_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_new -- Generates a new private key

설명

resource openssl_pkey_new ( [array $configargs] )

openssl_pkey_new() generates a new private and public key pair. The public component of the key can be obtained using openssl_pkey_get_public().

참고: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

매개변수

configargs

You can finetune the key generation (such as specifying the number of bits) using configargs. See openssl_csr_new() for more information about configargs.

반환값

Returns a resource identifier for the pkey on success, or FALSE on error.

이전 | 위로 | 다음
openssl_pkey_get_public | 처음으로 | openssl_private_decrypt


openssl_private_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_decrypt -- Decrypts data with private key

설명

bool openssl_private_decrypt ( string $data, string &$decrypted, mixed $key [, int $padding] )

openssl_private_decrypt() decrypts data that was previous encrypted via openssl_public_encrypt() and stores the result into decrypted.

You can use this function e.g. to decrypt data which were supposed only to you.

매개변수

data

decrypted

key

key must be the private key corresponding that was used to encrypt the data.

padding

padding defaults to OPENSSL_PKCS1_PADDING, but can also be one of OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openssl_public_encrypt()
openssl_public_decrypt()

이전 | 위로 | 다음
openssl_pkey_new | 처음으로 | openssl_private_encrypt


openssl_private_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_encrypt -- Encrypts data with private key

설명

bool openssl_private_encrypt ( string $data, string &$crypted, mixed $key [, int $padding] )

openssl_private_encrypt() encrypts data with private key and stores the result into crypted. Encrypted data can be decrypted via openssl_public_decrypt().

This function can be used e.g. to sign data (or its hash) to prove that it is not written by someone else.

매개변수

data

crypted

key

padding

padding defaults to OPENSSL_PKCS1_PADDING, but can also be OPENSSL_NO_PADDING.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openssl_public_encrypt()
openssl_public_decrypt()

이전 | 위로 | 다음
openssl_private_decrypt | 처음으로 | openssl_public_decrypt


openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_decrypt -- Decrypts data with public key

설명

bool openssl_public_decrypt ( string $data, string &$decrypted, mixed $key [, int $padding] )

openssl_public_decrypt() decrypts data that was previous encrypted via openssl_private_encrypt() and stores the result into decrypted.

You can use this function e.g. to check if the message was written by the owner of the private key.

매개변수

data

decrypted

key

key must be the public key corresponding that was used to encrypt the data.

padding

padding defaults to OPENSSL_PKCS1_PADDING, but can also be OPENSSL_NO_PADDING.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openssl_private_encrypt()
openssl_private_decrypt()

이전 | 위로 | 다음
openssl_private_encrypt | 처음으로 | openssl_public_encrypt


openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_encrypt -- Encrypts data with public key

설명

bool openssl_public_encrypt ( string $data, string &$crypted, mixed $key [, int $padding] )

openssl_public_encrypt() encrypts data with public key and stores the result into crypted. Encrypted data can be decrypted via openssl_private_decrypt().

This function can be used e.g. to encrypt message which can be then read only by owner of the private key. It can be also used to store secure data in database.

매개변수

data

crypted

This will hold the result of the encryption.

key

The public key.

padding

padding defaults to OPENSSL_PKCS1_PADDING, but can also be one of OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

openssl_private_encrypt()
openssl_private_decrypt()

이전 | 위로 | 다음
openssl_public_decrypt | 처음으로 | openssl_seal


openssl_seal

(PHP 4 >= 4.0.4, PHP 5)

openssl_seal -- Seal (encrypt) data

설명

int openssl_seal ( string $data, string &$sealed_data, array &$env_keys, array $pub_key_ids )

openssl_seal() seals (encrypts) data by using RC4 with a randomly generated secret key. The key is encrypted with each of the public keys associated with the identifiers in pub_key_ids and each encrypted key is returned in env_keys. This means that one can send sealed data to multiple recipients (provided one has obtained their public keys). Each recipient must receive both the sealed data and the envelope key that was encrypted with the recipient's public key.

매개변수

data

sealed_data

env_keys

pub_key_ids

반환값

Returns the length of the sealed data on success, or FALSE on error. If successful the sealed data is returned in sealed_data, and the envelope keys in env_keys.

예제

예 1579. openssl_seal() example

<?php
// $data is assumed to contain the data to be sealed

// fetch public keys for our recipients, and ready them
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// Repeat for second recipient
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);

// seal message, only owners of $pk1 and $pk2 can decrypt $sealed with keys
// $ekeys[0] and $ekeys[1] respectively.
openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2));

// free the keys from memory
openssl_free_key($pk1);
openssl_free_key($pk2);
?>

참고

openssl_open()

이전 | 위로 | 다음
openssl_public_encrypt | 처음으로 | openssl_sign


openssl_sign

(PHP 4 >= 4.0.4, PHP 5)

openssl_sign -- Generate signature

설명

bool openssl_sign ( string $data, string &$signature, mixed $priv_key_id [, int $signature_alg] )

openssl_sign() computes a signature for the specified data by using SHA1 for hashing followed by encryption using the private key associated with priv_key_id. Note that the data itself is not encrypted.

매개변수

data

signature

If the call was successful the signature is returned in signature.

priv_key_id

signature_alg

Defaults to OPENSSL_ALGO_SHA1. For more information see the list of Signature Algorithms.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
5.0.0 | The signature_alg parameter was added.

예제

예 1580. openssl_sign() example

<?php
// $data is assumed to contain the data to be signed

// fetch private key from file and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);

// compute signature
openssl_sign($data, $signature, $pkeyid);

// free the key from memory
openssl_free_key($pkeyid);
?>

참고

openssl_verify()

이전 | 위로 | 다음
openssl_seal | 처음으로 | openssl_verify


openssl_verify

(PHP 4 >= 4.0.4, PHP 5)

openssl_verify -- Verify signature

설명

int openssl_verify ( string $data, string $signature, mixed $pub_key_id [, int $signature_alg] )

openssl_verify() verifies that the signature is correct for the specified data using the public key associated with pub_key_id. This must be the public key corresponding to the private key used for signing.

매개변수

data

signature

pub_key_id

signature_alg

Defaults to OPENSSL_ALGO_SHA1. For more information see the list of Signature Algorithms.

반환값

Returns 1 if the signature is correct, 0 if it is incorrect, and -1 on error.

변경 기록

버전 | 설명
5.0.0 | The signature_alg parameter was added.

예제

예 1581. openssl_verify() example

<?php
// $data and $signature are assumed to contain the data and the signature

// fetch public key from certificate and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pubkeyid = openssl_get_publickey($cert);

// state whether signature is okay or not
$ok = openssl_verify($data, $signature, $pubkeyid);
if ($ok == 1) {
    echo "good";
} elseif ($ok == 0) {
    echo "bad";
} else {
    echo "ugly, error checking signature";
}
// free the key from memory
openssl_free_key($pubkeyid);
?>

참고

openssl_sign()

이전 | 위로 | 다음
openssl_sign | 처음으로 | openssl_x509_check_private_key


openssl_x509_check_private_key

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_check_private_key -- Checks if a private key corresponds to a certificate

설명

bool openssl_x509_check_private_key ( mixed $cert, mixed $key )

Checks whether the given key is the private key that corresponds to cert.

매개변수

cert

The certificate.

key

The private key.

반환값

Returns TRUE if key is the private key that corresponds to cert, or FALSE otherwise.

이전 | 위로 | 다음
openssl_verify | 처음으로 | openssl_x509_checkpurpose


openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_checkpurpose -- Verifies if a certificate can be used for a particular purpose

설명

int openssl_x509_checkpurpose ( mixed $x509cert, int $purpose [, array $cainfo [, string $untrustedfile]] )

openssl_x509_checkpurpose() examines a certificate to see if it can be used for the specified purpose.

매개변수

x509cert

The examined certificate.

purpose

표 230. openssl_x509_checkpurpose() purposes

Constant | Description
X509_PURPOSE_SSL_CLIENT | Can the certificate be used for the client side of an SSL connection?
X509_PURPOSE_SSL_SERVER | Can the certificate be used for the server side of an SSL connection?
X509_PURPOSE_NS_SSL_SERVER | Can the cert be used for Netscape SSL server?
X509_PURPOSE_SMIME_SIGN | Can the cert be used to sign S/MIME email?
X509_PURPOSE_SMIME_ENCRYPT | Can the cert be used to encrypt S/MIME email?
X509_PURPOSE_CRL_SIGN | Can the cert be used to sign a certificate revocation list (CRL)?
X509_PURPOSE_ANY | Can the cert be used for Any/All purposes?

These options are not bitfields - you may specify one only!

cainfo

cainfo should be an array of trusted CA files/dirs as described in Certificate Verification. It defaults to an empty array.

untrustedfile

If specified, this should be the name of a PEM encoded file holding certificates that can be used to help verify the certificate, although no trust in placed in the certificates that come from that file.

반환값

Returns TRUE if the certificate can be used for the intended purpose, FALSE if it cannot, or -1 on error.

이전 | 위로 | 다음
openssl_x509_check_private_key | 처음으로 | openssl_x509_export_to_file


openssl_x509_export_to_file

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export_to_file -- Exports a certificate to file

설명

bool openssl_x509_export_to_file ( mixed $x509, string $outfilename [, bool $notext] )

openssl_x509_export_to_file() stores x509 into a file named by outfilename in a PEM encoded format.

매개변수

x509

outfilename

Path to the output file.

notext

The optional parameter notext affects the verbosity of the output; if it is FALSE then additional human-readable information is included in the output. The default value of notext is TRUE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
openssl_x509_checkpurpose | 처음으로 | openssl_x509_export


openssl_x509_export

(PHP 4 >= 4.2.0, PHP 5)

openssl_x509_export -- Exports a certificate as a string

설명

bool openssl_x509_export ( mixed $x509, string &$output [, bool $notext] )

openssl_x509_export() stores x509 into a string named by output in a PEM encoded format.

매개변수

x509

output

On success, this will hold the PEM.

notext

The optional parameter notext affects the verbosity of the output; if it is FALSE then additional human-readable information is included in the output. The default value of notext is TRUE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
openssl_x509_export_to_file | 처음으로 | openssl_x509_free


openssl_x509_free

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_free -- Free certificate resource

설명

void openssl_x509_free ( resource $x509cert )

openssl_x509_free() frees the certificate associated with the specified x509cert resource from memory.

매개변수

x509cert

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
openssl_x509_export | 처음으로 | openssl_x509_parse


openssl_x509_parse

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_parse -- Parse an X509 certificate and return the information as an array

설명

array openssl_x509_parse ( mixed $x509cert [, bool $shortnames] )

openssl_x509_parse() returns information about the supplied x509cert, including fields such as subject name, issuer name, purposes, valid from and valid to dates etc.

매개변수

x509cert

shortnames

shortnames controls how the data is indexed in the array - if shortnames is TRUE (the default) then fields will be indexed with the short name form, otherwise, the long name form will be used - e.g.: CN is the shortname form of commonName.

반환값

The structure of the returned data is (deliberately) not yet documented, as it is still subject to change.

이전 | 위로 | 다음
openssl_x509_free | 처음으로 | openssl_x509_read


openssl_x509_read

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_read -- Parse an X.509 certificate and return a resource identifier for it

설명

resource openssl_x509_read ( mixed $x509certdata )

openssl_x509_read() parses the certificate supplied by x509certdata and returns a resource identifier for it.

매개변수

x509certdata

반환값

Returns a resource identifier on success, or FALSE on failure.

이전 | 위로 | 다음
openssl_x509_parse | 처음으로 | CXIII. Oracle Functions [deprecated]


Oracle Functions [deprecated]

이전 VI. 함수 레퍼런스 다음

CXIII. Oracle Functions [deprecated]

소개

주의

This extension is deprecated. Instead, use the improved oci8 extension. Functions documented here do list recommended oci8 alternatives.

This extension adds support for Oracle database server access.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

설치

You have to compile PHP with the option --with-oracle[=DIR], where DIR defaults to your environment variable ORACLE_HOME.

자원형

This extension defines two resource types: an Oracle connection identifier and an Oracle cursor index.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

ORA_BIND_INOUT (integer)
ORA_BIND_IN (integer)
ORA_BIND_OUT (integer)
ORA_FETCHINTO_ASSOC (integer)
ORA_FETCHINTO_NULLS (integer)

차례

ora_bind -- Binds a PHP variable to an Oracle parameter
ora_close -- Closes an Oracle cursor
ora_columnname -- Gets the name of an Oracle result column
ora_columnsize -- Returns the size of an Oracle result column
ora_columntype -- Gets the type of an Oracle result column
ora_commit -- Commit an Oracle transaction
ora_commitoff -- Disable automatic commit
ora_commiton -- Enable automatic commit
ora_do -- Parse, Exec, Fetch
ora_error -- Gets an Oracle error message
ora_errorcode -- Gets an Oracle error code
ora_exec -- Execute a parsed statement on an Oracle cursor
ora_fetch_into -- Fetch a row into the specified result array
ora_fetch -- Fetch a row of data from a cursor
ora_getcolumn -- Get data from a fetched column
ora_logoff -- Close an Oracle connection
ora_logon -- Open an Oracle connection
ora_numcols -- Returns the number of columns
ora_numrows -- Returns the number of rows
ora_open -- Opens an Oracle cursor
ora_parse -- Parse an SQL statement with Oracle
ora_plogon -- Open a persistent Oracle connection
ora_rollback -- Rolls back a transaction
이전 | 위로 | 다음
openssl_x509_read | 처음으로 | ora_bind


ora_bind

(PHP 4, PHP 5 <= 5.0.5)

ora_bind -- Binds a PHP variable to an Oracle parameter

설명

bool ora_bind ( resource $cursor, string $phpvar, string $sqlparam, int $length [, int $type] )

Binds the named PHP variable with a SQL parameter.

ora_bind() must be called after ora_parse() and before ora_exec(). Input values can be given by assignment to the bound PHP variables, after calling ora_exec() the bound PHP variables contain the output values if available.

매개변수

cursor

An Oracle cursor, opened with ora_open().

phpvar

The PHP variable to be bound.

sqlparam

The SQL parameter. Must be in the form :name.

length

type

Defines the type of the parameter. It defaults to ORA_BIND_INOUT. Possible values are listed below:

Constant | Value
ORA_BIND_INOUT | 0
ORA_BIND_IN | 1
ORA_BIND_OUT | 2

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.
3.0.1 | The constants for the type were added. In previous versions, you should use the numerical values.

예제

예 1582. ora_bind() example

<?php
  ora_parse($curs, "declare tmp INTEGER; begin tmp := :in; :out := tmp; :x := 7.77; end;");
  ora_bind($curs, "result", ":x", $len, 2);
  ora_bind($curs, "input", ":in", 5, 1);
  ora_bind($curs, "output", ":out", 5, 2);
  $input = 765;
  ora_exec($curs);
  echo "Result: $result<br />Out: $output<br />In: $input";
?>

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_bind_by_name()
oci_bind_array_by_name()

이전 | 위로 | 다음
CXIII. Oracle Functions [deprecated] | 처음으로 | ora_close


ora_close

(PHP 4, PHP 5 <= 5.0.5)

ora_close -- Closes an Oracle cursor

설명

bool ora_close ( resource $cursor )

Closes a data cursor.

매개변수

cursor

An Oracle cursor, opened with ora_open().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_free_statement()

이전 | 위로 | 다음
ora_bind | 처음으로 | ora_columnname


ora_columnname

(PHP 4, PHP 5 <= 5.0.5)

ora_columnname -- Gets the name of an Oracle result column

설명

string ora_columnname ( resource $cursor, int $column )

Returns the name of the column on the cursor.

매개변수

cursor

An Oracle cursor, opened with ora_open().

column

The column number. First is 0.

반환값

Returns the name as a string. The returned name is in all uppercase letters.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_field_name()

이전 | 위로 | 다음
ora_close | 처음으로 | ora_columnsize


ora_columnsize

(PHP 4, PHP 5 <= 5.0.5)

ora_columnsize -- Returns the size of an Oracle result column

설명

int ora_columnsize ( resource $cursor, int $column )

Returns the size of a column on the cursor.

매개변수

cursor

An Oracle cursor, opened with ora_open().

column

The column number. First is 0.

반환값

Returns the size as an integer, or FALSE on error.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_field_size()

이전 | 위로 | 다음
ora_columnname | 처음으로 | ora_columntype


ora_columntype

(PHP 4, PHP 5 <= 5.0.5)

ora_columntype -- Gets the type of an Oracle result column

설명

string ora_columntype ( resource $cursor, int $column )

Returns the Oracle data type name of the column on the cursor.

매개변수

cursor

An Oracle cursor, opened with ora_open().

column

The column number. First is 0.

반환값

The returned type will be one of the following strings:
"VARCHAR2"
"VARCHAR"
"CHAR"
"NUMBER"
"LONG"
"LONG RAW"
"ROWID"
"DATE"
"CURSOR"

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_field_type()
oci_field_type_raw()

이전 | 위로 | 다음
ora_columnsize | 처음으로 | ora_commit


ora_commit

(PHP 4, PHP 5 <= 5.0.5)

ora_commit -- Commit an Oracle transaction

설명

bool ora_commit ( resource $connection )

Commits an Oracle transaction.

A transaction is defined as all the changes on a given connection since the last commit/rollback, autocommit was turned off or when the connection was established.

매개변수

connection

A connection identifier, opened with ora_logon().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_commit()

참고

ora_commiton()
ora_commitoff()

이전 | 위로 | 다음
ora_columntype | 처음으로 | ora_commitoff


ora_commitoff

(PHP 4, PHP 5 <= 5.0.5)

ora_commitoff -- Disable automatic commit

설명

bool ora_commitoff ( resource $connection )

Turns off automatic commit after each ora_exec() on the given connection.

매개변수

connection

A connection identifier, opened with ora_logon().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
Pass the OCI_DEFAULT flag to oci_execute()

참고

ora_commiton()
ora_commit()

이전 | 위로 | 다음
ora_commit | 처음으로 | ora_commiton


ora_commiton

(PHP 4, PHP 5 <= 5.0.5)

ora_commiton -- Enable automatic commit

설명

bool ora_commiton ( resource $connection )

Turns on automatic commit after each ora_exec() on the given connection.

매개변수

connection

A connection identifier, opened with ora_logon().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_execute()

참고

ora_commitoff()
ora_commit()

이전 | 위로 | 다음
ora_commitoff | 처음으로 | ora_do


ora_do

(PHP 4, PHP 5 <= 5.0.5)

ora_do -- Parse, Exec, Fetch

설명

resource ora_do ( resource $connection, string $query )

Parse and execute a statement, then fetch the first result row.

This function is a quick combination of ora_parse(), ora_exec() and ora_fetch().

매개변수

connection

A connection identifier, opened with ora_logon().

query

The SQL statement.

반환값

This function returns a cursor index or FALSE on failure. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

There is no direct replacement for ora_do() in oci8. Instead, use a sequence of oci_parse(), oci_excute(), and one of the oci_fetch_*() functions.

참고

ora_parse()
ora_exec()
ora_fetch()

이전 | 위로 | 다음
ora_commiton | 처음으로 | ora_error


ora_error

(PHP 4, PHP 5 <= 5.0.5)

ora_error -- Gets an Oracle error message

설명

string ora_error ( [resource $cursor_or_connection] )

Returns the error message of the last executed statement on the specified cursor or connection.

매개변수

cursor_or_connection

An Oracle cursor or connection identifier.

반환값

Returns an error message of the form XXX-NNNNN where XXX is where the error comes from and NNNNN identifies the error message.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.
3.0.4 | Support for connection identifiers was added.

예제

On Unix versions of Oracle, you can find details about an error message like this:

$> oerr ora 00001

위 예제의 출력 예:

00001, 00000,
"unique constraint (%s.%s) violated" // *Cause: An update or insert
statement attempted to insert a duplicate key //         For Trusted
ORACLE configured in DBMS MAC mode, you may see //         this message
if a duplicate entry exists at a different level.  // *Action: Either
remove the unique restriction or do not insert the key

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_error()

이전 | 위로 | 다음
ora_do | 처음으로 | ora_errorcode


ora_errorcode

(PHP 4, PHP 5 <= 5.0.5)

ora_errorcode -- Gets an Oracle error code

설명

int ora_errorcode ( [resource $cursor_or_connection] )

Returns the numeric error code of the last executed statement on the specified cursor or connection.

매개변수

cursor_or_connection

An Oracle cursor or connection identifier.

반환값

Returns the error code, as an integer.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.
3.0.4 | Support for connection identifiers was added.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_error() (the "code" field of the resulting array)

이전 | 위로 | 다음
ora_error | 처음으로 | ora_exec


ora_exec

(PHP 4, PHP 5 <= 5.0.5)

ora_exec -- Execute a parsed statement on an Oracle cursor

설명

bool ora_exec ( resource $cursor )

Executes the parsed statement cursor.

매개변수

cursor

An Oracle cursor, already parsed by ora_parse().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_execute()

참고

ora_parse()
ora_fetch()
ora_do()

이전 | 위로 | 다음
ora_errorcode | 처음으로 | ora_fetch_into


ora_fetch_into

(PHP 4, PHP 5 <= 5.0.5)

ora_fetch_into -- Fetch a row into the specified result array

설명

int ora_fetch_into ( resource $cursor, array &$result [, int $flags] )

Fetches a row of data into an array.

매개변수

cursor

An Oracle cursor, opened with ora_open().

result

An array passed by reference. It will be filled with the fetched values.

flags

There are two possible flags. If ORA_FETCHINTO_NULLS is set, columns with NULL values are set in the array; and if the ORA_FETCHINTO_ASSOC flag is set, an associative array is created.

반환값

Returns the number of columns fetched, or FALSE on error.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

예제

예 1583. ora_fetch_into()

<?php
$results = array();
ora_fetch_into($cursor, $results);
echo $results[0];
echo $results[1];
$results = array();
ora_fetch_into($cursor, $results, ORA_FETCHINTO_NULLS|ORA_FETCHINTO_ASSOC);
echo $results['MyColumn'];
?>

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
A fetch function like oci_fetch_array()

참고

ora_parse()
ora_exec()
ora_fetch()
ora_do()

이전 | 위로 | 다음
ora_exec | 처음으로 | ora_fetch


ora_fetch

(PHP 4, PHP 5 <= 5.0.5)

ora_fetch -- Fetch a row of data from a cursor

설명

bool ora_fetch ( resource $cursor )

Retrieves a row of data from the specified cursor.

매개변수

cursor

An Oracle cursor, opened with ora_open().

반환값

Returns TRUE (a row was fetched) or FALSE (no more rows, or an
error occurred). If an error occurred, details can be retrieved
using the ora_error() and
ora_errorcode() functions. If there was no
error, ora_errorcode() will return 0.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_fetch()

참고

ora_parse()
ora_exec()
ora_do()

이전 | 위로 | 다음
ora_fetch_into | 처음으로 | ora_getcolumn


ora_getcolumn

(PHP 4, PHP 5 <= 5.0.5)

ora_getcolumn -- Get data from a fetched column

설명

string ora_getcolumn ( resource $cursor, int $column )

Fetches the data for a column or function result.

매개변수

cursor

An Oracle cursor, opened with ora_open().

column

The column number, as an integer.

반환값

Returns the column data. If an error occurs, FALSE is returned and ora_errorcode() will return a non-zero value. Note, however, that a test for FALSE on the results from this function may be TRUE in cases where there is not error as well (NULL result, empty string, the number 0, the string "0").

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_result()

이전 | 위로 | 다음
ora_fetch | 처음으로 | ora_logoff


ora_logoff

(PHP 4, PHP 5 <= 5.0.5)

ora_logoff -- Close an Oracle connection

설명

bool ora_logoff ( resource $connection )

Logs out the user and disconnects from the server.

매개변수

connection

A connection identifier, opened with ora_logon().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_close()

참고

ora_logon()

이전 | 위로 | 다음
ora_getcolumn | 처음으로 | ora_logon


ora_logon

(PHP 4, PHP 5 <= 5.0.5)

ora_logon -- Open an Oracle connection

설명

resource ora_logon ( string $user, string $password )

Establishes a connection between PHP and an Oracle database.

Connections can be made using SQL*Net by supplying the TNS name to user like this:

<?php
$conn = Ora_Logon("user@TNSNAME", "pass");
?>

If you have character data with non-ASCII characters, you should make sure that NLS_LANG is set in your environment. For server modules, you should set it in the server's environment before starting the server.

매개변수

user

The user name.

password

The password associated with user.

반환값

Returns a connection identifier on success, or FALSE on failure. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_connect()
oci_new_connect()

이전 | 위로 | 다음
ora_logoff | 처음으로 | ora_numcols


ora_numcols

(PHP 4, PHP 5 <= 5.0.5)

ora_numcols -- Returns the number of columns

설명

int ora_numcols ( resource $cursor )

Returns the number of columns in a result. It only returns meaningful values after a parse/exec/fetch sequence.

매개변수

cursor

An Oracle cursor, opened with ora_open().

반환값

Returns the number of columns as an integer, or FALSE on error.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_num_fields()

참고

ora_parse()
ora_exec()
ora_fetch()
ora_do()

이전 | 위로 | 다음
ora_logon | 처음으로 | ora_numrows


ora_numrows

(PHP 4, PHP 5 <= 5.0.5)

ora_numrows -- Returns the number of rows

설명

int ora_numrows ( resource $cursor )

Returns the number of rows in a result.

매개변수

cursor

An Oracle cursor, opened with ora_open().

반환값

Returns the number of rows as an integer, or FALSE on error.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_num_rows()

이전 | 위로 | 다음
ora_numcols | 처음으로 | ora_open


ora_open

(PHP 4, PHP 5 <= 5.0.5)

ora_open -- Opens an Oracle cursor

설명

resource ora_open ( resource $connection )

Opens an Oracle cursor associated with connection.

매개변수

connection

A connection identifier, opened with ora_logon().

반환값

Returns a cursor index or FALSE on failure. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_new_cursor()

이전 | 위로 | 다음
ora_numrows | 처음으로 | ora_parse


ora_parse

(PHP 4, PHP 5 <= 5.0.5)

ora_parse -- Parse an SQL statement with Oracle

설명

bool ora_parse ( resource $cursor, string $sql_statement [, int $defer] )

Parses an SQL statement or a PL/SQL block and associates it with the given cursor.

매개변수

cursor

An Oracle cursor, opened with ora_open().

sql_statement

The SQL statement, or PL/SQL block.

defer

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_parse()

참고

ora_exec()
ora_fetch()
ora_do()

이전 | 위로 | 다음
ora_open | 처음으로 | ora_plogon


ora_plogon

(PHP 4, PHP 5 <= 5.0.5)

ora_plogon -- Open a persistent Oracle connection

설명

resource ora_plogon ( string $user, string $password )

Establishes a persistent connection between PHP and an Oracle database.

매개변수

user

The user name.

password

The password associated with user.

반환값

Returns a persistent connection identifier, or FALSE on error.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_pconnect()

참고

ora_logon()

이전 | 위로 | 다음
ora_parse | 처음으로 | ora_rollback


ora_rollback

(PHP 4, PHP 5 <= 5.0.5)

ora_rollback -- Rolls back a transaction

설명

bool ora_rollback ( resource $connection )

Rollbacks an Oracle transaction.

See ora_commit() for the definition of a transaction.

매개변수

connection

A connection identifier, opened with ora_logon().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Details about the error can be retrieved using the ora_error() and ora_errorcode() functions.

변경 기록

버전 | 설명
5.1.0 | oracle 확장은 권장되지 않습니다. oci8를 사용하십시오.

주의

권장되지 않는 oracle을 대신하여 oci8를 사용할 때는 다음을 고려하십시오:
oci_rollback()

이전 | 위로 | 다음
ora_plogon | 처음으로 | CXIV. Oracle Functions (PDO_OCI)


Ovrimos SQL Functions

이전 VI. 함수 레퍼런스 다음

CXVI. Ovrimos SQL Functions

소개

Ovrimos SQL Server, is a client/server, transactional RDBMS combined with Web capabilities and fast transactions.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 4.4.5 and PHP 5.1.0.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

요구 조건

You'll need to install the sqlcli library available in the Ovrimos SQL Server distribution.

설치

To enable Ovrimos support in PHP just compile PHP with the --with-ovrimos[=DIR] parameter to your configure line. DIR is the Ovrimos' libsqlcli install directory.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

예제

예 1595. Connect to Ovrimos SQL Server and select from a system table

<?php
$conn = ovrimos_connect("server.domain.com", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

This will just connect to an Ovrimos SQL server.

차례

ovrimos_close -- Closes the connection to ovrimos
ovrimos_commit -- Commits the transaction
ovrimos_connect -- Connect to the specified database
ovrimos_cursor -- Returns the name of the cursor
ovrimos_exec -- Executes an SQL statement
ovrimos_execute -- Executes a prepared SQL statement
ovrimos_fetch_into -- Fetches a row from the result set
ovrimos_fetch_row -- Fetches a row from the result set
ovrimos_field_len -- Returns the length of the output column
ovrimos_field_name -- Returns the output column name
ovrimos_field_num -- Returns the (1-based) index of the output column
ovrimos_field_type -- Returns the type of the output column
ovrimos_free_result -- Frees the specified result_id
ovrimos_longreadlen -- Specifies how many bytes are to be retrieved from long datatypes
ovrimos_num_fields -- Returns the number of columns
ovrimos_num_rows -- Returns the number of rows affected by update operations
ovrimos_prepare -- Prepares an SQL statement
ovrimos_result_all -- Prints the whole result set as an HTML table
ovrimos_result -- Retrieves the output column
ovrimos_rollback -- Rolls back the transaction
이전 | 위로 | 다음
output_reset_rewrite_vars | 처음으로 | ovrimos_close


ovrimos_close

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_close -- Closes the connection to ovrimos

설명

void ovrimos_close ( int $connection )

Closes the specified connection to Ovrimos. This has the effect of rolling back uncommitted transactions.

매개변수

connection

The Ovrimos connection identifier, returned by ovrimos_connect().

반환값

값을 반환하지 않습니다.

참고

ovrimos_connect()

이전 | 위로 | 다음
CXVI. Ovrimos SQL Functions | 처음으로 | ovrimos_commit


ovrimos_commit

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_commit -- Commits the transaction

설명

bool ovrimos_commit ( int $connection_id )

Commits the transaction.

매개변수

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ovrimos_rollback()

이전 | 위로 | 다음
ovrimos_close | 처음으로 | ovrimos_connect


ovrimos_connect

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_connect -- Connect to the specified database

설명

int ovrimos_connect ( string $host, string $dborport, string $user, string $password )

Connects to the specified database.

매개변수

host

A host name or IP address.

dborport

Either a database name, or the port number to connect to.

user

The user name.

password

Password associated with user.

반환값

Returns a connection identifier (greater than 0) on success, or 0 on failure.

예제

예 1596. ovrimos_connect() Example

<?php
$conn = ovrimos_connect("server.example.com", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

참고

ovrimos_close()

이전 | 위로 | 다음
ovrimos_commit | 처음으로 | ovrimos_cursor


ovrimos_cursor

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_cursor -- Returns the name of the cursor

설명

string ovrimos_cursor ( int $result_id )

Gets the name of the cursor. Useful when wishing to perform positioned updates or deletes.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

반환값

Returns the name as a string, or FALSE on error.

이전 | 위로 | 다음
ovrimos_connect | 처음으로 | ovrimos_exec


ovrimos_exec

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_exec -- Executes an SQL statement

설명

int ovrimos_exec ( int $connection_id, string $query )

Executes an SQL statement (query or update) and returns a result identifier.

매개변수

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

query

The SQL statement. Evidently, it should not contain parameters. Use ovrimos_prepare() for prepared statements.

반환값

Returns the result identifier as an integer, or FALSE on error.

참고

ovrimos_execute()
ovrimos_prepare()

이전 | 위로 | 다음
ovrimos_cursor | 처음으로 | ovrimos_execute


ovrimos_execute

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_execute -- Executes a prepared SQL statement

설명

bool ovrimos_execute ( int $result_id [, array $parameters_array] )

Executes a prepared statement.

매개변수

result_id

An Ovrimos result identifier prepared with ovrimos_prepare().

parameters_array

If the prepared statement contained parameters (question marks in the statement), the correct number of parameters should be passed in an array.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ovrimos_prepare()

이전 | 위로 | 다음
ovrimos_exec | 처음으로 | ovrimos_fetch_into


ovrimos_fetch_into

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_fetch_into -- Fetches a row from the result set

설명

bool ovrimos_fetch_into ( int $result_id, array &$result_array [, string $how [, int $rownumber]] )

Fetches a row from the given result set, into result_array.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

result_array

You must provide an array by reference. It will be filled with the fetched values.

how

Determines how the rows are fetched. This can be one of the following strings (case is not significant):

Option | Notes
Next | Forward direction from current position. This is the default value.
Prev | Backward direction from current position.
First | Forward direction from the start.
Last | Backward direction from the end.
Absolute | Absolute position from the start. Requires rownumber.

rownumber

The row number, first one is 0. Only needed when how is set to Absolute.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1597. A fetch into example

<?php
$conn=ovrimos_connect("neptune", "8001", "admin", "password");
if ($conn!=0) {
    echo "Connection ok!";
    $res=ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        if (ovrimos_fetch_into($res, &$row)) {
            list($table_id, $table_name) = $row;
            echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            if (ovrimos_fetch_into($res, &$row)) {
                list($table_id, $table_name) = $row;
                echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            } else {
                echo "Next: error\n";
            }
        } else {
            echo "First: error\n";
        }
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

참고

ovrimos_fetch_row()

이전 | 위로 | 다음
ovrimos_execute | 처음으로 | ovrimos_fetch_row


ovrimos_fetch_row

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_fetch_row -- Fetches a row from the result set

설명

bool ovrimos_fetch_row ( int $result_id [, int $how [, int $row_number]] )

Fetches a row from the result set. Column values should be retrieved with other calls.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

how

Determines how the rows are fetched. This can be one of the following strings (case is not significant):

Option | Notes
Next | Forward direction from current position. This is the default value.
Prev | Backward direction from current position.
First | Forward direction from the start.
Last | Backward direction from the end.
Absolute | Absolute position from the start. Requires rownumber.

rownumber

The row number, first one is 0. Only needed when how is set to Absolute.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1598. A fetch row example

<?php
$conn = ovrimos_connect("remote.host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res=ovrimos_exec($conn, "select table_id, table_name from sys.tables");
    if ($res != 0) {
        echo "Statement ok!";
        if (ovrimos_fetch_row($res, "First")) {
            $table_id = ovrimos_result($res, 1);
            $table_name = ovrimos_result($res, 2);
            echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            if (ovrimos_fetch_row($res, "Next")) {
                $table_id = ovrimos_result($res, "table_id");
                $table_name = ovrimos_result($res, "table_name");
                echo "table_id=" . $table_id . ", table_name=" . $table_name . "\n";
            } else {
                echo "Next: error\n";
            }
        } else {
            echo "First: error\n";
        }
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

This will fetch a row and print the result.

참고

ovrimos_fetch_into()

이전 | 위로 | 다음
ovrimos_fetch_into | 처음으로 | ovrimos_field_len


ovrimos_field_len

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_len -- Returns the length of the output column

설명

int ovrimos_field_len ( int $result_id, int $field_number )

Gets the length of the specified output column.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_number

The field number. Starts at 1.

반환값

Returns the length as an interger, or FALSE on error.

참고

ovrimos_field_name()
ovrimos_field_num()
ovrimos_field_type()

이전 | 위로 | 다음
ovrimos_fetch_row | 처음으로 | ovrimos_field_name


ovrimos_field_name

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_name -- Returns the output column name

설명

string ovrimos_field_name ( int $result_id, int $field_number )

Returns the output column name at the index specified.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_number

The field number. Starts at 1.

반환값

Returns the field name as a string, or FALSE on error.

참고

ovrimos_field_len()
ovrimos_field_num()
ovrimos_field_type()

이전 | 위로 | 다음
ovrimos_field_len | 처음으로 | ovrimos_field_num


ovrimos_field_num

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_num -- Returns the (1-based) index of the output column

설명

int ovrimos_field_num ( int $result_id, string $field_name )

Returns the 1-based index of the specified output column.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_name

The field name.

반환값

Returns the index, starting at 1, or FALSE on error.

참고

ovrimos_field_len()
ovrimos_field_name()
ovrimos_field_type()

이전 | 위로 | 다음
ovrimos_field_name | 처음으로 | ovrimos_field_type


ovrimos_field_type

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_field_type -- Returns the type of the output column

설명

int ovrimos_field_type ( int $result_id, int $field_number )

Returns the type of the output column

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field_number

A 1-based index.

반환값

Returns the field type as an integer, or FALSE on error.

참고

ovrimos_field_len()
ovrimos_field_name()
ovrimos_field_num()

이전 | 위로 | 다음
ovrimos_field_num | 처음으로 | ovrimos_free_result


ovrimos_free_result

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_free_result -- Frees the specified result_id

설명

bool ovrimos_free_result ( int $result_id )

Frees the specified result identifier.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

반환값

Returns TRUE.

이전 | 위로 | 다음
ovrimos_field_type | 처음으로 | ovrimos_longreadlen


ovrimos_longreadlen

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_longreadlen -- Specifies how many bytes are to be retrieved from long datatypes

설명

bool ovrimos_longreadlen ( int $result_id, int $length )

Specifies how many bytes are to be retrieved from long datatypes (long varchar and long varbinary).

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

length

The number of bytes to retrieve. Default is zero.

반환값

Returns TRUE.

이전 | 위로 | 다음
ovrimos_free_result | 처음으로 | ovrimos_num_fields


ovrimos_num_fields

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_num_fields -- Returns the number of columns

설명

int ovrimos_num_fields ( int $result_id )

Returns the number of columns in the specified result identifier.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

반환값

Returns the number of columns as an integer, or FALSE on error.

참고

ovrimos_num_rows()

이전 | 위로 | 다음
ovrimos_longreadlen | 처음으로 | ovrimos_num_rows


ovrimos_num_rows

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_num_rows -- Returns the number of rows affected by update operations

설명

int ovrimos_num_rows ( int $result_id )

Gets the number of rows affected by update operations.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

반환값

Returns the number of rows as an integer, or FALSE on error.

참고

ovrimos_num_fields()

이전 | 위로 | 다음
ovrimos_num_fields | 처음으로 | ovrimos_prepare


ovrimos_prepare

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_prepare -- Prepares an SQL statement

설명

int ovrimos_prepare ( int $connection_id, string $query )

Prepares an SQL statement.

매개변수

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

query

The SQL statement.

반환값

Returns a result identifier on success, or FALSE on error.

예제

예 1599. ovrimos_prepare() Example

<?php
$conn=ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn!=0) {
    echo "Connection ok!";

    // Prepare the statement
    $res=ovrimos_prepare($conn, "select table_id, table_name
                                  from sys.tables where table_id=1");
    if ($res != 0) {
        echo "Prepare ok!";
        // Execute the prepared statement
        if (ovrimos_execute($res)) {
            echo "Execute ok!\n";
            ovrimos_result_all($res);
        } else {
            echo "Execute not ok!";
        }
        ovrimos_free_result($res);
    } else {
        echo "Prepare not ok!\n";
    }
    ovrimos_close($conn);
}
?>

이전 | 위로 | 다음
ovrimos_num_rows | 처음으로 | ovrimos_result_all


ovrimos_result_all

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_result_all -- Prints the whole result set as an HTML table

설명

int ovrimos_result_all ( int $result_id [, string $format] )

Prints the whole result set as an HTML table.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

format

Optional HTML attributes for the generated table element.

반환값

Returns the number of rows in the generated table.

예제

This will execute an SQL statement and print the result in an HTML table.

예 1600. Prepare a statement, execute, and view the result

<?php
$conn = ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_prepare($conn, "select table_id, table_name
                                    from sys.tables where table_id = 7");
    if ($res != 0) {
        echo "Prepare ok!";
        if (ovrimos_execute($res, array(3))) {
            echo "Execute ok!\n";
            ovrimos_result_all($res);
        } else {
            echo "Execute not ok!";
        }
        ovrimos_free_result($res);
    } else {
        echo "Prepare not ok!\n";
    }
    ovrimos_close($conn);
}
?>

예 1601. ovrimos_result_all() with meta-information

<?php
$conn = ovrimos_connect("db_host", "8001", "admin", "password");
if ($conn != 0) {
    echo "Connection ok!";
    $res = ovrimos_exec($conn, "select table_id, table_name
                                 from sys.tables where table_id = 1");
    if ($res != 0) {
        echo "Statement ok! cursor=" . ovrimos_cursor($res) . "\n";
        $colnb = ovrimos_num_fields($res);
        echo "Output columns=" . $colnb . "\n";
        for ($i=1; $i <= $colnb; $i++) {
            $name = ovrimos_field_name($res, $i);
            $type = ovrimos_field_type($res, $i);
            $len = ovrimos_field_len($res, $i);
            echo "Column " . $i . " name=" . $name . " type=" . $type . " len=" . $len . "\n";
        }
        ovrimos_result_all($res);
        ovrimos_free_result($res);
    }
    ovrimos_close($conn);
}
?>

이전 | 위로 | 다음
ovrimos_prepare | 처음으로 | ovrimos_result


ovrimos_result

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_result -- Retrieves the output column

설명

string ovrimos_result ( int $result_id, mixed $field )

Retrieves the output column specified by field.

매개변수

result_id

A result identifier, returned by ovrimos_execute() or ovrimos_exec().

field

Either as a string with the field name or as an 1-based index.

반환값

Returns the column as a string, FALSE on failure.

이전 | 위로 | 다음
ovrimos_result_all | 처음으로 | ovrimos_rollback


ovrimos_rollback

(PHP 4 >= 4.0.3, PHP 5 <= 5.0.5)

ovrimos_rollback -- Rolls back the transaction

설명

bool ovrimos_rollback ( int $connection_id )

Rolls back the transaction.

매개변수

connection_id

The Ovrimos connection identifier, returned by ovrimos_connect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ovrimos_commit()

이전 | 위로 | 다음
ovrimos_result | 처음으로 | CXVII. Paradox File Access


출력 제어 함수

이전 VI. 함수 레퍼런스 다음

CXV. 출력 제어 함수

소개

출력 제어 함수는 스크립트의 출력 전송을 제어할 수 있도록 합니다. 이는 여러 상황에서, 특히 스크립트가 브라우저로 데이터를 출력한 뒤에 헤더를 전송할 필요가 있을 경우에 유용합니다. 출력 제어 함수는 header()나 setcookie()를 사용하는 헤더 전송에는 영향을 주지 않으며, echo() 등의 함수나 PHP 코드 블럭 사이의 데이터에만 적용됩니다.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 231. 출력 제어 설정 옵션

이름 | 기본값 | 설정권한 | 변경점
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | PHP 4.0.4부터 사용할 수 있습니다.
implicit_flush | "0" | PHP_INI_ALL | PHP <= 4.2.3에서는 PHP_INI_PERDIR입니다.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

output_buffering boolean/integer

이 지시어를 'On'으로 설정하여 모든 파일에 출력 버퍼링을 활성화 할 수 있습니다. 버퍼의 크기를 제한하려면 이 지시어의 값으로 'On' 대신 최대 바이트 수를 사용하십시오. (예. output_buffering=4096) PHP 4.3.5부터 PHP-CLI에서는 이 지시어가 항상 Off입니다.

output_handler string

스크립트의 모든 출력을 어떤 함수를 통하게 할 수 있습니다. 예를 들면, output_handler를 mb_output_handler()로 설정하면, 문자 인코딩을 지정한 인코딩으로 변경할 수 있습니다. 출력 핸들러 설정은 자동적으로 출력 버퍼링을 켭니다.

참고:
      mb_output_hadler()와
      ob_iconv_handler()를 동시에 사용할 수 없고,
      ob_gzhandler()와 zlib.output_compression도
      동시에 사용할 수 없습니다.

참고: 이 지시어로는 내장 함수만 사용할 수 있습니다. 사용자 정의 함수에 대해서는 ob_start()를 사용하십시오.

implicit_flush boolean

기본값으로 FALSE입니다. TRUE로 변경하면 PHP가 모든 출력 블럭 뒤에 바로 전송하도록 출력 레이어를 설정합니다. 이는 PHP 함수 flush()를 모든 printf(), echo(), HTML 블럭 뒤에 호출하는 것과 동일합니다.

PHP를 웹 환경에서 사용할 때, 이 옵션을 켜는 것은 심각한 성능 저하를 일으킵니다. 일반적으로 디버깅 목적으로만 사용할 것을 권장합니다. CLI SAPI에서는 기본값으로 TRUE입니다.

참고: ob_implicit_flush().

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

예 1585. 출력 제어 예제

<?php

ob_start();
echo "Hello\n";

setcookie("cookiename", "cookiedata");

ob_end_flush();

?>

위 예제에서, echo()의 출력은
ob_end_flush()를 호출할 때까지 출력 버퍼에 저장됩니다.
그리하여 setcookie() 호출은 에러를 발생하지 않고
성공적으로 쿠키를 저장합니다. (보통은 브라우저로 데이터를 전송한 뒤에
헤더를 전송할 수 없습니다)

참고: PHP 4.1(과 4.2)에서 4.3으로 업그레이드 할 때 이전 버전의 버그로 인해, php.ini에서 implict_flush가 OFF인지 확인해야만 합니다. 그렇지 않으면 ob_start()는 어떠한 출력도 숨기지 못합니다.

참고

참고: header(), setcookie().

차례

flush -- 출력 버퍼를 비웁니다.
ob_clean -- 출력 버퍼를 지웁니다.
ob_end_clean -- 출력 버퍼를 지우고 출력 버퍼링을 종료합니다.
ob_end_flush -- 출력 버퍼를 전송하고 출력 버퍼링을 종료합니다.
ob_flush -- 출력 버퍼를 전송합니다.
ob_get_clean -- 현재 버퍼 내용을 얻은 뒤에 현재 출력 버퍼를 지웁니다.
ob_get_contents -- 출력 버퍼의 내용을 반환합니다.
ob_get_flush -- Flush the output buffer, return it as a string and turn off output buffering
ob_get_length -- 출력 버퍼의 길이를 반환합니다.
ob_get_level -- 출력 버퍼링 메카니즘의 겹친 레벨을 반환합니다.
ob_get_status -- 출력 버퍼의 상태를 얻습니다.
ob_gzhandler -- gzip 출력 버퍼를 위한 ob_start 콜백 함수입니다.
ob_implicit_flush -- 절대 출력의 여부를 결정합니다.
ob_list_handlers -- List all output handlers in use
ob_start -- 출력 버퍼링을 켭니다.
output_add_rewrite_var -- Add URL rewriter values
output_reset_rewrite_vars -- Reset URL rewriter values
이전 | 위로 | 다음
PDO_OCI DSN | 처음으로 | flush


flush

(PHP 4, PHP 5)

flush -- 출력 버퍼를 비웁니다.

설명

void flush ( void )

PHP가 사용하는 백엔드(CGI, 웹 서버 등)에 관계 없이 PHP의 출력 버퍼를 비웁니다. 이는 사실상 모든 출력을 사용자 브라우저에 보냅니다.

flush()는 웹 서버나 클라이언트 브라우저의 버퍼링 방식에는 영향을 주지 않습니다.

몇몇 서버들은, 특히 Win32에서, 스크립트가 종료할 때까지 결과를 브라우저에 전송하지 않고 버퍼를 지속합니다.

아파치 mod_gzip 등의 서버 모듈은 자신의 버퍼를 가지고 있기에, flush()는 데이터를 클라이언트에 즉시 전송할 수 없습니다.

브라우저도 표시하기 전에 입력을 받아들이는 버퍼를 가질 수 있습니다. 예를 들어, 넷스케이프는 줄이 끝나거나 태그가 시작할때까지 텍스트를 버퍼에 보관하고, 표는 </table>가 나올때까지 표시를 하지 않습니다.

Microsoft Internet Explorer의 몇몇 버전은 256바이트의 출력을 받았을 때만 페이지를 표시하기 시작하기에, 이러한 브라우저가 바로 표시를 나타나게 하려면 여분의 공백을 전송해두어야 합니다.

이전 | 위로 | 다음
CXV. 출력 제어 함수 | 처음으로 | ob_clean


ob_clean

(PHP 4 >= 4.2.0, PHP 5)

ob_clean -- 출력 버퍼를 지웁니다.

설명

void ob_clean ( void )

출력 버퍼의 모든 내용을 버립니다.

이 함수는 ob_enc_clean()처럼 출력 버퍼를 파괴하지는 않습니다.

참고: ob_flush(),
ob_end_flush(),
ob_end_clean().

이전 | 위로 | 다음
flush | 처음으로 | ob_end_clean


ob_end_clean

(PHP 4, PHP 5)

ob_end_clean -- 출력 버퍼를 지우고 출력 버퍼링을 종료합니다.

설명

bool ob_end_clean ( void )

이 함수는 가장 최근의 출력 버퍼의 내용을 버리고 그 출력 버퍼링을 종료합니다. ob_end_clean()를 호출하면 버퍼 내용은 버려지기 때문에, 버퍼의 내용으로 다른 작업을 하기 위해서는 ob_end_clean()를 호출하기 전에 ob_get_contents()를 호출해야 합니다. 하나의 버퍼를 버리는데 성공하면 TRUE, 그 외의 경우에는 FALSE를 반환합니다. 실패하는 원인은 활성화된 버퍼 없이 이 함수를 호출하였거나, 어떠한 이유로 인해 버퍼를 삭제할 수 없는 경우(특수 버퍼의 경우)입니다.

다음 예제는 모든 출력 버퍼를 제거하는 간단한 방법입니다:

예 1586. ob_end_clean() 예제

<?php
while (@ob_end_clean());
?>

참고: 이 함수가 실패하면 E_NOTICE를 생성합니다.

불린 반환값은 PHP 4.2.0에서 추가되었습니다.

참고: ob_start(),
ob_get_contents(),
ob_flush().

이전 | 위로 | 다음
ob_clean | 처음으로 | ob_end_flush


ob_end_flush

(PHP 4, PHP 5)

ob_end_flush -- 출력 버퍼를 전송하고 출력 버퍼링을 종료합니다.

설명

bool ob_end_flush ( void )

이 함수는 (존재한다면) 최상위 출력 버퍼의 내용을 전송하고 출력 버퍼를 종료합니다. ob_end_flush()를 호출하면 버퍼의 내용이 비워지기 때문에, 버퍼의 내용으로 다른 작업을 하려면 ob_end_flush()를 호출하기 전에 ob_get_contents()를 호출해야 합니다. 하나의 버퍼를 처리하는데 성공하면 TRUE를, 그 외의 경우에는 FALSE를 반환합니다. 실패의 원인으로는 활성화된 버퍼 없이 함수를 호출했거나, 어떠한 이유로 버퍼를 삭제할 수 없는 경우(특수 버퍼의 경우)입니다.

참고: 이 함수는 ob_get_flush()가 버퍼를 문자열로 반환하는 점을 제외하면, ob_get_flush()와 동일합니다.

다음 예제는 모든 출력 버퍼를 전송 및 종료하는 간단한 방법을 보여줍니다:

예 1587. ob_end_flush() 예제

<?php
  while (@ob_end_flush());
?>

참고: 함수가 실패하면 E_NOTICE를 발생합니다.

불린 반환값은 PHP 4.2.0에서 추가되었습니다.

참고: ob_start(),
ob_get_contents(),
ob_get_flush(),
ob_flush(),
ob_end_clean().

이전 | 위로 | 다음
ob_end_clean | 처음으로 | ob_flush


ob_flush

(PHP 4 >= 4.2.0, PHP 5)

ob_flush -- 출력 버퍼를 전송합니다.

설명

void ob_flush ( void )

(존재한다면) 출력 버퍼의 내용을 전송합니다.
ob_flush()를 호출하면 버퍼 내용이 비워지기 때문에,
버퍼의 내용으로 다른 작업을 하려면 ob_flush()를
호출하기 전에 ob_get_contents()를 호출해야 합니다.

이 함수는 ob_end_flush()처럼 출력 버퍼를 종료하지는 않습니다.

참고: ob_get_contents(),
ob_clean(),
ob_end_flush(),
ob_end_clean().

이전 | 위로 | 다음
ob_end_flush | 처음으로 | ob_get_clean


ob_get_clean

(PHP 4 >= 4.3.0, PHP 5)

ob_get_clean -- 현재 버퍼 내용을 얻은 뒤에 현재 출력 버퍼를 지웁니다.

설명

string ob_get_clean ( void )

출력 버퍼의 내용을 반환하고 출력 버퍼링을 종료합니다. 출력 버퍼링이
존재하지 않으면 FALSE를 반환합니다. ob_get_clean()은
ob_get_contents()와
ob_end_clean()을 실행한 것과 동일합니다.

예 1588. 간단한 ob_get_clean() 예제

<?php

ob_start();

echo "Hello World";

$out = ob_get_clean();
$out = strtolower($out);

var_dump($out);
?>

이 예제의 출력은:

string(11) "hello world"

참고: ob_start(), ob_get_contents().

이전 | 위로 | 다음
ob_flush | 처음으로 | ob_get_contents


ob_get_contents

(PHP 4, PHP 5)

ob_get_contents -- 출력 버퍼의 내용을 반환합니다.

설명

string ob_get_contents ( void )

출력 버퍼의 내용을 반환합니다. 출력 버퍼링이 작동하고 있지 않으면 FALSE를 반환합니다.

참고: ob_start(), ob_get_length().

이전 | 위로 | 다음
ob_get_clean | 처음으로 | ob_get_flush


ob_get_flush

(PHP 4 >= 4.3.0, PHP 5)

ob_get_flush -- Flush the output buffer, return it as a string and turn off output buffering

설명

string ob_get_flush ( void )

ob_get_flush() flushes the output buffer, return it as a string and turns off output buffering.

참고: This function is similar to ob_end_flush(), except that this function returns the buffer as a string.

반환값

Returns the output buffer or FALSE if no buffering is active.

예제

예 1589. ob_get_flush() example

<?php
//using output_buffering=On
print_r(ob_list_handlers());

//save buffer in a file
$buffer = ob_get_flush();
file_put_contents('buffer.txt', $buffer);

print_r(ob_list_handlers());
?>

위 예제의 출력:

Array
(
    [0] => default output handler
)
Array
(
)

참고

ob_end_clean()
ob_end_flush()
ob_list_handlers()

이전 | 위로 | 다음
ob_get_contents | 처음으로 | ob_get_length


ob_get_length

(PHP 4 >= 4.0.2, PHP 5)

ob_get_length -- 출력 버퍼의 길이를 반환합니다.

설명

int ob_get_length ( void )

출력 버퍼 내용의 길이를 반환합니다. 출력 버퍼링을 활성화하지 않았을 경우 FALSE를 반환합니다.

참고: ob_start(), ob_get_contents().

이전 | 위로 | 다음
ob_get_flush | 처음으로 | ob_get_level


ob_get_level

(PHP 4 >= 4.2.0, PHP 5)

ob_get_level -- 출력 버퍼링 메카니즘의 겹친 레벨을 반환합니다.

설명

int ob_get_level ( void )

겹쳐져 있는 출력 버퍼링 핸들러의 레벨을 반환합니다. 출력 버퍼링을 하고 있지 않을 경우에는 0을 반환합니다.

참고: ob_start(), ob_get_contents().

이전 | 위로 | 다음
ob_get_length | 처음으로 | ob_get_status


ob_get_status

(PHP 4 >= 4.2.0, PHP 5)

ob_get_status -- 출력 버퍼의 상태를 얻습니다.

설명

array ob_get_status ( [bool $full_status=FALES] )

ob_set_status()는 최고 레벨 출력 버퍼의 상태 정보를 반환합니다. full_status를 TRUE로 설정하면 모든 활성 출력 버퍼의 상태를 반환합니다.

매개변수

full_status

TRUE이면 모든 활성 출력 버퍼의 상태를 반환합니다. FALSE나 설정하지 않으면 최고 레벨 출력 버퍼만 반환합니다.

반환값

full_status 매개변수 없이, 혹은 full_status = FALSE로 호출하면 다음 요소를 포함하는 간단한 배열을 반환합니다:

Array
(
    [level] => 2
    [type] => 0
    [status] => 0
    [name] => URL-Rewriter
    [del] => 1
)
간단한 ob_get_status() 결과
키: level
값: 출력 중첩 레벨
키: type
값: PHP_OUTPUT_HANDLER_INTERNAL (0)이나 PHP_OUTPUT_HANDLER_USER (1)
키: status
값: PHP_OUTPUT_HANDLER_START (0), PHP_OUTPUT_HANDLER_CONT (1), PHP_OUTPUT_HANDLER_END (2) 중 하나
키: name
값: 활성 출력 핸들러의 이름이나, 설정하지 않았을 경우에는 'default output handler'
키: del
값: ob_start()가 설정하는 Erase 플래그

full_status = TRUE로 호출하면, 각 활성 출력 버퍼가 하나의 원소인 배열을 반환합니다. 최상위 배열은 출력 레벨을 키로 가지고, 각 배열 원소는 활성 출력 레벨에 대한 상태 정보를 가지는 또 다른 배열입니다.

Array
(
    [0] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] = > 10240
            [type] => 1
            [status] => 0
            [name] => default output handler
            [del] => 1
        )

    [1] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] = > 10240
            [type] => 0
            [buffer_size] => 0
            [status] => 0
            [name] => URL-Rewriter
            [del] => 1
        )

)

전체 출력은 세가지 추가 원소를 가집니다:

전체 ob_get_status() 결과
키: chunk_size
값: ob_start()가 설정한 덩어리 크기
키: size
값: ...
키: blocksize
값: ...

참고

ob_get_level()
ob_list_handlers()

이전 | 위로 | 다음
ob_get_level | 처음으로 | ob_gzhandler


ob_gzhandler

(PHP 4 >= 4.0.4, PHP 5)

ob_gzhandler -- gzip 출력 버퍼를 위한 ob_start 콜백 함수입니다.

설명

string ob_gzhandler ( string $buffer [, int $mode] )

참고: mode는 PHP 4.0.5에서 추가되었습니다.

ob_gzhandler()는 웹 페이지 압축을 지원하는 웹 브라우저에 gz-인코드 데이터를 전송하기 위한 ob_start()의 콜백 함수로 사용하도록 준비되었습니다. ob_gzhandler()가 실제로 압축 데이터를 전송하기 전에, 브라우저가 어떠한 내용 인코딩 형태("gzip", "deflate", 그 외에는 none)를 받아들이는지 확인하여, 그에 따라서 출력합니다. 웹 페이지 압축을 허용하는 올바른 헤더를 전송하는 모든 브라우저를 지원합니다.

예 1590. ob_gzhandler() 예제

<?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>This should be a compressed page.
</html>
<body>

참고: ob_start(), ob_end_flush().

참고: ob_gzhandler()와 ini.zlib.output_compression을 둘 다 사용할 수는 없습니다. ob_gzhandler()보다 ini.zlib.output_compression을 권장합니다.

이전 | 위로 | 다음
ob_get_status | 처음으로 | ob_implicit_flush


ob_implicit_flush

(PHP 4, PHP 5)

ob_implicit_flush -- 절대 출력의 여부를 결정합니다.

설명

void ob_implicit_flush ( [int $flag] )

ob_implicit_flush()는 절대 출력을 켜거나 끕니다. (flag를 주지 않으면, 기본값으로 켭니다) 절대 출력은 모든 출력 호출 뒤에 flush 작동을 하기에, 따로 flush()을 호출할 필요가 없어집니다.

절대 출력을 켜면 출력 버퍼링을 비활성화하며, 출력 버퍼는 ob_end_flush()를 호출하였을 때와 동일하게 현재 출력을 전송합니다.

참고: flush(),
ob_start(),
ob_end_flush().

이전 | 위로 | 다음
ob_gzhandler | 처음으로 | ob_list_handlers


ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5)

ob_list_handlers -- List all output handlers in use

설명

array ob_list_handlers ( void )

Lists all output handlers in use.

반환값

This will return an array with the output handlers in use (if any). If output_buffering is enabled or an anonymous function was used with ob_start(), ob_list_handlers() will return "default output handler".

예제

예 1591. ob_list_handlers() example

<?php
//using output_buffering=On
print_r(ob_list_handlers());
ob_end_flush();

ob_start("ob_gzhandler");
print_r(ob_list_handlers());
ob_end_flush();

// anonymous functions
ob_start(create_function('$string', 'return $string;'));
print_r(ob_list_handlers());
ob_end_flush();
?>

위 예제의 출력:

Array
(
    [0] => default output handler
)

Array
(
    [0] => ob_gzhandler
)

Array
(
    [0] => default output handler
)

참고

ob_end_clean()
ob_end_flush()
ob_get_flush()
ob_start()

이전 | 위로 | 다음
ob_implicit_flush | 처음으로 | ob_start


ob_start

(PHP 4, PHP 5)

ob_start -- 출력 버퍼링을 켭니다.

설명

bool ob_start ( [callback $ output_callback ] )

출력 버퍼링을 켭니다. 출력 버퍼링을 활성화하면, (헤더를 제외한) 스크립트의 모든 출력을 내부 버퍼에 저장하고, 실제로 전송하지 않습니다.

이 내부 버퍼의 내용은 ob_get_contents()를 사용하여 문자열 변수로 복사할 수 있습니다. 내부 버퍼에 저장한 내용을 출력하려면, ob_end_flush()를 사용하십시오. 반대로 ob_end_clean()은 버퍼 내용을 버립니다.

선택적인 output_callback 함수를 지정할 수 있습니다. 이 함수는 문자열을 인자로 받고, 문자열을 반환해야 합니다. 이 함수는 ob_end_flush()를 호출하거나, 요청이 끝날 때 출력 버퍼가 브라우저로 전송할 때 호출됩니다. output_callback은 출력 버퍼의 모든 내용을 인자로 받아서 브라우저로 전송할 새 출력 버퍼를 결과로 반환할 것이 기대됩니다. output_callback가 호출할 수 있는 함수가 아니라면, 이 함수는 FALSE를 반환합니다.

참고: PHP 4.0.4에서, ob_gzhandler()가 웹 페이지 압축을 지원하는 웹 브라우저에 gz-인코드 데이터를 전송하기 위한 방법으로 생겼습니다. ob_gzhandler()는 브라우저가 허용하는 내용 인코딩 형태를 확인하고 그에 따라 출력합니다.

참고: PHP 4.3.2 이전에는 실행할 수 없는 output_callback을 지정해도 FALSE를 반환하지 않았습니다.

출력 버퍼는 쌓여질 수 있기에, 다른 ob_start()가 활성화 중이라도 ob_start()를 호출할 수 있습니다. 단지 정확한 횟수의 ob_end_flush()를 호출하도록 하십시오. 다중 출력 콜백 함수를 활성화하면, 출력은 감싸진 순서대로 빠져나가면서 변경됩니다.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush(), ob_start()는 콜백 함수에서 호출할 수 없습니다. 이들을 콜백 함수에서 호출할 시의 행동은 정의되어 있지 않습니다. 버퍼의 내용을 지우려면 콜백 함수에서 ""(빈 문자열)을 반환하십시오.

예 1592. 사용자 정의 콜백 함수 예제

<?php

function callback($buffer)
{
  // 모든 apples를 oranges로 치환합니다.
  return (str_replace("apples", "oranges", $buffer));
}

ob_start("callback");

?>

<html>
<body>
<p>It's like comparing apples to oranges.
</body>
</html>

<?php

ob_end_flush();

?>

출력은:

<html>
<body>
<p>It's like comparing oranges to oranges.
</body>
</html>

참고: ob_get_contents(),
ob_end_flush(),
ob_end_clean(),
ob_implicit_flush(),
ob_gzhandler().

이전 | 위로 | 다음
ob_list_handlers | 처음으로 | output_add_rewrite_var


output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5)

output_add_rewrite_var -- Add URL rewriter values

설명

bool output_add_rewrite_var ( string $name, string $value )

This function adds another name/value pair to the URL rewrite mechanism. The name and value will be added to URLs (as GET parameter) and forms (as hidden input fields) the same way as the session ID when transparent URL rewriting is enabled with session.use_trans_sid. Please note that absolute URLs (http://example.com/..) aren't rewritten.

This functions behavior is controlled by the url_rewriter.tags php.ini parameter.

참고: Calling this function will implicitly start output buffering if it is not active already.

매개변수

name

The variable name.

value

The variable value.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1593. output_add_rewrite_var() example

<?php
output_add_rewrite_var('var', 'value');

// some links
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>';

// a form
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';

print_r(ob_list_handlers());
?>

위 예제의 출력:

<a href="file.php?var=value">link</a>
<a href="http://example.com">link2</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

참고

output_reset_rewrite_vars()
ob_flush()
ob_list_handlers()

이전 | 위로 | 다음
ob_start | 처음으로 | output_reset_rewrite_vars


output_reset_rewrite_vars

(PHP 4 >= 4.3.0, PHP 5)

output_reset_rewrite_vars -- Reset URL rewriter values

설명

bool output_reset_rewrite_vars ( void )

This function resets the URL rewriter and removes all rewrite variables previously set by the output_add_rewrite_var() function or the session mechanism (if session.use_trans_sid was set on session_start()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1594. output_reset_rewrite_vars() example

<?php
session_start();
output_add_rewrite_var('var', 'value');

echo '<a href="file.php">link</a>';
ob_flush();

output_reset_rewrite_vars();
echo '<a href="file.php">link</a>';
?>

위 예제의 출력:

<a href="file.php?PHPSESSID=xxx&var=value">link</a>
<a href="file.php">link</a>

참고

output_add_rewrite_var()
ob_flush()
ob_list_handlers()
session_start()

이전 | 위로 | 다음
output_add_rewrite_var | 처음으로 | CXVI. Ovrimos SQL Functions


Object property and method call overloading

이전 VI. 함수 레퍼런스 다음

CVI. Object property and method call overloading

소개

The purpose of this extension is to allow overloading of object property access and method calls. Only one function is defined in this extension, overload() which takes the name of the class that should have this functionality enabled. The class named has to define appropriate methods if it wants to have this functionality: __get(), __set() and __call() respectively for getting/setting a property, or calling a method. This way overloading can be selective. Inside these handler functions the overloading is disabled so you can access object properties normally.

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

주의

This extension is not a part of PHP 5. PHP 5 supports __get(), __set() and __call() natively. See the Overloading in PHP 5 page for more information.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

In order to use these functions, you must compile PHP with the --enable-overload option. Starting with PHP 4.3.0 this extension is enabled by default. You can disable overload support with --disable--overload.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

참고: Builtin support for overload is available with PHP 4.3.0.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

Some simple examples on using the overload() function:

예 1515. Overloading a PHP class

<?php

class OO {
    var $a = 111;
    var $elem = array('b' => 9, 'c' => 42);

    // Callback method for getting a property
    function __get($prop_name, &$prop_value)
    {
        if (isset($this->elem[$prop_name])) {
            $prop_value = $this->elem[$prop_name];
            return true;
        } else {
            return false;
        }
    }

    // Callback method for setting a property
    function __set($prop_name, $prop_value)
    {
        $this->elem[$prop_name] = $prop_value;
        return true;
    }
}

// Here we overload the OO object
overload('OO');

$o = new OO;
echo "\$o->a: $o->a\n"; // print: $o->a: 111
echo "\$o->b: $o->b\n"; // print: $o->b: 9
echo "\$o->c: $o->c\n"; // print: $o->c: 42
echo "\$o->d: $o->d\n"; // print: $o->d:

// add a new item to the $elem array in OO
$o->x = 56;

// instantiate stdclass (it is built-in in PHP 4)
// $val is not overloaded!
$val = new stdclass;
$val->prop = 555;

// Set "a" to be an array with the $val object in it
// But __set() will put this in the $elem array
$o->a = array($val);
var_dump($o->a[0]->prop);

?>

차례

overload -- Enable property and method call overloading for a class
이전 | 위로 | 다음
deaggregate | 처음으로 | overload


overload

(PHP 4 >= 4.2.0)

overload -- Enable property and method call overloading for a class

설명

void overload ( string $class_name )

The overload() function will enable property and method call overloading for a class identified by class_name.

매개변수

class_name

The overloaded class name, as a string

반환값

값을 반환하지 않습니다.

예제

See an example in the introductory section of this part.

이전 | 위로 | 다음
CVI. Object property and method call overloading | 처음으로 | CVII. 오라클 함수


Parsekit Functions

이전 VI. 함수 레퍼런스 다음

CXVIII. Parsekit Functions

소개

These functions allow runtime analysis of opcodes compiled from PHP scripts.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/parsekit.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

PARSEKIT_QUIET (int)
Return full detail, but without unnecessary NULL entries.
PARSEKIT_SIMPLE (int)
Return shorthand opcode notation.
PARSEKIT_EXTENDED_VALUE (int)
Opnode Flag
PARSEKIT_RESULT_CONST (int)
Opnode Flag
PARSEKIT_RESULT_EA_TYPE (int)
Opnode Flag
PARSEKIT_RESULT_JMP_ADDR (int)
Opnode Flag
PARSEKIT_RESULT_OPARRAY (int)
Opnode Flag
PARSEKIT_RESULT_OPLINE (int)
Opnode Flag
PARSEKIT_RESULT_VAR (int)
Opnode Flag
PARSEKIT_USAGE_UNKNOWN (int)
Opnode Flag
PARSEKIT_ZEND_INTERNAL_CLASS (int)
Class Type
PARSEKIT_ZEND_USER_CLASS (int)
Class Type
PARSEKIT_ZEND_EVAL_CODE (int)
Function Type
PARSEKIT_ZEND_INTERNAL_FUNCTION (int)
Function Type
PARSEKIT_ZEND_OVERLOADED_FUNCTION (int)
Function Type
PARSEKIT_ZEND_OVERLOADED_FUNCTION_TEMPORARY (int) PHP >= 5.0.0
Function Type
PARSEKIT_ZEND_USER_FUNCTION (int)
Function Type
PARSEKIT_IS_CONST (int)
Node Type
PARSEKIT_IS_TMP_VAR (int)
Node Type
PARSEKIT_IS_UNUSED (int)
Node Type
PARSEKIT_IS_VAR (int)
Node Type
PARSEKIT_ZEND_ADD (int)
Opcode
PARSEKIT_ZEND_ADD_ARRAY_ELEMENT (int)
Opcode
PARSEKIT_ZEND_ADD_CHAR (int)
Opcode
PARSEKIT_ZEND_ADD_INTERFACE (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ADD_STRING (int)
Opcode
PARSEKIT_ZEND_ADD_VAR (int)
Opcode
PARSEKIT_ZEND_ASSIGN (int)
Opcode
PARSEKIT_ZEND_ASSIGN_ADD (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_AND (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_OR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_BW_XOR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_CONCAT (int)
Opcode
PARSEKIT_ZEND_ASSIGN_DIM (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_DIV (int)
Opcode
PARSEKIT_ZEND_ASSIGN_MOD (int)
Opcode
PARSEKIT_ZEND_ASSIGN_MUL (int)
Opcode
PARSEKIT_ZEND_ASSIGN_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ASSIGN_REF (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SL (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SR (int)
Opcode
PARSEKIT_ZEND_ASSIGN_SUB (int)
Opcode
PARSEKIT_ZEND_BEGIN_SILENCE (int)
Opcode
PARSEKIT_ZEND_BOOL (int)
Opcode
PARSEKIT_ZEND_BOOL_NOT (int)
Opcode
PARSEKIT_ZEND_BOOL_XOR (int)
Opcode
PARSEKIT_ZEND_BRK (int)
Opcode
PARSEKIT_ZEND_BW_AND (int)
Opcode
PARSEKIT_ZEND_BW_NOT (int)
Opcode
PARSEKIT_ZEND_BW_OR (int)
Opcode
PARSEKIT_ZEND_BW_XOR (int)
Opcode
PARSEKIT_ZEND_CASE (int)
Opcode
PARSEKIT_ZEND_CAST (int)
Opcode
PARSEKIT_ZEND_CATCH (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CLONE (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_CONCAT (int)
Opcode
PARSEKIT_ZEND_CONT (int)
Opcode
PARSEKIT_ZEND_DECLARE_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_FUNCTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DECLARE_INHERITED_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_DIV (int)
Opcode
PARSEKIT_ZEND_DO_FCALL (int)
Opcode
PARSEKIT_ZEND_DO_FCALL_BY_NAME (int)
Opcode
PARSEKIT_ZEND_ECHO (int)
Opcode
PARSEKIT_ZEND_END_SILENCE (int)
Opcode
PARSEKIT_ZEND_EXIT (int)
Opcode
PARSEKIT_ZEND_EXT_FCALL_BEGIN (int)
Opcode
PARSEKIT_ZEND_EXT_FCALL_END (int)
Opcode
PARSEKIT_ZEND_EXT_NOP (int)
Opcode
PARSEKIT_ZEND_EXT_STMT (int)
Opcode
PARSEKIT_ZEND_FETCH_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_FETCH_CONSTANT (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_R (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_TMP_VAR (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_DIM_W (int)
Opcode
PARSEKIT_ZEND_FETCH_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_FUNC_ARG (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_IS (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_R (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_OBJ_W (int)
Opcode
PARSEKIT_ZEND_FETCH_R (int)
Opcode
PARSEKIT_ZEND_FETCH_RW (int)
Opcode
PARSEKIT_ZEND_FETCH_UNSET (int)
Opcode
PARSEKIT_ZEND_FETCH_W (int)
Opcode
PARSEKIT_ZEND_FE_FETCH (int)
Opcode
PARSEKIT_ZEND_FE_RESET (int)
Opcode
PARSEKIT_ZEND_FREE (int)
Opcode
PARSEKIT_ZEND_HANDLE_EXCEPTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CLASS (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_CONST (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IMPORT_FUNCTION (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INCLUDE_OR_EVAL (int)
Opcode
PARSEKIT_ZEND_INIT_ARRAY (int)
Opcode
PARSEKIT_ZEND_INIT_CTOR_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_FCALL_BY_NAME (int)
Opcode
PARSEKIT_ZEND_INIT_METHOD_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STATIC_METHOD_CALL (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_INIT_STRING (int)
Opcode
PARSEKIT_ZEND_INSTANCEOF (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY (int) PHP < 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_DIM_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_PROP_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_ISSET_ISEMPTY_VAR (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_IS_EQUAL (int)
Opcode
PARSEKIT_ZEND_IS_IDENTICAL (int)
Opcode
PARSEKIT_ZEND_IS_NOT_EQUAL (int)
Opcode
PARSEKIT_ZEND_IS_NOT_IDENTICAL (int)
Opcode
PARSEKIT_ZEND_IS_SMALLER (int)
Opcode
PARSEKIT_ZEND_IS_SMALLER_OR_EQUAL (int)
Opcode
PARSEKIT_ZEND_JMP (int)
Opcode
PARSEKIT_ZEND_JMPNZ (int)
Opcode
PARSEKIT_ZEND_JMPNZ_EX (int)
Opcode
PARSEKIT_ZEND_JMPZ (int)
Opcode
PARSEKIT_ZEND_JMPZNZ (int)
Opcode
PARSEKIT_ZEND_JMPZ_EX (int)
Opcode
PARSEKIT_ZEND_JMP_NO_CTOR (int)
Opcode
PARSEKIT_ZEND_MOD (int)
Opcode
PARSEKIT_ZEND_MUL (int)
Opcode
PARSEKIT_ZEND_NEW (int)
Opcode
PARSEKIT_ZEND_NOP (int)
Opcode
PARSEKIT_ZEND_OP_DATA (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_DEC (int)
Opcode
PARSEKIT_ZEND_POST_DEC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_POST_INC (int)
Opcode
PARSEKIT_ZEND_POST_INC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_DEC (int)
Opcode
PARSEKIT_ZEND_PRE_DEC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRE_INC (int)
Opcode
PARSEKIT_ZEND_PRE_INC_OBJ (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_PRINT (int)
Opcode
PARSEKIT_ZEND_QM_ASSIGN (int)
Opcode
PARSEKIT_ZEND_RAISE_ABSTRACT_ERROR (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_RECV (int)
Opcode
PARSEKIT_ZEND_RECV_INIT (int)
Opcode
PARSEKIT_ZEND_RETURN (int)
Opcode
PARSEKIT_ZEND_SEND_REF (int)
Opcode
PARSEKIT_ZEND_SEND_VAL (int)
Opcode
PARSEKIT_ZEND_SEND_VAR (int)
Opcode
PARSEKIT_ZEND_SEND_VAR_NO_REF (int)
Opcode
PARSEKIT_ZEND_SL (int)
Opcode
PARSEKIT_ZEND_SR (int)
Opcode
PARSEKIT_ZEND_SUB (int)
Opcode
PARSEKIT_ZEND_SWITCH_FREE (int)
Opcode
PARSEKIT_ZEND_THROW (int) PHP >= 5.0.0
Opcode
PARSEKIT_ZEND_TICKS (int)
Opcode
PARSEKIT_ZEND_UNSET_DIM_OBJ (int)
Opcode
PARSEKIT_ZEND_UNSET_VAR (int)
Opcode
PARSEKIT_ZEND_VERIFY_ABSTRACT_CLASS (int) PHP >= 5.0.0
Opcode

차례

parsekit_compile_file -- Compile a string of PHP code and return the resulting op array
parsekit_compile_string -- Compile a string of PHP code and return the resulting op array
parsekit_func_arginfo -- Return information regarding function argument(s)
이전 | 위로 | 다음
px_update_record | 처음으로 | parsekit_compile_file


parsekit_compile_file

(PECL parsekit:0.2-1.2)

parsekit_compile_file -- Compile a string of PHP code and return the resulting op array

설명

array parsekit_compile_file ( string $filename [, array &$errors [, int $options]] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

filename

A string containing the name of the file to compile. Similar to the argument to include().

errors

A 2D hash of errors (including fatal errors) encountered during compilation. Returned by reference.

options

One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

반환값

Returns a complex multi-layer array structure as detailed below.

예제

예 1608. parsekit_compile_file() example

<?php
var_dump(parsekit_compile_file('hello_world.php', $errors, PARSEKIT_SIMPLE));
?>

위 예제의 출력:

array(5) {
  [0]=>
  string(37) "ZEND_ECHO UNUSED 'Hello World' UNUSED"
  [1]=>
  string(30) "ZEND_RETURN UNUSED NULL UNUSED"
  [2]=>
  string(42) "ZEND_HANDLE_EXCEPTION UNUSED UNUSED UNUSED"
  ["function_table"]=>
  NULL
  ["class_table"]=>
  NULL
}

참고

parsekit_compile_string()

이전 | 위로 | 다음
CXVIII. Parsekit Functions | 처음으로 | parsekit_compile_string


parsekit_compile_string

(PECL parsekit:0.2-1.2)

parsekit_compile_string -- Compile a string of PHP code and return the resulting op array

설명

array parsekit_compile_string ( string $phpcode [, array &$errors [, int $options]] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

phpcode

A string containing phpcode. Similar to the argument to eval().

errors

A 2D hash of errors (including fatal errors) encountered during compilation. Returned by reference.

options

One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE. To produce varying degrees of verbosity in the returned output.

반환값

Returns a complex multi-layer array structure as detailed below.

예제

예 1609. parsekit_compile_string() example

<?php
  $ops = parsekit_compile_string('
echo "Foo\n";
', $errors, PARSEKIT_QUIET);

  var_dump($ops);
?>

위 예제의 출력:

array(20) {
  ["type"]=>
  int(4)
  ["type_name"]=>
  string(14) "ZEND_EVAL_CODE"
  ["fn_flags"]=>
  int(0)
  ["num_args"]=>
  int(0)
  ["required_num_args"]=>
  int(0)
  ["pass_rest_by_reference"]=>
  bool(false)
  ["uses_this"]=>
  bool(false)
  ["line_start"]=>
  int(0)
  ["line_end"]=>
  int(0)
  ["return_reference"]=>
  bool(false)
  ["refcount"]=>
  int(1)
  ["last"]=>
  int(3)
  ["size"]=>
  int(3)
  ["T"]=>
  int(0)
  ["last_brk_cont"]=>
  int(0)
  ["current_brk_cont"]=>
  int(-1)
  ["backpatch_count"]=>
  int(0)
  ["done_pass_two"]=>
  bool(true)
  ["filename"]=>
  string(17) "Parsekit Compiler"
  ["opcodes"]=>
  array(3) {
    [8594800]=>
    array(5) {
      ["opcode"]=>
      int(40)
      ["opcode_name"]=>
      string(9) "ZEND_ECHO"
      ["flags"]=>
      int(768)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &string(4) "Foo
"
      }
      ["lineno"]=>
      int(2)
    }
    ["859484C"]=>
    array(6) {
      ["opcode"]=>
      int(62)
      ["opcode_name"]=>
      string(11) "ZEND_RETURN"
      ["flags"]=>
      int(16777984)
      ["op1"]=>
      array(3) {
        ["type"]=>
        int(1)
        ["type_name"]=>
        string(8) "IS_CONST"
        ["constant"]=>
        &NULL
      }
      ["extended_value"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
    [8594898]=>
    array(4) {
      ["opcode"]=>
      int(149)
      ["opcode_name"]=>
      string(21) "ZEND_HANDLE_EXCEPTION"
      ["flags"]=>
      int(0)
      ["lineno"]=>
      int(3)
    }
  }
}

참고

parsekit_compile_file()

이전 | 위로 | 다음
parsekit_compile_file | 처음으로 | parsekit_func_arginfo


parsekit_func_arginfo

(PECL parsekit:0.3-1.2)

parsekit_func_arginfo -- Return information regarding function argument(s)

설명

array parsekit_func_arginfo ( mixed $function )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

function

A string describing a function, or an array describing a class/method.

반환값

Returns an array containing argument information.

예제

예 1610. parsekit_func_arginfo() example

<?php
function foo($bar, stdClass $baz, &$bomb, $bling = false) {
}

var_dump(parsekit_func_arginfo('foo'));
?>

위 예제의 출력:

array(4) {
  [0]=>
  array(3) {
    ["name"]=>
    string(3) "bar"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(3) "baz"
    ["class_name"]=>
    string(8) "stdClass"
    ["allow_null"]=>
    bool(false)
    ["pass_by_reference"]=>
    bool(false)
  }
  [2]=>
  array(3) {
    ["name"]=>
    string(4) "bomb"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(true)
  }
  [3]=>
  array(3) {
    ["name"]=>
    string(5) "bling"
    ["allow_null"]=>
    bool(true)
    ["pass_by_reference"]=>
    bool(false)
  }
}

이전 | 위로 | 다음
parsekit_compile_string | 처음으로 | CXIX. Process Control Functions


PDF 함수

이전 VI. 함수 레퍼런스 다음

CXXI. PDF 함수

소개

The PDF functions in PHP can create PDF files using the PDFlib library which was initially created by Thomas Merz and is now maintained by » PDFlib GmbH.

The documentation in this section is only meant to be an overview of the available functions in the PDFlib library and should not be considered an exhaustive reference. For the full and detailed explanation of each function, consult the PDFlib Reference Manual which is included in all PDFlib packages distributed by PDFlib GmbH. It provides a very good overview of what PDFlib is capable of doing and contains the most up-to-date documentation of all functions.

For a jump start we urge you to take a look at the programming samples which are contained in all PDFlib distribution packages. These samples demonstrate basic text, vector, and graphics output as well as higher-level functions, such as the PDF import facility (PDI).

All of the functions in PDFlib and the PHP module have identical function names and parameters. Unless configured otherwise, all lengths and coordinates are measured in PostScript points. There are generally 72 PostScript points to an inch, but this depends on the output resolution. Please see the PDFlib Reference Manual included in the PDFlib distribution for a more thorough explanation of the coordinate system used.

With version 6, PDFlib offers an object-oriented API for PHP 5 in addition to the function-oriented API for PHP 4. The main difference is the following:

In PHP 4, first a PDF resource has to be retrieved with a function call like

$p = PDF_new().

This PDF resource is used as the first parameter in all further function calls, such as in

PDF_begin_document($p, "", "").

In PHP 5 however, a PDFlib object is created with

$p = new PDFlib().

This object offers all PDFlib API functions as methods, e.g. as with

$p->begin_document("", "").

In addition, exceptions have been introduced in PHP 5 which are supported by PDFlib 6 and later as well.

Please see the examples below for more information.

참고: If you're interested in alternative free PDF generators that do not utilize external PDF libraries, see this related FAQ.

요구 조건

PDFlib Lite is available as open source. However, the PDFlib Lite license allows free use only under certain conditions. PDFlib Lite supports a subset of PDFlib's functionality; please see the PDFlib web site for details. The full version of PDFlib is available for download at » http://www.pdflib.com/products/pdflib-family/, but requires that you purchase a license for commercial use.

Issues with older versions of PDFlib

Any version of PHP 4 after March 9, 2000 does not support versions of PDFlib older than 3.0.

PDFlib 4.0 or greater is supported by PHP 4.3.0 and later.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/pdflib.

To get these functions to work in PHP < 4.3.9, you have to compile PHP with --with-pdflib[=DIR]. DIR is the PDFlib base install directory, defaults to /usr/local.

자원형

PDF_new() creates a new PDFlib object required by most PDF functions.

Remarks about Deprecated PDFlib Functions

Starting with PHP 4.0.5, the PHP extension for PDFlib is officially supported by PDFlib GmbH. This means that all the functions described in the PDFlib Reference Manual are supported by PHP 4 with exactly the same meaning and the same parameters. However, with PDFlib Version 5.0.4 or higher all parameters have to be specified. For compatibility reasons, this binding for PDFlib still supports most of the deprecated functions, but they should be replaced by their new versions. PDFlib GmbH will not support any problems arising from the use of these deprecated functions. The documentation in this section indicates old functions as "Deprecated" and gives the replacement function to be used instead.

예제

Most of the functions are fairly easy to use. The most difficult part is probably creating your first PDF document. The following example should help to get you started. It is developed for PHP 4 and creates the file hello.pdf with one page. It defines some document info field contents, loads the Helvetica-Bold font and outputs the text "Hello world! (says PHP)".

예 1635. Hello World example from PDFlib distribution for PHP 4

<?php
$p = PDF_new();

/*  open new PDF file; insert a file name to create the PDF on disk */
if (PDF_begin_document($p, "", "") == 0) {
    die("Error: " . PDF_get_errmsg($p));
}

PDF_set_info($p, "Creator", "hello.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "Hello world (PHP)!");

PDF_begin_page_ext($p, 595, 842, "");

$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");

PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "Hello world!");
PDF_continue_text($p, "(says PHP)");
PDF_end_page_ext($p, "");

PDF_end_document($p, "");

$buf = PDF_get_buffer($p);
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello.pdf");
print $buf;

PDF_delete($p);
?>

The following example comes with the PDFlib distribution for PHP 5. It uses the new exception handling and object encapsulation features available in PHP 5. It creates the file hello.pdf with one page. It defines some document info field contents, loads the Helvetica-Bold font and outputs the text "Hello world! (says PHP)".

예 1636. Hello World example from PDFlib distribution for PHP 5

<?php

try {
    $p = new PDFlib();

    /*  open new PDF file; insert a file name to create the PDF on disk */
    if ($p->begin_document("", "") == 0) {
        die("Error: " . $p->get_errmsg());
    }

    $p->set_info("Creator", "hello.php");
    $p->set_info("Author", "Rainer Schaaf");
    $p->set_info("Title", "Hello world (PHP)!");

    $p->begin_page_ext(595, 842, "");

    $font = $p->load_font("Helvetica-Bold", "winansi", "");

    $p->setfont($font, 24.0);
    $p->set_text_pos(50, 700);
    $p->show("Hello world!");
    $p->continue_text("(says PHP)");
    $p->end_page_ext("");

    $p->end_document("");

    $buf = $p->get_buffer();
    $len = strlen($buf);

    header("Content-type: application/pdf");
    header("Content-Length: $len");
    header("Content-Disposition: inline; filename=hello.pdf");
    print $buf;
}
catch (PDFlibException $e) {
    die("PDFlib exception occurred in hello sample:\n" .
    "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    $e->get_errmsg() . "\n");
}
catch (Exception $e) {
    die($e);
}
$p = 0;
?>

차례

PDF_activate_item -- Activate structure element or other content item
PDF_add_annotation -- Add annotation [deprecated]
PDF_add_bookmark -- Add bookmark for current page [deprecated]
PDF_add_launchlink -- Add launch annotation for current page [deprecated]
PDF_add_locallink -- Add link annotation for current page [deprecated]
PDF_add_nameddest -- Create named destination
PDF_add_note -- Set annotation for current page [deprecated]
PDF_add_outline -- Add bookmark for current page [deprecated]
PDF_add_pdflink -- Add file link annotation for current page [deprecated]
PDF_add_table_cell -- Add a cell to a new or existing table
PDF_add_textflow -- Create Textflow or add text to existing Textflow
PDF_add_thumbnail -- Add thumbnail for current page
PDF_add_weblink -- Add weblink for current page [deprecated]
PDF_arc -- Draw a counterclockwise circular arc segment
PDF_arcn -- Draw a clockwise circular arc segment
PDF_attach_file -- Add file attachment for current page [deprecated]
PDF_begin_document -- Create new PDF file
PDF_begin_font -- Start a Type 3 font definition
PDF_begin_glyph -- Start glyph definition for Type 3 font
PDF_begin_item -- Open structure element or other content item
PDF_begin_layer -- Start layer
PDF_begin_page_ext -- Start new page
PDF_begin_page -- Start new page [deprecated]
PDF_begin_pattern -- Start pattern definition
PDF_begin_template_ext -- Start template definition
PDF_begin_template -- Start template definition [deprecated]
PDF_circle -- Draw a circle
PDF_clip -- Clip to current path
PDF_close_image -- Close image
PDF_close_pdi_page -- Close the page handle
PDF_close_pdi -- Close the input PDF document [deprecated]
PDF_close -- Close pdf resource [deprecated]
PDF_closepath_fill_stroke -- Close, fill and stroke current path
PDF_closepath_stroke -- Close and stroke path
PDF_closepath -- Close current path
PDF_concat -- Concatenate a matrix to the CTM
PDF_continue_text -- Output text in next line
PDF_create_3dview -- Create 3D view
PDF_create_action -- Create action for objects or events
PDF_create_annotation -- Create rectangular annotation
PDF_create_bookmark -- Create bookmark
PDF_create_field -- Create form field
PDF_create_fieldgroup -- Create form field group
PDF_create_gstate -- Create graphics state object
PDF_create_pvf -- Create PDFlib virtual file
PDF_create_textflow -- Create textflow object
PDF_curveto -- Draw Bezier curve
PDF_define_layer -- Create layer definition
PDF_delete_pvf -- Delete PDFlib virtual file
PDF_delete_table -- Delete table object
PDF_delete_textflow -- Delete textflow object
PDF_delete -- Delete PDFlib object
PDF_encoding_set_char -- Add glyph name and/or Unicode value
PDF_end_document -- Close PDF file
PDF_end_font -- Terminate Type 3 font definition
PDF_end_glyph -- Terminate glyph definition for Type 3 font
PDF_end_item -- Close structure element or other content item
PDF_end_layer -- Deactivate all active layers
PDF_end_page_ext -- Finish page
PDF_end_page -- Finish page
PDF_end_pattern -- Finish pattern
PDF_end_template -- Finish template
PDF_endpath -- End current path
PDF_fill_imageblock -- Fill image block with variable data
PDF_fill_pdfblock -- Fill PDF block with variable data
PDF_fill_stroke -- Fill and stroke path
PDF_fill_textblock -- Fill text block with variable data
PDF_fill -- Fill current path
PDF_findfont -- Prepare font for later use [deprecated]
PDF_fit_image -- Place image or template
PDF_fit_pdi_page -- Place imported PDF page
PDF_fit_table -- Place table on page
PDF_fit_textflow -- Format textflow in rectangular area
PDF_fit_textline -- Place single line of text
PDF_get_apiname -- Get name of unsuccessfull API function
PDF_get_buffer -- Get PDF output buffer
PDF_get_errmsg -- Get error text
PDF_get_errnum -- Get error number
PDF_get_font -- Get font [deprecated]
PDF_get_fontname -- Get font name [deprecated]
PDF_get_fontsize -- Font handling [deprecated]
PDF_get_image_height -- Get image height [deprecated]
PDF_get_image_width -- Get image width [deprecated]
PDF_get_majorversion -- Get major version number [deprecated]
PDF_get_minorversion -- Get minor version number [deprecated]
PDF_get_parameter -- Get string parameter
PDF_get_pdi_parameter -- Get PDI string parameter [deprecated]
PDF_get_pdi_value -- Get PDI numerical parameter [deprecated]
PDF_get_value -- Get numerical parameter
PDF_info_font -- Query detailed information about a loaded font
PDF_info_matchbox -- Query matchbox information
PDF_info_table -- Retrieve table information
PDF_info_textflow -- Query textflow state
PDF_info_textline -- Perform textline formatting and query metrics
PDF_initgraphics -- Reset graphic state
PDF_lineto -- Draw a line
PDF_load_3ddata -- Load 3D model
PDF_load_font -- Search and prepare font
PDF_load_iccprofile -- Search and prepare ICC profile
PDF_load_image -- Open image file
PDF_makespotcolor -- Make spot color
PDF_moveto -- Set current point
PDF_new -- Create PDFlib object
PDF_open_ccitt -- Open raw CCITT image [deprecated]
PDF_open_file -- Create PDF file [deprecated]
PDF_open_gif -- Open GIF image [deprecated]
PDF_open_image_file -- Read image from file [deprecated]
PDF_open_image -- Use image data [deprecated]
PDF_open_jpeg -- Open JPEG image [deprecated]
PDF_open_memory_image -- Open image created with PHP's image functions [not supported]
PDF_open_pdi_page -- Prepare a page
PDF_open_pdi -- Open PDF file [deprecated]
PDF_open_tiff -- Open TIFF image [deprecated]
PDF_pcos_get_number -- Get value of pCOS path with type number or boolean
PDF_pcos_get_stream -- Get contents of pCOS path with type stream, fstream, or string
PDF_pcos_get_string -- Get value of pCOS path with type name, string, or boolean
PDF_place_image -- Place image on the page [deprecated]
PDF_place_pdi_page -- Place PDF page [deprecated]
PDF_process_pdi -- Process imported PDF document
PDF_rect -- Draw rectangle
PDF_restore -- Restore graphics state
PDF_resume_page -- Resume page
PDF_rotate -- Rotate coordinate system
PDF_save -- Save graphics state
PDF_scale -- Scale coordinate system
PDF_set_border_color -- Set border color of annotations [deprecated]
PDF_set_border_dash -- Set border dash style of annotations [deprecated]
PDF_set_border_style -- Set border style of annotations [deprecated]
PDF_set_char_spacing -- Set character spacing [deprecated]
PDF_set_duration -- Set duration between pages [deprecated]
PDF_set_gstate -- Activate graphics state object
PDF_set_horiz_scaling -- Set horizontal text scaling [deprecated]
PDF_set_info_author -- Fill the author document info field [deprecated]
PDF_set_info_creator -- Fill the creator document info field [deprecated]
PDF_set_info_keywords -- Fill the keywords document info field [deprecated]
PDF_set_info_subject -- Fill the subject document info field [deprecated]
PDF_set_info_title -- Fill the title document info field [deprecated]
PDF_set_info -- Fill document info field
PDF_set_layer_dependency -- Define relationships among layers
PDF_set_leading -- Set distance between text lines [deprecated]
PDF_set_parameter -- Set string parameter
PDF_set_text_matrix -- Set text matrix [deprecated]
PDF_set_text_pos -- Set text position
PDF_set_text_rendering -- Determine text rendering [deprecated]
PDF_set_text_rise -- Set text rise [deprecated]
PDF_set_value -- Set numerical parameter
PDF_set_word_spacing -- Set spacing between words [deprecated]
PDF_setcolor -- Set fill and stroke color
PDF_setdash -- Set simple dash pattern
PDF_setdashpattern -- Set dash pattern
PDF_setflat -- Set flatness
PDF_setfont -- Set font
PDF_setgray_fill -- Set fill color to gray [deprecated]
PDF_setgray_stroke -- Set stroke color to gray [deprecated]
PDF_setgray -- Set color to gray [deprecated]
PDF_setlinecap -- Set linecap parameter
PDF_setlinejoin -- Set linejoin parameter
PDF_setlinewidth -- Set line width
PDF_setmatrix -- Set current transformation matrix
PDF_setmiterlimit -- Set miter limit
PDF_setpolydash -- Set complicated dash pattern [deprecated]
PDF_setrgbcolor_fill -- Set fill rgb color values [deprecated]
PDF_setrgbcolor_stroke -- Set stroke rgb color values [deprecated]
PDF_setrgbcolor -- Set fill and stroke rgb color values [deprecated]
PDF_shading_pattern -- Define shading pattern
PDF_shading -- Define blend
PDF_shfill -- Fill area with shading
PDF_show_boxed -- Output text in a box [deprecated]
PDF_show_xy -- Output text at given position
PDF_show -- Output text at current position
PDF_skew -- Skew the coordinate system
PDF_stringwidth -- Return width of text
PDF_stroke -- Stroke path
PDF_suspend_page -- Suspend page
PDF_translate -- Set origin of coordinate system
PDF_utf16_to_utf8 -- Convert string from UTF-16 to UTF-8
PDF_utf32_to_utf16 -- Convert string from UTF-32 to UTF-16
PDF_utf8_to_utf16 -- Convert string from UTF-8 to UTF-16
이전 | 위로 | 다음
preg_split | 처음으로 | PDF_activate_item


PDF_add_annotation

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_add_annotation -- Add annotation [deprecated]

설명

This function is deprecated, use PDF_create_annotation() with type=Text instead.

이전 | 위로 | 다음
PDF_activate_item | 처음으로 | PDF_add_bookmark


PDF_add_bookmark

(PHP 4 >= 4.0.1, PECL pdflib:1.0-2.1.3)

PDF_add_bookmark -- Add bookmark for current page [deprecated]

설명

This function is deprecated since PDFlib version 6, use PDF_create_bookmark() instead.

이전 | 위로 | 다음
PDF_add_annotation | 처음으로 | PDF_add_launchlink


PDF_add_launchlink

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_add_launchlink -- Add launch annotation for current page [deprecated]

설명

bool PDF_add_launchlink ( resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $filename )

Adds a link to a web resource.

This function is deprecated since PDFlib version 6,
use PDF_create_action() with
type=Launch and
PDF_create_annotation() with
type=Link instead.

이전 | 위로 | 다음
PDF_add_bookmark | 처음으로 | PDF_add_locallink


PDF_add_locallink

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_add_locallink -- Add link annotation for current page [deprecated]

설명

bool PDF_add_locallink ( resource $pdfdoc, float $lowerleftx, float $lowerlefty, float $upperrightx, float $upperrighty, int $page, string $dest )

Add a link annotation to a target within the current PDF file. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use
PDF_create_action() with type=GoTo
and PDF_create_annotation() with
type=Link instead.

이전 | 위로 | 다음
PDF_add_launchlink | 처음으로 | PDF_add_nameddest


PDF_add_note

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_add_note -- Set annotation for current page [deprecated]

설명

bool PDF_add_note ( resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $contents, string $title, string $icon, int $open )

Sets an annotation for the current page. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use PDF_create_annotation() with type=Text instead.

이전 | 위로 | 다음
PDF_add_nameddest | 처음으로 | PDF_add_outline


PDF_add_outline

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_add_outline -- Add bookmark for current page [deprecated]

설명

This function is deprecated, use PDF_create_bookmark() instead.

이전 | 위로 | 다음
PDF_add_note | 처음으로 | PDF_add_pdflink


PDF_add_pdflink

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_add_pdflink -- Add file link annotation for current page [deprecated]

설명

bool PDF_add_pdflink ( resource $pdfdoc, float $bottom_left_x, float $bottom_left_y, float $up_right_x, float $up_right_y, string $filename, int $page, string $dest )

Add a file link annotation to a PDF target. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use
PDF_create_action() with
type=GoToR and
PDF_create_annotation() with
type=Link instead.

이전 | 위로 | 다음
PDF_add_outline | 처음으로 | PDF_add_table_cell


PDF_add_thumbnail

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_add_thumbnail -- Add thumbnail for current page

설명

bool PDF_add_thumbnail ( resource $pdfdoc, int $image )

Adds an existing image as thumbnail for the current page. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_add_textflow | 처음으로 | PDF_add_weblink


PDF_add_weblink

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_add_weblink -- Add weblink for current page [deprecated]

설명

bool PDF_add_weblink ( resource $pdfdoc, float $lowerleftx, float $lowerlefty, float $upperrightx, float $upperrighty, string $url )

Adds a weblink annotation to a target url on the Web. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use
PDF_create_action() with type=URI
and PDF_create_annotation() with
type=Link instead.

이전 | 위로 | 다음
PDF_add_thumbnail | 처음으로 | PDF_arc


PDF_arc

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_arc -- Draw a counterclockwise circular arc segment

설명

bool PDF_arc ( resource $p, float $x, float $y, float $r, float $alpha, float $beta )

Adds a counterclockwise circular arc.

이전 | 위로 | 다음
PDF_add_weblink | 처음으로 | PDF_arcn


PDF_arcn

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_arcn -- Draw a clockwise circular arc segment

설명

bool PDF_arcn ( resource $p, float $x, float $y, float $r, float $alpha, float $beta )

Except for the drawing direction, this function behaves exactly like PDF_arc().

이전 | 위로 | 다음
PDF_arc | 처음으로 | PDF_attach_file


PDF_attach_file

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_attach_file -- Add file attachment for current page [deprecated]

설명

bool PDF_attach_file ( resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $filename, string $description, string $author, string $mimetype, string $icon )

Adds a file attachment annotation. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use PDF_create_annotation() with type=FileAttachment instead.

이전 | 위로 | 다음
PDF_arcn | 처음으로 | PDF_begin_document


PDF_begin_page

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_begin_page -- Start new page [deprecated]

설명

bool PDF_begin_page ( resource $pdfdoc, float $width, float $height )

Adds a new page to the document. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use PDF_begin_page_ext() instead.

이전 | 위로 | 다음
PDF_begin_page_ext | 처음으로 | PDF_begin_pattern


PDF_begin_pattern

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_begin_pattern -- Start pattern definition

설명

int PDF_begin_pattern ( resource $pdfdoc, float $width, float $height, float $xstep, float $ystep, int $painttype )

Starts a new pattern definition.

이전 | 위로 | 다음
PDF_begin_page | 처음으로 | PDF_begin_template_ext


PDF_begin_template

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_begin_template -- Start template definition [deprecated]

설명

int PDF_begin_template ( resource $pdfdoc, float $width, float $height )

Starts a new template definition.

This function is deprecated since PDFlib version 7, use PDF_begin_template_ext() instead.

이전 | 위로 | 다음
PDF_begin_template_ext | 처음으로 | PDF_circle


PDF_circle

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_circle -- Draw a circle

설명

bool PDF_circle ( resource $pdfdoc, float $x, float $y, float $r )

Adds a circle. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_begin_template | 처음으로 | PDF_clip


PDF_clip

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_clip -- Clip to current path

설명

bool PDF_clip ( resource $p )

Uses the current path as clipping path, and terminate the path. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_circle | 처음으로 | PDF_close_image


PDF_close_image

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_close_image -- Close image

설명

bool PDF_close_image ( resource $p, int $image )

Closes an image retrieved with the PDF_open_image() function.

이전 | 위로 | 다음
PDF_clip | 처음으로 | PDF_close_pdi_page


PDF_close_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_close_pdi_page -- Close the page handle

설명

bool PDF_close_pdi_page ( resource $p, int $page )

Closes the page handle, and frees all page-related resources. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_close_image | 처음으로 | PDF_close_pdi


PDF_close_pdi

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_close_pdi -- Close the input PDF document [deprecated]

설명

bool PDF_close_pdi ( resource $p, int $doc )

Closes all open page handles, and closes the input PDF document. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 7, use PDF_close_pdi_document() instead.

이전 | 위로 | 다음
PDF_close_pdi_page | 처음으로 | PDF_close


PDF_close

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_close -- Close pdf resource [deprecated]

설명

bool PDF_close ( resource $p )

Closes the generated PDF file, and frees all document-related resources. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use PDF_end_document() instead.

이전 | 위로 | 다음
PDF_close_pdi | 처음으로 | PDF_closepath_fill_stroke


PDF_closepath_fill_stroke

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_closepath_fill_stroke -- Close, fill and stroke current path

설명

bool PDF_closepath_fill_stroke ( resource $p )

Closes the path, fills, and strokes it. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_close | 처음으로 | PDF_closepath_stroke


PDF_closepath_stroke

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_closepath_stroke -- Close and stroke path

설명

bool PDF_closepath_stroke ( resource $p )

Closes the path, and strokes it. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_closepath_fill_stroke | 처음으로 | PDF_closepath


PDF_closepath

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_closepath -- Close current path

설명

bool PDF_closepath ( resource $p )

Closes the current path. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_closepath_stroke | 처음으로 | PDF_concat


PDF_concat

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_concat -- Concatenate a matrix to the CTM

설명

bool PDF_concat ( resource $p, float $a, float $b, float $c, float $d, float $e, float $f )

Concatenates a matrix to the current transformation matrix (CTM). 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_closepath | 처음으로 | PDF_continue_text


PDF_continue_text

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_continue_text -- Output text in next line

설명

bool PDF_continue_text ( resource $p, string $text )

Prints text at the next line. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_concat | 처음으로 | PDF_create_3dview


PDF_curveto

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_curveto -- Draw Bezier curve

설명

bool PDF_curveto ( resource $p, float $x1, float $y1, float $x2, float $y2, float $x3, float $y3 )

Draws a Bezier curve from the current point, using 3 more control points. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_create_textflow | 처음으로 | PDF_define_layer


PDF_delete

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_delete -- Delete PDFlib object

설명

bool PDF_delete ( resource $pdfdoc )

Deletes a PDFlib object, and frees all internal resources. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_delete_textflow | 처음으로 | PDF_encoding_set_char


PDF_end_page

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_end_page -- Finish page

설명

bool PDF_end_page ( resource $p )

Finishes the page. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_end_page_ext | 처음으로 | PDF_end_pattern


PDF_end_pattern

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_end_pattern -- Finish pattern

설명

bool PDF_end_pattern ( resource $p )

Finishes the pattern definition. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_end_page | 처음으로 | PDF_end_template


PDF_end_template

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_end_template -- Finish template

설명

bool PDF_end_template ( resource $p )

Finishes a template definition. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_end_pattern | 처음으로 | PDF_endpath


PDF_endpath

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_endpath -- End current path

설명

bool PDF_endpath ( resource $p )

Ends the current path without filling or stroking it.

이전 | 위로 | 다음
PDF_end_template | 처음으로 | PDF_fill_imageblock


PDF_fill_stroke

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_fill_stroke -- Fill and stroke path

설명

bool PDF_fill_stroke ( resource $p )

Fills and strokes the current path with the current fill and stroke color. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_fill_pdfblock | 처음으로 | PDF_fill_textblock


PDF_fill

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_fill -- Fill current path

설명

bool PDF_fill ( resource $p )

Fills the interior of the current path with the current fill color. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_fill_textblock | 처음으로 | PDF_findfont


PDF_findfont

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_findfont -- Prepare font for later use [deprecated]

설명

int PDF_findfont ( resource $p, string $fontname, string $encoding, int $embed )

Search for a font and prepare it for later use with PDF_setfont(). The metrics will be loaded, and if embed is nonzero, the font file will be checked, but not yet used. encoding is one of builtin, macroman, winansi, host, a user-defined encoding name or the name of a CMap. Parameter embed is optional before PHP 4.3.5 or with PDFlib less than 5.

This function is deprecated since PDFlib version 5, use PDF_load_font() instead.

이전 | 위로 | 다음
PDF_fill | 처음으로 | PDF_fit_image


PDF_get_buffer

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_get_buffer -- Get PDF output buffer

설명

string PDF_get_buffer ( resource $p )

Fetches the buffer containing the generated PDF data.

이전 | 위로 | 다음
PDF_get_apiname | 처음으로 | PDF_get_errmsg


PDF_get_font

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_get_font -- Get font [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter font instead.

이전 | 위로 | 다음
PDF_get_errnum | 처음으로 | PDF_get_fontname


PDF_get_fontname

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_get_fontname -- Get font name [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_get_parameter() with the parameter fontname instead.

이전 | 위로 | 다음
PDF_get_font | 처음으로 | PDF_get_fontsize


PDF_get_fontsize

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_get_fontsize -- Font handling [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter fontsizeinstead.

이전 | 위로 | 다음
PDF_get_fontname | 처음으로 | PDF_get_image_height


PDF_get_image_height

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_get_image_height -- Get image height [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter imageheight instead.

이전 | 위로 | 다음
PDF_get_fontsize | 처음으로 | PDF_get_image_width


PDF_get_image_width

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_get_image_width -- Get image width [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter imagewidth instead.

이전 | 위로 | 다음
PDF_get_image_height | 처음으로 | PDF_get_majorversion


PDF_get_majorversion

(PHP 4 >= 4.2.0, PECL pdflib:1.0-2.1.3)

PDF_get_majorversion -- Get major version number [deprecated]

설명

int PDF_get_majorversion ( void )

This function is deprecated since PDFlib version 5, use PDF_get_value() with the parameter major instead.

이전 | 위로 | 다음
PDF_get_image_width | 처음으로 | PDF_get_minorversion


PDF_get_minorversion

(PHP 4 >= 4.2.0, PECL pdflib:1.0-2.1.3)

PDF_get_minorversion -- Get minor version number [deprecated]

설명

int PDF_get_minorversion ( void )

Returns the minor version number of the PDFlib version.

This function is deprecated since PDFlib version 5, use PDF_get_value() with the parameter minor instead.

이전 | 위로 | 다음
PDF_get_majorversion | 처음으로 | PDF_get_parameter


PDF_get_parameter

(PHP 4 >= 4.0.1, PECL pdflib:1.0-2.1.3)

PDF_get_parameter -- Get string parameter

설명

string PDF_get_parameter ( resource $p, string $key, float $modifier )

Gets the contents of some PDFlib parameter with string type.

이전 | 위로 | 다음
PDF_get_minorversion | 처음으로 | PDF_get_pdi_parameter


PDF_get_pdi_parameter

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_get_pdi_parameter -- Get PDI string parameter [deprecated]

설명

string PDF_get_pdi_parameter ( resource $p, string $key, int $doc, int $page, int $reserved )

Gets the contents of a PDI document parameter with string type.

This function is deprecated since PDFlib version 7, use PDF_pcos_get_string() instead.

이전 | 위로 | 다음
PDF_get_parameter | 처음으로 | PDF_get_pdi_value


PDF_get_pdi_value

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_get_pdi_value -- Get PDI numerical parameter [deprecated]

설명

float PDF_get_pdi_value ( resource $p, string $key, int $doc, int $page, int $reserved )

Gets the contents of a PDI document parameter with numerical type.

This function is deprecated since PDFlib version 7, use PDF_pcos_get_number() instead.

이전 | 위로 | 다음
PDF_get_pdi_parameter | 처음으로 | PDF_get_value


PDF_get_value

(PHP 4 >= 4.0.1, PECL pdflib:1.0-2.1.3)

PDF_get_value -- Get numerical parameter

설명

float PDF_get_value ( resource $p, string $key, float $modifier )

Gets the value of some PDFlib parameter with numerical type.

이전 | 위로 | 다음
PDF_get_pdi_value | 처음으로 | PDF_info_font


PDF_initgraphics

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_initgraphics -- Reset graphic state

설명

bool PDF_initgraphics ( resource $p )

Reset all color and graphics state parameters to their defaults. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_info_textline | 처음으로 | PDF_lineto


PDF_lineto

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_lineto -- Draw a line

설명

bool PDF_lineto ( resource $p, float $x, float $y )

Draws a line from the current point to another point. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_initgraphics | 처음으로 | PDF_load_3ddata


PDF_makespotcolor

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_makespotcolor -- Make spot color

설명

int PDF_makespotcolor ( resource $p, string $spotname )

Finds a built-in spot color name, or makes a named spot color from the current fill color. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_load_image | 처음으로 | PDF_moveto


PDF_moveto

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_moveto -- Set current point

설명

bool PDF_moveto ( resource $p, float $x, float $y )

Sets the current point for graphics output. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_makespotcolor | 처음으로 | PDF_new


PDF_new

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_new -- Create PDFlib object

설명

resource PDF_new ( $ )

Creates a new PDFlib object with default settings.

이전 | 위로 | 다음
PDF_moveto | 처음으로 | PDF_open_ccitt


PDF_open_ccitt

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_open_ccitt -- Open raw CCITT image [deprecated]

설명

int PDF_open_ccitt ( resource $pdfdoc, string $filename, int $width, int $height, int $BitReverse, int $k, int $Blackls1 )

Opens a raw CCITT image.

This function is deprecated since PDFlib version 5, use PDF_load_image() instead.

이전 | 위로 | 다음
PDF_new | 처음으로 | PDF_open_file


PDF_open_file

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_open_file -- Create PDF file [deprecated]

설명

bool PDF_open_file ( resource $p, string $filename )

Creates a new PDF file using the supplied file name. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use PDF_begin_document() instead.

이전 | 위로 | 다음
PDF_open_ccitt | 처음으로 | PDF_open_gif


PDF_open_gif

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_open_gif -- Open GIF image [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_load_image() instead.

이전 | 위로 | 다음
PDF_open_file | 처음으로 | PDF_open_image_file


PDF_open_image_file

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_open_image_file -- Read image from file [deprecated]

설명

int PDF_open_image_file ( resource $p, string $imagetype, string $filename, string $stringparam, int $intparam )

Opens an image file.

This function is deprecated since PDFlib version 5, use PDF_load_image() with the colorize, ignoremask, invert, mask, masked, and page options instead.

이전 | 위로 | 다음
PDF_open_gif | 처음으로 | PDF_open_image


PDF_open_image

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_open_image -- Use image data [deprecated]

설명

int PDF_open_image ( resource $p, string $imagetype, string $source, string $data, int $length, int $width, int $height, int $components, int $bpc, string $params )

Uses image data from a variety of data sources.

This function is deprecated since PDFlib version 5, use virtual files and PDF_load_image() instead.

이전 | 위로 | 다음
PDF_open_image_file | 처음으로 | PDF_open_jpeg


PDF_open_jpeg

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_open_jpeg -- Open JPEG image [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_load_image() instead.

이전 | 위로 | 다음
PDF_open_image | 처음으로 | PDF_open_memory_image


PDF_open_memory_image

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_open_memory_image -- Open image created with PHP's image functions [not supported]

설명

int PDF_open_memory_image ( resource $p, resource $image )

This function is not supported by PDFlib GmbH.

이전 | 위로 | 다음
PDF_open_jpeg | 처음으로 | PDF_open_pdi_page


PDF_open_pdi_page

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_open_pdi_page -- Prepare a page

설명

int PDF_open_pdi_page ( resource $p, int $doc, int $pagenumber, string $optlist )

Prepares a page for later use with PDF_fit_pdi_page().

이전 | 위로 | 다음
PDF_open_memory_image | 처음으로 | PDF_open_pdi


PDF_open_pdi

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_open_pdi -- Open PDF file [deprecated]

설명

int PDF_open_pdi ( resource $pdfdoc, string $filename, string $optlist, int $len )

Opens a disk-based or virtual PDF document and prepares it for later use.

This function is deprecated since PDFlib version 7, use PDF_open_pdi_document() instead.

이전 | 위로 | 다음
PDF_open_pdi_page | 처음으로 | PDF_open_tiff


PDF_open_tiff

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_open_tiff -- Open TIFF image [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_load_image() instead.

이전 | 위로 | 다음
PDF_open_pdi | 처음으로 | PDF_pcos_get_number


PDF_place_image

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_place_image -- Place image on the page [deprecated]

설명

bool PDF_place_image ( resource $pdfdoc, int $image, float $x, float $y, float $scale )

Places an image and scales it. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 5, use PDF_fit_image() instead.

이전 | 위로 | 다음
PDF_pcos_get_string | 처음으로 | PDF_place_pdi_page


PDF_place_pdi_page

(PHP 4 >= 4.0.6, PECL pdflib:1.0-2.1.3)

PDF_place_pdi_page -- Place PDF page [deprecated]

설명

bool PDF_place_pdi_page ( resource $pdfdoc, int $page, float $x, float $y, float $sx, float $sy )

Places a PDF page and scales it. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 5, use PDF_fit_pdi_page() instead.

이전 | 위로 | 다음
PDF_place_image | 처음으로 | PDF_process_pdi


PDF_rect

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_rect -- Draw rectangle

설명

bool PDF_rect ( resource $p, float $x, float $y, float $width, float $height )

Draws a rectangle. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_process_pdi | 처음으로 | PDF_restore


PDF_restore

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_restore -- Restore graphics state

설명

bool PDF_restore ( resource $p )

Restores the most recently saved graphics state. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_rect | 처음으로 | PDF_resume_page


PDF_rotate

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_rotate -- Rotate coordinate system

설명

bool PDF_rotate ( resource $p, float $phi )

Rotates the coordinate system. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_resume_page | 처음으로 | PDF_save


PDF_save

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_save -- Save graphics state

설명

bool PDF_save ( resource $p )

Saves the current graphics state. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_rotate | 처음으로 | PDF_scale


PDF_scale

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_scale -- Scale coordinate system

설명

bool PDF_scale ( resource $p, float $sx, float $sy )

Scales the coordinate system. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_save | 처음으로 | PDF_set_border_color


PDF_set_border_color

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_border_color -- Set border color of annotations [deprecated]

설명

bool PDF_set_border_color ( resource $p, float $red, float $green, float $blue )

Sets the border color for all kinds of annotations. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use the option annotcolor in PDF_create_annotation() instead.

이전 | 위로 | 다음
PDF_scale | 처음으로 | PDF_set_border_dash


PDF_set_border_dash

(PHP 4 >= 4.0.1, PECL pdflib:1.0-2.1.3)

PDF_set_border_dash -- Set border dash style of annotations [deprecated]

설명

bool PDF_set_border_dash ( resource $pdfdoc, float $black, float $white )

Sets the border dash style for all kinds of annotations. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use the option dasharray in PDF_create_annotation() instead.

이전 | 위로 | 다음
PDF_set_border_color | 처음으로 | PDF_set_border_style


PDF_set_border_style

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_border_style -- Set border style of annotations [deprecated]

설명

bool PDF_set_border_style ( resource $pdfdoc, string $style, float $width )

Sets the border style for all kinds of annotations. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 6, use the options borderstyle and linewidth in PDF_create_annotation() instead.

이전 | 위로 | 다음
PDF_set_border_dash | 처음으로 | PDF_set_char_spacing


PDF_set_char_spacing

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_char_spacing -- Set character spacing [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_value() with parameter charspacing instead.

이전 | 위로 | 다음
PDF_set_border_style | 처음으로 | PDF_set_duration


PDF_set_duration

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_duration -- Set duration between pages [deprecated]

설명

This function is deprecated since PDFlib version 3, use the duration option in PDF_begin_page_ext() or PDF_end_page_ext() instead.

이전 | 위로 | 다음
PDF_set_char_spacing | 처음으로 | PDF_set_gstate


PDF_set_horiz_scaling

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_horiz_scaling -- Set horizontal text scaling [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_value() with parameter horizscaling instead.

이전 | 위로 | 다음
PDF_set_gstate | 처음으로 | PDF_set_info_author


PDF_set_info_author

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_info_author -- Fill the author document info field [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

이전 | 위로 | 다음
PDF_set_horiz_scaling | 처음으로 | PDF_set_info_creator


PDF_set_info_creator

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_info_creator -- Fill the creator document info field [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

이전 | 위로 | 다음
PDF_set_info_author | 처음으로 | PDF_set_info_keywords


PDF_set_info_keywords

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_info_keywords -- Fill the keywords document info field [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

이전 | 위로 | 다음
PDF_set_info_creator | 처음으로 | PDF_set_info_subject


PDF_set_info_subject

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_info_subject -- Fill the subject document info field [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

이전 | 위로 | 다음
PDF_set_info_keywords | 처음으로 | PDF_set_info_title


PDF_set_info_title

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_info_title -- Fill the title document info field [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_info() instead.

이전 | 위로 | 다음
PDF_set_info_subject | 처음으로 | PDF_set_info


PDF_set_info

(PHP 4 >= 4.0.1, PECL pdflib:1.0-2.1.3)

PDF_set_info -- Fill document info field

설명

bool PDF_set_info ( resource $p, string $key, string $value )

Fill document information field key with value. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_set_info_title | 처음으로 | PDF_set_layer_dependency


PDF_set_leading

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_leading -- Set distance between text lines [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_value() with the parameter leading instead.

이전 | 위로 | 다음
PDF_set_layer_dependency | 처음으로 | PDF_set_parameter


PDF_set_parameter

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_parameter -- Set string parameter

설명

bool PDF_set_parameter ( resource $p, string $key, string $value )

Sets some PDFlib parameter with string type. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_set_leading | 처음으로 | PDF_set_text_matrix


PDF_set_text_matrix

(PHP 4 <= 4.0.4)

PDF_set_text_matrix -- Set text matrix [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_scale(), PDF_translate(), PDF_rotate(), or PDF_skew() instead.

이전 | 위로 | 다음
PDF_set_parameter | 처음으로 | PDF_set_text_pos


PDF_set_text_pos

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_text_pos -- Set text position

설명

bool PDF_set_text_pos ( resource $p, float $x, float $y )

Sets the position for text output on the page. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_set_text_matrix | 처음으로 | PDF_set_text_rendering


PDF_set_text_rendering

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_text_rendering -- Determine text rendering [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_value() with the textrendering parameter instead.

이전 | 위로 | 다음
PDF_set_text_pos | 처음으로 | PDF_set_text_rise


PDF_set_text_rise

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_text_rise -- Set text rise [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_value() with the textrise parameter instead.

이전 | 위로 | 다음
PDF_set_text_rendering | 처음으로 | PDF_set_value


PDF_set_value

(PHP 4 >= 4.0.1, PECL pdflib:1.0-2.1.3)

PDF_set_value -- Set numerical parameter

설명

bool PDF_set_value ( resource $p, string $key, float $value )

Sets the value of some PDFlib parameter with numerical type. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_set_text_rise | 처음으로 | PDF_set_word_spacing


PDF_set_word_spacing

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_set_word_spacing -- Set spacing between words [deprecated]

설명

This function is deprecated since PDFlib version 3, use PDF_set_value() with the wordspacing parameter instead.

이전 | 위로 | 다음
PDF_set_value | 처음으로 | PDF_setcolor


PDF_setcolor

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_setcolor -- Set fill and stroke color

설명

bool PDF_setcolor ( resource $p, string $fstype, string $colorspace, float $c1, float $c2, float $c3, float $c4 )

Sets the current color space and color. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_set_word_spacing | 처음으로 | PDF_setdash


PDF_setdash

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setdash -- Set simple dash pattern

설명

bool PDF_setdash ( resource $pdfdoc, float $b, float $w )

Sets the current dash pattern to b black and w white units. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_setcolor | 처음으로 | PDF_setdashpattern


PDF_setflat

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setflat -- Set flatness

설명

bool PDF_setflat ( resource $pdfdoc, float $flatness )

Sets the flatness parameter. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_setdashpattern | 처음으로 | PDF_setfont


PDF_setfont

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_setfont -- Set font

설명

bool PDF_setfont ( resource $pdfdoc, int $font, float $fontsize )

Sets the current font in the specified size, using a font handle returned by PDF_load_font(). 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_setflat | 처음으로 | PDF_setgray_fill


PDF_setgray_fill

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setgray_fill -- Set fill color to gray [deprecated]

설명

bool PDF_setgray_fill ( resource $p, float $g )

Sets the current fill color to a gray value between 0 and 1 inclusive. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

이전 | 위로 | 다음
PDF_setfont | 처음으로 | PDF_setgray_stroke


PDF_setgray_stroke

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setgray_stroke -- Set stroke color to gray [deprecated]

설명

bool PDF_setgray_stroke ( resource $p, float $g )

Sets the current stroke color to a gray value between 0 and 1 inclusive. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

이전 | 위로 | 다음
PDF_setgray_fill | 처음으로 | PDF_setgray


PDF_setgray

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setgray -- Set color to gray [deprecated]

설명

bool PDF_setgray ( resource $p, float $g )

Sets the current fill and stroke color to a gray value between 0 and 1 inclusive. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

이전 | 위로 | 다음
PDF_setgray_stroke | 처음으로 | PDF_setlinecap


PDF_setlinecap

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setlinecap -- Set linecap parameter

설명

bool PDF_setlinecap ( resource $p, int $linecap )

Sets the linecap parameter to control the shape at the end of a path with respect to stroking.

이전 | 위로 | 다음
PDF_setgray | 처음으로 | PDF_setlinejoin


PDF_setlinejoin

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setlinejoin -- Set linejoin parameter

설명

bool PDF_setlinejoin ( resource $p, int $value )

Sets the linejoin parameter to specify the shape at the corners of paths that are stroked. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_setlinecap | 처음으로 | PDF_setlinewidth


PDF_setlinewidth

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setlinewidth -- Set line width

설명

bool PDF_setlinewidth ( resource $p, float $width )

Sets the current line width. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_setlinejoin | 처음으로 | PDF_setmatrix


PDF_setmatrix

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_setmatrix -- Set current transformation matrix

설명

bool PDF_setmatrix ( resource $p, float $a, float $b, float $c, float $d, float $e, float $f )

Explicitly sets the current transformation matrix. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_setlinewidth | 처음으로 | PDF_setmiterlimit


PDF_setmiterlimit

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setmiterlimit -- Set miter limit

설명

bool PDF_setmiterlimit ( resource $pdfdoc, float $miter )

Sets the miter limit.성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_setmatrix | 처음으로 | PDF_setpolydash


PDF_setpolydash

(PHP 4 >= 4.0.5, PECL pdflib:1.0-2.1.3)

PDF_setpolydash -- Set complicated dash pattern [deprecated]

설명

This function is deprecated since PDFlib version 5, use PDF_setdashpattern() instead.

이전 | 위로 | 다음
PDF_setmiterlimit | 처음으로 | PDF_setrgbcolor_fill


PDF_setrgbcolor_fill

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setrgbcolor_fill -- Set fill rgb color values [deprecated]

설명

bool PDF_setrgbcolor_fill ( resource $p, float $red, float $green, float $blue )

Sets the current fill color to the supplied RGB values. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

이전 | 위로 | 다음
PDF_setpolydash | 처음으로 | PDF_setrgbcolor_stroke


PDF_setrgbcolor_stroke

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setrgbcolor_stroke -- Set stroke rgb color values [deprecated]

설명

bool PDF_setrgbcolor_stroke ( resource $p, float $red, float $green, float $blue )

Sets the current stroke color to the supplied RGB values. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

이전 | 위로 | 다음
PDF_setrgbcolor_fill | 처음으로 | PDF_setrgbcolor


PDF_setrgbcolor

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_setrgbcolor -- Set fill and stroke rgb color values [deprecated]

설명

bool PDF_setrgbcolor ( resource $p, float $red, float $green, float $blue )

Sets the current fill and stroke color to the supplied RGB values. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function is deprecated since PDFlib version 4, use PDF_setcolor() instead.

이전 | 위로 | 다음
PDF_setrgbcolor_stroke | 처음으로 | PDF_shading_pattern


PDF_show_boxed

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_show_boxed -- Output text in a box [deprecated]

설명

int PDF_show_boxed ( resource $p, string $text, float $left, float $top, float $width, float $height, string $mode, string $feature )

This function is deprecated since PDFlib version 6, use PDF_fit_textline() for single lines, or the PDF_*_textflow() functions for multi-line formatting instead.

이전 | 위로 | 다음
PDF_shfill | 처음으로 | PDF_show_xy


PDF_show_xy

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_show_xy -- Output text at given position

설명

bool PDF_show_xy ( resource $p, string $text, float $x, float $y )

Prints text in the current font. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_show_boxed | 처음으로 | PDF_show


PDF_show

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_show -- Output text at current position

설명

bool PDF_show ( resource $pdfdoc, string $text )

Prints text in the current font and size at the current position. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_show_xy | 처음으로 | PDF_skew


PDF_skew

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_skew -- Skew the coordinate system

설명

bool PDF_skew ( resource $p, float $alpha, float $beta )

Skews the coordinate system in x and y direction by alpha and beta degrees. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_show | 처음으로 | PDF_stringwidth


PDF_stringwidth

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_stringwidth -- Return width of text

설명

float PDF_stringwidth ( resource $p, string $text, int $font, float $fontsize )

Returns the width of text in an arbitrary font.

이전 | 위로 | 다음
PDF_skew | 처음으로 | PDF_stroke


PDF_stroke

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_stroke -- Stroke path

설명

bool PDF_stroke ( resource $p )

Strokes the path with the current color and line width, and clear it. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_stringwidth | 처음으로 | PDF_suspend_page


PDF_translate

(PHP 4, PECL pdflib:1.0-2.1.3)

PDF_translate -- Set origin of coordinate system

설명

bool PDF_translate ( resource $p, float $tx, float $ty )

Translates the origin of the coordinate system.

이전 | 위로 | 다음
PDF_suspend_page | 처음으로 | PDF_utf16_to_utf8


PDO Functions

이전 VI. 함수 레퍼런스 다음

CXXII. PDO Functions

소개

The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP. Each database driver that implements the PDO interface can expose database-specific features as regular extension functions. Note that you cannot perform any database functions using the PDO extension by itself; you must use a database-specific PDO driver to access a database server.

PDO provides a data-access abstraction layer, which means that, regardless of which database you're using, you use the same functions to issue queries and fetch data. PDO does not provide a database abstraction; it doesn't rewrite SQL or emulate missing features. You should use a full-blown abstraction layer if you need that facility.

PDO ships with PHP 5.1, and is available as a PECL extension for PHP 5.0; PDO requires the new OO features in the core of PHP 5, and so will not run with earlier versions of PHP.

설치

절차 2. PHP 5.1 and up on Unix systems

  1. If you're running a PHP 5.1 release, PDO and PDO_SQLITE is included in the distribution; it will be automatically enabled when you run configure. It is recommended that you build PDO as a shared extension, as this will allow you to take advantage of updates that are made available via PECL. The recommended configure line for building PHP with PDO support should enable zlib support (for the pecl installer) as well. You may also need to enable the PDO driver for your database of choice; consult the documentation for database-specific PDO drivers to find out more about that, but note that if you build PDO as a shared extension, you must build the PDO drivers as shared extensions. SQLite extension depends on PDO so if PDO is built as a shared extension, SQLite needs to be built the same way.

./configure --with-zlib --enable-pdo=shared --with-pdo-sqlite=shared --with-sqlite=shared

  2. After installing PDO as a shared module, you must edit your php.ini file so that the PDO extension will be loaded automatically when PHP runs. You will also need to enable any database specific drivers there too; make sure that they are listed after the pdo.so line, as PDO must be initialized before the database-specific extensions can be loaded. If you built PDO and the database-specific extensions statically, you can skip this step.

extension=pdo.so

  3. Having PDO as a shared module will allow you to run pecl upgrade pdo as new versions of PDO are published, without forcing you to rebuild the whole of PHP. Note that if you do this, you also need to upgrade your database specific PDO drivers at the same time.

절차 3. PHP 5.0.0 and up on Unix systems

  1. PDO is available as a PECL extension from » http://pecl.php.net/package/pdo. Installation can be performed via the pecl tool; this is enabled by default when you configure PHP. You should ensure that PHP was configured --with-zlib in order for pecl to be able to handle the compressed package files.

  2. Run the following command to download, build, and install the latest stable version of PDO:

pecl install pdo

  3. The pecl command automatically installs the PDO module into your PHP extensions directory. To enable the PDO extension on Linux or Unix operating systems, you must add the following line to php.ini:

extension=pdo.so

    For more information about building PECL packages, consult the PECL installation section of the manual.

절차 4. Windows users running PHP 5.1.0 and up

  1. PDO and all the major drivers ship with PHP as shared extensions, and simply need to be activated by editing the php.ini file:

extension=php_pdo.dll

  2. Next, choose the other database-specific DLL files and either use dl() to load them at runtime, or enable them in php.ini below php_pdo.dll. For example:

extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

    These DLLs should exist in the system's extension_dir. Note that PDO_INFORMIX is only available as a PECL extension.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 242. PDO Configuration Options

Name | Default | Changeable | Changelog
pdo.dsn.* |  | php.ini only |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

pdo.dsn.* string

Defines DSN alias. See PDO->__construct() for thorough explanation.

PDO Drivers

The following drivers currently implement the PDO interface:

Driver name | Supported databases
PDO_DBLIB | FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD | Firebird/Interbase 6
PDO_IBM | IBM DB2
PDO_INFORMIX | IBM Informix Dynamic Server
PDO_MYSQL | MySQL 3.x/4.x/5.x
PDO_OCI | Oracle Call Interface
PDO_ODBC | ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQL | PostgreSQL
PDO_SQLITE | SQLite 3 and SQLite 2

Connections and Connection management

Connections are established by creating instances of the PDO base class. It doesn't matter which driver you want to use; you always use the PDO class name. The constructor accepts parameters for specifying the database source (known as the DSN) and optionally for the username and password (if any).

예 1637. Connecting to MySQL

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

If there are any connection errors, a PDOException object will be thrown. You may catch the exception if you want to handle the error condition, or you may opt to leave it for an application global exception handler that you set up via set_exception_handler().

예 1638. Handling connection errors

<?php
try {
   $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
   foreach ($dbh->query('SELECT * from FOO') as $row) {
      print_r($row);
   }
   $dbh = null;
} catch (PDOException $e) {
   print "Error!: " . $e->getMessage() . "<br/>";
   die();
}
?>

주의

If your application does not catch the exception thrown from the PDO constructor, the default action taken by the zend engine is to terminate the script and display a back trace. This back trace will likely reveal the full database connection details, including the username and password. It is your responsibility to catch this exception, either explicitly (via a catch statement) or implicitly via set_exception_handler().

Upon successful connection to the database, an instance of the PDO class is returned to your script. The connection remains active for the lifetime of that PDO object. To close the connection, you need to destroy the object by ensuring that all remaining references to it are deleted--you do this by assigning NULL to the variable that holds the object. If you don't do this explicitly, PHP will automatically close the connection when your script ends.

예 1639. Closing a connection

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// use the connection here

// and now we're done; close it
$dbh = null;
?>

Many web applications will benefit from making persistent connections to database servers. Persistent connections are not closed at the end of the script, but are cached and re-used when another script requests a connection using the same credentials. The persistent connection cache allows you to avoid the overhead of establishing a new connection every time a script needs to talk to a database, resulting in a faster web application.

예 1640. Persistent connections

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
  PDO::ATTR_PERSISTENT => true
));
?>

참고: If you wish to use persistent connections, you must set PDO::ATTR_PERSISTENT in the array of driver options passed to the PDO constructor. If setting this attribute with PDO->setAttribute() after instantiation of the object, the driver will not use persistent connections.

참고: If you're using the PDO ODBC driver and your ODBC libraries support ODBC Connection Pooling (unixODBC and Windows are two that do; there may be more), then it's recommended that you don't use persistent PDO connections, and instead leave the connection caching to the ODBC Connection Pooling layer. The ODBC Connection Pool is shared with other modules in the process; if PDO is told to cache the connection, then that connection would never be returned to the ODBC connection pool, resulting in additional connections being created to service those other modules.

Transactions and auto-commit

Now that you're connected via PDO, you must understand how PDO manages transactions before you start issuing queries. If you've never encountered transactions before, they offer 4 major features: Atomicity, Consistency, Isolation and Durability (ACID). In layman's terms, any work carried out in a transaction, even if it is carried out in stages, is guaranteed to be applied to the database safely, and without interference from other connections, when it is committed. Transactional work can also be automatically undone at your request (provided you haven't already committed it), which makes error handling in your scripts easier.

Transactions are typically implemented by "saving-up" your batch of changes to be applied all at once; this has the nice side effect of drastically improving the efficiency of those updates. In other words, transactions can make your scripts faster and potentially more robust (you still need to use them correctly to reap that benefit).

Unfortunately, not every database supports transactions, so PDO needs to run in what is known as "auto-commit" mode when you first open the connection. Auto-commit mode means that every query that you run has its own implicit transaction, if the database supports it, or no transaction if the database doesn't support transactions. If you need a transaction, you must use the PDO->beginTransaction() method to initiate one. If the underlying driver does not support transactions, a PDOException will be thrown (regardless of your error handling settings: this is always a serious error condition). Once you are in a transaction, you may use PDO->commit() or PDO->rollBack() to finish it, depending on the success of the code you run during the transaction.

When the script ends or when a connection is about to be closed, if you have an outstanding transaction, PDO will automatically roll it back. This is a safety measure to help avoid inconsistency in the cases where the script terminates unexpectedly--if you didn't explicitly commit the transaction, then it is assumed that something went awry, so the rollback is performed for the safety of your data.

주의

The automatic rollback only happens if you initiate the transaction via PDO->beginTransaction(). If you manually issue a query that begins a transaction PDO has no way of knowing about it and thus cannot roll it back if something bad happens.

예 1641. Executing a batch in a transaction

In the following sample, let's assume that we are creating a set of entries for a new employee, who has been assigned an ID number of 23. In addition to entering the basic data for that person, we also need to record their salary. It's pretty simple to make two separate updates, but by enclosing them within the PDO->beginTransaction() and PDO->commit() calls, we are guaranteeing that no one else will be able to see those changes until they are complete. If something goes wrong, the catch block rolls back all changes made since the transaction was started, and then prints out an error message.

<?php
try {
  $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
      array(PDO::ATTR_PERSISTENT => true));
  echo "Connected\n";
  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $dbh->beginTransaction();
  $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
  $dbh->exec("insert into salarychange (id, amount, changedate)
      values (23, 50000, NOW())");
  $dbh->commit();

} catch (Exception $e) {
  $dbh->rollBack();
  echo "Failed: " . $e->getMessage();
}
?>

You're not limited to making updates in a transaction; you can also issue complex queries to extract data, and possibly use that information to build up more updates and queries; while the transaction is active, you are guaranteed that no one else can make changes while you are in the middle of your work. In truth, this isn't 100% correct, but it is a good-enough introduction, if you've never heard of transactions before.

Prepared statements and stored procedures

Many of the more mature databases support the concept of prepared statements. What are they? You can think of them as a kind of compiled template for the SQL that you want to run, that can be customized using variable parameters. Prepared statements offer two major benefits:

  • The query only needs to be parsed (or prepared) once, but can be executed multiple times with the same or different parameters. When the query is prepared, the database will analyze, compile and optimize it's plan for executing the query. For complex queries this process can take up enough time that it will noticeably slow down your application if you need to repeat the same query many times with different parameters. By using a prepared statement you avoid repeating the analyze/compile/optimize cycle. In short, prepared statements use fewer resources and thus run faster.
  • The parameters to prepared statements don't need to be quoted; the driver handles it for you. If your application exclusively uses prepared statements, you can be sure that no SQL injection will occur. (However, if you're still building up other parts of the query based on untrusted input, you're still at risk).

Prepared statements are so useful that they are the only feature that PDO will emulate for drivers that don't support them. This ensures that you will be able to use the same data access paradigm regardless of the capabilities of the database.

예 1642. Repeated inserts using prepared statements

This example performs an INSERT query by substituting a name and a value for the named placeholders.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>

예 1643. Repeated inserts using prepared statements

This example performs an INSERT query by substituting a name and a value for the positional ? placeholders.

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>

예 1644. Fetching data using prepared statements

This example fetches data based on a key value supplied by a form. The user input is automatically quoted, so there is no risk of a SQL injection attack.

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) {
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
}
?>

If the database driver supports it, you may also bind parameters for output as well as input. Output parameters are typically used to retrieve values from stored procedures. Output parameters are slightly more complex to use than input parameters, in that you must know how large a given parameter might be when you bind it. If the value turns out to be larger than the size you suggested, an error is raised.

예 1645. Calling a stored procedure with an output parameter

<?php
$stmt = $dbh->prepare("CALL sp_returns_string(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);

// call the stored procedure
$stmt->execute();

print "procedure returned $return_value\n";
?>

You may also specify parameters that hold values both input and output; the syntax is similar to output parameters. In this next example, the string 'hello' is passed into the stored procedure, and when it returns, hello is replaced with the return value of the procedure.

예 1646. Calling a stored procedure with an input/output parameter

<?php
$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(?)");
$value = 'hello';
$stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);

// call the stored procedure
$stmt->execute();

print "procedure returned $value\n";
?>

예 1647. Invalid use of placeholder

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE '%?%'");
$stmt->execute(array($_GET['name']));

// placeholder must be used in the place of the whole value
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->execute(array("%$_GET[name]%"));
?>

Errors and error handling

PDO offers you a choice of 3 different error handling strategies, to fit your style of application development.

  • PDO::ERRMODE_SILENT

    This is the default mode. PDO will simply set the error code for you to inspect using the PDO->errorCode() and PDO->errorInfo() methods on both the statement and database objects; if the error resulted from a call on a statement object, you would invoke the PDOStatement->errorCode() or PDOStatement->errorInfo() method on that object. If the error resulted from a call on the database object, you would invoke those methods on the database object instead.

  • PDO::ERRMODE_WARNING

    In addition to setting the error code, PDO will emit a traditional E_WARNING message. This setting is useful during debugging/testing, if you just want to see what problems occurred without interrupting the flow of the application.

  • PDO::ERRMODE_EXCEPTION

    In addition to setting the error code, PDO will throw a PDOException and set its properties to reflect the error code and error information. This setting is also useful during debugging, as it will effectively "blow up" the script at the point of the error, very quickly pointing a finger at potential problem areas in your code (remember: transactions are automatically rolled back if the exception causes the script to terminate).

    Exception mode is also useful because you can structure your error handling more clearly than with traditional PHP-style warnings, and with less code/nesting than by running in silent mode and explicitly checking the return value of each database call.

    See Exceptions for more information about Exceptions in PHP.

PDO standardizes on using SQL-92 SQLSTATE error code strings; individual PDO drivers are responsible for mapping their native codes to the appropriate SQLSTATE codes. The PDO->errorCode() method returns a single SQLSTATE code. If you need more specific information about an error, PDO also offers an PDO->errorInfo() method which returns an array containing the SQLSTATE code, the driver specific error code and driver specific error string.

Large Objects (LOBs)

At some point in your application, you might find that you need to store "large" data in your database. Large typically means "around 4kb or more", although some databases can happily handle up to 32kb before data becomes "large". Large objects can be either textual or binary in nature. PDO allows you to work with this large data type by using the PDO::PARAM_LOB type code in your PDOStatement->bindParam() or PDOStatement->bindColumn() calls. PDO::PARAM_LOB tells PDO to map the data as a stream, so that you can manipulate it using the PHP Streams API.

예 1648. Displaying an image from a database

This example binds the LOB into the variable named $lob and then sends it to the browser using fpassthru(). Since the LOB is represented as a stream, functions such as fgets(), fread() and stream_get_contents() can be used on it.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("select contenttype, imagedata from images where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: $type");
fpassthru($lob);
?>

예 1649. Inserting an image into a database

This example opens up a file and passes the file handle to PDO to insert it as a LOB. PDO will do its best to get the contents of the file up to the database in the most efficient manner possible.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // some function to allocate a new ID

// assume that we are running as part of a file upload form
// You can find more information in the PHP documentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>

예 1650. Inserting an image into a database: Oracle

Oracle requires a slightly different syntax for inserting a lob from a file. It's also essential that you perform the insert under a transaction, otherwise your newly inserted LOB will be committed with a zero-length as part of the implicit commit that happens when the query is executed:

<?php
$db = new PDO('oci:', 'scott', 'tiger');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) " .
  "VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");
$id = get_new_id(); // some function to allocate a new ID

// assume that we are running as part of a file upload form
// You can find more information in the PHP documentation

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$stmt->beginTransaction();
$stmt->execute();
$stmt->commit();
?>

예약 클래스

PDO

Represents a connection between PHP and a database server.

생성자

  • PDO - constructs a new PDO object

메쏘드

  • beginTransaction - begins a transaction

  • commit - commits a transaction

  • errorCode - retrieves an error code, if any, from the database

  • errorInfo - retrieves an array of error information, if any, from the database

  • exec - issues an SQL statement and returns the number of affected rows

  • getAttribute - retrieves a database connection attribute

  • lastInsertId - retrieves the value of the last row that was inserted into a table

  • prepare - prepares an SQL statement for execution

  • query - issues an SQL statement and returns a result set

  • quote - returns a quoted version of a string for use in SQL statements

  • rollBack - roll back a transaction

  • setAttribute - sets a database connection attribute

PDOStatement

Represents a prepared statement and, after the statement is executed, an associated result set.

메쏘드

  • bindColumn - binds a PHP variable to an output column in a result set

  • bindParam - binds a PHP variable to a parameter in the prepared statement

  • bindValue - binds a value to a parameter in the prepared statement

  • closeCursor - closes the cursor, allowing the statement to be executed again

  • columnCount - returns the number of columns in the result set

  • errorCode - retrieves an error code, if any, from the statement

  • errorInfo - retrieves an array of error information, if any, from the statement

  • execute - executes a prepared statement

  • fetch - fetches a row from a result set

  • fetchAll - fetches an array containing all of the rows from a result set

  • fetchColumn - returns the data from a single column in a result set

  • getAttribute - retrieves a PDOStatement attribute

  • getColumnMeta - retrieves metadata for a column in the result set

  • nextRowset - retrieves the next rowset (result set)

  • rowCount - returns the number of rows that were affected by the execution of an SQL statement

  • setAttribute - sets a PDOStatement attribute

  • setFetchMode - sets the fetch mode for a PDOStatement

PDOException

Represents an error raised by PDO. You should not throw a PDOException from your own code. See Exceptions for more information about Exceptions in PHP.

예 1651. The PDOException class

<?php
class PDOException extends Exception
{
    public $errorInfo = null;    // corresponds to PDO::errorInfo()
                                 // or PDOStatement::errorInfo()
    protected $message;          // textual error message
                                 // use Exception::getMessage() to access it
    protected $code;             // SQLSTATE error code
                                 // use Exception::getCode() to access it
}
?>

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

주의

PDO는 PHP 5.1부터 클래스 상수를 사용합니다. 이전 릴리즈는 PDO_PARAM_BOOL 형식의 전역 상수를 사용합니다.

PDO::PARAM_BOOL (integer)
불 자료형을 의미합니다.
PDO::PARAM_NULL (integer)
SQL NULL 자료형을 의미합니다.
PDO::PARAM_INT (integer)
SQL INTEGER 자료형을 의미합니다.
PDO::PARAM_STR (integer)
SQL CHAR, VARCHAR, 기타 문자열 자료형을 의미합니다.
PDO::PARAM_LOB (integer)
SQL large object 자료형을 의미합니다.
PDO::PARAM_STMT (integer)
recordset 형을 의미합니다. 현재 지원하는 드라이버는 없습니다.
PDO::PARAM_INPUT_OUTPUT (integer)
저장된 프로시져에서 매개 변수를 INOUT 매개 변수로 지정합니다. 이 값은 명시적인 PDO::PARAM_* 자료형과 비트 OR 연산을 해야 합니다.
PDO::FETCH_LAZY (integer)
결과셋에서 각 행이 컬럼 이름을 변수명으로 가지는 객체를 반환하는 페치 방식을 지정합니다. PDO::FETCH_LAZY는 접근한 것과 동일한 객체 변수명을 작성합니다.
PDO::FETCH_ASSOC (integer)
결과셋에서 각 행이 컬럼 이름을 키로 가지는 배열을 반환하는 페치 방식을 지정합니다. 결과셋에 동일한 이름을 가지는 컬럼이 여러 개 있을 경우, PDO::FETCH_ASSOC는 각 컬럼 이름에서 하나의 값만 반환합니다.
PDO::FETCH_NAMED (integer)
결과셋에서 각 행이 컬럼 이름을 키로 가지는 배열을 반환하는 페치 방식을 지정합니다. 결과셋에 동일한 이름을 가지는 컬럼이 여러 개 있을 경우, PDO::FETCH_NAMED는 각 컬럼 이름에 해당하는 값들을 배열로 반환합니다.
PDO::FETCH_NUM (integer)
결과셋에서 각 행이 컬럼 번호를 키로 가지는 배열을 반환하는 페치 방식을 지정합니다. 컬럼 번호는 0부터 시작합니다.
PDO::FETCH_BOTH (integer)
결과셋에서 각 행이 컬럼 번호, 컬럼 이름 모두를 키로 가지는 배열을 반환하는 페치 방식을 지정합니다. 컬럼 번호는 0부터 시작합니다.
PDO::FETCH_OBJ (integer)
결과셋에서 각 행이 컬럼 이름과 동일한 프로퍼티를 가지는 객체를 반환하는 페치 방식을 지정합니다.
PDO::FETCH_BOUND (integer)
결과셋에서 컬럼 값을 PDOStatement::bindParam()이나 PDOStatement::bindColumn() 메쏘드를 실행한 것 처럼 바인드하고, TRUE를 반환하는 페치 방식을 지정합니다.
PDO::FETCH_COLUMN (integer)
요청한 하나의 컬럼을 결과셋의 다음 행에서 반환하는 페치 방식을 지정합니다.
PDO::FETCH_CLASS (integer)
요청한 클래스에 컬럼 이름과 동일한 프로퍼티를 매핑한 새 인스턴스를 반환하는 페치 방식을 지정합니다.
PDO::FETCH_INTO (integer)
요청한 클래스의 존재하는 인스턴스에 컬럼에 해당하는 프로퍼티를 매핑하여 반환하는 페치 방식을 지정합니다.
PDO::FETCH_FUNC (integer)
PDO::FETCH_GROUP (integer)
PDO::FETCH_UNIQUE (integer)
PDO::FETCH_KEY_PAIR (integer)
첫번째 컬럼을 키로 가지고, 나머지 컬럼을 값으로 가지는 배열 형식으로 페치합니다.
PDO::FETCH_CLASSTYPE (integer)
PDO::FETCH_SERIALIZE (integer)
PHP 5.1.0부터 사용할 수 있습니다.
PDO::FETCH_PROPS_LATE (integer)
PHP 5.2.0부터 사용할 수 있습니다.
PDO::ATTR_AUTOCOMMIT (integer)
이 값을 FALSE로 하면, PDO는 자동 커밋을 비활성화해서 연결이 트랙잭션을 시작하도록 합니다.
PDO::ATTR_PREFETCH (integer)
프리페치 크기를 정하여 어플리케이션의 메모리 사용량과 속도 사이에 밸런스를 맞출 수 있도록 합니다. 모든 데이터베이스/드라이버 조합이 프리페치 크기 설정을 지원하지는 않습니다. 큰 프리페치 크기는 퍼포먼스를 향상시키지만 메모리를 많이 사용합니다.
PDO::ATTR_TIMEOUT (integer)
데이터베이스와 통신에서 시간 초과 값을 초 단위로 설정합니다.
PDO::ATTR_ERRMODE (integer)
이 속성에 대한 정보는 오류와 오류 다루기를 참고하십시오.
PDO::ATTR_SERVER_VERSION (integer)
읽기 전용 속성입니다; PDO가 접속하고 있는 데이터베이스 서버 버전을 반환합니다.
PDO::ATTR_CLIENT_VERSION (integer)
읽기 전용 속성입니다; PDO 드라이버가 사용하고 있는 클라이언트 라이브러리 버전을 반환합니다.
PDO::ATTR_SERVER_INFO (integer)
읽기 전용 속성입니다; PDO가 접속하고 있는 데이터베이스 서버에 대한 정보를 반환합니다.
PDO::ATTR_CONNECTION_STATUS (integer)
PDO::ATTR_CASE (integer)
컬럼 이름의 대소문자를 지정한 PDO::CASE_* 상수에 따라 강제합니다.
PDO::ATTR_CURSOR_NAME (integer)
커서로 사용할 이름을 지정하거나 가져옵니다. 스크롤 가능한 커서로 위치 지정 갱신을 할 때 유용합니다.
PDO::ATTR_CURSOR (integer)
커서 형식을 지정합니다. PDO는 현재
PDO::CURSOR_FWDONLY와
PDO::CURSOR_SCROLL을 지원합니다. 스크롤 가능한
커서가 필요하지 않은 이상 PDO::CURSOR_FWDONLY를
사용하십시오.
PDO::ATTR_DRIVER_NAME (string)

드라이버 이름을 반환합니다.

예 1652. using PDO::ATTR_DRIVER_NAME

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  echo "mysql 실행중입니다; mysql 한정 명령은 여기서 실행합니다.\n";
}
?>

PDO::ATTR_ORACLE_NULLS (integer)
자료 페치시에 빈 문자열을 SQL NULL 값으로 변경합니다.
PDO::ATTR_PERSISTENT (integer)
새로운 접속을 만드는 대신, 영구 접속을 요청합니다. 이 속성에 대한 정보는 접속과 접속 관리를 참고하십시오.
PDO::ATTR_STATEMENT_CLASS (integer)
PDO::ATTR_FETCH_CATALOG_NAMES (integer)
결과셋에서 반환하는 각 컬럼 이름 앞에 카탈로그 이름을 붙입니다. 카탈로그 이름과 컬럼 이름 사이는 점으로 구분됩니다. 이 속성은 드라이버에서 지원합니다; 사용하는 드라이버가 지원하지 않을 수도 있습니다.
PDO::ATTR_FETCH_TABLE_NAMES (integer)
결과셋에서 반환하는 각 컬럼 이름 앞에 테이블 이름을 붙입니다. 테이블 이름과 컬럼 이름 사이는 점(.)으로 구분됩니다. 이 속성은 드라이버에서 지원합니다; 사용하는 드라이버가 지원하지 않을 수도 있습니다.
PDO::ATTR_STRINGIFY_FETCHES (integer)
PDO::ATTR_MAX_COLUMN_LEN (integer)
PDO::ATTR_DEFAULT_FETCH_MODE (integer)
PHP 5.2.0부터 사용할 수 있습니다.
PDO::ATTR_EMULATE_PREPARES (integer)
PHP 5.1.3부터 사용할 수 있습니다.
PDO::ERRMODE_SILENT (integer)
오류가 발생했을 때 아무런 오류나 예외를 발생시키지 않습니다. 개발자는 명시적으로 오류를 확인해야 합니다. 이것이 기본값입니다. 이 속성에 대한 자세한 정보는 오류와 오류 다루기를 참고하십시오.
PDO::ERRMODE_WARNING (integer)
오류가 발생했을 때 PHP E_WARNING 메세지를 발생시킵니다. 이 속성에 대한 자세한 정보는 오류와 오류 다루기를 참고하십시오.
PDO::ERRMODE_EXCEPTION (integer)
오류가 발생했을 때 PDOException을 발생시킵니다. 이 속성에 대한 자세한 정보는 오류와 오류 다루기를 참고하십시오.
PDO::CASE_NATURAL (integer)
데이터베이스 드라이버가 반환한 컬럼 이름을 그대로 사용합니다.
PDO::CASE_LOWER (integer)
컬럼 이름을 소문자로 바꿉니다.
PDO::CASE_UPPER (integer)
컬럼 이름을 대문자로 바꿉니다.
PDO::NULL_NATURAL (integer)
PDO::NULL_EMPTY_STRING (integer)
PDO::NULL_TO_STRING (integer)
PDO::FETCH_ORI_NEXT (integer)
결과셋에서 다음 행을 가져옵니다. 스크롤 가능한 커서에서만 사용할 수 있습니다.
PDO::FETCH_ORI_PRIOR (integer)
결과셋에서 이전 행을 가져옵니다. 스크롤 가능한 커서에서만 사용할 수 있습니다.
PDO::FETCH_ORI_FIRST (integer)
결과셋에서 처음 행을 가져옵니다. 스크롤 가능한 커서에서만 사용할 수 있습니다.
PDO::FETCH_ORI_LAST (integer)
결과셋에서 마지막 행을 가져옵니다. 스크롤 가능한 커서에서만 사용할 수 있습니다.
PDO::FETCH_ORI_ABS (integer)
결과셋에서 행 번호로 요청한 행을 가져옵니다. 스크롤 가능한 커서에서만 사용할 수 있습니다.
PDO::FETCH_ORI_REL (integer)
결과셋에서 현재 커서 위치에 대한 상대적 위치로 요청한 요청한 행을 가져옵니다. 스크롤 가능한 커서에서만 사용할 수 있습니다.
PDO::CURSOR_FWDONLY (integer)
PDOStatement 객체를 진행 전용 커서로 생성합니다. 기본값으로써, PHP에서 가장 빠르고 일반적인 데이터 접근 방식입니다.
PDO::CURSOR_SCROLL (integer)
PDOStatement 객체를 스크롤 가능한 커서로 생성합니다. 결과셋에서 가져올 행을 PDO::FETCH_ORI_* 상수를 사용하여 제어할 수 있습니다.
PDO::ERR_NONE (string)
SQLSTATE '00000'에 해당합니다. SQL 구문이 아무런 오류나 경고 없이 성공적으로 처리되었음을 의미합니다. PDO::errorCode()나 PDOStatement::errorCode()로 오류 발생 여부를 확인할 때 유용합니다. 물론, 오류 발생 여부는 메쏘드 반환값으로 확인하는 것이 일반적입니다.
PDO::PARAM_EVT_ALLOC (integer)
이벤트를 할당합니다.
PDO::PARAM_EVT_FREE (integer)
이벤트를 제거합니다.
PDO::PARAM_EVT_EXEC_PRE (integer)
준비된 구문을 실행하기 전에 이벤트를 발생시킵니다.
PDO::PARAM_EVT_EXEC_POST (integer)
준비된 구문을 실행한 후에 이벤트를 발생시킵니다.
PDO::PARAM_EVT_FETCH_PRE (integer)
결과셋에서 페치하기 전에 이벤트를 발생시킵니다.
PDO::PARAM_EVT_FETCH_POST (integer)
결과셋에서 페치한 후에 이벤트를 발생시킵니다.
PDO::PARAM_EVT_NORMALIZE (integer)
드라이버가 매개변수 이름을 표준화할 수 있도록, 매개변수를 바인드 하는 동안에 이벤트를 발생시킵니다.

차례

PDO->beginTransaction() -- Initiates a transaction
PDO->commit() -- Commits a transaction
PDO->__construct() -- Creates a PDO instance representing a connection to a database
PDO->errorCode() -- Fetch the SQLSTATE associated with the last operation on the database handle
PDO->errorInfo() -- Fetch extended error information associated with the last operation on the database handle
PDO->exec() -- Execute an SQL statement and return the number of affected rows
PDO->getAttribute() -- Retrieve a database connection attribute
PDO->getAvailableDrivers() -- Return an array of available PDO drivers
PDO->lastInsertId() -- Returns the ID of the last inserted row or sequence value
PDO->prepare() -- Prepares a statement for execution and returns a statement object
PDO->query() -- Executes an SQL statement, returning a result set as a PDOStatement object
PDO->quote() -- Quotes a string for use in a query.
PDO->rollBack() -- Rolls back a transaction
PDO->setAttribute() -- Set an attribute
PDOStatement->bindColumn() -- Bind a column to a PHP variable
PDOStatement->bindParam() -- Binds a parameter to the specified variable name
PDOStatement->bindValue() -- Binds a value to a parameter
PDOStatement->closeCursor() -- Closes the cursor, enabling the statement to be executed again.
PDOStatement->columnCount() -- Returns the number of columns in the result set
PDOStatement->errorCode() -- Fetch the SQLSTATE associated with the last operation on the statement handle
PDOStatement->errorInfo() -- Fetch extended error information associated with the last operation on the statement handle
PDOStatement->execute() -- Executes a prepared statement
PDOStatement->fetch() -- Fetches the next row from a result set
PDOStatement->fetchAll() -- Returns an array containing all of the result set rows
PDOStatement->fetchColumn() -- Returns a single column from the next row of a result set
PDOStatement->fetchObject() -- Fetches the next row and returns it as an object.
PDOStatement->getAttribute() -- Retrieve a statement attribute
PDOStatement->getColumnMeta() -- Returns metadata for a column in a result set
PDOStatement->nextRowset() -- Advances to the next rowset in a multi-rowset statement handle
PDOStatement->rowCount() -- Returns the number of rows affected by the last SQL statement
PDOStatement->setAttribute() -- Set a statement attribute
PDOStatement->setFetchMode() -- Set the default fetch mode for this statement
이전 | 위로 | 다음
PDF_utf8_to_utf16 | 처음으로 | PDO->beginTransaction()


PDO->beginTransaction()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->beginTransaction() -- Initiates a transaction

설명

class PDO {
bool beginTransaction ( void )
}

Turns off autocommit mode. While autocommit mode is turned off, changes made to the database via the PDO object instance are not committed until you end the transaction by calling PDO->commit(). Calling PDO->rollBack() will roll back all changes to the database and return the connection to autocommit mode.

Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1653. Roll back a transaction

The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

참고

PDO->commit()
PDO->rollBack()

이전 | 위로 | 다음
CXXII. PDO Functions | 처음으로 | PDO->commit()


PDO->commit()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->commit() -- Commits a transaction

설명

class PDO {
bool commit ( void )
}

Commits a transaction, returning the database connection to autocommit mode until the next call to PDO->beginTransaction() starts a new transaction.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1654. Commit a transaction

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema */
$sth = $dbh->exec("DROP TABLE fruit");

/* Commit the changes */
$dbh->commit();

/* Database connection is now back in autocommit mode */
?>

참고

PDO->beginTransaction()
PDO->rollBack()

이전 | 위로 | 다음
PDO->beginTransaction() | 처음으로 | PDO->__construct()


PDO->__construct()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->__construct() -- Creates a PDO instance representing a connection to a database

설명

class PDO {
PDO __construct ( string $dsn [, string $username [, string $password [, array $driver_options]]] )
}

Creates a PDO instance to represent a connection to the requested database.

매개변수

dsn

The Data Source Name, or DSN, contains the information required to connect to the database.

In general, a DSN consists of the PDO driver name, followed by a colon, followed by the PDO driver-specific connection syntax. Further information is available from the PDO driver-specific documentation.

The dsn parameter supports three different methods of specifying the arguments required to create a database connection:

Driver invocation

dsn contains the full DSN.

URI invocation

dsn consists of uri: followed by a URI that defines the location of a file containing the DSN string. The URI can specify a local file or a remote URL.

uri:file:///path/to/dsnfile

Aliasing

dsn consists of a name name that maps to pdo.dsn.name in php.ini defining the DSN string.

참고: The alias must be defined in php.ini, and not .htaccess or httpd.conf

username

The user name for the DSN string. This parameter is optional for some PDO drivers.

password

The password for the DSN string. This parameter is optional for some PDO drivers.

driver_options

A key=>value array of driver-specific connection options.

반환값

Returns a PDO object on success.

오류/예외

PDO->__construct() throws a PDOException if the attempt to connect to the requested database fails.

예제

예 1655. Create a PDO instance via driver invocation

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

예 1656. Create a PDO instance via URI invocation

The following example assumes that the file /usr/local/dbconnect exists with file permissions that enable PHP to read the file. The file contains the PDO DSN to connect to a DB2 database through the PDO_ODBC driver:

odbc:DSN=SAMPLE;UID=john;PWD=mypass

The PHP script can then create a database connection by simply passing the uri: parameter and pointing to the file URI:

<?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

예 1657. Create a PDO instance using an alias

The following example assumes that php.ini contains the following entry to enable a connection to a MySQL database using only the alias mydb:

[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"

<?php
/* Connect to an ODBC database using an alias */
$dsn = 'mydb';
$user = '';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

이전 | 위로 | 다음
PDO->commit() | 처음으로 | PDO->errorCode()


PDO->errorCode()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->errorCode() -- Fetch the SQLSTATE associated with the last operation on the database handle

설명

class PDO {
string errorCode ( void )
}

반환값

Returns a SQLSTATE, a five-character alphanumeric identifier defined in the ANSI SQL-92 standard. Briefly, an SQLSTATE consists of a two-character class value followed by a three-character subclass value. A class value of 01 indicates a warning and is accompanied by a return code of SQL_SUCCESS_WITH_INFO. Class values other than '01', except for the class 'IM', indicate an error. The class 'IM' is specific to warnings and errors that derive from the implementation of PDO (or perhaps ODBC, if you're using the ODBC driver) itself. The subclass value '000' in any class indicates that there is no subclass for that SQLSTATE.

PDO->errorCode() only retrieves error codes for operations performed directly on the database handle. If you create a PDOStatement object through PDO->prepare() or PDO->query() and invoke an error on the statement handle, PDO->errorCode() will not reflect that error. You must call PDOStatement->errorCode() to return the error code for an operation performed on a particular statement handle.

예제

예 1658. Retrieving a SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo "\nPDO::errorCode(): ";
print $dbh->errorCode();
?>

위 예제의 출력:

PDO::errorCode(): 42S02

참고

PDO->errorInfo()
PDOStatement->errorCode()
PDOStatement->errorInfo()

이전 | 위로 | 다음
PDO->__construct() | 처음으로 | PDO->errorInfo()


PDO->errorInfo()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->errorInfo() -- Fetch extended error information associated with the last operation on the database handle

설명

class PDO {
array errorInfo ( void )
}

반환값

PDO->errorInfo() returns an array of error information about the last operation performed by this database handle. The array consists of the following fields:

Element | Information
0 | SQLSTATE error code (a five-character alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver-specific error code.
2 | Driver-specific error message.

PDO->errorInfo() only retrieves error information for operations performed directly on the database handle. If you create a PDOStatement object through PDO->prepare() or PDO->query() and invoke an error on the statement handle, PDO->errorInfo() will not reflect the error from the statement handle. You must call PDOStatement->errorInfo() to return the error information for an operation performed on a particular statement handle.

예제

예 1659. Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- bogus SQL syntax */
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
}
?>

위 예제의 출력:

PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bogus": syntax error
)

참고

PDO->errorCode()
PDOStatement->errorCode()
PDOStatement->errorInfo()

이전 | 위로 | 다음
PDO->errorCode() | 처음으로 | PDO->exec()


PDO->exec()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->exec() -- Execute an SQL statement and return the number of affected rows

설명

class PDO {
int exec ( string $statement )
}

PDO->exec() executes an SQL statement in a single function call, returning the number of rows affected by the statement.

PDO->exec() does not return results from a SELECT statement. For a SELECT statement that you only need to issue once during your program, consider issuing PDO->query(). For a statement that you need to issue multiple times, prepare a PDOStatement object with PDO->prepare() and issue the statement with PDOStatement->execute().

매개변수

statement

The SQL statement to prepare and execute.

반환값

PDO->exec() returns the number of rows that were modified or deleted by the SQL statement you issued. If no rows were affected, PDO->exec() returns 0.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

The following example incorrectly relies on the return value of PDO->exec(), wherein a statement that affected 0 rows results in a call to die(): <?php
$db->exec() or die($db->errorInfo());
?>

예제

예 1660. Issuing a DELETE statement

Count the number of rows deleted by a DELETE statement with no WHERE clause.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Delete all rows from the FRUIT table */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");

/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>

위 예제의 출력:

Deleted 1 rows.

참고

PDO->prepare()
PDO->query()
PDOStatement->execute()

이전 | 위로 | 다음
PDO->errorInfo() | 처음으로 | PDO->getAttribute()


PDO->lastInsertId()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->lastInsertId() -- Returns the ID of the last inserted row or sequence value

설명

class PDO {
string lastInsertId ( [string $name] )
}

Returns the ID of the last inserted row, or the last value from a sequence object, depending on the underlying driver. For example, PDO_PGSQL() requires you to specify the name of a sequence object for the name parameter.

참고: This method may not return a meaningful or consistent result across different PDO drivers, because the underlying database may not even support the notion of auto-increment fields or sequences.

매개변수

name

Name of the sequence object from which the ID should be returned.

반환값

If a sequence name was not specified for the name parameter, PDO->lastInsertId() returns a string representing the row ID of the last row that was inserted into the database.

If a sequence name was specified for the name parameter, PDO->lastInsertId() returns a string representing the last value retrieved from the specified sequence object.

If the PDO driver does not support this capability, PDO->lastInsertId() triggers an IM001 SQLSTATE.

이전 | 위로 | 다음
PDO->getAvailableDrivers() | 처음으로 | PDO->prepare()


PDO->prepare()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->prepare() -- Prepares a statement for execution and returns a statement object

설명

class PDO {
PDOStatement prepare ( string $statement [, array $driver_options] )
}

Prepares an SQL statement to be executed by the PDOStatement->execute() method. The SQL statement can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. You cannot use both named and question mark parameter markers within the same SQL statement; pick one or the other parameter style.

You must include a unique parameter marker for each value you wish to pass in to the statement when you call PDOStatement->execute(). You cannot use a named parameter marker of the same name twice in a prepared statement. You cannot bind multiple values to a single named parameter in, for example, the IN() clause of an SQL statement.

Calling PDO->prepare() and PDOStatement->execute() for statements that will be issued multiple times with different parameter values optimizes the performance of your application by allowing the driver to negotiate client and/or server side caching of the query plan and meta information, and helps to prevent SQL injection attacks by eliminating the need to manually quote the parameters.

PDO will emulate prepared statements/bound parameters for drivers that do not natively support them, and can also rewrite named or question mark style parameter markers to something more appropriate, if the driver supports one style but not the other.

매개변수

statement

This must be a valid SQL statement for the target database server.

driver_options

This array holds one or more key=>value pairs to set attribute values for the PDOStatement object that this method returns. You would most commonly use this to set the PDO::ATTR_CURSOR value to PDO::CURSOR_SCROLL to request a scrollable cursor. Some drivers have driver specific options that may be set at prepare-time.

반환값

If the database server successfully prepares the statement, PDO->prepare() returns a PDOStatement object. If the database server cannot successfully prepare the statement, PDO->prepare() returns FALSE.

예제

예 1663. Prepare an SQL statement with named parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array('calories' => 175, 'colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>

예 1664. Prepare an SQL statement with question mark parameters

<?php
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

참고

PDO->exec()
PDO->query()
PDOStatement->execute()

이전 | 위로 | 다음
PDO->lastInsertId() | 처음으로 | PDO->query()


PDO->rollBack()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->rollBack() -- Rolls back a transaction

설명

class PDO {
bool rollBack ( void )
}

Rolls back the current transaction, as initiated by PDO->beginTransaction(). It is an error to call this method if no transaction is active.

If the database was set to autocommit mode, this function will restore autocommit mode after it has rolled back the transaction.

Some databases, including MySQL, automatically issue an implicit COMMIT when a database definition language (DDL) statement such as DROP TABLE or CREATE TABLE is issued within a transaction. The implicit COMMIT will prevent you from rolling back any other changes within the transaction boundary.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1669. Roll back a transaction

The following example begins a transaction and issues two statements that modify the database before rolling back the changes. On MySQL, however, the DROP TABLE statement automatically commits the transaction so that none of the changes in the transaction are rolled back.

<?php
/* Begin a transaction, turning off autocommit */
$dbh->beginTransaction();

/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/* Recognize mistake and roll back changes */
$dbh->rollBack();

/* Database connection is now back in autocommit mode */
?>

참고

PDO->beginTransaction()
PDO->commit()

이전 | 위로 | 다음
PDO->quote() | 처음으로 | PDO->setAttribute()


PDO->setAttribute()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->setAttribute() -- Set an attribute

설명

class PDO {
bool setAttribute ( int $attribute, mixed $value )
}

Sets an attribute on the database handle. Some of the available generic attributes are listed below; some drivers may make use of additional driver specific attributes.

  • PDO::ATTR_CASE: Force column names to a specific case.

    • PDO::CASE_LOWER: Force column names to lower case.

    • PDO::CASE_NATURAL: Leave column names as returned by the database driver.

    • PDO::CASE_UPPER: Force column names to upper case.

  • PDO::ATTR_ERRMODE: Error reporting.

    • PDO::ERRMODE_SILENT: Just set error codes.

    • PDO::ERRMODE_WARNING: Raise E_WARNING.

    • PDO::ERRMODE_EXCEPTION: Throw exceptions.

  • PDO::ATTR_ORACLE_NULLS (available with all drivers, not just Oracle): Conversion of NULL and empty strings.

    • PDO::NULL_NATURAL: No conversion.

    • PDO::NULL_EMPTY_STRING: Empty string is converted to NULL.

    • PDO::NULL_TO_STRING: NULL is converted to an empty string.

  • PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when fetching. Requires bool.

  • PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requires array(string classname, array(mixed constructor_args)).

  • PDO::ATTR_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement.

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDO->rollBack() | 처음으로 | PDOStatement->bindColumn()


PDOStatement->bindColumn()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDOStatement->bindColumn() -- Bind a column to a PHP variable

설명

class PDOStatement {
bool bindColumn ( mixed $column, mixed &$param [, int $type] )
}

PDOStatement->bindColumn() arranges to have a particular variable bound to a given column in the result-set from a query. Each call to PDOStatement->fetch() or PDOStatement->fetchAll() will update all the variables that are bound to columns.

참고: Since information about the columns is not always available to PDO until the statement is executed, portable applications should call this function after PDOStatement->execute().

매개변수

column

Number of the column (1-indexed) or name of the column in the result set. If using the column name, be aware that the name should match the case of the column, as returned by the driver.

param

Name of the PHP variable to which the column will be bound.

type

Data type of the parameter, specified by the PDO::PARAM_* constants.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1670. Binding result set output to PHP variables

Binding columns in the result set to PHP variables is an effective way to make the data contained in each row immediately available to your application. The following example demonstrates how PDO allows you to bind and retrieve columns with a variety of options and with intelligent defaults.

<?php
function readData($dbh) {
  $sql = 'SELECT name, colour, calories FROM fruit';
  try {
    $stmt = $dbh->prepare($sql);
    $stmt->execute();

    /* Bind by column number */
    $stmt->bindColumn(1, $name);
    $stmt->bindColumn(2, $colour);

    /* Bind by column name */
    $stmt->bindColumn('calories', $cals);

    while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
      $data = $name . "\t" . $colour . "\t" . $cals . "\n";
      print $data;
    }
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
readData($dbh);
?>

위 예제의 출력:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

참고

PDOStatement->execute()
PDOStatement->fetch()
PDOStatement->fetchAll()
PDOStatement->fetchColumn()

이전 | 위로 | 다음
PDO->setAttribute() | 처음으로 | PDOStatement->bindParam()


PDOStatement->bindParam()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDOStatement->bindParam() -- Binds a parameter to the specified variable name

설명

class PDOStatement {
bool bindParam ( mixed $parameter, mixed &$variable [, int $data_type [, int $length [, mixed $driver_options]]] )
}

Binds a PHP variable to a corresponding named or question mark placeholder in the SQL statement that was use to prepare the statement. Unlike PDOStatement->bindValue(), the variable is bound as a reference and will only be evaluated at the time that PDOStatement->execute() is called.

Most parameters are input parameters, that is, parameters that are used in a read-only fashion to build up the query. Some drivers support the invocation of stored procedures that return data as output parameters, and some also as input/output parameters that both send in data and are updated to receive it.

매개변수

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

variable

Name of the PHP variable to bind to the SQL statement parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants. Defaults to PHP native type. To return an INOUT parameter from a stored procedure, use the bitwise OR operator to set the PDO::PARAM_INPUT_OUTPUT bits for the data_type parameter.

length

Length of the data type. To indicate that a parameter is an OUT parameter from a stored procedure, you must explicitly set the length.

driver_options

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1671. Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

예 1672. Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

예 1673. Call a stored procedure with an INOUT parameter

<?php
/* Call a stored procedure with an INOUT parameter */
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("After pureeing fruit, the colour is: $colour");
?>

참고

PDO->prepare()
PDOStatement->execute()
PDOStatement->bindValue()

이전 | 위로 | 다음
PDOStatement->bindColumn() | 처음으로 | PDOStatement->bindValue()


PDOStatement->errorCode()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDOStatement->errorCode() -- Fetch the SQLSTATE associated with the last operation on the statement handle

설명

class PDOStatement {
string errorCode ( void )
}

반환값

Identical to PDO->errorCode(), except that PDOStatement->errorCode() only retrieves error codes for operations performed with PDOStatement objects.

예제

예 1678. Retrieving a SQLSTATE code

<?php
/* Provoke an error -- the BONES table does not exist */
$err = $dbh->prepare('SELECT skull FROM bones');
$err->execute();

echo "\nPDOStatement::errorCode(): ";
print $err->errorCode();
?>

위 예제의 출력:

PDOStatement::errorCode(): 42S02

참고

PDO->errorCode()
PDO->errorInfo()
PDOStatement->errorInfo()

이전 | 위로 | 다음
PDOStatement->columnCount() | 처음으로 | PDOStatement->errorInfo()


PDOStatement->errorInfo()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDOStatement->errorInfo() -- Fetch extended error information associated with the last operation on the statement handle

설명

class PDOStatement {
array errorInfo ( void )
}

반환값

PDOStatement->errorInfo() returns an array of error information about the last operation performed by this statement handle. The array consists of the following fields:

Element | Information
0 | SQLSTATE error code (a five-character alphanumeric identifier defined in the ANSI SQL standard).
1 | Driver-specific error code.
2 | Driver-specific error message.

예제

예 1679. Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database

<?php
/* Provoke an error -- the BONES table does not exist */
$sth = $dbh->prepare('SELECT skull FROM bones');
$sth->execute();

echo "\nPDOStatement::errorInfo():\n";
$arr = $sth->errorInfo();
print_r($arr);
?>

위 예제의 출력:

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

참고

PDO->errorCode()
PDO->errorInfo()
PDOStatement->errorCode()

이전 | 위로 | 다음
PDOStatement->errorCode() | 처음으로 | PDOStatement->execute()


PDOStatement->execute()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDOStatement->execute() -- Executes a prepared statement

설명

class PDOStatement {
bool execute ( [array $input_parameters] )
}

Execute the prepared statement. If the prepared statement included parameter markers, you must either:

  • call PDOStatement->bindParam() to bind PHP variables to the parameter markers: bound variables pass their value as input and receive the output value, if any, of their associated parameter markers

  • or pass an array of input-only parameter values

매개변수

input_parameters

An array of values with as many elements as there are bound parameters in the SQL statement being executed.

You cannot bind multiple values to a single parameter; for example, you cannot bind two values to a single named parameter in an IN() clause.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1680. Execute a prepared statement with bound variables

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

예 1681. Execute a prepared statement with an array of insert values (named parameters)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->execute(array(':calories' => $calories, ':colour' => $colour));
?>

예 1682. Execute a prepared statement with an array of insert values (placeholders)

<?php
/* Execute a prepared statement by passing an array of insert values */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>

예 1683. Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

참고

PDO->prepare()
PDOStatement->bindParam()
PDOStatement->fetch()
PDOStatement->fetchAll()
PDOStatement->fetchColumn()

이전 | 위로 | 다음
PDOStatement->errorInfo() | 처음으로 | PDOStatement->fetch()


PDOStatement->fetch()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDOStatement->fetch() -- Fetches the next row from a result set

설명

class PDOStatement {
mixed fetch ( [int $fetch_style [, int $cursor_orientation [, int $cursor_offset]]] )
}

Fetches a row from a result set associated with a PDOStatement object. The fetch_style parameter determines how PDO returns the row.

매개변수

fetch_style

Controls how the next row will be returned to the caller. This value must be one of the PDO::FETCH_* constants, defaulting to PDO::FETCH_BOTH.

  • PDO::FETCH_ASSOC: returns an array indexed by column name as returned in your result set

  • PDO::FETCH_BOTH (default): returns an array indexed by both column name and 0-indexed column number as returned in your result set

  • PDO::FETCH_BOUND: returns TRUE and assigns the values of the columns in your result set to the PHP variables to which they were bound with the PDOStatement->bindColumn() method

  • PDO::FETCH_CLASS: returns a new instance of the requested class, mapping the columns of the result set to named properties in the class. If fetch_style includes PDO::FETCH_CLASSTYPE (e.g. PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) then the name of the class is determined from a value of the first column.

  • PDO::FETCH_INTO: updates an existing instance of the requested class, mapping the columns of the result set to named properties in the class

  • PDO::FETCH_LAZY: combines PDO::FETCH_BOTH and PDO::FETCH_OBJ, creating the object variable names as they are accessed

  • PDO::FETCH_NUM: returns an array indexed by column number as returned in your result set, starting at column 0

  • PDO::FETCH_OBJ: returns an anonymous object with property names that correspond to the column names returned in your result set

cursor_orientation

For a PDOStatement object representing a scrollable cursor, this value determines which row will be returned to the caller. This value must be one of the PDO::FETCH_ORI_* constants, defaulting to PDO::FETCH_ORI_NEXT. To request a scrollable cursor for your PDOStatement object, you must set the PDO::ATTR_CURSOR attribute to PDO::CURSOR_SCROLL when you prepare the SQL statement with PDO->prepare().

offset

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_ABS, this value specifies the absolute number of the row in the result set that shall be fetched.

For a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO::FETCH_ORI_REL, this value specifies the row to fetch relative to the cursor position before PDOStatement->fetch() was called.

반환값

The return value of this function on success depends on the fetch type. In all cases, FALSE is returned on failure.

예제

예 1684. Fetching rows using different fetch styles

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Exercise PDOStatement::fetch styles */
print("PDO::FETCH_ASSOC: ");
print("Return next row as an array indexed by column name\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");

print("PDO::FETCH_BOTH: ");
print("Return next row as an array indexed by both column name and number\n");
$result = $sth->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");

print("PDO::FETCH_LAZY: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");

print("PDO::FETCH_OBJ: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_OBJ);
print $result->NAME;
print("\n");
?>

위 예제의 출력:

PDO::FETCH_ASSOC: Return next row as an array indexed by column name
Array
(
    [NAME] => apple
    [COLOUR] => red
)

PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number
Array
(
    [NAME] => banana
    [0] => banana
    [COLOUR] => yellow
    [1] => yellow
)

PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties
PDORow Object
(
    [NAME] => orange
    [COLOUR] => orange
)

PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties
kiwi

예 1685. Fetching rows with a scrollable cursor

<?php
function readDataForwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    }
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
function readDataBackwards($dbh) {
  $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet';
  try {
    $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $stmt->execute();
    $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
    do {
      $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
      print $data;
    } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR));
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}

print "Reading forwards:\n";
readDataForwards($conn);

print "Reading backwards:\n";
readDataBackwards($conn);
?>

위 예제의 출력:

Reading forwards:
21    10    5
16    0     5
19    20    10

Reading backwards:
19    20    10
16    0     5
21    10    5

참고

PDO->prepare()
PDOStatement->execute()
PDOStatement->fetchAll()
PDOStatement->fetchColumn()
PDOStatement->fetchObject()
PDOStatement->setFetchMode()

이전 | 위로 | 다음
PDOStatement->execute() | 처음으로 | PDOStatement->fetchAll()


PDOStatement->fetchAll()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDOStatement->fetchAll() -- Returns an array containing all of the result set rows

설명

class PDOStatement {
array fetchAll ( [int $fetch_style [, int $column_index [, array $ctor_args]]] )
}

매개변수

fetch_style

Controls the contents of the returned array as documented in PDOStatement->fetch(). Defaults to PDO::FETCH_BOTH.

To return an array consisting of all values of a single column from the result set, specify PDO::FETCH_COLUMN. You can specify which column you want with the column-index parameter.

To fetch only the unique values of a single column from the result set, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_UNIQUE.

To return an associative array grouped by the values of a specified column, bitwise-OR PDO::FETCH_COLUMN with PDO::FETCH_GROUP.

column_index

Returns the indicated 0-indexed column when the value of fetch_style is PDO::FETCH_COLUMN. Defaults to 0.

ctor_args

Arguments of custom class constructor.

반환값

PDOStatement->fetchAll() returns an array containing all of the remaining rows in the result set. The array represents each row as either an array of column values or an object with properties corresponding to each column name.

Using this method to fetch large result sets will result in a heavy demand on system and possibly network resources. Rather than retrieving all of the data and manipulating it in PHP, consider using the database server to manipulate the result sets. For example, use the WHERE and SORT BY clauses in SQL to restrict results before retrieving and processing them with PHP.

예제

예 1686. Fetch all remaining rows in a result set

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>

위 예제의 출력:

Fetch all of the remaining rows in the result set:
Array
(
    [0] => Array
        (
            [NAME] => pear
            [0] => pear
            [COLOUR] => green
            [1] => green
        )

    [1] => Array
        (
            [NAME] => watermelon
            [0] => watermelon
            [COLOUR] => pink
            [1] => pink
        )

)

예 1687. Fetching all values of a single column from a result set

The following example demonstrates how to return all of the values of a single column from a result set, even though the SQL statement itself may return multiple columns per row.

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the values of the first column */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

위 예제의 출력:

Array(3)
(
    [0] =>
    string(5) => apple
    [1] =>
    string(4) => pear
    [2] =>
    string(10) => watermelon
)

예 1688. Grouping all values by a single column

The following example demonstrates how to return an associative array grouped by the values of the specified column in the result set. The array contains three keys: values apple and pear are returned as arrays that contain two different colours, while watermelon is returned as an array that contains only one colour.

<?php
$insert = $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute('apple', 'green');
$insert->execute('pear', 'yellow');

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Group values by the first column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

위 예제의 출력:

array(3) {
  ["apple"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(3) "red"
  }
  ["pear"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(6) "yellow"
  }
  ["watermelon"]=>
  array(1) {
    [0]=>
    string(5) "green"
  }
}

참고

PDO->query()
PDOStatement->fetch()
PDOStatement->fetchColumn()
PDO->prepare()
PDOStatement->setFetchMode()

이전 | 위로 | 다음
PDOStatement->fetch() | 처음으로 | PDOStatement->fetchColumn()


PDOStatement->rowCount()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDOStatement->rowCount() -- Returns the number of rows affected by the last SQL statement

설명

class PDOStatement {
int rowCount ( void )
}

PDOStatement->rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object.

If the last SQL statement executed by the associated PDOStatement was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications.

반환값

Returns the number of rows.

예제

예 1692. Return the number of deleted rows

PDOStatement->rowCount() returns the number of rows affected by a DELETE, INSERT, or UPDATE statement.

<?php
/* Delete all rows from the FRUIT table */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();

/* Return number of rows that were deleted */
print("Return number of rows that were deleted:\n");
$count = $del->rowCount();
print("Deleted $count rows.\n");
?>

위 예제의 출력:

Deleted 9 rows.

예 1693. Counting rows returned by a SELECT statement

For most databases, PDOStatement->rowCount() does not return the number of rows affected by a SELECT statement. Instead, use PDO->query() to issue a SELECT COUNT(*) statement with the same predicates as your intended SELECT statement, then use PDOStatement->fetchColumn() to retrieve the number of rows that will be returned. Your application can then perform the correct action.

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
if ($res = $conn->query($sql)) {

    /* Check the number of rows that match the SELECT statement */
  if ($res->fetchColumn() > 0) {

        /* Issue the real SELECT statement and work with the results */
         $sql = "SELECT name FROM fruit WHERE calories > 100";
       foreach ($conn->query($sql) as $row) {
           print "Name: " .  $row['NAME'] . "\n";
         }
    }
    /* No rows matched -- do something else */
  else {
      print "No rows matched the query.";
    }
}

$res = null;
$conn = null;
?>

위 예제의 출력:

apple
banana
orange
pear

참고

PDOStatement->columnCount()
PDOStatement->fetchColumn()
PDO->query()

이전 | 위로 | 다음
PDOStatement->nextRowset() | 처음으로 | PDOStatement->setAttribute()


Verisign Payflow Pro Functions

이전 VI. 함수 레퍼런스 다음

CLXXII. Verisign Payflow Pro Functions

소개

This extension allows you to process credit cards and other financial transactions using Verisign Payment Services, formerly known as Signio (» http://www.verisign.com/products-services/payment-processing/online-payment/payflow-pro/index.html).

When using these functions, you may omit calls to pfpro_init() and pfpro_cleanup() as this extension will do so automatically if required. However the functions are still available in case you are processing a number of transactions and require fine control over the library. You may perform any number of transactions using pfpro_process() between the two.

These functions were added in PHP 4.0.2.

참고: These functions only provide a link to Verisign Payment Services. Be sure to read the Payflow Pro Developers Guide for full details of the required parameters.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

요구 조건

You will require the appropriate SDK for your platform, which may be downloaded » from within the manager interface once you have registered.

Once you have downloaded the SDK you should copy the files from the lib directory of the distribution. Copy the header file pfpro.h to /usr/local/include and the library file libpfpro.so to /usr/local/lib.

Alternatively, you can extract the tarball from Verisign in one location, and reference it during build configuration with the --with-pfpro[=DIR] option:

예 2466. Explicit Configuration

tar -zxf pfpro_sunsparc.tar.gz -C /usr/local/

./configure --with-pfpro=/usr/local/verisign/payflowpro/sunsparc

참고: The last portion of the path specified in the example above, in this case sunsparc, will vary based on which architecture your Verisign SDK was built for.

설치

These functions are only available if PHP has been compiled with the --with-pfpro[=DIR] option.

주의

If you are planing to use this extension along with the OpenSSL extension or with ModSSL, you should compile this extension as shared: --with-pfpro=shared,/usr/local.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 321. Verisign Payflow Pro configuration options

Name | Default | Changeable | Changelog
pfpro.defaulthost/PFPRO_VERSION < 3 | "test.signio.com" | PHP_INI_ALL |
pfpro.defaulthost | "test-payflow.verisign.com" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.defaultport | "443" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.defaulttimeout | "30" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxyaddress | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxyport | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxylogon | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxypassword | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

pfpro_cleanup -- Shuts down the Payflow Pro library
pfpro_init -- Initialises the Payflow Pro library
pfpro_process_raw -- Process a raw transaction with Payflow Pro
pfpro_process -- Process a transaction with Payflow Pro
pfpro_version -- Returns the version of the Payflow Pro software
이전 | 위로 | 다음
var_export | 처음으로 | pfpro_cleanup


pfpro_cleanup

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5)

pfpro_cleanup -- Shuts down the Payflow Pro library

설명

bool pfpro_cleanup ( void )

Used to shutdown the Payflow Pro library cleanly.

This function should be called after you have processed any transactions and before the end of your script. However you may omit this call, in which case this extension will automatically call pfpro_cleanup() after your script terminates.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

pfpro_init()

이전 | 위로 | 다음
CLXXII. Verisign Payflow Pro Functions | 처음으로 | pfpro_init


pfpro_init

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5)

pfpro_init -- Initialises the Payflow Pro library

설명

bool pfpro_init ( void )

Used to initialise the Payflow Pro library.

You may omit this call, in which case this extension will automatically call pfpro_init() before the first transaction.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

pfpro_cleanup()

이전 | 위로 | 다음
pfpro_cleanup | 처음으로 | pfpro_process_raw


pfpro_process_raw

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5)

pfpro_process_raw -- Process a raw transaction with Payflow Pro

설명

string pfpro_process_raw ( string $parameters [, string $address [, int $port [, int $timeout [, string $proxy_address [, int $proxy_port [, string $proxy_logon [, string $proxy_password]]]]]]] )

pfpro_process_raw() processes a raw transaction string with Payflow Pro. You should really use pfpro_process() instead, as the encoding rules of these transactions are non-standard.

참고: Be sure to read the Payflow Pro Developers Guide for full details of the required parameters and encoding rules. You would be well advised to use pfpro_process() instead.

매개변수

parameters

A string containing the raw transaction request.

address

Specifies the host to connect to. By default this is test.signio.com, that you will certainly want to change this to connect.signio.com in order to process live transactions.

port

Specifies the port to connect on. It defaults to 443, the standard SSL port number.

timeout

Specifies the timeout to be used, in seconds. This defaults to 30 seconds. Note that this timeout appears to only begin once a link to the processor has been established and so your script could potentially continue for a very long time in case of DNS or network problems.

proxy_address

If required, specifies the hostname of your SSL proxy.

proxy_port

If required, specifies the port of your SSL proxy.

proxy_logon

If required, specifies the logon identity to use on the SSL proxy.

proxy_password

If required, specifies the password to use on the SSL proxy.

반환값

Returns a string containing the raw response.

예제

예 2467. Payflow Pro raw example

<?php

pfpro_init();

$response = pfpro_process_raw(
"USER=mylogin&PWD[5]=m&ndy&PARTNER=VeriSign&TRXTYPE=S" .
"&TENDER=C&AMT=1.50&ACCT=4111111111111111&EXPDATE=0904");

if (!$response) {
  die("Couldn't establish link to Verisign.\n");
}

echo "Verisign raw response was " . $response;

pfpro_cleanup();

?>

참고

pfpro_process()

이전 | 위로 | 다음
pfpro_init | 처음으로 | pfpro_process


pfpro_process

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5)

pfpro_process -- Process a transaction with Payflow Pro

설명

array pfpro_process ( array $parameters [, string $address [, int $port [, int $timeout [, string $proxy_address [, int $proxy_port [, string $proxy_logon [, string $proxy_password]]]]]]] )

pfpro_process() processes a transaction with Payflow Pro.

참고: Be sure to read the Payflow Pro Developers Guide for full details of the required parameters.

매개변수

parameters

An associative array containing keys and values that will be encoded and passed to the processor.

address

Specifies the host to connect to. By default this is test.signio.com, that you will certainly want to change this to connect.signio.com in order to process live transactions.

port

Specifies the port to connect on. It defaults to 443, the standard SSL port number.

timeout

Specifies the timeout to be used, in seconds. This defaults to 30 seconds. Note that this timeout appears to only begin once a link to the processor has been established and so your script could potentially continue for a very long time in case of DNS or network problems.

proxy_address

If required, specifies the hostname of your SSL proxy.

proxy_port

If required, specifies the port of your SSL proxy.

proxy_logon

If required, specifies the logon identity to use on the SSL proxy.

proxy_password

If required, specifies the password to use on the SSL proxy.

반환값

Returns an associative array of the keys and values in the response.

예제

예 2468. Payflow Pro example

<?php

pfpro_init();

$transaction = array('USER'    => 'mylogin',
                     'PWD'     => 'mypassword',
                     'PARTNER' => 'VeriSign',
                     'TRXTYPE' => 'S',
                     'TENDER'  => 'C',
                     'AMT'     => 1.50,
                     'ACCT'    => '4111111111111111',
                     'EXPDATE' => '0909'
                    );

$response = pfpro_process($transaction);

if (!$response) {
  die("Couldn't establish link to Verisign.\n");
}

echo "Verisign response code was " . $response['RESULT'];
echo ", which means: " . $response['RESPMSG'] . "\n";

echo "\nThe transaction request: ";
print_r($transaction);

echo "\nThe response: ";
print_r($response);

pfpro_cleanup();

?>

이전 | 위로 | 다음
pfpro_process_raw | 처음으로 | pfpro_version


pfpro_version

(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5)

pfpro_version -- Returns the version of the Payflow Pro software

설명

string pfpro_version ( void )

pfpro_version() returns the version string of the Payflow Pro library. At the time of writing, this was L211.

반환값

Returns the version number, as a string.

이전 | 위로 | 다음
pfpro_process | 처음으로 | CLXXIII. vpopmail Functions


PHP 옵션&정보

이전 VI. 함수 레퍼런스 다음

CXXIV. PHP 옵션&정보

소개

이 함수들은 실행 설정, 읽어들인 확장 모듈, 버전 등, PHP에 대한 많은 정보를 얻을 수 있게 합니다. 또한 실행중인 PHP의 설정을 변경하는 함수도 있습니다. PHP에서 가장 널리 알려진 함수 - phpinfo()도 여기에 속합니다.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 250. PHP 옵션/정보 설정 옵션

이름 | 기본값 | 설정권한 | 변경점
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
enable_dl | "1" | PHP_INI_SYSTEM |
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | PHP 4.3.0부터 사용할 수 있습니다.
max_input_nesting_level | "64" | PHP_INI_SYSTEM|PHP_INI_PERDIR | PHP 5.2.2와 4.4.8부터 사용할 수 있습니다. PHP 4.4.x에서 기본값은 500입니다.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP <=4.2.3에서는 PHP_INI_ALL입니다.
magic_quotes_runtime | "0" | PHP_INI_ALL |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

assert.active boolean

assert() 평가를 활성화합니다.

assert.bail boolean

assertion 실패시에 스크립트 실행을 종료합니다.

assert.warning boolean

실패하는 assertion마다 PHP 경고를 발생합니다.

assert.callback string

assertion 실패시에 호출할 사용자 함수.

assert.quiet_eval boolean

assertion 표현 평가 중에 error_reporting()의 현재 설정을 사용합니다. 활성화하면, 평가 도중에 에러가 보여지지 않습니다. (error_reporting(0)에 상당) 비활성화하면, 에러는 error_reporting() 설정에 따라 보여집니다.

enable_dl boolean

이 지시어는 PHP의 아파치 모듈 버전에서만 유용합니다. dl()로 PHP 확장 모듈을 동적으로 읽어들일 수 있는지 여부를, 가상 서버나 디렉토리 단위로 설정할 수 있습니다.

동적 로딩을 끄는 주 이유는 보안입니다. 동적 로딩으로, 모든 open_basedir 제한을 무시할 수 있습니다. 기본값은 안전 모드를 사용할 때를 제외하고 동적 로딩을 허용합니다. 안전 모드에서는 항상 dl()을 사용할 수 없습니다.

max_execution_time integer

스크립트가 실행할 수 있는 최대 시간을 설정합니다. 이는 잘못 쓰여진 스크립트가 서버를 멈추는 것을 방지합니다. 기본값은 30입니다.

최대 실행 시간은 시스템 호출, 스트림 작업 등에는 영향을 받지 않습니다. 자세한 내용은 set_time_limit()를 참고하십시오.

안전 모드로 실행할 때는 이 설정을 ini_set()으로 변경할 수 없습니다. 안전 모드를 끄거나 php.ini에서 시간 제한을 변경해야 합니다.

웹 서버가 다른 시간초과 설정을 가질 수 있습니다. 예를 들면, 아파치는 Timeout 지시어, IIS는 CGI timeout 함수를 가지고 있습니다. 둘 다 기본값은 300초입니다. 이들의 의미에 대해서는 웹 서버 문서를 참고하십시오.

max_input_time integer

POST, GET, 파일 업로드 등의 입력 데이터 처리에 허용하는 최대 시간을 설정합니다.

max_input_nesting_level integer

입력 변수(즉, $_GET, $_POST..)의 최대 중첩 깊이를 설정합니다.

magic_quotes_gpc boolean

GPC (Get/Post/쿠키) 작동의 magic_quotes 상태를 설정합니다. magic_quotes가 on이면, 모든 ' (작은 따옴표), " (큰 따옴표), \ (백슬래쉬), NUL은 자동적으로 백슬래쉬로 이스케이프됩니다.

참고: magic_quotes_sybase 지시어도 ON이면 magic_quotes_gpc가 완전히 교체됩니다. 두 지시어를 모두 활성화하면 작은 따음표는 ''로 이스케이프합니다. 큰 따옴표, 백슬래쉬, NUL은 건들이지 않고, 이스케이프 하지 않습니다.

참고: get_magic_quotes_gpc()

magic_quotes_runtime boolean

magic_quotes_runtime를 활성화하면, 데이터베이스나 텍스트 파일를 포함한, 어떠한 외부 소스에서 데이터를 가져오는 대부분의 함수는 백슬래쉬로 인용됩니다. magic_quotes-sybase도 on이면, 작은 따옴표는 백슬래쉬 대신 작은 따옴표로 이스케이프합니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

아래 상수들은 PHP 코어의 일부로, 항상 사용할 수 있습니다.

표 251. 미리 정의된 phpcredits() 상수

상수 | 값 | 설명
CREDITS_GROUP | 1 | 코어 개발자 목록
CREDITS_GENERAL | 2 | 일반 공로: 언어 디자인과 컨셉, PHP 4.0 저자와 SAPI 모듈.
CREDITS_SAPI | 4 | PHP의 서버 API 모듈 목록과 그 저자.
CREDITS_MODULES | 8 | PHP의 확장 모듈 목록과 그 저자.
CREDITS_DOCS | 16 | 문서 팀을 위한 공로.
CREDITS_FULLPAGE | 32 | 보통 다른 플래그와 결합해서 사용합니다. 지정한 다른 플래그의 정보를 포함하는 완전한 개별 HTML 페이지 출력이 필요하다는 것을 지시합니다.
CREDITS_QA | 64 | 품질 보증 팀을 위한 공로.
CREDITS_ALL | -1 | 모든 공로, 다음과 동일합니다: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA + CREDITS_FULLPAGE. 모든 태그를 가지는 완전한 개별 HTML 페이지를 생성합니다. 기본값입니다.

표 252. phpinfo() 상수

상수 | 값 | 설명
INFO_GENERAL | 1 | 설정 옵션줄, php.ini 위치, 빌드 날짜, 웹 서버, 시스템 등.
INFO_CREDITS | 2 | PHP 4 공로. phpcreadits() 참고.
INFO_CONFIGURATION | 4 | PHP 지시어의 현재 로컬과 마스터 값. ini_get() 참고.
INFO_MODULES | 8 | 읽어들인 모듈과 관련 설정.
INFO_ENVIRONMENT | 16 | 환경 변수 정보. $_ENV으로 사용 가능.
INFO_VARIABLES | 32 | EGPCS(환경, GET, POST, 쿠키, 서버)의 모든 정의된 변수.
INFO_LICENSE | 64 | PHP 라이센스 정보. » 라이센스 faq 참고.
INFO_ALL | -1 | 위의 모든 정보를 보여줍니다. 기본값입니다.

ASSERT_ACTIVE (integer)
ASSERT_CALLBACK (integer)
ASSERT_BAIL (integer)
ASSERT_WARNING (integer)
ASSERT_QUIET_EVAL (integer)

차례

assert_options -- Set/get the various assert flags
assert -- Checks if assertion is FALSE
dl -- Loads a PHP extension at runtime
extension_loaded -- Find out whether an extension is loaded
get_cfg_var -- PHP 설정 옵션의 값을 얻습니다.
get_current_user -- 현재 PHP 스크립트 소유자의 이름을 얻습니다.
get_defined_constants -- 모든 상수와 그 값의 연관 배열을 반환합니다.
get_extension_funcs -- 모듈의 함수명을 배열로 반환합니다.
get_include_path -- Gets the current include_path configuration option
get_included_files -- include나 require한 파일명의 배열을 반환합니다.
get_loaded_extensions -- 적재된 모든 모듈명을 배열로 반환합니다.
get_magic_quotes_gpc -- Gets the current configuration setting of magic quotes gpc
get_magic_quotes_runtime -- Gets the current active configuration setting of magic_quotes_runtime
get_required_files -- get_included_files()의 별칭.
getenv -- 환경 변수값을 얻습니다.
getlastmod -- 페이지를 수정한 최종 시간을 얻습니다.
getmygid -- Get PHP script owner's GID
getmyinode -- Gets the inode of the current script
getmypid -- Gets PHP's process ID
getmyuid -- Gets PHP script owner's UID
getopt -- Gets options from the command line argument list
getrusage -- Gets the current resource usages
ini_alter -- ini_set()의 별칭
ini_get_all -- 모든 설정 옵션을 얻습니다.
ini_get -- Gets the value of a configuration option
ini_restore -- 설정 옵션의 값을 복구합니다.
ini_set -- Sets the value of a configuration option
main -- Dummy for main()
memory_get_peak_usage -- Returns the peak of memory allocated by PHP
memory_get_usage -- Returns the amount of memory allocated to PHP
php_ini_scanned_files -- Return a list of .ini files parsed from the additional ini dir
php_logo_guid -- Gets the logo guid
php_sapi_name -- 웹 서버와 PHP 간의 접근 형태를 반환합니다.
php_uname -- Returns information about the operating system PHP is running on
phpcredits -- Prints out the credits for PHP
phpinfo -- Outputs lots of PHP information
phpversion -- Gets the current PHP version
putenv -- Sets the value of an environment variable
restore_include_path -- Restores the value of the include_path configuration option
set_include_path -- Sets the include_path configuration option
set_magic_quotes_runtime -- Sets the current active configuration setting of magic_quotes_runtime
set_time_limit -- 최대 실행 시간을 제한합니다.
sys_get_temp_dir -- Returns directory path used for temporary files
version_compare -- Compares two "PHP-standardized" version number strings
zend_logo_guid -- Gets the Zend guid
zend_thread_id -- Returns a unique identifier for the current thread
zend_version -- 현재 젠드 엔진의 버전을 얻습니다.
이전 | 위로 | 다음
PharFileInfo->setUncompressed | 처음으로 | assert_options


assert_options

(PHP 4, PHP 5)

assert_options -- Set/get the various assert flags

설명

mixed assert_options ( int $what [, mixed $value] )

Set the various assert() control options or just query their current settings.

매개변수

what

표 253. Assert Options

option | ini-parameter | default | description
ASSERT_ACTIVE | assert.active | 1 | enable assert() evaluation
ASSERT_WARNING | assert.warning | 1 | issue a PHP warning for each failed assertion
ASSERT_BAIL | assert.bail | 0 | terminate execution on failed assertions
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | disable error_reporting during assertion expression evaluation
ASSERT_CALLBACK | assert.callback | (NULL) | user function to call on failed assertions

value

An optional new value for the option.

반환값

Returns the original setting of any option or FALSE on errors.

이전 | 위로 | 다음
CXXIV. PHP 옵션&정보 | 처음으로 | assert


assert

(PHP 4, PHP 5)

assert -- Checks if assertion is FALSE

설명

bool assert ( mixed $assertion )

assert() will check the given assertion and take appropriate action if its result is FALSE.

If the assertion is given as a string it will be evaluated as PHP code by assert(). The advantages of a string assertion are less overhead when assertion checking is off and messages containing the assertion expression when an assertion fails. This means that if you pass a boolean condition as assertion this condition will not show up as parameter to the assertion function which you may have defined with the assert_options() function, the condition is converted to a string before calling that handler function, and the boolean FALSE is converted as the empty string.

Assertions should be used as a debugging feature only. You may use them for sanity-checks that test for conditions that should always be TRUE and that indicate some programming errors if not or to check for the presence of certain features like extension functions or certain system limits and features.

Assertions should not be used for normal runtime operations like input parameter checks. As a rule of thumb your code should always be able to work correctly if assertion checking is not activated.

The behavior of assert() may be configured by assert_options() or by .ini-settings described in that functions manual page.

The assert_options() function and/or ASSERT_CALLBACK configuration directive allow a callback function to be set to handle failed assertions.

assert() callbacks are particularly useful for building automated test suites because they allow you to easily capture the code passed to the assertion, along with information on where the assertion was made. While this information can be captured via other methods, using assertions makes it much faster and easier!

The callback function should accept three arguments. The first argument will contain the file the assertion failed in. The second argument will contain the line the assertion failed on and the third argument will contain the expression that failed (if any - literal values such as 1 or "two" will not be passed via this argument)

매개변수

assertion

The assertion.

반환값

FALSE if the assertion is false, TRUE otherwise.

예제

예 1731. Handle a failed assertion with a custom handler

<?php
// Active assert and make it quiet
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Create a handler function
function my_assert_handler($file, $line, $code)
{
    echo "<hr>Assertion Failed:
        File '$file'<br />
        Line '$line'<br />
        Code '$code'<br /><hr />";
}

// Set up the callback
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Make an assertion that should fail
assert('mysql_query("")');
?>

이전 | 위로 | 다음
assert_options | 처음으로 | dl


dl

(PHP 4, PHP 5)

dl -- Loads a PHP extension at runtime

설명

int dl ( string $library )

Loads the PHP extension given by the parameter library.

Use extension_loaded() to test whether a given extension is already available or not. This works on both built-in extensions and dynamically loaded ones (either through php.ini or dl()).

매개변수

library

This parameter is only the filename of the extension to load which also depends on your platform. For example, the sockets extension (if compiled as a shared module, not the default!) would be called sockets.so on Unix platforms whereas it is called php_sockets.dll on the Windows platform.

The directory where the extension is loaded from depends on your platform:

Windows - If not explicitly set in the php.ini, the extension is loaded from c:\php4\extensions\ by default.

Unix - If not explicitly set in the php.ini, the default extension directory depends on

  • whether PHP has been built with --enable-debug or not
  • whether PHP has been built with (experimental) ZTS (Zend Thread Safety) support or not
  • the current internal ZEND_MODULE_API_NO (Zend internal module API number, which is basically the date on which a major module API change happened, e.g. 20010901)

Taking into account the above, the directory then defaults to <install-dir>/lib/php/extensions/ <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, e.g. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 or /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. If the functionality of loading modules is not available (see Note) or has been disabled (either by turning it off enable_dl or by enabling 안전 모드 in php.ini) an E_ERROR is emitted and execution is stopped. If dl() fails because the specified library couldn't be loaded, in addition to FALSE an E_WARNING message is emitted.

예제

예 1732. dl() examples

<?php
// Example loading an extension based on OS
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        dl('php_sqlite.dll');
    } else {
        dl('sqlite.so');
    }
}

// Or, the PHP_SHLIB_SUFFIX constant is available as of PHP 4.3.0
if (!extension_loaded('sqlite')) {
    $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>

주의

참고: dl() is not supported in multithreaded Web servers. Use the extensions statement in your php.ini when operating under such an environment. However, the CGI and CLI build are not affected !

참고: As of PHP 5, the dl() function is deprecated in every SAPI except CLI. Use Extension Loading Directives method instead.

참고: Since PHP 6 this function is disabled in all SAPIs, except CLI, CGI and embed.

참고: dl() is case sensitive on Unix platforms.

참고: 이 함수는 안전 모드에서 사용할 수 없습니다.

참고

Extension Loading Directives
extension_loaded()

이전 | 위로 | 다음
assert | 처음으로 | extension_loaded


extension_loaded

(PHP 4, PHP 5)

extension_loaded -- Find out whether an extension is loaded

설명

bool extension_loaded ( string $name )

Finds out whether the extension is loaded.

매개변수

name

The extension name.

You can see the names of various extensions by using phpinfo() or if you're using the CGI or CLI version of PHP you can use the -m switch to list all available extensions:

$ php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

반환값

Returns TRUE if the extension identified by name is loaded, FALSE otherwise.

예제

예 1733. extension_loaded() example

<?php
if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
        exit;
    }
}
?>

주의

참고: extension_loaded() uses the internal extension name to test whether a certain extension is available or not. Most internal extension names are written in lower case but there may be extension available which also use uppercase letters. Be warned that this function compares case sensitive !

참고

get_loaded_extensions()
get_extension_funcs()
phpinfo()
dl()

이전 | 위로 | 다음
dl | 처음으로 | get_cfg_var


get_cfg_var

(PHP 4, PHP 5)

get_cfg_var -- PHP 설정 옵션의 값을 얻습니다.

설명

string get_cfg_var ( string $varname )

varname으로 지정한 PHP 설정 변수의 값을 반환하거나, 에러가 발생했을 때 FALSE를 반환합니다.

PHP 컴파일시에 설정했거나, (php3_configuration_option 지시어를 이용하여) 아파치 설정 파일에서 읽는 정보는 반환하지 않습니다.

시스템이 어떤 설정 파일를 사용하는지 확인하려면, cfg_file_path 설정값을 확인해보십시오. 존재한다면, 그 설정 파일을 사용합니다.

참고: ini_get().

이전 | 위로 | 다음
extension_loaded | 처음으로 | get_current_user


get_current_user

(PHP 4, PHP 5)

get_current_user -- 현재 PHP 스크립트 소유자의 이름을 얻습니다.

Description

string get_current_user ( void )

현재 PHP 스크립트 소유자의 이름을 반환합니다.

참고: getmyuid(),
getmygid(), getmypid(),
getmyinode(),
getlastmod().

이전 | 위로 | 다음
get_cfg_var | 처음으로 | get_defined_constants


get_defined_constants

(PHP 4 >= 4.0.7, PHP 5)

get_defined_constants -- 모든 상수와 그 값의 연관 배열을 반환합니다.

설명

array get_defined_constants ( void )

현재 정의된 모든 상수의 이름과 값을 반환합니다. 여기에는 확장 모듈에서 작성한 상수와 define() 함수로 작성한 상수를 포함합니다.

아래는 예제입니다:

<?php
print_r(get_defined_constants());
?>

다음과 같이 출력할 것입니다:

Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [E_PARSE] => 4
    [E_NOTICE] => 8
    [E_CORE_ERROR] => 16
    [E_CORE_WARNING] => 32
    [E_COMPILE_ERROR] => 64
    [E_COMPILE_WARNING] => 128
    [E_USER_ERROR] => 256
    [E_USER_WARNING] => 512
    [E_USER_NOTICE] => 1024
    [E_ALL] => 2047
    [TRUE] => 1
)

참고: get_loaded_extensions(),
get_defined_functions(),
get_defined_vars().

이전 | 위로 | 다음
get_current_user | 처음으로 | get_extension_funcs


get_extension_funcs

(PHP 4, PHP 5)

get_extension_funcs -- 모듈의 함수명을 배열로 반환합니다.

설명

array get_extension_funcs ( string $module_name )

module_name가 지시하는 모듈에 정의된 모든 함수명을 반환합니다.

아래는 예제입니다.

<?php
print_r(get_extension_funcs("xml"));
print_r(get_extension_funcs("gd"));
?>

xml과 gd 모듈에 존재하는 함수 목록을 출력할 것입니다.

참고: get_loaded_extensions()

이전 | 위로 | 다음
get_defined_constants | 처음으로 | get_include_path


get_include_path

(PHP 4 >= 4.3.0, PHP 5)

get_include_path -- Gets the current include_path configuration option

설명

string get_include_path ( void )

Gets the current include_path configuration option value.

반환값

Returns the path, as a string.

예제

예 1734. get_include_path() example

<?php
// Works as of PHP 4.3.0
echo get_include_path();

// Works in all PHP versions
echo ini_get('include_path');
?>

참고

ini_get()
restore_include_path()
set_include_path()
include()

이전 | 위로 | 다음
get_extension_funcs | 처음으로 | get_included_files


get_included_files

(PHP 4, PHP 5)

get_included_files -- include나 require한 파일명의 배열을 반환합니다.

설명

array get_included_files ( void )

include(), include_once(), require(), require_once()를 사용하여 포함한 파일명을 배열로 반환합니다.

호출한 스크립트 파일은 "포함한 파일"로 처리하기에, include() 등으로 참조한 파일과 같이 나옵니다.

여러번 include나 require한 파일은 반환하는 배열에 한번만 나옵니다.

참고: auto_prepend_file 설정 지시어를 사용하여 포함한 파일은 반환 배열에 나오지 않습니다.

예 1735. get_included_files() 예제 (abc.php)

<?php

include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';

$included_files = get_included_files();

foreach ($included_files as $filename) {
    echo "$filename\n";
}

?>

이는 다음을 출력할 것입니다:

abc.php
test1.php
test2.php
test3.php
test4.php

참고: PHP 4.0.1pl2 이전 버전에서 get_included_files()는, .php 확장자로 끝나는 파일만 반환하고, 다른 확장자는 반환하지 않았습니다. get_included_files()가 반환하는 배열은 include()와 include_once()로 포함한 파일만 가지는 연관 배열이였습니다.

참고:
include(),
include_once(),
require(),
require_once(),
get_required_files().

이전 | 위로 | 다음
get_include_path | 처음으로 | get_loaded_extensions


get_loaded_extensions

(PHP 4, PHP 5)

get_loaded_extensions -- 적재된 모든 모듈명을 배열로 반환합니다.

설명

array get_loaded_extensions ( void )

PHP 인터프리터에 적재된 모든 모듈명을 반환합니다.

아래는 예는

<?php
print_r(get_loaded_extensions());
?>

다음과 비슷하게 출력합니다:

Array
(
   [0] => xml
   [1] => wddx
   [2] => standard
   [3] => session
   [4] => posix
   [5] => pgsql
   [6] => pcre
   [7] => gd
   [8] => ftp
   [9] => db
   [10] => calendar
   [11] => bcmath
)

참고:
get_extension_funcs(),
extension_loaded(),
dl(),
phpinfo().

이전 | 위로 | 다음
get_included_files | 처음으로 | get_magic_quotes_gpc


get_magic_quotes_gpc

(PHP 4, PHP 5)

get_magic_quotes_gpc -- Gets the current configuration setting of magic quotes gpc

설명

int get_magic_quotes_gpc ( void )

Returns the current configuration setting of magic_quotes_gpc

Keep in mind that the setting magic_quotes_gpc will not work at runtime.

For more information about magic_quotes, see this security section.

반환값

Returns 0 if magic quotes gpc are off, 1 otherwise.

예제

예 1736. get_magic_quotes_gpc() example

<?php
echo get_magic_quotes_gpc();         // 1
echo $_POST['lastname'];             // O\'reilly
echo addslashes($_POST['lastname']); // O\\\'reilly

if (!get_magic_quotes_gpc()) {
    $lastname = addslashes($_POST['lastname']);
} else {
    $lastname = $_POST['lastname'];
}

echo $lastname; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
?>

주의

참고: If the directive magic_quotes_sybase is ON it will completely override magic_quotes_gpc. So even when get_magic_quotes_gpc() returns TRUE neither double quotes, backslashes or NUL's will be escaped. Only single quotes will be escaped. In this case they'll look like: ''

참고

addslashes()
stripslashes()
get_magic_quotes_runtime()
ini_get()

이전 | 위로 | 다음
get_loaded_extensions | 처음으로 | get_magic_quotes_runtime


get_magic_quotes_runtime

(PHP 4, PHP 5)

get_magic_quotes_runtime -- Gets the current active configuration setting of magic_quotes_runtime

설명

int get_magic_quotes_runtime ( void )

Returns the current active configuration setting of magic_quotes_runtime.

반환값

Returns 0 if magic quotes runtime is off, 1 otherwise.

참고

get_magic_quotes_gpc()
set_magic_quotes_runtime()

이전 | 위로 | 다음
get_magic_quotes_gpc | 처음으로 | get_required_files


get_required_files

(PHP 4, PHP 5)

get_required_files -- get_included_files()의 별칭.

설명

이 함수는 get_included_files()의 별칭입니다.

이전 | 위로 | 다음
get_magic_quotes_runtime | 처음으로 | getenv


getenv

(PHP 4, PHP 5)

getenv -- 환경 변수값을 얻습니다.

설명

string getenv ( string $varname )

환경 변수 varname의 값을 반환하거나, 에러가 있을 경우 FALSE를 반환합니다.

<?php
$ip = getenv("REMOTE_ADDR"); // 사용자의 ip 번호를 얻습니다.
?>

모든 환경 변수 목록을 phpinfo()를 사용하여 볼 수 있습니다. 대부분의 의미는 » CGI 규정에서, 정확히는 » 환경 변수 페이지에서 확인할 수 있습니다.

참고: ISAPI 모드에서는 작동하지 않습니다.

참고: putenv().

이전 | 위로 | 다음
get_required_files | 처음으로 | getlastmod


getlastmod

(PHP 4, PHP 5)

getlastmod -- 페이지를 수정한 최종 시간을 얻습니다.

설명

int getlastmod ( void )

현재 페이지를 마지막으로 수정한 시간을 반환합니다. 반환값은 date()에 적합한 유닉스 타임스탬프입니다. 오류가 발생하면 FALSE를 반환합니다.

예 1737. getlastmod() 예제

<?php
// 출력 예. 'Last modified: March 04 1998 20:43:59.'
echo "Last modified: " . date ("F d Y H:i:s.", getlastmod());
?>

참고: 다른 파일의 수정 시간을 얻고자 한다면, filemtime()을 사용하십시오.

참고:
date(),
getmyuid(),
getmygid(),
get_current_user(),
getmyinode(),
getmypid(),
filemtime().

이전 | 위로 | 다음
getenv | 처음으로 | getmygid


getmygid

(PHP 4 >= 4.0.7, PHP 5)

getmygid -- Get PHP script owner's GID

설명

int getmygid ( void )

Gets the group ID of the current script.

반환값

Returns the group ID of the current script, or FALSE on error.

참고

getmyuid()
getmypid()
get_current_user()
getmyinode()
getlastmod()

이전 | 위로 | 다음
getlastmod | 처음으로 | getmyinode


getmyinode

(PHP 4, PHP 5)

getmyinode -- Gets the inode of the current script

설명

int getmyinode ( void )

Gets the inode of the current script.

반환값

Returns the current script's inode as a string, or FALSE on error.

주의

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고

getmygid()
getmyuid()
getmypid()
get_current_user()
getlastmod()

이전 | 위로 | 다음
getmygid | 처음으로 | getmypid


getmypid

(PHP 4, PHP 5)

getmypid -- Gets PHP's process ID

설명

int getmypid ( void )

Gets the current PHP process ID.

반환값

Returns the current PHP process ID, or FALSE on error.

주의

주의

Process IDs are not unique, thus they are a weak entropy source. We recommend against relying on pids in security-dependent contexts.

참고

getmygid()
getmyuid()
get_current_user()
getmyinode()
getlastmod()

이전 | 위로 | 다음
getmyinode | 처음으로 | getmyuid


getmyuid

(PHP 4, PHP 5)

getmyuid -- Gets PHP script owner's UID

설명

int getmyuid ( void )

Gets the user ID of the current script.

반환값

Returns the user ID of the current script, or FALSE on error.

참고

getmygid()
getmypid()
get_current_user()
getmyinode()
getlastmod()

이전 | 위로 | 다음
getmypid | 처음으로 | getopt


getopt

(PHP 4 >= 4.3.0, PHP 5)

getopt -- Gets options from the command line argument list

설명

array getopt ( string $options [, array $longopts] )

Parses options passed to the script.

매개변수

options

Each character in this string will be used as option characters and matched against options passed to the script starting with a single hyphen (-).

For example, an option string "x" recognizes an option -x.

longopts

An array of options. Each element in this array will be used as option strings and matched against options passed to the script starting with two hyphens (--).

For example, an longopts element "opt" recognizes an option --opt.

참고: Prior to PHP5.3.0 this parameter was only available on few systems

The options parameter may contain the following elements:
Individual characters (do not accept values)
Characters followed by a colon (parameter requires value)
Characters followed by two colons (optional value)
Option values are the first argument after the string. It does not matter if a value has leading white space or not.

참고: Optional values do not accept " " (space) as a seperator.

참고: The format for the options and longopts is almost the same, the only difference is that longopts takes an array of options (where each element is the option) where as options takes a string (where each character is the option).

반환값

This function will return an array of option / argument pairs or FALSE on failure.

변경 기록

버전 | 설명
5.3.0 | This function is no longer system dependent and works on Windows too.

예제

예 1738. getopt() Example

<?php
$options = getopt("f:hp:");
var_dump($options);
?>

Running the above script with php script.php -fvalue -h will output:

array(2) {
  ["f"]=>
  string(5) "value"
  ["h"]=>
  bool(false)
}

예 1739. getopt() Example#2

<?php
$shortopts  = "";
$shortopts .= "f:";  // Required value
$shortopts .= "v::"; // Optional value
$shortopts .= "abc"; // These options do not accept values

$longopts  = array(
    "required:",     // Required value
    "optional::",    // Optional value
    "option",        // No value
    "opt",           // No value
);
$options = getopt($shortopts, $longopts);
var_dump($options);
?>

Running the above script with php script.php -f "value for f" -v -a --required value --optional="optional value" --option will output:

array(6) {
  ["f"]=>
  string(11) "value for f"
  ["v"]=>
  bool(false)
  ["a"]=>
  bool(false)
  ["required"]=>
  string(5) "value"
  ["optional"]=>
  string(14) "optional value"
  ["option"]=>
  bool(false)
}

예 1740. getopt() Example#3

Passing multiple options as one

<?php
$options = getopt("abc");
var_dump($options);
?>

Running the above script with php script.php -aaac will output:

array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}

주의

참고: The register_argc_argv option must be enabled for this function to work

이전 | 위로 | 다음
getmyuid | 처음으로 | getrusage


getrusage

(PHP 4, PHP 5)

getrusage -- Gets the current resource usages

설명

array getrusage ( [int $who] )

This is an interface to getrusage(2). It gets data returned from the system call.

매개변수

who

If who is 1, getrusage will be called with RUSAGE_CHILDREN.

반환값

Returns an associative array containing the data returned from the system call. All entries are accessible by using their documented field names.

예제

예 1741. getrusage() example

<?php
$dat = getrusage();
echo $dat["ru_nswap"];         // number of swaps
echo $dat["ru_majflt"];        // number of page faults
echo $dat["ru_utime.tv_sec"];  // user time used (seconds)
echo $dat["ru_utime.tv_usec"]; // user time used (microseconds)
?>

주의

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고

Your system's man page on getrusage(2)

이전 | 위로 | 다음
getopt | 처음으로 | ini_alter


ini_alter

(PHP 4, PHP 5)

ini_alter -- ini_set()의 별칭

설명

이 함수는 ini_set()의 별칭입니다.

이전 | 위로 | 다음
getrusage | 처음으로 | ini_get_all


ini_get_all

(PHP 4 >= 4.2.0, PHP 5)

ini_get_all -- 모든 설정 옵션을 얻습니다.

설명

array ini_get_all ( [string $extension] )

등록된 모든 설정 옵션을 연관 배열로 반환합니다. 선택적인 extension을 설정하면, 그 확장에 해당하는 옵션만을 반환합니다.

지시어 이름을 배열 키로, global_value(php.ini에서 설정), local_value(ini_set()이나 .htaccess로 설정), access(접근 레벨)를 배열 요소로 가지는 배열의 배열을 반환합니다. 접근 레벨에 대한 정보는 매뉴얼 섹션 설정 변경를 참고하십시오.

참고: 지시어가 복수의 접근 레벨을 가질 수 있기에, access는 적절한 비트마스트 값을 가집니다.

예 1742. A ini_get_all() 예제

<?php
$inis = ini_get_all();

print_r($inis);

?>

부분적인 출력 예:

Array
(
    [allow_call_time_pass_reference] => Array
    (
        [global_value] => 1
        [local_value] => 1
        [access] => 6
    )
    [allow_url_fopen] => Array
    (
        [global_value] => 1
        [local_value] => 1
        [access] => 7
    )

    ...

)

참고: ini_get(),
ini_restore(),
ini_set(),
get_loaded_extensions(),
phpinfo().

이전 | 위로 | 다음
ini_alter | 처음으로 | ini_get


ini_get

(PHP 4, PHP 5)

ini_get -- Gets the value of a configuration option

설명

string ini_get ( string $varname )

Returns the value of the configuration option on success.

매개변수

varname

The configuration option name.

반환값

Returns the value of the configuration option as a string on success, or an empty string on failure or for null values.

예제

예 1743. A few ini_get() examples

<?php
/*
Our php.ini contains the following settings:

display_errors = On
register_globals = Off
post_max_size = 8M
*/

echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size'));

function return_bytes($val) {
    $val = trim($val);
    $last = strtolower($val{strlen($val)-1});
    switch($last) {
        // The 'G' modifier is available since PHP 5.1.0
        case 'g':
            $val *= 1024;
        case 'm':
            $val *= 1024;
        case 'k':
            $val *= 1024;
    }

    return $val;
}

?>

위 예제의 출력 예:

display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
post_max_size in bytes = 8388608

주의

When querying boolean values: A boolean ini value of off will be returned as an empty string or "0" while a boolean ini value of on will be returned as "1". The function can also return the literal string of INI value.

When querying memory size values: Many ini memory size values, such as upload_max_filesize, are stored in the php.ini file in shorthand notation. ini_get() will return the exact string stored in the php.ini file and NOT its integer equivalent. Attempting normal arithmetic functions on these values will not have otherwise expected results. The example above shows one way to convert shorthand notation into bytes, much like how the PHP source does it.

참고

get_cfg_var()
ini_get_all()
ini_restore()
ini_set()

이전 | 위로 | 다음
ini_get_all | 처음으로 | ini_restore


ini_restore

(PHP 4, PHP 5)

ini_restore -- 설정 옵션의 값을 복구합니다.

설명

void ini_restore ( string $varname )

주어진 설정 옵션을 기본값으로 복구합니다.

참고:
ini_get(),
ini_get_all(),
ini_set().

이전 | 위로 | 다음
ini_get | 처음으로 | ini_set


ini_set

(PHP 4, PHP 5)

ini_set -- Sets the value of a configuration option

설명

string ini_set ( string $varname, string $newvalue )

Sets the value of the given configuration option. The configuration option will keep this new value during the script's execution, and will be restored at the script's ending.

매개변수

varname

Not all the available options can be changed using ini_set(). There is a list of all available options in the appendix.

newvalue

The new value for the option.

반환값

Returns the old value on success, FALSE on failure.

참고

get_cfg_var()
ini_get()
ini_get_all()
ini_restore()
How to change configuration settings

이전 | 위로 | 다음
ini_restore | 처음으로 | main


main

(No version information available, might be only in CVS)

main -- Dummy for main()

설명

There is no function named main() except in the PHP source. In PHP 4.3.0, a new type of error handling in the PHP source (php_error_docref) was introduced. One feature is to provide links to a manual page in PHP error messages when the PHP directives html_errors (on by default) and docref_root (on by default until PHP 4.3.2) are set.

Sometimes error messages refer to a manual page for the function main() which is why this page exists. Please add a user comment below that mentions what PHP function caused the error that linked to main() and it will be fixed and properly documented.

표 254. Known errors that point to main()

Function name | No longer points here as of
include() | 5.1.0
include_once() | 5.1.0
require() | 5.1.0
require_once() | 5.1.0

참고

html_errors
display_errors

이전 | 위로 | 다음
ini_set | 처음으로 | memory_get_peak_usage


memory_get_usage

(PHP 4 >= 4.3.2, PHP 5)

memory_get_usage -- Returns the amount of memory allocated to PHP

설명

int memory_get_usage ( [bool $real_usage] )

Returns the amount of memory, in bytes, that's currently being allocated to your PHP script.

매개변수

real_usage

Set this to TRUE to get the real size of memory allocated from system. If not set or FALSE only the memory used by emalloc() is reported.

반환값

Returns the memory amount in bytes.

변경 기록

버전 | 설명
5.2.1 | Compiling with --enable-memory-limit is no longer required for this function to exist.
5.2.0 | real_usage was added.

예제

예 1744. A memory_get_usage() example

<?php
// This is only an example, the numbers below will
// differ depending on your system

echo memory_get_usage() . "\n"; // 36640

$a = str_repeat("Hello", 4242);

echo memory_get_usage() . "\n"; // 57960

unset($a);

echo memory_get_usage() . "\n"; // 36744

?>

참고

memory_get_peak_usage()
memory_limit

이전 | 위로 | 다음
memory_get_peak_usage | 처음으로 | php_ini_scanned_files


php_ini_scanned_files

(PHP 4 >= 4.3.0, PHP 5)

php_ini_scanned_files -- Return a list of .ini files parsed from the additional ini dir

설명

string php_ini_scanned_files ( void )

php_ini_scanned_files() returns a comma-separated list of configuration files parsed after php.ini. These files are found in a directory defined by the --with-config-file-scan-dir option which is set during compilation.

The returned configuration files also include the path as declared in the --with-config-file-scan-dir option.

반환값

Returns a comma-separated string of .ini files on success. Each comma is followed by a newline. If the directive --with-config-files-scan-dir wasn't set, FALSE is returned. If it was set and the directory was empty, an empty string is returned. If a file is unrecognizable, the file will still make it into the returned string but a PHP error will also result. This PHP error will be seen both at compile time and while using php_ini_scanned_files().

예제

예 1745. A simple example to list the returned ini files

<?php
if ($filelist = php_ini_scanned_files()) {
    if (strlen($filelist) > 0) {
        $files = explode(',', $filelist);

        foreach ($files as $file) {
            echo "<li>" . trim($file) . "</li>\n";
        }
    }
}
?>

참고

ini_set()
phpinfo()

이전 | 위로 | 다음
memory_get_usage | 처음으로 | php_logo_guid


php_logo_guid

(PHP 4, PHP 5)

php_logo_guid -- Gets the logo guid

설명

string php_logo_guid ( void )

This function returns the ID which can be used to display the PHP logo using the built-in image. Logo is displayed only if expose_php is On.

반환값

Returns PHPE9568F34-D428-11d2-A769-00AA001ACF42.

예제

예 1746. php_logo_guid() example

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . php_logo_guid() . '" alt="PHP Logo !" />';

?>

참고

phpinfo()
phpversion()
phpcredits()
zend_logo_guid()

이전 | 위로 | 다음
php_ini_scanned_files | 처음으로 | php_sapi_name


php_sapi_name

(PHP 4 >= 4.0.1, PHP 5)

php_sapi_name -- 웹 서버와 PHP 간의 접근 형태를 반환합니다.

설명

string php_sapi_name ( void )

php_sapi_name()은 웹 서버와 PHP(서버 API, SAPI) 사이의 접근 형태를 설명하는 소문자 문자열을 반환합니다. CGI PHP에서, 문자열은 "cgi"이고, 아파치의 mod_php에서, 문자열은 "apache"인 형태입니다.

예 1747. php_sapi_name() 예제

<?php
$sapi_type = php_sapi_name();
if ($sapi_type == "cgi") {
    echo "You are using CGI PHP\n";
} else {
    echo "You are not using CGI PHP\n";
}
?>

이전 | 위로 | 다음
php_logo_guid | 처음으로 | php_uname


php_uname

(PHP 4 >= 4.0.2, PHP 5)

php_uname -- Returns information about the operating system PHP is running on

설명

string php_uname ( [string $mode] )

php_uname() returns a description of the operating system PHP is running on. For the name of just the operating system, consider using the PHP_OS constant, but be reminded this constant will contain the operating system PHP was built on.

On Unix, the output reverts to displaying the operating system information PHP was built on if it cannot determine the currently running OS.

매개변수

mode

mode is a single character that defines what information is returned:

  • 'a': This is the default. Contains all modes in the sequence "s n r v m".
  • 's': Operating system name. eg. FreeBSD.
  • 'n': Host name. eg. localhost.example.com.
  • 'r': Release name. eg. 5.1.2-RELEASE.
  • 'v': Version information. Varies a lot between operating systems.
  • 'm': Machine type. eg. i386.

반환값

Returns the description, as a string.

예제

예 1748. Some php_uname() examples

<?php
echo php_uname();
echo PHP_OS;

/* Some possible outputs:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD

Windows NT XN1 5.1 build 2600
WINNT
*/

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'This is a server using Windows!';
} else {
    echo 'This is a server not using Windows!';
}

?>

There are also some related Predefined PHP constants that may come in handy, for example:

예 1749. A few OS related constant examples

<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX;    // so
echo PATH_SEPARATOR;      // :

// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX;    // dll
echo PATH_SEPARATOR;      // ;
?>

참고

phpversion()
php_sapi_name()
phpinfo()

이전 | 위로 | 다음
php_sapi_name | 처음으로 | phpcredits


phpcredits

(PHP 4, PHP 5)

phpcredits -- Prints out the credits for PHP

설명

bool phpcredits ( [int $flag] )

This function prints out the credits listing the PHP developers, modules, etc. It generates the appropriate HTML codes to insert the information in a page.

매개변수

flag

To generate a custom credits page, you may want to use the flag parameter. flag is optional, and it defaults to CREDITS_ALL.

표 255. Pre-defined phpcredits() flags

name | description
CREDITS_ALL | All the credits, equivalent to using: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGE. It generates a complete stand-alone HTML page with the appropriate tags.
CREDITS_DOCS | The credits for the documentation team
CREDITS_FULLPAGE | Usually used in combination with the other flags. Indicates that a complete stand-alone HTML page needs to be printed including the information indicated by the other flags.
CREDITS_GENERAL | General credits: Language design and concept, PHP 4.0 authors and SAPI module.
CREDITS_GROUP | A list of the core developers
CREDITS_MODULES | A list of the extension modules for PHP, and their authors
CREDITS_SAPI | A list of the server API modules for PHP, and their authors

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1750. Prints the general credits

<?php
phpcredits(CREDITS_GENERAL);
?>

예 1751. Prints the core developers and the documentation group

<?php
phpcredits(CREDITS_GROUP + CREDITS_DOCS + CREDITS_FULLPAGE);
?>

예 1752. Printing all the credits

<html>
 <head>
  <title>My credits page</title>
 </head>
 <body>
<?php
// some code of your own
phpcredits(CREDITS_ALL - CREDITS_FULLPAGE);
// some more code
?>
 </body>
</html>

참고

phpversion()
php_logo_guid()
phpinfo()

이전 | 위로 | 다음
php_uname | 처음으로 | phpinfo


phpinfo

(PHP 4, PHP 5)

phpinfo -- Outputs lots of PHP information

설명

bool phpinfo ( [int $what] )

Outputs a large amount of information about the current state of PHP. This includes information about PHP compilation options and extensions, the PHP version, server information and environment (if compiled as a module), the PHP environment, OS version information, paths, master and local values of configuration options, HTTP headers, and the PHP License.

Because every system is setup differently, phpinfo() is commonly used to check configuration settings and for available predefined variables on a given system.

phpinfo() is also a valuable debugging tool as it contains all EGPCS (Environment, GET, POST, Cookie, Server) data.

매개변수

what

The output may be customized by passing one or more of the following constants bitwise values summed together in the optional what parameter. One can also combine the respective constants or bitwise values together with the or operator.

표 256. phpinfo() options

Name (constant) | Value | Description
INFO_GENERAL | 1 | The configuration line, php.ini location, build date, Web Server, System and more.
INFO_CREDITS | 2 | PHP Credits. See also phpcredits().
INFO_CONFIGURATION | 4 | Current Local and Master values for PHP directives. See also ini_get().
INFO_MODULES | 8 | Loaded modules and their respective settings. See also get_loaded_extensions().
INFO_ENVIRONMENT | 16 | Environment Variable information that's also available in $_ENV.
INFO_VARIABLES | 32 | Shows all predefined variables from EGPCS (Environment, GET, POST, Cookie, Server).
INFO_LICENSE | 64 | PHP License information. See also the » license FAQ.
INFO_ALL | -1 | Shows all of the above. This is the default value.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1753. phpinfo() Example

<?php

// Show all information, defaults to INFO_ALL
phpinfo();

// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);

?>

주의

참고: Parts of the information displayed are disabled when the expose_php configuration setting is set to off. This includes the PHP and Zend logos, and the credits.

참고: phpinfo() outputs plain text instead of HTML when using the CLI mode.

참고

phpversion()
phpcredits()
php_logo_guid()
ini_get()
ini_set()
get_loaded_extensions()
Predefined Variables

이전 | 위로 | 다음
phpcredits | 처음으로 | phpversion


phpversion

(PHP 4, PHP 5)

phpversion -- Gets the current PHP version

설명

string phpversion ( [string $extension] )

Returns a string containing the version of the currently running PHP parser or extension.

매개변수

extension

An optional extension name.

반환값

If the optional extension parameter is specified, phpversion() returns the version of that extension, or FALSE if there is no version information associated or the extension isn't enabled.

예제

예 1754. phpversion() example

<?php
// prints e.g. 'Current PHP version: 4.1.1'
echo 'Current PHP version: ' . phpversion();

// prints e.g. '2.0' or nothing if the extension isn't enabled
echo phpversion('tidy');
?>

주의

참고: This information is also available in the predefined constant PHP_VERSION.

참고

version_compare()
phpinfo()
phpcredits()
php_logo_guid()
zend_version()

이전 | 위로 | 다음
phpinfo | 처음으로 | putenv


putenv

(PHP 4, PHP 5)

putenv -- Sets the value of an environment variable

설명

bool putenv ( string $setting )

Adds setting to the server environment. The environment variable will only exist for the duration of the current request. At the end of the request the environment is restored to its original state.

Setting certain environment variables may be a potential security breach. The safe_mode_allowed_env_vars directive contains a comma-delimited list of prefixes. In Safe Mode, the user may only alter environment variables whose names begin with the prefixes supplied by this directive. By default, users will only be able to set environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). Note: if this directive is empty, PHP will let the user modify ANY environment variable!

The safe_mode_protected_env_vars directive contains a comma-delimited list of environment variables, that the end user won't be able to change using putenv(). These variables will be protected even if safe_mode_allowed_env_vars is set to allow to change them.

매개변수

setting

The setting, like "FOO=BAR"

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1755. Setting an environment variable

<?php
putenv("UNIQID=$uniqid");
?>

주의

주의

These directives have only effect when safe-mode itself is enabled!

참고

getenv()

이전 | 위로 | 다음
phpversion | 처음으로 | restore_include_path


restore_include_path

(PHP 4 >= 4.3.0, PHP 5)

restore_include_path -- Restores the value of the include_path configuration option

설명

void restore_include_path ( void )

Restores the include_path configuration option back to its original master value as set in php.ini

반환값

값을 반환하지 않습니다.

예제

예 1756. restore_include_path() example

<?php

echo get_include_path();  // .:/usr/local/lib/php

set_include_path('/inc');

echo get_include_path();  // /inc

// Works as of PHP 4.3.0
restore_include_path();

// Works in all PHP versions
ini_restore('include_path');

echo get_include_path();  // .:/usr/local/lib/php

?>

참고

ini_restore()
get_include_path()
set_include_path()
include()

이전 | 위로 | 다음
putenv | 처음으로 | set_include_path


set_include_path

(PHP 4 >= 4.3.0, PHP 5)

set_include_path -- Sets the include_path configuration option

설명

string set_include_path ( string $new_include_path )

Sets the include_path configuration option for the duration of the script.

매개변수

new_include_path

The new value for the include_path

반환값

Returns the old include_path on success or FALSE on failure.

예제

예 1757. set_include_path() example

<?php
// Works as of PHP 4.3.0
set_include_path('/inc');

// Works in all PHP versions
ini_set('include_path', '/inc');
?>

예 1758. Adding to the include path

Making use of the PATH_SEPARATOR constant, it is possible to extend the include path regardless of the operating system.

In this example we add /usr/lib/pear to the end of the existing include_path.

<?php
$path = '/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>

참고

ini_set()
get_include_path()
restore_include_path()
include()

이전 | 위로 | 다음
restore_include_path | 처음으로 | set_magic_quotes_runtime


set_magic_quotes_runtime

(PHP 4, PHP 5)

set_magic_quotes_runtime -- Sets the current active configuration setting of magic_quotes_runtime

설명

bool set_magic_quotes_runtime ( int $new_setting )

Set the current active configuration setting of magic_quotes_runtime.

매개변수

new_setting

0 for off, 1 for on.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

get_magic_quotes_gpc()
get_magic_quotes_runtime()

이전 | 위로 | 다음
set_include_path | 처음으로 | set_time_limit


set_time_limit

(PHP 4, PHP 5)

set_time_limit -- 최대 실행 시간을 제한합니다.

설명

void set_time_limit ( int $seconds )

스크립트가 실행 가능한 시간을 초 단위로 설정합니다. 이 시간에 도달하면 스크립트는 치명적인 오류를 발생합니다. 기본 제한은 30초이거나, php.ini에 정의한 max_execution_time 값입니다. seconds를 0으로 설정하면, 시간 제한은 사라집니다.

호출할 때, set_time_limit()은 종료 시간을 0부터 다시 시작합니다. 즉, 기본 설정이 30초이고, 25초간 스크립트가 실행한 시점에서 set_time_limit(20)를 호출하면, 스크립트는 시간 제한까지 총 45초를 실행할 수 있습니다.

주의

set_time_limit()는 PHP가 안전 모드일 때는 작동하지 않습니다. 이 경우, 안전 모드를 설정하지 않거나, php.ini에서 시간 제한을 변경해야 합니다.

참고: set_time_limit() 함수와 설정 지시어 max_execution_time는 스크립트 자신의 실행 시간에만 영향을 받습니다. system()을 사용하는 시스템 콜이나, 스트림 작동, 데이터베이스 쿼리 등의 스크립트 밖에서 발생하는 행동은 스크립트 실행 시간을 측정할 때 포함하지 않습니다.

참고: ini 지시어 max_execution_time과 max_input_time.

이전 | 위로 | 다음
set_magic_quotes_runtime | 처음으로 | sys_get_temp_dir


version_compare

(PHP 4 >= 4.0.7, PHP 5)

version_compare -- Compares two "PHP-standardized" version number strings

설명

mixed version_compare ( string $version1, string $version2 [, string $operator] )

version_compare() compares two "PHP-standardized" version number strings. This is useful if you would like to write programs working only on some versions of PHP.

The function first replaces _, - and + with a dot . in the version strings and also inserts dots . before and after any non number so that for example '4.3.2RC1' becomes '4.3.2.RC.1'. Then it splits the results like if you were using explode('.', $ver). Then it compares the parts starting from left to right. If a part contains special version strings these are handled in the following order: dev < alpha = a < beta = b < RC < pl. This way not only versions with different levels like '4.1' and '4.1.2' can be compared but also any PHP specific version containing development state.

매개변수

version1

First version number.

version2

Second version number.

operator

If you specify the third optional operator argument, you can test for a particular relationship. The possible operators are: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectively. Using this argument, the function will return TRUE if the relationship is the one specified by the operator, FALSE otherwise.

반환값

version_compare() returns -1 if the first version is lower than the second, 0 if they are equal, and +1 if the second is lower.

예제

예 1759. version_compare() example

<?php
// prints -1
echo version_compare("4.0.4", "4.0.6");

// these all print 1
echo version_compare("4.0.4", "4.0.6", "<");
echo version_compare("4.0.6", "4.0.6", "eq");
?>

주의

참고: The PHP_VERSION constant holds current PHP version.

이전 | 위로 | 다음
sys_get_temp_dir | 처음으로 | zend_logo_guid


zend_logo_guid

(PHP 4, PHP 5)

zend_logo_guid -- Gets the Zend guid

설명

string zend_logo_guid ( void )

This function returns the ID which can be used to display the Zend logo using the built-in image.

반환값

Returns PHPE9568F35-D428-11d2-A769-00AA001ACF42.

예제

예 1760. zend_logo_guid() example

<?php

echo '<img src="' . $_SERVER['PHP_SELF'] .
     '?=' . zend_logo_guid() . '" alt="Zend Logo !" />';

?>

참고

php_logo_guid()

이전 | 위로 | 다음
version_compare | 처음으로 | zend_thread_id


zend_version

(PHP 4, PHP 5)

zend_version -- 현재 젠드 엔진의 버전을 얻습니다.

설명

string zend_version ( void )

현재 실행 중인 젠드 엔진 버전을 가지는 문자열을 반환합니다.

예 1761. zend_version() 예제

<?php
// 출력 예. 'Zend engine version: 1.0.4'
echo "Zend engine version: " . zend_version();
?>

참고: phpinfo(),
phpcredits(),
php_logo_guid(),
phpversion().

이전 | 위로 | 다음
zend_thread_id | 처음으로 | CXXV. POSIX Functions


POSIX Functions

이전 VI. 함수 레퍼런스 다음

CXXV. POSIX Functions

소개

This module contains an interface to those functions defined in the IEEE 1003.1 (POSIX.1) standards document which are not accessible through other means. POSIX.1 for example defined the open(), read(), write() and close() functions, too, which traditionally have been part of PHP 3 for a long time. Some more system specific functions have not been available before, though, and this module tries to remedy this by providing easy access to these functions.

주의

Sensitive data can be retrieved with the POSIX functions, e.g. posix_getpwnam() and friends. None of the POSIX function perform any kind of access checking when safe mode is enabled. It's therefore strongly advised to disable the POSIX extension at all (use --disable-posix in your configure line) if you're operating in such an environment.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

설치

POSIX functions are enabled by default. You can disable POSIX-like functions with --disable-posix.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

POSIX_F_OK (integer)
Check whether the file exists.
POSIX_R_OK (integer)
Check whether the file exists and has read permissions.
POSIX_W_OK (integer)
Check whether the file exists and has write permissions.
POSIX_X_OK (integer)
Check whether the file exists and has execute permissions.
POSIX_S_IFBLK (integer)
Block special file
POSIX_S_IFCHR (integer)
Character special file
POSIX_S_IFIFO (integer)
FIFO (named pipe) special file
POSIX_S_IFREG (integer)
Normal file
POSIX_S_IFSOCK (integer)
Socket

참고: These constants are available since PHP 5.1.0. Please also note that some of them may not be available in your system.

참고

The section about Process Control Functions maybe of interest for you.

차례

posix_access -- Determine accessibility of a file
posix_ctermid -- Get path name of controlling terminal
posix_get_last_error -- Retrieve the error number set by the last posix function that failed
posix_getcwd -- Pathname of current directory
posix_getegid -- Return the effective group ID of the current process
posix_geteuid -- Return the effective user ID of the current process
posix_getgid -- Return the real group ID of the current process
posix_getgrgid -- Return info about a group by group id
posix_getgrnam -- Return info about a group by name
posix_getgroups -- Return the group set of the current process
posix_getlogin -- Return login name
posix_getpgid -- Get process group id for job control
posix_getpgrp -- Return the current process group identifier
posix_getpid -- Return the current process identifier
posix_getppid -- Return the parent process identifier
posix_getpwnam -- Return info about a user by username
posix_getpwuid -- Return info about a user by user id
posix_getrlimit -- Return info about system resource limits
posix_getsid -- Get the current sid of the process
posix_getuid -- Return the real user ID of the current process
posix_initgroups -- Calculate the group access list
posix_isatty -- Determine if a file descriptor is an interactive terminal
posix_kill -- Send a signal to a process
posix_mkfifo -- Create a fifo special file (a named pipe)
posix_mknod -- Create a special or ordinary file (POSIX.1)
posix_setegid -- Set the effective GID of the current process
posix_seteuid -- Set the effective UID of the current process
posix_setgid -- Set the GID of the current process
posix_setpgid -- Set process group id for job control
posix_setsid -- Make the current process a session leader
posix_setuid -- Set the UID of the current process
posix_strerror -- Retrieve the system error message associated with the given errno
posix_times -- Get process times
posix_ttyname -- Determine terminal device name
posix_uname -- Get system name
이전 | 위로 | 다음
zend_version | 처음으로 | posix_access


posix_ctermid

(PHP 4, PHP 5)

posix_ctermid -- Get path name of controlling terminal

설명

string posix_ctermid ( void )

Generates a string which is the pathname for the current controlling terminal for the process. On error this will set errno, which can be checked using posix_get_last_error()

반환값

Upon successful completion, returns string of the pathname to the current controlling terminal. Otherwise FALSE is returned and errno is set, which can be checked with posix_get_last_error().

예제

예 1763. posix_ctermid() example

This example will display the path to the current TTY.

<?php
echo "I am running from ".posix_ctermid();
?>

참고

posix_ttyname()
posix_get_last_error()

이전 | 위로 | 다음
posix_access | 처음으로 | posix_get_last_error


posix_get_last_error

(PHP 4 >= 4.2.0, PHP 5)

posix_get_last_error -- Retrieve the error number set by the last posix function that failed

설명

int posix_get_last_error ( void )

Retrieve the error number set by the last posix function that failed. The system error message associated with the errno may be checked with posix_strerror().

반환값

Returns the errno (error number) set by the last posix function that failed. If no errors exist, 0 is returned.

예제

예 1764. posix_get_last_error() example

This example attempt to kill a bogus process id, which will set the last error. We will then print out the last errno.

<?php
posix_kill(999459,SIGKILL);
echo 'Your error returned was '.posix_get_last_error(); //Your error was ___
?>

참고

posix_strerror()

이전 | 위로 | 다음
posix_ctermid | 처음으로 | posix_getcwd


posix_getcwd

(PHP 4, PHP 5)

posix_getcwd -- Pathname of current directory

설명

string posix_getcwd ( void )

Gets the absolute pathname of the script's current working directory. On error, it sets errno which can be checked using posix_get_last_error()

반환값

Returns a string of the absolute pathname on success. On error, returns FALSE and sets errno which can be checked with posix_get_last_error().

예제

예 1765. posix_getcwd() example

This example will return the absolute path of the current working directory of the script.

<?php
echo 'My current working directory is '.posix_getcwd();
?>

주의

참고: This function can fail on

  • Read or Search permission was denied
  • Pathname no longer exists

이전 | 위로 | 다음
posix_get_last_error | 처음으로 | posix_getegid


posix_getegid

(PHP 4, PHP 5)

posix_getegid -- Return the effective group ID of the current process

설명

int posix_getegid ( void )

Return the numeric effective group ID of the current process.

반환값

Returns an integer of the effective group ID.

예제

예 1766. posix_getegid() example

This example will print out the effective group id, once it is changed with posix_setegid().

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setegid(40);
echo 'My real group id is '.posix_getgid(); //20
echo 'My effective group id is '.posix_getegid(); //40
?>

주의

posix_getegid() is different than posix_getgid() because effective group ID can be changed by a calling process using posix_setegid().

참고

posix_getgrgid() for information on how to convert this into a useable group name
posix_getgid() get real group id.
posix_setgid() change the effective group id

이전 | 위로 | 다음
posix_getcwd | 처음으로 | posix_geteuid


posix_geteuid

(PHP 4, PHP 5)

posix_geteuid -- Return the effective user ID of the current process

설명

int posix_geteuid ( void )

Return the numeric effective user ID of the current process. See also posix_getpwuid() for information on how to convert this into a useable username.

반환값

Returns the user id, as an integer

예제

예 1767. posix_geteuid() example

This example will show the current user id then set the effective user id to a separate id using posix_seteuid(), then show the difference between the real id and the effective id.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

참고

posix_getpwuid() for more information about the user.
posix_getuid() get real user id.
posix_setuid() change the effective user id
POSIX man page GETEUID(2)

이전 | 위로 | 다음
posix_getegid | 처음으로 | posix_getgid


posix_getgid

(PHP 4, PHP 5)

posix_getgid -- Return the real group ID of the current process

설명

int posix_getgid ( void )

Return the numeric real group ID of the current process.

반환값

Returns the real group id, as an integer.

예제

예 1768. posix_getgid() example

This example will print out the real group id, even once the effective group id has been changed.

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setegid(40);
echo 'My real group id is '.posix_getgid(); //20
echo 'My effective group id is '.posix_getegid(); //40
?>

참고

posix_getgrgid() for information on how to convert this into a useable group name
posix_getegid() get effective group id.
posix_setgid() change the effective group id
POSIX man page GETGID(2)

이전 | 위로 | 다음
posix_geteuid | 처음으로 | posix_getgrgid


posix_getgrgid

(PHP 4, PHP 5)

posix_getgrgid -- Return info about a group by group id

설명

array posix_getgrgid ( int $gid )

Gets information about a group provided its id.

매개변수

gid

The group id.

반환값

The array elements returned are:

표 257. The group information array

Element | Description
name | The name element contains the name of the group. This is a short, usually less than 16 character "handle" of the group, not the real, full name.
passwd | The passwd element contains the group's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
gid | Group ID, should be the same as the gid parameter used when calling the function, and hence redundant.
members | This consists of an array of string's for all the members in the group.

변경 기록

버전 | 설명
4.2.0 | Prior to this version, members was simply an integer representing the number of members in the group, and the member names were returned with numerical indices.

예제

예 1769. Example use of posix_getgrgid()

<?php

$groupid   = posix_getegid();
$groupinfo = posix_getgrgid($groupid);

print_r($groupinfo);
?>

위 예제의 출력 예:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

참고

posix_getegid()
posix_getgrnam()
filegroup()
stat()
safe_mode_gid
POSIX man page GETGRNAM(3)

이전 | 위로 | 다음
posix_getgid | 처음으로 | posix_getgrnam


posix_getgrnam

(PHP 4, PHP 5)

posix_getgrnam -- Return info about a group by name

설명

array posix_getgrnam ( string $name )

Gets information about a group provided its name.

매개변수

name

The name of the group

반환값

The array elements returned are:

표 258. The group information array

Element | Description
name | The name element contains the name of the group. This is a short, usually less than 16 character "handle" of the group, not the real, full name. This should be the same as the name parameter used when calling the function, and hence redundant.
passwd | The passwd element contains the group's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
gid | Group ID of the group in numeric form.
members | This consists of an array of string's for all the members in the group.

변경 기록

버전 | 설명
4.2.0 | Prior to this version, members was simply an integer representing the number of members in the group, and the member names were returned with numerical indices.

예제

예 1770. Example use of posix_getgrnam()

<?php

$groupinfo = posix_getgrnam("toons");

print_r($groupinfo);
?>

위 예제의 출력 예:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

참고

posix_getegid()
posix_getgrgid()
filegroup()
stat()
safe_mode_gid
POSIX man page GETGRNAM(3)

이전 | 위로 | 다음
posix_getgrgid | 처음으로 | posix_getgroups


posix_getgroups

(PHP 4, PHP 5)

posix_getgroups -- Return the group set of the current process

설명

array posix_getgroups ( void )

Gets the group set of the current process.

반환값

Returns an array of integers containing the numeric group ids of the group set of the current process.

예제

예 1771. Example use of posix_getgroups()

<?php

$groups = posix_getgroups();

print_r($groups);
?>

위 예제의 출력 예:

Array
(
    [0] => 4
    [1] => 20
    [2] => 24
    [3] => 25
    [4] => 29
    [5] => 30
    [6] => 33
    [7] => 44
    [8] => 46
    [9] => 104
    [10] => 109
    [11] => 110
    [12] => 1000
)

참고

posix_getgrgid()

이전 | 위로 | 다음
posix_getgrnam | 처음으로 | posix_getlogin


posix_getlogin

(PHP 4, PHP 5)

posix_getlogin -- Return login name

설명

string posix_getlogin ( void )

Returns the login name of the user owning the current process.

반환값

Returns the login name of the user, as a string.

예제

예 1772. Example use of posix_getlogin()

<?php
echo posix_getlogin(); //apache
?>

참고

posix_getpwnam()
POSIX man page GETLOGIN(3)

이전 | 위로 | 다음
posix_getgroups | 처음으로 | posix_getpgid


posix_getpgid

(PHP 4, PHP 5)

posix_getpgid -- Get process group id for job control

설명

int posix_getpgid ( int $pid )

Returns the process group identifier of the process pid.

매개변수

pid

The process id.

반환값

Returns the identifier, as an integer.

예제

예 1773. Example use of posix_getpgid()

<?php
$pid = posix_getppid();
echo posix_getpgid($pid); //35
?>

주의

참고: This is a not POSIX function, but is common on BSD and System V systems. If the system does not support this function, then it will not be included at compile time. This may be checked with function_exists().

참고

posix_getppid()
man page SETPGID(2)

이전 | 위로 | 다음
posix_getlogin | 처음으로 | posix_getpgrp


posix_getpgrp

(PHP 4, PHP 5)

posix_getpgrp -- Return the current process group identifier

설명

int posix_getpgrp ( void )

Return the process group identifier of the current process.

반환값

Returns the identifier, as an integer.

참고

POSIX.1 and the getpgrp(2) manual page on the POSIX system for more information on process groups.

이전 | 위로 | 다음
posix_getpgid | 처음으로 | posix_getpid


posix_getpid

(PHP 4, PHP 5)

posix_getpid -- Return the current process identifier

설명

int posix_getpid ( void )

Return the process identifier of the current process.

반환값

Returns the identifier, as an integer.

예제

예 1774. Example use of posix_getpid()

<?php
echo posix_getpid(); //8805
?>

참고

posix_kill() to kill a process.
POSIX man page GETPID(2)

이전 | 위로 | 다음
posix_getpgrp | 처음으로 | posix_getppid


posix_getppid

(PHP 4, PHP 5)

posix_getppid -- Return the parent process identifier

설명

int posix_getppid ( void )

Return the process identifier of the parent process of the current process.

반환값

Returns the identifier, as an integer.

예제

예 1775. Example use of posix_getppid()

<?php
echo posix_getppid(); //8259
?>

이전 | 위로 | 다음
posix_getpid | 처음으로 | posix_getpwnam


posix_getpwnam

(PHP 4, PHP 5)

posix_getpwnam -- Return info about a user by username

설명

array posix_getpwnam ( string $username )

Returns an array of information about the given user.

매개변수

username

An alphanumeric username.

반환값

The array elements returned are:

표 259. The user information array

Element | Description
name | The name element contains the username of the user. This is a short, usually less than 16 character "handle" of the user, not the real, full name. This should be the same as the username parameter used when calling the function, and hence redundant.
passwd | The passwd element contains the user's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
uid | User ID of the user in numeric form.
gid | The group ID of the user. Use the function posix_getgrgid() to resolve the group name and a list of its members.
gecos | GECOS is an obsolete term that refers to the finger information field on a Honeywell batch processing system. The field, however, lives on, and its contents have been formalized by POSIX. The field contains a comma separated list containing the user's full name, office phone, office number, and home phone number. On most systems, only the user's full name is available.
dir | This element contains the absolute path to the home directory of the user.
shell | The shell element contains the absolute path to the executable of the user's default shell.

예제

예 1776. Example use of posix_getpwnam()

<?php

$userinfo = posix_getpwnam("tom");

print_r($userinfo);
?>

위 예제의 출력 예:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [geocs]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

참고

posix_getpwuid()
POSIX man page GETPWNAM(3)

이전 | 위로 | 다음
posix_getppid | 처음으로 | posix_getpwuid


posix_getpwuid

(PHP 4, PHP 5)

posix_getpwuid -- Return info about a user by user id

설명

array posix_getpwuid ( int $uid )

Returns an array of information about the user referenced by the given user ID.

매개변수

uid

The user identifier.

반환값

Returns an associative array with the following elements:

표 260. The user information array

Element | Description
name | The name element contains the username of the user. This is a short, usually less than 16 character "handle" of the user, not the real, full name.
passwd | The passwd element contains the user's password in an encrypted format. Often, for example on a system employing "shadow" passwords, an asterisk is returned instead.
uid | User ID, should be the same as the uid parameter used when calling the function, and hence redundant.
gid | The group ID of the user. Use the function posix_getgrgid() to resolve the group name and a list of its members.
gecos | GECOS is an obsolete term that refers to the finger information field on a Honeywell batch processing system. The field, however, lives on, and its contents have been formalized by POSIX. The field contains a comma separated list containing the user's full name, office phone, office number, and home phone number. On most systems, only the user's full name is available.
dir | This element contains the absolute path to the home directory of the user.
shell | The shell element contains the absolute path to the executable of the user's default shell.

예제

예 1777. Example use of posix_getpwuid()

<?php

$userinfo = posix_getpwuid(10000);

print_r($userinfo);
?>

위 예제의 출력 예:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [geocs]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

참고

posix_getpwnam()
POSIX man page GETPWNAM(3)

이전 | 위로 | 다음
posix_getpwnam | 처음으로 | posix_getrlimit


posix_getrlimit

(PHP 4, PHP 5)

posix_getrlimit -- Return info about system resource limits

설명

array posix_getrlimit ( void )

posix_getrlimit() returns an array of information about the current resource's soft and hard limits.

Each resource has an associated soft and hard limit. The soft limit is the value that the kernel enforces for the corresponding resource. The hard limit acts as a ceiling for the soft limit. An unprivileged process may only set its soft limit to a value from 0 to the hard limit, and irreversibly lower its hard limit.

반환값

Returns an associative array of elements for each limit that is defined. Each limit has a soft and a hard limit.

표 261. List of possible limits returned

Limit name | Limit description
core | The maximum size of the core file. When 0, not core files are created. When core files are larger than this size, they will be truncated at this size.
totalmem | The maximum size of the memory of the process, in bytes.
virtualmem | The maximum size of the virtual memory for the process, in bytes.
data | The maximum size of the data segment for the process, in bytes.
stack | The maximum size of the process stack, in bytes.
rss | The maximum number of virtual pages resident in RAM
maxproc | The maximum number of processes that can be created for the real user ID of the calling process.
memlock | The maximum number of bytes of memory that may be locked into RAM.
cpu | The amount of time the process is allowed to use the CPU.
filesize | The maximum size of the data segment for the process, in bytes.
openfiles | One more than the maximum number of open file descriptors.

예제

예 1778. Example use of posix_getrlimit()

<?php

$limits = posix_getrlimit();

print_r($limits);
?>

위 예제의 출력 예:

Array
(
    [soft core] => 0
    [hard core] => unlimited
    [soft data] => unlimited
    [hard data] => unlimited
    [soft stack] => 8388608
    [hard stack] => unlimited
    [soft totalmem] => unlimited
    [hard totalmem] => unlimited
    [soft rss] => unlimited
    [hard rss] => unlimited
    [soft maxproc] => unlimited
    [hard maxproc] => unlimited
    [soft memlock] => unlimited
    [hard memlock] => unlimited
    [soft cpu] => unlimited
    [hard cpu] => unlimited
    [soft filesize] => unlimited
    [hard filesize] => unlimited
    [soft openfiles] => 1024
    [hard openfiles] => 1024
)

주의

참고: This is a not POSIX function, but is common on BSD and System V systems. If the system does not support this function, then it will not be included at compile time. This may be checked with function_exists().

참고

man page GETRLIMIT(2)

이전 | 위로 | 다음
posix_getpwuid | 처음으로 | posix_getsid


posix_getsid

(PHP 4, PHP 5)

posix_getsid -- Get the current sid of the process

설명

int posix_getsid ( int $pid )

Return the session id of the process pid. The session id of a process is the process group id of the session leader.

매개변수

pid

The process identifier. If set to 0, the current process is assumed. If an invalid pid is specified, then FALSE is returned and an error is set which can be checked with posix_get_last_error().

반환값

Returns the identifier, as an integer.

예제

예 1779. Example use of posix_getsid()

<?php
$pid = posix_getpid();
echo posix_getsid($pid); //8805
?>

참고

posix_getpgid()
posix_setsid()
POSIX man page GETSID(2)

이전 | 위로 | 다음
posix_getrlimit | 처음으로 | posix_getuid


posix_getuid

(PHP 4, PHP 5)

posix_getuid -- Return the real user ID of the current process

설명

int posix_getuid ( void )

Return the numeric real user ID of the current process.

반환값

Returns the user id, as an integer

예제

예 1780. Example use of posix_getuid()

<?php
echo posix_getuid(); //10000
?>

참고

posix_getpwuid() for information on how to convert this into a useable username
POSIX man page GETUID(2)

이전 | 위로 | 다음
posix_getsid | 처음으로 | posix_initgroups


posix_isatty

(PHP 4, PHP 5)

posix_isatty -- Determine if a file descriptor is an interactive terminal

설명

bool posix_isatty ( int $fd )

Determines if the file descriptor fd refers to a valid terminal type device.

매개변수

fd

The file descriptor.

반환값

Returns TRUE if fd is an open descriptor connected to a terminal and FALSE otherwise.

참고

posix_ttyname()

이전 | 위로 | 다음
posix_initgroups | 처음으로 | posix_kill


posix_kill

(PHP 4, PHP 5)

posix_kill -- Send a signal to a process

설명

bool posix_kill ( int $pid, int $sig )

Send the signal sig to the process with the process identifier pid.

매개변수

pid

The process identifier.

sig

One of the PCNTL signals constants.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

The kill(2) manual page of the POSIX system, which contains additional information about negative process identifiers, the special pid 0, the special pid -1, and the signal number 0.

이전 | 위로 | 다음
posix_isatty | 처음으로 | posix_mkfifo


posix_mkfifo

(PHP 4, PHP 5)

posix_mkfifo -- Create a fifo special file (a named pipe)

설명

bool posix_mkfifo ( string $pathname, int $mode )

posix_mkfifo() creates a special FIFO file which exists in the file system and acts as a bidirectional communication endpoint for processes.

매개변수

pathname

Path to the FIFO file.

mode

The second parameter mode has to be given in octal notation (e.g. 0644). The permission of the newly created FIFO also depends on the setting of the current umask(). The permissions of the created file are (mode & ~umask).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

이전 | 위로 | 다음
posix_kill | 처음으로 | posix_mknod


posix_setegid

(PHP 4 >= 4.0.2, PHP 5)

posix_setegid -- Set the effective GID of the current process

설명

bool posix_setegid ( int $gid )

Set the effective group ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function.

매개변수

gid

The group id.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1782. posix_setegid() example

This example will print out the effective group id, once changed.

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setegid(40);
echo 'My real group id is '.posix_getgid(); //20
echo 'My effective group id is '.posix_getegid(); //40
?>

참고

posix_getgrgid() for information on how to convert a group id into a useable group name
posix_getgid() get real group id.
posix_setgid() change the effective group id

이전 | 위로 | 다음
posix_mknod | 처음으로 | posix_seteuid


posix_seteuid

(PHP 4 >= 4.0.2, PHP 5)

posix_seteuid -- Set the effective UID of the current process

설명

bool posix_seteuid ( int $uid )

Set the real user ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function.

매개변수

uid

The user id.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

posix_setgid()

이전 | 위로 | 다음
posix_setegid | 처음으로 | posix_setgid


posix_setgid

(PHP 4, PHP 5)

posix_setgid -- Set the GID of the current process

설명

bool posix_setgid ( int $gid )

Set the real group ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function. The appropriate order of function calls is posix_setgid() first, posix_setuid() last.

참고: If the caller is a super user, this will also set the effective group id.

매개변수

gid

The group id.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1783. posix_setgid() example

This example will print out the effective group id, once it is changed.

<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setgid(40);
echo 'My real group id is '.posix_getgid(); //40
echo 'My effective group id is '.posix_getegid(); //40
?>

참고

posix_getgrgid() for information on how to convert this into a useable group name
posix_getgid() get real group id.

이전 | 위로 | 다음
posix_seteuid | 처음으로 | posix_setpgid


posix_setpgid

(PHP 4, PHP 5)

posix_setpgid -- Set process group id for job control

설명

bool posix_setpgid ( int $pid, int $pgid )

Let the process pid join the process group pgid.

매개변수

pid

The process id.

pgid

The process group id.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

See POSIX.1 and the setsid(2) manual page on the POSIX system for more informations on process groups and job control.

이전 | 위로 | 다음
posix_setgid | 처음으로 | posix_setsid


posix_setsid

(PHP 4, PHP 5)

posix_setsid -- Make the current process a session leader

설명

int posix_setsid ( void )

Make the current process a session leader.

반환값

Returns the session id, or -1 on errors.

참고

The POSIX.1 and the setsid(2) manual page on the POSIX system for more information on process groups and job control.

이전 | 위로 | 다음
posix_setpgid | 처음으로 | posix_setuid


posix_setuid

(PHP 4, PHP 5)

posix_setuid -- Set the UID of the current process

설명

bool posix_setuid ( int $uid )

Set the real user ID of the current process. This is a privileged function that needs appropriate privileges (usually root) on the system to be able to perform this function.

매개변수

uid

The user id.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1784. posix_setuid() example

This example will show the currrent user id and then set it to a different value.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_setuid(10000);
echo posix_getuid()."\n"; //10000
echo posix_geteuid()."\n"; //10000
?>

참고

posix_setgid()
posix_seteuid()
posix_getuid()
posix_geteuid()

이전 | 위로 | 다음
posix_setsid | 처음으로 | posix_strerror


posix_strerror

(PHP 4 >= 4.2.0, PHP 5)

posix_strerror -- Retrieve the system error message associated with the given errno

설명

string posix_strerror ( int $errno )

Returns the POSIX system error message associated with the given errno. You may get the errno parameter by calling posix_get_last_error().

매개변수

errno

A POSIX error number, returned by posix_get_last_error(). If set to 0, then the string "Success" is returned.

반환값

Returns the error message, as a string.

예제

예 1785. posix_strerror() example

This example will attempt to kill a process which does not exist, then will print out the corresponding error message.

<?php
posix_kill(50,SIGKILL);
echo posix_strerror(posix_get_last_error())."\n";
?>

위 예제의 출력 예:

No such process

참고

posix_get_last_error()

이전 | 위로 | 다음
posix_setuid | 처음으로 | posix_times


posix_times

(PHP 4, PHP 5)

posix_times -- Get process times

설명

array posix_times ( void )

Gets information about the current CPU usage.

반환값

Returns a hash of strings with information about the current process CPU usage. The indices of the hash are:

  • ticks - the number of clock ticks that have elapsed since reboot.
  • utime - user time used by the current process.
  • stime - system time used by the current process.
  • cutime - user time used by current process and children.
  • cstime - system time used by current process and children.

주의

주의

This function isn't reliable to use, it may return negative values for high times.

예제

예 1786. Example use of posix_times()

<?php

$times = posix_times();

print_r($times);
?>

위 예제의 출력 예:

Array
(
    [ticks] => 25814410
    [utime] => 1
    [stime] => 1
    [cutime] => 0
    [cstime] => 0
)

이전 | 위로 | 다음
posix_strerror | 처음으로 | posix_ttyname


posix_ttyname

(PHP 4, PHP 5)

posix_ttyname -- Determine terminal device name

설명

string posix_ttyname ( int $fd )

Returns a string for the absolute path to the current terminal device that is open on the file descriptor fd.

매개변수

fd

The file descriptor.

반환값

On success, returns a string of the absolute path of the fd. On failure, returns FALSE

이전 | 위로 | 다음
posix_times | 처음으로 | posix_uname


posix_uname

(PHP 4, PHP 5)

posix_uname -- Get system name

설명

array posix_uname ( void )

Gets information about the system.

Posix requires that assumptions must not be made about the format of the values, e.g. the assumption that a release may contain three digits or anything else returned by this function.

반환값

Returns a hash of strings with information about the system. The indices of the hash are

  • sysname - operating system name (e.g. Linux)
  • nodename - system name (e.g. valiant)
  • release - operating system release (e.g. 2.2.10)
  • version - operating system version (e.g. #4 Tue Jul 20 17:01:36 MEST 1999)
  • machine - system architecture (e.g. i586)
  • domainname - DNS domainname (e.g. example.com)

domainname is a GNU extension and not part of POSIX.1, so this field is only available on GNU systems or when using the GNU libc.

예제

예 1787. Example use of posix_uname()

<?php
$uname=posix_uname();
print_r($uname);
?>

위 예제의 출력 예:

Array
(
    [sysname] => Linux
    [nodename] => funbox
    [release] => 2.6.20-15-server
    [version] => #2 SMP Sun Apr 15 07:41:34 UTC 2007
    [machine] => i686
)

이전 | 위로 | 다음
posix_ttyname | 처음으로 | CXXVI. Regular Expression Functions (POSIX Extended)


PostgreSQL 함수

이전 VI. 함수 레퍼런스 다음

CXXVII. PostgreSQL 함수

소개

PostgreSQL 데이터베이스는 비용이 필요 없는 오픈 소스 프로덕트입니다. 본래 UC Berkeley Computer Science Department에서 개발한 Postgres는 현재 몇몇 상용 데이터베이스에서 채용한 객체관계 개념을 이끌었습니다. SQL92/SQL99 언어 지원, 트랜젝션, 참조 관계, 저장 프로시저, 확장 가능한 타입을 제공합니다. PostgreSQL은 원래의 버클리 코드에서 오픈 소스로 이어졌습니다.

요구 조건

PostgreSQL 지원을 사용하려면, PostgreSQL 6.5 이상이 필요하며, 모든 PostgreSQL 모듈 기능을 사용하려면 PostgreSQL 7.0 이상이 필요합니다. PostgreSQL은 멀티바이트 문자 인코딩을 포함하여 많은 문자 인코딩을 지원합니다. PostgreSQL의 현재 버전과 관련 정보는 » http://www.postgresql.org/과 » http://techdocs.postgresql.org/에 있습니다.

설치

PostgreSQL 지원을 활성화하려면, PHP를 컴파일 할 때 --with-pgsql[=DIR]이 필요합니다. DIR은 PostgreSQL 베이스 설치 디렉토리로, 기본값은 /usr/local/pgsql입니다. 공유 오브젝트 모듈을 이용할 수 있으면, php.ini에서 extension 지시자나 dl()을 사용하여 PostgreSQL 모듈을 읽어들일 수 있습니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 262. PostgreSQL 설정 옵션

이름 | 기본값 | 설정권한 | 변경점
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | PHP 4.2.0부터 사용할 수 있습니다.
pgsql.ignore_notice | "0" | PHP_INI_ALL | PHP 4.3.0부터 사용할 수 있습니다.
pgsql.log_notice | "0" | PHP_INI_ALL | PHP 4.3.0부터 사용할 수 있습니다.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

pgsql.allow_persistent boolean

Postgre 지속 접속 허용 여부.

pgsql.max_persistent integer

프로세스 당 Postgre 지속 연결의 최대수.

pgsql.max_links integer

지속 연결을 포함하여, 프로세스 당 Postgres 연결의 최대수.

pgsql.auto_reset_persistent integer

깨어진 pg_pconnect() 지속 연결의 검출. 약간의 오버헤드가 필요합니다.

pgsql.ignore_notice integer

PostgreSQL 백엔드 경고의 무시 여부.

pgsql.log_notice integer

PostgreSQL 백엔드 경고 메세지의 기록 여부. 경고 메세지를 기록하기 위해서는 PHP 지시어 pgsql.ignore_notice를 off로 설정해야만 합니다.

사용법과 힌트

주의

PostgreSQL 모듈을 PHP 4.0.6과 함께 사용하는 것은 경고 메세지 핸들링의 버그로 인해 권장하지 않습니다. 4.1.0 이상을 사용하십시오.

주의

PostgreSQL 함수 이름은 현재 코딩 표준을 지키기 위해서 4.2.0 릴리즈부터 변경되었습니다. 대부분의 새 이름은 pg_lo_poen()과 같이 언더스코어가 추가되었습니다. 몇몇 함수는 일관성을 위해 pg_exec()에서 pg_query()와 같이 다른 이름으로 변경되었습니다. 옛 이름은 4.2.0과 이후의 몇몇 릴리즈에서는 사용할 수 있을 것이지만, 차후에 삭제될 것입니다.

표 263. 함수 이름 변경

옛 이름 | 새 이름
pg_cmdtuples() | pg_affected_rows()
pg_errormessage() | pg_last_error()
pg_exec() | pg_query()
pg_fieldname() | pg_field_name()
pg_fieldsize() | pg_field_size()
pg_fieldnum() | pg_field_num()
pg_fieldprtlen() | pg_field_prtlen()
pg_fieldisnull() | pg_field_is_null()
pg_freeresult() | pg_free_result()
pg_getlastoid() | pg_last_oid()
pg_loreadall() | pg_lo_read_all()
pg_locreate() | pg_lo_create()
pg_lounlink() | pg_lo_unlink()
pg_loopen() | pg_lo_open()
pg_loclose() | pg_lo_close()
pg_loread() | pg_lo_read()
pg_lowrite() | pg_lo_write()
pg_loimport() | pg_lo_import()
pg_loexport() | pg_lo_export()
pg_numrows() | pg_num_rows()
pg_numfields() | pg_num_fields()
pg_result() | pg_fetch_result()

이전의 pg_connect()/pg_pconnect() 구문은 차후에 비동기 접속을 지원하기 위해서 배제되어집니다. pg_connect()과 pg_pconnect()을 위한 접속 문자열을 사용하시기 바랍니다.

모든 빌드에서 모든 함수가 지원되는 것은 아닙니다. libpq (PostgreSQL C 클라이언트 인터페이스) 버전과 어떻게 컴파일하였는가에 의존합니다. 빠진 함수가 존재하면, libpq가 그 함수에 필요한 기능을 제공하지 않는 것입니다.

접속하려는 PostgreSQL 서버보다 오래된 libpq를 사용하지 않아야만 합니다. PostgreSQL 서버가 요구하는 것보다 오래된 libpq를 사용하면, 문제가 발생할 수 있습니다.

버전 6.3 (1998/03/02)부터 PostgreSQL은 기본값으로 유닉스 도메인 소켓을 사용합니다. 기본값으로 TCP 포트는 열지 않습니다. 아래의 표는 이 새로운 접속의 허용을 나타냅니다. 이 소켓은 /tmp/.s.PGSQL.5432에서 발견할 수 있습니다. postmaster에 "유닉스 도메인 소켓과 함께 TCP/IP 소켓을 리슨하라"는 의미의 '-i' 플래그를 지정하여 이 옵션을 활성화 할 수 있습니다.

표 264. Postmaster와 PHP

Postmaster | PHP | 상태
postmaster & | pg_connect("dbname=MyDbName"); | OK
postmaster -i & | pg_connect("dbname=MyDbName"); | OK
postmaster & | pg_connect("host=localhost dbname=MyDbName"); | Unable to connect to PostgreSQL server: connectDB() failed: Is the postmaster running and accepting TCP/IP (with -i) connection at 'localhost' on port '5432'? in /path/to/file.php on line 20.
postmaster -i & | pg_connect("host=localhost dbname=MyDbName"); | OK

PostgreSQL 서버에 접속은 명령 문자열에 다음의 값들을 지정해서 이루어집니다: $conn = pg_connect("host=myHost port=myPort tty=myTTY options=myOptions dbname=myDB user=myUser password=myPassword ");

이전의 구문: $conn = pg_connect ("host", "port", "options", "tty", "dbname") 은 배제되었습니다.

환경 변수가 PostgreSQL 서버/클라이언트 동작에 영향을 줍니다. 예를 들면, PostgreSQL 모듈은 접속 문자열에 hostname이 빠져 있으면 PGHOST 환경 변수를 찾아봅니다. 지원하는 환경 변수는 버전에 따라 다릅니다. 자세한 내용은 PostgreSQL 프로그래머 매뉴얼 (libpq - 환경 변수)를 참고하십시오.

적절한 유저로 환경 변수를 지정하였는지 확인하십시오. 현재 프로세스가 어떤 환경 변수를 사용할 수 있는지 확인하려면 $_ENV나 getenv()를 사용하십시오.

예 1799. 기본 파라메터 설정하기

PGHOST=pgsql.example.com
PGPORT=7890
PGDATABASE=web-system
PGUSER=web-user
PGPASSWORD=secret
PGDATESTYLE=ISO
PGTZ=JST
PGCLIENTENCODING=EUC-JP

export PGHOST PGPORT PGDATABASE PGUSER PGPASSWORD PGDATESTYLE PGTZ PGCLIENTENCODING

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

PGSQL_ASSOC (integer)
PGSQL_NUM (integer)
PGSQL_BOTH (integer)
PGSQL_CONNECTION_BAD (integer)
PGSQL_CONNECTION_OK (integer)
PGSQL_SEEK_SET (integer)
PGSQL_SEEK_CUR (integer)
PGSQL_SEEK_END (integer)
PGSQL_ESCAPE_STRING (integer)
PGSQL_ESCAPE_BYTEA (integer)
PGSQL_EMPTY_QUERY (integer)
PGSQL_COMMAND_OK (integer)
PGSQL_TUPLES_OK (integer)
PGSQL_COPY_OUT (integer)
PGSQL_COPY_IN (integer)
PGSQL_BAD_RESPONSE (integer)
PGSQL_NONFATAL_ERROR (integer)
PGSQL_FATAL_ERROR (integer)

예제

PostgreSQL 7.1.0부터, text 타입의 필드에 1GB까지 저장할 수 있습니다. 이전 버전에서는, 블록 사이즈(기본값은 8KN, 최대값은 32KB, 컴파일 시에 지정)으로 제한되었었습니다.

대형 객체 (lo) 인터페이스를 사용하려면, 트랜젝션 블록에 대형 객체 함수를 포함할 필요가 있습니다. 트랜젝션 블록은 SQL 구문 BEGIN로 시작하고, 트랜젝션이 유효하다면 COMMIT나 END로 종료합니다. 트랜젝션이 실패하면 트랜젝션은 ROLLBACK이나 ABORT로 닫아야만 합니다.

예 1800. 대형 객체 사용하지

<?php
    $database = pg_connect("dbname=jacarta");
    pg_query($database, "begin");
    $oid = pg_lo_create($database);
    echo "$oid\n";
    $handle = pg_lo_open($database, $oid, "w");
    echo "$handle\n";
    pg_lo_write($handle, "large object data");
    pg_lo_close($handle);
    pg_query($database, "commit");
?>

대형 객체를 닫기 전에 PostgreSQL 서버와의 접속을 끊어서는 안됩니다.

차례

pg_affected_rows -- 쿼리에 의해 변경된 레코드(튜플)의 개수를 반환한다.
pg_cancel_query -- 비동기 쿼리를 취소한다.
pg_client_encoding -- 클라이언트의 인코딩 정보를 받는다.
pg_close -- PostgreSQL과의 접속을 끊는다.
pg_connect -- PostgreSQL에 접속한다.
pg_connection_busy -- Get connection is busy or not
pg_connection_reset -- Reset connection (reconnect)
pg_connection_status -- Get connection status
pg_convert -- Convert associative array values into suitable for SQL statement
pg_copy_from -- Insert records into a table from an array
pg_copy_to -- Copy a table to an array
pg_dbname -- 데이터베이스의 이름을 돌려준다.
pg_delete -- Deletes records
pg_end_copy -- PostgreSQL 백엔드에 동기화한다.
pg_escape_bytea -- Escape a string for insertion into a bytea field
pg_escape_string -- Escape a string for insertion into a text field
pg_execute -- Sends a request to execute a prepared statement with given parameters, and waits for the result.
pg_fetch_all_columns -- Fetches all rows in a particular result column as an array
pg_fetch_all -- Fetches all rows from a result as an array
pg_fetch_array -- 데이터베이스의 행을 배열로 가져온다.
pg_fetch_assoc -- Fetch a row as an associative array
pg_fetch_object -- 데이터베이스의 행을 오브젝트로 가져온다.
pg_fetch_result -- Returns values from a result resource
pg_fetch_row -- 데이터베이스의 행을 숫자를 인덱스로 하는 배열로 가져온다.
pg_field_is_null -- Test if a field is SQL NULL
pg_field_name -- Returns the name of a field
pg_field_num -- Returns the field number of the named field
pg_field_prtlen -- Returns the printed length
pg_field_size -- Returns the internal storage size of the named field
pg_field_table -- Returns the name or oid of the tables field
pg_field_type_oid -- Returns the type ID (OID) for the corresponding field number
pg_field_type -- Returns the type name for the corresponding field number
pg_free_result -- Free result memory
pg_get_notify -- Gets SQL NOTIFY message
pg_get_pid -- Gets the backend's process ID
pg_get_result -- Get asynchronous query result
pg_host -- Returns the host name associated with the connection
pg_insert -- Insert array into table
pg_last_error -- Get the last error message string of a connection
pg_last_notice -- Returns the last notice message from PostgreSQL server
pg_last_oid -- Returns the last row's OID
pg_lo_close -- Close a large object
pg_lo_create -- Create a large object
pg_lo_export -- Export a large object to file
pg_lo_import -- Import a large object from file
pg_lo_open -- Open a large object
pg_lo_read_all -- Reads an entire large object and send straight to browser
pg_lo_read -- Read a large object
pg_lo_seek -- Seeks position within a large object
pg_lo_tell -- Returns current seek position a of large object
pg_lo_unlink -- Delete a large object
pg_lo_write -- Write to a large object
pg_meta_data -- Get meta data for table
pg_num_fields -- Returns the number of fields in a result
pg_num_rows -- Returns the number of rows in a result
pg_options -- Get the options associated with the connection
pg_parameter_status -- Looks up a current parameter setting of the server.
pg_pconnect -- Open a persistent PostgreSQL connection
pg_ping -- Ping database connection
pg_port -- Return the port number associated with the connection
pg_prepare -- Submits a request to create a prepared statement with the given parameters, and waits for completion.
pg_put_line -- Send a NULL-terminated string to PostgreSQL backend
pg_query_params -- Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
pg_query -- Execute a query
pg_result_error_field -- Returns an individual field of an error report.
pg_result_error -- Get error message associated with result
pg_result_seek -- Set internal row offset in result resource
pg_result_status -- Get status of query result
pg_select -- Select records
pg_send_execute -- Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
pg_send_prepare -- Sends a request to create a prepared statement with the given parameters, without waiting for completion.
pg_send_query_params -- Submits a command and separate parameters to the server without waiting for the result(s).
pg_send_query -- Sends asynchronous query
pg_set_client_encoding -- Set the client encoding
pg_set_error_verbosity -- Determines the verbosity of messages returned by pg_last_error() and pg_result_error().
pg_trace -- Enable tracing a PostgreSQL connection
pg_transaction_status -- Returns the current in-transaction status of the server.
pg_tty -- Return the TTY name associated with the connection
pg_unescape_bytea -- Unescape binary for bytea type
pg_untrace -- Disable tracing of a PostgreSQL connection
pg_update -- Update table
pg_version -- Returns an array with client, protocol and server version (when available)
이전 | 위로 | 다음
sql_regcase | 처음으로 | pg_affected_rows


pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_affected_rows -- 쿼리에 의해 변경된 레코드(튜플)의 개수를 반환한다.

함수 설명

int pg_affected_rows ( resource $result )

pg_affected_rows()은 pg_query()로 수행한 INSERT, UPDATE, DELETE 쿼리에 의해 변경된 튜플(인스턴스/레코드/로우)의 개수를 반환한다. 변경된 튜플이 없으면 0을 반환한다.

예 1801. pg_affected_rows()

<?php
     $result = pg_query ($conn, "INSERT INTO publisher VALUES ('Author')");
     $cmdtuples = pg_affected_rows ($result);
     echo $cmdtuples . " tuples are affected.";
?>

참고: 이 함수는 pg_cmdtuples() 으로도 사용할 수 있다.

pg_query() 와 pg_num_rows() 도 참조하라.

이전 | 위로 | 다음
CXXVII. PostgreSQL 함수 | 처음으로 | pg_cancel_query


pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5)

pg_cancel_query -- 비동기 쿼리를 취소한다.

함수 설명

bool pg_cancel_query ( resource $connection )

pg_cancel_query()는
pg_send_query()가 보낸 비동기 쿼리를 취소한다.
pg_query()로 실행한 쿼리는 취소할 수 없다.

pg_send_query() 와 pg_connection_busy() 도 참조하라.

이전 | 위로 | 다음
pg_affected_rows | 처음으로 | pg_client_encoding


pg_client_encoding

(PHP 4 >= 4.0.3, PHP 5)

pg_client_encoding -- 클라이언트의 인코딩 정보를 받는다.

설명

string pg_client_encoding ( [resource $connection] )

pg_client_encoding()은 클라이언트 인코딩 정보를 문자열로 받는다. 클라이언트 인코딩 정보는 다음 중 하나여야 한다: SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5, WIN1250.

참고: 이 함수는 PHP-4.0.3 이상 버젼과 PostgreSQL-7.0 이상 버젼이 필요하다. 멀티바이트 지원기능 없이 컴파일 되었다면, pg_set_client_encoding()은 항상 "SQL_ASCII"를 반환한다. 지원되는 인코딩 정보는 PostgreSQL 버젼에 의해 정해진다. 멀티바이트 지원과 사용가능한 인코딩에 대한 자세한 정보는 PostreSQL 매뉴얼을 참조하라.

이 함수는 pg_clientencoding() 으로도 사용할 수 있다.

pg_set_client_encoding() 도 참조하라.

이전 | 위로 | 다음
pg_cancel_query | 처음으로 | pg_close


pg_close

(PHP 4, PHP 5)

pg_close -- PostgreSQL과의 접속을 끊는다.

함수 설명

bool pg_close ( int $connection )

올바른 접속지시자(a valid connection index)가 아니라면 거짓(FALSE)를 돌려주고, 반대의 경우 참(TRUE)을 돌려준다. 인수로 주어진 접속지시자에 해당하는 PostgreSQL로의 접속을 끊는다.

참고: 영구적이지 않은 접속은 PHP 스크립트의 종료시 자동으로 닫히므로 대부분의 경우 이 함수를 이용하여 접속을 끊지 않아도 된다.

pg_close() 함수는 pg_pconnect()를 이용한 접속을 끊지 못한다.

이전 | 위로 | 다음
pg_client_encoding | 처음으로 | pg_connect


pg_connect

(PHP 4, PHP 5)

pg_connect -- PostgreSQL에 접속한다.

함수 설명

int pg_connect ( string $conn_string )

접속에 성공하면 접속지시자(a connection index)를 돌려주고, 실패하면 거짓(FALSE)을 돌려준다. 이 함수의 목적은 PostgreSQL에 접속하는 것이다. 인수들은 인용부호안에 표기해야 한다.

예 1802. Using pg_connect arguments

<?php
$dbconn = pg_Connect ("dbname=mary");
// "mary"라는 이름의 데이터베이스에 접속
$dbconn2 = pg_Connect ("host=localhost port=5432 dbname=mary");
// "localhost"의 "5432"포트를 통해 "mary"라는 이름의 데이터베이스에 접속
$dbconn3 = pg_Connect ("user=lamb password=baaaa dbname=mary ");
// 유저명과 패스워드가 지정된 "mary"라는 이름의 데이터베이스에 접속
?>

이 함수와 함께 사용 가능한 인수는 dbname port, host, tty, options, user, 그리고 password이다.

이 함수는 PHP의 다른 PostgreSQL 함수에서 필요로 하는 접속지시자를 돌려준다. 필요하다면 한번에 여러개의 접속을 만들 수 있다.

예전에 사용하던 접속구문 $conn = pg_connect ("host", "port", "options", "tty", "dbname") 은 추천하지 않는다.

pg_pconnect()도 참고하라.

이전 | 위로 | 다음
pg_close | 처음으로 | pg_connection_busy


pg_connection_busy

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_busy -- Get connection is busy or not

설명

bool pg_connection_busy ( resource $connection )

pg_connection_busy() determines whether or not a connection is busy. If it is busy, a previous query is still executing. If pg_get_result() is used on the connection, it will be blocked.

매개변수

connection

PostgreSQL database connection resource.

반환값

Returns TRUE if the connection is busy, FALSE otherwise.

예제

예 1803. pg_connection_busy() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $bs = pg_connection_busy($dbconn);
  if ($bs) {
      echo 'connection is busy';
  } else {
     echo 'connection is not busy';
  }
?>

참고

pg_connection_status()
pg_get_result()

이전 | 위로 | 다음
pg_connect | 처음으로 | pg_connection_reset


pg_connection_reset

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_reset -- Reset connection (reconnect)

설명

bool pg_connection_reset ( resource $connection )

pg_connection_reset() resets the connection. It is useful for error recovery.

매개변수

connection

PostgreSQL database connection resource.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1804. pg_connection_reset() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $dbconn2 = pg_connection_reset($dbconn);
  if ($dbconn2) {
      echo "reset successful\n";
  } else {
      echo "reset failed\n";
  }
?>

참고

pg_connect()
pg_pconnect()
pg_connection_status()

이전 | 위로 | 다음
pg_connection_busy | 처음으로 | pg_connection_status


pg_connection_status

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_status -- Get connection status

설명

int pg_connection_status ( resource $connection )

pg_connection_status() returns the status of the specified connection.

매개변수

connection

PostgreSQL database connection resource.

반환값

PGSQL_CONNECTION_OK or PGSQL_CONNECTION_BAD.

예제

예 1805. pg_connection_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $stat = pg_connection_status($dbconn);
  if ($stat === PGSQL_CONNECTION_OK) {
      echo 'Connection status ok';
  } else {
      echo 'Connection status bad';
  }
?>

참고

pg_connection_busy()

이전 | 위로 | 다음
pg_connection_reset | 처음으로 | pg_convert


pg_convert

(PHP 4 >= 4.3.0, PHP 5)

pg_convert -- Convert associative array values into suitable for SQL statement

설명

array pg_convert ( resource $connection, string $table_name, array $assoc_array [, int $options] )

pg_convert() checks and converts the values in assoc_array into suitable values for use in a SQL statement. Precondition for pg_convert() is the existence of a table table_name which has at least as many columns as assoc_array has elements. The fieldnames in table_name must match the indices in assoc_array and the corresponding datatypes must be compatible. Returns an array with the converted values on success, FALSE otherwise.

참고: If there are boolean fields in table_name don't use the constant TRUE in assoc_array. It will be converted to the string 'TRUE' which is no valid entry for boolean fields in PostgreSQL. Use one of t, true, 1, y, yes instead.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

connection

PostgreSQL database connection resource.

table_name

Name of the table against which to convert types.

assoc_array

Data to be converted.

options

Any number of PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL or PGSQL_CONV_IGNORE_NOT_NULL, combined.

반환값

An array of converted values, or FALSE on error.

예제

예 1806. pg_convert() example

<?php
  $dbconn = pg_connect('dbname=foo');

  $tmp = array(
      'author' => 'Joe Thackery',
      'year' => 2005,
      'title' => 'My Life, by Joe Thackery'
  );

  $vals = pg_convert($dbconn, 'authors', $tmp);
?>

참고

pg_meta_data()

이전 | 위로 | 다음
pg_connection_status | 처음으로 | pg_copy_from


pg_copy_from

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_from -- Insert records into a table from an array

설명

bool pg_copy_from ( resource $connection, string $table_name, array $rows [, string $delimiter [, string $null_as]] )

pg_copy_from() inserts records into a table from rows. It issues a COPY FROM SQL command internally to insert records.

매개변수

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to copy the rows.

rows

An array of data to be copied into table_name. Each value in rows becomes a row in table_name. Each value in rows should be a delimited string of the values to insert into each field. Values should be linefeed terminated.

delimiter

The token that separates values for each field in each element of rows. Default is TAB.

null_as

How SQL NULL values are represented in the rows. Default is \N ("\\N").

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1807. pg_copy_from() example

<?php
   $db = pg_connect("dbname=publisher") or die("Could not connect");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

참고

pg_copy_to()

이전 | 위로 | 다음
pg_convert | 처음으로 | pg_copy_to


pg_copy_to

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_to -- Copy a table to an array

설명

array pg_copy_to ( resource $connection, string $table_name [, string $delimiter [, string $null_as]] )

pg_copy_to() copies a table to an array. It issues COPY TO SQL command internally to retrieve records.

매개변수

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to copy the data into rows.

delimiter

The token that separates values for each field in each element of rows. Default is TAB.

null_as

How SQL NULL values are represented in the rows. Default is \N ("\\N").

반환값

An array with one element for each line of COPY data. It returns FALSE on failure.

예제

예 1808. pg_copy_to() example

<?php
   $db = pg_connect("dbname=publisher") or die("Could not connect");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

참고

pg_copy_from()

이전 | 위로 | 다음
pg_copy_from | 처음으로 | pg_dbname


pg_dbname

(PHP 4, PHP 5)

pg_dbname -- 데이터베이스의 이름을 돌려준다.

함수 설명

string pg_dbname ( int $connection )

인수로 주어진 접속지시자 (connection index)에 해당하는 데이터베이스 이름을 돌려준다. 올바른 접속지시자가 아니면 거짓(FALSE)을 돌려준다.

이전 | 위로 | 다음
pg_copy_to | 처음으로 | pg_delete


pg_delete

(PHP 4 >= 4.3.0, PHP 5)

pg_delete -- Deletes records

설명

mixed pg_delete ( resource $connection, string $table_name, array $assoc_array [, int $options] )

pg_delete() deletes records from a table specified by the keys and values in assoc_array. If options is specified, pg_convert() is applied to assoc_array with the specified options.

매개변수

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to delete rows.

assoc_array

An array whose keys are field names in the table table_name, and whose values are the values of those fields that are to be deleted.

options

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Returns string if PGSQL_DML_STRING is passed via options.

예제

예 1809. pg_delete() example

<?php
  $db = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $res = pg_delete($db, 'post_log', $_POST);
  if ($res) {
      echo "POST data is deleted: $res\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

pg_convert()

이전 | 위로 | 다음
pg_dbname | 처음으로 | pg_end_copy


pg_end_copy

(PHP 4 >= 4.0.3, PHP 5)

pg_end_copy -- PostgreSQL 백엔드에 동기화한다.

함수 설명

bool pg_end_copy ( [resource $ connection ] )

pg_end_copy() syncs PostgreSQL frontend with the backend after doing a copy operation. It must be issued or the backend may get "out of sync" with the frontend. Returns TRUE if successfull, FALSE otherwise.

For further details and an example, see also pg_put_line().

이전 | 위로 | 다음
pg_delete | 처음으로 | pg_escape_bytea


pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_bytea -- Escape a string for insertion into a bytea field

설명

string pg_escape_bytea ( [resource $connection, string $data] )

pg_escape_bytea() escapes string for bytea datatype. It returns escaped string.

참고: When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.

This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A string containing text or binary data to be inserted into a bytea column.

반환값

A string containing the escaped data.

변경 기록

버전 | 설명
5.2.0 | connection added

예제

예 1810. pg_escape_bytea() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a binary file
  $data = file_get_contents('image1.jpg');

  // Escape the binary data
  $escaped = pg_escape_bytea($data);

  // Insert it into the database
  pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

참고

pg_unescape_bytea()
pg_escape_string()

이전 | 위로 | 다음
pg_end_copy | 처음으로 | pg_escape_string


pg_escape_string

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_string -- Escape a string for insertion into a text field

설명

string pg_escape_string ( [resource $connection, string $data] )

pg_escape_string() escapes a string for insertion into the database. It returns an escaped string in the PostgreSQL format. Use of this function is recommended instead of addslashes(). If the type of the column is bytea, pg_escape_bytea() must be used instead.

참고: This function requires PostgreSQL 7.2 or later.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A string containing text to be escaped.

반환값

A string containing the escaped data.

변경 기록

버전 | 설명
5.2.0 | connection added

예제

예 1811. pg_escape_string() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a text file (containing apostrophes and backslashes)
  $data = file_get_contents('letter.txt');

  // Escape the text data
  $escaped = pg_escape_string($data);

  // Insert it into the database
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', '{$escaped}')");
?>

참고

pg_escape_bytea()

이전 | 위로 | 다음
pg_escape_bytea | 처음으로 | pg_execute


pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_all -- Fetches all rows from a result as an array

설명

array pg_fetch_all ( resource $result )

pg_fetch_all() returns an array that contains all rows (records) in the result resource.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

반환값

An array with all rows in the result. Each row is an array of field values indexed by field name.

FALSE is returned if there are no rows in the result, or on any other error.

예제

예 1814. PostgreSQL fetch all

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

$arr = pg_fetch_all($result);

var_dump($arr);

?>

참고

pg_fetch_row()
pg_fetch_array()
pg_fetch_object()
pg_fetch_result()

이전 | 위로 | 다음
pg_fetch_all_columns | 처음으로 | pg_fetch_array


pg_fetch_array

(PHP 4, PHP 5)

pg_fetch_array -- 데이터베이스의 행을 배열로 가져온다.

함수 설명

array pg_fetch_array ( int $result, int $row [, int $ result_type ] )

이 함수는 데이터베이스에서 가져온 행을 배열로 돌려주며, 만약 더이상 가져올 행이 없는 경우 거짓(FALSE)을 돌려준다.

pg_fetch_array() 함수는 pg_fetch_row() 함수의 확장된 버전으로, 숫자를 인덱스로 하는 배열은 물론이고 각 필드이름을 인덱스로 하는 배열 두가지 형태를 고를 수 있다.

세번째로 정의된 result_type 인수는 선택적으로 주어질 수 있는 상수의 형태로 다음과 같은 값을 취할 수 있다: PGSQL_ASSOC, PGSQL_NUM, 그리고 PGSQL_BOTH.

참고: Result_type 인수는 PHP 4.0 버전부터 추가되었다.

한가지 중요한 사실은 pg_fetch_array() 함수에 pg_fetch_row() 함수보다 요긴하게 사용될 수 있는 기능(siginificant added value)이 추가되었지만 실행속도는 그다지 느리지 않다는 것이다.

pg_fetch_row()도 참고하라.

예 1815. PostgreSQL fetch array

<?php
$conn = pg_pconnect ("dbname=publisher");
if (!$conn) {
    echo "An error occured.\n";
    exit;
}

$result = pg_Exec ($conn, "SELECT * FROM authors");
if (!$result) {
    echo "An error occured.\n";
    exit;
}

$arr = pg_fetch_array ($result, 0);
echo $arr[0] . " <- array\n";

$arr = pg_fetch_array ($result, 1);
echo $arr["author"] . " <- array\n";
?>

이전 | 위로 | 다음
pg_fetch_all | 처음으로 | pg_fetch_assoc


pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_assoc -- Fetch a row as an associative array

설명

array pg_fetch_assoc ( resource $result [, int $row] )

pg_fetch_assoc() returns an associative array that corresponds to the fetched row (records).

pg_fetch_assoc() is equivalent to calling pg_fetch_array() with PGSQL_ASSOC as the optional third parameter. It only returns an associative array. If you need the numeric indices, use pg_fetch_row().

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

pg_fetch_assoc() is NOT significantly slower than using pg_fetch_row(), and is significantly easier to use.

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

반환값

An array indexed associatively (by field name). Each value in the array is represented as a string. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

변경 기록

버전 | 설명
4.1.0 | The parameter row became optional.

예제

예 1816. pg_fetch_assoc() example

<?php
$conn = pg_connect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT id, author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

while ($row = pg_fetch_assoc($result)) {
  echo $row['id'];
  echo $row['author'];
  echo $row['email'];
}
?>

참고

pg_fetch_row()
pg_fetch_array()
pg_fetch_object()
pg_fetch_result()

이전 | 위로 | 다음
pg_fetch_array | 처음으로 | pg_fetch_object


pg_fetch_object

(PHP 4, PHP 5)

pg_fetch_object -- 데이터베이스의 행을 오브젝트로 가져온다.

함수 설명

object pg_fetch_object ( int $result, int $row [, int $ result_type ] )

데이터베이스의 행을 그 행이 가진 프로퍼티와 함께 오브젝트의 형태로 돌려주며, 더이상 가져올 행이 없을 경우 거짓(FALSE)을 돌려준다.

pg_fetch_object() 함수는 pg_fetch_array() 함수와 거의 비슷하지만, 중요한 한가지가 다르다 -- 배열을 돌려주는 대신 오브젝트를 돌려준다. 간접적인 의미로, 여러분은 그 데이터를 오직 그 필드의 이름으로만 접근(access)할 수 있으며 오프셋(offsets)으로는 접근이 불가능하다. (숫자는 올바른 프로퍼티 이름이 아니다)

세번째로 정의된 result_type 인수는 선택적으로 주어질 수 있는 상수의 형태로 다음과 같은 값을 취할 수 있다: PGSQL_ASSOC, PGSQL_NUM, 그리고 PGSQL_BOTH.

참고: Result_type 은 PHP 4.0 버전부터 추가되었다.

함수 실행 속도는 pg_fetch_array() 함수와 마찬가지로, pg_fetch_row() 함수만큼 충분히 빠르다. (그 차이는 미미하다)

pg_fetch_array() 와 pg_fetch_row() 도 참고하라.

예 1817. Postgres fetch object

<?php
$database = "verlag";
$db_conn = pg_connect ("host=localhost port=5432 dbname=$database");
if (!$db_conn): ?>
    <H1>Failed connecting to postgres database <?php echo $database ?></H1> <?php
    exit;
endif;

$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0; // postgres는 다른 데이터베이스들이 필요로 하지 않는 행카운터(row counter)를 필요로 한다

while ($data = pg_fetch_object ($qu, $row)):
    echo $data->autor." (";
    echo $data->jahr ."): ";
    echo $data->titel."<BR>";
    $row++;
endwhile; ?>

<PRE><?php
$fields[] = Array ("autor", "Author");
$fields[] = Array ("jahr",  "  Year");
$fields[] = Array ("titel", " Title");

$row= 0; // postgres는 다른 데이터베이스들이 필요로 하지 않는 행카운터를 필요로 한다
while ($data = pg_fetch_object ($qu, $row)):
    echo "----------\n";
    reset ($fields);
    while (list (,$item) = each ($fields)):
        echo $item[1].": ".$data->$item[0]."\n";
    endwhile;
    $row++;
endwhile;
echo "----------\n"; ?>
</PRE> <?php
pg_freeResult ($qu);
pg_close ($db_conn);
?>

이전 | 위로 | 다음
pg_fetch_assoc | 처음으로 | pg_fetch_result


pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5)

pg_fetch_result -- Returns values from a result resource

설명

string pg_fetch_result ( resource $result, int $row, mixed $field )
string pg_fetch_result ( resource $result, mixed $field )

pg_fetch_result() returns the value of a particular row and field (column) in a PostgreSQL result resource.

참고: This function used to be called pg_result().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

field

A string representing the name of the field (column) to fetch, otherwise and int representing the field number to fetch. Fields are numbered from 0 upwards.

반환값

Boolean is returned as "t" or "f". All other types, including arrays are returned as strings formatted in the same default PostgreSQL manner that you would see in the psql program. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, or on any other error.

예제

예 1818. pg_fetch_result() example

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "First field in the second row is: ", $val, "\n";
?>

위 예제의 출력:

First field in the second row is: 2

참고

pg_query()
pg_fetch_array()

이전 | 위로 | 다음
pg_fetch_object | 처음으로 | pg_fetch_row


pg_fetch_row

(PHP 4, PHP 5)

pg_fetch_row -- 데이터베이스의 행을 숫자를 인덱스로 하는 배열로 가져온다.

함수 설명

array pg_fetch_row ( int $result, int $row )

데이터베이스로부터 가져온 행을 배열형태로 돌려주며, 더이상 가져올 행이 없을 경우 거짓(FALSE)을 돌려준다.

pg_fetch_row() 함수는 인수로 주어진 결과지시자(result identifier)가 가리키는 쿼리의 결과로부터 데이터베이스의 한 행을 배열 형태로 가져온다. 각 결과컬럼 은 0으로 시작되는 배열오프셋(array offset)에 저장된다.

pg_fetch_array(),
 pg_fetch_object(),
 pg_result() 도 참고하라.

예 1819. Postgres fetch row

<?php
$conn = pg_pconnect ("dbname=publisher");
if (!$conn) {
    echo "An error occured.\n";
    exit;
}

$result = pg_Exec ($conn, "SELECT * FROM authors");
if (!$result) {
    echo "An error occured.\n";
    exit;
}

$num = pg_numrows($result);

for ($i=0; $i<$num; $i++) {
  $r = pg_fetch_row($result, $i);

  for ($j=0; $j<count($r); $j++) {
    echo "$r[$j]&nbsp;";
  }

  echo "<BR>";

}

?>

이전 | 위로 | 다음
pg_fetch_result | 처음으로 | pg_field_is_null


pg_field_is_null

(PHP 4 >= 4.2.0, PHP 5)

pg_field_is_null -- Test if a field is SQL NULL

설명

int pg_field_is_null ( resource $result, int $row, mixed $field )
int pg_field_is_null ( resource $result, mixed $field )

pg_field_is_null() tests if a field in a PostgreSQL result resource is SQL NULL or not.

참고: This function used to be called pg_fieldisnull().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, current row is fetched.

field

Field number (starting from 0) as an integer or the field name as a string.

반환값

Returns 1 if the field in the given row is SQL NULL, 0 if not. FALSE is returned if the row is out of range, or upon any other error.

예제

예 1820. pg_field_is_null() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die ("Could not connect");
  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  if ($res) {
      if (pg_field_is_null($res, 0, "year") == 1) {
          echo "The value of the field year is null.\n";
      }
      if (pg_field_is_null($res, 0, "year") == 0) {
          echo "The value of the field year is not null.\n";
    }
 }
?>

이전 | 위로 | 다음
pg_fetch_row | 처음으로 | pg_field_name


pg_field_name

(PHP 4 >= 4.2.0, PHP 5)

pg_field_name -- Returns the name of a field

설명

string pg_field_name ( resource $result, int $field_number )

pg_field_name() returns the name of the field occupying the given field_number in the given PostgreSQL result resource. Field numbering starts from 0.

참고: This function used to be called pg_fieldname().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

반환값

The field name, or FALSE on error.

예제

예 1821. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

위 예제의 출력:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

참고

pg_field_num()

이전 | 위로 | 다음
pg_field_is_null | 처음으로 | pg_field_num


pg_field_num

(PHP 4 >= 4.2.0, PHP 5)

pg_field_num -- Returns the field number of the named field

설명

int pg_field_num ( resource $result, string $field_name )

pg_field_num() will return the number of the field number that corresponds to the field_name in the given PostgreSQL result resource.

참고: This function used to be called pg_fieldnum().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_name

The name of the field.

반환값

The field number (numbered from 0), or -1 on error.

예제

예 1822. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select author, year, title from authors where author = 'Orwell'");

  echo "Column 'title' is field number: ", pg_field_num($res, 'title');
?>

위 예제의 출력:

Column 'title' is field number: 2

참고

pg_field_name()

이전 | 위로 | 다음
pg_field_name | 처음으로 | pg_field_prtlen


pg_field_prtlen

(PHP 4 >= 4.2.0, PHP 5)

pg_field_prtlen -- Returns the printed length

설명

int pg_field_prtlen ( resource $result, int $row_number, mixed $field_name_or_number )
int pg_field_prtlen ( resource $result, mixed $field_name_or_number )

pg_field_prtlen() returns the actual printed length (number of characters) of a specific value in a PostgreSQL result. Row numbering starts at 0. This function will return -1 on an error.

field_name_or_number can be passed either as an integer or as a string. If it is passed as an integer, PHP recognises it as the field number, otherwise as field name.

See the example given at the pg_field_name() page.

참고: This function used to be called pg_fieldprtlen().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result. Rows are numbered from 0 upwards. If omitted, current row is fetched.

반환값

The field printed length, or FALSE on error.

예제

예 1823. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

위 예제의 출력:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

참고

pg_field_size()

이전 | 위로 | 다음
pg_field_num | 처음으로 | pg_field_size


pg_field_size

(PHP 4 >= 4.2.0, PHP 5)

pg_field_size -- Returns the internal storage size of the named field

설명

int pg_field_size ( resource $result, int $field_number )

pg_field_size() returns the internal storage size (in bytes) of the field number in the given PostgreSQL result.

참고: This function used to be called pg_fieldsize().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

반환값

The internal field storage size (in bytes). -1 indicates a variable length field. FALSE is returned on error.

예제

예 1824. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  $i = pg_num_fields($res);
  for ($j = 0; $j < $i; $j++) {
      echo "column $j\n";
      $fieldname = pg_field_name($res, $j);
      echo "fieldname: $fieldname\n";
      echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
      echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
      echo "field type: " . pg_field_type($res, $j) . " \n\n";
  }
?>

위 예제의 출력:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

참고

pg_field_prtlen()
pg_field_type()

이전 | 위로 | 다음
pg_field_prtlen | 처음으로 | pg_field_table


pg_field_type

(PHP 4 >= 4.2.0, PHP 5)

pg_field_type -- Returns the type name for the corresponding field number

설명

string pg_field_type ( resource $result, int $field_number )

pg_field_type() returns a string containing the base type name of the given field_number in the given PostgreSQL result resource.

참고: If the field uses a PostgreSQL domain (rather than a basic type), it is the name of the domain's underlying type that is returned, rather than the name of the domain itself.

참고: This function used to be called pg_fieldtype().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

반환값

A string containing the base name of the field's type, or FALSE on error.

예제

예 1827. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Assume 'title' is a varchar type
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Title field type: ", pg_field_type($res, 0);
?>

위 예제의 출력:

Title field type: varchar

참고

pg_field_prtlen()
pg_field_name()
pg_field_type_oid()

이전 | 위로 | 다음
pg_field_type_oid | 처음으로 | pg_free_result


pg_free_result

(PHP 4 >= 4.2.0, PHP 5)

pg_free_result -- Free result memory

설명

bool pg_free_result ( resource $result )

pg_free_result() frees the memory and data associated with the specified PostgreSQL query result resource.

This function need only be called if memory consumption during script execution is a problem. Otherwise, all result memory will be automatically freed when the script ends.

참고: This function used to be called pg_freeresult().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1828. pg_free_result() example

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "First field in the second row is: ", $val, "\n";

pg_free_result($res);
?>

위 예제의 출력:

First field in the second row is: 2

참고

pg_query()
pg_query_params()
pg_execute()

이전 | 위로 | 다음
pg_field_type | 처음으로 | pg_get_notify


pg_get_notify

(PHP 4 >= 4.3.0, PHP 5)

pg_get_notify -- Gets SQL NOTIFY message

설명

array pg_get_notify ( resource $connection [, int $result_type] )

pg_get_notify() gets notifications generated by a NOTIFY SQL command. To receive notifications, the LISTEN SQL command must be issued.

매개변수

connection

PostgreSQL database connection resource.

result_type

An optional parameter that controls how the returned array is indexed. result_type is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH. Using PGSQL_NUM, pg_get_notify() will return an array with numerical indices, using PGSQL_ASSOC it will return only associative indices while PGSQL_BOTH, the default, will return both numerical and associative indices.

반환값

An array containing the NOTIFY message name and backend PID. Otherwise if no NOTIFY is waiting, then FALSE is returned.

예제

예 1829. PostgreSQL NOTIFY message

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

// Listen 'author_updated' message from other processes
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
  echo "No messages\n";
} else {
  print_r($notify);
}
?>

참고

pg_get_pid()

이전 | 위로 | 다음
pg_free_result | 처음으로 | pg_get_pid


pg_get_pid

(PHP 4 >= 4.3.0, PHP 5)

pg_get_pid -- Gets the backend's process ID

설명

int pg_get_pid ( resource $connection )

pg_get_pid() gets the backend's (database server process) PID. The PID is useful to determine whether or not a NOTIFY message received via pg_get_notify() is sent from another process or not.

매개변수

connection

PostgreSQL database connection resource.

반환값

The backend database process ID.

예제

예 1830. PostgreSQL backend PID

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

// Backend process PID. Use PID with pg_get_notify()
$pid = pg_get_pid($conn);
?>

참고

pg_get_notify()

이전 | 위로 | 다음
pg_get_notify | 처음으로 | pg_get_result


pg_get_result

(PHP 4 >= 4.2.0, PHP 5)

pg_get_result -- Get asynchronous query result

설명

resource pg_get_result ( [resource $connection] )

pg_get_result() gets the result resource from an asynchronous query executed by pg_send_query(), pg_send_query_params() or pg_send_execute().

pg_send_query() and the other asynchronous query functions can send multiple queries to a PostgreSQL server and pg_get_result() is used to get each query's results, one by one.

매개변수

connection

PostgreSQL database connection resource.

반환값

The result resource, or FALSE if no more results are available.

예제

예 1831. pg_get_result() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second call to pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 has $rows2 records\n";
?>

위 예제의 출력:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

참고

pg_send_query()

이전 | 위로 | 다음
pg_get_pid | 처음으로 | pg_host


pg_host

(PHP 4, PHP 5)

pg_host -- Returns the host name associated with the connection

설명

string pg_host ( [resource $connection] )

pg_host() returns the host name of the given PostgreSQL connection resource is connected to.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

A string containing the name of the host the connection is to, or FALSE on error.

예제

예 1832. pg_host() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Successfully connected to: " . pg_host($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

참고

pg_connect()
pg_pconnect()

이전 | 위로 | 다음
pg_get_result | 처음으로 | pg_insert


pg_insert

(PHP 4 >= 4.3.0, PHP 5)

pg_insert -- Insert array into table

설명

mixed pg_insert ( resource $connection, string $table_name, array $assoc_array [, int $options] )

pg_insert() inserts the values of assoc_array into the table specified by table_name. If options is specified, pg_convert() is applied to assoc_array with the specified options.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to insert rows. The table table_name must at least have as many columns as assoc_array has elements.

assoc_array

An array whose keys are field names in the table table_name, and whose values are the values of those fields that are to be inserted.

options

Any number of PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Returns string if PGSQL_DML_STRING is passed via options.

예제

예 1833. pg_insert() example

<?php
  $dbconn = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $res = pg_insert($dbconn, 'post_log', $_POST);
  if ($res) {
      echo "POST data is successfully logged\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

참고

pg_convert()

이전 | 위로 | 다음
pg_host | 처음으로 | pg_last_error


pg_last_error

(PHP 4 >= 4.2.0, PHP 5)

pg_last_error -- Get the last error message string of a connection

설명

string pg_last_error ( [resource $connection] )

pg_last_error() returns the last error message for a given connection.

Error messages may be overwritten by internal PostgreSQL (libpq) function calls. It may not return an appropriate error message if multiple errors occur inside a PostgreSQL module function.

Use pg_result_error(), pg_result_error_field(),
pg_result_status() and
pg_connection_status() for better error handling.

참고: This function used to be called pg_errormessage().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

A string containing the last error message on the given connection, or FALSE on error.

예제

예 1834. pg_last_error() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Query that fails
  $res = pg_query($dbconn, "select * from doesnotexist");

  echo pg_last_error($dbconn);
?>

참고

pg_result_error()
pg_result_error_field()

이전 | 위로 | 다음
pg_insert | 처음으로 | pg_last_notice


pg_last_notice

(PHP 4 >= 4.0.6, PHP 5)

pg_last_notice -- Returns the last notice message from PostgreSQL server

설명

string pg_last_notice ( resource $connection )

pg_last_notice() returns the last notice message from the PostgreSQL server on the specified connection. The PostgreSQL server sends notice messages in several cases, for instance when creating a SERIAL column in a table.

With pg_last_notice(), you can avoid issuing useless queries by checking whether or not the notice is related to your transaction.

Notice message tracking can be set to optional by setting 1 for pgsql.ignore_notice in php.ini.

Notice message logging can be set to optional by setting 0 for pgsql.log_notice in php.ini. Unless pgsql.ignore_notice is set to 0, notice message cannot be logged.

매개변수

connection

PostgreSQL database connection resource.

반환값

A string containing the last notice on the given connection, or FALSE on error.

변경 기록

버전 | 설명
4.3.0 | This function is now fully implemented. Earlier versions ignores database connection parameter.
4.3.0 | The pgsql.ignore_notice and pgsql.log_notice php.ini directives were added.
4.0.6 | PHP 4.0.6 has problem with notice message handling. Use of the PostgreSQL module with PHP 4.0.6 is not recommended even if you are not using pg_last_notice().

예제

예 1835. pg_last_error() example

<?php
  $pgsql_conn = pg_connect("dbname=mark host=localhost");

  $res = pg_query("CREATE TABLE test (id SERIAL)");

  $notice = pg_last_notice($pgsql_conn);

  echo $notice;
?>

위 예제의 출력:

CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"

참고

pg_query()
pg_last_error()

이전 | 위로 | 다음
pg_last_error | 처음으로 | pg_last_oid


pg_last_oid

(PHP 4 >= 4.2.0, PHP 5)

pg_last_oid -- Returns the last row's OID

설명

string pg_last_oid ( resource $result )

pg_last_oid() is used to retrieve the OID assigned to an inserted row.

OID field became an optional field from PostgreSQL 7.2 and will not be present by default in PostgreSQL 8.1. When the OID field is not present in a table, the programmer must use pg_result_status() to check for successful insertion.

To get the value of a SERIAL field in an inserted row, it is necessary to use the PostgreSQL CURRVAL function, naming the sequence whose last value is required. If the name of the sequence is unknown, the pg_get_serial_sequence PostgreSQL 8.0 function is necessary.

PostgreSQL 8.1 has a function LASTVAL that returns the value of the most recently used sequence in the session. This avoids the need for naming the sequence, table or column altogether.

참고: This function used to be called pg_getlastoid().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

반환값

A string containing the OID assigned to the most recently inserted row in the specified connection, or FALSE on error or no available OID.

예제

예 1836. pg_last_oid() example

<?php
  $pgsql_conn = pg_connect("dbname=mark host=localhost");

  $res1 = pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");

  $res2 = pg_query("INSERT INTO test VALUES (1)");

  $oid = pg_last_oid($res2);
?>

참고

pg_query()
pg_result_status()

이전 | 위로 | 다음
pg_last_notice | 처음으로 | pg_lo_close


pg_lo_close

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_close -- Close a large object

설명

bool pg_lo_close ( resource $large_object )

pg_lo_close() closes a large object. large_object is a resource for the large object from pg_lo_open().

To use the large object interface, it is necessary to enclose it within a transaction block.

참고: This function used to be called pg_loclose().

매개변수

result

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1837. pg_lo_close() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

참고

pg_lo_open()
pg_lo_create()
pg_lo_import()

이전 | 위로 | 다음
pg_last_oid | 처음으로 | pg_lo_create


pg_lo_create

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_create -- Create a large object

설명

int pg_lo_create ( [resource $connection] )

pg_lo_create() creates a large object and returns the OID of the large object. PostgreSQL access modes INV_READ, INV_WRITE, and INV_ARCHIVE are not supported, the object is created always with both read and write access. INV_ARCHIVE has been removed from PostgreSQL itself (version 6.3 and above).

To use the large object interface, it is necessary to enclose it within a transaction block.

Instead of using the large object interface (which has no access controls and is cumbersome to use), try PostgreSQL's bytea column type and pg_escape_bytea().

참고: This function used to be called pg_locreate().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

A large object OID or FALSE on error.

예제

예 1838. pg_lo_create() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

이전 | 위로 | 다음
pg_lo_close | 처음으로 | pg_lo_export


pg_lo_export

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_export -- Export a large object to file

설명

bool pg_lo_export ( resource $connection, int $oid, string $pathname )
bool pg_lo_export ( int $oid, string $pathname )

pg_lo_export() takes a large object in a PostgreSQL database and saves its contents to a file on the local filesystem.

To use the large object interface, it is necessary to enclose it within a transaction block.

참고: This function used to be called pg_loexport().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

pathname

The full path and file name of the file in which to write the large object on the client filesystem.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1839. pg_lo_export() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   $handle = pg_lo_open($database, $oid, "w");
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_lo_export($database, $oid, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

참고

pg_lo_import()

이전 | 위로 | 다음
pg_lo_create | 처음으로 | pg_lo_import


pg_lo_import

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_import -- Import a large object from file

설명

int pg_lo_import ( resource $connection, string $pathname )
int pg_lo_import ( string $pathname )

pg_lo_import() creates a new large object in the database using a file on the filesystem as its data source.

To use the large object interface, it is necessary to enclose it within a transaction block.

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

참고: This function used to be called pg_loimport().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

pathname

The full path and file name of the file on the client filesystem from which to read the large object data.

반환값

The OID of the newly created large object, or FALSE on failure.

변경 기록

버전 | 설명
4.2.0 | The syntax of this function changed. It used to be: int pg_lo_import ( string $pathname [, resource $connection] )

예제

예 1840. pg_lo_import() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_import($database, '/tmp/lob.dat');
   pg_query($database, "commit");
?>

참고

pg_lo_export()
pg_lo_open()

이전 | 위로 | 다음
pg_lo_export | 처음으로 | pg_lo_open


pg_lo_open

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_open -- Open a large object

설명

resource pg_lo_open ( resource $connection, int $oid, string $mode )

pg_lo_open() opens a large object in the database and returns large object resource so that it can be manipulated.

주의

Do not close the database connection before closing the large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

참고: This function used to be called pg_loopen().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

mode

Can be either "r" for read-only, "w" for write only or "rw" for read and write.

반환값

A large object resource or FALSE on error.

예제

예 1841. pg_lo_open() example

<?php
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $oid = pg_lo_create($database);
   echo "$oid\n";
   $handle = pg_lo_open($database, $oid, "w");
   echo "$handle\n";
   pg_lo_write($handle, "large object data");
   pg_lo_close($handle);
   pg_query($database, "commit");
?>

참고

pg_lo_close()
pg_lo_create()

이전 | 위로 | 다음
pg_lo_import | 처음으로 | pg_lo_read_all


pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read_all -- Reads an entire large object and send straight to browser

설명

int pg_lo_read_all ( resource $large_object )

pg_lo_read_all() reads a large object and passes it straight through to the browser after sending all pending headers. Mainly intended for sending binary data like images or sound.

To use the large object interface, it is necessary to enclose it within a transaction block.

참고: This function used to be called pg_loreadall().

매개변수

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

반환값

Number of bytes read or FALSE on error.

예제

예 1842. pg_lo_read_all() example

<?php
   header('Content-type: image/jpeg');
   $image_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $image_oid, "r");
   pg_lo_read_all($handle);
   pg_query($database, "commit");
?>

참고

pg_lo_read()

이전 | 위로 | 다음
pg_lo_open | 처음으로 | pg_lo_read


pg_lo_read

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read -- Read a large object

설명

string pg_lo_read ( resource $large_object [, int $len] )

pg_lo_read() reads at most len bytes from a large object and returns it as a string.

To use the large object interface, it is necessary to enclose it within a transaction block.

참고: This function used to be called pg_loread().

매개변수

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

len

An optional maximum number of bytes to return. Defaults to 8192.

반환값

A string containing len bytes from the large object, or FALSE on error.

예제

예 1843. pg_lo_read() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   $data = pg_lo_read($handle, 50000);
   pg_query($database, "commit");
   echo $data;
?>

참고

pg_lo_read_all()

이전 | 위로 | 다음
pg_lo_read_all | 처음으로 | pg_lo_seek


pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_seek -- Seeks position within a large object

설명

bool pg_lo_seek ( resource $large_object, int $offset [, int $whence] )

pg_lo_seek() seeks a position within a large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

매개변수

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

offset

The number of bytes to seek.

whence

One of the constants PGSQL_SEEK_SET (seek from object start), PGSQL_SEEK_CUR (seek from current position) or PGSQL_SEEK_END (seek from object end) .

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1844. pg_lo_seek() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Skip first 50000 bytes
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Read the next 10000 bytes
   $data = pg_lo_read($handle, 10000);
   pg_query($database, "commit");
   echo $data;
?>

참고

pg_lo_tell()

이전 | 위로 | 다음
pg_lo_read | 처음으로 | pg_lo_tell


pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_tell -- Returns current seek position a of large object

설명

int pg_lo_tell ( resource $large_object )

pg_lo_tell() returns the current position (offset from the beginning) of a large object.

To use the large object interface, it is necessary to enclose it within a transaction block.

매개변수

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

반환값

The current seek offset (in number of bytes) from the beginning of the large object. If there is an error, the return value is negative.

예제

예 1845. pg_lo_tell() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Skip first 50000 bytes
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // See how far we've skipped
   $offset = pg_lo_tell($handle);
   echo "Seek position is: $offset";
   pg_query($database, "commit");
?>

위 예제의 출력:

Seek position is: 50000

참고

pg_lo_seek()

이전 | 위로 | 다음
pg_lo_seek | 처음으로 | pg_lo_unlink


pg_lo_unlink

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_unlink -- Delete a large object

설명

bool pg_lo_unlink ( resource $connection, int $oid )

pg_lo_unlink() deletes a large object with the oid. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

To use the large object interface, it is necessary to enclose it within a transaction block.

참고: This function used to be called pg_lounlink().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1846. pg_lo_unlink() example

<?php
   // OID of the large object to delete
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   pg_lo_unlink($database, $doc_oid);
   pg_query($database, "commit");
?>

참고

pg_lo_create()
pg_lo_import()

이전 | 위로 | 다음
pg_lo_tell | 처음으로 | pg_lo_write


pg_lo_write

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_write -- Write to a large object

설명

int pg_lo_write ( resource $large_object, string $data [, int $len] )

pg_lo_write() writes data into a large object at the current seek position.

To use the large object interface, it is necessary to enclose it within a transaction block.

참고: This function used to be called pg_lowrite().

매개변수

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

data

The data to be written to the large object. If len is specified and is less than the length of data, only len bytes will be written.

len

An optional maximum number of bytes to write. Must be greater than zero and no greater than the length of data. Defaults to the length of data.

반환값

The number of bytes written to the large object, or FALSE on error.

예제

예 1847. pg_lo_write() example

<?php
   $doc_oid = 189762345;
   $data = "This will overwrite the start of the large object.";
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "w");
   $data = pg_lo_write($handle, $data);
   pg_query($database, "commit");
?>

참고

pg_lo_create()
pg_lo_open()

이전 | 위로 | 다음
pg_lo_unlink | 처음으로 | pg_meta_data


pg_meta_data

(PHP 4 >= 4.3.0, PHP 5)

pg_meta_data -- Get meta data for table

설명

array pg_meta_data ( resource $connection, string $table_name )

pg_meta_data() returns table definition for table_name as an array.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

connection

PostgreSQL database connection resource.

table_name

The name of the table.

반환값

An array of the table definition, or FALSE on error.

예제

예 1848. Getting table metadata

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $meta = pg_meta_data($dbconn, 'authors');
  if (is_array($meta)) {
      echo '<pre>';
      var_dump($meta);
      echo '</pre>';
  }
?>

위 예제의 출력:

array(3) {
["author"]=>
array(5) {
  ["num"]=>
  int(1)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["year"]=>
array(5) {
  ["num"]=>
  int(2)
  ["type"]=>
  string(4) "int2"
  ["len"]=>
  int(2)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["title"]=>
array(5) {
  ["num"]=>
  int(3)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
}

참고

pg_convert()

이전 | 위로 | 다음
pg_lo_write | 처음으로 | pg_num_fields


pg_num_fields

(PHP 4 >= 4.2.0, PHP 5)

pg_num_fields -- Returns the number of fields in a result

설명

int pg_num_fields ( resource $result )

pg_num_fields() returns the number of fields (columns) in a PostgreSQL result resource.

참고: This function used to be called pg_numfields().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

반환값

The number of fields (columns) in the result. On error, -1 is returned.

예제

예 1849. pg_num_fields() example

<?php
$result = pg_query($conn, "SELECT 1, 2");

$num = pg_num_fields($result);

echo $num . " field(s) returned.\n";
?>

위 예제의 출력:

2 field(s) returned.

참고

pg_num_rows()
pg_affected_rows()

이전 | 위로 | 다음
pg_meta_data | 처음으로 | pg_num_rows


pg_num_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_num_rows -- Returns the number of rows in a result

설명

int pg_num_rows ( resource $result )

pg_num_rows() will return the number of rows in a PostgreSQL result resource.

참고: This function used to be called pg_numrows().

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

반환값

The number of rows in the result. On error, -1 is returned.

예제

예 1850. pg_num_rows() example

<?php
$result = pg_query($conn, "SELECT 1");

$rows = pg_num_rows($result);

echo $rows . " row(s) returned.\n";
?>

위 예제의 출력:

1 row(s) returned.

참고

pg_num_fields()
pg_affected_rows()

이전 | 위로 | 다음
pg_num_fields | 처음으로 | pg_options


pg_options

(PHP 4, PHP 5)

pg_options -- Get the options associated with the connection

설명

string pg_options ( [resource $connection] )

pg_options() will return a string containing the options specified on the given PostgreSQL connection resource.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

A string containing the connection options, or FALSE on error.

예제

예 1851. pg_options() example

<?php
   $pgsql_conn = pg_connect("dbname=mark host=localhost");
   echo pg_options($pgsql_conn);
?>

참고

pg_connect()

이전 | 위로 | 다음
pg_num_rows | 처음으로 | pg_parameter_status


pg_parameter_status

(PHP 5)

pg_parameter_status -- Looks up a current parameter setting of the server.

설명

string pg_parameter_status ( resource $connection, string $param_name )
string pg_parameter_status ( string $param_name )

Looks up a current parameter setting of the server.

Certain parameter values are reported by the server automatically at connection startup or whenever their values change. pg_parameter_status() can be used to interrogate these settings. It returns the current value of a parameter if known, or FALSE if the parameter is not known.

Parameters reported as of PostgreSQL 8.0 include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes. (server_encoding, TimeZone, and integer_datetimes were not reported by releases before 8.0.) Note that server_version, server_encoding and integer_datetimes cannot change after PostgreSQL startup.

PostgreSQL 7.3 or lower servers do not report parameter settings, pg_parameter_status() includes logic to obtain values for server_version and client_encoding anyway. Applications are encouraged to use pg_parameter_status() rather than ad hoc code to determine these values.

경고

On a pre-7.4 PostgreSQL server, changing client_encoding via SET after connection startup will not be reflected by pg_parameter_status().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

param_name

Possible param_name values include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes.

반환값

A string containing the value of the parameter, FALSE on failure or invalid param_name.

예제

예 1852. pg_parameter_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  echo "Server encoding: ", pg_parameter_status($dbconn, "server_encoding");
?>

위 예제의 출력:

Server encoding: SQL_ASCII

이전 | 위로 | 다음
pg_options | 처음으로 | pg_pconnect


pg_pconnect

(PHP 4, PHP 5)

pg_pconnect -- Open a persistent PostgreSQL connection

설명

resource pg_pconnect ( string $connection_string [, int $connect_type] )

pg_pconnect() opens a connection to a PostgreSQL database. It returns a connection resource that is needed by other PostgreSQL functions.

If a second call is made to pg_pconnect() with the same connection_string as an existing connection, the existing connection will be returned unless you pass PGSQL_CONNECT_FORCE_NEW as connect_type.

To enable persistent connection, the pgsql.allow_persistent php.ini directive must be set to "On" (which is the default). The maximum number of persistent connection can be defined with the pgsql.max_persistent php.ini directive (defaults to -1 for no limit). The total number of connections can be set with the pgsql.max_links php.ini directive.

pg_close() will not close persistent links generated by pg_pconnect().

매개변수

connection_string

The connection_string can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the form keyword = value. Spaces around the equal sign are optional. To write an empty value or a value containing spaces, surround it with single quotes, e.g., keyword = 'a value'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.

The currently recognized parameter keywords are: host, hostaddr, port, dbname, user, password, connect_timeout, options, tty (ignored), sslmode, requiressl (deprecated in favor of sslmode), and service. Which of these arguments exist depends on your PostgreSQL version.

connect_type

If PGSQL_CONNECT_FORCE_NEW is passed, then a new connection is created, even if the connection_string is identical to an existing connection.

반환값

PostgreSQL connection resource on success, FALSE on failure.

예제

예 1853. Using pg_pconnect()

<?php
$dbconn = pg_pconnect("dbname=mary");
//connect to a database named "mary"

$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"

$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//connect to a database named "mary" on the host "sheep" with a username and password

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
//connect to a database named "test" on the host "sheep" with a username and password
?>

참고

pg_connect()
Persistent Database Connections

이전 | 위로 | 다음
pg_parameter_status | 처음으로 | pg_ping


pg_ping

(PHP 4 >= 4.3.0, PHP 5)

pg_ping -- Ping database connection

설명

bool pg_ping ( [resource $connection] )

pg_ping() pings a database connection and tries to reconnect it if it is broken.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1854. pg_ping() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

if (!pg_ping($conn))
  die("Connection is broken\n");
?>

참고

pg_connection_status()
pg_connection_reset()

이전 | 위로 | 다음
pg_pconnect | 처음으로 | pg_port


pg_port

(PHP 4, PHP 5)

pg_port -- Return the port number associated with the connection

설명

int pg_port ( [resource $connection] )

pg_port() returns the port number that the given PostgreSQL connection resource is connected to.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

An int containing the port number of the database server the connection is to, or FALSE on error.

예제

예 1855. pg_port() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Successfully connected to port: " . pg_port($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

이전 | 위로 | 다음
pg_ping | 처음으로 | pg_prepare


pg_put_line

(PHP 4 >= 4.0.3, PHP 5)

pg_put_line -- Send a NULL-terminated string to PostgreSQL backend

설명

bool pg_put_line ( string $data )
bool pg_put_line ( resource $connection, string $data )

pg_put_line() sends a NULL-terminated string to the PostgreSQL backend server. This is needed in conjunction with PostgreSQL's COPY FROM command.

COPY is a high-speed data loading interface supported by PostgreSQL. Data is passed in without being parsed, and in a single transaction.

An alternative to using raw pg_put_line() commands is to use pg_copy_from(). This is a far simpler interface.

참고: The application must explicitly send the two characters "\." on the last line to indicate to the backend that it has finished sending its data, before issuing pg_end_copy().

주의

Use of the pg_put_line() causes most large object operations, including pg_lo_read() and pg_lo_tell(), to subsequently fail. You can use pg_copy_from() and pg_copy_to() instead.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A line of text to be sent directly to the PostgreSQL backend. A NULL terminator is added automatically.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1857. pg_put_line() example

<?php
  $conn = pg_pconnect("dbname=foo");
  pg_query($conn, "create table bar (a int4, b char(16), d float8)");
  pg_query($conn, "copy bar from stdin");
  pg_put_line($conn, "3\thello world\t4.5\n");
  pg_put_line($conn, "4\tgoodbye world\t7.11\n");
  pg_put_line($conn, "\\.\n");
  pg_end_copy($conn);
?>

참고

pg_end_copy()

이전 | 위로 | 다음
pg_prepare | 처음으로 | pg_query_params


pg_query

(PHP 4 >= 4.2.0, PHP 5)

pg_query -- Execute a query

설명

resource pg_query ( string $query )
resource pg_query ( resource $connection, string $query )

pg_query() executes the query on the specified database connection.

If an error occurs, and FALSE is returned, details of the error can be retrieved using the pg_last_error() function if the connection is valid.

참고: Although connection can be omitted, it is not recommended, since it can be the cause of hard to find bugs in scripts.

참고: This function used to be called pg_exec(). pg_exec() is still available for compatibility reasons, but users are encouraged to use the newer name.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

query

The SQL statement or statements to be executed. When multiple statements are passed to the function, they are automatically executed as one transaction, unless there are explicit BEGIN/COMMIT commands included in the query string. However, using multiple transactions in one function call is not recommended.

반환값

A query result resource on success, or FALSE on failure.

예제

예 1859. pg_query() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

예 1860. Using pg_query() with multiple statements

<?php

$conn = pg_pconnect("dbname=publisher");

// these statements will be executed as one transaction

$query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query .= "UPDATE authors SET author=NULL WHERE id=3;";

pg_query($conn, $query);

?>

참고

pg_connect()
pg_pconnect()
pg_fetch_array()
pg_fetch_object()
pg_num_rows()
pg_affected_rows()

이전 | 위로 | 다음
pg_query_params | 처음으로 | pg_result_error_field


pg_result_error

(PHP 4 >= 4.2.0, PHP 5)

pg_result_error -- Get error message associated with result

설명

string pg_result_error ( resource $result )

pg_result_error() returns any error message associated with the result resource. Therefore, the user has a better chance of getting the correct error message than with pg_last_error().

The function pg_result_error_field() can give much greater detail on result errors than pg_result_error().

Because pg_query() returns FALSE if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

반환값

Returns a string if there is an error associated with the result parameter, FALSE otherwise.

예제

예 1862. pg_result_error() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

참고

pg_result_error_field()
pg_query()
pg_send_query()
pg_get_result()
pg_last_error()
pg_last_notice()

이전 | 위로 | 다음
pg_result_error_field | 처음으로 | pg_result_seek


pg_result_seek

(PHP 4 >= 4.3.0, PHP 5)

pg_result_seek -- Set internal row offset in result resource

설명

bool pg_result_seek ( resource $result, int $offset )

pg_result_seek() sets the internal row offset in a result resource.

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

offset

Row to move the internal offset to in the result resource. Rows are numbered starting from zero.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1863. pg_result_seek() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a query
$result = pg_query($conn, "SELECT author, email FROM authors");

// Seek to the 3rd row (assuming there are 3 rows)
pg_result_seek($result, 2);

// Fetch the 3rd row
$row = pg_fetch_row($result);

?>

참고

pg_fetch_row()
pg_fetch_assoc()
pg_fetch_array()
pg_fetch_object()
pg_fetch_result()

이전 | 위로 | 다음
pg_result_error | 처음으로 | pg_result_status


pg_result_status

(PHP 4 >= 4.2.0, PHP 5)

pg_result_status -- Get status of query result

설명

mixed pg_result_status ( resource $result [, int $type] )

pg_result_status() returns the status of a result resource, or the PostgreSQL command completion tag associated with the result

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

type

Either PGSQL_STATUS_LONG to return the numeric status of the result, or PGSQL_STATUS_STRING to return the command tag of the result. If not specified, PGSQL_STATUS_LONG is the default.

반환값

Possible return values are PGSQL_EMPTY_QUERY, PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_OUT, PGSQL_COPY_IN, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR and PGSQL_FATAL_ERROR if PGSQL_STATUS_LONG is specified. Otherwise, a string containing the PostgreSQL command tag is returned.

변경 기록

버전 | 설명
4.3.0 | The type parameter was added.

예제

예 1864. pg_result_status() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a COPY
$result = pg_query($conn, "COPY authors FROM STDIN;");

// Get the result status
$status = pg_result_status($result);

// Determine status
if ($status == PGSQL_COPY_IN)
   echo "Copy began.";
else
   echo "Copy failed.";

?>

위 예제의 출력:

Copy began.

참고

pg_connection_status()

이전 | 위로 | 다음
pg_result_seek | 처음으로 | pg_select


pg_select

(PHP 4 >= 4.3.0, PHP 5)

pg_select -- Select records

설명

mixed pg_select ( resource $connection, string $table_name, array $assoc_array [, int $options] )

pg_select() selects records specified by assoc_array which has field=>value. For a successful query, it returns an array containing all records and fields that match the condition specified by assoc_array.

If options is specified, pg_convert() is applied to assoc_array with the specified flags.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to select rows.

assoc_array

An array whose keys are field names in the table table_name, and whose values are the conditions that a row must meet to be retrieved.

options

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Returns string if PGSQL_DML_STRING is passed via options.

예제

예 1865. pg_select() example

<?php
  $db = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $rec = pg_select($db, 'post_log', $_POST);
  if ($rec) {
      echo "Records selected\n";
      var_dump($rec);
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

참고

pg_convert()

이전 | 위로 | 다음
pg_result_status | 처음으로 | pg_send_execute


pg_send_query

(PHP 4 >= 4.2.0, PHP 5)

pg_send_query -- Sends asynchronous query

설명

bool pg_send_query ( resource $connection, string $query )

pg_send_query() sends a query or queries asynchronously to the connection. Unlike pg_query(), it can send multiple queries at once to PostgreSQL and get the results one by one using pg_get_result().

Script execution is not blocked while the queries are executing. Use pg_connection_busy() to check if the connection is busy (i.e. the query is executing). Queries may be cancelled using pg_cancel_query().

Although the user can send multiple queries at once, multiple queries cannot be sent over a busy connection. If a query is sent while the connection is busy, it waits until the last query is finished and discards all its results.

매개변수

connection

PostgreSQL database connection resource.

query

The SQL statement or statements to be executed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

Use pg_get_result() to determine the query result.

예제

예 1869. pg_send_query() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second call to pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 has $rows2 records\n";
?>

위 예제의 출력:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

참고

pg_query()
pg_cancel_query()
pg_get_result()
pg_connection_busy()

이전 | 위로 | 다음
pg_send_query_params | 처음으로 | pg_set_client_encoding


pg_set_client_encoding

(PHP 4 >= 4.0.3, PHP 5)

pg_set_client_encoding -- Set the client encoding

설명

int pg_set_client_encoding ( string $encoding )
int pg_set_client_encoding ( resource $connection, string $encoding )

pg_set_client_encoding() sets the client encoding and returns 0 if success or -1 if error.

PostgreSQL will automatically convert data in the backend database encoding into the frontend encoding.

참고: The function used to be called pg_setclientencoding().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

encoding

The required client encoding. One of SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5 or WIN1250.

The exact list of available encodings depends on your PostgreSQL version, so check your PostgreSQL manual for a more specific list.

반환값

Returns 0 on success or -1 on error.

예제

예 1870. pg_set_client_encoding() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

// Set the client encoding to UNICODE.  Data will be automatically
// converted from the backend encoding to the frontend.
pg_set_client_encoding($conn, UNICODE);

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

// Write out UTF-8 data
while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

참고

pg_client_encoding()

이전 | 위로 | 다음
pg_send_query | 처음으로 | pg_set_error_verbosity


pg_trace

(PHP 4 >= 4.0.1, PHP 5)

pg_trace -- Enable tracing a PostgreSQL connection

설명

bool pg_trace ( string $pathname [, string $mode [, resource $connection]] )

pg_trace() enables tracing of the PostgreSQL frontend/backend communication to a file. To fully understand the results, one needs to be familiar with the internals of PostgreSQL communication protocol.

For those who are not, it can still be useful for tracing errors in queries sent to the server, you could do for example grep '^To backend' trace.log and see what queries actually were sent to the PostgreSQL server. For more information, refer to the » PostgreSQL Documentation.

매개변수

pathname

The full path and file name of the file in which to write the trace log. Same as in fopen().

pathname

An optional file access mode, same as for fopen(). Defaults to "w".

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1872. pg_trace() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Now /tmp/trace.log will contain backend communication
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

참고

fopen()
pg_untrace()

이전 | 위로 | 다음
pg_set_error_verbosity | 처음으로 | pg_transaction_status


pg_tty

(PHP 4, PHP 5)

pg_tty -- Return the TTY name associated with the connection

설명

string pg_tty ( [resource $connection] )

pg_tty() returns the TTY name that server side debugging output is sent to on the given PostgreSQL connection resource.

참고: pg_tty() is obsolete, since the server no longer pays attention to the TTY setting, but the function remains for backwards compatibility.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

A string containing the debug TTY of the connection, or FALSE on error.

예제

예 1874. pg_tty() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Server debug TTY is: " . pg_tty($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

이전 | 위로 | 다음
pg_transaction_status | 처음으로 | pg_unescape_bytea


pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5)

pg_unescape_bytea -- Unescape binary for bytea type

설명

string pg_unescape_bytea ( string $data )

pg_unescape_bytea() unescapes PostgreSQL bytea data values. It returns the unescaped string, possibly containing binary data.

참고: When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.

This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.

매개변수

data

A string containing PostgreSQL bytea data to be converted into a PHP binary string.

반환값

A string containing the unescaped data.

예제

예 1875. pg_unescape_bytea() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Get the bytea data
  $res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'");
  $raw = pg_fetch_result($res, 'data');

  // Convert to binary and send to the browser
  header('Content-type: image/jpeg');
  echo pg_unescape_bytea($raw);
?>

참고

pg_escape_bytea()
pg_escape_string()

이전 | 위로 | 다음
pg_tty | 처음으로 | pg_untrace


pg_untrace

(PHP 4 >= 4.0.1, PHP 5)

pg_untrace -- Disable tracing of a PostgreSQL connection

설명

bool pg_untrace ( [resource $connection] )

Stop tracing started by pg_trace().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

Always returns TRUE.

예제

예 1876. pg_untrace() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
   pg_query("SELECT 1");
   pg_untrace($pgsql_conn);
   // Now tracing of backend communication is disabled
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

참고

pg_trace()

이전 | 위로 | 다음
pg_unescape_bytea | 처음으로 | pg_update


pg_update

(PHP 4 >= 4.3.0, PHP 5)

pg_update -- Update table

설명

mixed pg_update ( resource $connection, string $table_name, array $data, array $condition [, int $options] )

pg_update() updates records that matches condition with data. If options is specified, pg_convert() is applied to data with specified options.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to update rows.

data

An array whose keys are field names in the table table_name, and whose values are what matched rows are to be updated to.

condition

An array whose keys are field names in the table table_name, and whose values are the conditions that a row must meet to be updated.

options

Any number of PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Returns string if PGSQL_DML_STRING is passed via options.

예제

예 1877. pg_update() example

<?php
  $db = pg_connect('dbname=foo');
  $data = array('field1'=>'AA', 'field2'=>'BB');

  // This is safe, since $_POST is converted automatically
  $res = pg_update($db, 'post_log', $_POST, $data);
  if ($res) {
      echo "Data is updated: $res\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

참고

pg_convert()

이전 | 위로 | 다음
pg_untrace | 처음으로 | pg_version


pg_version

(PHP 5)

pg_version -- Returns an array with client, protocol and server version (when available)

설명

array pg_version ( [resource $connection] )

pg_version() returns an array with the client, protocol and server version. Protocol and server versions are only available if PHP was compiled with PostgreSQL 7.4 or later.

For more detailed server information, use pg_parameter_status().

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

반환값

Returns an array with client, protocol and server_version keys and values (if available). Returns FALSE on error or invalid connection.

예제

예 1878. pg_version() example

<?php
  $dbconn = pg_connect("host=localhost port=5432 dbname=mary")
     or die("Could not connect");

  $v = pg_version($dbconn);

  echo $v['client'];
?>

위 예제의 출력:

7.4

참고

pg_parameter_status()

이전 | 위로 | 다음
pg_update | 처음으로 | CXXVIII. PostgreSQL Functions (PDO_PGSQL)


Process Control Functions

이전 VI. 함수 레퍼런스 다음

CXIX. Process Control Functions

소개

Process Control support in PHP implements the Unix style of process creation, program execution, signal handling and process termination. Process Control should not be enabled within a web server environment and unexpected results may happen if any Process Control functions are used within a web server environment.

This documentation is intended to explain the general usage of each of the Process Control functions. For detailed information about Unix process control you are encouraged to consult your systems documentation including fork(2), waitpid(2) and signal(2) or a comprehensive reference such as Advanced Programming in the UNIX Environment by W. Richard Stevens (Addison-Wesley).

PCNTL now uses ticks as the signal handle callback mechanism, which is much faster than the previous mechanism. This change follows the same semantics as using "user ticks". You use the declare() statement to specify the locations in your program where callbacks are allowed to occur. This allows you to minimize the overhead of handling asynchronous events. In the past, compiling PHP with pcntl enabled would always incur this overhead, whether or not your script actually used pcntl.

There is one adjustment that all pcntl scripts prior to PHP 4.3.0 must make for them to work which is to either to use declare() on a section where you wish to allow callbacks or to just enable it across the entire script using the new global syntax of declare().

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

Process Control support in PHP is not enabled by default. You have to compile the CGI or CLI version of PHP with --enable-pcntl configuration option when compiling PHP to enable Process Control support.

참고: Currently, this module will not function on non-Unix platforms (Windows).

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

The following list of signals are supported by the Process Control functions. Please see your systems signal(7) man page for details of the default behavior of these signals.

WNOHANG (integer)
WUNTRACED (integer)
SIG_IGN (integer)
SIG_DFL (integer)
SIG_ERR (integer)
SIGHUP (integer)
SIGINT (integer)
SIGQUIT (integer)
SIGILL (integer)
SIGTRAP (integer)
SIGABRT (integer)
SIGIOT (integer)
SIGBUS (integer)
SIGFPE (integer)
SIGKILL (integer)
SIGUSR1 (integer)
SIGSEGV (integer)
SIGUSR2 (integer)
SIGPIPE (integer)
SIGALRM (integer)
SIGTERM (integer)
SIGSTKFLT (integer)
SIGCLD (integer)
SIGCHLD (integer)
SIGCONT (integer)
SIGSTOP (integer)
SIGTSTP (integer)
SIGTTIN (integer)
SIGTTOU (integer)
SIGURG (integer)
SIGXCPU (integer)
SIGXFSZ (integer)
SIGVTALRM (integer)
SIGPROF (integer)
SIGWINCH (integer)
SIGPOLL (integer)
SIGIO (integer)
SIGPWR (integer)
SIGSYS (integer)
SIGBABY (integer)

예제

This example forks off a daemon process with a signal handler.

예 1611. Process Control Example

<?php
declare(ticks=1);

$pid = pcntl_fork();
if ($pid == -1) {
     die("could not fork");
} else if ($pid) {
     exit(); // we are the parent
} else {
     // we are the child
}

// detatch from the controlling terminal
if (posix_setsid() == -1) {
    die("could not detach from terminal");
}

// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

// loop forever performing tasks
while (1) {

    // do something interesting here

}

function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         default:
             // handle all other signals
     }

}

?>

참고

A look at the section about POSIX functions may be useful.

차례

pcntl_alarm -- Set an alarm clock for delivery of a signal
pcntl_exec -- Executes specified program in current process space
pcntl_fork -- Forks the currently running process
pcntl_getpriority -- Get the priority of any process
pcntl_setpriority -- Change the priority of any process
pcntl_signal -- Installs a signal handler
pcntl_wait -- Waits on or returns the status of a forked child
pcntl_waitpid -- Waits on or returns the status of a forked child
pcntl_wexitstatus -- Returns the return code of a terminated child
pcntl_wifexited -- Checks if status code represents a normal exit
pcntl_wifsignaled -- Checks whether the status code represents a termination due to a signal
pcntl_wifstopped -- Checks whether the child process is currently stopped
pcntl_wstopsig -- Returns the signal which caused the child to stop
pcntl_wtermsig -- Returns the signal which caused the child to terminate
이전 | 위로 | 다음
parsekit_func_arginfo | 처음으로 | pcntl_alarm


pcntl_alarm

(PHP 4 >= 4.3.0, PHP 5)

pcntl_alarm -- Set an alarm clock for delivery of a signal

설명

int pcntl_alarm ( int $seconds )

Creates a timer that will send a SIGALRM signal to the process after the given number of seconds. Any call to pcntl_alarm() will cancel any previously set alarm.

매개변수

seconds

The number of seconds to wait. If seconds is zero, no new alarm is created.

반환값

Returns the time in seconds that any previously scheduled alarm had remaining before it was to be delivered, or 0 if there was no previously scheduled alarm.

이전 | 위로 | 다음
CXIX. Process Control Functions | 처음으로 | pcntl_exec


pcntl_exec

(PHP 4 >= 4.2.0, PHP 5)

pcntl_exec -- Executes specified program in current process space

설명

void pcntl_exec ( string $path [, array $args [, array $envs]] )

Executes the program with the given arguments.

매개변수

path

path must be the path to a binary executable or a script with a valid path pointing to an executable in the shebang ( #!/usr/local/bin/perl for example) as the first line. See your system's man execve(2) page for additional information.

args

args is an array of argument strings passed to the program.

envs

envs is an array of strings which are passed as environment to the program. The array is in the format of name => value, the key being the name of the environmental variable and the value being the value of that variable.

반환값

Returns FALSE on error and does not return on success.

이전 | 위로 | 다음
pcntl_alarm | 처음으로 | pcntl_fork


pcntl_fork

(PHP 4 >= 4.0.7, PHP 5)

pcntl_fork -- Forks the currently running process

설명

int pcntl_fork ( void )

The pcntl_fork() function creates a child process that differs from the parent process only in its PID and PPID. Please see your system's fork(2) man page for specific details as to how fork works on your system.

반환값

On success, the PID of the child process is returned in the parent's thread of execution, and a 0 is returned in the child's thread of execution. On failure, a -1 will be returned in the parent's context, no child process will be created, and a PHP error is raised.

예제

예 1612. pcntl_fork() example

<?php

$pid = pcntl_fork();
if ($pid == -1) {
     die('could not fork');
} else if ($pid) {
     // we are the parent
     pcntl_wait($status); //Protect against Zombie children
} else {
     // we are the child
}

?>

참고

pcntl_waitpid()
pcntl_signal()

이전 | 위로 | 다음
pcntl_exec | 처음으로 | pcntl_getpriority


pcntl_getpriority

(PHP 5)

pcntl_getpriority -- Get the priority of any process

설명

int pcntl_getpriority ( [int $pid [, int $process_identifier]] )

pcntl_getpriority() gets the priority of pid. Because priority levels can differ between system types and kernel versions, please see your system's getpriority(2) man page for specific details.

매개변수

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

반환값

pcntl_getpriority() returns the priority of the process or FALSE on error. A lower numerical value causes more favorable scheduling.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

참고

pcntl_setpriority()

이전 | 위로 | 다음
pcntl_fork | 처음으로 | pcntl_setpriority


pcntl_setpriority

(PHP 5)

pcntl_setpriority -- Change the priority of any process

설명

bool pcntl_setpriority ( int $priority [, int $pid [, int $process_identifier]] )

pcntl_setpriority() sets the priority of pid.

매개변수

priority

priority is generally a value in the range -20 to 20. The default priority is 0 while a lower numerical value causes more favorable scheduling. Because priority levels can differ between system types and kernel versions, please see your system's setpriority(2) man page for specific details.

pid

If not specified, the pid of the current process is used.

process_identifier

One of PRIO_PGRP, PRIO_USER or PRIO_PROCESS.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

pcntl_getpriority()

이전 | 위로 | 다음
pcntl_getpriority | 처음으로 | pcntl_signal


pcntl_signal

(PHP 4 >= 4.0.7, PHP 5)

pcntl_signal -- Installs a signal handler

설명

bool pcntl_signal ( int $signo, callback $handler [, bool $restart_syscalls] )

The pcntl_signal() function installs a new signal handler for the signal indicated by signo.

매개변수

signo

The signal number.

handler

The signal handler which may be the name of a user created function, or method, or either of the two global constants SIG_IGN or SIG_DFL.

참고: Note that when you set a handler to an object method, that object's reference count is increased which makes it persist until you either change the handler to something else, or your script ends.

restart_syscalls

Specifies whether system call restarting should be used when this signal arrives and defaults to TRUE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
4.3.0 | The restart_syscalls parameter was added.
4.3.0 | The ability to use an object method as a callback became available.
4.3.0 | As of PHP 4.3.0 PCNTL uses ticks as the signal handle callback mechanism, which is much faster than the previous mechanism. This change follows the same semantics as using "user ticks". You must use the declare() statement to specify the locations in your program where callbacks are allowed to occur for the signal handler to function properly (as used in the above example).

예제

예 1613. pcntl_signal() example

<?php
// tick use required as of PHP 4.3.0
declare(ticks = 1);

// signal handler function
function sig_handler($signo)
{

     switch ($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         case SIGUSR1:
             echo "Caught SIGUSR1...\n";
             break;
         default:
             // handle all other signals
     }

}

echo "Installing signal handler...\n";

// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP,  "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");

// or use an object, available as of PHP 4.3.0
// pcntl_signal(SIGUSR1, array($obj, "do_something");

echo"Generating signal SIGTERM to self...\n";

// send SIGUSR1 to current process id
posix_kill(posix_getpid(), SIGUSR1);

echo "Done\n"

?>

참고

pcntl_fork()
pcntl_waitpid()

이전 | 위로 | 다음
pcntl_setpriority | 처음으로 | pcntl_wait


pcntl_wait

(PHP 5)

pcntl_wait -- Waits on or returns the status of a forked child

설명

int pcntl_wait ( int &$status [, int $options] )

The wait function suspends execution of the current process until a child has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function. If a child has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's wait(2) man page for specific details as to how wait works on your system.

참고: This function is equivalent to calling pcntl_waitpid() with a -1 pid and no options.

매개변수

status

pcntl_wait() will store status information
in the status parameter which can be
evaluated using the following functions:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() and
pcntl_wstopsig().

options

If wait3 is available on your system (mostly BSD-style systems), you can provide the optional options parameter. If this parameter is not provided, wait will be used for the system call. If wait3 is not available, providing a value for options will have no effect. The value of options is the value of zero or more of the following two constants OR'ed together:

표 235. Possible values for options

WNOHANG | Return immediately if no child has exited.
WUNTRACED | Return for children which are stopped, and whose status has not been reported.

반환값

pcntl_wait() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was provided as an option (on wait3-available systems) and no child was available.

참고

pcntl_fork()
pcntl_signal()
pcntl_wifexited()
pcntl_wifstopped()
pcntl_wifsignaled()
pcntl_wexitstatus()
pcntl_wtermsig()
pcntl_wstopsig()
pcntl_waitpid()

이전 | 위로 | 다음
pcntl_signal | 처음으로 | pcntl_waitpid


pcntl_waitpid

(PHP 4 >= 4.0.7, PHP 5)

pcntl_waitpid -- Waits on or returns the status of a forked child

설명

int pcntl_waitpid ( int $pid, int &$status [, int $options] )

Suspends execution of the current process until a child as specified by the pid argument has exited, or until a signal is delivered whose action is to terminate the current process or to call a signal handling function.

If a child as requested by pid has already exited by the time of the call (a so-called "zombie" process), the function returns immediately. Any system resources used by the child are freed. Please see your system's waitpid(2) man page for specific details as to how waitpid works on your system.

매개변수

pid

The value of pid can be one of the following:

표 236. possible values for pid

< -1 | wait for any child process whose process group ID is equal to the absolute value of pid.
-1 | wait for any child process; this is the same behaviour that the wait function exhibits.
0 | wait for any child process whose process group ID is equal to that of the calling process.
> 0 | wait for the child whose process ID is equal to the value of pid.

참고: Specifying -1 as the pid is equivalent to the functionality pcntl_wait() provides (minus options).

status

pcntl_waitpid() will store status information
in the status parameter which can be
evaluated using the following functions:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() and
pcntl_wstopsig().

options

The value of options is the value of zero or more of the following two global constants OR'ed together:

표 237. possible values for options

WNOHANG | return immediately if no child has exited.
WUNTRACED | return for children which are stopped, and whose status has not been reported.

반환값

pcntl_waitpid() returns the process ID of the child which exited, -1 on error or zero if WNOHANG was used and no child was available

참고

pcntl_fork()
pcntl_signal()
pcntl_wifexited()
pcntl_wifstopped()
pcntl_wifsignaled()
pcntl_wexitstatus()
pcntl_wtermsig()
pcntl_wstopsig()

이전 | 위로 | 다음
pcntl_wait | 처음으로 | pcntl_wexitstatus


pcntl_wexitstatus

(PHP 4 >= 4.0.7, PHP 5)

pcntl_wexitstatus -- Returns the return code of a terminated child

설명

int pcntl_wexitstatus ( int $status )

Returns the return code of a terminated child. This function is only useful if pcntl_wifexited() returned TRUE.

매개변수

status

status 인수는 pnctl_waitpid()의 성공적인 호출이 제공하는 status 인수입니다.

반환값

Returns the return code, as an integer.

참고

pcntl_waitpid()
pcntl_wifexited()

이전 | 위로 | 다음
pcntl_waitpid | 처음으로 | pcntl_wifexited


pcntl_wifexited

(PHP 4 >= 4.0.7, PHP 5)

pcntl_wifexited -- Checks if status code represents a normal exit

설명

bool pcntl_wifexited ( int $status )

Checks whether the child status code represents a normal exit.

매개변수

status

status 인수는 pnctl_waitpid()의 성공적인 호출이 제공하는 status 인수입니다.

반환값

Returns TRUE if the child status code represents a normal exit, FALSE otherwise.

참고

pcntl_waitpid()
pcntl_wexitstatus()

이전 | 위로 | 다음
pcntl_wexitstatus | 처음으로 | pcntl_wifsignaled


pcntl_wifsignaled

(PHP 4 >= 4.0.7, PHP 5)

pcntl_wifsignaled -- Checks whether the status code represents a termination due to a signal

설명

bool pcntl_wifsignaled ( int $status )

Checks whether the child process exited because of a signal which was not caught.

매개변수

status

status 인수는 pnctl_waitpid()의 성공적인 호출이 제공하는 status 인수입니다.

반환값

Returns TRUE if the child process exited because of a signal which was not caught, FALSE otherwise.

참고

pcntl_waitpid()
pcntl_signal()

이전 | 위로 | 다음
pcntl_wifexited | 처음으로 | pcntl_wifstopped


pcntl_wifstopped

(PHP 4 >= 4.0.7, PHP 5)

pcntl_wifstopped -- Checks whether the child process is currently stopped

설명

bool pcntl_wifstopped ( int $status )

Checks whether the child process which caused the return is currently stopped; this is only possible if the call to pcntl_waitpid() was done using the option WUNTRACED.

매개변수

status

status 인수는 pnctl_waitpid()의 성공적인 호출이 제공하는 status 인수입니다.

반환값

Returns TRUE if the child process which caused the return is currently stopped, FALSE otherwise.

참고

pcntl_waitpid()

이전 | 위로 | 다음
pcntl_wifsignaled | 처음으로 | pcntl_wstopsig


pcntl_wstopsig

(PHP 4 >= 4.0.7, PHP 5)

pcntl_wstopsig -- Returns the signal which caused the child to stop

설명

int pcntl_wstopsig ( int $status )

Returns the number of the signal which caused the child to stop. This function is only useful if pcntl_wifstopped() returned TRUE.

매개변수

status

status 인수는 pnctl_waitpid()의 성공적인 호출이 제공하는 status 인수입니다.

반환값

Returns the signal number.

참고

pcntl_waitpid()
pcntl_wifstopped()

이전 | 위로 | 다음
pcntl_wifstopped | 처음으로 | pcntl_wtermsig


pcntl_wtermsig

(PHP 4 >= 4.0.7, PHP 5)

pcntl_wtermsig -- Returns the signal which caused the child to terminate

설명

int pcntl_wtermsig ( int $status )

Returns the number of the signal that caused the child process to terminate. This function is only useful if pcntl_wifsignaled() returned TRUE.

매개변수

status

status 인수는 pnctl_waitpid()의 성공적인 호출이 제공하는 status 인수입니다.

반환값

Returns the signal number, as an integer.

참고

pcntl_waitpid()
pcntl_signal()
pcntl_wifsignaled()

이전 | 위로 | 다음
pcntl_wstopsig | 처음으로 | CXX. 정규표현식 함수 (펄-호환)


Program Execution Functions

이전 VI. 함수 레퍼런스 다음

CXXX. Program Execution Functions

소개

Those functions provide means to execute commands on the system itself, and means to secure such commands.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

This extension defines a process resource, returned by proc_open().

예약 상수

이 확장은 상수를 정의하지 않습니다.

주의

주의

Open files with lock (especially open sessions) should be closed before executing a program in the background.

참고

These functions are also closely related to the backtick operator. Also, while in 안전 모드 you must consider the safe_mode_exec_dir directive.

차례

escapeshellarg -- Escape a string to be used as a shell argument
escapeshellcmd -- Escape shell metacharacters
exec -- Execute an external program
passthru -- Execute an external program and display raw output
proc_close -- Close a process opened by proc_open() and return the exit code of that process.
proc_get_status -- Get information about a process opened by proc_open()
proc_nice -- Change the priority of the current process
proc_open -- Execute a command and open file pointers for input/output
proc_terminate -- Kills a process opened by proc_open
shell_exec -- Execute command via shell and return the complete output as a string
system -- Execute an external program and display the output
이전 | 위로 | 다음
printer_write | 처음으로 | escapeshellarg


escapeshellarg

(PHP 4 >= 4.0.3, PHP 5)

escapeshellarg -- Escape a string to be used as a shell argument

설명

string escapeshellarg ( string $arg )

escapeshellarg() adds single quotes around a string and quotes/escapes any existing single quotes allowing you to pass a string directly to a shell function and having it be treated as a single safe argument. This function should be used to escape individual arguments to shell functions coming from user input. The shell functions include exec(), system() and the backtick operator.

매개변수

arg

The argument that will be escaped.

반환값

The escaped string.

예제

예 1904. escapeshellarg() example

<?php
system('ls '.escapeshellarg($dir));
?>

참고

escapeshellcmd()
exec()
popen()
system()
backtick operator

이전 | 위로 | 다음
CXXX. Program Execution Functions | 처음으로 | escapeshellcmd


escapeshellcmd

(PHP 4, PHP 5)

escapeshellcmd -- Escape shell metacharacters

설명

string escapeshellcmd ( string $command )

escapeshellcmd() escapes any characters in a string that might be used to trick a shell command into executing arbitrary commands. This function should be used to make sure that any data coming from user input is escaped before this data is passed to the exec() or system() functions, or to the backtick operator.

Following characters are preceded by a backslash: #&;`|*?~<>^()[]{}$\, \x0A and \xFF. ' and " are escaped only if they are not paired. In Windows, all these characters plus % are replaced by a space instead.

매개변수

command

The command that will be escaped.

반환값

The escaped string.

예제

예 1905. escapeshellcmd() example

<?php
$e = escapeshellcmd($userinput);

// here we don't care if $e has spaces
system("echo $e");
$f = escapeshellcmd($filename);

// and here we do, so we use quotes
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>

참고

escapeshellarg()
exec()
popen()
system()
backtick operator

이전 | 위로 | 다음
escapeshellarg | 처음으로 | exec


exec

(PHP 4, PHP 5)

exec -- Execute an external program

설명

string exec ( string $command [, array &$output [, int &$return_var]] )

exec() executes the given command.

매개변수

command

The command that will be executed.

output

If the output argument is present, then the specified array will be filled with every line of output from the command. Trailing whitespace, such as \n, is not included in this array. Note that if the array already contains some elements, exec() will append to the end of the array. If you do not want the function to append elements, call unset() on the array before passing it to exec().

return_var

If the return_var argument is present along with the output argument, then the return status of the executed command will be written to this variable.

반환값

The last line from the result of the command. If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru() function.

To get the output of the executed command, be sure to set and use the output parameter.

예제

예 1906. An exec() example

<?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
echo exec('whoami');
?>

주의

주의

사용자가 입력한 데이터를 이 함수로 넘길 때는, escapeshellarg()나 escapeshellcmd()를 사용하여, 사용자가 어떠한 명령을 실행하여 시스템을 조작하지 못하게 하여야 합니다.

참고: 이 함수를 사용하여 프로그램을 백그라운드에서 실행시키려면, 프로그램의 출력이 파일이나 다른 출력 스트림을 향하게 해야 합니다. 그렇지 않으면, PHP는 프로그램이 종료할 때까지 멈춰있을 것입니다.

참고: 안전 모드에서 실행 명령은 safe_mode_exec_dir 안에서만 실행할 수 있습니다. 실용적인 이유로, 현재는 실행 경로에 ..을 허용하지 않습니다.

주의

안전 모드에서 명령어는 escapeshellcmd()로 회피처리됩니다. 그러므로, echo y | echo x는 echo y \| echo x가 됩니다.

참고

system()
passthru()
escapeshellcmd()
pcntl_exec()
backtick operator

이전 | 위로 | 다음
escapeshellcmd | 처음으로 | passthru


passthru

(PHP 4, PHP 5)

passthru -- Execute an external program and display raw output

설명

void passthru ( string $command [, int &$return_var] )

The passthru() function is similar to the exec() function in that it executes a command. This function should be used in place of exec() or system() when the output from the Unix command is binary data which needs to be passed directly back to the browser. A common use for this is to execute something like the pbmplus utilities that can output an image stream directly. By setting the Content-type to image/gif and then calling a pbmplus program to output a gif, you can create PHP scripts that output images directly.

매개변수

command

The command that will be executed.

return_var

If the return_var argument is present, the return status of the Unix command will be placed here.

반환값

값을 반환하지 않습니다.

주의

주의

사용자가 입력한 데이터를 이 함수로 넘길 때는, escapeshellarg()나 escapeshellcmd()를 사용하여, 사용자가 어떠한 명령을 실행하여 시스템을 조작하지 못하게 하여야 합니다.

참고: 이 함수를 사용하여 프로그램을 백그라운드에서 실행시키려면, 프로그램의 출력이 파일이나 다른 출력 스트림을 향하게 해야 합니다. 그렇지 않으면, PHP는 프로그램이 종료할 때까지 멈춰있을 것입니다.

참고: 안전 모드에서 실행 명령은 safe_mode_exec_dir 안에서만 실행할 수 있습니다. 실용적인 이유로, 현재는 실행 경로에 ..을 허용하지 않습니다.

주의

안전 모드에서 명령어는 escapeshellcmd()로 회피처리됩니다. 그러므로, echo y | echo x는 echo y \| echo x가 됩니다.

참고

exec()
system()
popen()
escapeshellcmd()
backtick operator

이전 | 위로 | 다음
exec | 처음으로 | proc_close


proc_close

(PHP 4 >= 4.3.0, PHP 5)

proc_close -- Close a process opened by proc_open() and return the exit code of that process.

설명

int proc_close ( resource $process )

proc_close() is similar to pclose() except that it only works on processes opened by proc_open(). proc_close() waits for the process to terminate, and returns its exit code. If you have open pipes to that process, you should fclose() them prior to calling this function in order to avoid a deadlock - the child process may not be able to exit while the pipes are open.

매개변수

process

The proc_open() resource that will be closed.

반환값

Returns the termination status of the process that was run.

이전 | 위로 | 다음
passthru | 처음으로 | proc_get_status


proc_get_status

(PHP 5)

proc_get_status -- Get information about a process opened by proc_open()

설명

array proc_get_status ( resource $process )

proc_get_status() fetches data about a process opened using proc_open().

매개변수

process

The proc_open() resource that will be evaluated.

반환값

An array of collected information on success, and FALSE on failure. The returned array contains the following elements:

element | type | description
command | string | The command string that was passed to proc_open().
pid | int | process id
running | bool | TRUE if the process is still running, FALSE if it has terminated.
signaled | bool | TRUE if the child process has been terminated by an uncaught signal. Always set to FALSE on Windows.
stopped | bool | TRUE if the child process has been stopped by a signal. Always set to FALSE on Windows.
exitcode | int | The exit code returned by the process (which is only meaningful if running is FALSE). Only first call of this function return real value, next calls return -1.
termsig | int | The number of the signal that caused the child process to terminate its execution (only meaningful if signaled is TRUE).
stopsig | int | The number of the signal that caused the child process to stop its execution (only meaningful if stopped is TRUE).

참고

proc_open()

이전 | 위로 | 다음
proc_close | 처음으로 | proc_nice


proc_nice

(PHP 5)

proc_nice -- Change the priority of the current process

설명

bool proc_nice ( int $increment )

proc_nice() changes the priority of the current process by the amount specified in increment. A positive increment will lower the priority of the current process, whereas a negative increment will raise the priority.

proc_nice() is not related to proc_open() and its associated functions in any way.

매개변수

increment

The increment value of the priority change.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. If an error occurs, like the user lacks permission to change the priority, an error of level E_WARNING is also generated.

주의

Availability: proc_nice() will only exist if your system has 'nice' capabilities. 'nice' conforms to: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. This means that proc_nice() is not available on Windows.

이전 | 위로 | 다음
proc_get_status | 처음으로 | proc_open


proc_open

(PHP 4 >= 4.3.0, PHP 5)

proc_open -- Execute a command and open file pointers for input/output

설명

resource proc_open ( string $cmd, array $descriptorspec, array &$pipes [, string $cwd [, array $env [, array $other_options]]] )

proc_open() is similar to popen() but provides a much greater degree of control over the program execution.

매개변수

cmd

The command to execute

descriptorspec

An indexed array where the key represents the descriptor number and the value represents how PHP will pass that descriptor to the child process. 0 is stdin, 1 is stdout, while 2 is stderr.

The currently supported pipe types are file and pipe .

The file descriptor numbers are not limited to 0, 1 and 2 - you may specify any valid file descriptor number and it will be passed to the child process. This allows your script to interoperate with other scripts that run as "co-processes". In particular, this is useful for passing passphrases to programs like PGP, GPG and openssl in a more secure manner. It is also useful for reading status information provided by those programs on auxiliary file descriptors.

pipes

Will be set to an indexed array of file pointers that correspond to PHP's end of any pipes that are created.

cwd

The initial working dir for the command. This must be an absolute directory path, or NULL if you want to use the default value (the working dir of the current PHP process)

env

An array with the environment variables for the command that will be run, or NULL to use the same environment as the current PHP process

other_options

Allows you to specify additional options. Currently supported options include:

suppress_errors (windows only): suppresses errors generated by this function when it's set to TRUE
bypass_shell (windows only): bypass cmd.exe shell when set to TRUE
context: stream context used when opening files (created with stream_context_create())
binary_pipes: open pipes in binary mode, instead of using the usual stream_encoding

반환값

Returns a resource representing the process, which should be freed using proc_close() when you are finished with it. On failure returns FALSE.

변경 기록

버전 | 설명
6.0.0 | Added the context and binary_pipes options to the other_options parameter.
5.2.1 | Added the bypass_shell option to the other_options parameter.
5.0.0 | Added the cwd, env and other_options parameters.

예제

예 1907. A proc_open() example

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
   1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
   2 => array("file", "/tmp/error-output.txt", "a") // stderr is a file to write to
);

$cwd = '/tmp';
$env = array('some_option' => 'aeiou');

$process = proc_open('php', $descriptorspec, $pipes, $cwd, $env);

if (is_resource($process)) {
    // $pipes now looks like this:
    // 0 => writeable handle connected to child stdin
    // 1 => readable handle connected to child stdout
    // Any error output will be appended to /tmp/error-output.txt

    fwrite($pipes[0], '<?php print_r($_ENV); ?>');
    fclose($pipes[0]);

    echo stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    // It is important that you close any pipes before calling
    // proc_close in order to avoid a deadlock
    $return_value = proc_close($process);

    echo "command returned $return_value\n";
}
?>

위 예제의 출력 예:

Array
(
    [some_option] => aeiou
    [PWD] => /tmp
    [SHLVL] => 1
    [_] => /usr/local/bin/php
)
command returned 0

주의

참고: Windows compatibility: Descriptors beyond 2 (stderr) are made available to the child process as inheritable handles, but since the Windows architecture does not associate file descriptor numbers with low-level handles, the child process does not (yet) have a means of accessing those handles. Stdin, stdout and stderr work as expected.

참고: If you only need a uni-directional (one-way) process pipe, use popen() instead, as it is much easier to use.

참고

popen()
exec()
system()
passthru()
stream_select()
The backtick operator

이전 | 위로 | 다음
proc_nice | 처음으로 | proc_terminate


proc_terminate

(PHP 5)

proc_terminate -- Kills a process opened by proc_open

설명

bool proc_terminate ( resource $process [, int $signal] )

Signals a process (created using proc_open()) that it should terminate. proc_terminate() returns immediately and does not wait for the process to terminate.

proc_terminate() allows you terminate the process and continue with other tasks. You may poll the process (to see if it has stopped yet) by using the proc_get_status() function. However this is only possible with PHP 5.2.2 or newer, as previous versions destroyed the given process resource.

매개변수

process

The proc_open() resource that will be closed.

signal

This optional parameter is only useful on POSIX operating systems; you may specify a signal to send to the process using the kill(2) system call. The default is SIGTERM.

반환값

Returns the termination status of the process that was run.

참고

proc_open()
proc_close()
proc_get_status()

이전 | 위로 | 다음
proc_open | 처음으로 | shell_exec


shell_exec

(PHP 4, PHP 5)

shell_exec -- Execute command via shell and return the complete output as a string

설명

string shell_exec ( string $cmd )

This function is identical to the backtick operator.

매개변수

cmd

The command that will be executed.

반환값

The output from the executed command.

예제

예 1908. A shell_exec() example

<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>

주의

참고: 이 함수는 안전 모드에서 사용할 수 없습니다.

참고

exec()
escapeshellcmd()

이전 | 위로 | 다음
proc_terminate | 처음으로 | system


system

(PHP 4, PHP 5)

system -- Execute an external program and display the output

설명

string system ( string $command [, int &$return_var] )

system() is just like the C version of the function in that it executes the given command and outputs the result.

The system() call also tries to automatically flush the web server's output buffer after each line of output if PHP is running as a server module.

If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru() function.

매개변수

command

The command that will be executed.

return_var

If the return_var argument is present, then the return status of the executed command will be written to this variable.

반환값

Returns the last line of the command output on success, and FALSE on failure.

예제

예 1909. system() example

<?php
echo '<pre>';

// Outputs all the result of shellcommand "ls", and returns
// the last output line into $last_line. Stores the return value
// of the shell command in $retval.
$last_line = system('ls', $retval);

// Printing additional info
echo '
</pre>
<hr />Last line of the output: ' . $last_line . '
<hr />Return value: ' . $retval;
?>

주의

주의

사용자가 입력한 데이터를 이 함수로 넘길 때는, escapeshellarg()나 escapeshellcmd()를 사용하여, 사용자가 어떠한 명령을 실행하여 시스템을 조작하지 못하게 하여야 합니다.

참고: 이 함수를 사용하여 프로그램을 백그라운드에서 실행시키려면, 프로그램의 출력이 파일이나 다른 출력 스트림을 향하게 해야 합니다. 그렇지 않으면, PHP는 프로그램이 종료할 때까지 멈춰있을 것입니다.

참고: 안전 모드에서 실행 명령은 safe_mode_exec_dir 안에서만 실행할 수 있습니다. 실용적인 이유로, 현재는 실행 경로에 ..을 허용하지 않습니다.

주의

안전 모드에서 명령어는 escapeshellcmd()로 회피처리됩니다. 그러므로, echo y | echo x는 echo y \| echo x가 됩니다.

참고

exec()
passthru()
popen()
escapeshellcmd()
pcntl_exec()
backtick operator

이전 | 위로 | 다음
shell_exec | 처음으로 | CXXXI. PostScript document creation


Printer Functions

이전 VI. 함수 레퍼런스 다음

CXXIX. Printer Functions

소개

These functions are only available under Windows 9.x, ME, NT4 and 2000. They have been added in PHP 4.0.4.

설치

This » PECL extension is not bundled with PHP.

Windows users must enable php_printer.dll inside of php.ini in order to use these functions. 번들되지 않은 PECL 확장은 » http://pecl4win.php.net/에서 받을 수 있습니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 265. Printer configuration options

Name | Default | Changeable | Changelog
printer.default_printer | "" | PHP_INI_ALL | Available since PHP 4.0.6. Removed in PHP 4.1.1.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

This extension defines handles to a printer connection, to a brush, to a font and to a pen.

예약 상수

See also the Printer Predefined Constants

차례

Constants -- Printer Predefined Constants
printer_abort -- Deletes the printer's spool file
printer_close -- Close an open printer connection
printer_create_brush -- Create a new brush
printer_create_dc -- Create a new device context
printer_create_font -- Create a new font
printer_create_pen -- Create a new pen
printer_delete_brush -- Delete a brush
printer_delete_dc -- Delete a device context
printer_delete_font -- Delete a font
printer_delete_pen -- Delete a pen
printer_draw_bmp -- Draw a bmp
printer_draw_chord -- Draw a chord
printer_draw_elipse -- Draw an ellipse
printer_draw_line -- Draw a line
printer_draw_pie -- Draw a pie
printer_draw_rectangle -- Draw a rectangle
printer_draw_roundrect -- Draw a rectangle with rounded corners
printer_draw_text -- Draw text
printer_end_doc -- Close document
printer_end_page -- Close active page
printer_get_option -- Retrieve printer configuration data
printer_list -- Return an array of printers attached to the server
printer_logical_fontheight -- Get logical font height
printer_open -- Opens a connection to a printer
printer_select_brush -- Select a brush
printer_select_font -- Select a font
printer_select_pen -- Select a pen
printer_set_option -- Configure the printer connection
printer_start_doc -- Start a new document
printer_start_page -- Start a new page
printer_write -- Write data to the printer
이전 | 위로 | 다음
PDO::pgsqlLOBUnlink | 처음으로 | Constants


printer_abort

(No version information available, might be only in CVS)

printer_abort -- Deletes the printer's spool file

설명

void printer_abort ( resource $printer_handle )

This function deletes the printers spool file.

매개변수

printer_handle

printer_handle must be a valid handle to a printer.

반환값

값을 반환하지 않습니다.

예제

예 1883. printer_abort() example

<?php
$handle = printer_open();
printer_abort($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
Constants | 처음으로 | printer_close


printer_close

(No version information available, might be only in CVS)

printer_close -- Close an open printer connection

설명

void printer_close ( resource $printer_handle )

This function closes the printer connection. printer_close() also closes the active device context.

매개변수

printer_handle

printer_handle must be a valid handle to a printer.

반환값

값을 반환하지 않습니다.

예제

예 1884. printer_close() example

<?php
$handle = printer_open();
printer_close($handle);
?>

이전 | 위로 | 다음
printer_abort | 처음으로 | printer_create_brush


printer_create_brush

(No version information available, might be only in CVS)

printer_create_brush -- Create a new brush

설명

resource printer_create_brush ( int $style, string $color )

The function creates a new brush and returns a handle to it. A brush is used to fill shapes. For an example see printer_select_brush().

매개변수

style

style must be one of the following constants:

  • PRINTER_BRUSH_SOLID: creates a brush with a solid color.
  • PRINTER_BRUSH_DIAGONAL: creates a brush with a 45-degree upward left-to-right hatch ( / ).
  • PRINTER_BRUSH_CROSS: creates a brush with a cross hatch ( + ).
  • PRINTER_BRUSH_DIAGCROSS: creates a brush with a 45 cross hatch ( x ).
  • PRINTER_BRUSH_FDIAGONAL: creates a brush with a 45-degree downward left-to-right hatch ( \ ).
  • PRINTER_BRUSH_HORIZONTAL: creates a brush with a horizontal hatch ( - ).
  • PRINTER_BRUSH_VERTICAL: creates a brush with a vertical hatch ( | ).
  • PRINTER_BRUSH_CUSTOM: creates a custom brush from an BMP file. The second parameter is used to specify the BMP instead of the RGB color code.

color

color must be a color in RGB hex format, i.e. "000000" for black.

반환값

Returns a brush handle or FALSE on error.

이전 | 위로 | 다음
printer_close | 처음으로 | printer_create_dc


printer_create_dc

(No version information available, might be only in CVS)

printer_create_dc -- Create a new device context

설명

void printer_create_dc ( resource $printer_handle )

The function creates a new device context. A device context is used to customize the graphic objects of the document.

매개변수

printer_handle

printer_handle must be a valid printer handle.

반환값

값을 반환하지 않습니다.

예제

예 1885. printer_create_dc() example

<?php
$handle = printer_open();
printer_start_doc($handle);
printer_start_page($handle);

printer_create_dc($handle);
/* do some stuff with the dc */
printer_set_option($handle, PRINTER_TEXT_COLOR, "333333");
printer_draw_text($handle, 1, 1, "text");
printer_delete_dc($handle);

/* create another dc */
printer_create_dc($handle);
printer_set_option($handle, PRINTER_TEXT_COLOR, "000000");
printer_draw_text($handle, 1, 1, "text");
/* do some stuff with the dc */

printer_delete_dc($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_create_brush | 처음으로 | printer_create_font


printer_create_font

(No version information available, might be only in CVS)

printer_create_font -- Create a new font

설명

resource printer_create_font ( string $face, int $height, int $width, int $font_weight, bool $italic, bool $underline, bool $strikeout, int $orientation )

The function creates a new font and returns a handle to it. A font is used to draw text. For an example see printer_select_font().

매개변수

face

face must be a string specifying the font face.

height

height specifies the font height.

width

width specifies the font width.

font_weight

The font_weight specifies the font weight (400 is normal), and can be one of the following predefined constants.

  • PRINTER_FW_THIN: sets the font weight to thin (100).
  • PRINTER_FW_ULTRALIGHT: sets the font weight to ultra light (200).
  • PRINTER_FW_LIGHT: sets the font weight to light (300).
  • PRINTER_FW_NORMAL: sets the font weight to normal (400).
  • PRINTER_FW_MEDIUM: sets the font weight to medium (500).
  • PRINTER_FW_BOLD: sets the font weight to bold (700).
  • PRINTER_FW_ULTRABOLD: sets the font weight to ultra bold (800).
  • PRINTER_FW_HEAVY: sets the font weight to heavy (900).

italic

italic can be TRUE or FALSE, and sets whether the font should be italic.

underline

underline can be TRUE or FALSE, and sets whether the font should be underlined.

strikeout

strikeout can be TRUE or FALSE, and sets whether the font should be stroked out.

orientaton

orientation specifies a rotation.

반환값

Returns a font handle on success or FALSE on error.

이전 | 위로 | 다음
printer_create_dc | 처음으로 | printer_create_pen


printer_create_pen

(No version information available, might be only in CVS)

printer_create_pen -- Create a new pen

설명

resource printer_create_pen ( int $style, int $width, string $color )

The function creates a new pen and returns a handle to it. A pen is used to draw lines and curves. For an example see printer_select_pen().

매개변수

style

style must be one of the following constants:

  • PRINTER_PEN_SOLID: creates a solid pen.
  • PRINTER_PEN_DASH: creates a dashed pen.
  • PRINTER_PEN_DOT: creates a dotted pen.
  • PRINTER_PEN_DASHDOT: creates a pen with dashes and dots.
  • PRINTER_PEN_DASHDOTDOT: creates a pen with dashes and double dots.
  • PRINTER_PEN_INVISIBLE: creates an invisible pen.

width

width specifies the width of the pen.

color

color must be a color in RGB hex format, i.e. "000000" for black.

반환값

Returns a pen handle or FALSE on error.

이전 | 위로 | 다음
printer_create_font | 처음으로 | printer_delete_brush


printer_delete_brush

(No version information available, might be only in CVS)

printer_delete_brush -- Delete a brush

설명

void printer_delete_brush ( resource $brush_handle )

The function deletes the selected brush. For an example see printer_select_brush().

매개변수

brush_handle

brush_handle must be a valid handle to a brush.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
printer_create_pen | 처음으로 | printer_delete_dc


printer_delete_dc

(No version information available, might be only in CVS)

printer_delete_dc -- Delete a device context

설명

bool printer_delete_dc ( resource $printer_handle )

The function deletes the device context. For an example see printer_create_dc().

매개변수

printer_handle

printer_handle must be a valid printer handle.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
printer_delete_brush | 처음으로 | printer_delete_font


printer_delete_font

(No version information available, might be only in CVS)

printer_delete_font -- Delete a font

설명

void printer_delete_font ( resource $font_handle )

The function deletes the selected font. For an example see printer_select_font().

매개변수

font_handle

font_handle must be a valid handle to a font.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
printer_delete_dc | 처음으로 | printer_delete_pen


printer_delete_pen

(No version information available, might be only in CVS)

printer_delete_pen -- Delete a pen

설명

void printer_delete_pen ( resource $pen_handle )

The function deletes the selected pen. For an example see printer_select_pen().

매개변수

pen_handle

pen_handle must be a valid pen handle.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
printer_delete_font | 처음으로 | printer_draw_bmp


printer_draw_bmp

(No version information available, might be only in CVS)

printer_draw_bmp -- Draw a bmp

설명

bool printer_draw_bmp ( resource $printer_handle, string $filename, int $x, int $y [, int $width, int $height] )

The function draws an bmp.

매개변수

printer_handle

printer_handle must be a valid printer handle.

filename

Path to the bitmap.

x

x is the upper left x coordinate of the bitmap.

y

y is the upper left y coordinate of the bitmap.

width

The bitmap width.

height

The bitmap height.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1886. printer_draw_bmp() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

printer_draw_bmp($handle, "c:\\image.bmp", 1, 1);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_delete_pen | 처음으로 | printer_draw_chord


printer_draw_chord

(No version information available, might be only in CVS)

printer_draw_chord -- Draw a chord

설명

void printer_draw_chord ( resource $printer_handle, int $rec_x, int $rec_y, int $rec_x1, int $rec_y1, int $rad_x, int $rad_y, int $rad_x1, int $rad_y1 )

The function simply draws an chord.

매개변수

printer_handle

printer_handle must be a valid printer handle.

rec_x

rec_x is the upper left x coordinate of the bounding rectangle.

rec_y

rec_y is the upper left y coordinate of the bounding rectangle.

rec_x1

rec_x1 is the lower right x coordinate of the bounding rectangle.

rec_y1

rec_y1 is the lower right y coordinate of the bounding rectangle.

rad_x

rad_x is x coordinate of the radial defining the beginning of the chord.

rad_y

rad_y is y coordinate of the radial defining the beginning of the chord.

rad_x1

rad_x1 is x coordinate of the radial defining the end of the chord.

rad_y1

rad_y1 is y coordinate of the radial defining the end of the chord.

반환값

값을 반환하지 않습니다.

예제

예 1887. printer_draw_chord() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_chord($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_draw_bmp | 처음으로 | printer_draw_elipse


printer_draw_elipse

(No version information available, might be only in CVS)

printer_draw_elipse -- Draw an ellipse

설명

void printer_draw_elipse ( resource $printer_handle, int $ul_x, int $ul_y, int $lr_x, int $lr_y )

The function draws an ellipse.

매개변수

printer_handle

printer_handle must be a valid printer handle.

ul_x

ul_x is the upper left x coordinate of the ellipse.

ul_y

ul_y is the upper left y coordinate of the ellipse.

lr_x

lr_x is the lower right x coordinate of the ellipse.

lr_y

lr_y is the lower right y coordinate of the ellipse.

반환값

값을 반환하지 않습니다.

예제

예 1888. printer_draw_elipse() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_elipse($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_draw_chord | 처음으로 | printer_draw_line


printer_draw_line

(No version information available, might be only in CVS)

printer_draw_line -- Draw a line

설명

void printer_draw_line ( resource $printer_handle, int $from_x, int $from_y, int $to_x, int $to_y )

The function draws a line using the selected pen.

매개변수

printer_handle

printer_handle must be a valid printer handle.

from_x

from_x is the x coordinate of the origin point.

from_y

from_y is the y coordinate of the origin point.

to_x

to_x is the x coordinate of the destination point.

to_y

to_y is the y coordinate of the destination point.

반환값

값을 반환하지 않습니다.

예제

예 1889. printer_draw_line() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "000000");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 10, 1000, 10);
printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_draw_elipse | 처음으로 | printer_draw_pie


printer_draw_pie

(No version information available, might be only in CVS)

printer_draw_pie -- Draw a pie

설명

void printer_draw_pie ( resource $printer_handle, int $rec_x, int $rec_y, int $rec_x1, int $rec_y1, int $rad1_x, int $rad1_y, int $rad2_x, int $rad2_y )

The function draws an pie.

매개변수

printer_handle

printer_handle must be a valid printer handle.

rec_x

rec_x is the upper left x coordinate of the bounding rectangle.

rec_y

rec_y is the upper left y coordinate of the bounding rectangle.

rec_x1

rec_x1 is the lower right x coordinate of the bounding rectangle.

rec_y1

rec_y1 is the lower right y coordinate of the bounding rectangle.

rad1_x

rad1_x is x coordinate of the first radial's ending.

rad1_y

rad1_y is y coordinate of the first radial's ending.

rad2_x

rad2_x is x coordinate of the second radial's ending.

rad2_y

rad2_y is y coordinate of the second radial's ending.

반환값

값을 반환하지 않습니다.

예제

예 1890. printer_draw_pie() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_pie($handle, 1, 1, 500, 500, 1, 1, 500, 1);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_draw_line | 처음으로 | printer_draw_rectangle


printer_draw_rectangle

(No version information available, might be only in CVS)

printer_draw_rectangle -- Draw a rectangle

설명

void printer_draw_rectangle ( resource $printer_handle, int $ul_x, int $ul_y, int $lr_x, int $lr_y )

The function draws a rectangle.

매개변수

printer_handle

printer_handle must be a valid printer handle.

ul_x

ul_x is the upper left x coordinate of the rectangle.

ul_y

ul_y is the upper left y coordinate of the rectangle.

lr_x

lr_x is the lower right x coordinate of the rectangle.

lr_y

lr_y is the lower right y coordinate of the rectangle.

반환값

값을 반환하지 않습니다.

예제

예 1891. printer_draw_rectangle() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_draw_pie | 처음으로 | printer_draw_roundrect


printer_draw_roundrect

(No version information available, might be only in CVS)

printer_draw_roundrect -- Draw a rectangle with rounded corners

설명

void printer_draw_roundrect ( resource $printer_handle, int $ul_x, int $ul_y, int $lr_x, int $lr_y, int $width, int $height )

The function draws a rectangle with rounded corners.

매개변수

printer_handle

printer_handle must be a valid printer handle.

ul_x

ul_x is the upper left x coordinate of the rectangle.

ul_y

ul_y is the upper left y coordinate of the rectangle.

lr_x

lr_x is the lower right x coordinate of the rectangle.

lr_y

lr_y is the lower right y coordinate of the rectangle.

width

width is the width of the ellipse.

height

height is the height of the ellipse.

반환값

값을 반환하지 않습니다.

예제

예 1892. printer_draw_roundrect() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "2222FF");
printer_select_brush($handle, $brush);

printer_draw_roundrect($handle, 1, 1, 500, 500, 200, 200);

printer_delete_brush($brush);
printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_draw_rectangle | 처음으로 | printer_draw_text


printer_draw_text

(No version information available, might be only in CVS)

printer_draw_text -- Draw text

설명

void printer_draw_text ( resource $printer_handle, string $text, int $x, int $y )

The function draws text at position x, y using the selected font.

매개변수

printer_handle

printer_handle must be a valid handle to a printer.

text

The text to be written.

x

x is the x coordinate of the position.

y

y is the y coordinate of the position.

반환값

값을 반환하지 않습니다.

예제

예 1893. printer_draw_text() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$font = printer_create_font("Arial", 72, 48, 400, false, false, false, 0);
printer_select_font($handle, $font);
printer_draw_text($handle, "test", 10, 10);
printer_delete_font($font);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_draw_roundrect | 처음으로 | printer_end_doc


printer_end_doc

(No version information available, might be only in CVS)

printer_end_doc -- Close document

설명

bool printer_end_doc ( resource $printer_handle )

Closes a new document in the printer spooler. The document is now ready for printing. For an example see printer_start_doc().

매개변수

printer_handle

printer_handle must be a valid handle to a printer.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
printer_draw_text | 처음으로 | printer_end_page


printer_end_page

(No version information available, might be only in CVS)

printer_end_page -- Close active page

설명

bool printer_end_page ( resource $printer_handle )

The function closes the active page in the active document. For an example see printer_start_doc().

매개변수

printer_handle

printer_handle must be a valid handle to a printer.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
printer_end_doc | 처음으로 | printer_get_option


printer_get_option

(No version information available, might be only in CVS)

printer_get_option -- Retrieve printer configuration data

설명

mixed printer_get_option ( resource $printer_handle, string $option )

The function retrieves the configuration setting of option.

매개변수

printer_handle

printer_handle must be a valid handle to a printer.

option

Take a look at printer_set_option() for the settings that can be retrieved, additionally the following settings can be retrieved:

  • PRINTER_DEVICENAME returns the devicename of the printer.
  • PRINTER_DRIVERVERSION returns the printer driver version.

반환값

Returns the value of option.

예제

예 1894. printer_get_option() example

<?php
$handle = printer_open();
echo printer_get_option($handle, PRINTER_DRIVERVERSION);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_end_page | 처음으로 | printer_list


printer_list

(No version information available, might be only in CVS)

printer_list -- Return an array of printers attached to the server

설명

array printer_list ( int $enumtype [, string $name [, int $level]] )

The function enumerates available printers and their capabilities.

매개변수

enumtype

enumtype must be one of the following predefined constants:

  • PRINTER_ENUM_LOCAL: enumerates the locally installed printers.
  • PRINTER_ENUM_NAME: enumerates the printer of name, can be a server, domain or print provider.
  • PRINTER_ENUM_SHARED: this parameter can't be used alone, it has to be OR'ed with other parameters, i.e. PRINTER_ENUM_LOCAL to detect the locally shared printers.
  • PRINTER_ENUM_DEFAULT: (Win9.x only) enumerates the default printer.
  • PRINTER_ENUM_CONNECTIONS: (WinNT/2000 only) enumerates the printers to which the user has made connections.
  • PRINTER_ENUM_NETWORK: (WinNT/2000 only) enumerates network printers in the computer's domain. Only valid if level is 1.
  • PRINTER_ENUM_REMOTE: (WinNT/2000 only) enumerates network printers and print servers in the computer's domain. Only valid if level is 1.

name

Used with PRINTER_ENUM_NAME.

level

level sets the level of information request. Can be 1,2,4 or 5.

반환값

Return an array of printers.

예제

예 1895. printer_list() example

<?php
/* detect locally shared printer */
var_dump(printer_list(PRINTER_ENUM_LOCAL | PRINTER_ENUM_SHARED));
?>

이전 | 위로 | 다음
printer_get_option | 처음으로 | printer_logical_fontheight


printer_logical_fontheight

(No version information available, might be only in CVS)

printer_logical_fontheight -- Get logical font height

설명

int printer_logical_fontheight ( resource $printer_handle, int $height )

The function calculates the logical font height of height.

매개변수

printer_handle

printer_handle must be a valid printer handle.

height

The font height.

반환값

Returns the logical font height or FALSE on failure.

예제

예 1896. printer_logical_fontheight() example

<?php
$handle = printer_open();
echo printer_logical_fontheight($handle, 72);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_list | 처음으로 | printer_open


printer_open

(No version information available, might be only in CVS)

printer_open -- Opens a connection to a printer

설명

resource printer_open ( [string $printername] )

This function tries to open a connection to the given printer.

printer_open() also starts a device context.

매개변수

printername

The printer name. If no parameter was given it tries to open a connection to the default printer (if not specified in php.ini as printer.default_printer, PHP tries to detect it).

반환값

Returns a printer handle on success or FALSE on failure.

예제

예 1897. printer_open() example

<?php
$handle = printer_open("HP Deskjet 930c");
$handle = printer_open();
?>

이전 | 위로 | 다음
printer_logical_fontheight | 처음으로 | printer_select_brush


printer_select_brush

(No version information available, might be only in CVS)

printer_select_brush -- Select a brush

설명

void printer_select_brush ( resource $printer_handle, resource $brush_handle )

The function selects a brush as the active drawing object of the actual device context. A brush is used to fill shapes. If you draw an rectangle the brush is used to draw the shapes, while the pen is used to draw the border.

If you haven't selected a brush before drawing shapes, the shape won't be filled.

매개변수

printer_handle

printer_handle must be a valid printer handle.

brush_handle

brush_handle must be a valid brush handle.

반환값

값을 반환하지 않습니다.

예제

예 1898. printer_select_brush() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 2, "000000");
printer_select_pen($handle, $pen);
$brush = printer_create_brush(PRINTER_BRUSH_CUSTOM, "c:\\brush.bmp");
printer_select_brush($handle, $brush);

printer_draw_rectangle($handle, 1, 1, 500, 500);

printer_delete_brush($brush);

$brush = printer_create_brush(PRINTER_BRUSH_SOLID, "000000");
printer_select_brush($handle, $brush);
printer_draw_rectangle($handle, 1, 501, 500, 1001);
printer_delete_brush($brush);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_open | 처음으로 | printer_select_font


printer_select_font

(No version information available, might be only in CVS)

printer_select_font -- Select a font

설명

void printer_select_font ( resource $printer_handle, resource $font_handle )

The function selects a font to draw text.

매개변수

printer_handle

printer_handle must be a valid printer handle.

font_handle

font_handle must be a valid font handle.

반환값

값을 반환하지 않습니다.

예제

예 1899. printer_select_font() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$font = printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false, false, -50);
printer_select_font($handle, $font);
printer_draw_text($handle, "PHP is simply cool", 40, 40);
printer_delete_font($font);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_select_brush | 처음으로 | printer_select_pen


printer_select_pen

(No version information available, might be only in CVS)

printer_select_pen -- Select a pen

설명

void printer_select_pen ( resource $printer_handle, resource $pen_handle )

The function selects a pen as the active drawing object of the actual device context. A pen is used to draw lines and curves. I.e. if you draw a single line the pen is used. If you draw an rectangle the pen is used to draw the borders, while the brush is used to fill the shape. If you haven't selected a pen before drawing shapes, the shape won't be outlined.

매개변수

printer_handle

printer_handle must be a valid printer handle.

pen_handle

pen_handle must be a valid pen handle.

반환값

값을 반환하지 않습니다.

예제

예 1900. printer_select_pen() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

$pen = printer_create_pen(PRINTER_PEN_SOLID, 30, "2222FF");
printer_select_pen($handle, $pen);

printer_draw_line($handle, 1, 60, 500, 60);

printer_delete_pen($pen);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_select_font | 처음으로 | printer_set_option


printer_set_option

(No version information available, might be only in CVS)

printer_set_option -- Configure the printer connection

설명

bool printer_set_option ( resource $printer_handle, int $option, mixed $value )

The function sets options for the current connection.

매개변수

printer_handle

printer_handle must be a valid printer handle.

option

Option can be one of the following constants:

  • PRINTER_COPIES: sets how many copies should be printed, value must be an integer.
  • PRINTER_MODE: specifies the type of data (text, raw or emf), value must be a string.
  • PRINTER_TITLE: specifies the name of the document, value must be a string.
  • PRINTER_ORIENTATION: specifies the orientation of the paper, value can be either PRINTER_ORIENTATION_PORTRAIT or PRINTER_ORIENTATION_LANDSCAPE
  • PRINTER_RESOLUTION_Y: specifies the y-resolution in DPI, value must be an integer.
  • PRINTER_RESOLUTION_X: specifies the x-resolution in DPI, value must be an integer.

  • PRINTER_PAPER_FORMAT: specifies a predefined paper format, set value to PRINTER_FORMAT_CUSTOM if you want to specify a custom format with PRINTER_PAPER_WIDTH and PRINTER_PAPER_LENGTH. value can be one of the following constants.

    • PRINTER_FORMAT_CUSTOM: let's you specify a custom paper format.
    • PRINTER_FORMAT_LETTER: specifies standard letter format (8 1/2- by 11-inches).
    • PRINTER_FORMAT_LEGAL: specifies standard legal format (8 1/2- by 14-inches).
    • PRINTER_FORMAT_A3: specifies standard A3 format (297- by 420-millimeters).
    • PRINTER_FORMAT_A4: specifies standard A4 format (210- by 297-millimeters).
    • PRINTER_FORMAT_A5: specifies standard A5 format (148- by 210-millimeters).
    • PRINTER_FORMAT_B4: specifies standard B4 format (250- by 354-millimeters).
    • PRINTER_FORMAT_B5: specifies standard B5 format (182- by 257-millimeter).
    • PRINTER_FORMAT_FOLIO: specifies standard FOLIO format (8 1/2- by 13-inch).
  • PRINTER_PAPER_LENGTH: if PRINTER_PAPER_FORMAT is set to PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_LENGTH specifies a custom paper length in mm, value must be an integer.
  • PRINTER_PAPER_WIDTH: if PRINTER_PAPER_FORMAT is set to PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_WIDTH specifies a custom paper width in mm, value must be an integer.
  • PRINTER_SCALE: specifies the factor by which the printed output is to be scaled. the page size is scaled from the physical page size by a factor of scale/100. for example if you set the scale to 50, the output would be half of its original size. value must be an integer.
  • PRINTER_BACKGROUND_COLOR: specifies the background color for the actual device context, value must be a string containing the rgb information in hex format i.e. "005533".
  • PRINTER_TEXT_COLOR: specifies the text color for the actual device context, value must be a string containing the rgb information in hex format i.e. "005533".

  • PRINTER_TEXT_ALIGN: specifies the text alignment for the actual device context, value can be combined through OR'ing the following constants:

    • PRINTER_TA_BASELINE: text will be aligned at the base line.
    • PRINTER_TA_BOTTOM: text will be aligned at the bottom.
    • PRINTER_TA_TOP: text will be aligned at the top.
    • PRINTER_TA_CENTER: text will be aligned at the center.
    • PRINTER_TA_LEFT: text will be aligned at the left.
    • PRINTER_TA_RIGHT: text will be aligned at the right.

value

The option value.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1901. printer_set_option() example

<?php
$handle = printer_open();
printer_set_option($handle, PRINTER_SCALE, 75);
printer_set_option($handle, PRINTER_TEXT_ALIGN, PRINTER_TA_LEFT);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_select_pen | 처음으로 | printer_start_doc


printer_start_doc

(No version information available, might be only in CVS)

printer_start_doc -- Start a new document

설명

bool printer_start_doc ( resource $printer_handle [, string $document] )

The function creates a new document in the printer spooler. A document can contain multiple pages, it's used to schedule the print job in the spooler.

매개변수

printer_handle

printer_handle must be a valid printer handle.

document

The optional parameter document can be used to set an alternative document name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1902. printer_start_doc() example

<?php
$handle = printer_open();
printer_start_doc($handle, "My Document");
printer_start_page($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

이전 | 위로 | 다음
printer_set_option | 처음으로 | printer_start_page


printer_start_page

(No version information available, might be only in CVS)

printer_start_page -- Start a new page

설명

bool printer_start_page ( resource $printer_handle )

The function creates a new page in the active document. For an example see printer_start_doc().

매개변수

printer_handle

printer_handle must be a valid printer handle.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
printer_start_doc | 처음으로 | printer_write


printer_write

(No version information available, might be only in CVS)

printer_write -- Write data to the printer

설명

bool printer_write ( resource $printer_handle, string $content )

Writes content directly to the printer.

매개변수

printer_handle

printer_handle must be a valid printer handle.

content

The data to be written.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1903. printer_write() example

<?php
$handle = printer_open();
printer_write($handle, "Text to print");
printer_close($handle);
?>

이전 | 위로 | 다음
printer_start_page | 처음으로 | CXXX. Program Execution Functions


Pspell 함수

이전 VI. 함수 레퍼런스 다음

CXXXII. Pspell 함수

이 함수는 단어의 철자를 검사하고 추천하는 단어를 제시합니다.

이 함수를 사용하기 위해서는 aspell 라이브러리와 pspell 라이브러리가 필요합니다. 각각 » http://aspell.sourceforge.net/ 와 » http://aspell.net/ 에서 다운로드 할 수 있습니다. 그리고 PHP 컴파일시 --with-pspell[=dir] 옵션을 추가해야합니다.

차례

pspell_add_to_personal -- 사용자 단어목록에 단어 추가
pspell_add_to_session -- 현재 세션의 단어목록에 단어 추가
pspell_check -- 단어 검사
pspell_clear_session -- 현재 연결된 세션 제거
pspell_config_create -- 사전을 열때 사용할 설정을 생성
pspell_config_data_dir -- location of language data files
pspell_config_dict_dir -- Location of the main word list
pspell_config_ignore -- 문자의 길이가 n보다 작은 단어는 무시
pspell_config_mode -- 반환되는 추천단어의 수를 결정하는 실행모드 변경
pspell_config_personal -- 사용자 단어목록을 저장하고 있는 파일 지정
pspell_config_repl -- 교정내용을 포함하고 있는 파일을 지정
pspell_config_runtogether -- 연결되는 단어를 정당한 합성어로 고려
pspell_config_save_repl -- 교정내용목록을 단어목록과 같이 저장할지를 결정
pspell_new_config -- 주어진 설정으로 새 사전 열기
pspell_new_personal -- 사용자 단어목록으로 새 사전 열기
pspell_new -- 새 사전 열기
pspell_save_wordlist -- 사용자 단어목록을 파일로 저장
pspell_store_replacement -- 단어 교정목록을 저장
pspell_suggest -- 단어의 철자 제안
이전 | 위로 | 다음
ps_translate | 처음으로 | pspell_add_to_personal


pspell_add_to_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_personal -- 사용자 단어목록에 단어 추가

설명

int pspell_add_to_personal ( int $dictionary_link, string $word )

pspell_add_to_personal() 함수는 사용자 단어목록에 단어를 추가합니다. 만약 사전을 열때pspell_new_config() 함수와 pspell_config_personal() 함수를 사용하면 나중에 pspell_save_wordlist()함수를 사용해서 단어목록을 저장할 수 있습니다. 이 함수는 pspell .11.2와 aspell .32.5 또는 이후의 버전에서만 실행됩니다.

예 1919. pspell_add_to_personal()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config ($pspell_config);

pspell_add_to_personal ($pspell_link, "Vlad");
pspell_save_wordlist ($pspell_link);

이전 | 위로 | 다음
CXXXII. Pspell 함수 | 처음으로 | pspell_add_to_session


pspell_add_to_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_add_to_session -- 현재 세션의 단어목록에 단어 추가

설명

int pspell_add_to_session ( int $dictionary_link, string $word )

pspell_add_to_session() 함수는 현재 세션의 단어목록에 단어를 추가합니다. 이것은 pspell_add_to_personal()함수와 매우 비슷합니다

이전 | 위로 | 다음
pspell_add_to_personal | 처음으로 | pspell_check


pspell_check

(PHP 4 >= 4.0.2, PHP 5)

pspell_check -- 단어 검사

설명

boolean pspell_check ( int $dictionary_link, string $word )

pspell_check() 함수는 단어의 철자를 검사하고 올바를 경우 TRUE, 틀릴경우 FALSE를 반환합니다.

예 1920. pspell_check()

$pspell_link = pspell_new ("en");

if (pspell_check ($pspell_link, "testt")) {
    echo "This is a valid spelling";
} else {
    echo "Sorry, wrong spelling";
}

이전 | 위로 | 다음
pspell_add_to_session | 처음으로 | pspell_clear_session


pspell_clear_session

(PHP 4 >= 4.0.2, PHP 5)

pspell_clear_session -- 현재 연결된 세션 제거

설명

int pspell_clear_session ( int $dictionary_link )

pspell_clear_session()함수는 현재 연결된 세션을 제거합니다. 현재 단어목록은 비워집니다. 예를들어 pspell_save_wordlist()함수를 사용해서 단어목록에 저장할려고 하면 아무일도 생기지 않습니다.

예 1921. pspell_add_to_personal()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config ($pspell_config);

pspell_add_to_personal ($pspell_link, "Vlad");
pspell_clear_session ($pspell_link);
pspell_save_wordlist ($pspell_link);    //"Vlad" will not be saved

이전 | 위로 | 다음
pspell_check | 처음으로 | pspell_config_create


pspell_config_create

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_create -- 사전을 열때 사용할 설정을 생성

설명

int pspell_config_create ( string $language [, string $ spelling [, string $ jargon [, string $ encoding ]]] )

pspell_config_create() 함수는 pspell_new()함수와 매우비슷한 문법입니다. 사실 pspell_new_config()함수를 사용한 이후에 pspell_config_create()함수를 사용하게 되면 동일한 결과를 나타낼 것입니다. 향상된 기능을 사용하기 위해서는 새로운 설정을 만들었더라도 pspell_new_config() 함수를 호출하기 전에 pspell_config_*() 함수를 사용해야 합니다.

language 파라미터는 두자로 된 ISO 639 언어 코드입니다. 선택적으로 ISO 639 언어 코드 이후 '-' 나 '_' 를 적고 두자로 된 ISO 3166 국가코드를 추가할 수 있습니다.

spelling 파라미터는 English 와 같이 한 철자 이상의 철자가 있는 언어에 대해 철자를 지정합니다. English 의 경우 알려진 값에는 'american', 'british', and 'canadian' 가 있습니다.

jargon 파라미터는 동일한 language와 spelling 파라미터를 가지고 있는 두 다른 단어 목록을 구별하기 위한 추가정보입니다.

encoding 파라미터는 단어의 인코딩 정보입니다. 가능한 값에는 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32' 가 있습니다. 이 파라미터는 거의 테스트되지 않았으니, 사용할 때 주의하세요.

mode 파라미터는 단어검사기의 실행모드입니다. 아래에 몇가지 가능한 모드가 있습니다.

  • PSPELL_FAST - 빠른 실행모드 (최소한의 추천단어)
  • PSPELL_NORMAL - 보통 실행모드 (더 많은 추천단어)
  • PSPELL_BAD_SPELLERS - 느린 실행모드 (가장많은 추천단어)

자세한 정보와 예제는 pspell 웹사이트(» http://aspell.net/)의 매뉴얼을 참고하세요.

예 1922. pspell_config_create()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl ($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_personal (pspell_config);

이전 | 위로 | 다음
pspell_clear_session | 처음으로 | pspell_config_data_dir


pspell_config_data_dir

(PHP 5)

pspell_config_data_dir -- location of language data files

설명

bool pspell_config_data_dir ( int $conf, string $directory )

주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
pspell_config_create | 처음으로 | pspell_config_dict_dir


pspell_config_dict_dir

(PHP 5)

pspell_config_dict_dir -- Location of the main word list

설명

bool pspell_config_dict_dir ( int $conf, string $directory )

주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
pspell_config_data_dir | 처음으로 | pspell_config_ignore


pspell_config_ignore

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_ignore -- 문자의 길이가 n보다 작은 단어는 무시

설명

int pspell_config_ignore ( int $dictionary_link, int $n )

pspell_config_ignore() 함수는pspell_new_config()함수를 호출하기 전에 설정되어야 합니다. 이 함수는 문자길이가 n보다 작은 단어는 검사하지 않고 무시합니다.

예 1923. pspell_config_ignore()

$pspell_config = pspell_config_create ("en");
pspell_config_ignore($pspell_config, 5);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "abcd");    //will not result in an error

이전 | 위로 | 다음
pspell_config_dict_dir | 처음으로 | pspell_config_mode


pspell_config_mode

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_mode -- 반환되는 추천단어의 수를 결정하는 실행모드 변경

설명

int pspell_config_mode ( int $dictionary_link, int $mode )

pspell_config_mode()함수는 pspell_new_config()함수를 호출하기 전에 설정되어야 합니다. 이 함수는 pspell_suggest()함수에 의해 반환되는 추천 단어의 수를 결정합니다.

mode 파라미터는 단어검사기의 실행모드입니다. 아래에 몇가지 가능한 모드가 있습니다.

  • PSPELL_FAST - 빠른 실행모드 (최소한의 추천단어)
  • PSPELL_NORMAL - 보통 실행모드 (더 많은 추천단어)
  • PSPELL_BAD_SPELLERS - 느린 실행모드 (가장많은 추천단어)

예 1924. pspell_config_mode()

$pspell_config = pspell_config_create ("en");
pspell_config_mode($pspell_config, PSPELL_FAST);
$pspell_link = pspell_new_config($pspell_config);
pspell_check($pspell_link, "thecat");

이전 | 위로 | 다음
pspell_config_ignore | 처음으로 | pspell_config_personal


pspell_config_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_personal -- 사용자 단어목록을 저장하고 있는 파일 지정

설명

int pspell_config_personal ( int $dictionary_link, string $file )

pspell_config_personal()는pspell_new_config()함수를 호출하기 전에 설정되어야 합니다. 사용자 단어목록은 읽혀지고 pspell_new_config()함수를 호출한 후에 표준 단어목록에 추가적으로 사용됩니다. 파일이 존재하지 않을경우 생성됩니다. 파일은 pspell_save_wordlist()함수에서 사용자 단어목록을 저장하는 파일이기도 합니다. 파일은 PHP 실행 사용자(예, nobody) 가 쓰기가능한 모드로 되어있어야 합니다. 이 함수는 pspell .11.2와 aspell .32.5 또는 이후의 버전에서만 실행됩니다.

예 1925. pspell_config_personal()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/var/dictionaries/custom.pws");
$pspell_link = pspell_new_config ($pspell_config);
pspell_check ($pspell_link, "thecat");

이전 | 위로 | 다음
pspell_config_mode | 처음으로 | pspell_config_repl


pspell_config_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_repl -- 교정내용을 포함하고 있는 파일을 지정

설명

int pspell_config_repl ( int $dictionary_link, string $file )

pspell_config_repl()함수는 pspell_new_config()함수를 호출하기 전에 설정되어야 합니다. 교정내용은 단어검사기의 질적 성능을 향상시킵니다. 단어의 철자가 틀리고 목록에서 적당한 추천단어를 찾지 못했을 경우,pspell_store_replacement()함수는 교정목록을 저장하고 pspell_save_wordlist()함수는 교정목록을 포함한 단어목록을 저장하는데 사용할 수 있습니다. 파일은 PHP 실행 사용자(예, nobody)가 쓰기 가능한 모드로 되어 있어야 합니다. 이 함수는 pspell .11.2와 aspell .32.5 또는 이후의 버전에서만 실행됩니다.

예 1926. pspell_config_repl()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl ($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config ($pspell_config);
pspell_check ($pspell_link, "thecat");

이전 | 위로 | 다음
pspell_config_personal | 처음으로 | pspell_config_runtogether


pspell_config_runtogether

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_runtogether -- 연결되는 단어를 정당한 합성어로 고려

설명

int pspell_config_runtogether ( int $dictionary_link, boolean $flag )

pspell_config_runtogether()함수는 pspell_new_config()함수를 호출하기 전에 설정되어야 합니다. 이 함수는 연결된 단어를 정당한 합성어로 고려할지를 결정합니다. 즉, 말하자면 두 단어 사이에 공백(space)이 있어야 할지라도 "thecat"은 정당한 합성어가 됩니다. 이 설정을 바꾸면 pspell_check()함수에 의해 반환되는 결과값에만 영향을 미칩니다. pspell_suggest()함수는 여전히 추천단어를 반환합니다.

예 1927. pspell_config_runtogether()

$pspell_config = pspell_config_create ("en");
pspell_config_runtogether ($pspell_config, true);
$pspell_link = pspell_new_config ($pspell_config);
pspell_check ($pspell_link, "thecat");

이전 | 위로 | 다음
pspell_config_repl | 처음으로 | pspell_config_save_repl


pspell_config_save_repl

(PHP 4 >= 4.0.2, PHP 5)

pspell_config_save_repl -- 교정내용목록을 단어목록과 같이 저장할지를 결정

설명

int pspell_config_save_repl ( int $dictionary_link, boolean $flag )

pspell_config_save_repl()함수는 pspell_new_config()함수를 호출하기 전에 설정되어야 합니다. 이 함수는pspell_save_wordlist()함수가 교정내용목록을 단어목록과 같이 저장할지를 결정합니다. 일반적으로 이 함수는 사용할 필요가 없습니다. 만약pspell_config_repl()함수를 사용했을 경우, 교정내용은 pspell_save_wordlist()함수에 의해 자동으로 저장이 되기 때문입니다. 만약 pspell_config_repl()함수를 사용하지 않았을경우 교정내용은 저장되지 않습니다. 이 함수는 pspell .11.2와 aspell .32.5 또는 이후의 버전에서만 실행됩니다.

이전 | 위로 | 다음
pspell_config_runtogether | 처음으로 | pspell_new_config


pspell_new_config

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_config -- 주어진 설정으로 새 사전 열기

설명

int pspell_new_config ( int $config )

pspell_new_config()함수는 pspell_config_create()함수에 의해서 생성되고, pspell_config_*()함수로 수정된 설정을 사용해서 새 사전을 엽니다. 이 방법은 가장 융통성이 있고,pspell_new()함수와 pspell_new_personal()함수에 의해 제공되는 모든 기능을 을 제공합니다.

config 파라미터는 설정이 생성될 때 pspell_config_create()함수에 의해 반환되는 것입니다.

예 1928. pspell_new_config()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl ($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_personal (pspell_config);

이전 | 위로 | 다음
pspell_config_save_repl | 처음으로 | pspell_new_personal


pspell_new_personal

(PHP 4 >= 4.0.2, PHP 5)

pspell_new_personal -- 사용자 단어목록으로 새 사전 열기

설명

int pspell_new_personal ( string $personal, string $language [, string $ spelling [, string $ jargon [, string $ encoding [, int $ mode ]]]] )

pspell_new_personal()함수는 사용자 단어목록으로 새 사전을 열고 다른 pspell 함수에서
 사용하기위한 사전열기 identifier를 반환합니다. 원할경우, 단어목록은
pspell_save_wordlist()함수에 의해 수정되고 저장될수 있습니다.
 교정목록이 저장되지 않았더라도, 교정목록을 저장하기 위해서는
pspell_config_create()함수를 사용해서 설정을 생성하고,
pspell_config_personal()함수를 사용해서 사용자 단어목록파일을 지정하고,
pspell_config_repl()함수를 사용해서 교정목록파일을 지정하고,
pspell_new_config()함수를 사용해서 새 사전을 열어야만 합니다.

personal 파라미터는 단어가 추가되고 저장될 사용자 단어목록 파일을 지정합니다. personal 파라미터는 "/"로 시작하는 절대경로 파일명이어야 합니다. 왜냐하면 그렇지 않을 경우 거의 모든 시스템에서 $HOME의 경로인 "/root"로 부터 상대경로가 됩니다. 그것은 아마도 당신이 원하는 경로가 아닐 것입니다.

language 파라미터는 두자로 된 ISO 639 language 코드입니다. 선택적으로 ISO 639 language 코드 이후 '-' 나 '_' 를 적고 두자로 된 ISO 3166 국가코드를 추가 할 수 있습니다.

spelling 파라미터는 English 와 같이 한 철자 이상의 철자가 있는 언어에 대해 철자를 지정합니다. English 의 경우 알려진 값에는 'american', 'british', and 'canadian' 가 있습니다.

jargon 파라미터는 동일한 language와 spelling 파라미터를 가지고 있는 두 다른 단어 목록을 구별하기 위한 추가정보입니다.

encoding 파라미터는 단어의 인코딩 정보입니다. 가능한 값에는 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32' 가 있습니다. 이 파라미터는 거의 테스트되지 않았으니, 사용할 때 주의하세요.

mode 파라미터는 단어검사기의 실행모드입니다. 아래에 몇가지 가능한 모드가 있습니다.

  • PSPELL_FAST - 빠른 실행모드 (최소한의 추천단어)
  • PSPELL_NORMAL - 보통 실행모드 (더 많은 추천단어)
  • PSPELL_BAD_SPELLERS - 느린 실행모드 (가장많은 추천단어)
  • PSPELL_RUN_TOGETHER - 연결된 단어를 정당한 합성어로 고려할지를 결정합니다. 즉, 말하자면 두 단어 사이에 공백(space)이 있어야 할지라도 "thecat"은 정당한 합성어가 됩니다. 이 설정을 바꾸면 pspell_check()함수에 의해 반환되는 결과값에만 영향을 미칩니다. pspell_suggest()함수는 여전히 추천단어를 반환합니다.
모드는 위에 나열된 서로 다른 상수로 구성된 bitmask 입니다. PSPELL_FAST, PSPELL_NORMAL, PSPELL_BAD_SPELLERS 이 서로 배타적일지라도, 이것들중에 하나만을 선택해야합니다.

자세한 정보와 예제는 pspell 웹사이트(» http://aspell.net/)의 매뉴얼을 참고하세요.

예 1929. pspell_new_personal()

$pspell_link = pspell_new_personal ("/var/dictionaries/custom.pws",
        "en", "", "", "", PSPELL_FAST|PSPELL_RUN_TOGETHER));

이전 | 위로 | 다음
pspell_new_config | 처음으로 | pspell_new


pspell_new

(PHP 4 >= 4.0.2, PHP 5)

pspell_new -- 새 사전 열기

설명

int pspell_new ( string $language [, string $ spelling [, string $ jargon [, string $ encoding [, int $ mode ]]]] )

pspell_new()함수는 새 사전을 열고 다른 pspell함수에서 사용할수 있도록 사전 연결 identifier를 반환합니다.

language 파라미터는 두자로 된 ISO 639 언어 코드입니다. 선택적으로 ISO 639 언어 코드 이후 '-' 나 '_' 를 적고 두자로 된 ISO 3166 국가코드를 추가할 수 있습니다.

spelling 파라미터는 English 와 같이 한 철자 이상의 철자가 있는 언어에 대해 철자를 지정합니다. English 의 경우 알려진 값에는 'american', 'british', and 'canadian' 가 있습니다.

jargon 파라미터는 동일한 language와 spelling 파라미터를 가지고 있는 두 다른 단어 목록을 구별하기 위한 추가정보입니다.

encoding 파라미터는 단어의 인코딩 정보입니다. 가능한 값에는 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32' 가 있습니다. 이 파라미터는 거의 테스트되지 않았으니, 사용할 때 주의하세요.

mode 파라미터는 단어검사기의 실행모드입니다. 아래에 몇가지 가능한 모드가 있습니다.

  • PSPELL_FAST - 빠른 실행모드 (최소한의 추천단어)
  • PSPELL_NORMAL - 보통 실행모드 (더 많은 추천단어)
  • PSPELL_BAD_SPELLERS - 느린 실행모드 (가장많은 추천단어)
  • PSPELL_RUN_TOGETHER - 연결된 단어를 정당한 합성어로 고려할지를 결정합니다. 즉, 말하자면 두 단어 사이에 공백(space)이 있어야 할지라도 "thecat"은 정당한 합성어가 됩니다. 이 설정을 바꾸면 pspell_check()함수에 의해 반환되는 결과값에만 영향을 미칩니다.; pspell_suggest()함수는 여전히 추천단어를 반환합니다.
모드는 위에 나열된 서로 다른 상수로 구성된 bitmask 입니다. PSPELL_FAST, PSPELL_NORMAL, PSPELL_BAD_SPELLERS 이 서로 배타적일지라도, 이것들중에 하나만을 선택해야합니다.

자세한 정보와 예제는 pspell 웹사이트(» http://aspell.net/)의 매뉴얼을 참고하세요.

예 1930. pspell_new()

$pspell_link = pspell_new ("en", "", "", "",
                           (PSPELL_FAST|PSPELL_RUN_TOGETHER));

이전 | 위로 | 다음
pspell_new_personal | 처음으로 | pspell_save_wordlist


pspell_save_wordlist

(PHP 4 >= 4.0.2, PHP 5)

pspell_save_wordlist -- 사용자 단어목록을 파일로 저장

설명

int pspell_save_wordlist ( int $dictionary_link )

pspell_save_wordlist()함수는 현재 세션의 사용자 단어목록을 저장합니다.
 사전은 pspell_new_personal()함수를 사용해서 열고, 저장된
파일의 위치는 pspell_config_personal()함수를 사용해서 지정되어야 하고,
선택적으로pspell_config_repl()함수를 사용할수 있습니다.
이 함수는 pspell .11.2와 aspell .32.5 또는 이후의 버전에서만 실행됩니다.

예 1931. pspell_add_to_personal()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/tmp/dicts/newdict");
$pspell_link = pspell_new_config ($pspell_config);

pspell_add_to_personal ($pspell_link, "Vlad");
pspell_save_wordlist ($pspell_link);

이전 | 위로 | 다음
pspell_new | 처음으로 | pspell_store_replacement


pspell_store_replacement

(PHP 4 >= 4.0.2, PHP 5)

pspell_store_replacement -- 단어 교정목록을 저장

설명

int pspell_store_replacement ( int $dictionary_link, string $misspelled, string $correct )

pspell_store_replacement()함수는 단어의 교정목록을 저장합니다. 나중에 pspell_suggest()함수를 사용해서 교정내용을 반환할 수 있습니다. 이 함수를 사용할 수 있게 하기 위해서 사전을 열때 pspell_new_personal()함수를 사용해야 합니다. 교정목록을 영구적으로 저장하기위해서는 pspell_config_personal()함수와 pspell_config_repl()함수를 사용해서 사용자 단어목록을 저장할 경로를 지정해야 합니다. 그리고 변경된 것을 디스크에 저장하기 위해pspell_save_wordlist() 함수를 사용해야 합니다. 이 함수는 pspell .11.2와 aspell .32.5 또는 이후의 버전에서만 실행됩니다.

예 1932. pspell_store_replacement()

$pspell_config = pspell_config_create ("en");
pspell_config_personal ($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl ($pspell_config, "/var/dictionaries/custom.repl");
$pspell_link = pspell_new_config ($pspell_config);

pspell_store_replacement ($pspell_link, $misspelled, $correct);
pspell_save_wordlist ($pspell_link);

이전 | 위로 | 다음
pspell_save_wordlist | 처음으로 | pspell_suggest


pspell_suggest

(PHP 4 >= 4.0.2, PHP 5)

pspell_suggest -- 단어의 철자 제안

설명

array pspell_suggest ( int $dictionary_link, string $word )

pspell_suggest()함수는 주어진 단어에 대한 가능한 철자를 배열형으로 반환합니다.

예 1933. pspell_suggest()

$pspell_link = pspell_new ("en");

if (!pspell_check ($pspell_link, "testt")) {
    $suggestions = pspell_suggest ($pspell_link, "testt");

    for ($i=0; $i < count ($suggestions); $i++) {
        echo "Possible spelling: " . $suggestions[$i] . "<br>";
    }
}

이전 | 위로 | 다음
pspell_store_replacement | 처음으로 | CXXXIII. qtdom Functions


GNU Readline

이전 VI. 함수 레퍼런스 다음

CXXXVI. GNU Readline

소개

The readline functions implement an interface to the GNU Readline library. These are functions that provide editable command lines. An example being the way Bash allows you to use the arrow keys to insert characters or scroll through command history. Because of the interactive nature of this library, it will be of little use for writing Web applications, but may be useful when writing scripts used from a command line.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

요구 조건

To use the readline functions, you need to install libreadline. You can find libreadline on the home page of the GNU Readline project, at » http://cnswww.cns.cwru.edu/~chet/readline/rltop.html. It's maintained by Chet Ramey, who's also the author of Bash.

You can also use these functions with the libedit library, a non-GPL replacement for the readline library. The libedit library is BSD licensed and available for download from » http://www.thrysoee.dk/editline/.

설치

To use these functions you must compile the CGI or CLI version of PHP with readline support. You need to configure PHP --with-readline[=DIR]. In order you want to use the libedit readline replacement, configure PHP --with-libedit[=DIR].

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

readline_add_history -- Adds a line to the history
readline_callback_handler_install -- Initializes the readline callback interface and terminal, prints the prompt and returns immediately
readline_callback_handler_remove -- Removes a previously installed callback handler and restores terminal settings
readline_callback_read_char -- Reads a character and informs the readline callback interface when a line is received
readline_clear_history -- Clears the history
readline_completion_function -- Registers a completion function
readline_info -- Gets/sets various internal readline variables
readline_list_history -- Lists the history
readline_on_new_line -- Inform readline that the cursor has moved to a new line
readline_read_history -- Reads the history
readline_redisplay -- Redraws the display
readline_write_history -- Writes the history
readline -- Reads a line
이전 | 위로 | 다음
rar_open | 처음으로 | readline_add_history


readline_add_history

(PHP 4, PHP 5)

readline_add_history -- Adds a line to the history

설명

bool readline_add_history ( string $line )

This function adds a line to the command line history.

매개변수

line

The line to be added in the history.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
CXXXVI. GNU Readline | 처음으로 | readline_callback_handler_install


readline_callback_handler_install

(PHP 5 >= 5.1.0)

readline_callback_handler_install -- Initializes the readline callback interface and terminal, prints the prompt and returns immediately

설명

bool readline_callback_handler_install ( string $prompt, callback $callback )

Sets up a readline callback interface then prints prompt and immediately returns. Calling this function twice without removing the previous callback interface will automatically and conveniently overwrite the old interface.

The callback feature is useful when combined with stream_select() as it allows interleaving of IO and user input, unlike readline().

매개변수

prompt

The prompt message.

callback

The callback function takes one parameter; the user input returned.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1960. Readline Callback Interface Example

<?php
function rl_callback($ret)
{
    global $c, $prompting;

    echo "You entered: $ret\n";
    $c++;

    if ($c > 10) {
        $prompting = false;
        readline_callback_handler_remove();
    } else {
        readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');
    }
}

$c = 1;
$prompting = true;

readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');

while ($prompting) {
    $w = NULL;
    $e = NULL;
    $n = stream_select($r = array(STDIN), $w, $e, null);
    if ($n && in_array(STDIN, $r)) {
        // read a character, will call the callback when a newline is entered
        readline_callback_read_char();
    }
}

echo "Prompting disabled. All done.\n";
?>

참고

readline_callback_handler_remove()
readline_callback_read_char()
stream_select()

이전 | 위로 | 다음
readline_add_history | 처음으로 | readline_callback_handler_remove


readline_callback_handler_remove

(PHP 5 >= 5.1.0)

readline_callback_handler_remove -- Removes a previously installed callback handler and restores terminal settings

설명

bool readline_callback_handler_remove ( void )

Removes a previously installed callback handler and restores terminal settings.

반환값

Returns TRUE if a previously installed callback handler was removed, or FALSE if one could not be found.

예제

See readline_callback_handler_install() for an example of how to use the readline callback interface.

참고

readline_callback_handler_install()
readline_callback_read_char()

이전 | 위로 | 다음
readline_callback_handler_install | 처음으로 | readline_callback_read_char


readline_callback_read_char

(PHP 5 >= 5.1.0)

readline_callback_read_char -- Reads a character and informs the readline callback interface when a line is received

설명

void readline_callback_read_char ( void )

Reads a character of user input. When a line is received, this function informs the readline callback interface installed using readline_callback_handler_install() that a line is ready for input.

반환값

값을 반환하지 않습니다.

예제

See readline_callback_handler_install() for an example of how to use the readline callback interface.

참고

readline_callback_handler_install()
readline_callback_handler_remove()

이전 | 위로 | 다음
readline_callback_handler_remove | 처음으로 | readline_clear_history


readline_clear_history

(PHP 4, PHP 5)

readline_clear_history -- Clears the history

설명

bool readline_clear_history ( void )

This function clears the entire command line history.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
readline_callback_read_char | 처음으로 | readline_completion_function


readline_completion_function

(PHP 4, PHP 5)

readline_completion_function -- Registers a completion function

설명

bool readline_completion_function ( callback $function )

This function registers a completion function. This is the same kind of functionality you'd get if you hit your tab key while using Bash.

매개변수

function

You must supply the name of an existing function which accepts a partial command line and returns an array of possible matches.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
readline_clear_history | 처음으로 | readline_info


readline_info

(PHP 4, PHP 5)

readline_info -- Gets/sets various internal readline variables

설명

mixed readline_info ( [string $varname [, string $newvalue]] )

Gets or sets various internal readline variables.

매개변수

varname

A variable name.

newvalue

If provided, this will be the new value of the setting.

반환값

If called with no parameters, this function returns an array of values for all the setting readline uses. The elements will be indexed by the following values: done, end, erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt, readline_name, and terminal_name.

If called with one or two parameters, the old value is returned.

이전 | 위로 | 다음
readline_completion_function | 처음으로 | readline_list_history


readline_list_history

(PHP 4, PHP 5)

readline_list_history -- Lists the history

설명

array readline_list_history ( void )

Gets the entire command line history.

반환값

Returns an array of the entire command line history. The elements are indexed by integers starting at zero.

이전 | 위로 | 다음
readline_info | 처음으로 | readline_on_new_line


readline_on_new_line

(PHP 5 >= 5.1.0)

readline_on_new_line -- Inform readline that the cursor has moved to a new line

설명

void readline_on_new_line ( void )

Tells readline that the cursor has moved to a new line.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
readline_list_history | 처음으로 | readline_read_history


readline_read_history

(PHP 4, PHP 5)

readline_read_history -- Reads the history

설명

bool readline_read_history ( [string $filename] )

This function reads a command history from a file.

매개변수

filename

Path to the filename containing the command history.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
readline_on_new_line | 처음으로 | readline_redisplay


readline_redisplay

(PHP 5 >= 5.1.0)

readline_redisplay -- Redraws the display

설명

void readline_redisplay ( void )

Redraws readline to redraw the display.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
readline_read_history | 처음으로 | readline_write_history


readline_write_history

(PHP 4, PHP 5)

readline_write_history -- Writes the history

설명

bool readline_write_history ( [string $filename] )

This function writes the command history to a file.

매개변수

filename

Path to the saved file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
readline_redisplay | 처음으로 | readline


readline

(PHP 4, PHP 5)

readline -- Reads a line

설명

string readline ( [string $prompt] )

Reads a single line from the user. You must add this line to the history yourself using readline_add_history().

매개변수

prompt

You may specify a string with which to prompt the user.

반환값

Returns a single string from the user. The line returned has the ending newline removed.

예제

예 1961. readline() Example

<?php
//get 3 commands from user
for ($i=0; $i < 3; $i++) {
        $line = readline("Command: ");
        readline_add_history($line);
}

//dump history
print_r(readline_list_history());

//dump variables
print_r(readline_info());
?>

이전 | 위로 | 다음
readline_write_history | 처음으로 | CXXXVII. GNU Recode Functions


GNU Recode Functions

이전 VI. 함수 레퍼런스 다음

CXXXVII. GNU Recode Functions

소개

This module contains an interface to the GNU Recode library. The GNU Recode library converts files between various coded character sets and surface encodings. When this cannot be achieved exactly, it may get rid of the offending characters or fall back on approximations. The library recognises or produces nearly 150 different character sets and is able to convert files between almost any pair. Most » RFC 1345 character sets are supported.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

요구 조건

You must have GNU Recode 3.5 or higher installed on your system. You can download the package from » http://directory.fsf.org/All_GNU_Packages/recode.html.

주의

The Recode library version 3.6 adds weird characters behind converted strings under certain circumstances. Thus it's safer to use Recode v3.5 or one of the available alternatives like the iconv or mbstring extension.

설치

To be able to use the functions defined in this module you must compile your PHP interpreter using the --with-recode[=DIR] option.

주의

Crashes and startup problems of PHP may be encountered when loading the recode as extension after loading any extension of mysql or imap. Loading the recode before those extension has proved to fix the problem. This is due a technical problem that both the c-client library used by imap and recode have their own hash_lookup() function and both mysql and recode have their own hash_insert function.

주의

IMAP, recode, YAZ, Cyrus 확장은 같은 내부 심볼을 공유하기 때문에, 동시에 사용할 수 없습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

recode_file -- Recode from file to file according to recode request
recode_string -- Recode a string according to a recode request
recode -- Alias of recode_string()
이전 | 위로 | 다음
readline | 처음으로 | recode_file


recode_file

(PHP 4, PHP 5)

recode_file -- Recode from file to file according to recode request

설명

bool recode_file ( string $request, resource $input, resource $output )

Recode the file referenced by file handle input into the file referenced by file handle output according to the recode request.

매개변수

request

The desired recode request type

input

A local file handle resource for the input

output

A local file handle resource for the output

반환값

Returns FALSE, if unable to comply, TRUE otherwise.

예제

예 1962. Basic recode_file() example

<?php
$input = fopen('input.txt', 'r');
$output = fopen('output.txt', 'w');
recode_file("us..flat", $input, $output);
?>

주의

This function does not currently process file handles referencing remote files (URLs). Both file handles must refer to local files.

참고

fopen()

이전 | 위로 | 다음
CXXXVII. GNU Recode Functions | 처음으로 | recode_string


recode_string

(PHP 4, PHP 5)

recode_string -- Recode a string according to a recode request

설명

string recode_string ( string $request, string $string )

Recode the string string according to the recode request request.

매개변수

request

The desired recode request type

string

The string to be recoded

반환값

Returns the recoded string or FALSE, if unable to perform the recode request.

예제

예 1963. Basic recode_string() example

<?php
echo recode_string("us..flat", "The following character has a diacritical mark: &aacute;");
?>

주의

A simple recode request may be "lat1..iso646-de".

참고

The GNU Recode documentation of your installation for detailed instructions about recode requests.

이전 | 위로 | 다음
recode_file | 처음으로 | recode


recode

(PHP 4, PHP 5)

recode -- Alias of recode_string()

설명

이 함수는 다음 함수의 alias입니다: recode_string().

이전 | 위로 | 다음
recode_string | 처음으로 | CXXXVIII. RPM Header Reading 함수


정규표현식 함수 (펄-호환)

이전 VI. 함수 레퍼런스 다음

CXX. 정규표현식 함수 (펄-호환)

소개

이 함수들에서 사용되는 패턴 문법은 펄에 가깝습니다. 표현식은 구분자로 감싸주어야 합니다. 예를 들면, 슬래쉬(/)로 감싸줍니다. 영문자와 숫자, 백슬래쉬(\)를 제외한 어떠한 문자라도 구분자로 사용할 수 있습니다. 구분자가 표현식 안에서 사용될 경우, 백슬래쉬로 이스케이프해야합니다. PHP 4.0.4부터, 펄 형식의 (), {}, [], <> 매칭 구분자를 사용할 수 있습니다. 자세한 설명은 패턴 문법을 참고하십시오.

종료 구분자 뒤에는 매칭에 영향을 주는 여러가지 변경자(midifier)를 쓸 수 있습니다. 패턴 변경자를 참고하십시오.

PHP는 POSIX 확장 정규표현식 함수로 POSIX 확장 문법을 사용하는 정규표현식을 지원합니다.

주의

PCRE의 몇몇 제한에 주의를 해야합니다. 자세한 정보는 » http://www.pcre.org/pcre.txt을 참고하십시오.

요구 조건

정규표현식 지원은 Philip Hazel이 작성한 PCRE 라이브러리 패키지에 의해 제공됩니다. 저작권은 University of Cambridge, England에 있습니다. » ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/에 존재합니다.

설치

PHP 4.2.0부터 이 함수들은 기본값으로 사용 가능합니다. --without-pcre-regex로 PCRE 함수를 사용하지 않을 수 있습니다. 번들된 라이브러리를 사용하지 않는다면, --with-pcre-regex=DIR을 이용하여 PCRE의 인크루드와 라이브러리 파일이 있는 특정한 디렉토리를 지정하십시오. 이전 버전에서는 이 함수들을 사용하기 위해서는 PHP를 --with-pcre-regex[=DIR]를 주어서 설정하고 컴파일해야합니다.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

표 238. PREG 상수

상수 | 설명
PREG_PATTERN_ORDER | $matches[0] 배열은 패턴 전체를 가지고, $matches[1] 배열이 처음 괄호에 들은 서브패턴의 문자열을 가지도록 결과를 지정합니다. 이 플래그는 preg_match_all()에서만 사용합니다.
PREG_SET_ORDER | $matches[0] 배열은 매치된 첫번째 집합을 가지고, $matches[1]는 두번째 집합을 가지도록 결과를 지정합니다. 이 플래그는 preg_match_all()에서만 사용합니다.
PREG_OFFSET_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE의 설명을 보십시오. 이 플래그는 PHP 4.3.0부터 사용할 수 있습니다.
PREG_SPLIT_NO_EMPTY | 이 플래그는 preg_split()가 비어있지 않은 조각만을 반환하게 합니다.
PREG_SPLIT_DELIM_CAPTURE | 이 플래그는 preg_split()가 구분자 안의 괄호로 둘러싸인 표현식도 잡아내게 합니다. PHP 4.0.5부터 사용할 수 있습니다.
PREG_SPLIT_OFFSET_CAPTURE | 이 플래그를 설정하면, 매치하는 모든 문자열 요소의 시작 위치를 함께 반환합니다. 매치된 문자열을 0으로, 문자열 시작 위치를 1로 가지는 배열을 원소로 가지는 배열을 반환합니다. 이 플래그는 PHP 4.3.0부터 사용할 수 있고, preg_split()에서만 사용합니다.

예제

예 1614. 유효한 패턴 예제

  • /<\/\w+>/
  • |(\d{3})-\d+|Sm
  • /^(?i)php[34]/
  • {^\s+(\s+)?$}

예 1615. 유효하지 않은 패턴 예제

  • /href='(.*)' - 종료 구분자가 없습니다
  • /\w+\s*\w+/J - 알 수 없는 변경자 'J'
  • 1-\d3-\d3-\d4| - 시작 구분자가 없습니다

차례

패턴 변경자 -- 정규표현식 패턴에 존재하는 변경자의 설명
패턴 문법 -- PCRE 정규표현식 문법 설명
preg_grep -- 패턴 매치의 배열을 반환합니다.
preg_last_error -- Returns the error code of the last PCRE regex execution
preg_match_all -- 전역 정규 표현식 매치를 수행합니다.
preg_match -- 정규표현식 매치를 수행합니다.
preg_quote -- 정규 표현식 문자를 인용합니다.
preg_replace_callback -- 콜백을 이용한 정규 표현식 검색과 치환을 수행합니다.
preg_replace -- 정규 표현식 검색과 치환을 수행합니다.
preg_split -- 정규 표션식에 따라 문자열을 나눕니다.
이전 | 위로 | 다음
pcntl_wtermsig | 처음으로 | 패턴 변경자


패턴 변경자

(No version information available, might be only in CVS)

패턴 변경자 -- 정규표현식 패턴에 존재하는 변경자의 설명

설명

아래 목록은 현재 존재하는 PCRE 변경자입니다. 괄호 안의 이름은 각 변경자에 대한 PCRE 내부의 이름입니다.

i (PCRE_CASELESS)
이 변경자를 지정하면, 패턴의 문자는 대문자와 소문자를 구별하지 않습니다.
m (PCRE_MULTILINE)

기본적으로, PCRE는 주어진 문자열을 하나의 "줄"로 취급합니다. (실제로 몇개의 라인을 가지더라도) "줄 시작" 메타문자(^)는 문자열의 처음만을 인식하며, "줄 끝" 메타문자($)는 문자열의 끝이나 (D 변경자가 지정되지 않는 한) 마지막 뉴라인의 직전만을 인식합니다. 이는 펄과 같습니다.

이 변경자를 지정하면, "줄 시작"과 "줄 끝"은 주어진 문자열의 모든 뉴라인 직후와 직전을 인식합니다. respectively, as well as at the very start and end. 이는 펄의 /m 변경자와 동일합니다. 주어진 문자열에 "\n" 문자가 존재하지 않거나 ^나 $ 패턴이 일어나지 않으면 이 변경자는 아무런 효과가 없습니다.

s (PCRE_DOTALL)
이 변경자가 지정되면, 패턴의 점 메타문자는 뉴라인을 포함하는 모든 문자를 인식합니다. 지정하지 않으면, 뉴라인은 제외됩니다. 이 변경자는 펄의 /s 변경자와 동일합니다. [^a]와 같은 부정클래스는 이 변경자에 관계 없이 항상 뉴라인 문자를 포함합니다.
x (PCRE_EXTENDED)
이 변경자가 지정되면, 공백 문자는 이스케이프 되거나 문자 클래스 안에 있을 경우를 제외하고, 완전히 무시합니다. 문자 클래스 밖에서 이스케이프 되지 않은 # 사이와 뉴라인 문자 다음의 문자도 무시합니다. 이는 펄의 /x 변경자와 같고, 복잡한 패턴 안에 코멘트를 사용할 수 있게 합니다. 그러나 이는 데이터 문자에만 해당하는 점에 주의하십시오. 공백 문자는 패턴의 특별한 문자 시퀀스 안에는 존재할 수 없습니다. 예를 들면, 조건 서브 패턴을 나타내는 (?( 시퀀스에는 나와서는 안됩니다.
e

이 변경자를 지정하면, preg_replace()는 변경할 문자열을 PHP 코드로 처리하고, 그 결과를 검색된 문자열의 이용하여 일반적인 치환을 합니다.

preg_replace()만 이 변경자를 사용합니다; 다른 PCRE 함수는 무시합니다.

참고: 이 변경자는 PHP 3에서는 사용할 수 없습니다.

A (PCRE_ANCHORED)
이 변경자를 지정하면, 패턴을 강제적으로 "고정"합니다. 이는 ("주어진 문자열"에서) 검색된 문자열의 시작에만 매치도록 강제합니다. 패턴 자체에서 특정한 구조를 가지게 하는, 펄에서는 유일한 방법으로 같은 효과를 얻을 수 있습니다.
D (PCRE_DOLLAR_ENDONLY)
이 변경자가 설정되면, 패턴의 달러($) 메타문자는 주어진 문자열의 마지막에만 대응합니다. 이 변경자 없이는, 달러는 마지막 문자가 뉴라인일 경우에는 바로 직전의 문자에도 매칭합니다. (마지막이 아닌 뉴라인은 제외합니다) 이 변경자는 m 변경자가 지정되었을때는 무시됩니다. 펄에는 이 변경자가 존재하지 않습니다.
S
패턴이 여러번 이용되면, 매칭에 걸리는 시간을 절약하기 위해서 분석에 더 많은 시간을 들일 가치가 있습니다. 이 변경자를 지정하면, 추가 분석을 행합니다. 현 시점에서, 패턴의 분석은 하나의 고정된 시작 문자를 가지지 않는 비고정 패턴에만 유용합니다.
U (PCRE_UNGREEDY)
이 변경자는 수량 지시의 "greediness"를 뒤집습니다. 그리하여 기본값으로 not greedy하게 합니다. 하지만 "?"가 붙으면 greedy하게 됩니다. 이는 펄과 호환되지 않습니다. 패턴 안에서 (?U) 변경자 설정으로 지정할 수 있습니다.
X (PCRE_EXTRA)
이 변경자는 펄과 호환되지 않는 PCRE의 추가 기능을 사용하게 합니다. 패턴의 문자와 결합된 백슬래쉬가 특별한 의미를 지니지 않을 경우에 에러를 발생시켜서, 차후에 추가 기능을 위해 예약해둡니다. 기본적으로 펄은, 문자와 결합된 백슬래쉬가 특별한 의미를 지니지 않을 경우에는 글자로 취급합니다. 이 변경자는 다른 기능을 제어하지 않습니다.
u (PCRE_UTF8)
이 변경자는 펄과 호환되지 않는 PCRE의 추가 기능을 사용하게 합니다. 패턴 문자열을 UTF-8으로 취급합니다. 유닉스에서는 PHP 4.1.0부터, win32에서는 PHP 4.2.3부터 사용할 수 있습니다.

이전 | 위로 | 다음
CXX. 정규표현식 함수 (펄-호환) | 처음으로 | 패턴 문법


패턴 문법

(No version information available, might be only in CVS)

패턴 문법 -- PCRE 정규표현식 문법 설명

설명

PCRE 라이브러리는 아주 약간의 차이(아래를 참고)를 제외하고, 펄 5와 동일한 구문과 의미를 사용하여 정규표현식 패턴 매칭을 수행하는 함수의 집합입니다. 현재 수행은 펄 5.005에 대응합니다.

펄과의 차이

여기에서 설명한 차이는 펄 5.005 기준입니다.

  1. PCRE는 다른 문자 집합으로 컴파일할 수 있지만, 기본적으로 공백 문자는 C 라이브러리 함수 isspace()가 인식하는 모든 문자입니다. 보통 isspace()는 스페이스, 폼피드, 줄바꿈, 캐리지 리턴, 수평 탭, 수직 탭을 인식합니다. 펄 5는 공백 문자에 수직 탭을 포함하지 않습니다. 오랜 기간동안 펄 문서의 \v 이스케이프는 사실상 인정되지 않았습니다. 그러나 문자 자체는 적어도 5.002까지 공백으로 취급되었으며, 5.004와 5.005는 \s에서 인식하지 않습니다.
  2. PCRE는 lookahead 단정에서 반복 횟수를 허용하지 않습니다. 펄은 허용하지만, 생각하는 그대로의 의미를 갖지 않습니다. 예를 들어, (?!a){3}는 다음 세 문자가 "a"가 아닌 것을 의미하지 않습니다. 단지, 다음 문자가 "a"가 아니라는 것을 세번 확인할 뿐입니다.
  3. 부정 lookahead 단정 안에서 일어나는 서브패턴 검출을 카운트를 하지만, 시작 위치 벡터에 그 엔트리를 설정하지는 않습니다. 펄은 부정 lookahead 단정이 단 하나의 브랜치를 가지고 있을 경우에 한하여, 그 단정이 매치에 실패(결과적으로 성공)하기 전에 매치한 어떠한 패턴에 대해서만 그에 대한 숫자 변수를 설정합니다.
  4. 바이너리 제로 문자는 목표 문자열에서는 지원하지만, 패턴 문자열에서는 허용하지 않습니다. 패턴은 제로로 종료하는 보통의 C 문자열로 처리하기 때문입니다. 패턴에서 바이너리 제로를 표현하기 위해서는 이스케이프 시퀀스 "\\x00"로 사용할 수 있습니다.
  5. 다음의 펄 이스케이프 시퀀스는 지원하지 않습니다: \l, \u, \L, \U, \E, \Q. 사실, 이들은 펄의 일반 문자열 핸들링이며, 패턴 매칭 엔진의 부분이 아닙니다.
  6. 펄의 \G는 싱글 패턴 매치에 적절하지 않기 때문에 지원하지 않습니다.
  7. 당연하게도, PCRE는 (?{code}) 구조를 지원하지 않습니다.
  8. 패턴의 일부가 반복될 때, 잡아낸 문자열의 설정에 관해서, 펄 5.005_02에서 일부 이상한 동작이 존재합니다. 예를 들어, "aba"에 대해서 패턴 /^(a(b)?)+$/를 매칭하면 $2를 "b" 값으로 설정하지만, "aabbaa"에 대해서 /^(aa(bb)?)+$/를 매칭하면 $2를 설정하지 않습니다. 하지만 패턴을 /^(aa(b(b))?)+$/로 변경하면 $2(와 $3)를 설정합니다. 펄 5.004에서는 $2를 두 경우 모두 설정했으며, PCRE에서도 TRUE입니다. 앞으로 펄이 이 차이를 일관성 있게 변경한다면, PCRE는 그 변경에 따를 것입니다.
  9. 또다른 해결되지 않은 모순점은 펄 5.005_02가 패턴 /^(a)?(?(1)a|b)+$/를 문자열 "a"에 매치하지만, PCRE는 하지 않습니다. 그러나 펄과 PCRE 모두 /^(a)?a/를 "a"에 매치하고 $1을 설정하지 않습니다.

  10. PCRE는 펄 정규표현식 기능의 몇가지 확장을 지원합니다:

    1. lookbehind 단정은 고정 길이 문자열에만 매치해야하지만, 양자 택일의 lookbehind 단정에서는 다른 길이의 문자열을 매치할 수 있습니다. 펄 5.005에서는 모두 같은 길이를 가질 것을 요구합니다.
    2. PCRE_DOLLAR_ENDONLY를 설정하고 PCRE_MULTILINE를 설정하지 않으면 $ 메타 문자는 문자열의 가장 마지막에만 매치합니다.
    3. PCRE_EXTRA를 설정하면, 백슬래쉬 뒤에 특별한 의미를 가지지 않는 문자의 사용은 실패하게 됩니다.
    4. PCRE_UNGREEDY를 설정하면, 반복 수량어의 greediness가 뒤집어져서, 기본값으로 greedy하지 않게 됩니다. 하지만 뒤에 물음표가 붙으면 greedy하게 됩니다.

정규표현식 상세

소개

아래 설명은 PCRE가 지원하는 정규표현식의 문법과 의미입니다. 정규표현식은 펄 문서 및 많은 책들에 설명이 있으며, 그 중 일부에는 풍부한 예제를 가지고 있습니다. O'Reilly에서 출판한 Jeffrey Friedl의 "Mastering Regular Expressions"(ISBN 1-56592-257-3)는 예제들을 매우 자세하게 다루고 있습니다. 여기의 설명은 레퍼런스 문서에 따릅니다.

정규표현식은 주어진 문자열에 대하여 왼쪽에서 오른쪽으로 매치하는 패턴입니다. 문자열은 패턴으로 준비하고, 목표에서 대응하는 문자열에 매치합니다. 간단한 예로, 패턴 The quick brown fox는 목표 문자열의 동일한 부분에 매치합니다.

메타 문자

정규표현식이 강력한 이유는 패턴에 선택과 반복을 포함할 수 있다는 점입니다. 이는 특별한 방법으로 해석하는 메타 문자를 사용하여 패턴에 넣습니다.

메타 문자는 두가지 종류가 존재합니다: 대괄호 안을 제외하고 패턴의 어디에서라도 작동하는 종류와, 대괄호 안에서만 작동하는 종류입니다. 다음은 대괄호 밖에서 사용하는 메타 문자들입니다.

\
여러가지로 사용하는 일반적인 이스케이프 문자
^
목표의 처음 (멀티라인 모드에서는 줄의 처음)
$
목표의 마지막 (멀티라인 모드에서는 줄의 끝)
.
(기본값으로) 줄바꿈을 제외한 아무 문자
[
클래스 정의 시작 문자
]
클래스 정의 끝 문자
|
선택 브랜치 시작
(
서브패턴 시작
)
서브패턴 끝
?
( 의미 확장, 또는 0회나 1회, 또는 수량어 minimizer
*
0회 이상의 횟수
+
1회 이상의 횟수
{
최소/최대 횟수 시작
}
최소/최대 횟수 끝
대괄호 안쪽의 패턴은 "문자 클래스"라고 부릅니다. 다음은 문자 클래스에서 사용하는 메타 문자들입니다:
\
일반적인 이스케이프 문자
^
처음 문자로 올 때, 부정 클래스로 설정
-
문자 범위 지정
]
문자 클래스 종료
다음 섹션은 각 메타 문자의 사용을 설명합니다.

백슬래쉬

백슬래쉬 문자는 여러가지 사용법을 가집니다. 먼저, 뒤에 영숫자가 아닌 문자가 붙는다면, 그 문자가 가지고 있는 특별한 의미가 사라집니다. 이러한 이스케이프 문자로 백슬래쉬를 사용하는 것은 문자 클래스 안과 밖 양쪽에 모두 적용됩니다.

예를 들어, "*" 문자를 매치하길 원한다면, 패턴에는 "\*"로 써야합니다. 이는 따라오는 문자가 메타 문자이던 아니던간에 관계 없이 적용하기 떄문에, 영숫자가 아닌 문자에 그 자체를 사용하기 위해 "\"를 붙이는 것이 항상 안전합니다. 특히, 백슬래쉬를 매치하고자 한다면, "\\"로 써야합니다.

패턴에 PCRE_EXTENDED 옵션을 사용하면, 패턴에 존재하는 (문자 클래스 안이 아닌) 공백, 그리고 문자 클래스 밖의 "#"사이의 문자와 바로 뒤의 줄바꿈 문자를 무시합니다. 이스케이프하는 백슬래쉬를 공백이나 "#"문자를 패턴에 넣기 위해 사용할 수 있습니다.

백슬래쉬의 두번째 사용법은 패턴에서 출력할 수 없는 문자를 보여지게 인코딩하는 방법을 제공합니다. 바이너리 제로가 패턴 종료를 의미하는걸 제외하면, 출력할 수 없는 문자가 나타나는 제한은 존재하지 않습니다. 그러나 패턴을 텍스트 편집으로 준비할 때는, 다음의 이스케이프 시퀀스를 사용하는 편이 바이너리 문자를 직접 표현하는 것보다 간편합니다:

\a
알람, BEL 문자(hex 07)
\cx
"control-x", x는 임의의 문자
\e
이스케이프 (hex 1B)
\f
폼피드 (hex 0C)
\n
줄바꿈 (hex 0A)
\r
캐리지 리턴 (hex 0D)
\t
탭 (hex 09)
\xhh
16진 코드 hh 문자
\ddd
8진 코드 ddd 문자, 혹은 역참조

"\cx"의 효과는 다음과 같이 계산합니다: "x"가 소문자라면, 대문자로 변환합니다. 그 후, 문자의 6번째 비트(hex 40)가 뒤집어집니다. 즉 "\cz"은 hex 1A가 되고, "\c{"은 hex 3B, 그리고 "\c;"은 hex 7B가 됩니다.

"\x" 뒤에, 두개의 16진 숫자를 읽습니다. (대소문자는 구별하지 않습니다)

"\0"은 다음의 두자리의 8진수를 읽습니다. 양쪽 모두, 두자리가 되지 않을 경우, 그 표현을 그대로 사용합니다. 즉 "\0\x\07" 시퀀스는 두개의 바이너리 제로에 이어지는 BEL 문자를 정의합니다. 바로 뒤에 8진수로 인식되는 문자가 이어질 경우에는 처음의 제로 뒤에 두자리 수를 써야한다는 것을 잊지 마십시오.

백슬래쉬 뒤에 0이 아닌 수가 올 경우에 혼동할 수 있습니다. 문자 클래스 밖에서, PCRE는 그것과 따라오는 수를 10진수로 읽습니다. 수가 10보다 작거나, 표현식에서 수 이상의 묶음을 잡아냈다면, 이 시퀀스는 역참조가 됩니다. 이 작동에 관해서는 아래에, 묶음 서브패턴에 설명이 있습니다.

문자 클래스 안이나, 10진수 9 이상이 없고 서브패턴이 그만큼 존재하지 않을 경우, PCRE는 백슬래쉬 뒤의 세자리 8진수로 다시 읽어들여, 해당하는 8비트 값으로 하나의 바이트를 생성합니다. 어떠한 수라도 사용할 수 있습니다. 예를 들면:

\040
스페이스의 다른 표현 방법
\40
40개 미만의 서브 패턴을 검출하였을때, 동일한 의미
\7
항상 역참조
\11
역참조, 혹은 탭의 다른 표현 방법
\011
항상 탭
\0113
문자 "3"이 따라오는 탭
\113
8진 코드 113 문자 (역참조는 99까지입니다)
\377
1비트만을 제외한 바이트
\81
역참조이거나 "8"과 "1"의 두 문자가 붙는 바이너리 제로

100이상의 8진 값은 앞에 제로가 붙지 않아야만 합니다. 세자리를 넘어가는 8진 값은 읽지 않습니다.

하나의 바이트값을 정의하는 모든 시퀀스는 문자 클래스 내외, 어디에서도 사용할 수 있습니다. 추가로, 문자 클래스 안에서 "\b" 시퀀스는 백스페이스 문자(hex 08)로 해석합니다. 문자 클래스 밖에서는 다른 의미를 가집니다. (아래를 참고)

백슬래쉬의 세번째 사용법은 일반적인 문자 타입의 지정입니다:

\d
임의의 10진 숫자
\D
10진 숫자가 아닌 임의의 문자
\s
임의의 공백 문자
\S
공백이 아닌 임의의 문자
\w
임의의 "word" 문자
\W
임의의 "non-word" 문자

각 이스케이프 시퀀스 조합은 완전한 문자 세트를 두개의 개별 세트로 분리합니다. 주어진 문자는 각 조합의 한쪽에만 매치합니다.

"word" 문자는 어떠한 문자나 숫자, 혹은 언더스코어(_)입니다. 즉, 펄의 "word"에 해당하는 어떠한 문자입니다. 문자와 숫자의 정의는 PCRE의 문자 테이블이 제어하고, 로케일 특정 매칭이 존재할 경우에는 다양할 수 있습니다. (위쪽의 "로케일 지원" 참고) 예를 들어, "fr"(프랑스어) 로케일에서는, 128 이상의 몇몇 코드를 엑센트 문자를 나타내는데 사용하며, 이들은 \w에 매치합니다.

문자형 시퀀스는 문자 클래스 안과 밖에서 모두 사용할 수 있습니다. 각각 해당하는 형의 한 문자에 매치합니다. 현재 매칭 위치가 목표 문자열의 마지막이라면, 전부 실패하고, 어떠한 문자도 매치하지 않습니다.

백슬래쉬의 네번째 사용법은 간단한 단정입니다. 단정은 조건이 목표 문자열에서 다른 부분에 매치하지 않고, 특정한 위치에만 매치하도록 지정합니다. 복잡한 단정을 위한 서브패턴의 사용법은 아래에 설명이 있습니다. 백슬래쉬 단정은 다음과 같습니다.

\b
word 경계
\B
word 경계가 아님
\A
목표의 처음 (멀티라인 모드와 무관)
\Z
목표의 마지막이나 마지막에서 줄바꿈 (멀티라인 모드와 무관)
\z
목표의 마지막 (멀티라인 모드와 무관)

단정은 문자 클래스 안에서 사용할 수 없습니다. ("\b"가 문자 클래스 안에서는 백스페이스 문자를 나타내는 점에 주의하십시오)

word 경계는 현재 문자와 이전 문자가 둘 다 \w에 매치하지 않거나 둘 다 \W에 매치하지 않는 (즉, 하나는 \w에 매치하고 다른 하나는 \W에 매치) 목표 문자열의 위치이거나, 처음이나 마지막 문자가 \w에 매치할 경우는 문자열의 처음이나 마지막입니다.

\A, \Z, \z 단정은 전통적인 circumflex와 달러와는 달리 옵션과 관계 없이 목표 문자열의 가장 처음이나 가장 마지막에만 매치합니다. 이들은 PCRE_MULTILINE이나 PCRE_DOLLAR_ENDONLU 옵션에 영향을 받지 않습니다. \Z와 \z의 차이는, \Z가 문자열의 마지막뿐만 아니라 문자열 마지막 문자가 줄바꿈일 경우에는 바로 앞에도 매치하지만, \z는 마지막에만 매치합니다.

Circumflex와 달러

문자열 클래스의 밖, 기본 매칭 모드에서는 circumflex 문자는 현재 매칭 위치가 목표 문자열의 시작일 경우에만 성공하는 단정입니다. 문자열 클래스 안에서 cicumflex는 완전히 다른 의미를 가집니다. (아래 참고)

여러 개의 선택을 가질 경우 circumflex는 패턴의 처음 문자일 필요가 없지만, 패턴이 그 브랜치에 처음 매치할 경우를 나타내는 각 선택에서의 처음 문자여야 합니다. 모든 선택이 circumflex로 시작하는, 목표의 처음에만 매치하는 패턴은 "고정" 패턴이라 불려집니다. (패턴을 고정하는 다른 구조도 존재합니다)

달러 문자는 매칭 위치가 목표 문자열의 마지막이거나, (기본값으로) 문자열 마지막 줄바꿈의 바로 전에 해당하는 경우에만 TRUE인 단정입니다. 선택을 가지는 패턴에서는 달러가 패턴의 마지막일 필요가 없지만, 마지막을 나타내는 모든 브랜치에서 마지막 문자여야 합니다. 달러는 문자 클래스 안에서는 특별한 의미를 가지지 않습니다.

달러의 의미는 컴파일시나 매치를 할 때 PCRE_DOLLAR_ENDONLY 옵션을 설정해서 문자열의 마지막에만 매치하도록 변경할 수 있습니다. 이는 \Z 단정에는 영향을 주지 않습니다.

PCRE_MULTILINE 옵션을 설정하면, circumflex와 달러 문자의 의미가 달라집니다. 이 경우, 목표 문자열의 처음과 마지막에 더하여, 내부의 "\n" 문자의 뒤와 앞에도 매치합니다. 예를 들어, 패턴 /^abc$/는 멀티라인 모드에서는 목표 문자열 "def\nabc"에 매치하지만, 그렇지 않다면 매치하지 않습니다. 따라서, 모든 브랜치가 "^"로 시작하는 브랜치는 단일라인 모드에서는 고정이지만, 멀티라인 모드에서는 고정이 아닙니다. PCRE_MULTILINE을 설정하면, PCRE_DOLLOR_ENDONLY 옵션을 무시합니다.

어떤 모드에서라도 \A, \Z, \z 시퀀스는 목표의 처음과 마지막에 매치할 때 사용할 수 있습니다. PCRE_MULTILINE에 관계 없이 모든 브랜치가 \A로 시작하는 패턴은 항상 고정입니다.

마침표

문자 클래스 밖에서, 패턴의 마침표는 패턴의 아무 문자에 매치합니다. 출력할 수 없는 문자도 포함하지만, (기본값으로) 줄바꿈은 포함하지 않습니다. PCRE_DOTALL 옵션을 설정하면, 마침표가 줄바꿈에도 매치합니다. 마침표의 처리는 circumflex와 달러의 처리와는 완전히 독립이며, 유일한 관계는 두 경우 모두 줄바꿈 문자에 해당한다는 점입니다. 마침표는 문자 클래스 안에서는 특별한 의미를 가지지 않습니다.

대괄호

여는 대괄호로 문자 클래스를 시작하고, 닫는 대괄호로 종료합니다. 닫는 대괄호는 그 자체로는 특별한 의미가 없습니다. 닫는 대괄호를 클래스의 멤버로 사용하려면 클래스의 가장 처음(존재한다면 시작 circumflex 뒤에)에 위치하거나 백슬래쉬로 이스케이프해야 합니다.

문자 클래스는 목표에서 하나의 문자에 매치합니다; 그 문자는 클래스가 정의하는 문자 세트에 존재해야 합니다. 클래스가 circumflex로 시작할 경우에는, 목표 문자는 클래스 정의 세트에 존재하지 않아야 합니다. circumflex가 클래스 멤버로 필요할 때는, 처음에 위치시키지 않거나 백슬래쉬로 이스케이프해야 합니다.

예를 들면, 문자 클래스 [aeiou]는 모든 소문자 모음에 매치하지만, [^aeiow]는 소문자 모음이 아닌 모든 문자에 매치합니다. circumflex는 단지 클래스에 존재하는 문자가 아닌 것들을 지정하는 편리한 방법일 뿐이라는 점에 주의하십시오. 단정이 아닙니다: 목표 문자열에서 문자를 찾아내며, 현재 위치가 문자열의 끝이면 실패합니다.

대소문자를 구별하지 않는 매칭을 설정하면, 클래스 안의 모든 문자는 대문자와 소문자 모두 매치합니다. 예를 들면, 대소문자 구별 없는 [aeiou]는 "a"와 함께 "A"도 매치하며, 대소문자 구별 없는 [^aeiou]는 구별하는 버전일 경우 매치하는 "A"에는 매치하지 않습니다.

줄바꿈 문자는 PCRE_DOTALL나 PCRE_MULTILINE 옵션의 설정에 관계 없이, 문자 클래스 안에서 특별한 방법으로 취급하지 않습니다. [^a]와 같은 클래스는 항상 줄바꿈에 매치합니다.

빼기(하이픈) 문자는 문자 클래스에서 문자의 범위를 지정하는데 사용할 수 있습니다. 예를 들어, [d-m]은 d부터 m까지의 모든 문자에 매치합니다. 빼기 문자가 클래스에서 필요하면, 백슬래쉬로 이스케이프하거나, 클래스의 맨 처음이나 마지막처럼 범위로 해석할 수 없는 위치에 나타나야 합니다.

문자 "]"를 범위의 마지막으로 지정하는 것은 불가능합니다. [W-]46]과 같은 패턴은 두 문자를 가지는 클래스("W"와 "-") 뒤에 일반 문자열 "46]"이 붙는 형태로 해석합니다. 그러므로 "W46]"이나 "-46]"에 매치합니다. 그러나, "]"를 백슬래쉬로 이스케이프하면 범위의 끝으로 해석하기에, [W-\]46]은 범위와 두개의 개별 문자를 가지는 하나의 클래스로 해석합니다. 범위의 마지막으로 "]"의 8진수 및 16진수 표현을 사용할 수도 있습니다.

범위는 아스키 순서에 따라 정해집니다. [\000-\037]처럼 숫자로 지정한 문자를 사용할 수도 있습니다. 대소문자 구별 없는 매칭을 설정하면, 범위 안의 문자들도 대소문자 구별 없이 매칭합니다. 예를 들면, [W-c]는 대소문자 구별 없는 [][\^_`wxyzabc]와 동일하며, "fr" 로케일의 문자표를 사용하면, [\xc8-\xcb]는 대소문자 구별 없이 엑센트 E 문자에 매치합니다.

문자형 \d, \D, \s, \S, \w, \W도 문자 클래스에서 사용할 수 있고, 해당하는 문자들을 클래스에 추가합니다. 예를 들어, [\dABCDEF]는 모든 16진수에 매치합니다. circumflex와 위에서 대문자형을 지정하여 소문자형을 매칭하는 데에 편리하게 제한을 할 수 있습니다. 예를 들어, 클래스 [^\W_]는 언더스코어를 제외한 모든 문자와 숫자에 매치합니다.

\, -, ^(시작 위치), 종료 ]를 제외한 모든 영숫자가 아닌 문자는 문자 클래스에서 특별한 의미를 가지지 않지만, 이스케이프 해도 문제가 발생하지는 않습니다.

수직 바

수직 바 문자는 선택 패턴을 구별할 때 사용합니다. 예를 들어, 패턴 gilbert|sullivan은 "gilbert"나 "sullivan"에 매치합니다. 어떠한 수의 선택도 사용할 수 있고, 빈 선택도 허용합니다. (빈 문자열에 매칭합니다) 매칭 프로세스는 각 선택을 왼쪽에서 오른쪽으로 시도하며, 가장 먼저 선택한 것을 사용합니다. 서브패턴(아래에서 정의) 안에서 선택을 하면, "성공"은 서브패턴의 선택과 함께 메인 패턴의 나머지 부분도 매치하는 것을 의미합니다.

내부 옵션 설정

PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_EXTENDED의 설정은 "(?"와 ")" 사이에 펄 옵션 문자 시퀀스로 패턴 안에서 변경할 수 있습니다. 옵션 문자는 다음과 같습니다.

표 239. 내부 옵션 문자

i | PCRE_CASELESS에 해당
m | PCRE_MULTILINE에 해당
s | PCRE_DOTALL에 해당
i | PCRE_EXTENDED에 해당

예를 들어, (?im)은 대소문자 구별 없는 멀티라인 매칭을 설정합니다. 하이픈과 함께 사용하여 옵션을 해제할 수도 있습니다. 설정과 해제를 동시에 하는 것도 허용합니다. (?im-sx)를 지정하면, PCRE_CASELESS와 PCRE_MULTILINE를 설정하고 PCRE_DOTALL와 PCRE_EXTENDED를 해제합니다. 문자가 하이픈 앞과 뒤에 모두 나타나면, 옵션을 해제합니다.

옵션이 미치는 위치는 패턴의 어디에서 설정을 했는지에 의존합니다. 모든 서브패턴(아래에서 정의) 밖에서 설정하면, 효과는 옵션을 매칭 시작 지점에서 설정 및 해제한 것과 같습니다. 다음 패턴들은 모두 완전히 동일한 작동을 합니다:

(?i)abc
a(?i)bc
ab(?i)c
abc(?i)

이들은 PCRE_CASELESS를 설정하여 패턴 abc를 처리하는 것과 동일합니다. 즉, "최고 레벨" 설정은 (서브패턴 안에서 다른 변화를 주지 않는 한) 모든 패턴에 적용합니다. 최고 레벨에서 같은 옵션의 설정이 하나 이상 존재하면, 가장 오른쪽에 나오는 설정을 사용합니다.

서브패턴 안에서 옵션을 변경하면, 효과가 다릅니다. 이는 펄 5.005에서 작동 변경점입니다. 서브패턴 안에서 옵션 변경은 따라오는 서브패턴의 부분에만 영향을 미칩니다. 그러므로 (a(?i)b)c은 abc와 aBc만을 매치합니다. (PCRE_CASELESS를 사용하지 않는 경우) 이 의미로, 옵션을 패턴의 다른 부분에서 다른 설정으로 할 수 있습니다. 하나의 선택에서 변경한 것은 같은 서브패턴에서 지속적으로 사용합니다. 예를 들면, (a(?i)b|c)는 "ab", "aB", "c", "C"에 매치합니다. "C"는 옵션을 설정하기 전에 나누어진 브랜치에 해당하지만, 이상한 동작일지라도, 처리 시에 옵션 설정의 효율성을 위해서 매치합니다.

PCRE 전용 옵션 PCRE_UNGREEDY와 PCRE_EXTRA는 U와 X 문자를 사용하여 펄 호환 옵션과 같은 방법으로 변경할 수 있습니다. (?X) 플래그는 특별하기에, 최고 레벨에서라도 다른 기능을 켜기 전에 위치해야만 합니다. 가장 처음에 놓는 편이 좋습니다.

서브패턴

서브패턴은 괄호로 구분하며, 중첩할 수 있습니다. 패턴의 부분을 서브패턴으로 만드는 것은 두가지 일을 합니다:

1. 선택 세트를 지역화합니다. 예를 들어, 패턴 cat(aract|erpillar|)는 "cat", "cataract", "caterpillar" 중에 하나에 매치합니다. 괄호가 없으면, "cataract", "erpillar", 또는 빈 문자열에 매치할 것입니다.

2. It sets up the subpattern as a capturing subpattern (as defined above). When the whole pattern matches, that portion of the subject string that matched the subpattern is passed back to the caller via the ovector argument of pcre_exec(). Opening parentheses are counted from left to right (starting from 1) to obtain the numbers of the capturing subpatterns.

예를 들어, 문자열 "the red king"이 패턴 the ((read|white) (king|queen)에 매치한다면, "red king", "red", "king" 부분 문자열을 잡아내고, 1, 2, 3의 숫자를 부여합니다.

The fact that plain parentheses fulfil two functions is not always helpful. There are often times when a grouping subpattern is required without a capturing requirement. If an opening parenthesis is followed by "?:", the subpattern does not do any capturing, and is not counted when computing the number of any subsequent capturing subpatterns. For example, if the string "the white queen" is matched against the pattern the ((?:red|white) (king|queen)) the captured substrings are "white queen" and "queen", and are numbered 1 and 2. The maximum number of captured substrings is 99, and the maximum number of all subpatterns, both capturing and non-capturing, is 200.

As a convenient shorthand, if any option settings are required at the start of a non-capturing subpattern, the option letters may appear between the "?" and the ":". Thus the two patterns

(?i:saturday|sunday)
(?:(?i)saturday|sunday)

match exactly the same set of strings. Because alternative branches are tried from left to right, and options are not reset until the end of the subpattern is reached, an option setting in one branch does affect subsequent branches, so the above patterns match "SUNDAY" as well as "Saturday".

반복

반복은 다음 항목들에 덧붙이는 수량어로 지정합니다:

  • 이스케이프할 수 있는 하나의 문자
  • . 메타 문자
  • 문자 클래스
  • 역참조 (다음 섹션 참고)
  • 서브 패턴 묶음(단정이 아닌 경우 - 아래 참고

일반적인 반복 수량어는 허용하는 매치 수의 최소값과 최대값을 중괄호 안에 쉼표로 구분하여 지정합니다. 수는 65535보다 작아야하며, 처음 수는 두번째 수보다 작거나 같아야만 합니다. 예를 들면: z{2,4}는 "zz", "zzz", "zzzz"에 매치합니다. 닫는 괄호 자체는 특수 문자가 아닙니다. 두번째 수를 생략하고, 쉼표가 존재하면 최대 제한이 없어집니다; 두번째 수와 쉼표를 모두 생략하면, 수량어는 요구하는 매치 수의 정확한 수를 지정합니다. 그러므로, [aeiou]{3,}는 3개 이상의 모음에 매치하지만, \d{8}은 8자리 수에만 매치합니다. 수량어를 허용하지 않는 위치에서 중괄호를 여는 것은 수량어 구문으로 매치하지 않고, 일반 문자로 취급합니다. 예를 들어, {,6}는 수량어가 아닌, 4 문자의 일반 문자열입니다.

수량어 {0}을 허용하며, 이는 이전의 항목과 수량어가 존재하지 않는 표현식으로 작동합니다.

편의성을 위해서 (그리고 역사적인 호환성을 위해서) 가장 일반적인 세 수량어는 단일 표현을 가지고 있습니다:

표 240. 단일 문자 수량어

* | {0,}과 동일
+ | {1,}과 동일
? | {0,1}과 동일

It is possible to construct infinite loops by following a subpattern that can match no characters with a quantifier that has no upper limit, for example: (a?)*

Earlier versions of Perl and PCRE used to give an error at compile time for such patterns. However, because there are cases where this can be useful, such patterns are now accepted, but if any repetition of the subpattern does in fact match no characters, the loop is forcibly broken.

By default, the quantifiers are "greedy", that is, they match as much as possible (up to the maximum number of permitted times), without causing the rest of the pattern to fail. The classic example of where this gives problems is in trying to match comments in C programs. These appear between the sequences /* and */ and within the sequence, individual * and / characters may appear. An attempt to match C comments by applying the pattern /\*.*\*/ to the string /* first command */ not comment /* second comment */ fails, because it matches the entire string due to the greediness of the .* item.

However, if a quantifier is followed by a question mark, then it ceases to be greedy, and instead matches the minimum number of times possible, so the pattern /\*.*?\*/ does the right thing with the C comments. The meaning of the various quantifiers is not otherwise changed, just the preferred number of matches. Do not confuse this use of question mark with its use as a quantifier in its own right. Because it has two uses, it can sometimes appear doubled, as in \d??\d which matches one digit by preference, but can match two if that is the only way the rest of the pattern matches.

If the PCRE_UNGREEDY option is set (an option which is not available in Perl) then the quantifiers are not greedy by default, but individual ones can be made greedy by following them with a question mark. In other words, it inverts the default behaviour.

When a parenthesized subpattern is quantified with a minimum repeat count that is greater than 1 or with a limited maximum, more store is required for the compiled pattern, in proportion to the size of the minimum or maximum.

If a pattern starts with .* or .{0,} and the PCRE_DOTALL option (equivalent to Perl's /s) is set, thus allowing the . to match newlines, then the pattern is implicitly anchored, because whatever follows will be tried against every character position in the subject string, so there is no point in retrying the overall match at any position after the first. PCRE treats such a pattern as though it were preceded by \A. In cases where it is known that the subject string contains no newlines, it is worth setting PCRE_DOTALL when the pattern begins with .* in order to obtain this optimization, or alternatively using ^ to indicate anchoring explicitly.

When a capturing subpattern is repeated, the value captured is the substring that matched the final iteration. For example, after (tweedle[dume]{3}\s*)+ has matched "tweedledum tweedledee" the value of the captured substring is "tweedledee". However, if there are nested capturing subpatterns, the corresponding captured values may have been set in previous iterations. For example, after /(a|(b))+/ matches "aba" the value of the second captured substring is "b".

역참조

Outside a character class, a backslash followed by a digit greater than 0 (and possibly further digits) is a back reference to a capturing subpattern earlier (i.e. to its left) in the pattern, provided there have been that many previous capturing left parentheses.

However, if the decimal number following the backslash is less than 10, it is always taken as a back reference, and causes an error only if there are not that many capturing left parentheses in the entire pattern. In other words, the parentheses that are referenced need not be to the left of the reference for numbers less than 10. See the section entitled "Backslash" above for further details of the handling of digits following a backslash.

A back reference matches whatever actually matched the capturing subpattern in the current subject string, rather than anything matching the subpattern itself. So the pattern (sens|respons)e and \1ibility matches "sense and sensibility" and "response and responsibility", but not "sense and responsibility". If caseful matching is in force at the time of the back reference, then the case of letters is relevant. For example, ((?i)rah)\s+\1 matches "rah rah" and "RAH RAH", but not "RAH rah", even though the original capturing subpattern is matched caselessly.

There may be more than one back reference to the same subpattern. If a subpattern has not actually been used in a particular match, then any back references to it always fail. For example, the pattern (a|(bc))\2 always fails if it starts to match "a" rather than "bc". Because there may be up to 99 back references, all digits following the backslash are taken as part of a potential back reference number. If the pattern continues with a digit character, then some delimiter must be used to terminate the back reference. If the PCRE_EXTENDED option is set, this can be whitespace. Otherwise an empty comment can be used.

A back reference that occurs inside the parentheses to which it refers fails when the subpattern is first used, so, for example, (a\1) never matches. However, such references can be useful inside repeated subpatterns. For example, the pattern (a|b\1)+ matches any number of "a"s and also "aba", "ababaa" etc. At each iteration of the subpattern, the back reference matches the character string corresponding to the previous iteration. In order for this to work, the pattern must be such that the first iteration does not need to match the back reference. This can be done using alternation, as in the example above, or by a quantifier with a minimum of zero.

단정

An assertion is a test on the characters following or preceding the current matching point that does not actually consume any characters. The simple assertions coded as \b, \B, \A, \Z, \z, ^ and $ are described above. More complicated assertions are coded as subpatterns. There are two kinds: those that look ahead of the current position in the subject string, and those that look behind it.

An assertion subpattern is matched in the normal way, except that it does not cause the current matching position to be changed. Lookahead assertions start with (?= for positive assertions and (?! for negative assertions. For example, \w+(?=;) matches a word followed by a semicolon, but does not include the semicolon in the match, and foo(?!bar) matches any occurrence of "foo" that is not followed by "bar". Note that the apparently similar pattern (?!foo)bar does not find an occurrence of "bar" that is preceded by something other than "foo"; it finds any occurrence of "bar" whatsoever, because the assertion (?!foo) is always TRUE when the next three characters are "bar". A lookbehind assertion is needed to achieve this effect.

Lookbehind assertions start with (?<= for positive assertions and (?<! for negative assertions. For example, (?<!foo)bar does find an occurrence of "bar" that is not preceded by "foo". The contents of a lookbehind assertion are restricted such that all the strings it matches must have a fixed length. However, if there are several alternatives, they do not all have to have the same fixed length. Thus (?<=bullock|donkey) is permitted, but (?<!dogs?|cats?) causes an error at compile time. Branches that match different length strings are permitted only at the top level of a lookbehind assertion. This is an extension compared with Perl 5.005, which requires all branches to match the same length of string. An assertion such as (?<=ab(c|de)) is not permitted, because its single top-level branch can match two different lengths, but it is acceptable if rewritten to use two top-level branches: (?<=abc|abde) The implementation of lookbehind assertions is, for each alternative, to temporarily move the current position back by the fixed width and then try to match. If there are insufficient characters before the current position, the match is deemed to fail. Lookbehinds in conjunction with once-only subpatterns can be particularly useful for matching at the ends of strings; an example is given at the end of the section on once-only subpatterns.

Several assertions (of any sort) may occur in succession. For example, (?<=\d{3})(?<!999)foo matches "foo" preceded by three digits that are not "999". Notice that each of the assertions is applied independently at the same point in the subject string. First there is a check that the previous three characters are all digits, then there is a check that the same three characters are not "999". This pattern does not match "foo" preceded by six characters, the first of which are digits and the last three of which are not "999". For example, it doesn't match "123abcfoo". A pattern to do that is (?<=\d{3}...)(?<!999)foo

This time the first assertion looks at the preceding six characters, checking that the first three are digits, and then the second assertion checks that the preceding three characters are not "999".

Assertions can be nested in any combination. For example, (?<=(?<!foo)bar)baz matches an occurrence of "baz" that is preceded by "bar" which in turn is not preceded by "foo", while (?<=\d{3}(?!999)...)foo is another pattern which matches "foo" preceded by three digits and any three characters that are not "999". Assertion subpatterns are not capturing subpatterns, and may not be repeated, because it makes no sense to assert the same thing several times. If any kind of assertion contains capturing subpatterns within it, these are counted for the purposes of numbering the capturing subpatterns in the whole pattern. However, substring capturing is carried out only for positive assertions, because it does not make sense for negative assertions. Assertions count towards the maximum of 200 parenthesized subpatterns.

Once-only subpatterns

With both maximizing and minimizing repetition, failure of what follows normally causes the repeated item to be reevaluated to see if a different number of repeats allows the rest of the pattern to match. Sometimes it is useful to prevent this, either to change the nature of the match, or to cause it fail earlier than it otherwise might, when the author of the pattern knows there is no point in carrying on.

Consider, for example, the pattern \d+foo when applied to the subject line 123456bar

After matching all 6 digits and then failing to match "foo", the normal action of the matcher is to try again with only 5 digits matching the \d+ item, and then with 4, and so on, before ultimately failing. Once-only subpatterns provide the means for specifying that once a portion of the pattern has matched, it is not to be re-evaluated in this way, so the matcher would give up immediately on failing to match "foo" the first time. The notation is another kind of special parenthesis, starting with (?> as in this example: (?>\d+)bar

This kind of parenthesis "locks up" the part of the pattern it contains once it has matched, and a failure further into the pattern is prevented from backtracking into it. Backtracking past it to previous items, however, works as normal.

An alternative description is that a subpattern of this type matches the string of characters that an identical standalone pattern would match, if anchored at the current point in the subject string.

Once-only subpatterns are not capturing subpatterns. Simple cases such as the above example can be thought of as a maximizing repeat that must swallow everything it can. So, while both \d+ and \d+? are prepared to adjust the number of digits they match in order to make the rest of the pattern match, (?>\d+) can only match an entire sequence of digits.

This construction can of course contain arbitrarily complicated subpatterns, and it can be nested.

Once-only subpatterns can be used in conjunction with lookbehind assertions to specify efficient matching at the end of the subject string. Consider a simple pattern such as abcd$ when applied to a long string which does not match. Because matching proceeds from left to right, PCRE will look for each "a" in the subject and then see if what follows matches the rest of the pattern. If the pattern is specified as ^.*abcd$ then the initial .* matches the entire string at first, but when this fails (because there is no following "a"), it backtracks to match all but the last character, then all but the last two characters, and so on. Once again the search for "a" covers the entire string, from right to left, so we are no better off. However, if the pattern is written as ^(?>.*)(?<=abcd) then there can be no backtracking for the .* item; it can match only the entire string. The subsequent lookbehind assertion does a single test on the last four characters. If it fails, the match fails immediately. For long strings, this approach makes a significant difference to the processing time.

When a pattern contains an unlimited repeat inside a subpattern that can itself be repeated an unlimited number of times, the use of a once-only subpattern is the only way to avoid some failing matches taking a very long time indeed. The pattern (\D+|<\d+>)*[!?] matches an unlimited number of substrings that either consist of non-digits, or digits enclosed in <>, followed by either ! or ?. When it matches, it runs quickly. However, if it is applied to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa it takes a long time before reporting failure. This is because the string can be divided between the two repeats in a large number of ways, and all have to be tried. (The example used [!?] rather than a single character at the end, because both PCRE and Perl have an optimization that allows for fast failure when a single character is used. They remember the last single character that is required for a match, and fail early if it is not present in the string.) If the pattern is changed to ((?>\D+)|<\d+>)*[!?] sequences of non-digits cannot be broken, and failure happens quickly.

Conditional subpatterns

It is possible to cause the matching process to obey a subpattern conditionally or to choose between two alternative subpatterns, depending on the result of an assertion, or whether a previous capturing subpattern matched or not. The two possible forms of conditional subpattern are

(?(condition)yes-pattern)
(?(condition)yes-pattern|no-pattern)

If the condition is satisfied, the yes-pattern is used; otherwise the no-pattern (if present) is used. If there are more than two alternatives in the subpattern, a compile-time error occurs.

There are two kinds of condition. If the text between the parentheses consists of a sequence of digits, then the condition is satisfied if the capturing subpattern of that number has previously matched. Consider the following pattern, which contains non-significant white space to make it more readable (assume the PCRE_EXTENDED option) and to divide it into three parts for ease of discussion: ( \( )? [^()]+ (?(1) \) )

The first part matches an optional opening parenthesis, and if that character is present, sets it as the first captured substring. The second part matches one or more characters that are not parentheses. The third part is a conditional subpattern that tests whether the first set of parentheses matched or not. If they did, that is, if subject started with an opening parenthesis, the condition is TRUE, and so the yes-pattern is executed and a closing parenthesis is required. Otherwise, since no-pattern is not present, the subpattern matches nothing. In other words, this pattern matches a sequence of non-parentheses, optionally enclosed in parentheses.

If the condition is not a sequence of digits, it must be an assertion. This may be a positive or negative lookahead or lookbehind assertion. Consider this pattern, again containing non-significant white space, and with the two alternatives on the second line:

(?(?=[^a-z]*[a-z])
\d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} )

The condition is a positive lookahead assertion that matches an optional sequence of non-letters followed by a letter. In other words, it tests for the presence of at least one letter in the subject. If a letter is found, the subject is matched against the first alternative; otherwise it is matched against the second. This pattern matches strings in one of the two forms dd-aaa-dd or dd-dd-dd, where aaa are letters and dd are digits.

주석

The sequence (?# marks the start of a comment which continues up to the next closing parenthesis. Nested parentheses are not permitted. The characters that make up a comment play no part in the pattern matching at all.

If the PCRE_EXTENDED option is set, an unescaped # character outside a character class introduces a comment that continues up to the next newline character in the pattern.

재귀 패턴

Consider the problem of matching a string in parentheses, allowing for unlimited nested parentheses. Without the use of recursion, the best that can be done is to use a pattern that matches up to some fixed depth of nesting. It is not possible to handle an arbitrary nesting depth. Perl 5.6 has provided an experimental facility that allows regular expressions to recurse (among other things). The special item (?R) is provided for the specific case of recursion. This PCRE pattern solves the parentheses problem (assume the PCRE_EXTENDED option is set so that white space is ignored): \( ( (?>[^()]+) | (?R) )* \)

First it matches an opening parenthesis. Then it matches any number of substrings which can either be a sequence of non-parentheses, or a recursive match of the pattern itself (i.e. a correctly parenthesized substring). Finally there is a closing parenthesis.

This particular example pattern contains nested unlimited repeats, and so the use of a once-only subpattern for matching strings of non-parentheses is important when applying the pattern to strings that do not match. For example, when it is applied to (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa() it yields "no match" quickly. However, if a once-only subpattern is not used, the match runs for a very long time indeed because there are so many different ways the + and * repeats can carve up the subject, and all have to be tested before failure can be reported.

The values set for any capturing subpatterns are those from the outermost level of the recursion at which the subpattern value is set. If the pattern above is matched against (ab(cd)ef) the value for the capturing parentheses is "ef", which is the last value taken on at the top level. If additional parentheses are added, giving \( ( ( (?>[^()]+) | (?R) )* ) \) then the string they capture is "ab(cd)ef", the contents of the top level parentheses. If there are more than 15 capturing parentheses in a pattern, PCRE has to obtain extra memory to store data during a recursion, which it does by using pcre_malloc, freeing it via pcre_free afterwards. If no memory can be obtained, it saves data for the first 15 capturing parentheses only, as there is no way to give an out-of-memory error from within a recursion.

성능

패턴에 사용하는 몇몇 항목은 다른 항목에 비해서 더욱 효율적입니다. (a|e|i|o|u)처럼 선택을 설정하는 것 보다 [aeiou]처럼 문자 클래스를 사용하는 편이 더욱 효율적입니다. 보통, 요구하는 행동을 제공하는 가장 간단한 구조가 가장 효율적입니다. Jeffrey Friedl의 책은 효율적인 성능을 위한 정규표현식 최적화에 관한 많은 내용을 담고 있습니다.

When a pattern begins with .* and the PCRE_DOTALL option is set, the pattern is implicitly anchored by PCRE, since it can match only at the start of a subject string. However, if PCRE_DOTALL is not set, PCRE cannot make this optimization, because the . metacharacter does not then match a newline, and if the subject string contains newlines, the pattern may match from the character immediately following one of them instead of from the very start. For example, the pattern (.*) second matches the subject "first\nand second" (where \n stands for a newline character) with the first captured substring being "and". In order to do this, PCRE has to retry the match starting after every newline in the subject.

If you are using such a pattern with subject strings that do not contain newlines, the best performance is obtained by setting PCRE_DOTALL, or starting the pattern with ^.* to indicate explicit anchoring. That saves PCRE from having to scan along the subject looking for a newline to restart at.

Beware of patterns that contain nested indefinite repeats. These can take a long time to run when applied to a string that does not match. Consider the pattern fragment (a+)*

This can match "aaaa" in 33 different ways, and this number increases very rapidly as the string gets longer. (The * repeat can match 0, 1, 2, 3, or 4 times, and for each of those cases other than 0, the + repeats can match different numbers of times.) When the remainder of the pattern is such that the entire match is going to fail, PCRE has in principle to try every possible variation, and this can take an extremely long time.

An optimization catches some of the more simple cases such as (a+)*b where a literal character follows. Before embarking on the standard matching procedure, PCRE checks that there is a "b" later in the subject string, and if there is not, it fails the match immediately. However, when there is no following literal this optimization cannot be used. You can see the difference by comparing the behaviour of (a+)*\d with the pattern above. The former gives a failure almost instantly when applied to a whole line of "a" characters, whereas the latter takes an appreciable time with strings longer than about 20 characters.

이전 | 위로 | 다음
패턴 변경자 | 처음으로 | preg_grep


preg_grep

(PHP 4, PHP 5)

preg_grep -- 패턴 매치의 배열을 반환합니다.

설명

array preg_grep ( string $pattern, array $input [, int $flags] )

preg_grep()은 주어진 pattern에 매치되는 input 배열의 요소를 포함하는 배열을 반환합니다.

PHP 4.0.4부터, preg_grep()가 반환하는 결과는 입력 배열의 키를 사용합니다. 이 작동이 적합하다고 생각하지 않으면, preg_grep()이 반환한 배열에 array_values()를 사용해서 값을 인덱싱하십시오.

flags에는 다음 플래그를 지정할 수 있습니다:

PREG_GREP_INVERT
이 플래그를 넘기면, preg_grep()은 주어진 pattern에 매치하지 않는 입력 배열의 원소를 반환합니다. 이 플래그는 PHP 4.2.0부터 사용할 수 있습니다.

예 1616. preg_grep() 예제

<?php
// 실수를 포함하는 모든 배열 요소를 반환합니다.
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
?>

이전 | 위로 | 다음
패턴 문법 | 처음으로 | preg_last_error


preg_match_all

(PHP 4, PHP 5)

preg_match_all -- 전역 정규 표현식 매치를 수행합니다.

설명

int preg_match_all ( string $pattern, string $subject, array $matches [, int $flags [, int $offset]] )

pattern에 주어진 정규 표현식으로 subject에서 모든 매치를 찾아내고, flags에 지정한 방법에 따라서 matches에 넣습니다.

처음 매치가 발견된 후, 이후 검색은 마지막 매치의 끝에서부터 이루어집니다.

flags는 다음 플래그들을 조합할 수 있습니다 (PREG_PATTERN_ORDER와 PREG_SET_ORDER를 동시에 사용하지 마십시오):

PREG_PATTERN_ORDER

$matches[0] 배열이 전체 패턴을 가지고, $matches[1] 배열부터 괄호 안의 서브 패턴을 가지도록 결과를 지정합니다.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>example: </b><div align=left>this is a test</div>",
    $out, PREG_PATTERN_ORDER);
echo $out[0][0].", ".$out[0][1]."\n";
echo $out[1][0].", ".$out[1][1]."\n";
?>

이 예제의 결과:

<b>example: </b>, <div align=left>this is a test</div>
example: , this is a test

$out[0]는 전체 패턴의 문자열 배열을 가지고, $out[1]은 태그 안의 문자열 배열을 가집니다.

PREG_SET_ORDER

$matchs[0]가 처음 매치의 배열을 가지도록 하고, $matches[1]가 두번째 매치의 배열을 가지도록 결과를 지정합니다.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>example: </b><div align=left>this is a test</div>",
    $out, PREG_SET_ORDER);
echo $out[0][0].", ".$out[0][1]."\n";
echo $out[1][0].", ".$out[1][1]."\n";
?>

이 예제의 결과:

<b>example: </b>, example:
<div align="left">this is a test</div>, this is a test

이 경우에는, $matches[0]는 처음 매치의 집합으로, $matches[0][0]는 전체 패턴을 가지고, $matches[0][1]부터 처음 서브 패턴을 가지게 됩니다. 동일하게, $matches[1]는 두번째 매치의 집합입니다.

PREG_OFFSET_CAPTURE

이 플래그를 넘기면, 발생한 모든 매치에 대한 문자열의 시작 위치를 함께 반환합니다. 0에 매치한 문자열을, 1에 subject의 문자열 시작 위치를 가지는 배열을 원소로 하는 배열을 반환합니다. 이 플래그는 PHP 4.3.0부터 사용할 수 있습니다.

보통, 검색은 목표 문자열의 처음에서 시작합니다. 선택적인 인자 offset으로 검색을 시작할 다른 위치를 지정할 수 있습니다. 이는 preg_match()의 목표 문자열에 substr()($subject, $offset)을 넘기는 것과 동일합니다. offset 인자는 PHP 4.3.3부터 사용할 수 있습니다.

플러그가 주어지지 않으면, PREG_PATTERN_ORDER가 지정됩니다.

전체 패턴이 매치된 횟수(0이 될 수 있음)나, 에러 발생시에 FALSE를 반환합니다.

예 1618. 어떤 텍스트로부터 모든 전화번호 가져오기

<?php
preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
               "Call 555-1212 or 1-800-555-1212", $phones);
?>

예 1619. HTML 태그 찾기 (greedy)

<?php
// \\2는 역참조의 예제입니다. 이는 PCRE가 정규표현식 자체의
// 두번째 괄호를 가르키며, 이 경우에는 ([\w]+)입니다.
// 문자열이 더블 쿼터(")안에 있을 경우에는 백슬래쉬가 하나 더 필요합니다.
$html = "<b>bold text</b><a href=howdy.html>click me</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $matches);

for ($i=0; $i< count($matches[0]); $i++) {
  echo "matched: " . $matches[0][$i] . "\n";
  echo "part 1: " . $matches[1][$i] . "\n";
  echo "part 2: " . $matches[3][$i] . "\n";
  echo "part 3: " . $matches[4][$i] . "\n\n";
}
?>

이 예제의 결과:

matched: <b>bold text</b>
part 1: <b>
part 2: bold text
part 3: </b>

matched: <a href=howdy.html>click me</a>
part 1: <a href=howdy.html>
part 2: click me
part 3: </a>

참고: preg_match(),
preg_replace(),
preg_split().

이전 | 위로 | 다음
preg_last_error | 처음으로 | preg_match


preg_match

(PHP 4, PHP 5)

preg_match -- 정규표현식 매치를 수행합니다.

설명

int preg_match ( string $pattern, string $subject [, array $matches [, int $flags [, int $offset]]] )

pattern에 주어진 정규표현식을 subject에서 찾습니다.

matches가 주어지면, 검색 결과를 채워넣습니다. $matches[0]는 전체 패턴 텍스트가 들어가고, $matches[1]부터 괄호로 둘러싸인 서브 패턴을 채워넣습니다.

flags는 다음과 같은 플래그를 사용할 수 있습니다:

PREG_OFFSET_CAPTURE
이 플래그를 넘기면, 모든 매치에 대한 문자열 시작 위치를 함께 반환합니다. 반환값을 0에 매치한 문자열을 가지고, 1에 문자열 시작 위치를 가지는 배열을 원소로 갖는 배열로 변경하는 점에 주의하십시오. 이 플래그는 PHP 4.3.0부터 사용할 수 있습니다.
flags 인자는 PHP 4.3.0부터 사용할 수 있습니다.

보통, 검색은 목표 문자열의 처음에서 시작합니다. 선택적인 인자 offset으로 검색을 시작할 다른 위치를 지정할 수 있습니다. 이는 preg_match()의 목표 문자열에 substr()($subject, $offset)을 넘기는 것과 동일합니다. offset 인자는 PHP 4.3.3부터 사용할 수 있습니다.

preg_match()는 pattern이 매치된 횟수를 반환합니다. 이는 0(매치 없음)이나 1입니다. preg_match()는 처음 매치 후에 검색을 중지하기 때문입니다. 대조적으로, preg_match_all()는 subject의 끝까지 계속해서 실행합니다. 에러가 발생하면, preg_match()는 FALSE를 반환합니다.

작은 정보

단순히 하나의 문자열이 다른 문자열에 들어있는지를 확인하고 싶을때는 preg_match()를 사용하지 마십시오. 대신, strpos()나 strstr()를 사용하는 편이 더욱 빠릅니다.

예 1620. 문자열 "php" 찾기

<?php
// 패턴 구분자 뒤의 "i"는 대소문자를 구별하지 않게 합니다.
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
    echo "발견하였습니다.";
} else {
    echo "발견하지 못했습니다.";
}
?>

예 1621. 단어 "Web" 찾기

<?php
/* 패턴에서 \b는 단어를 지시합니다. 단어 "web"만 매치하고,
 * "webbing"이나 "cobweb" 등의 부분적인 경우에는 매치하지 않습니다. */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
    echo "발견하였습니다.";
} else {
    echo "발견하지 못했습니다.";
}

if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
    echo "발견하였습니다.";
} else {
    echo "발견하지 못했습니다.";
}
?>

예 1622. URL에서 도메인 이름 얻기

<?php
// URL에서 호스트 이름 얻기
preg_match("/^(http:\/\/)?([^\/]+)/i",
    "http://www.php.net/index.html", $matches);
$host = $matches[2];

// 호스트 이름에서 마지막 두 세그멘트 얻기
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "도메인 이름은: {$matches[0]}\n";
?>

이 예제의 결과:

도메인 이름은: php.net

참고: preg_match_all(),
preg_replace(),
preg_split().

이전 | 위로 | 다음
preg_match_all | 처음으로 | preg_quote


preg_quote

(PHP 4, PHP 5)

preg_quote -- 정규 표현식 문자를 인용합니다.

설명

string preg_quote ( string $str [, string $delimiter] )

preg_quote()는 str에서 정규 표현식 문법에 포함되는 모든 문자의 앞에 백슬래쉬를 덧붙입니다. 어떠한 텍스트에 특수 정규 표현식 문자를 포함하는 런타임 문자열을 처리할 때 유용합니다.

delimiter를 정의하면, 그 문자들도 이스케이프합니다. PCRE 함수에서 요구하는 구분자를 이스케이프 할 때 유용합니다. /는 가장 널리 사용되는 구분자입니다.

특수 정규 표현식 문자: . \\ + * ? [ ^ ] $ ( ) { } = ! < > | :

예 1623. preg_quote() 예제

<?php
$keywords = "$40 for a g3/400";
$keywords = preg_quote($keywords, "/");
echo $keywords; // \$40 for a g3\/400 를 반환합니다.
?>

예 1624. 텍스트 안의 단어를 이탤릭체로

<?php
// 이 예제에서, preg_quote($word)는 정규 표현식에서
// 특별한 의미를 지니는 별표(*)의 처리에 사용됩니다.

$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace("/" . preg_quote($word) . "/",
                         "<i>" . $word . "</i>",
                         $textbody);
?>

이전 | 위로 | 다음
preg_match | 처음으로 | preg_replace_callback


preg_replace_callback

(PHP 4 >= 4.0.5, PHP 5)

preg_replace_callback -- 콜백을 이용한 정규 표현식 검색과 치환을 수행합니다.

설명

mixed preg_replace_callback ( mixed $pattern, callback $callback, mixed $subject [, int $limit] )

이 함수의 작동은 replacement 대신 callback를 지정하는 것을 제외하면, preg_replace()와 거의 동일합니다. callback는 주어진 문자열에 매치되는 요소의 배열을 콜해서 넘깁니다. 콜백은 치환된 문자열을 반환해야 합니다.

예 1625. preg_replace_callback() 예제

<?php
  // 이 문장은 2002년에 사용되었습니다.
  // 2003년에 적합하게 업데이트합니다.
  $text = "April fools day is 04/01/2002\n";
  $text.= "Last christmas was 12/24/2001\n";

  // 콜백 함수
  function next_year($matches)
  {
    // 보통: $matches[0]는 전채 매치입니다.
    // $matches[1]은 첫번째 '(...)'에 들어있는
    // 서브 패턴 매치로 이어집니다.
    return $matches[1].($matches[2]+1);
  }

  echo preg_replace_callback(
              "|(\d{2}/\d{2}/)(\d{4})|",
              "next_year", $text);

  // 결과는:
  // April fools day is 04/01/2003
  // Last christmas was 12/24/2002
?>

종종 단 한번의 preg_replace_callback()에서 사용하기 위한 callback 함수가 필요합니다. 이 경우에, create_function()을 사용해서 preg_replace_callback() 호출 안에서 익명의 함수를 만들 수 있습니다. 이 방법으로 호출에 필요한 모든 정보를 한군데에 위치하게 하여, 다른곳에서 사용되지 않는 콜백함수의 네임스페이스를 절약할 수 있습니다.

예 1626. preg_replace_callback()과 create_function()

<?php
  /* 문단 첫번째의 대문자를 소문자로 변경하는
   * 유닉스 스타일 명령줄 필터 */

  $fp = fopen("php://stdin", "r") or die("can't read stdin");
  while (!feof($fp)) {
      $line = fgets($fp);
      $line = preg_replace_callback(
          '|<p>\s*\w|',
          create_function(
              // 여기에선 싱글 쿼트(')가 적합합니다.
              // 그렇지 않으면 모든 $를 \$로 이스케이프 해야합니다.
              '$matches',
              'return strtolower($matches[0]);'
          ),
          $line
      );
      echo $line;
  }
  fclose($fp);
?>

참고: preg_replace(), create_function().

이전 | 위로 | 다음
preg_quote | 처음으로 | preg_replace


preg_replace

(PHP 4, PHP 5)

preg_replace -- 정규 표현식 검색과 치환을 수행합니다.

설명

mixed preg_replace ( mixed $pattern, mixed $replacement, mixed $subject [, int $limit] )

subject를 검색하여 매치된 pattern을 replacement로 치환합니다. limit가 지정되면, limit회의 매치만을 치환합니다; limit가 -1라면, 모든 매치를 치환합니다.

Replacement는 \\n나 (PHP 4.0.4부터) $n 형태의 참조를 포함할 수 있습니다. 그러한 모든 참조는 n번째로 잡힌 괄호 패턴으로 대체됩니다. n은 0에서 99까지 가능하고, \\0나 $0는 전체 패턴에 매치된 텍스트를 의미합니다. 괄호를 여는것은 서브패턴을 포함하여 왼쪽에서 오른쪽(1로부터 시작)으로 카운트합니다.

역참조 바로 뒤에 다른 숫자가 따라오는 패턴을 사용할 때는(즉, 매치된 패턴 바로 뒤에 수 문자가 위치), \\1 식의 역참조를 사용할 수 없습니다. 예를 들면, \\11은 preg_replace()에서 문자 1이 따라오는 역참조 \\1인지, 역참조 \\1인지를 구분할 수 없습니다. 이 경우, 해결책은 \${1}1를 사용합니다. 이는 독립된 역참조 $1를 작성하고, 1을 문자로 남겨놓습니다.

예 1627. 숫자에 대해 역참조 사용하기

<?php
$string = "April 15, 2003";
$pattern = "/(\w+) (\d+), (\d+)/i";
$replacement = "\${1}1,\$3";
echo preg_replace($pattern, $replacement, $string);
?>

이 예제의 출력은:

April1,2003

매치가 발견되면, 변환된 subject를 반환하고, 그렇지 않으면 변경되지 않은 subject를 반환합니다.

(limit를 제외한) preg_replace()의 모든 인자에는 일차원 배열을 사용할 수 있습니다. pattern과 replacement에 배열을 사용할 때는, 배열에 나타나는 순서대로 키를 생성합니다. 똑같은 숫자 인덱스 순서를 가질 필요가 없습니다. 어떤 pattern을 어떠한 replacement로 교체할건지를 결정하기 위해서는, preg_replace()를 호출하기 전에 각각의 배열에 ksort()를 실행해야만 합니다.

예 1628. 정렬을 통해 preg_replace() 사용하기

<?php
$string = "The quick brown fox jumped over the lazy dog.";

$patterns[0] = "/quick/";
$patterns[1] = "/brown/";
$patterns[2] = "/fox/";

$replacements[2] = "bear";
$replacements[1] = "black";
$replacements[0] = "slow";

echo preg_replace($patterns, $replacements, $string);
?>

출력:

The bear black slow jumped over the lazy dog.

patterns와 replacemets를 ksort함으로써, 원하던 결과를 얻게 됩니다.

<?php
ksort($patterns);
ksort($replacements);

echo preg_replace($patterns, $replacements, $string);
?>

출력:

The slow black bear jumped over the lazy dog.

subject가 배열이면, subject의 모든 엔트리에 검색과 교체를 실행하고, 배열을 반환합니다.

pattern과 replacement가 배열이면, preg_replace()는 각각의 배열에서 값을 가져와서 subject를 검색하고 치환하는데에 이용합니다. replacement가 pattern보다 적으면, 대응하는 치환값으로 빈 문자열을 사용합니다. pattern 이 배열이고 replacement가 문자열이면, 치환 문자열을 모든 pattern값에 사용합니다. 물론, 이 경우들의 반대는 말이 안됩니다.

/e 변경자는 preg_replace()가 replacement 인자를 참조 치환을 한 후에 PHP 코드로 취급합니다. 팁: replacement가 정상적인 PHP 코드 문자열을 가지게 하십시오. 그렇지 않으면, PHP는 preg_replace()를 포함하는 줄에서 파싱 에러를 출력합니다.

예 1629. 여러 값을 치환하기

<?php
$patterns = array ("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/",
                   "/^\s*{(\w+)}\s*=/");
$replace = array ("\\3/\\4/\\1\\2", "$\\1 =");
echo preg_replace($patterns, $replace, "{startDate} = 1999-5-27");
?>

이 예제의 결과:

$startDate = 5/27/1999

예 1630. /e 변경자 사용하기

<?php
preg_replace("/(<\/?)(\w+)([^>]*>)/e",
             "'\\1'.strtoupper('\\2').'\\3'",
             $html_body);
?>

입력된 텍스트의 모든 HTML 태그를 대문자로 변경합니다.

예 1631. HTML을 텍스트로 변환하기

<?php
// $document는 HTML 문서를 포함합니다.
// 이는 HTML 태그, 자바스크립트 섹션, 공백을
// 제거합니다. 또한, 몇몇 일반적인 HTML 엔티티를
// 동일한 텍스트로 변환합니다.

$search = array ("'<script[^>]*?>.*?</script>'si",  // 자바 스크립트 제거
                 "'<[\/\!]*?[^<>]*?>'si",           // HTML 태그 제거
                 "'([\r\n])[\s]+'",                 // 공백 제거
                 "'&(quot|#34);'i",                 // HTML 엔티티 치환
                 "'&(amp|#38);'i",
                 "'&(lt|#60);'i",
                 "'&(gt|#62);'i",
                 "'&(nbsp|#160);'i",
                 "'&(iexcl|#161);'i",
                 "'&(cent|#162);'i",
                 "'&(pound|#163);'i",
                 "'&(copy|#169);'i",
                 "'&#(\d+);'e");                    // php로 실행

$replace = array ("",
                  "",
                  "\\1",
                  "\"",
                  "&",
                  "<",
                  ">",
                  " ",
                  chr(161),
                  chr(162),
                  chr(163),
                  chr(169),
                  "chr(\\1)");

$text = preg_replace($search, $replace, $document);
?>

참고: limit 인자는 PHP 4.0.1pl2 이후에 추가되었습니다.

참고: preg_match(),
preg_match_all(),
preg_split().

이전 | 위로 | 다음
preg_replace_callback | 처음으로 | preg_split


preg_split

(PHP 4, PHP 5)

preg_split -- 정규 표션식에 따라 문자열을 나눕니다.

설명

array preg_split ( string $pattern, string $subject [, int $limit [, int $flags]] )

pattern에 매치된 경계에 따라서 나눠진 subject의 문자열을 포함하는 배열을 반환합니다.

limit를 지정하면, limit 횟수까지의 나눠진 문자열을 반환하며, limit가 -1이면 "무제한"을 의미합니다. 이 값은 flags를 지정할 때 유용합니다.

flags는 다음 플래그들의 조합을 사용할 수 있습니다 (bitwise | 연산자로 결합합니다) :

PREG_SPLIT_NO_EMPTY
이 플래그를 설정하면, preg_split()에 의해 비어있지 않은 (non-empty) 조각만을 반환합니다.
PREG_SPLIT_DELIM_CAPTURE
이 플래그를 설정하면, delimiter 패턴 안의 서브패턴도 검출하고 반환합니다. 이 플래그는 4.0.5에서 추가되었습니다.
PREG_SPLIT_OFFSET_CAPTURE

이 플래그를 설정하면, 문자열의 시작 위치도 반환합니다. 반환값이 매치된 문자열을 오프셋 0으로, 문자열 시작 위치를 오프셋 1로 가지는 배열을 원소로 갖는 배열로 변하는 점에 주의하십시오. 이 플래그는 PHP 4.3.0부터 사용할 수 있습니다.

예 1632. preg_split() 예제 : 검색 문자열의 일부만을 얻기

<?php
// " ", \r, \t, \n, \f를 포함하여
// 임의 갯수의 콤마와 스페이스로 구문을 나눕니다.
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
?>

예 1633. 문자열을 구성 문자로 나누기.

<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

예 1634. 매치와 시작위치로 문자열을 나누기.

<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>

결과는:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)

참고: flags인자는 PHP 4 베타 3에서 추가되었습니다.

참고: spliti(), split(),
implode(), preg_match(),
preg_match_all(), preg_replace().

이전 | 위로 | 다음
preg_replace | 처음으로 | CXXI. PDF 함수


qtdom Functions

이전 VI. 함수 레퍼런스 다음

CXXXIII. qtdom Functions

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

요구 조건

You need the Qt-library >=2.2.0

설치

Configure PHP --with-qtdom to use these functions.

차례

qdom_error -- Returns the error string from the last QDOM operation or FALSE if no errors occurred
qdom_tree -- Creates a tree of an XML string
이전 | 위로 | 다음
pspell_suggest | 처음으로 | qdom_error


qdom_error

(PHP 4 >= 4.0.5)

qdom_error -- Returns the error string from the last QDOM operation or FALSE if no errors occurred

설명

string qdom_error ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CXXXIII. qtdom Functions | 처음으로 | qdom_tree


qdom_tree

(PHP 4 >= 4.0.4)

qdom_tree -- Creates a tree of an XML string

설명

QDomDocument qdom_tree ( string $doc )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
qdom_error | 처음으로 | CXXXIV. Radius


Rar Functions

이전 VI. 함수 레퍼런스 다음

CXXXV. Rar Functions

소개

RAR is a powerful and effective archiver created by Eugene Roshal. This extension uses unRAR library which implements read-only support for Rar archives. Re-creating a RAR/WinRAR archiver using unRAR sources is prohibited by the unRAR license.

More information about RAR and unRAR can be found at » http://www.rarlabs.com/.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

설치

Rar extension is currently available through PECL » http://pecl.php.net/package/rar.

Also you can use the PECL installer to install the Rar extension, using the following command: pecl -v install rar.

You can always download the tar.gz package and install Rar by hand:

예 1947. Rar installation

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Windows users can download the extension dll php_rar.dll here: » http://snaps.php.net/win32/PECL_STABLE/.

자원형

There is one resource used in Rar extension: a file descriptor returned by rar_open().

예약 상수

RAR_HOST_MSDOS (integer)
RAR_HOST_OS2 (integer)
RAR_HOST_WIN32 (integer)
RAR_HOST_UNIX (integer)
RAR_HOST_BEOS (integer)

예제

예 1948. Rar extension overview example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entries = rar_list($rar_file);

foreach ($entries as $entry) {
    echo 'Filename: ' . $entry->getName() . "\n";
    echo 'Packed size: ' . $entry->getPackedSize() . "\n";
    echo 'Unpacked size: ' . $entry->getUnpackedSize() . "\n";

    $entry->extract('/dir/extract/to/');
}

rar_close($rar_file);

?>

This example opens a Rar file archive and extracts each entry to the specified directory.

차례

rar_close -- Close Rar archive and free all resources
rar_entry_get -- Get entry object from the Rar archive
Rar::extract -- Extract entry from the archive
Rar::getAttr -- Get attributes of the entry
Rar::getCrc -- Get CRC of the entry
Rar::getFileTime -- Get entry last modification time
Rar::getHostOs -- Get entry host OS
Rar::getMethod -- Get pack method of the entry
Rar::getName -- Get name of the entry
Rar::getPackedSize -- Get packed size of the entry
Rar::getUnpackedSize -- Get unpacked size of the entry
Rar::getVersion -- Get version of the archiver used to add the entry
rar_list -- Get entries list from the Rar archive
rar_open -- Open Rar archive
이전 | 위로 | 다음
radius_strerror | 처음으로 | rar_close


rar_close

(No version information available, might be only in CVS)

rar_close -- Close Rar archive and free all resources

설명

bool rar_close ( resource $rar_file )

Close Rar archive and free all allocated resources.

매개변수

rar_file

A Rar file resource, opened with rar_open().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
CXXXV. Rar Functions | 처음으로 | rar_entry_get


rar_entry_get

(No version information available, might be only in CVS)

rar_entry_get -- Get entry object from the Rar archive

설명

RarEntry rar_entry_get ( resource $rar_file, string $entry_name )

Get entry object from the Rar archive.

매개변수

rar_file

A Rar file resource, opened with rar_open().

entry_name

Path to the entry within the Rar archive.

반환값

rar_get_entry() returns entry object or FALSE on error.

예제

예 1949. rar_entry_get() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

print_r($entry);

?>

이전 | 위로 | 다음
rar_close | 처음으로 | Rar::extract


Rar::extract

(No version information available, might be only in CVS)

Rar::extract -- Extract entry from the archive

설명

class Rar {
bool extract ( string $dir [, string $filepath] )
}

Rar::extract() extracts entry's data to the dir. It will create new file in the specified dir with the name identical to the entry's name.

매개변수

dir

Path to the directory where files should be extracted.

filepath

If parameter filepath is specified instead dir, Rar::extract() will extract entry's data to the specified file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1950. Rar::extract() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

$entry->extract('/dir/to'); // create /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // create /dir/to/new_name.txt

?>

예 1951. How to extract all files in archive:

<?php

/* example by Erik Jenssen aka erix */

$filename = "foobar.rar";
$filepath = "/home/foo/bar/";

$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach($list as $file) {
    $entry = rar_entry_get($rar_file, $file);
    $entry->extract("."); // extract to the current dir
}
rar_close($rar_file);

?>

이전 | 위로 | 다음
rar_entry_get | 처음으로 | Rar::getAttr


Rar::getAttr

(No version information available, might be only in CVS)

Rar::getAttr -- Get attributes of the entry

설명

class Rar {
int getAttr ( void )
}

Rar::getAttr() returns attributes of the archive entry.

반환값

Returns the attributes or FALSE on error.

예제

예 1952. Rar::getAttr() example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("Can't find such entry");

$host_os = $entry->getHostOs();
$attr = $entry->getAttr();

switch($host_os) {
    case RAR_HOST_MSDOS:
    case RAR_HOST_OS2:
    case RAR_HOST_WIN32:
    case RAR_HOST_MACOS:
        printf("%c%c%c%c%c%c\n",
                ($attr & 0x08) ? 'V' : '.',
                ($attr & 0x10) ? 'D' : '.',
                ($attr & 0x01) ? 'R' : '.',
                ($attr & 0x02) ? 'H' : '.',
                ($attr & 0x04) ? 'S' : '.',
                ($attr & 0x20) ? 'A' : '.');
        break;
    case RAR_HOST_UNIX:
    case RAR_HOST_BEOS:
        switch ($attr & 0xF000)
        {
            case 0x4000:
                printf("d");
                break;
            case 0xA000:
                printf("l");
                break;
            default:
                printf("-");
                break;
        }
        printf("%c%c%c%c%c%c%c%c%c\n",
                ($attr & 0x0100) ? 'r' : '-',
                ($attr & 0x0080) ? 'w' : '-',
                ($attr & 0x0040) ? (($attr & 0x0800) ? 's':'x'):(($attr & 0x0800) ? 'S':'-'),
                ($attr & 0x0020) ? 'r' : '-',
                ($attr & 0x0010) ? 'w' : '-',
                ($attr & 0x0008) ? (($attr & 0x0400) ? 's':'x'):(($attr & 0x0400) ? 'S':'-'),
                ($attr & 0x0004) ? 'r' : '-',
                ($attr & 0x0002) ? 'w' : '-',
                ($attr & 0x0001) ? 'x' : '-');
        break;
}

rar_close($rar_file);

?>

참고

Rar::getHostOs

이전 | 위로 | 다음
Rar::extract | 처음으로 | Rar::getCrc


Rar::getCrc

(No version information available, might be only in CVS)

Rar::getCrc -- Get CRC of the entry

설명

class Rar {
int getCrc ( void )
}

Rar::getCrc() returns CRC of the archive entry.

반환값

Returns the CRC of the archive entry or FALSE on error.

이전 | 위로 | 다음
Rar::getAttr | 처음으로 | Rar::getFileTime


Rar::getFileTime

(No version information available, might be only in CVS)

Rar::getFileTime -- Get entry last modification time

설명

class Rar {
string getFileTime ( void )
}

Gets entry last modification time.

반환값

Returns entry last modification time as string in format YYYY-MM-DD HH:II:SS, or FALSE on error.

이전 | 위로 | 다음
Rar::getCrc | 처음으로 | Rar::getHostOs


Rar::getHostOs

(No version information available, might be only in CVS)

Rar::getHostOs -- Get entry host OS

설명

class Rar {
int getHostOs ( void )
}

Rar::getHostOs() return code of the host OS of the archive entry.

반환값

Returns the code of the host OS, or FALSE on error.

예제

예 1953. Rar::getHostOs() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
    case RAR_HOST_MSDOS:
        echo "MS-DOS\n";
        break;
    case RAR_HOST_OS2:
        echo "OS2\n";
        break;
    case RAR_HOST_WIN32:
        echo "Win32\n";
        break;
    case RAR_HOST_MACOS:
        echo "MacOS\n";
        break;
    case RAR_HOST_UNIX:
        echo "Unix/Linux\n";
        break;
    case RAR_HOST_BEOS:
        echo "BeOS\n";
        break;
}

?>

이전 | 위로 | 다음
Rar::getFileTime | 처음으로 | Rar::getMethod


Rar::getMethod

(No version information available, might be only in CVS)

Rar::getMethod -- Get pack method of the entry

설명

class Rar {
int getMethod ( void )
}

Rar::getMethod() returns number of the method used when adding current archive entry.

반환값

Returns the method number or FALSE on error.

예제

예 1954. Rar::getMethod() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Method number: " . $entry->getMethod();

?>

이전 | 위로 | 다음
Rar::getHostOs | 처음으로 | Rar::getName


Rar::getName

(No version information available, might be only in CVS)

Rar::getName -- Get name of the entry

설명

class Rar {
string getName ( void )
}

Rar::getName() returns full name of the archive entry.

반환값

Returns the entry name as a string, or FALSE on error.

예제

예 1955. Rar::getName() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Entry name: " . $entry->getName();

?>

이전 | 위로 | 다음
Rar::getMethod | 처음으로 | Rar::getPackedSize


Rar::getPackedSize

(No version information available, might be only in CVS)

Rar::getPackedSize -- Get packed size of the entry

설명

class Rar {
int getPackedSize ( void )
}

Get packed size of the archive entry.

반환값

Returns the packed size, or FALSE on error.

예제

예 1956. Rar::getPackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Packed size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

이전 | 위로 | 다음
Rar::getName | 처음으로 | Rar::getUnpackedSize


Rar::getUnpackedSize

(No version information available, might be only in CVS)

Rar::getUnpackedSize -- Get unpacked size of the entry

설명

class Rar {
int getUnpackedSize ( void )
}

Get unpacked size of the archive entry.

반환값

Returns the unpacked size, or FALSE on error.

반환값

예 1957. Rar::getUnpackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Unpacked size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

이전 | 위로 | 다음
Rar::getPackedSize | 처음으로 | Rar::getVersion


Rar::getVersion

(No version information available, might be only in CVS)

Rar::getVersion -- Get version of the archiver used to add the entry

설명

class Rar {
int getVersion ( void )
}

Get version of the archiver used to add the archive entry.

반환값

Returns the version or FALSE on error.

예제

예 1958. Rar::getVersion() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Rar (WinRAR) version used: " . $entry->getVersion();

?>

이전 | 위로 | 다음
Rar::getUnpackedSize | 처음으로 | rar_list


rar_list

(No version information available, might be only in CVS)

rar_list -- Get entries list from the Rar archive

설명

array rar_list ( resource $rar_file )

Get entries list from the Rar archive.

매개변수

rar_file

A Rar file resource, opened with rar_open().

반환값

rar_list() returns array of entries or FALSE on error.

예제

예 1959. rar_list() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entries_list = rar_list($rar_file);

print_r($entries_list);

?>

이전 | 위로 | 다음
Rar::getVersion | 처음으로 | rar_open


rar_open

(No version information available, might be only in CVS)

rar_open -- Open Rar archive

설명

resource rar_open ( string $filename [, string $password] )

Open specified Rar archive and return Rar file resource.

매개변수

filename

Path to the Rar archive.

password

A plain password, if needed.

반환값

rar_open() returns Rar file resource or FALSE on error.

이전 | 위로 | 다음
rar_list | 처음으로 | CXXXVI. GNU Readline


Regular Expression Functions (POSIX Extended)

이전 VI. 함수 레퍼런스 다음

CXXVI. Regular Expression Functions (POSIX Extended)

소개

작은 정보

PHP also supports regular expressions using a Perl-compatible syntax using the PCRE functions. Those functions support non-greedy matching, assertions, conditional subpatterns, and a number of other features not supported by the POSIX-extended regular expression syntax.

주의

These regular expression functions are not binary-safe. The PCRE functions are.

Regular expressions are used for complex string manipulation. PHP uses the POSIX extended regular expressions as defined by POSIX 1003.2. For a full description of POSIX regular expressions see the » regex man pages included in the regex directory in the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

주의

Do not change the TYPE unless you know what you are doing.

To enable regexp support configure PHP --with-regex[=TYPE]. TYPE can be one of system, apache, php. The default is to use php.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

예 1788. Regular Expression Examples

<?php
// Returns true if "abc" is found anywhere in $string.
ereg("abc", $string);

// Returns true if "abc" is found at the beginning of $string.
ereg("^abc", $string);

// Returns true if "abc" is found at the end of $string.
ereg("abc$", $string);

// Returns true if client browser is Netscape 2, 3 or MSIE 3.
eregi("(ozilla.[23]|MSIE.3)", $_SERVER["HTTP_USER_AGENT"]);

// Places three space separated words into $regs[1], $regs[2] and $regs[3].
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string, $regs);

// Put a <br /> tag at the beginning of $string.
$string = ereg_replace("^", "<br />", $string);

// Put a <br /> tag at the end of $string.
$string = ereg_replace("$", "<br />", $string);

// Get rid of any newline characters in $string.
$string = ereg_replace("\n", "", $string);
?>

참고

For regular expressions in Perl-compatible syntax have a look at the PCRE functions. The simpler shell style wildcard pattern matching is provided by fnmatch().

차례

ereg_replace -- Replace regular expression
ereg -- Regular expression match
eregi_replace -- Replace regular expression case insensitive
eregi -- Case insensitive regular expression match
split -- Split string into array by regular expression
spliti -- Split string into array by regular expression case insensitive
sql_regcase -- Make regular expression for case insensitive match
이전 | 위로 | 다음
posix_uname | 처음으로 | ereg_replace


ereg_replace

(PHP 4, PHP 5)

ereg_replace -- Replace regular expression

설명

string ereg_replace ( string $pattern, string $replacement, string $string )

This function scans string for matches to pattern, then replaces the matched text with replacement.

매개변수

pattern

A POSIX extended regular expression.

replacement

If pattern contains parenthesized substrings, replacement may contain substrings of the form \\digit, which will be replaced by the text matching the digit'th parenthesized substring; \\0 will produce the entire contents of string. Up to nine substrings may be used. Parentheses may be nested, in which case they are counted by the opening parenthesis.

string

The input string.

반환값

The modified string is returned. If no matches are found in string, then it will be returned unchanged.

예제

For example, the following code snippet prints "This was a test" three times:

예 1789. ereg_replace() example

<?php

$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);
echo ereg_replace("(( )is)", "\\2was", $string);

?>

One thing to take note of is that if you use an integer value as the replacement parameter, you may not get the results you expect. This is because ereg_replace() will interpret the number as the ordinal value of a character, and apply that. For instance:

예 1790. ereg_replace() example

<?php
/* This will not work as expected. */
$num = 4;
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string;   /* Output: 'This string has   words.' */

/* This will work. */
$num = '4';
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string;   /* Output: 'This string has 4 words.' */
?>

예 1791. Replace URLs with links

<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     "<a href=\"\\0\">\\0</a>", $text);
?>

주의

작은 정보

preg_replace(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg_replace().

참고

ereg()
eregi()
eregi_replace()
str_replace()
preg_match()

이전 | 위로 | 다음
CXXVI. Regular Expression Functions (POSIX Extended) | 처음으로 | ereg


ereg

(PHP 4, PHP 5)

ereg -- Regular expression match

설명

int ereg ( string $pattern, string $string [, array &$regs] )

Searches a string for matches to the regular expression given in pattern in a case-sensitive way.

매개변수

pattern

Case sensitive regular expression.

string

The input string.

regs

If matches are found for parenthesized substrings of pattern and the function is called with the third argument regs, the matches will be stored in the elements of the array regs.

$regs[1] will contain the substring which starts at the first left parenthesis; $regs[2] will contain the substring starting at the second, and so on. $regs[0] will contain a copy of the complete string matched.

반환값

Returns the length of the matched string if a match for pattern was found in string, or FALSE if no matches were found or an error occurred.

If the optional parameter regs was not passed or the length of the matched string is 0, this function returns 1.

예제

예 1792. ereg() example

The following code snippet takes a date in ISO format (YYYY-MM-DD) and prints it in DD.MM.YYYY format:

<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
    echo "$regs[3].$regs[2].$regs[1]";
} else {
    echo "Invalid date format: $date";
}
?>

주의

참고: preg_match(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg().

참고: Up to (and including) PHP 4.1.0 $regs will be filled with exactly ten elements, even though more or fewer than ten parenthesized substrings may actually have matched. This has no effect on ereg()'s ability to match more substrings. If no matches are found, $regs will not be altered by ereg().

참고

eregi()
ereg_replace()
eregi_replace()
preg_match()
strpos()
strstr()
quotemeta()

이전 | 위로 | 다음
ereg_replace | 처음으로 | eregi_replace


eregi_replace

(PHP 4, PHP 5)

eregi_replace -- Replace regular expression case insensitive

설명

string eregi_replace ( string $pattern, string $replacement, string $string )

This function is identical to ereg_replace() except that this ignores case distinction when matching alphabetic characters.

매개변수

pattern

A POSIX extended regular expression.

replacement

If pattern contains parenthesized substrings, replacement may contain substrings of the form \\digit, which will be replaced by the text matching the digit'th parenthesized substring; \\0 will produce the entire contents of string. Up to nine substrings may be used. Parentheses may be nested, in which case they are counted by the opening parenthesis.

string

The input string.

반환값

The modified string is returned. If no matches are found in string, then it will be returned unchanged.

예제

예 1793. Highlight search results

<?php
$pattern = '(>[^<]*)('. quotemeta($_GET['search']) .')';
$replacement = '\\1<span class="search">\\2</span>';
$body = eregi_replace($pattern, $replacement, $body);
?>

참고

ereg()
eregi()
ereg_replace()

이전 | 위로 | 다음
ereg | 처음으로 | eregi


eregi

(PHP 4, PHP 5)

eregi -- Case insensitive regular expression match

설명

int eregi ( string $pattern, string $string [, array &$regs] )

This function is identical to ereg() except that it ignores case distinction when matching alphabetic characters.

매개변수

pattern

Case insensitive regular expression.

string

The input string.

regs

If matches are found for parenthesized substrings of pattern and the function is called with the third argument regs, the matches will be stored in the elements of the array regs.

$regs[1] will contain the substring which starts at the first left parenthesis; $regs[2] will contain the substring starting at the second, and so on. $regs[0] will contain a copy of the complete string matched.

반환값

Returns the length of the matched string if a match for pattern was found in string, or FALSE if no matches were found or an error occurred.

If the optional parameter regs was not passed or the length of the matched string is 0, this function returns 1.

예제

예 1794. eregi() example

<?php
$string = 'XYZ';
if (eregi('z', $string)) {
    echo "'$string' contains a 'z' or 'Z'!";
}
?>

참고

ereg()
ereg_replace()
eregi_replace()
stripos()
stristr()

이전 | 위로 | 다음
eregi_replace | 처음으로 | split


split

(PHP 4, PHP 5)

split -- Split string into array by regular expression

설명

array split ( string $pattern, string $string [, int $limit] )

Splits a string into array by regular expression.

매개변수

pattern

Case sensitive regular expression.

If you want to split on any of the characters which are considered special by regular expressions, you'll need to escape them first. If you think split() (or any other regex function, for that matter) is doing something weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.

string

The input string.

limit

If limit is set, the returned array will contain a maximum of limit elements with the last element containing the whole rest of string.

반환값

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the case-sensitive regular expression pattern.

If there are n occurrences of pattern, the returned array will contain n+1 items. For example, if there is no occurrence of pattern, an array with only one element will be returned. Of course, this is also true if string is empty. If an error occurs, split() returns FALSE.

예제

예 1795. split() example

To split off the first four fields from a line from /etc/passwd:

<?php
list($user, $pass, $uid, $gid, $extra) =
    split(":", $passwd_line, 5);
?>

예 1796. split() example

To parse a date which may be delimited with slashes, dots, or hyphens:

<?php
// Delimiters may be slash, dot, or hyphen
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
?>

주의

작은 정보

preg_split(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to split(). If you don't require the power of regular expressions, it is faster to use explode(), which doesn't incur the overhead of the regular expression engine.

작은 정보

For users looking for a way to emulate Perl's @chars = split('', $str) behaviour, please see the examples for preg_split() or str_split().

참고

preg_split()
spliti()
str_split()
explode()
implode()
chunk_split()
wordwrap()

이전 | 위로 | 다음
eregi | 처음으로 | spliti


spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti -- Split string into array by regular expression case insensitive

설명

array spliti ( string $pattern, string $string [, int $limit] )

Splits a string into array by regular expression.

This function is identical to split() except that this ignores case distinction when matching alphabetic characters.

매개변수

pattern

Case insensitive regular expression.

If you want to split on any of the characters which are considered special by regular expressions, you'll need to escape them first. If you think spliti() (or any other regex function, for that matter) is doing something weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.

string

The input string.

limit

If limit is set, the returned array will contain a maximum of limit elements with the last element containing the whole rest of string.

반환값

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the case insensitive regular expression pattern.

If there are n occurrences of pattern, the returned array will contain n+1 items. For example, if there is no occurrence of pattern, an array with only one element will be returned. Of course, this is also true if string is empty. If an error occurs, spliti() returns FALSE.

예제

This example splits a string using 'a' as the separator :

예 1797. spliti() example

<?php
$string = "aBBBaCCCADDDaEEEaGGGA";
$chunks = spliti ("a", $string, 5);
print_r($chunks);
?>

위 예제의 출력:

Array
(
  [0] =>
  [1] => BBB
  [2] => CCC
  [3] => DDD
  [4] => EEEaGGGA
)

참고

preg_split()
split()
explode()
implode()

이전 | 위로 | 다음
split | 처음으로 | sql_regcase


sql_regcase

(PHP 4, PHP 5)

sql_regcase -- Make regular expression for case insensitive match

설명

string sql_regcase ( string $string )

Creates a regular expression for a case insensitive match.

매개변수

string

The input string.

반환값

Returns a valid regular expression which will match string, ignoring case. This expression is string with each alphabetic character converted to a bracket expression; this bracket expression contains that character's uppercase and lowercase form. Other characters remain unchanged.

예제

예 1798. sql_regcase() example

<?php
echo sql_regcase("Foo - bar.");
?>

위 예제의 출력:

[Ff][Oo][Oo] - [Bb][Aa][Rr].

This can be used to achieve case insensitive pattern matching in products which support only case sensitive regular expressions.

이전 | 위로 | 다음
spliti | 처음으로 | CXXVII. PostgreSQL 함수


세마포어(semaphore)와 공유 메모리(shared memory) 함수

이전 VI. 함수 레퍼런스 다음

CXLVI. 세마포어(semaphore)와 공유 메모리(shared memory) 함수

이 모듈은 System V 세마포어가 사용하는 세마포어 함수를 포함한다. 세마포어는 현재 머신에 자원을 한정적으로 접근하는데 사용되거나 프로세스가 일제히 자원을 사용하는 개수를 제한하는데 사용된다.

이 모듈은 또한 System V의 공유 메모리를 사용하기 위한 공유 메모리 함수도 포함한다. 공유 메모리는 전역 변수에 접근하는데 사용된다. 각기 다른 httpd-daemon과 다른 프로그램(Perl, C와 같은) 조차도 전역 데이터 교환을 지원하여 이 데이터를 접근할 수 있다. 주의할 점은, 공유 메모리는 동시 접근에는 안전하지 않다는 것이다. 동기화를 위해서는 세마포어를 사용하면 된다.

표 270. Unix OS에 의한 공유 메모리의 제한

SHMMAX | 공유 메모리의 최대값, 보통 131072 바이트임.
SHMMIN | 공유 메모리의 최소값, 보통 1바이트임.
SHMMNI | 시스템 상의 공유 메모리 세그먼트의 최대 합계, 보통 100임.
SHMSEG | 프로세서당 공유 메모리 세그먼트의 최대 합계, 보통 6임.

참고: 이 함수는 윈도우즈 시스템에서 동작하지 않는다.

차례

ftok -- Convert a pathname and a project identifier to a System V IPC key
msg_get_queue -- Create or attach to a message queue
msg_receive -- Receive a message from a message queue
msg_remove_queue -- Destroy a message queue
msg_send -- Send a message to a message queue
msg_set_queue -- Set information in the message queue data structure
msg_stat_queue -- Returns information from the message queue data structure
sem_acquire -- 세마포어를 획득
sem_get -- 세마포어 id를 얻음
sem_release -- 세마포어 릴리즈
sem_remove -- Remove a semaphore
shm_attach -- 공유 메모리 세그먼트를 열거나 생성
shm_detach -- 공유 메모리 세그먼트 접속을 종료
shm_get_var -- 공유 메모리로부터 변수를 반환
shm_put_var -- 공유 메모리 변수를 삽입하거나 경신
shm_remove_var -- 공유 메모리로부터 변수를 제거
shm_remove -- Unix 시스템에서 공유 메모리를 제거
이전 | 위로 | 다음
SDO_DAS_Relational::executeQuery | 처음으로 | ftok


ftok

(PHP 4 >= 4.2.0, PHP 5)

ftok -- Convert a pathname and a project identifier to a System V IPC key

설명

int ftok ( string $pathname, string $proj )

The function converts the pathname of an existing accessible file and a project identifier into an integer for use with for example shmop_open() and other System V IPC keys.

매개변수

pathname

Path to an accessible file.

proj

Project identifier. This must be a one character string.

반환값

On success the return value will be the created key value, otherwise -1 is returned.

참고

shmop_open()
sem_get()

이전 | 위로 | 다음
CXLVI. 세마포어(semaphore)와 공유 메모리(shared memory) 함수 | 처음으로 | msg_get_queue


msg_get_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_get_queue -- Create or attach to a message queue

설명

resource msg_get_queue ( int $key [, int $perms] )

msg_get_queue() returns an id that can be used to access the System V message queue with the given key. The first call creates the message queue with the optional perms. A second call to msg_get_queue() for the same key will return a different message queue identifier, but both identifiers access the same underlying message queue.

매개변수

key

perms

Queue permissions. Default to 0666. If the message queue already exists, the perms will be ignored.

반환값

Returns an id that can be used to access the System V message queue.

참고

msg_remove_queue()
msg_receive()
msg_send()
msg_stat_queue()
msg_set_queue()

이전 | 위로 | 다음
ftok | 처음으로 | msg_receive


msg_receive

(PHP 4 >= 4.3.0, PHP 5)

msg_receive -- Receive a message from a message queue

설명

bool msg_receive ( resource $queue, int $desiredmsgtype, int &$msgtype, int $maxsize, mixed &$message [, bool $unserialize [, int $flags [, int &$errorcode]]] )

msg_receive() will receive the first message from the specified queue of the type specified by desiredmsgtype.

매개변수

queue

desiredmsgtype

If desiredmsgtype is 0, the message from the front of the queue is returned. If desiredmsgtype is greater than 0, then the first message of that type is returned. If desiredmsgtype is less than 0, the first message on the queue with the lowest type less than or equal to the absolute value of desiredmsgtype will be read. If no messages match the criteria, your script will wait until a suitable message arrives on the queue. You can prevent the script from blocking by specifying MSG_IPC_NOWAIT in the flags parameter.

msgtype

The type of the message that was received will be stored in this parameter.

maxsize

The maximum size of message to be accepted is specified by the maxsize; if the message in the queue is larger than this size the function will fail (unless you set flags as described below).

message

The received message will be stored in message, unless there were errors receiving the message.

unserialize

unserialize defaults to TRUE; if it is set to TRUE, the message is treated as though it was serialized using the same mechanism as the session module. The message will be unserialized and then returned to your script. This allows you to easily receive arrays or complex object structures from other PHP scripts, or if you are using the WDDX serializer, from any WDDX compatible source.

If unserialize is FALSE, the message will be returned as a binary-safe string.

flags

The optional flags allows you to pass flags to the low-level msgrcv system call. It defaults to 0, but you may specify one or more of the following values (by adding or ORing them together).

표 271. Flag values for msg_receive

MSG_IPC_NOWAIT | If there are no messages of the desiredmsgtype, return immediately and do not wait. The function will fail and return an integer value corresponding to MSG_ENOMSG.
MSG_EXCEPT | Using this flag in combination with a desiredmsgtype greater than 0 will cause the function to receive the first message that is not equal to desiredmsgtype.
MSG_NOERROR | If the message is longer than maxsize, setting this flag will truncate the message to maxsize and will not signal an error.

errorcode

If the function fails, the optional errorcode will be set to the value of the system errno variable.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

Upon successful completion the message queue data structure is updated as follows: msg_lrpid is set to the process-ID of the calling process, msg_qnum is decremented by 1 and msg_rtime is set to the current time.

참고

msg_remove_queue()
msg_send()
msg_stat_queue()
msg_set_queue()

이전 | 위로 | 다음
msg_get_queue | 처음으로 | msg_remove_queue


msg_remove_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_remove_queue -- Destroy a message queue

설명

bool msg_remove_queue ( resource $queue )

msg_remove_queue() destroys the message queue specified by the queue. Only use this function when all processes have finished working with the message queue and you need to release the system resources held by it.

매개변수

queue

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

msg_get_queue()
msg_receive()
msg_stat_queue()
msg_set_queue()

이전 | 위로 | 다음
msg_receive | 처음으로 | msg_send


msg_send

(PHP 4 >= 4.3.0, PHP 5)

msg_send -- Send a message to a message queue

설명

bool msg_send ( resource $queue, int $msgtype, mixed $message [, bool $serialize [, bool $blocking [, int &$errorcode]]] )

msg_send() sends a message of type msgtype (which MUST be greater than 0) to the message queue specified by queue.

매개변수

queue

msgtype

message

serialize

The optional serialize controls how the message is sent. serialize defaults to TRUE which means that the message is serialized using the same mechanism as the session module before being sent to the queue. This allows complex arrays and objects to be sent to other PHP scripts, or if you are using the WDDX serializer, to any WDDX compatible client.

blocking

If the message is too large to fit in the queue, your script will wait until another process reads messages from the queue and frees enough space for your message to be sent. This is called blocking; you can prevent blocking by setting the optional blocking parameter to FALSE, in which case msg_send() will immediately return FALSE if the message is too big for the queue, and set the optional errorcode to MSG_EAGAIN, indicating that you should try to send your message again a little later on.

errorcode

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

Upon successful completion the message queue data structure is updated as follows: msg_lspid is set to the process-ID of the calling process, msg_qnum is incremented by 1 and msg_stime is set to the current time.

참고

msg_remove_queue()
msg_receive()
msg_stat_queue()
msg_set_queue()

이전 | 위로 | 다음
msg_remove_queue | 처음으로 | msg_set_queue


msg_set_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_set_queue -- Set information in the message queue data structure

설명

bool msg_set_queue ( resource $queue, array $data )

msg_set_queue() allows you to change the values of the msg_perm.uid, msg_perm.gid, msg_perm.mode and msg_qbytes fields of the underlying message queue data structure.

Changing the data structure will require that PHP be running as the same user that created the queue, owns the queue (as determined by the existing msg_perm.xxx fields), or be running with root privileges. root privileges are required to raise the msg_qbytes values above the system defined limit.

매개변수

queue

data

You specify the values you require by setting the value of the keys that you require in the data array.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

msg_remove_queue()
msg_receive()
msg_stat_queue()
msg_get_queue()

이전 | 위로 | 다음
msg_send | 처음으로 | msg_stat_queue


msg_stat_queue

(PHP 4 >= 4.3.0, PHP 5)

msg_stat_queue -- Returns information from the message queue data structure

설명

array msg_stat_queue ( resource $queue )

msg_stat_queue() returns the message queue meta data for the message queue specified by the queue. This is useful, for example, to determine which process sent the message that was just received.

매개변수

queue

반환값

The return value is an array whose keys and values have the following meanings:

표 272. Array structure for msg_stat_queue

msg_perm.uid | The uid of the owner of the queue.
msg_perm.gid | The gid of the owner of the queue.
msg_perm.mode | The file access mode of the queue.
msg_stime | The time that the last message was sent to the queue.
msg_rtime | The time that the last message was received from the queue.
msg_ctime | The time that the queue was last changed.
msg_qnum | The number of messages waiting to be read from the queue.
msg_qbytes | The number of bytes of space currently available in the queue to hold sent messages until they are received.
msg_lspid | The pid of the process that sent the last message to the queue.
msg_lrpid | The pid of the process that received the last message from the queue.

참고

msg_remove_queue()
msg_receive()
msg_get_queue()
msg_set_queue()

이전 | 위로 | 다음
msg_set_queue | 처음으로 | sem_acquire


sem_acquire

(PHP 4, PHP 5)

sem_acquire -- 세마포어를 획득

설명

int sem_acquire ( int $sem_identifier )

반환값: 성공하면 TRUE, 실패하면 에러를 출력한다.

sem_acquire()함수는 (만일 필요하다면)세마포어를 획득할 수 있을 때까지 막는다. 이미 획득된 세마포어를 획득하려는 프로세서가 세마포어의 max_acquire를 초과한다면 영원히 중단될 것이다.

리퀘스트 처리후, 명백하게 릴리즈되지 않은 프로세서에 의해 획득된 어떤 세마포어도 자동적으로 릴리즈 되며, 경고를 발생시킬 것이다. (After processing a request, any semaphores acquired by the process but not explicitly released will be released automatically and a warning will be generated.)

참조: sem_get(), sem_release().

이전 | 위로 | 다음
msg_stat_queue | 처음으로 | sem_get


sem_get

(PHP 4, PHP 5)

sem_get -- 세마포어 id를 얻음

설명

int sem_get ( int $key [, int $max_acquire [, int $perm]] )

반환값: 성공하면 실제적인 세마포어 identifier가, 실패하면 에러가 발생한다.

sem_get()는 주어진 키와 함께 System V 세마포어에 접근하는데 사용하는 id를 반환한다. 세마포어는 퍼미션에서 특정 퍼미션 비트가 사용될 필요성이 있을 때 생성된다(기본값은 0666). 세마포어가 동시에 필요로 할 수 있는 프로세서의 개수는 max_acquire(기본값은 1)로 설정할 수 있다. 실제로 이 값은 설정된다. 얻은 프로세서가 일반적으로 세마포어에 첨부된 것일 경우에만 설정한다.

동일 키로 sem_get()를 두 번 호출하면, 각기 다른 세마포어 identifier로 반환되겠지만, 양쪽 identifier들은 동일한 세마포어에서 접근이 가능하다.

참조: sem_acquire(), sem_release().

참고: 이 함수는 윈도우즈 시스템에서 동작하지 않는다.

이전 | 위로 | 다음
sem_acquire | 처음으로 | sem_release


sem_release

(PHP 4, PHP 5)

sem_release -- 세마포어 릴리즈

설명

int sem_release ( int $sem_identifier )

반환값: 성공하면 TRUE, 실패하면 에러 출력.

sem_release()는 호출 과정에 의해 일반적으로 획득된 세마포어를 릴리즈한다. 그렇지 않으면, 경고를 발생시킨다.

세마포어를 릴리즈한 후, sem_acquire()함수는 이를 재획득하려고 호출될 것이다.

참조: sem_get(), sem_acquire().

참고: 이 함수는 윈도우즈 시스템에서는 동작하지 않는다.

이전 | 위로 | 다음
sem_get | 처음으로 | sem_remove


sem_remove

(PHP 4 >= 4.0.7, PHP 5)

sem_remove -- Remove a semaphore

설명

bool sem_remove ( resource $sem_identifier )

sem_remove() removes the given semaphore.

After removing the semaphore, it is no more accessible.

매개변수

sem_identifier

The semaphore identifier. Must have been created with sem_get(), otherwise a warning is generated.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

sem_get()
sem_release()
sem_acquire()

이전 | 위로 | 다음
sem_release | 처음으로 | shm_attach


shm_attach

(PHP 4, PHP 5)

shm_attach -- 공유 메모리 세그먼트를 열거나 생성

설명

int shm_attach ( int $key [, int $memsize [, int $perm]] )

shm_attach()함수는 주어진 키와 함께 System V 공유 메모리를 접근하기위해 사용되는 id를 반환한다. 첫 호출은 mem_size(기본값: 설정 파일에서의 sysvshm.init_mem 값, 그렇지 않으면, 10000 바이트)과 임의의 perm-bit(기본값: 0666)과 함께 공유 메모리 세그먼트를 생성한다.

동일한 key 인자로 shm_attach()함수의 두번째 호출은 또다른 공유 메모리 identifier를 반환할 것이다. Memsize 인자와 perm 인자는 무시될 것이다.

참고: 이 함수는 윈도우즈 시스템에서는 동작하지 않는다.

이전 | 위로 | 다음
sem_remove | 처음으로 | shm_detach


shm_detach

(PHP 4, PHP 5)

shm_detach -- 공유 메모리 세그먼트 접속을 종료

설명

int shm_detach ( int $shm_identifier )

shm_detach()함수는 shm_attach()에 의해 생성되는 shm_identifier 인자에 의해 주어진 공유 메모리를 종료시킨다. 주의할 점은, 함수를 호출하더라도 Unix 시스템에서의 공유메모리는 여전히 존재하며, 데이터 역시 존재하고 있다는 것이다.

이전 | 위로 | 다음
shm_attach | 처음으로 | shm_get_var


shm_get_var

(PHP 4, PHP 5)

shm_get_var -- 공유 메모리로부터 변수를 반환

설명

mixed shm_get_var ( int $id, int $variable_key )

shm_get_var()함수는 variable_key 인자로 주어진 변수를 반환한다. 공유메모리에서의 변수는 여전히 존재한다.

참고: 이 함수는 윈도우즈 시스템에서는 동작하지 않는다.

이전 | 위로 | 다음
shm_detach | 처음으로 | shm_put_var


shm_put_var

(PHP 4, PHP 5)

shm_put_var -- 공유 메모리 변수를 삽입하거나 경신

설명

int shm_put_var ( int $shm_identifier, int $variable_key, mixed $variable )

variable_key 인자로 주어진 variable 인자를 삽입하거나 경신한다. 모든 변수 타입(double, int, string, array)가 지원된다.

참고: 이 함수는 윈도우즈 시스템에서는 동작하지 않는다.

이전 | 위로 | 다음
shm_get_var | 처음으로 | shm_remove_var


shm_remove_var

(PHP 4, PHP 5)

shm_remove_var -- 공유 메모리로부터 변수를 제거

설명

int shm_remove_var ( int $id, int $variable_key )

variable_key로 주어진 변수를 제거하고 점유된 메모리에서 제거한다.

참고: 이 함수는 윈도우즈 시스템에서 동작하지 않는다.

이전 | 위로 | 다음
shm_put_var | 처음으로 | shm_remove


shm_remove

(PHP 4, PHP 5)

shm_remove -- Unix 시스템에서 공유 메모리를 제거

설명

int shm_remove ( int $shm_identifier )

Unix 시스템에서 공유 메모리를 제거하며, 모든 데이터가 제거된다.

참고: 이 함수는 윈도우즈 시스템에서는 동작하지 않는다.

이전 | 위로 | 다음
shm_remove_var | 처음으로 | CXLVII. SESAM Database Functions


SESAM Database Functions

이전 VI. 함수 레퍼런스 다음

CXLVII. SESAM Database Functions

소개

SESAM/SQL-Server is a mainframe database system, developed by Fujitsu Siemens Computers, Germany. It runs on high-end mainframe servers using the operating system BS2000/OSD.

In numerous productive BS2000 installations, SESAM/SQL-Server has proven

  • the ease of use of Java-, Web- and client/server connectivity,
  • the capability to work with an availability of more than 99.99%,
  • the ability to manage tens and even hundreds of thousands of users.

There is a PHP 3 SESAM interface available which allows database operations via PHP-scripts.

참고: Access to SESAM is only available with the latest CVS-Version of PHP 3. PHP 4 does not support the SESAM database.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

sesam_oml string

Name of BS2000 PLAM library containing the loadable SESAM driver modules. Required for using SESAM functions. The BS2000 PLAM library must be set ACCESS=READ,SHARE=YES because it must be readable by the apache server's user id.

sesam_configfile string

Name of SESAM application configuration file. Required for using SESAM functions. The BS2000 file must be readable by the apache server's user id.

The application configuration file will usually contain a configuration like (see SESAM reference manual):

CNF=B
NAM=K
NOTYPE

sesam_messagecatalog string

Name of SESAM message catalog file. In most cases, this directive is not necessary. Only if the SESAM message file is not installed in the system's BS2000 message file table, it can be set with this directive.

The message catalog must be set ACCESS=READ,SHARE=YES because it must be readable by the apache server's user id.

Configuration notes

There is no standalone support for the PHP SESAM interface, it works only as an integrated Apache module. In the Apache PHP module, this SESAM interface is configured using Apache directives.

표 273. SESAM Configuration directives

Directive Meaning
php3_sesam_oml

Name of BS2000 PLAM library containing the loadable SESAM driver modules. Required for using SESAM functions.

Example:

php3_sesam_oml $.SYSLNK.SESAM-SQL.030

php3_sesam_configfile

Name of SESAM application configuration file. Required for using SESAM functions.

Example:

php3_sesam_configfile $SESAM.SESAM.CONF.AW

It will usually contain a configuration like (see SESAM reference manual):

CNF=B
NAM=K
NOTYPE

php3_sesam_messagecatalog

Name of SESAM message catalog file. In most cases, this directive is not necessary. Only if the SESAM message file is not installed in the system's BS2000 message file table, it can be set with this directive.

Example:

php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030

In addition to the configuration of the PHP/SESAM interface, you have to configure the SESAM-Database server itself on your mainframe as usual. That means:

  • starting the SESAM database handler (DBH), and
  • connecting the databases with the SESAM database handler

To get a connection between a PHP script and the database handler, the CNF and NAM parameters of the selected SESAM configuration file must match the id of the started database handler.

In case of distributed databases you have to start a SESAM/SQL-DCN agent with the distribution table including the host and database names.

The communication between PHP (running in the POSIX subsystem) and the database handler (running outside the POSIX subsystem) is realized by a special driver module called SQLSCI and SESAM connection modules using common memory. Because of the common memory access, and because PHP is a static part of the web server, database accesses are very fast, as they do not require remote accesses via ODBC, JDBC or UTM.

Only a small stub loader (SESMOD) is linked with PHP, and the SESAM connection modules are pulled in from SESAM's OML PLAM library. In the configuration, you must tell PHP the name of this PLAM library, and the file link to use for the SESAM configuration file (As of SESAM V3.0, SQLSCI is available in the SESAM Tool Library, which is part of the standard distribution).

Because the SQL command quoting for single quotes uses duplicated single quotes (as opposed to a single quote preceded by a backslash, used in some other databases), it is advisable to set the PHP configuration directives php3_magic_quotes_gpc and php3_magic_quotes_sybase to On for all PHP scripts using the SESAM interface.

Runtime considerations

Because of limitations of the BS2000 process model, the driver can be loaded only after the Apache server has forked off its server child processes. This will slightly slow down the initial SESAM request of each child, but subsequent accesses will respond at full speed.

When explicitly defining a Message Catalog for SESAM, that catalog will be loaded each time the driver is loaded (i.e., at the initial SESAM request). The BS2000 operating system prints a message after successful load of the message catalog, which will be sent to Apache's error_log file. BS2000 currently does not allow suppression of this message, it will slowly fill up the log.

Make sure that the SESAM OML PLAM library and SESAM configuration file are readable by the user id running the web server. Otherwise, the server will be unable to load the driver, and will not allow to call any SESAM functions. Also, access to the database must be granted to the user id under which the Apache server is running. Otherwise, connections to the SESAM database handler will fail.

Cursor Types

The result cursors which are allocated for SQL "select type" queries can be either "sequential" or "scrollable". Because of the larger memory overhead needed by "scrollable" cursors, the default is "sequential".

When using "scrollable" cursors, the cursor can be freely positioned on the result set. For each "scrollable" query, there are global default values for the scrolling type (initialized to: SESAM_SEEK_NEXT) and the scrolling offset which can either be set once by sesam_seek_row() or each time when fetching a row using sesam_fetch_row(). When fetching a row using a "scrollable" cursor, the following post-processing is done for the global default values for the scrolling type and scrolling offset:

표 274. Scrolled Cursor Post-Processing

Scroll Type | Action
SESAM_SEEK_NEXT | none
SESAM_SEEK_PRIOR | none
SESAM_SEEK_FIRST | set scroll type to SESAM_SEEK_NEXT
SESAM_SEEK_LAST | set scroll type to SESAM_SEEK_PRIOR
SESAM_SEEK_ABSOLUTE | Auto-Increment internal offset value
SESAM_SEEK_RELATIVE | none. (maintain global default offset value, which allows for, e.g., fetching each 10th row backwards)

Porting note

Because in the PHP world it is natural to start indexes at zero (rather than 1), some adaptions have been made to the SESAM interface: whenever an indexed array is starting with index 1 in the native SESAM interface, the PHP interface uses index 0 as a starting point. E.g., when retrieving columns with sesam_fetch_row(), the first column has the index 0, and the subsequent columns have indexes up to (but not including) the column count ($array["count"]). When porting SESAM applications from other high level languages to PHP, be aware of this changed interface. Where appropriate, the description of the respective PHP sesam functions include a note that the index is zero based.

Security concerns

When allowing access to the SESAM databases, the web server user should only have as little privileges as possible. For most databases, only read access privilege should be granted. Depending on your usage scenario, add more access rights as you see fit. Never allow full control to any database for any user from the 'net! Restrict access to PHP scripts which must administer the database by using password control and/or SSL security.

Migration from other SQL databases

No two SQL dialects are ever 100% compatible. When porting SQL applications from other database interfaces to SESAM, some adaption may be required. The following typical differences should be noted:

  • Vendor specific data types

    Some vendor specific data types may have to be replaced by standard SQL data types (e.g., TEXT could be replaced by VARCHAR(max. size)).

  • Keywords as SQL identifiers

    In SESAM (as in standard SQL), such identifiers must be enclosed in double quotes (or renamed).

  • Display length in data types

    SESAM data types have a precision, not a display length. Instead of int(4) (intended use: integers up to '9999'), SESAM requires simply int for an implied size of 31 bits. Also, the only datetime data types available in SESAM are: DATE, TIME(3) and TIMESTAMP(3).

  • SQL types with vendor-specific unsigned, zerofill, or auto_increment attributes

    Unsigned and zerofill are not supported. Auto_increment is automatic (use "INSERT ... VALUES(*, ...)" instead of "... VALUES(0, ...)" to take advantage of SESAM-implied auto-increment.

  • int ... DEFAULT '0000'

    Numeric variables must not be initialized with string constants. Use DEFAULT 0 instead. To initialize variables of the datetime SQL data types, the initialization string must be prefixed with the respective type keyword, as in: CREATE TABLE exmpl ( xtime timestamp(3) DEFAULT TIMESTAMP '1970-01-01 00:00:00.000' NOT NULL );

  • $count = xxxx_num_rows();

    Some databases promise to guess/estimate the number of the rows in a query result, even though the returned value is grossly incorrect. SESAM does not know the number of rows in a query result before actually fetching them. If you REALLY need the count, try SELECT COUNT(...) WHERE ..., it will tell you the number of hits. A second query will (hopefully) return the results.

  • DROP TABLE thename;

    In SESAM, in the DROP TABLE command, the table name must be either followed by the keyword RESTRICT or CASCADE. When specifying RESTRICT, an error is returned if there are dependent objects (e.g., VIEWs), while with CASCADE, dependent objects will be deleted along with the specified table.

Notes on the use of various SQL types

SESAM does not currently support the BLOB type. A future version of SESAM will have support for BLOB.

At the PHP interface, the following type conversions are automatically applied when retrieving SQL fields:

표 275. SQL to PHP Type Conversions

SQL Type | PHP Type
SMALLINT, INTEGER | integer
NUMERIC, DECIMAL, FLOAT, REAL, DOUBLE | float
DATE, TIME, TIMESTAMP | string
VARCHAR, CHARACTER | string

When retrieving a complete row, the result is returned as an array. Empty fields are not filled in, so you will have to check for the existence of the individual fields yourself (use isset() or empty() to test for empty fields). That allows more user control over the appearance of empty fields (than in the case of an empty string as the representation of an empty field).

Support of SESAM's "multiple fields" feature

The special "multiple fields" feature of SESAM allows a column to consist of an array of fields. Such a "multiple field" column can be created like this:

예 2099. Creating a "multiple field" column

CREATE TABLE multi_field_test (
    pkey CHAR(20) PRIMARY KEY,
    multi(3) CHAR(12)
)

and can be filled in using:

예 2100. Filling a "multiple field" column

INSERT INTO multi_field_test (pkey, multi(2..3) )
    VALUES ('Second', <'first_val', 'second_val'>)

Note that (like in this case) leading empty sub-fields are ignored, and the filled-in values are collapsed, so that in the above example the result will appear as multi(1..2) instead of multi(2..3).

When retrieving a result row, "multiple columns" are accessed like "inlined" additional columns. In the example above, "pkey" will have the index 0, and the three "multi(1..3)" columns will be accessible as indices 1 through 3.

참고

For specific SESAM details, please refer to » the SESAM/SQL-Server documentation (english) or » the SESAM/SQL-Server documentation (german), both available online, or use the respective manuals.

차례

sesam_affected_rows -- Get number of rows affected by an immediate query
sesam_commit -- Commit pending updates to the SESAM database
sesam_connect -- Open SESAM database connection
sesam_diagnostic -- Return status information for last SESAM call
sesam_disconnect -- Detach from SESAM connection
sesam_errormsg -- Returns error message of last SESAM call
sesam_execimm -- Execute an "immediate" SQL-statement
sesam_fetch_array -- Fetch one row as an associative array
sesam_fetch_result -- Return all or part of a query result
sesam_fetch_row -- Fetch one row as an array
sesam_field_array -- Return meta information about individual columns in a result
sesam_field_name -- Return one column name of the result set
sesam_free_result -- Releases resources for the query
sesam_num_fields -- Return the number of fields/columns in a result set
sesam_query -- Perform a SESAM SQL query and prepare the result
sesam_rollback -- Discard any pending updates to the SESAM database
sesam_seek_row -- Set scrollable cursor mode for subsequent fetches
sesam_settransaction -- Set SESAM transaction parameters
이전 | 위로 | 다음
shm_remove | 처음으로 | sesam_affected_rows


sesam_affected_rows

(No version information available, might be only in CVS)

sesam_affected_rows -- Get number of rows affected by an immediate query

설명

int sesam_affected_rows ( string $result_id )

Gets the number of rows affected by an immediate query.

The sesam_affected_rows() function can only return useful values when used in combination with "immediate" SQL statements (updating operations like INSERT, UPDATE and DELETE) because SESAM does not deliver any "affected rows" information for "select type" queries.

매개변수

result_id

A valid result id returned by sesam_query().

반환값

Returns the number of rows affected by a query associated with result_id.

예제

예 2101. sesam_affected_rows() example

<?php
$result = sesam_execimm("DELETE FROM PHONE WHERE LASTNAME = '" . strtoupper($name) . "'");
if (!$result) {
    /* ... error ... */
}
echo sesam_affected_rows($result).
    " entries with last name " . $name . " deleted.\n";
?>

참고

sesam_query()
sesam_execimm()

이전 | 위로 | 다음
CXLVII. SESAM Database Functions | 처음으로 | sesam_commit


sesam_commit

(No version information available, might be only in CVS)

sesam_commit -- Commit pending updates to the SESAM database

설명

bool sesam_commit ( void )

Commits any pending updates to the database.

Note that there is no "auto-commit" feature as in other databases, as it could lead to accidental data loss. Uncommitted data at the end of the current script (or when calling sesam_disconnect()) will be discarded by an implied sesam_rollback() call.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2102. Committing an update to the SESAM database

<?php
if (sesam_connect ("mycatalog", "myschema", "otto")) {
    if (!sesam_execimm ("INSERT INTO mytable VALUES (*, 'Small Test', <0, 8, 15>)"))
        die("insert failed");
    if (!sesam_commit())
        die("commit failed");
}
?>

참고

sesam_rollback()

이전 | 위로 | 다음
sesam_affected_rows | 처음으로 | sesam_connect


sesam_connect

(No version information available, might be only in CVS)

sesam_connect -- Open SESAM database connection

설명

bool sesam_connect ( string $catalog, string $schema, string $user )

Establishes a connection to a SESAM database handler task. The connection is always "persistent" in the sense that only the very first invocation will actually load the driver from the configured SESAM OML PLAM library. Subsequent calls will reuse the driver and will immediately use the given catalog, schema, and user.

매개변수

catalog

When creating a database, the "catalog" name is specified in the SESAM configuration directive //ADD-SQL-DATABASE-CATALOG-LIST ENTRY-1 = *CATALOG(CATALOG-NAME = catalogname,...)

schema

The schema references the desired database schema (see SESAM handbook).

user

The "user" argument references one of the users which are allowed to access this "catalog" / "schema" combination. Note that "user" is completely independent from both the system's user id's and from HTTP user/password protection. It appears in the SESAM configuration only.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2103. Connect to a SESAM database

<?php
if (!sesam_connect ("mycatalog", "myschema", "otto")) {
    die("Unable to connect to SESAM");
}
?>

참고

sesam_disconnect()

이전 | 위로 | 다음
sesam_commit | 처음으로 | sesam_diagnostic


sesam_diagnostic

(No version information available, might be only in CVS)

sesam_diagnostic -- Return status information for last SESAM call

설명

array sesam_diagnostic ( void )

Returns status information for last SESAM call.

반환값

Returns an associative array of status and return codes for the last SQL query/statement/command. Elements of the array are:

표 276. Status information returned by sesam_diagnostic()

Element | Contents
$array["sqlstate"] | 5 digit SQL return code (see the SESAM manual for the description of the possible values of SQLSTATE)
$array["rowcount"] | number of affected rows in last update/insert/delete (set after "immediate" statements only)
$array["errmsg"] | "human readable" error message string (set after errors only)
$array["errcol"] | error column number of previous error (0-based; or -1 if undefined. Set after errors only)
$array["errlin"] | error line number of previous error (0-based; or -1 if undefined. Set after errors only)

예제

In the following example, a syntax error (E SEW42AE ILLEGAL CHARACTER) is displayed by including the offending SQL statement and pointing to the error location:

예 2104. Displaying SESAM error messages with error position

<?php
// Function which prints a formatted error message,
// displaying a pointer to the syntax error in the
// SQL statement
function PrintReturncode($exec_str)
{
    $err = Sesam_Diagnostic();
    $colspan=4; // 4 cols for: sqlstate, errlin, errcol, rowcount
    if ($err["errlin"] == -1)
        --$colspan;
    if ($err["errcol"] == -1)
        --$colspan;
    if ($err["rowcount"] == 0)
        --$colspan;
    echo "<table border=\"1\">\n";
    echo "<tr><th colspan=\"" . $colspan . "\"><span class=\"spanred\">ERROR:</span> ".
         htmlspecialchars($err["errmsg"]) . "</th></tr>\n";
    if ($err["errcol"] >= 0) {
        echo "<tr><td colspan=\"" . $colspan . "\"><pre>\n";
        $errstmt = $exec_str . "\n";
        for ($lin=0; $errstmt != ""; ++$lin) {
            if ($lin != $err["errlin"]) { // $lin is less or greater than errlin
                if (!($i = strchr($errstmt, "\n")))
                    $i = "";
                $line = substr ($errstmt, 0, strlen($errstmt)-strlen($i)+1);
                $errstmt = substr($i, 1);
                if ($line != "\n")
                    echo htmlspecialchars($line);
            } else {
                if (! ($i = strchr ($errstmt, "\n")))
                    $i = "";
                $line = substr ($errstmt, 0, strlen ($errstmt)-strlen($i)+1);
                $errstmt = substr($i, 1);
                for ($col=0; $col < $err["errcol"]; ++$col) {
                    echo (substr($line, $col, 1) == "\t") ? "\t" : ".";
                }
                echo "<span class=\"spanred\">\\</span>\n";
                echo "<span class=\"normal\">" . htmlspecialchars($line) . "</span>";
                for ($col=0; $col < $err["errcol"]; ++$col) {
                    echo (substr ($line, $col, 1) == "\t") ? "\t" : ".";
                }
                echo "<span class=\"spanred\">/</span>\n";
            }
        }
        echo "</pre></td></tr>\n";
    }
    echo "<tr>\n";
    echo " <td>sqlstate=" . $err["sqlstate"] . "</td>\n";
    if ($err["errlin"] != -1)
        echo " <td>errlin=" . $err["errlin"] . "</td>\n";
    if ($err["errcol"] != -1)
        echo " <td>errcol=" . $err["errcol"] . "</td>\n";
    if ($err["rowcount"] != 0)
         echo " <td>rowcount=" . $err["rowcount"] . "</td>\n";
    echo "</tr>\n";
    echo "</table>\n";
}

if (!sesam_connect ("mycatalog", "phoneno", "otto"))
  die ("cannot connect");

$stmt = "SELECT * FROM phone\n" .
        " WHERE@ LASTNAME='KRAEMER'\n" .
        " ORDER BY FIRSTNAME";
if (!($result = sesam_query ($stmt)))
    PrintReturncode ($stmt);
?>

참고

sesam_errormsg()

이전 | 위로 | 다음
sesam_connect | 처음으로 | sesam_disconnect


sesam_disconnect

(No version information available, might be only in CVS)

sesam_disconnect -- Detach from SESAM connection

설명

bool sesam_disconnect ( void )

Closes the logical link to a SESAM database (without actually disconnecting and unloading the driver).

Note that this isn't usually necessary, as the open connection is automatically closed at the end of the script's execution. Uncommitted data will be discarded, because an implicit sesam_rollback() is executed.

sesam_disconnect() will not close the persistent link, it will only invalidate the currently defined "catalog", "schema" and "user" triple, so that any sesam function called after sesam_disconnect() will fail.

반환값

Always returns TRUE.

예제

예 2105. Closing a SESAM connection

<?php
if (sesam_connect ("mycatalog", "myschema", "otto")) {
    /* ... some queries and stuff ... */
    sesam_disconnect();
}
?>

참고

sesam_connect()

이전 | 위로 | 다음
sesam_diagnostic | 처음으로 | sesam_errormsg


sesam_errormsg

(No version information available, might be only in CVS)

sesam_errormsg -- Returns error message of last SESAM call

설명

string sesam_errormsg ( void )

Gets the SESAM error message associated with the most recent SESAM error.

반환값

Returns the SESAM error message associated with the most recent SESAM error. An empty string means no errors.

예제

예 2106. sesam_errormsg() example

<?php
if (!sesam_execimm($stmt)) {
  echo sesam_errormsg() . "<br />\n";
}
?>

참고

sesam_diagnostic()

이전 | 위로 | 다음
sesam_disconnect | 처음으로 | sesam_execimm


sesam_execimm

(No version information available, might be only in CVS)

sesam_execimm -- Execute an "immediate" SQL-statement

설명

string sesam_execimm ( string $query )

Executes an "immediate" statement.

Sets the affected_rows value for retrieval by the sesam_affected_rows() function.

Note that sesam_query() can handle both "immediate" and "select-type" queries. Use sesam_execimm() only if you know beforehand what type of statement will be executed. An attempt to use SELECT type queries with sesam_execimm() will return $err["sqlstate"] == "42SBW".

매개변수

query

An "immediate" statement (i.e., a statement like UPDATE, INSERT or DELETE which returns no result, and has no INPUT or OUTPUT variables). "select type" queries can not be used with sesam_execimm().

반환값

Returns a SESAM result identifier on success, or FALSE on error.

The returned "result identifier" can not be used for retrieving anything but the sesam_affected_rows(); it is only returned for symmetry with the sesam_query() function.

예제

예 2107. sesam_execimm() Example

<?php
$stmt = "INSERT INTO mytable VALUES ('one', 'two')";
$result = sesam_execimm($stmt);
$err = sesam_diagnostic();
echo "sqlstate = " . $err["sqlstate"] . "\n".
       "Affected rows = " . $err["rowcount"] . " == " .
       sesam_affected_rows($result) . "\n";
?>

참고

sesam_query()
sesam_affected_rows()

이전 | 위로 | 다음
sesam_errormsg | 처음으로 | sesam_fetch_array


sesam_fetch_array

(No version information available, might be only in CVS)

sesam_fetch_array -- Fetch one row as an associative array

설명

array sesam_fetch_array ( string $result_id [, int $whence [, int $offset]] )

sesam_fetch_array() is an alternative version of sesam_fetch_row(). Instead of storing the data in the numeric indices of the result array, it stores the data in associative indices, using the field names as keys.

sesam_fetch_array() fetches one row of data from the result associated with the specified result identifier. The row is returned as an associative array. Each result column is stored with an associative index equal to its column (aka. field) name. The column names are converted to lower case.

Columns without a field name (e.g., results of arithmetic operations) and empty fields are not stored in the array. Also, if two or more columns of the result have the same column names, the later column will take precedence. In this situation, either call sesam_fetch_row() or make an alias for the column.

SELECT TBL1.COL AS FOO, TBL2.COL AS BAR FROM TBL1, TBL2

A special handling allows fetching "multiple field" columns (which would otherwise all have the same column names). For each column of a "multiple field", the index name is constructed by appending the string "(n)" where n is the sub-index of the multiple field column, ranging from 1 to its declared repetition factor. The indices are NOT zero based, in order to match the nomenclature used in the respective query syntax. For a column declared as:

CREATE TABLE ... ( ... MULTI(3) INT )
the associative indices used for the individual "multiple field" columns would be "multi(1)", "multi(2)", and "multi(3)" respectively.

Subsequent calls to sesam_fetch_array() would return the next (or prior, or n'th next/prior, depending on the scroll attributes) row in the result set, or FALSE if there are no more rows.

매개변수

result_id

A valid result id returned by sesam_query().

whence

whence is an optional parameter for a fetch operation on "scrollable" cursors, which can be set to the following predefined constants:

표 277. Valid values for "whence" parameter

Value | Constant | Meaning
0 | SESAM_SEEK_NEXT | read sequentially (after fetch, the internal default is set to SESAM_SEEK_NEXT)
1 | SESAM_SEEK_PRIOR | read sequentially backwards (after fetch, the internal default is set to SESAM_SEEK_PRIOR)
2 | SESAM_SEEK_FIRST | rewind to first row (after fetch, the default is set to SESAM_SEEK_NEXT)
3 | SESAM_SEEK_LAST | seek to last row (after fetch, the default is set to SESAM_SEEK_PRIOR)
4 | SESAM_SEEK_ABSOLUTE | seek to absolute row number given as offset (Zero-based. After fetch, the internal default is set to SESAM_SEEK_ABSOLUTE, and the internal offset value is auto-incremented)
5 | SESAM_SEEK_RELATIVE | seek relative to current scroll position, where offset can be a positive or negative offset value.

This parameter is only valid for "scrollable" cursors.

When using "scrollable" cursors, the cursor can be freely positioned on the result set. If the whence parameter is omitted, the global default values for the scrolling type (initialized to: SESAM_SEEK_NEXT, and settable by sesam_seek_row()) are used. If whence is supplied, its value replaces the global default.

offset

Only evaluated (and required) if whence is either SESAM_SEEK_RELATIVE or SESAM_SEEK_ABSOLUTE. This parameter is only valid for "scrollable" cursors.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

예제

예 2108. SESAM fetch array

<?php
$result = sesam_query("SELECT * FROM phone\n" .
                       "  WHERE LASTNAME='" . strtoupper($name) . "'\n".
                       "  ORDER BY FIRSTNAME", 1);
if (!$result) {
    /* ... error ... */
}
// print the table:
echo "<table border=\"1\">\n";
while (($row = sesam_fetch_array($result)) && count($row) > 0) {
    echo "<tr>\n";
    echo "<td>" . htmlspecialchars($row["firstname"]) . "</td>\n";
    echo "<td>" . htmlspecialchars($row["lastname"]) . "</td>\n";
    echo "<td>" . htmlspecialchars($row["phoneno"]) . "</td>\n";
    echo "</tr>\n";
}
echo "</table>\n";
sesam_free_result($result);
?>

참고

sesam_fetch_row()

이전 | 위로 | 다음
sesam_execimm | 처음으로 | sesam_fetch_result


sesam_fetch_result

(No version information available, might be only in CVS)

sesam_fetch_result -- Return all or part of a query result

설명

mixed sesam_fetch_result ( string $result_id [, int $max_rows] )

Fetches a result, optionally limited to max_rows.

매개변수

result_id

A valid result id returned by sesam_query().

max_rows

Note that the amount of memory used up by a large query may be gigantic. Use the max_rows parameter to limit the maximum number of rows returned, unless you are absolutely sure that your result will not use up all available memory.

반환값

Returns a mixed array with the query result entries, optionally limited to a maximum of max_rows rows. Note that both row and column indexes are zero-based.

표 278. Mixed result set returned by sesam_fetch_result()

Array Element | Contents
int $arr["count"] | number of columns in result set (or zero if this was an "immediate" query)
int $arr["rows"] | number of rows in result set (between zero and max_rows)
bool $arr["truncated"] | TRUE if the number of rows was at least max_rows, FALSE otherwise. Note that even when this is TRUE, the next sesam_fetch_result() call may return zero rows because there are no more result entries.
mixed $arr[col][row] | result data for all the fields at row(row) and column(col), (where the integer index row is between 0 and $arr["rows"]-1, and col is between 0 and $arr["count"]-1). Fields may be empty, so you must check for the existence of a field by using the php isset() function. The type of the returned fields depend on the respective SQL type declared for its column (see SESAM overview for the conversions applied). SESAM "multiple fields" are "inlined" and treated like a sequence of columns.

참고

sesam_fetch_array()
sesam_fetch_row()
sesam_query()

이전 | 위로 | 다음
sesam_fetch_array | 처음으로 | sesam_fetch_row


sesam_fetch_row

(No version information available, might be only in CVS)

sesam_fetch_row -- Fetch one row as an array

설명

array sesam_fetch_row ( string $result_id [, int $whence [, int $offset]] )

Fetches one row of data from the result associated with the specified result identifier. The row is returned as an array (indexed by values between 0 and $array["count"]-1). Fields may be empty, so you must check for the existence of a field by using the isset() function. The type of the returned fields depend on the respective SQL type declared for its column (see SESAM overview for the conversions applied). SESAM "multiple fields" are "inlined" and treated like a sequence of columns.

The number of columns in the result set is returned in an associative array element $array["count"]. Because some of the result columns may be empty, the count() function can not be used on the result row returned by sesam_fetch_row().

Subsequent calls to sesam_fetch_row() would return the next (or prior, or n'th next/prior, depending on the scroll attributes) row in the result set, or FALSE if there are no more rows.

매개변수

result_id

A valid result id returned by sesam_query().

whence

whence is an optional parameter for a fetch operation on "scrollable" cursors, which can be set to the following predefined constants:

표 279. Valid values for "whence" parameter

Value | Constant | Meaning
0 | SESAM_SEEK_NEXT | read sequentially (after fetch, the internal default is set to SESAM_SEEK_NEXT)
1 | SESAM_SEEK_PRIOR | read sequentially backwards (after fetch, the internal default is set to SESAM_SEEK_PRIOR)
2 | SESAM_SEEK_FIRST | rewind to first row (after fetch, the default is set to SESAM_SEEK_NEXT)
3 | SESAM_SEEK_LAST | seek to last row (after fetch, the default is set to SESAM_SEEK_PRIOR)
4 | SESAM_SEEK_ABSOLUTE | seek to absolute row number given as offset (Zero-based. After fetch, the internal default is set to SESAM_SEEK_ABSOLUTE, and the internal offset value is auto-incremented)
5 | SESAM_SEEK_RELATIVE | seek relative to current scroll position, where offset can be a positive or negative offset value.

This parameter is only valid for "scrollable" cursors.

When using "scrollable" cursors, the cursor can be freely positioned on the result set. If the whence parameter is omitted, the global default values for the scrolling type (initialized to: SESAM_SEEK_NEXT, and settable by sesam_seek_row()) are used. If whence is supplied, its value replaces the global default.

offset

Only evaluated (and required) if whence is either SESAM_SEEK_RELATIVE or SESAM_SEEK_ABSOLUTE. This parameter is only valid for "scrollable" cursors.

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

예제

예 2109. SESAM fetch rows

<?php
$result = sesam_query("SELECT * FROM phone\n" .
                       "  WHERE LASTNAME='" . strtoupper($name) . "'\n" .
                       "  ORDER BY FIRSTNAME", 1);
if (!$result) {
    /* ... error ... */
}
// print the table in backward order
echo "<table border=\"1\">\n";
$row = sesam_fetch_row($result, SESAM_SEEK_LAST);
while (is_array($row)) {
    echo "<tr>\n";
    for ($col = 0; $col < $row["count"]; ++$col) {
        echo "<td>" . htmlspecialchars($row[$col]) . "</td>\n";
    }
    echo "</tr>\n";
    // use implied SESAM_SEEK_PRIOR
    $row = sesam_fetch_row($result);
}
echo "</table>\n";
sesam_free_result($result);
?>

참고

sesam_fetch_array()
sesam_fetch_result()

이전 | 위로 | 다음
sesam_fetch_result | 처음으로 | sesam_field_array


sesam_field_array

(No version information available, might be only in CVS)

sesam_field_array -- Return meta information about individual columns in a result

설명

array sesam_field_array ( string $result_id )

Returns a mixed associative/indexed array with meta information (column name, type, precision, ...) about individual columns of the result after the query associated with result_id.

매개변수

result_id

A valid result id returned by sesam_query().

반환값

표 280. Mixed result set returned by sesam_field_array()

Array Element | Contents
int $arr["count"] | Total number of columns in result set (or zero if this was an "immediate" query). SESAM "multiple fields" are "inlined" and treated like the respective number of columns.
string $arr[col]["name"] | column name for column(col), where col is between 0 and $arr["count"]-1. The returned value can be the empty string (for dynamically computed columns). SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same column name.
string $arr[col]["count"] | The "count" attribute describes the repetition factor when the column has been declared as a "multiple field". Usually, the "count" attribute is 1. The first column of a "multiple field" column however contains the number of repetitions (the second and following column of the "multiple field" contain a "count" attribute of 1). This can be used to detect "multiple fields" in the result set. See the example shown in the sesam_query() description for a sample use of the "count" attribute.
string $arr[col]["type"]

PHP variable type of the data for column(col), where col is between 0 and $arr["count"]-1. The returned value can be one of

  • integer
  • float
  • string

depending on the SQL type of the result. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same PHP type.

string $arr[col]["sqltype"]

SQL variable type of the column data for column(col), where col is between 0 and $arr["count"]-1. The returned value can be one of

  • "CHARACTER"
  • "VARCHAR"
  • "NUMERIC"
  • "DECIMAL"
  • "INTEGER"
  • "SMALLINT"
  • "FLOAT"
  • "REAL"
  • "DOUBLE"
  • "DATE"
  • "TIME"
  • "TIMESTAMP"

describing the SQL type of the result. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same SQL type.

string $arr[col]["length"] | The SQL "length" attribute of the SQL variable in column(col), where col is between 0 and $arr["count"]-1. The "length" attribute is used with "CHARACTER" and "VARCHAR" SQL types to specify the (maximum) length of the string variable. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same length attribute.
string $arr[col]["precision"] | The "precision" attribute of the SQL variable in column(col), where col is between 0 and $arr["count"]-1. The "precision" attribute is used with numeric and time data types. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same precision attribute.
string $arr[col]["scale"] | The "scale" attribute of the SQL variable in column(col), where col is between 0 and $arr["count"]-1. The "scale" attribute is used with numeric data types. SESAM "multiple fields" are "inlined" and treated like the respective number of columns, each with the same scale attribute.

참고

sesam_query()

이전 | 위로 | 다음
sesam_fetch_row | 처음으로 | sesam_field_name


sesam_field_name

(No version information available, might be only in CVS)

sesam_field_name -- Return one column name of the result set

설명

int sesam_field_name ( string $result_id, int $index )

Gets the field name.

매개변수

result_id

A valid result id returned by sesam_query().

index

The column index is zero-based, not one-based as in SESAM.

반환값

Returns the name of a field in the result set, or FALSE on error.

For "immediate" queries, or for dynamic columns, an empty string is returned.

참고

sesam_field_array(). It provides an easier interface to access the column names and types, and allows for detection of "multiple fields".

이전 | 위로 | 다음
sesam_field_array | 처음으로 | sesam_free_result


sesam_free_result

(No version information available, might be only in CVS)

sesam_free_result -- Releases resources for the query

설명

bool sesam_free_result ( string $result_id )

Releases resources for the query.

매개변수

result_id

A valid result id returned by sesam_query().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
sesam_field_name | 처음으로 | sesam_num_fields


sesam_num_fields

(No version information available, might be only in CVS)

sesam_num_fields -- Return the number of fields/columns in a result set

설명

int sesam_num_fields ( string $result_id )

After calling sesam_query() with a "select type" query, this function gives you the number of columns in the result.

For "immediate" statements, the value zero is returned. The SESAM "multiple field" columns count as their respective dimension, i.e., a three-column "multiple field" counts as three columns.

매개변수

result_id

A valid result id returned by sesam_query().

반환값

Returns an integer describing the total number of columns (aka. fields) in the current result_id result set or FALSE on error.

참고

sesam_query()
sesam_field_array() for a way to distinguish between "multiple field" columns and regular columns.

이전 | 위로 | 다음
sesam_free_result | 처음으로 | sesam_query


sesam_query

(No version information available, might be only in CVS)

sesam_query -- Perform a SESAM SQL query and prepare the result

설명

string sesam_query ( string $query [, bool $scrollable] )

sesam_query() sends a query to the currently active database on the server. It can execute both "immediate" SQL statements and "select type" queries. If an "immediate" statement is executed, then no cursor is allocated, and any subsequent sesam_fetch_row() or sesam_fetch_result() call will return an empty result (zero columns, indicating end-of-result).

When using "scrollable" cursors, the cursor can be freely positioned on the result set. For each "scrollable" query, there are global default values for the scrolling type (initialized to: SESAM_SEEK_NEXT) and the scrolling offset which can either be set once by sesam_seek_row() or each time when fetching a row using sesam_fetch_row().

For "immediate" statements, the number of affected rows is saved for retrieval by the sesam_affected_rows() function.

매개변수

query

The query statement.

scrollable

For "select type" statements, a result descriptor and a (scrollable or sequential, depending on the optional boolean scrollable parameter) cursor will be allocated. If scrollable is omitted, the cursor will be sequential.

반환값

Returns a SESAM "result identifier" on success, or FALSE on error. This result id is used by the other functions.

예제

예 2110. Show all rows of the "phone" table as a HTML table

<?php
if (!sesam_connect("phonedb", "demo", "otto"))
    die("cannot connect");
$result = sesam_query("select * from phone");
if (!$result) {
    $err = sesam_diagnostic();
    die ($err["errmsg"]);
}
echo "<table border>\n";
// Add title header with column names above the result:
if ($cols = sesam_field_array($result)) {
    echo "<tr><th colspan=" . $cols["count"] . ">Result:</th></tr>\n";
    echo "<tr>\n";
    for ($col = 0; $col < $cols["count"]; ++$col) {
        $colattr = $cols[$col];
        /* Span the table head over SESAM's "Multiple Fields": */
        if ($colattr["count"] > 1) {
            echo "<th colspan=\"" . $colattr["count"] . "\">" . $colattr["name"] .
                "(1.." . $colattr["count"] . ")</th>\n";
            $col += $colattr["count"] - 1;
        } else
            echo "<th>" . $colattr["name"] . "</th>\n";
    }
    echo "</tr>\n";
}

do {
    // Fetch the result in chunks of 100 rows max.
    $ok = sesam_fetch_result($result, 100);
    for ($row=0; $row < $ok["rows"]; ++$row) {
        echo " <tr>\n";
        for ($col = 0; $col < $ok["cols"]; ++$col) {
            if (isset($ok[$col][$row])) {
                echo "<td>" . $ok[$col][$row] . "</td>\n";
            } else {
                echo "<td>-empty-</td>\n";
            }
        }
        echo "</tr>\n";
    }
} while ($ok["truncated"]); // while there may be more data

echo "</table>\n";
// free result id
sesam_free_result($result);
?>

참고

sesam_fetch_row()
sesam_fetch_result()

이전 | 위로 | 다음
sesam_num_fields | 처음으로 | sesam_rollback


sesam_rollback

(No version information available, might be only in CVS)

sesam_rollback -- Discard any pending updates to the SESAM database

설명

bool sesam_rollback ( void )

sesam_rollback() discards any pending updates to the database. Also affected are result cursors and result descriptors.

At the end of each script, and as part of the sesam_disconnect() function, an implied sesam_rollback() is executed, discarding any pending changes to the database.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2111. Discarding an update to the SESAM database

<?php
if (sesam_connect ("mycatalog", "myschema", "otto")) {
    if (sesam_execimm ("INSERT INTO mytable VALUES (*, 'Small Test', <0, 8, 15>)")
        && sesam_execimm ("INSERT INTO othertable VALUES (*, 'Another Test', 1)")) {
        sesam_commit();
    } else {
        sesam_rollback();
    }
}
?>

참고

sesam_commit()

이전 | 위로 | 다음
sesam_query | 처음으로 | sesam_seek_row


sesam_seek_row

(No version information available, might be only in CVS)

sesam_seek_row -- Set scrollable cursor mode for subsequent fetches

설명

bool sesam_seek_row ( string $result_id, int $whence [, int $offset] )

Sets the scrollable cursor mode for subsequent fetches.

매개변수

result_id

result_id is a valid result id (select type queries only, and only if a "scrollable" cursor was requested when calling sesam_query()).

whence

whence sets the global default value for the scrolling type, it specifies the scroll type to use in subsequent fetch operations on "scrollable" cursors, which can be set to the following predefined constants:

표 281. Valid values for whence

Value | Constant | Meaning
0 | SESAM_SEEK_NEXT | read sequentially
1 | SESAM_SEEK_PRIOR | read sequentially backwards
2 | SESAM_SEEK_FIRST | fetch first row (after fetch, the default is set to SESAM_SEEK_NEXT)
3 | SESAM_SEEK_LAST | fetch last row (after fetch, the default is set to SESAM_SEEK_PRIOR)
4 | SESAM_SEEK_ABSOLUTE | fetch absolute row number given as offset (Zero-based. After fetch, the default is set to SESAM_SEEK_ABSOLUTE, and the offset value is auto-incremented)
5 | SESAM_SEEK_RELATIVE | fetch relative to current scroll position, where offset can be a positive or negative offset value (this also sets the default "offset" value for subsequent fetches).

offset

An optional parameter which is only evaluated (and required) if whence is either SESAM_SEEK_RELATIVE or SESAM_SEEK_ABSOLUTE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
sesam_rollback | 처음으로 | sesam_settransaction


sesam_settransaction

(No version information available, might be only in CVS)

sesam_settransaction -- Set SESAM transaction parameters

설명

bool sesam_settransaction ( int $isolation_level, int $read_only )

Overrides the default values for the isolation level and read-only transaction parameters (which are set in the SESAM configuration file), in order to optimize subsequent queries and guarantee database consistency. The overridden values are used for the next transaction only. See the SESAM handbook for detailed explanation of the semantics.

This function can only be called before starting a transaction, not after the transaction has been started already.

The values set by sesam_settransaction() will override the default setting specified in the SESAM configuration file.

매개변수

isolation_level

표 282. Valid values for isolation_level parameter

Value | Constant | Meaning
1 | SESAM_TXISOL_READ_UNCOMMITTED | Read Uncommitted
2 | SESAM_TXISOL_READ_COMMITTED | Read Committed
3 | SESAM_TXISOL_REPEATABLE_READ | Repeatable Read
4 | SESAM_TXISOL_SERIALIZABLE | Serializable

read_only

표 283. Valid values for read_only parameter

Value | Constant | Meaning
0 | SESAM_TXREAD_READWRITE | Read/Write
1 | SESAM_TXREAD_READONLY | Read-Only

반환값

Returns TRUE if the values are valid, and the settransaction operation was successful, FALSE otherwise.

예제

예 2112. Setting SESAM transaction parameters

<?php
sesam_settransaction (SESAM_TXISOL_REPEATABLE_READ,
                     SESAM_TXREAD_READONLY);
?>

이전 | 위로 | 다음
sesam_seek_row | 처음으로 | CXLVIII. PostgreSQL Session Save Handler


Session Handling Functions

이전 VI. 함수 레퍼런스 다음

CXLIX. Session Handling Functions

소개

Session support in PHP consists of a way to preserve certain data across subsequent accesses. This enables you to build more customized applications and increase the appeal of your web site.

A visitor accessing your web site is assigned a unique id, the so-called session id. This is either stored in a cookie on the user side or is propagated in the URL.

The session support allows you to register arbitrary numbers of variables to be preserved across requests. When a visitor accesses your site, PHP will check automatically (if session.auto_start is set to 1) or on your request (explicitly through session_start() or implicitly through session_register()) whether a specific session id has been sent with the request. If this is the case, the prior saved environment is recreated.

경고

If you do turn on session.auto_start then you cannot put objects into your sessions since the class definition has to be loaded before starting the session in order to recreate the objects in your session.

All registered variables are serialized after the request finishes. Registered variables which are undefined are marked as being not defined. On subsequent accesses, these are not defined by the session module unless the user defines them later.

주의

Some types of data can not be serialized thus stored in sessions. It includes resource variables or objects with circular references (i.e. objects which passes a reference to itself to another object).

참고: Session handling was added in PHP 4.0.0.

참고: Please note when working with sessions that a record of a session is not created until a variable has been registered using the session_register() function or by adding a new key to the $_SESSION superglobal array. This holds true regardless of if a session has been started using the session_start() function.

Sessions and security

External links: » Session fixation

The session module cannot guarantee that the information you store in a session is only viewed by the user who created the session. You need to take additional measures to actively protect the integrity of the session, depending on the value associated with it.

Assess the importance of the data carried by your sessions and deploy additional protections -- this usually comes at a price, reduced convenience for the user. For example, if you want to protect users from simple social engineering tactics, you need to enable session.use_only_cookies. In that case, cookies must be enabled unconditionally on the user side, or sessions will not work.

There are several ways to leak an existing session id to third parties. A leaked session id enables the third party to access all resources which are associated with a specific id. First, URLs carrying session ids. If you link to an external site, the URL including the session id might be stored in the external site's referrer logs. Second, a more active attacker might listen to your network traffic. If it is not encrypted, session ids will flow in plain text over the network. The solution here is to implement SSL on your server and make it mandatory for users.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

참고: Optionally you can use shared memory allocation (mm), developed by Ralf S. Engelschall, for session storage. You have to download » mm and install it. This option is not available for Windows platforms. Note that the session storage module for mm does not guarantee that concurrent accesses to the same session are properly locked. It might be more appropriate to use a shared memory based filesystem (such as tmpfs on Solaris/Linux, or /dev/md on BSD) to store sessions in files, because they are properly locked. Session data is stored in memory thus web server restart deletes it.

설치

Session support is enabled in PHP by default. If you would not like to build your PHP with session support, you should specify the --disable-session option to configure. To use shared memory allocation (mm) for session storage configure PHP --with-mm[=DIR] .

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

참고: By default, all data related to a particular session will be stored in a file in the directory specified by the session.save_path INI option. A file for each session (regardless of if any data is associated with that session) will be created. This is due to the fact that a session is opened (a file is created) but no data is even written to that file. Note that this behavior is a side-effect of the limitations of working with the file system and it is possible that a custom session handler (such as one which uses a database) does not keep track of sessions which store no data.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 284. Session configuration options

Name | Default | Changeable | Changelog
session.save_path | "" | PHP_INI_ALL |
session.name | "PHPSESSID" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.auto_start | "0" | PHP_INI_ALL |
session.gc_probability | "1" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL | Available since PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Available since PHP 4.0.4.
session.cookie_httponly | "" | PHP_INI_ALL | Available since PHP 5.2.0.
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Available since PHP 4.3.0.
session.referer_check | "" | PHP_INI_ALL |
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cache_expire | "180" | PHP_INI_ALL |
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.2.3. PHP_INI_PERDIR in PHP < 5. Available since PHP 4.0.3.
session.bug_compat_42 | "1" | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 6.0.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 6.0.0.
session.hash_function | "0" | PHP_INI_ALL | Available since PHP 5.0.0.
session.hash_bits_per_character | "4" | PHP_INI_ALL | Available since PHP 5.0.0.
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Available since PHP 4.0.4.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

The session management system supports a number of configuration options which you can place in your php.ini file. We will give a short overview.

session.save_handler string
session.save_handler defines the name of the handler which is used for storing and retrieving data associated with a session. Defaults to files. Note that individual extensions may register their own save_handlers; registered handlers can be obtained on a per-installation basis by referring to phpinfo(). See also session_set_save_handler().
session.save_path string

session.save_path defines the argument which is passed to the save handler. If you choose the default files handler, this is the path where the files are created. See also session_save_path().

There is an optional N argument to this directive that determines the number of directory levels your session files will be spread around in. For example, setting to '5;/tmp' may end up creating a session file and location like /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If . In order to use N you must create all of these directories before use. A small shell script exists in ext/session to do this, it's called mod_files.sh. Also note that if N is used and greater than 0 then automatic garbage collection will not be performed, see a copy of php.ini for further information. Also, if you use N, be sure to surround session.save_path in "quotes" because the separator (;) is also used for comments in php.ini.

주의

If you leave this set to a world-readable directory, such as /tmp (the default), other users on the server may be able to hijack sessions by getting the list of files in that directory.

참고: Prior to PHP 4.3.6, Windows users had to change this variable in order to use PHP's session functions. A valid path must be specified, e.g.: c:/temp.

session.name string
session.name specifies the name of the session which is used as cookie name. It should only contain alphanumeric characters. Defaults to PHPSESSID. See also session_name().
session.auto_start boolean
session.auto_start specifies whether the session module starts a session automatically on request startup. Defaults to 0 (disabled).
session.serialize_handler string
session.serialize_handler defines the name of the handler which is used to serialize/deserialize data. Currently, a PHP internal format (name php or php_binary) and WDDX are supported (name wddx). WDDX is only available, if PHP is compiled with WDDX support. Defaults to php.
session.gc_probability integer
session.gc_probability in conjunction with session.gc_divisor is used to manage probability that the gc (garbage collection) routine is started. Defaults to 1. See session.gc_divisor for details.
session.gc_divisor integer
session.gc_divisor coupled with session.gc_probability defines the probability that the gc (garbage collection) process is started on every session initialization. The probability is calculated by using gc_probability/gc_divisor, e.g. 1/100 means there is a 1% chance that the GC process starts on each request. session.gc_divisor defaults to 100.
session.gc_maxlifetime integer

session.gc_maxlifetime specifies the number of seconds after which data will be seen as 'garbage' and cleaned up. Garbage collection occurs during session start.

참고: If different scripts have different values of session.gc_maxlifetime but share the same place for storing the session data then the script with the minimum value will be cleaning the data. In this case, use this directive together with session.save_path.

참고: If you are using the default file-based session handler, your filesystem must keep track of access times (atime). Windows FAT does not so you will have to come up with another way to handle garbage collecting your session if you are stuck with a FAT filesystem or any other filesystem where atime tracking is not available. Since PHP 4.2.3 it has used mtime (modified date) instead of atime. So, you won't have problems with filesystems where atime tracking is not available.

session.referer_check string
session.referer_check contains the substring you want to check each HTTP Referer for. If the Referer was sent by the client and the substring was not found, the embedded session id will be marked as invalid. Defaults to the empty string.
session.entropy_file string
session.entropy_file gives a path to an external resource (file) which will be used as an additional entropy source in the session id creation process. Examples are /dev/random or /dev/urandom which are available on many Unix systems.
session.entropy_length integer
session.entropy_length specifies the number of bytes which will be read from the file specified above. Defaults to 0 (disabled).
session.use_cookies boolean
session.use_cookies specifies whether the module will use cookies to store the session id on the client side. Defaults to 1 (enabled).
session.use_only_cookies boolean
session.use_only_cookies specifies whether the module will only use cookies to store the session id on the client side. Enabling this setting prevents attacks involved passing session ids in URLs. This setting was added in PHP 4.3.0. Defaults to 1 (enabled) since PHP 6.0.
session.cookie_lifetime integer

session.cookie_lifetime specifies the lifetime of the cookie in seconds which is sent to the browser. The value 0 means "until the browser is closed." Defaults to 0. See also session_get_cookie_params() and session_set_cookie_params().

참고: The expiration timestamp is set relative to the server time, which is not necessarily the same as the time in the client's browser.

session.cookie_path string
session.cookie_path specifies path to set in session_cookie. Defaults to /. See also session_get_cookie_params() and session_set_cookie_params().
session.cookie_domain string
session.cookie_domain specifies the domain to set in session_cookie. Default is none at all meaning the host name of the server which generated the cookie according to cookies specification. See also session_get_cookie_params() and session_set_cookie_params().
session.cookie_secure boolean
session.cookie_secure specifies whether cookies should only be sent over secure connections. Defaults to off. This setting was added in PHP 4.0.4. See also session_get_cookie_params() and session_set_cookie_params().
session.cookie_httponly boolean
Marks the cookie as accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. This setting can effectively help to reduce identity theft through XSS attacks (although it is not supported by all browsers).
session.cache_limiter string
session.cache_limiter specifies cache control method to use for session pages (none/nocache/private/private_no_expire/public). Defaults to nocache. See also session_cache_limiter().
session.cache_expire integer
session.cache_expire specifies time-to-live for cached session pages in minutes, this has no effect for nocache limiter. Defaults to 180. See also session_cache_expire().
session.use_trans_sid boolean

session.use_trans_sid whether transparent sid support is enabled or not. Defaults to 0 (disabled).

참고: For PHP 4.1.2 or less, it is enabled by compiling with --enable-trans-sid. From PHP 4.2.0, trans-sid feature is always compiled.

URL based session management has additional security risks compared to cookie based session management. Users may send a URL that contains an active session ID to their friends by email or users may save a URL that contains a session ID to their bookmarks and access your site with the same session ID always, for example.

session.bug_compat_42 boolean
PHP versions 4.2.3 and lower have an undocumented feature/bug that allows you to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used, and if session.bug_compat_warn is also enabled. This feature/bug can be disabled by disabling this directive.
session.bug_compat_warn boolean
PHP versions 4.2.3 and lower have an undocumented feature/bug that allows you to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used by enabling both session.bug_compat_42 and session.bug_compat_warn.
session.hash_function mixed

session.hash_function allows you to specify the hash algorithm used to generate the session IDs. '0' means MD5 (128 bits) and '1' means SHA-1 (160 bits).

Since PHP 6.0.0 it is also possible to specify any of the algorithms provided by the hash extension (if it is available), like sha512 or whirlpool. A complete list of supported algorithms can be obtained with the hash_algos() function.

참고: This was introduced in PHP 5.

session.hash_bits_per_character integer

session.hash_bits_per_character allows you to define how many bits are stored in each character when converting the binary hash data to something readable. The possible values are '4' (0-9, a-f), '5' (0-9, a-v), and '6' (0-9, a-z, A-Z, "-", ",").

참고: This was introduced in PHP 5.

url_rewriter.tags string

url_rewriter.tags specifies which HTML tags are rewritten to include session id if transparent sid support is enabled. Defaults to a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=

참고: If you want HTML/XHTML strict conformity, remove the form entry and use the <fieldset> tags around your form fields.

The track_vars and register_globals configuration settings influence how the session variables get stored and restored.

참고: As of PHP 4.0.3, track_vars is always turned on.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

SID (string)
Constant containing either the session name and session ID in the form of "name=ID" or empty string if session ID was set in an appropriate session cookie.

예제

참고: As of PHP 4.1.0, $_SESSION is available as a global variable just like $_POST, $_GET, $_REQUEST and so on. Unlike $HTTP_SESSION_VARS, $_SESSION is always global. Therefore, you do not need to use the global keyword for $_SESSION. Please note that this documentation has been changed to use $_SESSION everywhere. You can substitute $HTTP_SESSION_VARS for $_SESSION, if you prefer the former. Also note that you must start your session using session_start() before use of $_SESSION becomes available.

The keys in the $_SESSION associative array are subject to the same limitations as regular variable names in PHP, i.e. they cannot start with a number and must start with a letter or underscore. For more details see the section on variables in this manual.

If register_globals is disabled, only members of the global associative array $_SESSION can be registered as session variables. The restored session variables will only be available in the array $_SESSION.

Use of $_SESSION (or $HTTP_SESSION_VARS with PHP 4.0.6 or less) is recommended for improved security and code readability. With $_SESSION, there is no need to use the session_register(), session_unregister(), session_is_registered() functions. Session variables are accessible like any other variables.

예 2113. Registering a variable with $_SESSION.

<?php
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
} else {
    $_SESSION['count']++;
}
?>

예 2114. Unregistering a variable with $_SESSION and register_globals disabled.

<?php
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
unset($_SESSION['count']);
?>

경고

Do NOT unset the whole $_SESSION with unset($_SESSION) as this will disable the registering of session variables through the $_SESSION superglobal.

주의

You can't use references in session variables as there is no feasible way to restore a reference to another variable.

If register_globals is enabled, then each global variable can be registered as session variable. Upon a restart of a session, these variables will be restored to corresponding global variables. Since PHP must know which global variables are registered as session variables, users need to register variables with session_register() function. You can avoid this by simply setting entries in $_SESSION.

경고

Before PHP 4.3.0, if you are using $_SESSION and you have disabled register_globals, don't use session_register(), session_is_registered() or session_unregister(). Disabling register_globals is recommended for both security and performance reasons.

If register_globals is enabled, then the global variables and the $_SESSION entries will automatically reference the same values which were registered in the prior session instance. However, if the variable is registered by $_SESSION then the global variable is available since the next request.

There is a defect in PHP 4.2.3 and earlier. If you register a new session variable by using session_register(), the entry in the global scope and the $_SESSION entry will not reference the same value until the next session_start(). I.e. a modification to the newly registered global variable will not be reflected by the $_SESSION entry. This has been corrected in PHP 4.3.0.

Passing the Session ID

There are two methods to propagate a session id:

  • Cookies
  • URL parameter

The session module supports both methods. Cookies are optimal, but because they are not always available, we also provide an alternative way. The second method embeds the session id directly into URLs.

PHP is capable of transforming links transparently. Unless you are using PHP 4.2.0 or later, you need to enable it manually when building PHP. Under Unix, pass --enable-trans-sid to configure. If this build option and the run-time option session.use_trans_sid are enabled, relative URIs will be changed to contain the session id automatically.

참고: The arg_separator.output php.ini directive allows to customize the argument seperator. For full XHTML conformance, specify &amp; there.

Alternatively, you can use the constant SID which is defined if the session started. If the client did not send an appropriate session cookie, it has the form session_name=session_id. Otherwise, it expands to an empty string. Thus, you can embed it unconditionally into URLs.

The following example demonstrates how to register a variable, and how to link correctly to another page using SID.

예 2115. Counting the number of hits of a single user

<?php

session_start();

if (empty($_SESSION['count'])) {
   $_SESSION['count'] = 1;
} else {
   $_SESSION['count']++;
}
?>

<p>
Hello visitor, you have seen this page <?php echo $_SESSION['count']; ?> times.
</p>

<p>
To continue, <a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">click
here</a>.
</p>

The htmlspecialchars() may be used when printing the SID in order to prevent XSS related attacks.

Printing the SID, like shown above, is not necessary if --enable-trans-sid was used to compile PHP.

참고: Non-relative URLs are assumed to point to external sites and hence don't append the SID, as it would be a security risk to leak the SID to a different server.

Custom Session Handlers

To implement database storage, or any other storage method, you will need to use session_set_save_handler() to create a set of user-level storage functions.

차례

session_cache_expire -- Return current cache expire
session_cache_limiter -- Get and/or set the current cache limiter
session_commit -- Alias of session_write_close()
session_decode -- Decodes session data from a string
session_destroy -- Destroys all data registered to a session
session_encode -- Encodes the current session data as a string
session_get_cookie_params -- Get the session cookie parameters
session_id -- Get and/or set the current session id
session_is_registered -- Find out whether a global variable is registered in a session
session_module_name -- Get and/or set the current session module
session_name -- Get and/or set the current session name
session_regenerate_id -- Update the current session id with a newly generated one
session_register -- Register one or more global variables with the current session
session_save_path -- Get and/or set the current session save path
session_set_cookie_params -- Set the session cookie parameters
session_set_save_handler -- Sets user-level session storage functions
session_start -- Initialize session data
session_unregister -- Unregister a global variable from the current session
session_unset -- Free all session variables
session_write_close -- Write session data and end session
이전 | 위로 | 다음
session_pgsql_status | 처음으로 | session_cache_expire


session_cache_expire

(PHP 4 >= 4.2.0, PHP 5)

session_cache_expire -- Return current cache expire

설명

int session_cache_expire ( [int $new_cache_expire] )

session_cache_expire() returns the current setting of session.cache_expire.

The cache expire is reset to the default value of 180 stored in session.cache_limiter at request startup time. Thus, you need to call session_cache_expire() for every request (and before session_start() is called).

매개변수

new_cache_expire

If new_cache_expire is given, the current cache expire is replaced with new_cache_expire.

참고: Setting new_cache_expire is of value only, if session.cache_limiter is set to a value different from nocache.

반환값

Returns the current setting of session.cache_expire. The value returned should be read in minutes, defaults to 180.

예제

예 2116. session_cache_expire() example

<?php

/* set the cache limiter to 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* set the cache expire to 30 minutes */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* start the session */

session_start();

echo "The cache limiter is now set to $cache_limiter<br />";
echo "The cached session pages expire after $cache_expire minutes";
?>

참고

session.cache_expire
session.cache_limiter
session_cache_limiter()

이전 | 위로 | 다음
CXLIX. Session Handling Functions | 처음으로 | session_cache_limiter


session_cache_limiter

(PHP 4 >= 4.0.3, PHP 5)

session_cache_limiter -- Get and/or set the current cache limiter

설명

string session_cache_limiter ( [string $cache_limiter] )

session_cache_limiter() returns the name of the current cache limiter.

The cache limiter defines which cache control HTTP headers are sent to the client. These headers determine the rules by which the page content may be cached by the client and intermediate proxies. Setting the cache limiter to nocache disallows any client/proxy caching. A value of public permits caching by proxies and the client, whereas private disallows caching by proxies and permits the client to cache the contents.

In private mode, the Expire header sent to the client may cause confusion for some browsers, including Mozilla. You can avoid this problem by using private_no_expire mode. The expire header is never sent to the client in this mode.

The cache limiter is reset to the default value stored in session.cache_limiter at request startup time. Thus, you need to call session_cache_limiter() for every request (and before session_start() is called).

매개변수

cache_limiter

If cache_limiter is specified, the name of the current cache limiter is changed to the new value.

반환값

Returns the name of the current cache limiter.

변경 기록

버전 | 설명
4.2.0 | The private_no_expire cache limiter was added.

예제

예 2117. session_cache_limiter() example

<?php

/* set the cache limiter to 'private' */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

echo "The cache limiter is now set to $cache_limiter<br />";
?>

참고

session.cache_limiter

이전 | 위로 | 다음
session_cache_expire | 처음으로 | session_commit


session_commit

(PHP 4 >= 4.4.0, PHP 5)

session_commit -- Alias of session_write_close()

설명

이 함수는 다음 함수의 alias입니다: session_write_close().

이전 | 위로 | 다음
session_cache_limiter | 처음으로 | session_decode


session_decode

(PHP 4, PHP 5)

session_decode -- Decodes session data from a string

설명

bool session_decode ( string $data )

session_decode() decodes the session data in data, setting variables stored in the session.

매개변수

data

The encoded data to be stored.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

session_encode()

이전 | 위로 | 다음
session_commit | 처음으로 | session_destroy


session_destroy

(PHP 4, PHP 5)

session_destroy -- Destroys all data registered to a session

설명

bool session_destroy ( void )

session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie.

In order to kill the session altogether, like to log the user out, the session id must also be unset. If a cookie is used to propagate the session id (default behavior), then the session cookie must be deleted. setcookie() may be used for that.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2118. Destroying a session with $_SESSION

<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}

// Finally, destroy the session.
session_destroy();
?>

주의

참고: Only use session_unset() for older deprecated code that does not use $_SESSION.

참고

unset()
setcookie()

이전 | 위로 | 다음
session_decode | 처음으로 | session_encode


session_encode

(PHP 4, PHP 5)

session_encode -- Encodes the current session data as a string

설명

string session_encode ( void )

session_encode() returns a string with the contents of the current session encoded within.

반환값

Returns the contents of the current session encoded.

참고

session_decode()

이전 | 위로 | 다음
session_destroy | 처음으로 | session_get_cookie_params


session_get_cookie_params

(PHP 4, PHP 5)

session_get_cookie_params -- Get the session cookie parameters

설명

array session_get_cookie_params ( void )

Gets the session cookie parameters.

반환값

Returns an array with the current session cookie information, the array contains the following items:

  • "lifetime" - The lifetime of the cookie in seconds.
  • "path" - The path where information is stored.
  • "domain" - The domain of the cookie.
  • "secure" - The cookie should only be sent over secure connections.
  • "httponly" - The cookie can only be accessed through the HTTP protocol.

변경 기록

버전 | 설명
5.2.0 | The "httponly" entry was added in the returned array?
4.0.4 | The "secure" entry was added in the returned array?

참고

session.cookie_lifetime
session.cookie_path
session.cookie_domain
session.cookie_secure
session.cookie_httponly
session.cookie_lifetime
session_set_cookie_params()

이전 | 위로 | 다음
session_encode | 처음으로 | session_id


session_id

(PHP 4, PHP 5)

session_id -- Get and/or set the current session id

설명

string session_id ( [string $id] )

session_id() is used to get or set the session id for the current session.

The constant SID can also be used to retrieve the current name and session id as a string suitable for adding to URLs. See also Session handling.

매개변수

id

If id is specified, it will replace the current session id. session_id() needs to be called before session_start() for that purpose. Depending on the session handler, not all characters are allowed within the session id. For example, the file session handler only allows characters in the range a-z, A-Z and 0-9!

참고: When using session cookies, specifying an id for session_id() will always send a new cookie when session_start() is called, regardless if the current session id is identical to the one being set.

반환값

session_id() returns the session id for the current session or the empty string ("") if there is no current session (no current session id exists).

참고

session_regenerate_id()
session_start()
session_set_save_handler()
session.save_handler

이전 | 위로 | 다음
session_get_cookie_params | 처음으로 | session_is_registered


session_is_registered

(PHP 4, PHP 5)

session_is_registered -- Find out whether a global variable is registered in a session

설명

bool session_is_registered ( string $name )

Finds out whether a global variable is registered in a session.

매개변수

name

The variable name.

반환값

session_is_registered() returns TRUE if there is a global variable with the name name registered in the current session, FALSE otherwise.

주의

참고: If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use isset() to check a variable is registered in $_SESSION.

경고

If you are using $_SESSION
(or $HTTP_SESSION_VARS), do not use
session_register(),
session_is_registered() and
session_unregister().

이전 | 위로 | 다음
session_id | 처음으로 | session_module_name


session_module_name

(PHP 4, PHP 5)

session_module_name -- Get and/or set the current session module

설명

string session_module_name ( [string $module] )

session_module_name() gets the name of the current session module.

매개변수

module

If module is specified, that module will be used instead.

반환값

Returns the name of the current session module.

이전 | 위로 | 다음
session_is_registered | 처음으로 | session_name


session_name

(PHP 4, PHP 5)

session_name -- Get and/or set the current session name

설명

string session_name ( [string $name] )

session_name() returns the name of the current session.

The session name is reset to the default value stored in session.name at request startup time. Thus, you need to call session_name() for every request (and before session_start() or session_register() are called).

매개변수

name

The session name references the session id in cookies and URLs. It should contain only alphanumeric characters; it should be short and descriptive (i.e. for users with enabled cookie warnings). If name is specified, the name of the current session is changed to its value.

주의

The session name can't consist of digits only, at least one letter must be present. Otherwise a new session id is generated every time.

반환값

Returns the name of the current session.

예제

예 2119. session_name() example

<?php

/* set the session name to WebsiteID */

$previous_name = session_name("WebsiteID");

echo "The previous session name was $previous_name<br />";
?>

참고

The session.name configuration directive

이전 | 위로 | 다음
session_module_name | 처음으로 | session_regenerate_id


session_regenerate_id

(PHP 4 >= 4.3.2, PHP 5)

session_regenerate_id -- Update the current session id with a newly generated one

설명

bool session_regenerate_id ( [bool $delete_old_session] )

session_regenerate_id() will replace the current session id with a new one, and keep the current session information.

매개변수

delete_old_session

Whether to delete the old associated session file or not. Defaults to FALSE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
4.3.3 | Since then, if session cookies are enabled, use of session_regenerate_id() will also submit a new session cookie with the new session id.
5.1.0 | Added the delete_old_session parameter.

예제

예 2120. A session_regenerate_id() example

<?php
session_start();

$old_sessionid = session_id();

session_regenerate_id();

$new_sessionid = session_id();

echo "Old Session: $old_sessionid<br />";
echo "New Session: $new_sessionid<br />";

print_r($_SESSION);
?>

참고

session_id()
session_start()
session_name()

이전 | 위로 | 다음
session_name | 처음으로 | session_register


session_register

(PHP 4, PHP 5)

session_register -- Register one or more global variables with the current session

설명

bool session_register ( mixed $name [, mixed $...] )

session_register() accepts a variable number of arguments, any of which can be either a string holding the name of a variable or an array consisting of variable names or other arrays. For each name, session_register() registers the global variable with that name in the current session.

You can also create a session variable by simply setting the appropriate member of the $_SESSION or $HTTP_SESSION_VARS (PHP < 4.1.0) array.

<?php
// Use of session_register() is deprecated
$barney = "A big purple dinosaur.";
session_register("barney");

// Use of $_SESSION is preferred, as of PHP 4.1.0
$_SESSION["zim"] = "An invader from another planet.";

// The old way was to use $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>

If session_start() was not called before this function is called, an implicit call to session_start() with no parameters will be made. $_SESSION does not mimic this behavior and requires session_start() before use.

매개변수

name

A string holding the name of a variable or an array consisting of variable names or other arrays.

...

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

경고

If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.

register_globals: 중요 경고: PHP 4.2.0부터 PHP 지시어 register_globals의 기본값은 off이고, PHP 6.0.0에서 완전히 사라집니다. PHP 커뮤니티에서는 이 지시어에 의존하지 않는 superglobals 방식의 사용을 권합니다.

경고

This registers a global variable. If you want to register a session variable from within a function, you need to make sure to make it global using the global keyword or the $GLOBALS[] array, or use the special session arrays as noted below.

경고

If you are using $_SESSION
(or $HTTP_SESSION_VARS), do not use
session_register(),
session_is_registered(), and
session_unregister().

참고: It is currently impossible to register resource variables in a session. For example, you cannot create a connection to a database and store the connection id as a session variable and expect the connection to still be valid the next time the session is restored. PHP functions that return a resource are identified by having a return type of resource in their function definition. A list of functions that return resources are available in the resource types appendix.

If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, assign values to $_SESSION. For example: $_SESSION['var'] = 'ABC';

참고

session_is_registered()
session_unregister()
$_SESSION

이전 | 위로 | 다음
session_regenerate_id | 처음으로 | session_save_path


session_save_path

(PHP 4, PHP 5)

session_save_path -- Get and/or set the current session save path

설명

string session_save_path ( [string $path] )

session_save_path() returns the path of the current directory used to save session data.

매개변수

path

Session data path. If specified, the path to which data is saved will be changed. session_save_path() needs to be called before session_start() for that purpose.

참고: On some operating systems, you may want to specify a path on a filesystem that handles lots of small files efficiently. For example, on Linux, reiserfs may provide better performance than ext2fs.

반환값

Returns the path of the current directory used for data storage.

참고

The session.save_path configuration directive

이전 | 위로 | 다음
session_register | 처음으로 | session_set_cookie_params


session_set_cookie_params

(PHP 4, PHP 5)

session_set_cookie_params -- Set the session cookie parameters

설명

void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure [, bool $httponly]]]] )

Set cookie parameters defined in the php.ini file. The effect of this function only lasts for the duration of the script. Thus, you need to call session_set_cookie_params() for every request and before session_start() is called.

매개변수

lifetime

path

domain

secure

httponly

반환값

값을 반환하지 않습니다.

변경 기록

버전 | 설명
5.2.0 | The httponly parameter was added.
4.0.4 | The secure parameter was added.

참고

session.cookie_lifetime
session.cookie_domain
session.cookie_secure
session.cookie_httponly
session_get_cookie_params()

이전 | 위로 | 다음
session_save_path | 처음으로 | session_set_save_handler


session_set_save_handler

(PHP 4, PHP 5)

session_set_save_handler -- Sets user-level session storage functions

설명

bool session_set_save_handler ( callback $open, callback $close, callback $read, callback $write, callback $destroy, callback $gc )

session_set_save_handler() sets the user-level session storage functions which are used for storing and retrieving data associated with a session. This is most useful when a storage method other than those supplied by PHP sessions is preferred. i.e. Storing the session data in a local database.

매개변수

open

close

read

Read function must return string value always to make save handler work as expected. Return empty string if there is no data to read. Return values from other handlers are converted to boolean expression. TRUE for success, FALSE for failure.

write

참고: The "write" handler is not executed until after the output stream is closed. Thus, output from debugging statements in the "write" handler will never be seen in the browser. If debugging output is necessary, it is suggested that the debug output be written to a file instead.

destroy

gc

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2121. session_set_save_handler() example

The following example provides file based session storage similar to the PHP sessions default save handler files. This example could easily be extended to cover database storage using your favorite PHP supported database engine.

<?php
function open($save_path, $session_name)
{
  global $sess_save_path;

  $sess_save_path = $save_path;
  return(true);
}

function close()
{
  return(true);
}

function read($id)
{
  global $sess_save_path;

  $sess_file = "$sess_save_path/sess_$id";
  return (string) @file_get_contents($sess_file);
}

function write($id, $sess_data)
{
  global $sess_save_path;

  $sess_file = "$sess_save_path/sess_$id";
  if ($fp = @fopen($sess_file, "w")) {
    $return = fwrite($fp, $sess_data);
    fclose($fp);
    return $return;
  } else {
    return(false);
  }

}

function destroy($id)
{
  global $sess_save_path;

  $sess_file = "$sess_save_path/sess_$id";
  return(@unlink($sess_file));
}

function gc($maxlifetime)
{
  global $sess_save_path;

  foreach (glob("$sess_save_path/sess_*") as $filename) {
    if (filemtime($filename) + $maxlifetime < time()) {
      @unlink($filename);
    }
  }
  return true;
}

session_set_save_handler("open", "close", "read", "write", "destroy", "gc");

session_start();

// proceed to use sessions normally

?>

주의

주의

As of PHP 5.0.5 the write and close handlers are called after object destruction and therefore cannot use objects or throw exceptions. The object destructors can however use sessions.

It is possible to call session_write_close() from the destructor to solve this chicken and egg problem.

주의

Current working directory is changed with some SAPIs if session is closed in the script termination. It is possible to close the session earlier with session_write_close().

참고

The session.save_handler configuration directive

이전 | 위로 | 다음
session_set_cookie_params | 처음으로 | session_start


session_start

(PHP 4, PHP 5)

session_start -- Initialize session data

설명

bool session_start ( void )

session_start() creates a session or resumes the current one based on the current session id that's being passed via a request, such as GET, POST, or a cookie.

If you want to use a named session, you must call session_name() before calling session_start().

session_start() will register internal output handler for URL rewriting when trans-sid is enabled. If a user uses ob_gzhandler or like with ob_start(), the order of output handler is important for proper output. For example, user must register ob_gzhandler before session start.

반환값

This function always returns TRUE.

변경 기록

버전 | 설명
4.3.3 | As of now, calling session_start() while the session has already been started will result in an error of level E_NOTICE. Also, the second session start will simply be ignored.

예제

예 2122. A session example: page1.php

<?php
// page1.php

session_start();

echo 'Welcome to page #1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';

// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

After viewing page1.php, the second page page2.php will magically contain the session data. Read the session reference for information on propagating session ids as it, for example, explains what the constant SID is all about.

예 2123. A session example: page2.php

<?php
// page2.php

session_start();

echo 'Welcome to page #2<br />';

echo $_SESSION['favcolor']; // green
echo $_SESSION['animal'];   // cat
echo date('Y m d H:i:s', $_SESSION['time']);

// You may want to use SID here, like we did in page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>

주의

참고: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

참고: Use of zlib.output_compression is recommended rather than ob_gzhandler()

참고

$_SESSION
The session.auto_start configuration directive
session_id()

이전 | 위로 | 다음
session_set_save_handler | 처음으로 | session_unregister


session_unregister

(PHP 4, PHP 5)

session_unregister -- Unregister a global variable from the current session

설명

bool session_unregister ( string $name )

session_unregister() unregisters the global variable named name from the current session.

매개변수

name

The variable name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use unset() to unregister a session variable. Do not unset() $_SESSION itself as this will disable the special function of the $_SESSION superglobal.

경고

This function does not unset the corresponding global variable for name, it only prevents the variable from being saved as part of the session. You must call unset() to remove the corresponding global variable.

경고

If you are using $_SESSION (or
$HTTP_SESSION_VARS), do not use
session_register(),
session_is_registered() and
session_unregister().

이전 | 위로 | 다음
session_start | 처음으로 | session_unset


session_unset

(PHP 4, PHP 5)

session_unset -- Free all session variables

설명

void session_unset ( void )

The session_unset() function frees all session variables currently registered.

반환값

값을 반환하지 않습니다.

주의

참고: If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use unset() to unregister a session variable, i.e. unset ($_SESSION['varname']);.

경고

Do NOT unset the whole $_SESSION with unset($_SESSION) as this will disable the registering of session variables through the $_SESSION superglobal.

이전 | 위로 | 다음
session_unregister | 처음으로 | session_write_close


session_write_close

(PHP 4 >= 4.0.4, PHP 5)

session_write_close -- Write session data and end session

설명

void session_write_close ( void )

End the current session and store session data.

Session data is usually stored after your script terminated without the need to call session_write_close(), but as session data is locked to prevent concurrent writes only one script may operate on a session at any time. When using framesets together with sessions you will experience the frames loading one by one due to this locking. You can reduce the time needed to load all the frames by ending the session as soon as all changes to session variables are done.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
session_unset | 처음으로 | CL. 공유 메모리 함수


공유 메모리 함수

이전 VI. 함수 레퍼런스 다음

CL. 공유 메모리 함수

Shmop는 Unix 공유 메모리 세그먼트를 php에서 읽고, 기록하고, 생성하고, 삭제하기 쉽도록 하는 함수 모음이다. 이 함수는 윈도우즈에서는 공유 메모리를 지원하지 않기 때문에 동작하지 않는다. shmop를 사용하기 위해서는 --enable-shmop 인자로 php를 컴파일해야한다.

참고: 이번 장에서는 PHP 4.0.3의 shm_() 단어로 시작되는 함수를 설명할 것이다. 그러나 PHP 4.0.4 이후 버전의 경우 shmop_()로 이름만 바뀌었다.

예 2124. 공유 메모리 작동의 개관

<?php

// Create 100 byte shared memory block with system id if 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!$shm_id) {
    echo "Couldn't create shared memory segment\n";
}

// Get shared memory block's size
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: ".$shm_size. " has been created.\n";

// Lets write a test string into shared memory
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if($shm_bytes_written != strlen("my shared memory block")) {
    echo "Couldn't write the entire length of data\n";
}

// Now lets read the string back
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
    echo "Couldn't read from shared memory block\n";
}
echo "The data inside shared memory was: ".$my_string."\n";

//Now lets delete the block and close the shared memory segment
if(!shmop_delete($shm_id)) {
    echo "Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);

?>

차례

shmop_close -- 공유 메모리 블럭을 닫음
shmop_delete -- 공유 메모리 블럭을 삭제
shmop_open -- 공유 메모리 블럭을 열거나 생성
shmop_read -- 공유 메모리 블럭으로부터 데이터를 판독
shmop_size -- 공유 메모리 블럭의 크기를 얻음
shmop_write -- 공유 메모리 블럭에 자료 기록
이전 | 위로 | 다음
session_write_close | 처음으로 | shmop_close


shmop_close

(PHP 4 >= 4.0.4, PHP 5)

shmop_close -- 공유 메모리 블럭을 닫음

설명

int shmop_close ( int $shmid )

shmop_close()는 공유 메모리 블럭을 닫는데 사용된다.

shmop_close()는 shmop_open()으로 생성된 공유 메모리 블럭 identifier인 shmid를 인자로 가진다.

예 2125. 공유 메모리 블럭 닫기

<?php
shmop_close($shm_id);
?>

위의 예제는 $shm_id 인자로 지정된 공유 메모리 블럭을 닫는다.

이전 | 위로 | 다음
CL. 공유 메모리 함수 | 처음으로 | shmop_delete


shmop_delete

(PHP 4 >= 4.0.4, PHP 5)

shmop_delete -- 공유 메모리 블럭을 삭제

설명

int shmop_delete ( int $shmid )

shmop_delete()는 공유 메모리 블럭을 삭제하는데 사용된다.

shmop_delete()함수는 shmop_open()으로 생성된 공유 메모리 블럭 identifier인 shmid를 인자로 가진다. 성공하면 1을 반환하고 실패하면 0을 반환한다.

예 2126. 공유 메모리 블럭 삭제

<?php
shmop_delete($shm_id);
?>

위 예제는 $shm_id 인자로 지정된 공유 메모리 블럭을 삭제한다.

이전 | 위로 | 다음
shmop_close | 처음으로 | shmop_open


shmop_open

(PHP 4 >= 4.0.4, PHP 5)

shmop_open -- 공유 메모리 블럭을 열거나 생성

Description

int shmop_open ( int $key, string $flags, int $mode, int $size )

shmop_open()은 공유 메모리 블럭을 생성하거나 여는데 쓰인다.

shmop_open()은 4가지 인자가 쓰인다: 첫번째 인자인 공유 메모리 블럭의 시스템의 id를 위한 key. 이 인자는 10진수 또는 16진수로 지정된다. 두번째 인자는 flags로 다음과 같이 쓰인다:

  • "a" : 접근 (IPC_EXCL 상수로 설정) 존재하고 있는 공유 메모리 세그먼트를 여는데 이 flag를 사용.
  • "c" : 생성 (IPC_CREATE 상수로 설정) 새로운 공유 메모리 세그먼트를 생성하려할 때 이 flag를 사용.
세번째 인자는 메모리 세그컨트를 할당하기를 원하는 파일의 퍼미션과 동일한 방식의 퍼미션 모드이다. 퍼미션은 0644와 같이 8진수로 지정되어야 한다. 마지막 인자는 바이트 단위의 생성할 공유 메모리 블럭 크기이다.

참고: 주의: 세번째와 네번째 인자는 존재하고 있는 메모리 세그먼트를 열때는 0을 지정해야만 한다. shmop_open()함수가 성공하면 생성된 공유 메모리 세그먼트를 접근하기 위해 사용될 id를 반환할 것이다.

예 2127. Create a new shared memory block

<?php
$shm_id = shmop_open(0x0fff, "c", 0644, 100);
?>

위의 예제는 시스템 id 0x0fff를 가진 공유 메모리 블럭을 열도록 한다.

이전 | 위로 | 다음
shmop_delete | 처음으로 | shmop_read


shmop_read

(PHP 4 >= 4.0.4, PHP 5)

shmop_read -- 공유 메모리 블럭으로부터 데이터를 판독

설명

string shmop_read ( int $shmid, int $start, int $count )

shmop_read()함수는 공유 메모리 블럭으로부터 문자열을 읽는다.

shmop_read()함수는 3개의 인자를 가진다: shmop_open()에 의해 생성된 공유 메모리 블럭 identifier인 shmid, 읽기 시작할 offset, 읽어낼 바이트 수를 나타내는 count.

예 2128. 공유 메모리 블럭 판독

<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>

위의 예제는 공유 메모리 블럭에서 50 바이트를 읽어 $shm_data 변수에 기록할 것이다.

이전 | 위로 | 다음
shmop_open | 처음으로 | shmop_size


shmop_size

(PHP 4 >= 4.0.4, PHP 5)

shmop_size -- 공유 메모리 블럭의 크기를 얻음

설명

int shmop_size ( int $shmid )

shmop_size()는 공유 메모리 블럭 크기를 바이트 단위로 얻는데 사용된다.

shmop_size()는 shmop_open()으로 생성된 공유 메모리 블럭 identifier인 shmid 인자를 지정하면, 공유 메모리 블럭이 차지하고 있는 바이트 수를 정수형으로 반환한다.

예 2129. 공유 메모리 블럭 크기 얻기

<?php
$shm_size = shmop_size($shm_id);
?>

위의 예제는 $shm_id에 의해 지정된 공유 메모리 블럭의 크기를 $shm_size에 할당한다.

이전 | 위로 | 다음
shmop_read | 처음으로 | shmop_write


shmop_write

(PHP 4 >= 4.0.4, PHP 5)

shmop_write -- 공유 메모리 블럭에 자료 기록

설명

int shmop_write ( int $shmid, string $data, int $offset )

shmop_write()함수는 공유 메모리 블럭으로 문자열을 기록할 것이다.

shmop_write()함수는 3개의 인자를 가진다: shmop_open()에 의해 생성된 공유 메모리 블럭 identifier인 shmid, 공유 메모리 블럭에 기록하기를 원하는 문자열인 data, 공유 메모리 세그먼트 내부에 기록을 시작할 데이터의 위치를 지정한 offset.

예 2130. 공유 메모리 블럭으로 기록

<?php
$shm_bytes_written = shmop_write($shm_id, $my_string, 0);
?>

위의 예제는 $my_string을 공유 메모리 블럭에 기록하고, 기록된 바이트 수를 $shm_bytes_written에 반환한다.

이전 | 위로 | 다음
shmop_size | 처음으로 | CLI. SimpleXML functions


SimpleXML functions

이전 VI. 함수 레퍼런스 다음

CLI. SimpleXML functions

소개

The SimpleXML extension provides a very simple and easily usable toolset to convert XML to an object that can be processed with normal property selectors and array iterators.

요구 조건

The SimpleXML extension requires PHP 5.

설치

The SimpleXML extension is enabled by default. To disable it, use the --disable-simplexml configure option.

예제

Many examples in this reference require an XML string. Instead of repeating this string in every example, we put it into a file which we include in each example. This included file is shown in the following example section. Alternatively, you could create an XML document and read it with simplexml_load_file().

예 2131. Include file example.php with XML string

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
XML;
?>

The simplicity of SimpleXML appears most clearly when one extracts a string or number from a basic XML document.

예 2132. Getting <plot>

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie[0]->plot; // "So this language. It's like..."
?>

Accessing elements within an XML document that contain characters not permitted under PHP's naming convention (e.g. the hyphen) can be accomplished by encapsulating the element name within braces and the apostrophe.

예 2133. Getting <line>

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie->{'great-lines'}->line; // "PHP solves all my web problems"
?>

예 2134. Accessing non-unique elements in SimpleXML

When multiple instances of an element exist as children of a single parent element, normal iteration techniques apply.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

/* For each <movie> node, we echo a separate <plot>. */
foreach ($xml->movie as $movie) {
   echo $movie->plot, '<br />';
}

?>

예 2135. Using attributes

So far, we have only covered the work of reading element names and their values. SimpleXML can also access element attributes. Access attributes of an element just as you would elements of an array.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

/* Access the <rating> nodes of the first movie.
 * Output the rating scale, too. */
foreach ($xml->movie[0]->rating as $rating) {
    switch((string) $rating['type']) { // Get attributes as element indices
    case 'thumbs':
        echo $rating, ' thumbs up';
        break;
    case 'stars':
        echo $rating, ' stars';
        break;
    }
}
?>

예 2136. Comparing Elements and Attributes with Text

To compare an element or attribute with a string or pass it into a function that requires a string, you must cast it to a string using (string). Otherwise, PHP treats the element as an object.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

if ((string) $xml->movie->title == 'PHP: Behind the Parser') {
    print 'My favorite movie.';
}

htmlentities((string) $xml->movie->title);
?>

예 2137. Using XPath

SimpleXML includes built-in XPath support. To find all <character> elements:

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->xpath('//character') as $character) {
    echo $character->name, 'played by ', $character->actor, '<br />';
}
?>

'//' serves as a wildcard. To specify absolute paths, omit one of the slashes.

예 2138. Setting values

Data in SimpleXML doesn't have to be constant. The object allows for manipulation of all of its elements.

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

$xml->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $xml->asXML();
?>

The above code will output a new XML document, just like the original, except that the new XML will change Ms. Coder to Miss Coder.

예 2139. Adding elements and attributes

Since PHP 5.1.3, SimpleXML has had the ability to easily add children and attributes.

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

$character = $xml->movie[0]->characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $xml->movie[0]->addChild('rating', 'PG');
$rating->addAttribute('type', 'mpaa');

echo $xml->asXML();
?>

The above code will output an XML document based on the original but having a new character and rating.

예 2140. DOM Interoperability

PHP has a mechanism to convert XML nodes between SimpleXML and DOM formats. This example shows how one might change a DOM element to SimpleXML.

<?php
$dom = new domDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
     echo 'Error while parsing the document';
     exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>

차례

SimpleXMLElement->addAttribute() -- Adds an attribute to the SimpleXML element
SimpleXMLElement->addChild() -- Adds a child element to the XML node
SimpleXMLElement->asXML() -- Return a well-formed XML string based on SimpleXML element
SimpleXMLElement->attributes() -- Identifies an element's attributes
SimpleXMLElement->children() -- Finds children of given node
SimpleXMLElement->__construct() -- Creates a new SimpleXMLElement object
SimpleXMLElement->getDocNamespaces() -- Returns namespaces declared in document
SimpleXMLElement->getName() -- Gets the name of the XML element
SimpleXMLElement->getNamespaces() -- Returns namespaces used in document
SimpleXMLElement->registerXPathNamespace() -- Creates a prefix/ns context for the next XPath query
SimpleXMLElement->xpath() -- Runs XPath query on XML data
simplexml_import_dom -- Get a SimpleXMLElement object from a DOM node.
simplexml_load_file -- Interprets an XML file into an object
simplexml_load_string -- Interprets a string of XML into an object
이전 | 위로 | 다음
shmop_write | 처음으로 | SimpleXMLElement->addAttribute()


SimpleXMLElement->asXML()

(PHP 5 >= 5.0.1)

SimpleXMLElement->asXML() -- Return a well-formed XML string based on SimpleXML element

설명

class SimpleXMLElement {
mixed asXML ( [string $filename] )
}

The asXML method formats the parent object's data in XML version 1.0.

매개변수

filename

If specified, the function writes the data to the file rather than returning it.

반환값

If the filename isn't specified, this function returns a string on success and FALSE on error. If the parameter is specified, it returns TRUE if the file was written successfully and FALSE otherwise.

예제

예 2143. Get XML

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML(); // <?xml ... <a><b><c>text</c><c>stuff</c> ...

?>

asXML also works on Xpath results:

예 2144. Using asXML() on Xpath results

<?php
// Continued from example XML above.

/* Search for <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo $node->asXML(); // <c>text</c> and <c>stuff</c>
}
?>

이전 | 위로 | 다음
SimpleXMLElement->addChild() | 처음으로 | SimpleXMLElement->attributes()


SimpleXMLElement->attributes()

(PHP 5 >= 5.0.1)

SimpleXMLElement->attributes() -- Identifies an element's attributes

설명

class SimpleXMLElement {
SimpleXMLElement attributes ( [string $ns [, bool $is_prefix]] )
}

This function provides the attributes and values defined within an xml tag.

참고: SimpleXML은 대부분의 메쏘드에 추가 반복자 속성 규칙을 가지고 있습니다. 이들은 var_dump()나 객체를 조사하는 어떠한 것으로도 볼 수 없습니다.

매개변수

ns

An optional namespace for the retrieved attributes

is_prefix

Default to FALSE

반환값

예제

예 2145. Interpret an XML string

<?php
$string = <<<XML
<a xmlns:b>
 <foo name="one" game="lonely">1</foo>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

위 예제의 출력:

name="one"
game="lonely"

이전 | 위로 | 다음
SimpleXMLElement->asXML() | 처음으로 | SimpleXMLElement->children()


SimpleXMLElement->children()

(PHP 5 >= 5.0.1)

SimpleXMLElement->children() -- Finds children of given node

설명

class SimpleXMLElement {
SimpleXMLElement children ( [string $ns [, bool $is_prefix]] )
}

This method finds the children of the element of which it is a member. The result follows normal iteration rules.

참고: SimpleXML은 대부분의 메쏘드에 추가 반복자 속성 규칙을 가지고 있습니다. 이들은 var_dump()나 객체를 조사하는 어떠한 것으로도 볼 수 없습니다.

매개변수

ns

is_prefix

Default to FALSE

반환값

변경 기록

버전 | 설명
5.2.0 | The optional parameter is_prefix was added.

예제

예 2146. Traversing a children() pseudo-array

<?php
$xml = new SimpleXMLElement(
'<person>
 <child role="son">
  <child role="daughter"/>
 </child>
 <child role="daughter">
  <child role="son">
   <child role="son"/>
  </child>
 </child>
</person>');

foreach ($xml->children() as $second_gen) {
    echo ' The person begot a ' . $second_gen['role'];

    foreach ($second_gen->children() as $third_gen) {
        echo ' who begot a ' . $third_gen['role'] . ';';

        foreach ($third_gen->children() as $fourth_gen) {
            echo ' and that ' . $third_gen['role'] .
                ' begot a ' . $fourth_gen['role'];
        }
    }
}
?>

위 예제의 출력:

The person begot a son who begot a daughter; The person
begot a daughter who begot a son; and that son begot a son

이전 | 위로 | 다음
SimpleXMLElement->attributes() | 처음으로 | SimpleXMLElement->__construct()


SimpleXMLElement->xpath()

(PHP 5 >= 5.2.0)

SimpleXMLElement->xpath() -- Runs XPath query on XML data

설명

class SimpleXMLElement {
array xpath ( string $path )
}

The xpath method searches the SimpleXML node for children matching the XPath path.

매개변수

path

An XPath path

반환값

Returns an array of SimpleXMLElement objects or FALSE in case of an error.

예제

예 2154. Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* Search for <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo '/a/b/c: ',$node,"\n";
}

/* Relative paths also work... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
    echo 'b/c: ',$node,"\n";
}
?>

위 예제의 출력:

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

Notice that the two results are equal.

이전 | 위로 | 다음
SimpleXMLElement->registerXPathNamespace() | 처음으로 | simplexml_import_dom


simplexml_import_dom

(PHP 5)

simplexml_import_dom -- Get a SimpleXMLElement object from a DOM node.

설명

SimpleXMLElement simplexml_import_dom ( DOMNode $node [, string $class_name] )

This function takes a node of a DOM document and makes it into a SimpleXML node. This new object can then be used as a native SimpleXML element.

매개변수

node

A DOM Element node

class_name

You may use this optional parameter so that simplexml_load_string() will return an object of the specified class. That class should extend the SimpleXMLElement class.

반환값

Returns a SimpleXMLElement or FALSE on failure.

예제

예 2155. Importing DOM

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
    echo 'Error while parsing the document';
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title; // blah
?>

참고

dom_import_simplexml()

이전 | 위로 | 다음
SimpleXMLElement->xpath() | 처음으로 | simplexml_load_file


simplexml_load_file

(PHP 5)

simplexml_load_file -- Interprets an XML file into an object

설명

object simplexml_load_file ( string $filename [, string $class_name [, int $options [, string $ns [, bool $is_prefix]]]] )

Convert the well-formed XML document in the given file to an object.

매개변수

filename

Path to the XML file

참고: Libxml 2 unescapes the URI, so if you want to pass e.g. b&c as the URI parameter a, you have to call simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Since PHP 5.1.0 you don't need to do this because PHP will do it for you.

class_name

You may use this optional parameter so that simplexml_load_file() will return an object of the specified class. That class should extend the SimpleXMLElement class.

options

Since PHP 5.1.0 and Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters.

ns

is_prefix

반환값

Returns an object of class SimpleXMLElement with properties containing the data held within the XML document. On errors, it will return FALSE.

예제

예 2156. Interpret an XML document

<?php
// The file test.xml contains an XML document with a root element
// and at least an element /[root]/title.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');

    print_r($xml);
} else {
    exit('Failed to open test.xml.');
}
?>

This script will display, on success:

SimpleXMLElement Object
(
  [title] => Example Title
  ...
)

At this point, you can go about using $xml->title and any other elements.

참고

simplexml_load_string
SimpleXMLElement->__construct()

이전 | 위로 | 다음
simplexml_import_dom | 처음으로 | simplexml_load_string


simplexml_load_string

(PHP 5)

simplexml_load_string -- Interprets a string of XML into an object

설명

object simplexml_load_string ( string $data [, string $class_name [, int $options [, string $ns [, bool $is_prefix]]]] )

Takes a well-formed XML string and returns it as an object.

매개변수

data

A well-formed XML string

class_name

You may use this optional parameter so that simplexml_load_string() will return an object of the specified class. That class should extend the SimpleXMLElement class.

options

Since PHP 5.1.0 and Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters.

ns

is_prefix

반환값

Returns an object of class SimpleXMLElement with properties containing the data held within the xml document. On errors, it will return FALSE.

예제

예 2157. Interpret an XML string

<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  I know that's the answer -- but what's the question?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

var_dump($xml);
?>

위 예제의 출력:

SimpleXMLElement Object
(
  [title] => Forty What?
  [from] => Joe
  [to] => Jane
  [body] =>
   I know that's the answer -- but what's the question?
)

At this point, you can go about using $xml->body and such.

참고

simplexml_load_file
SimpleXMLElement->__construct()

이전 | 위로 | 다음
simplexml_load_file | 처음으로 | CLII. SNMP Functions


SOAP Functions

이전 VI. 함수 레퍼런스 다음

CLIII. SOAP Functions

소개

The SOAP extension can be used to write SOAP Servers and Clients. It supports subsets of » SOAP 1.1, » SOAP 1.2 and » WSDL 1.1 specifications.

요구 조건

This extension makes use of the » GNOME xml library. Download and install this library. You will need at least libxml-2.5.4.

설치

This extension is only available if PHP was configured with --enable-soap.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 285. SOAP Configuration Options

Name | Default | Changeable | Changelog
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Available since PHP 5.0.0.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Available since PHP 5.0.0.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Available since PHP 5.0.0.
soap.wsdl_cache_limit | "5" | PHP_INI_ALL | Available since PHP 5.1.5.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

soap.wsdl_cache_enabled boolean

Enables or disables the WSDL caching feature.

soap.wsdl_cache_dir string

Sets the directory name where the SOAP extension will put cache files.

soap.wsdl_cache_ttl int

Sets the number of seconds (time to live) that cached files will be used instead the originals.

soap.wsdl_cache_limit integer

Maximum number of in memory cached wsdl files

예약 클래스

SoapClient

생성자

  • SoapClient->__construct() - constructs a new SoapClient object

메쏘드

  • SoapClient->__call() - Calls a SOAP function (deprecated)

  • SoapClient->__doRequest() - Performs a SOAP request

  • SoapClient->__getFunctions() - Returns list of SOAP functions

  • SoapClient->__getLastRequest() - Returns last SOAP request

  • SoapClient->__getLastRequestHeaders() - Returns last SOAP request headers

  • SoapClient->__getLastResponse() - Returns last SOAP response

  • SoapClient->__getLastResponseHeaders() - Returns last SOAP response headers

  • SoapClient->__getTypes() - Returns list of SOAP types

  • SoapClient->__setCookie() - Sets the cookie that will be sent with the SOAP request

  • SoapClient->__soapCall() - Calls a SOAP function

SoapFault

생성자

  • SoapFault->__construct() - construct a new SoapFault object

SoapHeader

SoapHeader is a special low-level class for passing or returning SOAP headers. It's just a data holder and it does not have any special methods except its constructor. It can be used in the SoapClient->__soapCall() method to pass a SOAP header or in a SOAP header handler to return the header in a SOAP response.

생성자

  • SoapHeader->__construct() - construct a new SoapHeader object

SoapParam

SoapParam is a special low-level class for naming parameters and returning values in non-WSDL mode. It's just a data holder and it does not have any special methods except its constructor.

생성자

  • SoapParam->__construct() - construct a new SoapParam object

SoapServer

생성자

  • SoapServer->__construct() - construct a new SoapServer object

메쏘드

  • SoapServer->addFunction() - Adds one or several functions those will handle SOAP requests

  • SoapServer->fault() -

  • SoapServer->getFunctions() - Returns list of defined functions

  • SoapServer->handle() - Handles a SOAP request

  • SoapServer->setClass() - Sets class which will handle SOAP requests

  • SoapServer->setPersistence() - Sets persistence mode of SoapServer

SoapVar

SoapVar is a special low-level class for encoding parameters and returning values in non-WSDL mode. It's just a data holder and does not have any special methods except the constructor. It's useful when you want to set the type property in SOAP request or response.

생성자

  • SoapVar->__construct() - construct a new SoapVar object

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

SOAP_1_1 (integer)
SOAP_1_2 (integer)
SOAP_PERSISTENCE_SESSION (integer)
SOAP_PERSISTENCE_REQUEST (integer)
SOAP_FUNCTIONS_ALL (integer)
SOAP_ENCODED (integer)
SOAP_LITERAL (integer)
SOAP_RPC (integer)
SOAP_DOCUMENT (integer)
SOAP_ACTOR_NEXT (integer)
SOAP_ACTOR_NONE (integer)
SOAP_ACTOR_UNLIMATERECEIVER (integer)
SOAP_COMPRESSION_ACCEPT (integer)
SOAP_COMPRESSION_GZIP (integer)
SOAP_COMPRESSION_DEFLATE (integer)
SOAP_WAIT_ONE_WAY_CALLS (integer)
Added in PHP 5.1.0.
UNKNOWN_TYPE (integer)
XSD_STRING (integer)
XSD_BOOLEAN (integer)
XSD_DECIMAL (integer)
XSD_FLOAT (integer)
XSD_DOUBLE (integer)
XSD_DURATION (integer)
XSD_DATETIME (integer)
XSD_TIME (integer)
XSD_DATE (integer)
XSD_GYEARMONTH (integer)
XSD_GYEAR (integer)
XSD_GMONTHDAY (integer)
XSD_GDAY (integer)
XSD_GMONTH (integer)
XSD_HEXBINARY (integer)
XSD_BASE64BINARY (integer)
XSD_ANYURI (integer)
XSD_ANYXML (integer)
Added in PHP 5.1.0.
XSD_QNAME (integer)
XSD_NOTATION (integer)
XSD_NORMALIZEDSTRING (integer)
XSD_TOKEN (integer)
XSD_LANGUAGE (integer)
XSD_NMTOKEN (integer)
XSD_NAME (integer)
XSD_NCNAME (integer)
XSD_ID (integer)
XSD_IDREF (integer)
XSD_IDREFS (integer)
XSD_ENTITY (integer)
XSD_ENTITIES (integer)
XSD_INTEGER (integer)
XSD_NONPOSITIVEINTEGER (integer)
XSD_NEGATIVEINTEGER (integer)
XSD_LONG (integer)
XSD_INT (integer)
XSD_SHORT (integer)
XSD_BYTE (integer)
XSD_NONNEGATIVEINTEGER (integer)
XSD_UNSIGNEDLONG (integer)
XSD_UNSIGNEDINT (integer)
XSD_UNSIGNEDSHORT (integer)
XSD_UNSIGNEDBYTE (integer)
XSD_POSITIVEINTEGER (integer)
XSD_NMTOKENS (integer)
XSD_ANYTYPE (integer)
SOAP_ENC_OBJECT (integer)
SOAP_ENC_ARRAY (integer)
XSD_1999_TIMEINSTANT (integer)
XSD_NAMESPACE (string)
XSD_1999_NAMESPACE (string)

차례

is_soap_fault -- Checks if SOAP call was failed
SoapClient->__call() -- Calls a SOAP function (deprecated)
SoapClient->__construct() -- SoapClient constructor
SoapClient->__doRequest() -- Performs a SOAP request
SoapClient->__getFunctions() -- Returns list of SOAP functions
SoapClient->__getLastRequest() -- Returns last SOAP request
SoapClient->__getLastRequestHeaders() -- Returns last SOAP request headers
SoapClient->__getLastResponse() -- Returns last SOAP response.
SoapClient->__getLastResponseHeaders() -- Returns last SOAP response headers.
SoapClient->__getTypes() -- Returns list of SOAP types
SoapClient->__setCookie() -- Sets the cookie that will be sent with the SOAP request
SoapClient->__soapCall() -- Calls a SOAP function
SoapFault->__construct() -- SoapFault constructor
SoapHeader->__construct() -- SoapHeader constructor
SoapParam->__construct() -- SoapParam constructor
SoapServer->addFunction() -- Adds one or several functions those will handle SOAP requests
SoapServer->__construct() -- SoapServer constructor
SoapServer->fault() -- Issue SoapServer fault indicating an error
SoapServer->getFunctions() -- Returns list of defined functions
SoapServer->handle() -- Handles a SOAP request
SoapServer->setClass() -- Sets class which will handle SOAP requests
SoapServer->setPersistence() -- Sets persistence mode of SoapServer
SoapVar->__construct() -- SoapVar constructor
use_soap_error_handler -- Set whether to use the SOAP error handler and return the former value
이전 | 위로 | 다음
snmpwalkoid | 처음으로 | is_soap_fault


is_soap_fault

(PHP 5)

is_soap_fault -- Checks if SOAP call was failed

설명

bool is_soap_fault ( mixed $obj )

This function is useful when you like to check if the SOAP call failed, but don't like to use exceptions. To use it you must create a SoapClient object with the exceptions option set to zero or FALSE. In this case, the SOAP method will return a special SoapFault object which encapsulates the fault details (faultcode, faultstring, faultactor and faultdetails).

If exceptions is not set then SOAP call will throw an exception on error. is_soap_fault() checks if the given parameter is a SoapFault object.

매개변수

obj

The tested object.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2163. is_soap_fault() example

<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->SomeFunction();
if (is_soap_fault($result)) {
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
?>

예 2164. SOAP's standard method for error reporting is exceptions

<?php
try {
    $client = new SoapClient("some.wsdl");
    $result = $client->SomeFunction(/* ... */);
} catch (SoapFault $fault) {
    trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
?>

참고

SoapClient->__construct()
SoapFault->__construct()

이전 | 위로 | 다음
CLIII. SOAP Functions | 처음으로 | SoapClient->__call()


SQLite Functions

이전 VI. 함수 레퍼런스 다음

CLVI. SQLite Functions

소개

This is an extension for the SQLite Embeddable SQL Database Engine. SQLite is a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process.

SQLite is not a client library used to connect to a big database server. SQLite is the server. The SQLite library reads and writes directly to and from the database files on disk.

참고: For further information see the SQLite Website (» http://sqlite.org/).

Installation

Read the INSTALL file, which comes with the package. Or just use the PEAR installer with pecl install sqlite. SQLite itself is already included, You do not need to install any additional software.

Windows users may download the DLL version of the SQLite extension here: (» php_sqlite.dll).

In PHP 5, the SQLite extension and the engine itself are bundled and compiled by default. However, since PHP 5.1.0 you need to manually activate the extension in php.ini (because it is now bundled as shared). Moreover, since PHP 5.1.0 SQLite depends on PDO it must be enabled too, by adding the following lines to php.ini (in order):

extension=php_pdo.dll
extension=php_sqlite.dll
On Linux or Unix operating systems, if you build PDO as a shared extension, you must build SQLite as a shared extension using the --with-sqlite=shared configure option.

SQLite 3 is supported through PDO SQLite.

Windows installation for unprivileged accounts: On Windows operating systems, unprivileged accounts don't have the TMP environment variable set by default. This will make sqlite create temporary files in the windows directory, which is not desirable. So, you should set the TMP environment variable for the web server or the user account the web server is running under. If Apache is your web server, you can accomplish this via a SetEnv directive in your httpd.conf file. For example:

SetEnv TMP c:/temp
If you are unable to establish this setting at the server level, you can implement the setting in your script:
putenv('TMP=C:/temp');
The setting must refer to a directory that the web server has permission to create files in and subsequently write to and delete the files it created. Otherwise, you may receive the following error message: malformed database schema - unable to open a temporary database file for storing temporary tables

요구 조건

In order to have these functions available, you must compile PHP with SQLite support, or load the SQLite extension dynamically from your php.ini.

자원형

There are two resources used in the SQLite Interface. The first one is the database connection, the second one the result set.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

The functions sqlite_fetch_array() and sqlite_current() use a constant for the different types of result arrays. The following constants are defined:

SQLite result type constants

SQLITE_ASSOC (int)
Columns are returned into the array having the field name as the array index.
SQLITE_BOTH (int)
Columns are returned into the array having both a numerical index and the field name as the array index.
SQLITE_NUM (int)
Columns are returned into the array having a numerical index to the fields. This index starts with 0, the first field in the result.

A number of functions may return status codes. The following constants are defined:

SQLite status code constants

SQLITE_OK (int)
Successful result.
SQLITE_ERROR (int)
SQL error or missing database.
SQLITE_INTERNAL (int)
An internal logic error in SQLite.
SQLITE_PERM (int)
Access permission denied.
SQLITE_ABORT (int)
Callback routine requested an abort.
SQLITE_BUSY (int)
The database file is locked.
SQLITE_LOCKED (int)
A table in the database is locked.
SQLITE_NOMEM (int)
Memory allocation failed.
SQLITE_READONLY (int)
Attempt to write a readonly database.
SQLITE_INTERRUPT (int)
Operation terminated internally.
SQLITE_IOERR (int)
Disk I/O error occurred.
SQLITE_CORRUPT (int)
The database disk image is malformed.
SQLITE_NOTFOUND (int)
(Internal) Table or record not found.
SQLITE_FULL (int)
Insertion failed because database is full.
SQLITE_CANTOPEN (int)
Unable to open the database file.
SQLITE_PROTOCOL (int)
Database lock protocol error.
SQLITE_EMPTY (int)
(Internal) Database table is empty.
SQLITE_SCHEMA (int)
The database schema changed.
SQLITE_TOOBIG (int)
Too much data for one row of a table.
SQLITE_CONSTRAINT (int)
Abort due to constraint violation.
SQLITE_MISMATCH (int)
Data type mismatch.
SQLITE_MISUSE (int)
Library used incorrectly.
SQLITE_NOLFS (int)
Uses of OS features not supported on host.
SQLITE_AUTH (int)
Authorized failed.
SQLITE_ROW (int)
Internal process has another row ready.
SQLITE_DONE (int)
Internal process has finished executing.

예약 클래스

SQLiteDatabase

Represents an opened SQLite database.

생성자

  • __construct - construct a new SQLiteDatabase object

메쏘드

  • query - Execute a query

  • queryExec - Execute a result-less query

  • arrayQuery - Execute a query and return the result as an array

  • singleQuery - Execute a query and return either an array for one single column or the value of the first row

  • unbufferedQuery - Execute an unbuffered query

  • lastInsertRowid - Returns the rowid of the most recently inserted row

  • changes - Returns the number of rows changed by the most recent statement

  • createAggregate - Register an aggregating UDF for use in SQL statements

  • createFunction - Register a UDF for use in SQL statements

  • busyTimeout - Sets or disables busy timeout duration

  • lastError - Returns the last error code of the most recently encountered error

  • fetchColumnTypes - Return an array of column types from a particular table

SQLiteResult

Represents a buffered SQLite result set.

메쏘드

  • fetch - Fetches the next row from the result set as an array

  • fetchObject - Fetches the next row from the result set as an object

  • fetchSingle - Fetches the first column from the result set as a string

  • fetchAll - Fetches all rows from the result set as an array of arrays

  • column - Fetches a column from the current row of the result set

  • numFields - Returns the number of fields in the result set

  • fieldName - Returns the name of a particular field in the result set

  • current - Fetches the current row from the result set as an array

  • key - Return the current row index

  • next - Seek to the next row number

  • valid - Returns whether more rows are available

  • rewind - Seek to the first row number of the result set

  • prev - Seek to the previous row number of the result set

  • hasPrev - Returns whether or not a previous row is available

  • numRows - Returns the number of rows in the result set

  • seek - Seek to a particular row number

SQLiteUnbuffered

Represents an unbuffered SQLite result set. Unbuffered results sets are sequential, forward-seeking only.

메쏘드

  • fetch - Fetches the next row from the result set as an array

  • fetchObject - Fetches the next row from the result set as an object

  • fetchSingle - Fetches the first column from the result set as a string

  • fetchAll - Fetches all rows from the result set as an array of arrays

  • column - Fetches a column from the current row of the result set

  • numFields - Returns the number of fields in the result set

  • fieldName - Returns the name of a particular field in the result set

  • current - Fetches the current row from the result set as an array

  • next - Seek to the next row number

  • valid - Returns whether more rows are available

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 294. SQLite 설정 옵션

이름 | 기본값 | 가변성 | Changelog
sqlite.assoc_case | "0" | PHP_INI_ALL | Available since PHP 5.0.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

sqlite.assoc_case int

Whether to use mixed case (0), upper case (1) or lower case (2) hash indexes.

This option is primarily useful when you need compatibility with other database systems, where the names of the columns are always returned as uppercase or lowercase, regardless of the case of the actual field names in the database schema.

The SQLite library returns the column names in their natural case (that matches the case you used in your schema). When sqlite.assoc_case is set to 0 the natural case will be preserved. When it is set to 1 or 2, PHP will apply case folding on the hash keys to upper- or lower-case the keys, respectively.

Use of this option incurs a slight performance penalty, but is MUCH faster than performing the case folding yourself using PHP script.

차례

sqlite_array_query -- Execute a query against a given database and returns an array
sqlite_busy_timeout -- Set busy timeout duration, or disable busy handlers
sqlite_changes -- Returns the number of rows that were changed by the most recent SQL statement
sqlite_close -- Closes an open SQLite database
sqlite_column -- Fetches a column from the current row of a result set
sqlite_create_aggregate -- Register an aggregating UDF for use in SQL statements
sqlite_create_function -- Registers a "regular" User Defined Function for use in SQL statements
sqlite_current -- Fetches the current row from a result set as an array
sqlite_error_string -- Returns the textual description of an error code
sqlite_escape_string -- Escapes a string for use as a query parameter
sqlite_exec -- Executes a result-less query against a given database
sqlite_factory -- Opens a SQLite database and returns a SQLiteDatabase object
sqlite_fetch_all -- Fetches all rows from a result set as an array of arrays
sqlite_fetch_array -- Fetches the next row from a result set as an array
sqlite_fetch_column_types -- Return an array of column types from a particular table
sqlite_fetch_object -- Fetches the next row from a result set as an object
sqlite_fetch_single -- Fetches the first column of a result set as a string
sqlite_fetch_string -- Alias of sqlite_fetch_single()
sqlite_field_name -- Returns the name of a particular field
sqlite_has_more -- Finds whether or not more rows are available
sqlite_has_prev -- Returns whether or not a previous row is available
sqlite_key -- Returns the current row index
sqlite_last_error -- Returns the error code of the last error for a database
sqlite_last_insert_rowid -- Returns the rowid of the most recently inserted row
sqlite_libencoding -- Returns the encoding of the linked SQLite library
sqlite_libversion -- Returns the version of the linked SQLite library
sqlite_next -- Seek to the next row number
sqlite_num_fields -- Returns the number of fields in a result set
sqlite_num_rows -- Returns the number of rows in a buffered result set
sqlite_open -- Opens a SQLite database and create the database if it does not exist
sqlite_popen -- Opens a persistent handle to an SQLite database and create the database if it does not exist
sqlite_prev -- Seek to the previous row number of a result set
sqlite_query -- Executes a query against a given database and returns a result handle
sqlite_rewind -- Seek to the first row number
sqlite_seek -- Seek to a particular row number of a buffered result set
sqlite_single_query -- Executes a query and returns either an array for one single column or the value of the first row
sqlite_udf_decode_binary -- Decode binary data passed as parameters to an UDF
sqlite_udf_encode_binary -- Encode binary data before returning it from an UDF
sqlite_unbuffered_query -- Execute a query that does not prefetch and buffer all data
sqlite_valid -- Returns whether more rows are available
이전 | 위로 | 다음
spl_object_hash | 처음으로 | sqlite_array_query


sqlite_array_query

이전 CLVI. SQLite Functions 다음

sqlite_array_query,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_array_query, SQLiteDatabase->arrayQuery -- Execute a query against a given database and returns an array

설명

array sqlite_array_query ( resource $dbhandle, string $query [, int $result_type [, bool $decode_binary]] )
array sqlite_array_query ( string $query, resource $dbhandle [, int $result_type [, bool $decode_binary]] )

Object oriented style (method):

class SQLiteDatabase {
array arrayQuery ( string $query [, int $result_type [, bool $decode_binary]] )
}

sqlite_array_query() executes the given query and returns an array of the entire result set. It is similar to calling sqlite_query() and then sqlite_fetch_array() for each row in the result set. sqlite_array_query() is significantly faster than the aforementioned.

작은 정보

sqlite_array_query() is best suited to queries returning 45 rows or less. If you have more data than that, it is recommended that you write your scripts to use sqlite_unbuffered_query() instead for more optimal performance.

매개변수

query

The query to be executed.

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

result_type

선택적인 result_type 매개변수는 반환하는 배열이 어떤 형식일지에 대한 대한 상수를 받습니다. SQLITE_ASSOC를 사용하면 연상배열(이름 필드)로 반환합니다. SQLITE_NUM은 수치배열(순차적인 필드 번호)를 반환합니다. SQLITE_BOTH는 연상 및 수치를 동시에 반환합니다. SQLITE_BOTH가 기본값입니다.

decode_binary

decode_binary 매개변수가 TRUE(기본값)로 설정되면, PHP는 sqlite_escape_string()를 사용하여 인코드한 데이터로 취급하여 이진 인코딩을 해제합니다. 다른 sqlite 적용 프로그램에서 생성한 데이터베이스를 사용하지 않는 한, 기본값으로 사용하면 됩니다.

참고: (MySQL 같은) 다른 데이터베이스 확장과 호환성을 유지하기 위하여 두가지 다른 형식의 문법을 지원합니다. 권장하는 방식은 dbhandle 매개변수를 함수의 첫번째 매개변수로 사용하는 것입니다.

반환값

Returns an array of the entire result set; FALSE otherwise.

SQLITE_ASSOC와 SQLITE_BOTH로 반환한 열 이름은 sqlite.assoc_case 설정 옵션에 따라서 대소문자가 변환됩니다.

예제

예 2210. Procedural style

<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

예 2211. Object-oriented style

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

참고

sqlite_query()
sqlite_fetch_array()
sqlite_fetch_string()

이전 | 위로 | 다음
CLVI. SQLite Functions | 처음으로 | sqlite_busy_timeout


sqlite_busy_timeout

이전 CLVI. SQLite Functions 다음

sqlite_busy_timeout,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_busy_timeout, SQLiteDatabase->busyTimeout -- Set busy timeout duration, or disable busy handlers

설명

void sqlite_busy_timeout ( resource $dbhandle, int $milliseconds )

Object oriented style (method):

class SQLiteDatabase {
void busyTimeout ( int $milliseconds )
}

Set the maximum time, in milliseconds, that SQLite will wait for a dbhandle to become ready for use.

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

milliseconds

The number of milliseconds. When set to 0, busy handlers will be disabled and SQLite will return immediately with a SQLITE_BUSY status code if another process/thread has the database locked for an update.

PHP sets the default busy timeout to be 60 seconds when the database is opened.

참고: There are one thousand (1000) milliseconds in one second.

반환값

값을 반환하지 않습니다.

예제

예 2212. Procedural style

<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_busy_timeout($dbhandle, 10000); // set timeout to 10 seconds
sqlite_busy_timeout($dbhandle, 0); // disable busy handler
?>

예 2213. Object oriented style

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->busyTimeout(10000); // 10 seconds
$dbhandle->busyTimeout(0); // disable
?>

참고

sqlite_open()

이전 | 위로 | 다음
sqlite_array_query | 처음으로 | sqlite_changes


sqlite_changes

이전 CLVI. SQLite Functions 다음

sqlite_changes,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_changes, SQLiteDatabase->changes -- Returns the number of rows that were changed by the most recent SQL statement

설명

int sqlite_changes ( resource $dbhandle )

Object oriented style (method):

class SQLiteDatabase {
int changes ( void )
}

Returns the numbers of rows that were changed by the most recent SQL statement executed against the dbhandle database handle.

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

예제

예 2214. Procedural style

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_query($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Error in query.');
} else {
    echo 'Number of rows modified: ', sqlite_changes($dbhandle);
}
?>

예 2215. Object oriented style

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->query("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!$query) {
    exit('Error in query.');
} else {
    echo 'Number of rows modified: ', $dbhandle->changes();
}
?>

참고

sqlite_open()

이전 | 위로 | 다음
sqlite_busy_timeout | 처음으로 | sqlite_close


sqlite_close

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_close -- Closes an open SQLite database

설명

void sqlite_close ( resource $dbhandle )

Closes the given database handle. If the database was persistent, it will be closed and removed from the persistent list.

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally.

반환값

값을 반환하지 않습니다.

예제

예 2216. sqlite_close() example

<?php
$dbhandle = sqlite_open('sqlitedb');
sqlite_close($dbhandle);
?>

참고

sqlite_open()
sqlite_popen()

이전 | 위로 | 다음
sqlite_changes | 처음으로 | sqlite_column


sqlite_column

이전 CLVI. SQLite Functions 다음

sqlite_column,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_column, SQLiteResult->column, SQLiteUnbuffered->column -- Fetches a column from the current row of a result set

설명

mixed sqlite_column ( resource $result, mixed $index_or_name [, bool $decode_binary] )
class SQLiteResult {
mixed column ( mixed $index_or_name [, bool $decode_binary] )
} class SQLiteUnbuffered {
mixed column ( mixed $index_or_name [, bool $decode_binary] )
}

Fetches the value of a column named index_or_name (if it is a string), or of the ordinal column numbered index_or_name (if it is an integer) from the current row of the query result handle result.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

index_or_name

The column index or name to fetch.

decode_binary

decode_binary 매개변수가 TRUE(기본값)로 설정되면, PHP는 sqlite_escape_string()를 사용하여 인코드한 데이터로 취급하여 이진 인코딩을 해제합니다. 다른 sqlite 적용 프로그램에서 생성한 데이터베이스를 사용하지 않는 한, 기본값으로 사용하면 됩니다.

주의

참고: Use this function when you are iterating a large result set with many columns, or with columns that contain large amounts of data.

참고

sqlite_fetch_string()

이전 | 위로 | 다음
sqlite_close | 처음으로 | sqlite_create_aggregate


sqlite_create_aggregate

이전 CLVI. SQLite Functions 다음

sqlite_create_aggregate,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_create_aggregate, SQLiteDatabase->createAggregate -- Register an aggregating UDF for use in SQL statements

설명

void sqlite_create_aggregate ( resource $dbhandle, string $function_name, callback $step_func, callback $finalize_func [, int $num_args] )

Object oriented style (method):

class SQLiteDatabase {
void createAggregate ( string $function_name, callback $step_func, callback $finalize_func [, int $num_args] )
}

sqlite_create_aggregate() is similar to sqlite_create_function() except that it registers functions that can be used to calculate a result aggregated across all the rows of a query.

The key difference between this function and sqlite_create_function() is that two functions are required to manage the aggregate; step_func is called for each row of the result set. Your PHP function should accumulate the result and store it into the aggregation context. Once all the rows have been processed, finalize_func will be called and it should then take the data from the aggregation context and return the result. Callback functions should return a type understood by SQLite (i.e. scalar type).

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

function_name

The name of the function used in SQL statements.

step_func

Callback function called for each row of the result set.

finalize_func

Callback function to aggregate the "stepped" data from each row.

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

반환값

값을 반환하지 않습니다.

예제

예 2217. max_length aggregation function example

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$dbhandle = sqlite_open(':memory:');
sqlite_query($dbhandle, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($dbhandle, "INSERT INTO strings VALUES ('$str')");
}

function max_len_step(&$context, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context)
{
    return $context;
}

sqlite_create_aggregate($dbhandle, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($dbhandle, 'SELECT max_len(a) from strings'));

?>

In this example, we are creating an aggregating function that will calculate the length of the longest string in one of the columns of the table. For each row, the max_len_step function is called and passed a context parameter. The context parameter is just like any other PHP variable and be set to hold an array or even an object value. In this example, we are simply using it to hold the maximum length we have seen so far; if the string has a length longer than the current maximum, we update the context to hold this new maximum length.

After all of the rows have been processed, SQLite calls the max_len_finalize function to determine the aggregate result. Here, we could perform some kind of calculation based on the data found in the context. In our simple example though, we have been calculating the result as the query progressed, so we simply need to return the context value.

참고: The example above will not work correctly if the column contains binary data. Take a look at the manual page for sqlite_udf_decode_binary() for an explanation of why this is so, and an example of how to make it respect the binary encoding.

작은 정보

It is NOT recommended for you to store a copy of the values in the context and then process them at the end, as you would cause SQLite to use a lot of memory to process the query - just think of how much memory you would need if a million rows were stored in memory, each containing a string 32 bytes in length.

작은 정보

You can use sqlite_create_function() and sqlite_create_aggregate() to override SQLite native SQL functions.

참고

sqlite_create_function()
sqlite_udf_encode_binary()
sqlite_udf_decode_binary()

이전 | 위로 | 다음
sqlite_column | 처음으로 | sqlite_create_function


sqlite_create_function

이전 CLVI. SQLite Functions 다음

sqlite_create_function,

(PHP 5, PECL pdo_sqlite:0.2-0.3 sqlite:1.0-1.0.3)

sqlite_create_function, SQLiteDatabase->createFunction -- Registers a "regular" User Defined Function for use in SQL statements

설명

void sqlite_create_function ( resource $dbhandle, string $function_name, callback $callback [, int $num_args] )

Object oriented style (method):

class SQLiteDatabase {
void createFunction ( string $function_name, callback $callback [, int $num_args] )
}

sqlite_create_function() allows you to register a PHP function with SQLite as an UDF (User Defined Function), so that it can be called from within your SQL statements.

The UDF can be used in any SQL statement that can call functions, such as SELECT and UPDATE statements and also in triggers.

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

function_name

The name of the function used in SQL statements.

callback

Callback function to handle the defined SQL function.

참고: Callback functions should return a type understood by SQLite (i.e. scalar type).

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

참고: (MySQL 같은) 다른 데이터베이스 확장과 호환성을 유지하기 위하여 두가지 다른 형식의 문법을 지원합니다. 권장하는 방식은 dbhandle 매개변수를 함수의 첫번째 매개변수로 사용하는 것입니다.

반환값

값을 반환하지 않습니다.

예제

예 2218. sqlite_create_function() example

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    sqlite_create_function($dbhandle, 'md5rev', 'md5_and_reverse', 1);

    $sql  = 'SELECT md5rev(filename) FROM files';
    $rows = sqlite_array_query($dbhandle, $sql);
} else {
    echo 'Error opening sqlite db: ' . $sqliteerror;
    exit;
}
?>

In this example, we have a function that calculates the md5 sum of a string, and then reverses it. When the SQL statement executes, it returns the value of the filename transformed by our function. The data returned in $rows contains the processed result.

The beauty of this technique is that you do not need to process the result using a foreach() loop after you have queried for the data.

PHP registers a special function named php when the database is first opened. The php function can be used to call any PHP function without having to register it first.

예 2219. Example of using the PHP function

<?php
$rows = sqlite_array_query($dbhandle, "SELECT php('md5', filename) from files");
?>

This example will call the md5() on each filename column in the database and return the result into $rows

참고: For performance reasons, PHP will not automatically encode/decode binary data passed to and from your UDF's. You need to manually encode/decode the parameters and return values if you need to process binary data in this way. Take a look at sqlite_udf_encode_binary() and sqlite_udf_decode_binary() for more details.

작은 정보

It is not recommended to use UDF's to handle processing of binary data, unless high performance is not a key requirement of your application.

작은 정보

You can use sqlite_create_function() and sqlite_create_aggregate() to override SQLite native SQL functions.

참고

sqlite_create_aggregate()

이전 | 위로 | 다음
sqlite_create_aggregate | 처음으로 | sqlite_current


sqlite_current

이전 CLVI. SQLite Functions 다음

sqlite_current,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_current, SQLiteResult->current, SQLiteUnbuffered->current -- Fetches the current row from a result set as an array

설명

array sqlite_current ( resource $result [, int $result_type [, bool $decode_binary]] )

Object oriented style (method):

class SQLiteResult {
array current ( [int $result_type [, bool $decode_binary]] )
} class SQLiteUnbuffered {
array current ( [int $result_type [, bool $decode_binary]] )
}

sqlite_current() is identical to sqlite_fetch_array() except that it does not advance to the next row prior to returning the data; it returns the data from the current position only.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

result_type

선택적인 result_type 매개변수는 반환하는 배열이 어떤 형식일지에 대한 대한 상수를 받습니다. SQLITE_ASSOC를 사용하면 연상배열(이름 필드)로 반환합니다. SQLITE_NUM은 수치배열(순차적인 필드 번호)를 반환합니다. SQLITE_BOTH는 연상 및 수치를 동시에 반환합니다. SQLITE_BOTH가 기본값입니다.

decode_binary

decode_binary 매개변수가 TRUE(기본값)로 설정되면, PHP는 sqlite_escape_string()를 사용하여 인코드한 데이터로 취급하여 이진 인코딩을 해제합니다. 다른 sqlite 적용 프로그램에서 생성한 데이터베이스를 사용하지 않는 한, 기본값으로 사용하면 됩니다.

반환값

Returns an array of the current row from a result set; FALSE if the current position is beyond the final row.

SQLITE_ASSOC와 SQLITE_BOTH로 반환한 열 이름은 sqlite.assoc_case 설정 옵션에 따라서 대소문자가 변환됩니다.

참고

sqlite_seek()
sqlite_next()
sqlite_fetch_array()

이전 | 위로 | 다음
sqlite_create_function | 처음으로 | sqlite_error_string


sqlite_error_string

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_error_string -- Returns the textual description of an error code

설명

string sqlite_error_string ( int $error_code )

Returns a human readable description of the error_code returned from sqlite_last_error().

참고

sqlite_last_error()

이전 | 위로 | 다음
sqlite_current | 처음으로 | sqlite_escape_string


sqlite_escape_string

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_escape_string -- Escapes a string for use as a query parameter

설명

string sqlite_escape_string ( string $item )

sqlite_escape_string() will correctly quote the string specified by item for use in an SQLite SQL statement. This includes doubling up single-quote characters (') and checking for binary-unsafe characters in the query string.

If the item contains a NUL character, or if it begins with a character whose ordinal value is 0x01, PHP will apply a binary encoding scheme so that you can safely store and retrieve binary data.

Although the encoding makes it safe to insert the data, it will render simple text comparisons and LIKE clauses in your queries unusable for the columns that contain the binary data. In practice, this shouldn't be a problem, as your schema should be such that you don't use such things on binary columns (in fact, it might be better to store binary data using other means, such as in files).

주의

addslashes() should NOT be used to quote your strings for SQLite queries; it will lead to strange results when retrieving your data.

참고:
    Do not use this function to encode the return values from UDF's created
    using sqlite_create_function() or
    sqlite_create_aggregate() - use
    sqlite_udf_encode_binary() instead.

참고

sqlite_udf_encode_binary()

이전 | 위로 | 다음
sqlite_error_string | 처음으로 | sqlite_exec


sqlite_exec

이전 CLVI. SQLite Functions 다음

sqlite_exec,

(PHP 5, PECL sqlite:1.0.3)

sqlite_exec, SQLiteDatabase->exec -- Executes a result-less query against a given database

설명

bool sqlite_exec ( resource $dbhandle, string $query [, string &$error_msg] )
bool sqlite_exec ( string $query, resource $dbhandle )

Object oriented style (method):

class SQLiteDatabase {
bool queryExec ( string $query [, string &$error_msg] )
}

Executes an SQL statement given by the query against a given database handle (specified by the dbhandle parameter).

주의

SQLite will execute multiple queries separated by semicolons, so you can use it to execute a batch of SQL that you have loaded from a file or have embedded in a script.

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

query

The query to be executed.

error_msg

The specified variable will be filled if an error occurs. This is specially important because SQL syntax errors can't be fetched using the sqlite_last_error() function.

참고: (MySQL 같은) 다른 데이터베이스 확장과 호환성을 유지하기 위하여 두가지 다른 형식의 문법을 지원합니다. 권장하는 방식은 dbhandle 매개변수를 함수의 첫번째 매개변수로 사용하는 것입니다.

반환값

This function will return a boolean result; TRUE for success or FALSE for failure. If you need to run a query that returns rows, see sqlite_query().

SQLITE_ASSOC와 SQLITE_BOTH로 반환한 열 이름은 sqlite.assoc_case 설정 옵션에 따라서 대소문자가 변환됩니다.

변경 기록

버전 | 설명
5.1.0 | Added the error_msg parameter

예제

예 2220. Procedural example

<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_exec($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
    exit("Error in query: '$error'");
} else {
    echo 'Number of rows modified: ', sqlite_changes($dbhandle);
}
?>

예 2221. Object-oriented example

<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->queryExec("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
    exit("Error in query: '$error'");
} else {
    echo 'Number of rows modified: ', $dbhandle->changes();
}
?>

참고

sqlite_query()
sqlite_unbuffered_query()
sqlite_array_query()

이전 | 위로 | 다음
sqlite_escape_string | 처음으로 | sqlite_factory


sqlite_factory

(PHP 5)

sqlite_factory -- Opens a SQLite database and returns a SQLiteDatabase object

설명

SQLiteDatabase sqlite_factory ( string $filename [, int $mode [, string &$error_message]] )

sqlite_factory() behaves similarly to sqlite_open() in that it opens an SQLite database or attempts to create it if it does not exist. However, a SQLiteDatabase object is returned rather than a resource. Please see the sqlite_open() reference page for further usage and caveats.

매개변수

filename

The filename of the SQLite database.

mode

The mode of the file. Intended to be used to open the database in read-only mode. Presently, this parameter is ignored by the sqlite library. The default value for mode is the octal value 0666 and this is the recommended value.

error_message

Passed by reference and is set to hold a descriptive error message explaining why the database could not be opened if there was an error.

반환값

Returns a SQLiteDatabase object on success, NULL on error.

예제

예 2222. sqlite_factory() example

<?php
$dbhandle = sqlite_factory('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

/* functionally equivalent to: */

$dbhandle = new SQLiteDatabase('sqlitedb');
$dbhandle->query('SELECT user_id, username FROM users');

?>

참고

sqlite_open()
sqlite_popen()

이전 | 위로 | 다음
sqlite_exec | 처음으로 | sqlite_fetch_all


sqlite_fetch_all

이전 CLVI. SQLite Functions 다음

sqlite_fetch_all,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_fetch_all, SQLiteResult->fetchAll, SQLiteUnbuffered->fetchAll -- Fetches all rows from a result set as an array of arrays

설명

array sqlite_fetch_all ( resource $result [, int $result_type [, bool $decode_binary]] )

Object oriented style (method):

class SQLiteResult {
array fetchAll ( [int $result_type [, bool $decode_binary]] )
} class SQLiteUnbuffered {
array fetchAll ( [int $result_type [, bool $decode_binary]] )
}

sqlite_fetch_all() returns an array of the entire result set from the result resource. It is similar to calling sqlite_query() (or sqlite_unbuffered_query()) and then sqlite_fetch_array() for each row in the result set.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

result_type

선택적인 result_type 매개변수는 반환하는 배열이 어떤 형식일지에 대한 대한 상수를 받습니다. SQLITE_ASSOC를 사용하면 연상배열(이름 필드)로 반환합니다. SQLITE_NUM은 수치배열(순차적인 필드 번호)를 반환합니다. SQLITE_BOTH는 연상 및 수치를 동시에 반환합니다. SQLITE_BOTH가 기본값입니다.

decode_binary

decode_binary 매개변수가 TRUE(기본값)로 설정되면, PHP는 sqlite_escape_string()를 사용하여 인코드한 데이터로 취급하여 이진 인코딩을 해제합니다. 다른 sqlite 적용 프로그램에서 생성한 데이터베이스를 사용하지 않는 한, 기본값으로 사용하면 됩니다.

반환값

Returns an array of the remaining rows in a result set. If called right after sqlite_query(), it returns all rows. If called after sqlite_fetch_array(), it returns the rest. If there are no rows in a result set, it returns an empty array.

SQLITE_ASSOC와 SQLITE_BOTH로 반환한 열 이름은 sqlite.assoc_case 설정 옵션에 따라서 대소문자가 변환됩니다.

예제

예 2223. Procedural example

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
$result = sqlite_fetch_all($query, SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

예 2224. Object-oriented example

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // buffered result set
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // unbuffered result set

$result = $query->fetchAll(SQLITE_ASSOC);
foreach ($result as $entry) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

참고

sqlite_fetch_array()

이전 | 위로 | 다음
sqlite_factory | 처음으로 | sqlite_fetch_array


sqlite_fetch_array

이전 CLVI. SQLite Functions 다음

sqlite_fetch_array,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_fetch_array, SQLiteResult->fetch, SQLiteUnbuffered->fetch -- Fetches the next row from a result set as an array

설명

array sqlite_fetch_array ( resource $result [, int $result_type [, bool $decode_binary]] )

Object oriented style (method):

class SQLiteResult {
array fetch ( [int $result_type [, bool $decode_binary]] )
} class SQLiteUnbuffered {
array fetch ( [int $result_type [, bool $decode_binary]] )
}

Fetches the next row from the given result handle. If there are no more rows, returns FALSE, otherwise returns an associative array representing the row data.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

result_type

선택적인 result_type 매개변수는 반환하는 배열이 어떤 형식일지에 대한 대한 상수를 받습니다. SQLITE_ASSOC를 사용하면 연상배열(이름 필드)로 반환합니다. SQLITE_NUM은 수치배열(순차적인 필드 번호)를 반환합니다. SQLITE_BOTH는 연상 및 수치를 동시에 반환합니다. SQLITE_BOTH가 기본값입니다.

decode_binary

decode_binary 매개변수가 TRUE(기본값)로 설정되면, PHP는 sqlite_escape_string()를 사용하여 인코드한 데이터로 취급하여 이진 인코딩을 해제합니다. 다른 sqlite 적용 프로그램에서 생성한 데이터베이스를 사용하지 않는 한, 기본값으로 사용하면 됩니다.

반환값

Returns an array of the next row from a result set; FALSE if the next position is beyond the final row.

SQLITE_ASSOC와 SQLITE_BOTH로 반환한 열 이름은 sqlite.assoc_case 설정 옵션에 따라서 대소문자가 변환됩니다.

예제

예 2225. Procedural example

<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
while ($entry = sqlite_fetch_array($query, SQLITE_ASSOC)) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

예 2226. Object-oriented example

<?php
$dbhandle = new SQLiteDatabase('sqlitedb');

$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // buffered result set
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // unbuffered result set

while ($entry = $query->fetch(SQLITE_ASSOC)) {
    echo 'Name: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
}
?>

참고

sqlite_array_query()
sqlite_fetch_string()

이전 | 위로 | 다음
sqlite_fetch_all | 처음으로 | sqlite_fetch_column_types


sqlite_fetch_column_types

이전 CLVI. SQLite Functions 다음

sqlite_fetch_column_types,

(PHP 5)

sqlite_fetch_column_types, SQLiteDatabase->fetchColumnTypes -- Return an array of column types from a particular table

설명

array sqlite_fetch_column_types ( string $table_name, resource $dbhandle [, int $result_type] )

Object oriented style (method):

class SQLiteDatabase {
array fetchColumnTypes ( string $table_name [, int $result_type] )
}

sqlite_fetch_column_types() returns an array of column data types from the specified table_name table.

매개변수

table_name

The table name to query.

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

result_type

The optional result_type parameter accepts a constant and determines how the returned array will be indexed. Using SQLITE_ASSOC will return only associative indices (named fields) while SQLITE_NUM will return only numerical indices (ordinal field numbers). SQLITE_BOTH will return both associative and numerical indices. SQLITE_ASSOC is the default for this function.

반환값

Returns an array of column data types; FALSE on error.

SQLITE_ASSOC와 SQLITE_BOTH로 반환한 열 이름은 sqlite.assoc_case 설정 옵션에 따라서 대소문자가 변환됩니다.

변경 기록

버전 | 설명
5.1.0 | Added result_type

예제

예 2227. Procedural example

<?php
$db = sqlite_open('mysqlitedb');
sqlite_query($db, 'CREATE TABLE foo (bar varchar(10), arf text)');
$cols = sqlite_fetch_column_types('foo', $db, SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Column: $column  Type: $type";
}
?>

예 2228. Object-oriented example

<?php
$db = new SQLiteDatabase('mysqlitedb');
$db->query('CREATE TABLE foo (bar varchar(10), arf text)');
$cols = $db->fetchColumnTypes('foo', SQLITE_ASSOC);

foreach ($cols as $column => $type) {
    echo "Column: $column  Type: $type";
}
?>

위 예제의 출력:

Column: bar  Type: VARCHAR
Column: arf  Type: TEXT

이전 | 위로 | 다음
sqlite_fetch_array | 처음으로 | sqlite_fetch_object


sqlite_fetch_object

이전 CLVI. SQLite Functions 다음

sqlite_fetch_object,

(PHP 5)

sqlite_fetch_object, SQLiteResult->fetchObject, SQLiteUnbuffered->fetchObject -- Fetches the next row from a result set as an object

설명

object sqlite_fetch_object ( resource $result [, string $class_name [, array $ctor_params [, bool $decode_binary]]] )

Object oriented style (method):

class SQLiteResult {
object fetchObject ( [string $class_name [, array $ctor_params [, bool $decode_binary]]] )
} class SQLiteUnbuffered {
object fetchObject ( [string $class_name [, array $ctor_params [, bool $decode_binary]]] )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
sqlite_fetch_column_types | 처음으로 | sqlite_fetch_single


sqlite_fetch_single

이전 CLVI. SQLite Functions 다음

sqlite_fetch_single,

(PHP 5, PECL sqlite:1.0.1-1.0.3)

sqlite_fetch_single, SQLiteResult->fetchSingle, SQLiteUnbuffered->fetchSingle -- Fetches the first column of a result set as a string

설명

string sqlite_fetch_single ( resource $result [, bool $decode_binary] )

Object oriented style (method):

class SQLiteResult {
string fetchSingle ( [bool $decode_binary] )
} class SQLiteUnbuffered {
string fetchSingle ( [bool $decode_binary] )
}

sqlite_fetch_single() is identical to sqlite_fetch_array() except that it returns the value of the first column of the rowset.

This is the most optimal way to retrieve data when you are only interested in the values from a single column of data.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

decode_binary

decode_binary 매개변수가 TRUE(기본값)로 설정되면, PHP는 sqlite_escape_string()를 사용하여 인코드한 데이터로 취급하여 이진 인코딩을 해제합니다. 다른 sqlite 적용 프로그램에서 생성한 데이터베이스를 사용하지 않는 한, 기본값으로 사용하면 됩니다.

예제

예 2229. A sqlite_fetch_single() example

<?php
if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {

    $sql = "SELECT id FROM sometable WHERE id = 42";
    $res = sqlite_query($dbhandle, $sql);

    if (sqlite_num_rows($res) > 0) {
        echo sqlite_fetch_single($res); // 42
    }

    sqlite_close($dbhandle);
}
?>

참고

sqlite_fetch_array()

이전 | 위로 | 다음
sqlite_fetch_object | 처음으로 | sqlite_fetch_string


sqlite_fetch_string

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_fetch_string -- Alias of sqlite_fetch_single()

설명

이 함수는 다음 함수의 alias입니다: sqlite_fetch_single().

이전 | 위로 | 다음
sqlite_fetch_single | 처음으로 | sqlite_field_name


sqlite_field_name

이전 CLVI. SQLite Functions 다음

sqlite_field_name,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_field_name, SQLiteResult->fieldName, SQLiteUnbuffered->fieldName -- Returns the name of a particular field

설명

string sqlite_field_name ( resource $result, int $field_index )

Object oriented style (method):

class SQLiteResult {
string fieldName ( int $field_index )
} class SQLiteUnbuffered {
string fieldName ( int $field_index )
}

Given the ordinal column number, field_index, sqlite_field_name() returns the name of that field in the result set result.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

field_index

The ordinal column number in the result set.

반환값

Returns the name of a field in an SQLite result set, given the ordinal column number; FALSE on error.

SQLITE_ASSOC와 SQLITE_BOTH로 반환한 열 이름은 sqlite.assoc_case 설정 옵션에 따라서 대소문자가 변환됩니다.

이전 | 위로 | 다음
sqlite_fetch_string | 처음으로 | sqlite_has_more


sqlite_has_more

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_has_more -- Finds whether or not more rows are available

설명

bool sqlite_has_more ( resource $result )

Finds whether more rows are available from the given result set.

매개변수

result

The SQLite result resource.

반환값

Returns TRUE if there are more rows available from the result handle, or FALSE otherwise.

참고

sqlite_num_rows()
sqlite_changes()

이전 | 위로 | 다음
sqlite_field_name | 처음으로 | sqlite_has_prev


sqlite_has_prev

이전 CLVI. SQLite Functions 다음

sqlite_has_prev,

(PHP 5)

sqlite_has_prev, SQLiteResult->hasPrev -- Returns whether or not a previous row is available

설명

bool sqlite_has_prev ( resource $result )

Object oriented style (method):

class SQLiteResult {
bool hasPrev ( void )
}

Find whether there are more previous rows from the given result handle.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

참고: 이 함수는 버퍼 없는 결과 핸들(unbuffered result handles)을 다룰 수 없습니다.

반환값

Returns TRUE if there are more previous rows available from the result handle, or FALSE otherwise.

참고

sqlite_prev()
sqlite_has_more()
sqlite_num_rows()

이전 | 위로 | 다음
sqlite_has_more | 처음으로 | sqlite_key


sqlite_last_error

이전 CLVI. SQLite Functions 다음

sqlite_last_error,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_last_error, SQLiteDatabase->lastError -- Returns the error code of the last error for a database

설명

int sqlite_last_error ( resource $dbhandle )

Object oriented style (method):

class SQLiteDatabase {
int lastError ( void )
}

Returns the error code from the last operation performed on dbhandle (the database handle), or 0 when no error occurred. A human readable description of the error code can be retrieved using sqlite_error_string().

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

참고

sqlite_error_string()

이전 | 위로 | 다음
sqlite_key | 처음으로 | sqlite_last_insert_rowid


sqlite_last_insert_rowid

이전 CLVI. SQLite Functions 다음

sqlite_last_insert_rowid,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_last_insert_rowid, SQLiteDatabase->lastInsertRowid -- Returns the rowid of the most recently inserted row

설명

int sqlite_last_insert_rowid ( resource $dbhandle )

Object oriented style (method):

class SQLiteDatabase {
int lastInsertRowid ( void )
}

Returns the rowid of the row that was most recently inserted into the database dbhandle, if it was created as an auto-increment field.

작은 정보

You can create auto-increment fields in SQLite by declaring them as INTEGER PRIMARY KEY in your table schema.

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

이전 | 위로 | 다음
sqlite_last_error | 처음으로 | sqlite_libencoding


sqlite_libencoding

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_libencoding -- Returns the encoding of the linked SQLite library

설명

string sqlite_libencoding ( void )

The SQLite library may be compiled in either ISO-8859-1 or UTF-8 compatible modes. This function allows you to determine which encoding scheme is used by your version of the library.

주의

The default PHP distribution builds libsqlite in ISO-8859-1 encoding mode. However, this is a misnomer; rather than handling ISO-8859-1, it operates according to your current locale settings for string comparisons and sort ordering. So, rather than ISO-8859-1, you should think of it as being '8-bit' instead.

When compiled with UTF-8 support, sqlite handles encoding and decoding of UTF-8 multi-byte character sequences, but does not yet do a complete job when working with the data (no normalization is performed for example), and some comparison operations may still not be carried out correctly.

주의

It is not recommended that you use PHP in a web-server configuration with a version of the SQLite library compiled with UTF-8 support, since libsqlite will abort the process if it detects a problem with the UTF-8 encoding.

참고

sqlite_lib_version()

이전 | 위로 | 다음
sqlite_last_insert_rowid | 처음으로 | sqlite_libversion


sqlite_libversion

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_libversion -- Returns the version of the linked SQLite library

설명

string sqlite_libversion ( void )

Returns the version of the linked SQLite library.

참고

sqlite_libencoding()

이전 | 위로 | 다음
sqlite_libencoding | 처음으로 | sqlite_next


sqlite_next

이전 CLVI. SQLite Functions 다음

sqlite_next,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_next, SQLiteResult->next, SQLiteUnbuffered->next -- Seek to the next row number

설명

bool sqlite_next ( resource $result )

Object oriented style (method):

class SQLiteResult {
bool next ( void )
} class SQLiteUnbuffered {
bool next ( void )
}

sqlite_next() advances the result handle result to the next row.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

반환값

Returns TRUE on success, or FALSE if there are no more rows.

참고

sqlite_seek()
sqlite_current()
sqlite_rewind()

이전 | 위로 | 다음
sqlite_libversion | 처음으로 | sqlite_num_fields


sqlite_num_fields

이전 CLVI. SQLite Functions 다음

sqlite_num_fields,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_num_fields, SQLiteResult->numFields, SQLiteUnbuffered->numFields -- Returns the number of fields in a result set

설명

int sqlite_num_fields ( resource $result )

Object oriented style (method):

class SQLiteResult {
int numFields ( void )
} class SQLiteUnbuffered {
int numFields ( void )
}

Returns the number of fields in the result set.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

참고

sqlite_changes()
sqlite_num_rows()

이전 | 위로 | 다음
sqlite_next | 처음으로 | sqlite_num_rows


sqlite_num_rows

이전 CLVI. SQLite Functions 다음

sqlite_num_rows,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_num_rows, SQLiteResult->numRows -- Returns the number of rows in a buffered result set

설명

int sqlite_num_rows ( resource $result )

Object oriented style (method):

class SQLiteResult {
int numRows ( void )
}

Returns the number of rows in the buffered result set.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

참고: 이 함수는 버퍼 없는 결과 핸들(unbuffered result handles)을 다룰 수 없습니다.

예제

예 2230. Procedural example

<?php
$db = sqlite_open('mysqlitedb');
$result = sqlite_query($db, "SELECT * FROM mytable WHERE name='John Doe'");
$rows = sqlite_num_rows($result);

echo "Number of rows: $rows";
?>

예 2231. Object-oriented example

<?php
$db = new SQLiteDatabase('mysqlitedb');
$result = $db->query("SELECT * FROM mytable WHERE name='John Doe'");
$rows = $result->numRows();

echo "Number of rows: $rows";
?>

참고

sqlite_changes()
sqlite_query()
sqlite_num_fields()

이전 | 위로 | 다음
sqlite_num_fields | 처음으로 | sqlite_open


sqlite_open

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_open -- Opens a SQLite database and create the database if it does not exist

설명

resource sqlite_open ( string $filename [, int $mode [, string &$error_message]] )

Object oriented style (constructor):

class SQLiteDatabase {
__construct ( string $filename [, int $mode [, string &$error_message]] )
}

Opens a SQLite database or creates the database if it does not exist.

매개변수

filename

The filename of the SQLite database. If the file does not exist, SQLite will attempt to create it. PHP must have write permissions to the file if data is inserted, the database schema is modified or to create the database if it does not exist.

mode

The mode of the file. Intended to be used to open the database in read-only mode. Presently, this parameter is ignored by the sqlite library. The default value for mode is the octal value 0666 and this is the recommended value.

error_message

Passed by reference and is set to hold a descriptive error message explaining why the database could not be opened if there was an error.

반환값

Returns a resource (database handle) on success, FALSE on error.

예제

예 2232. sqlite_open() example

<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
    sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))');
    sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
    $result = sqlite_query($db, 'select bar from foo');
    var_dump(sqlite_fetch_array($result));
} else {
    die($sqliteerror);
}
?>

주의

작은 정보

On Unix platforms, SQLite is sensitive to scripts that use the fork() system call. If you do have such a script, it is recommended that you close the handle prior to forking and then re-open it in the child and/or parent. For more information on this issue, see » The C language interface to the SQLite library in the section entitled Multi-Threading And SQLite.

작은 정보

It is not recommended to work with SQLite databases mounted on NFS partitions. Since NFS is notoriously bad when it comes to locking you may find that you cannot even open the database at all, and if it succeeds, the locking behaviour may be undefined.

참고: Starting with SQLite library version 2.8.2, you can specify :memory: as the filename to create a database that lives only in the memory of the computer. This is useful mostly for temporary processing, as the in-memory database will be destroyed when the process ends. It can also be useful when coupled with the ATTACH DATABASE SQL statement to load other databases and move and query data between them.

참고: SQLite is 안전 모드 and open_basedir aware.

참고

sqlite_popen()
sqlite_close()
sqlite_factory()

이전 | 위로 | 다음
sqlite_num_rows | 처음으로 | sqlite_popen


sqlite_popen

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_popen -- Opens a persistent handle to an SQLite database and create the database if it does not exist

설명

resource sqlite_popen ( string $filename [, int $mode [, string &$error_message]] )

This function behaves identically to sqlite_open() except that is uses the persistent resource mechanism of PHP. For information about the meaning of the parameters, read the sqlite_open() manual page.

sqlite_popen() will first check to see if a persistent handle has already been opened for the given filename. If it finds one, it returns that handle to your script, otherwise it opens a fresh handle to the database.

The benefit of this approach is that you don't incur the performance cost of re-reading the database and index schema on each page hit served by persistent web server SAPI's (any SAPI except for regular CGI or CLI).

참고: If you use persistent handles and have the database updated by a background process (perhaps via a crontab), and that process re-creates the database by overwriting it (either by unlinking and rebuilding, or moving the updated version to replace the current version), you may experience undefined behaviour when a persistent handle on the old version of the database is recycled.

To avoid this situation, have your background processes open the same database file and perform their updates in a transaction.

매개변수

filename

The filename of the SQLite database. If the file does not exist, SQLite will attempt to create it. PHP must have write permissions to the file if data is inserted, the database schema is modified or to create the database if it does not exist.

mode

The mode of the file. Intended to be used to open the database in read-only mode. Presently, this parameter is ignored by the sqlite library. The default value for mode is the octal value 0666 and this is the recommended value.

error_message

Passed by reference and is set to hold a descriptive error message explaining why the database could not be opened if there was an error.

반환값

Returns a resource (database handle) on success, FALSE on error.

참고

sqlite_open()
sqlite_close()
sqlite_factory()

이전 | 위로 | 다음
sqlite_open | 처음으로 | sqlite_prev


sqlite_prev

이전 CLVI. SQLite Functions 다음

sqlite_prev,

(PHP 5)

sqlite_prev, SQLiteResult->prev -- Seek to the previous row number of a result set

설명

bool sqlite_prev ( resource $result )

Object oriented style (method):

class SQLiteResult {
bool prev ( void )
}

sqlite_prev() seeks back the result handle to the previous row.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

참고: 이 함수는 버퍼 없는 결과 핸들(unbuffered result handles)을 다룰 수 없습니다.

반환값

Returns TRUE on success, or FALSE if there are no more previous rows.

참고

sqlite_has_prev()
sqlite_rewind()
sqlite_next()

이전 | 위로 | 다음
sqlite_popen | 처음으로 | sqlite_query


sqlite_query

이전 CLVI. SQLite Functions 다음

sqlite_query,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_query, SQLiteDatabase->query -- Executes a query against a given database and returns a result handle

설명

resource sqlite_query ( resource $dbhandle, string $query [, int $result_type [, string &$error_msg]] )
resource sqlite_query ( string $query, resource $dbhandle [, int $result_type [, string &$error_msg]] )

Object oriented style (method):

class SQLiteDatabase {
SQLiteResult query ( string $query [, int $result_type [, string &$error_msg]] )
}

Executes an SQL statement given by the query against a given database handle.

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

query

The query to be executed.

result_type

선택적인 result_type 매개변수는 반환하는 배열이 어떤 형식일지에 대한 대한 상수를 받습니다. SQLITE_ASSOC를 사용하면 연상배열(이름 필드)로 반환합니다. SQLITE_NUM은 수치배열(순차적인 필드 번호)를 반환합니다. SQLITE_BOTH는 연상 및 수치를 동시에 반환합니다. SQLITE_BOTH가 기본값입니다.

error_msg

The specified variable will be filled if an error occurs. This is specially important because SQL syntax errors can't be fetched using the sqlite_last_error() function.

참고: (MySQL 같은) 다른 데이터베이스 확장과 호환성을 유지하기 위하여 두가지 다른 형식의 문법을 지원합니다. 권장하는 방식은 dbhandle 매개변수를 함수의 첫번째 매개변수로 사용하는 것입니다.

반환값

This function will return a result handle or FALSE on failure. For queries that return rows, the result handle can then be used with functions such as sqlite_fetch_array() and sqlite_seek().

Regardless of the query type, this function will return FALSE if the query failed.

sqlite_query() returns a buffered, seekable result handle. This is useful for reasonably small queries where you need to be able to randomly access the rows. Buffered result handles will allocate memory to hold the entire result and will not return until it has been fetched. If you only need sequential access to the data, it is recommended that you use the much higher performance sqlite_unbuffered_query() instead.

변경 기록

버전 | 설명
5.1.0 | Added the error_msg parameter

주의

주의

SQLite will execute multiple queries separated by semicolons, so you can use it to execute a batch of SQL that you have loaded from a file or have embedded in a script. However, this works only when the result of the function is not used - if it is used, only the first SQL statement would be executed. Function sqlite_exec() will always execute multiple SQL statements.

When executing multiple queries, the return value of this function will be FALSE if there was an error, but undefined otherwise (it might be TRUE for success or it might return a result handle).

참고

sqlite_unbuffered_query()
sqlite_array_query()

이전 | 위로 | 다음
sqlite_prev | 처음으로 | sqlite_rewind


sqlite_rewind

이전 CLVI. SQLite Functions 다음

sqlite_rewind,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_rewind, SQLiteResult->rewind -- Seek to the first row number

설명

bool sqlite_rewind ( resource $result )

Object oriented style (method):

class SQLiteResult {
bool rewind ( void )
}

sqlite_rewind() seeks back to the first row in the given result set.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

참고: 이 함수는 버퍼 없는 결과 핸들(unbuffered result handles)을 다룰 수 없습니다.

반환값

Returns FALSE if there are no rows in the result set, TRUE otherwise.

참고

sqlite_next()
sqlite_current()
sqlite_seek()

이전 | 위로 | 다음
sqlite_query | 처음으로 | sqlite_seek


sqlite_seek

이전 CLVI. SQLite Functions 다음

sqlite_seek,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_seek, SQLiteResult->seek -- Seek to a particular row number of a buffered result set

설명

bool sqlite_seek ( resource $result, int $rownum )

Object oriented style (method):

class SQLiteResult {
bool seek ( int $rownum )
}

sqlite_seek() seeks to the row given by the parameter rownum.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

참고: 이 함수는 버퍼 없는 결과 핸들(unbuffered result handles)을 다룰 수 없습니다.

rownum

The ordinal row number to seek to. The row number is zero-based (0 is the first row).

참고: 이 함수는 버퍼 없는 결과 핸들(unbuffered result handles)을 다룰 수 없습니다.

반환값

Returns FALSE if the row does not exist, TRUE otherwise.

참고

sqlite_next()
sqlite_current()
sqlite_rewind()

이전 | 위로 | 다음
sqlite_rewind | 처음으로 | sqlite_single_query


sqlite_single_query

이전 CLVI. SQLite Functions 다음

sqlite_single_query,

(PHP 5, PECL sqlite:1.0.1-1.0.3)

sqlite_single_query, SQLiteDatabase->singleQuery -- Executes a query and returns either an array for one single column or the value of the first row

설명

array sqlite_single_query ( resource $db, string $query [, bool $first_row_only [, bool $decode_binary]] )

Object oriented style (method):

class SQLiteDatabase {
array singleQuery ( string $query [, bool $first_row_only [, bool $decode_binary]] )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
sqlite_seek | 처음으로 | sqlite_udf_decode_binary


sqlite_udf_decode_binary

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_udf_decode_binary -- Decode binary data passed as parameters to an UDF

설명

string sqlite_udf_decode_binary ( string $data )

sqlite_udf_decode_binary() decodes the binary encoding that was applied to the parameter by either sqlite_udf_encode_binary() or sqlite_escape_string().

You must call this function on parameters passed to your UDF if you need them to handle binary data, as the binary encoding employed by PHP will obscure the content and of the parameter in its natural, non-coded form.

PHP does not perform this encode/decode operation automatically as it would severely impact performance if it did.

예제

예 2233. binary-safe max_length aggregation function example

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = sqlite_open(':memory:');
sqlite_query($db, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($db, "INSERT INTO strings VALUES ('$str')");
}

function max_len_step(&$context, $string)
{
    $string = sqlite_udf_decode_binary($string);
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context)
{
    return $context;
}

sqlite_create_aggregate($db, 'max_len', 'max_len_step', 'max_len_finalize');

var_dump(sqlite_array_query($db, 'SELECT max_len(a) from strings'));

?>

참고

sqlite_udf_encode_binary()
sqlite_create_function()
sqlite_create_aggregate()

이전 | 위로 | 다음
sqlite_single_query | 처음으로 | sqlite_udf_encode_binary


sqlite_udf_encode_binary

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_udf_encode_binary -- Encode binary data before returning it from an UDF

설명

string sqlite_udf_encode_binary ( string $data )

sqlite_udf_encode_binary() applies a binary encoding to the data so that it can be safely returned from queries (since the underlying libsqlite API is not binary safe).

If there is a chance that your data might be binary unsafe (e.g.: it contains a NUL byte in the middle rather than at the end, or if it has and 0x01 byte as the first character) then you must call this function to encode the return value from your UDF.

PHP does not perform this encode/decode operation automatically as it would severely impact performance if it did.

참고: Do not use sqlite_escape_string() to quote strings returned from UDF's as it will lead to double-quoting of the data. Use sqlite_udf_encode_binary() instead!

참고

sqlite_udf_decode_binary()
sqlite_escape_string()
sqlite_create_function()
sqlite_create_aggregate()

이전 | 위로 | 다음
sqlite_udf_decode_binary | 처음으로 | sqlite_unbuffered_query


sqlite_unbuffered_query

이전 CLVI. SQLite Functions 다음

sqlite_unbuffered_query,

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_unbuffered_query, SQLiteDatabase->unbufferedQuery -- Execute a query that does not prefetch and buffer all data

설명

resource sqlite_unbuffered_query ( resource $dbhandle, string $query [, int $result_type [, string &$error_msg]] )
resource sqlite_unbuffered_query ( string $query, resource $dbhandle [, int $result_type [, string &$error_msg]] )

Object oriented style (method):

class SQLiteDatabase {
SQLiteUnbuffered unbufferedQuery ( string $query [, int $result_type [, string &$error_msg]] )
}

sqlite_unbuffered_query() is identical to sqlite_query() except that the result that is returned is a sequential forward-only result set that can only be used to read each row, one after the other.

This function is ideal for generating things such as HTML tables where you only need to process one row at a time and don't need to randomly access the row data.

참고:
    Functions such as sqlite_seek(),
    sqlite_rewind(), sqlite_next(),
    sqlite_current(), and
    sqlite_num_rows() do not work on result handles
    returned from sqlite_unbuffered_query().

매개변수

dbhandle

The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.

query

The query to be executed.

result_type

선택적인 result_type 매개변수는 반환하는 배열이 어떤 형식일지에 대한 대한 상수를 받습니다. SQLITE_ASSOC를 사용하면 연상배열(이름 필드)로 반환합니다. SQLITE_NUM은 수치배열(순차적인 필드 번호)를 반환합니다. SQLITE_BOTH는 연상 및 수치를 동시에 반환합니다. SQLITE_BOTH가 기본값입니다.

error_msg

The specified variable will be filled if an error occurs. This is specially important because SQL syntax errors can't be fetched using the sqlite_last_error() function.

참고: (MySQL 같은) 다른 데이터베이스 확장과 호환성을 유지하기 위하여 두가지 다른 형식의 문법을 지원합니다. 권장하는 방식은 dbhandle 매개변수를 함수의 첫번째 매개변수로 사용하는 것입니다.

반환값

Returns a result handle or FALSE on failure.

sqlite_unbuffered_query() returns a sequential forward-only result set that can only be used to read each row, one after the other.

변경 기록

버전 | 설명
5.1.0 | Added the error_msg parameter

참고

sqlite_query()

이전 | 위로 | 다음
sqlite_udf_encode_binary | 처음으로 | sqlite_valid


Shockwave Flash Functions

이전 VI. 함수 레퍼런스 다음

CLXIII. Shockwave Flash Functions

소개

PHP offers the ability to create Shockwave Flash files via Paul Haeberli's libswf module.

참고: SWF support was added in PHP 4 RC2.

The libswf does not have support for Windows. The development of that library has been stopped, and the source is not available to port it to another systems.

For up to date SWF support take a look at the MING functions.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

요구 조건

You need the libswf library to compile PHP with support for this extension. You can download libswf at » ftp://ftp.sgi.com/sgi/graphics/grafica/flash/.

설치

Once you have libswf all you need to do is to configure --with-swf[=DIR] where DIR is a location containing the directories include and lib. The include directory has to contain the swf.h file and the lib directory has to contain the libswf.a file. If you unpack the libswf distribution the two files will be in one directory. Consequently you will have to copy the files to the proper location manually.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

MOD_COLOR (integer)
MOD_MATRIX (integer)
TYPE_PUSHBUTTON (integer)
TYPE_MENUBUTTON (integer)
BSHitTest (float)
BSDown (float)
BSOver (float)
BSUp (float)
OverDowntoIdle (integer)
IdletoOverDown (integer)
OutDowntoIdle (integer)
OutDowntoOverDown (integer)
OverDowntoOutDown (integer)
OverUptoOverDown (integer)
OverUptoIdle (integer)
IdletoOverUp (integer)
ButtonEnter (integer)
ButtonExit (integer)
MenuEnter (integer)
MenuExit (integer)

예제

Once you've successfully installed PHP with Shockwave Flash support you can then go about creating Shockwave files from PHP. You would be surprised at what you can do, take the following code:

예 2379. SWF example

<?php
swf_openfile("test.swf", 256, 256, 30, 1, 1, 1);
swf_ortho2(-100, 100, -100, 100);
swf_defineline(1, -70, 0, 70, 0, .2);
swf_definerect(4, 60, -10, 70, 0, 0);
swf_definerect(5, -60, 0, -70, 10, 0);
swf_addcolor(0, 0, 0, 0);

swf_definefont(10, "Mod");
swf_fontsize(5);
swf_fontslant(10);
swf_definetext(11, "This be Flash wit PHP!", 1);

swf_pushmatrix();
swf_translate(-50, 80, 0);
swf_placeobject(11, 60);
swf_popmatrix();

for ($i = 0; $i < 30; $i++) {
    $p = $i/(30-1);
    swf_pushmatrix();
    swf_scale(1-($p*.9), 1, 1);
    swf_rotate(60*$p, 'z');
    swf_translate(20+20*$p, $p/1.5, 0);
    swf_rotate(270*$p,  'z');
    swf_addcolor($p, 0, $p/1.2, -$p);
    swf_placeobject(1, 50);
    swf_placeobject(4, 50);
    swf_placeobject(5, 50);
    swf_popmatrix();
    swf_showframe();
}

for ($i = 0; $i < 30; $i++) {
    swf_removeobject(50);
    if (($i%4) == 0) {
        swf_showframe();
    }
}

swf_startdoaction();
swf_actionstop();
swf_enddoaction();

swf_closefile();
?>

차례

swf_actiongeturl -- Get a URL from a Shockwave Flash movie
swf_actiongotoframe -- Play a frame and then stop
swf_actiongotolabel -- Display a frame with the specified label
swf_actionnextframe -- Go forward one frame
swf_actionplay -- Start playing the flash movie from the current frame
swf_actionprevframe -- Go backwards one frame
swf_actionsettarget -- Set the context for actions
swf_actionstop -- Stop playing the flash movie at the current frame
swf_actiontogglequality -- Toggle between low and high quality
swf_actionwaitforframe -- Skip actions if a frame has not been loaded
swf_addbuttonrecord -- Controls location, appearance and active area of the current button
swf_addcolor -- Set the global add color to the rgba value specified
swf_closefile -- Close the current Shockwave Flash file
swf_definebitmap -- Define a bitmap
swf_definefont -- Defines a font
swf_defineline -- Define a line
swf_definepoly -- Define a polygon
swf_definerect -- Define a rectangle
swf_definetext -- Define a text string
swf_endbutton -- End the definition of the current button
swf_enddoaction -- End the current action
swf_endshape -- Completes the definition of the current shape
swf_endsymbol -- End the definition of a symbol
swf_fontsize -- Change the font size
swf_fontslant -- Set the font slant
swf_fonttracking -- Set the current font tracking
swf_getbitmapinfo -- Get information about a bitmap
swf_getfontinfo -- Gets font information
swf_getframe -- Get the frame number of the current frame
swf_labelframe -- Label the current frame
swf_lookat -- Define a viewing transformation
swf_modifyobject -- Modify an object
swf_mulcolor -- Sets the global multiply color to the rgba value specified
swf_nextid -- Returns the next free object id
swf_oncondition -- Describe a transition used to trigger an action list
swf_openfile -- Open a new Shockwave Flash file
swf_ortho2 -- Defines 2D orthographic mapping of user coordinates onto the current viewport
swf_ortho -- Defines an orthographic mapping of user coordinates onto the current viewport
swf_perspective -- Define a perspective projection transformation
swf_placeobject -- Place an object onto the screen
swf_polarview -- Define the viewer's position with polar coordinates
swf_popmatrix -- Restore a previous transformation matrix
swf_posround -- Enables or Disables the rounding of the translation when objects are placed or moved
swf_pushmatrix -- Push the current transformation matrix back unto the stack
swf_removeobject -- Remove an object
swf_rotate -- Rotate the current transformation
swf_scale -- Scale the current transformation
swf_setfont -- Change the current font
swf_setframe -- Switch to a specified frame
swf_shapearc -- Draw a circular arc
swf_shapecurveto3 -- Draw a cubic bezier curve
swf_shapecurveto -- Draw a quadratic bezier curve between two points
swf_shapefillbitmapclip -- Set current fill mode to clipped bitmap
swf_shapefillbitmaptile -- Set current fill mode to tiled bitmap
swf_shapefilloff -- Turns off filling
swf_shapefillsolid -- Set the current fill style to the specified color
swf_shapelinesolid -- Set the current line style
swf_shapelineto -- Draw a line
swf_shapemoveto -- Move the current position
swf_showframe -- Display the current frame
swf_startbutton -- Start the definition of a button
swf_startdoaction -- Start a description of an action list for the current frame
swf_startshape -- Start a complex shape
swf_startsymbol -- Define a symbol
swf_textwidth -- Get the width of a string
swf_translate -- Translate the current transformations
swf_viewport -- Select an area for future drawing
이전 | 위로 | 다음
svn_update | 처음으로 | swf_actiongeturl


swf_actiongeturl

(PHP 4)

swf_actiongeturl -- Get a URL from a Shockwave Flash movie

설명

void swf_actiongeturl ( string $url, string $target )

Gets the URL specified by the parameter url with the given target.

매개변수

url

The URL, as a string.

target

The target, as a string.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
CLXIII. Shockwave Flash Functions | 처음으로 | swf_actiongotoframe


swf_actiongotoframe

(PHP 4)

swf_actiongotoframe -- Play a frame and then stop

설명

void swf_actiongotoframe ( int $framenumber )

The swf_actiongotoframe() function will go to the frame specified by framenumber, play it, and then stop.

매개변수

framenumber

The frame number.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_actiongeturl | 처음으로 | swf_actiongotolabel


swf_actiongotolabel

(PHP 4)

swf_actiongotolabel -- Display a frame with the specified label

설명

void swf_actiongotolabel ( string $label )

The swf_actiongotolabel() function displays the frame with the label given by the label parameter and then stops.

매개변수

label

The frame label.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_actiongotoframe | 처음으로 | swf_actionnextframe


swf_actionnextframe

(PHP 4)

swf_actionnextframe -- Go forward one frame

설명

void swf_actionnextframe ( void )

Go forward one frame.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_actiongotolabel | 처음으로 | swf_actionplay


swf_actionplay

(PHP 4)

swf_actionplay -- Start playing the flash movie from the current frame

설명

void swf_actionplay ( void )

Start playing the flash movie from the current frame.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_actionnextframe | 처음으로 | swf_actionprevframe


swf_actionprevframe

(PHP 4)

swf_actionprevframe -- Go backwards one frame

설명

void swf_actionprevframe ( void )

주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_actionplay | 처음으로 | swf_actionsettarget


swf_actionsettarget

(PHP 4)

swf_actionsettarget -- Set the context for actions

설명

void swf_actionsettarget ( string $target )

Sets the context for all actions. You can use this to control other flash movies that are currently playing.

매개변수

target

The target, as a string.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_actionprevframe | 처음으로 | swf_actionstop


swf_actionstop

(PHP 4)

swf_actionstop -- Stop playing the flash movie at the current frame

설명

void swf_actionstop ( void )

Stop playing the flash movie at the current frame.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_actionsettarget | 처음으로 | swf_actiontogglequality


swf_actiontogglequality

(PHP 4)

swf_actiontogglequality -- Toggle between low and high quality

설명

void swf_actiontogglequality ( void )

Toggle the flash movie between high and low quality.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_actionstop | 처음으로 | swf_actionwaitforframe


swf_actionwaitforframe

(PHP 4)

swf_actionwaitforframe -- Skip actions if a frame has not been loaded

설명

void swf_actionwaitforframe ( int $framenumber, int $skipcount )

The swf_actionwaitforframe() function will check to see if the frame, specified by the framenumber parameter has been loaded, if not it will skip the number of actions specified by the skipcount parameter. This can be useful for "Loading..." type animations.

매개변수

framenumber

The frame number.

skipcount

The number of actions to skip.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_actiontogglequality | 처음으로 | swf_addbuttonrecord


swf_addbuttonrecord

(PHP 4)

swf_addbuttonrecord -- Controls location, appearance and active area of the current button

설명

void swf_addbuttonrecord ( int $states, int $shapeid, int $depth )

Allow you to define the specifics of using a button.

매개변수

states

Defines what states the button can have, these can be any or all of the following constants: BSHitTest, BSDown, BSOver or BSUp.

shapeid

The second parameter, the shapeid is the look of the button, this is usually the object id of the shape of the button.

depth

This parameter is the placement of the button in the current frame.

반환값

값을 반환하지 않습니다.

예제

예 2380. swf_addbuttonrecord() example

<?php
swf_startButton($objid, TYPE_MENUBUTTON);
swf_addButtonRecord(BSDown|BSOver, $buttonImageId, 340);
swf_onCondition(MenuEnter);
swf_actionGetUrl("http://www.example.com", "_level1");
swf_onCondition(MenuExit);
swf_actionGetUrl("", "_level1");
swf_endButton();
?>

이전 | 위로 | 다음
swf_actionwaitforframe | 처음으로 | swf_addcolor


swf_addcolor

(PHP 4)

swf_addcolor -- Set the global add color to the rgba value specified

설명

void swf_addcolor ( float $r, float $g, float $b, float $a )

Sets the global add color to the specified color. This color is then
implicitly used by the swf_placeobject(),
swf_modifyobject() and
swf_addbuttonrecord() functions.

The color of the object will be add by the given values when the object is written to the screen.

매개변수

r

Red value

g

Green value

b

Blue value

a

Alpha value

These parameters can be either positive or negative.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_addbuttonrecord | 처음으로 | swf_closefile


swf_closefile

(PHP 4)

swf_closefile -- Close the current Shockwave Flash file

설명

void swf_closefile ( [int $return_file] )

Close a file that was opened by the swf_openfile() function.

매개변수

return_file

If set then the contents of the SWF file are returned from the function.

예제

예 2381. Creating a simple flash file based on user input and outputting it and saving it in a database

<?php

// The $text variable is submitted by the
// user

// Global variables for database
// access (used in the swf_savedata() function)
$DBHOST = "localhost";
$DBUSER = "sterling";
$DBPASS = "secret";

swf_openfile("php://stdout", 256, 256, 30, 1, 1, 1);

    swf_definefont(10, "Ligon-Bold");
        swf_fontsize(12);
        swf_fontslant(10);

    swf_definetext(11, $text, 1);

    swf_pushmatrix();
        swf_translate(-50, 80, 0);
        swf_placeobject(11, 60);
    swf_popmatrix();

    swf_showframe();

    swf_startdoaction();
        swf_actionstop();
    swf_enddoaction();

$data = swf_closefile(1);

$data ?
  swf_savedata($data) :
  die("Error could not save SWF file");

// void swf_savedata(string data)
// Save the generated file a database
// for later retrieval
function swf_savedata($data)
{
    global $DBHOST,
           $DBUSER,
           $DBPASS;

    $dbh = @mysql_connect($DBHOST, $DBUSER, $DBPASS);

    if (!$dbh) {
        die (sprintf("Error [%d]: %s",
                      mysql_errno(), mysql_error()));
    }

    $stmt = "INSERT INTO swf_files (file) VALUES ('$data')";

    $sth = @mysql_query($stmt, $dbh);

    if (!$sth) {
        die (sprintf("Error [%d]: %s",
                      mysql_errno(), mysql_error()));
    }

    @mysql_free_result($sth);
    @mysql_close($dbh);
}
?>

이전 | 위로 | 다음
swf_addcolor | 처음으로 | swf_definebitmap


swf_definebitmap

(PHP 4)

swf_definebitmap -- Define a bitmap

설명

void swf_definebitmap ( int $objid, string $image_name )

The swf_definebitmap() function defines a bitmap given an image.

매개변수

objid

An SWF object id.

image_name

A GIF, JPEG, RGB or FI image. The image will be converted into a Flash JPEG or Flash color map format.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_closefile | 처음으로 | swf_definefont


swf_definefont

(PHP 4)

swf_definefont -- Defines a font

설명

void swf_definefont ( int $fontid, string $fontname )

The swf_definefont() function defines a font parameter and gives it the specified id. It then sets the font given by fontname to the current font.

매개변수

fontid

The id to be given to the font.

fontname

The font so be set as current font.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_definebitmap | 처음으로 | swf_defineline


swf_defineline

(PHP 4)

swf_defineline -- Define a line

설명

void swf_defineline ( int $objid, float $x1, float $y1, float $x2, float $y2, float $width )

Defines a line.

매개변수

objid

The object id.

x1

x-coordinate of start point.

y1

y-coordinate of start point.

x2

x-coordinate of end point.

y2

y-coordinate of end point.

width

The line width.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_definefont | 처음으로 | swf_definepoly


swf_definepoly

(PHP 4)

swf_definepoly -- Define a polygon

설명

void swf_definepoly ( int $objid, array $coords, int $npoints, float $width )

Defines a polygon given an array of x, y coordinates.

매개변수

objid

The object id.

coords

An array of x, y coordinates.

npoints

The number of overall points that are contained in the array given by coords

width

The width of the polygon's border, if set to 0.0 the polygon is filled.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_defineline | 처음으로 | swf_definerect


swf_definerect

(PHP 4)

swf_definerect -- Define a rectangle

설명

void swf_definerect ( int $objid, float $x1, float $y1, float $x2, float $y2, float $width )

Defines a rectangle with an upper left hand coordinate and a lower right hand coordinate.

매개변수

objid

The object id.

x1

x-coordinate of upper left point.

y1

y-coordinate of upper left point.

x2

x-coordinate of lower right point.

y2

y-coordinate of lower right point.

width

Width of the rectangles border, if the width is 0.0 then the rectangle is filled.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_definepoly | 처음으로 | swf_definetext


swf_definetext

(PHP 4)

swf_definetext -- Define a text string

설명

void swf_definetext ( int $objid, string $str, int $docenter )

Defines a text string using the current font and font size.

매개변수

objid

The object id.

str

The text, as a string.

docenter

The docenter is where the word is centered, if docenter is 1, then the word is centered in x.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_definerect | 처음으로 | swf_endbutton


swf_endbutton

(PHP 4)

swf_endbutton -- End the definition of the current button

설명

void swf_endbutton ( void )

The swf_endbutton() function ends the definition of the current button.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_definetext | 처음으로 | swf_enddoaction


swf_enddoaction

(PHP 4)

swf_enddoaction -- End the current action

설명

void swf_enddoaction ( void )

Ends the current action started by the swf_startdoaction() function.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_endbutton | 처음으로 | swf_endshape


swf_endshape

(PHP 4)

swf_endshape -- Completes the definition of the current shape

설명

void swf_endshape ( void )

The swf_endshape() completes the definition of the current shape.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_enddoaction | 처음으로 | swf_endsymbol


swf_endsymbol

(PHP 4)

swf_endsymbol -- End the definition of a symbol

설명

void swf_endsymbol ( void )

Ends the definition of a symbol that was started by the swf_startsymbol() function.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_endshape | 처음으로 | swf_fontsize


swf_fontsize

(PHP 4)

swf_fontsize -- Change the font size

설명

void swf_fontsize ( float $size )

Changes the font size to the value given by the size parameter.

매개변수

size

The font size, as an integer.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_endsymbol | 처음으로 | swf_fontslant


swf_fontslant

(PHP 4)

swf_fontslant -- Set the font slant

설명

void swf_fontslant ( float $slant )

Set the current font slant to the angle indicated by the slant parameter.

매개변수

slant

Positive values create a forward slant, negative values create a negative slant.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_fontsize | 처음으로 | swf_fonttracking


swf_fonttracking

(PHP 4)

swf_fonttracking -- Set the current font tracking

설명

void swf_fonttracking ( float $tracking )

Set the font tracking to the value specified by the tracking parameter. This function is used to increase the spacing between letters and text, positive values increase the space and negative values decrease the space between letters.

매개변수

tracking

The font tracking.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_fontslant | 처음으로 | swf_getbitmapinfo


swf_getbitmapinfo

(PHP 4)

swf_getbitmapinfo -- Get information about a bitmap

설명

array swf_getbitmapinfo ( int $bitmapid )

Returns information about a bitmap.

매개변수

bitmapid

The bitmap id.

반환값

Returns an array with the following elements:

  • "size" - The size in bytes of the bitmap.
  • "width" - The width in pixels of the bitmap.
  • "height" - The height in pixels of the bitmap.

이전 | 위로 | 다음
swf_fonttracking | 처음으로 | swf_getfontinfo


swf_getfontinfo

(PHP 4)

swf_getfontinfo -- Gets font information

설명

array swf_getfontinfo ( void )

Gets information about the font by giving the height in pixels of a capital A and a lowercase x.

반환값

Returns an associative array with the following parameters:

  • Aheight - The height in pixels of a capital A.
  • xheight - The height in pixels of a lowercase x.

이전 | 위로 | 다음
swf_getbitmapinfo | 처음으로 | swf_getframe


swf_getframe

(PHP 4)

swf_getframe -- Get the frame number of the current frame

설명

int swf_getframe ( void )

The swf_getframe() function gets the number of the current frame.

반환값

Returns the current frame number, as an integer.

이전 | 위로 | 다음
swf_getfontinfo | 처음으로 | swf_labelframe


swf_labelframe

(PHP 4)

swf_labelframe -- Label the current frame

설명

void swf_labelframe ( string $name )

Labels the current frame with the given name.

매개변수

name

The frame label.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_getframe | 처음으로 | swf_lookat


swf_lookat

(PHP 4)

swf_lookat -- Define a viewing transformation

설명

void swf_lookat ( float $view_x, float $view_y, float $view_z, float $reference_x, float $reference_y, float $reference_z, float $twist )

Defines a viewing transformation by giving the viewing position and the coordinates of a reference point in the scene.

매개변수

view_x

x-coordinate for the viewing position

view_y

y-coordinate for the viewing position

view_z

z-coordinate for the viewing position

reference_x

x-coordinate for the reference point

reference_y

y-coordinate for the reference point

reference_z

z-coordinate for the reference point

twist

Controls the rotation along with viewer's z axis.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_labelframe | 처음으로 | swf_modifyobject


swf_modifyobject

(PHP 4)

swf_modifyobject -- Modify an object

설명

void swf_modifyobject ( int $depth, int $how )

Updates the position and/or color of the object at the specified depth.

매개변수

depth

The depth, as an integer.

how

Determines what is updated. how can either be the constant MOD_MATRIX or MOD_COLOR or it can be a combination of both.

MOD_COLOR uses the current mulcolor (specified by the function swf_mulcolor()) and addcolor (specified by the function swf_addcolor()) to color the object. MOD_MATRIX uses the current matrix to position the object.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_lookat | 처음으로 | swf_mulcolor


swf_mulcolor

(PHP 4)

swf_mulcolor -- Sets the global multiply color to the rgba value specified

설명

void swf_mulcolor ( float $r, float $g, float $b, float $a )

Sets the global multiply color to the given one. This color is then
implicitly used by the swf_placeobject(),
swf_modifyobject() and
swf_addbuttonrecord() functions.

The color of the object will be multiplied by the given color values when the object is written to the screen.

매개변수

r

Red value

g

Green value

b

Blue value

a

Alpha value

These parameters can be either positive or negative.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_modifyobject | 처음으로 | swf_nextid


swf_nextid

(PHP 4)

swf_nextid -- Returns the next free object id

설명

int swf_nextid ( void )

The swf_nextid() function returns the next available object id.

반환값

Returns the id, as an integer.

이전 | 위로 | 다음
swf_mulcolor | 처음으로 | swf_oncondition


swf_oncondition

(PHP 4)

swf_oncondition -- Describe a transition used to trigger an action list

설명

void swf_oncondition ( int $transition )

The swf_oncondition() function describes a transition that will trigger an action list.

매개변수

transition

There are several types of possible transitions, the following are for buttons defined as TYPE_MENUBUTTON:

  • IdletoOverUp
  • OverUptoIdle
  • OverUptoOverDown
  • OverDowntoOverUp
  • IdletoOverDown
  • OutDowntoIdle
  • MenuEnter (IdletoOverUp|IdletoOverDown)
  • MenuExit (OverUptoIdle|OverDowntoIdle)

For TYPE_PUSHBUTTON there are the following options:

  • IdletoOverUp
  • OverUptoIdle
  • OverUptoOverDown
  • OverDowntoOverUp
  • OverDowntoOutDown
  • OutDowntoOverDown
  • OutDowntoIdle
  • ButtonEnter (IdletoOverUp|OutDowntoOverDown)
  • ButtonExit (OverUptoIdle|OverDowntoOutDown)

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_nextid | 처음으로 | swf_openfile


swf_openfile

(PHP 4)

swf_openfile -- Open a new Shockwave Flash file

설명

void swf_openfile ( string $filename, float $width, float $height, float $framerate, float $r, float $g, float $b )

Opens a new file. This must be the first function you call, otherwise your script will not work.

매개변수

filename

The path to the SWF file. If you want to send your output to the screen, set this to php://stdout.

width

The movie width

height

The movie height

framerate

The frame rate.

r

Red value for the background.

g

Green value for the background.

b

Blue value for the background.

반환값

값을 반환하지 않습니다.

변경 기록

버전 | 설명
4.0.1 | Support for php://stdout was added.

이전 | 위로 | 다음
swf_oncondition | 처음으로 | swf_ortho2


swf_ortho2

(PHP 4)

swf_ortho2 -- Defines 2D orthographic mapping of user coordinates onto the current viewport

설명

void swf_ortho2 ( float $xmin, float $xmax, float $ymin, float $ymax )

Defines a two dimensional orthographic mapping of user coordinates onto the current viewport, this defaults to one to one mapping of the area of the Flash movie.

If a perspective transformation is desired, swf_perspective() can be used.

매개변수

xmin

xmax

ymin

ymax

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_openfile | 처음으로 | swf_ortho


swf_ortho

(PHP 4 >= 4.0.1)

swf_ortho -- Defines an orthographic mapping of user coordinates onto the current viewport

설명

void swf_ortho ( float $xmin, float $xmax, float $ymin, float $ymax, float $zmin, float $zmax )

Defines an orthographic mapping of user coordinates onto the current viewport.

매개변수

xmin

xmax

ymin

ymax

zmin

zmax

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_ortho2 | 처음으로 | swf_perspective


swf_perspective

(PHP 4)

swf_perspective -- Define a perspective projection transformation

설명

void swf_perspective ( float $fovy, float $aspect, float $near, float $far )

Defines a perspective projection transformation.

참고: Various distortion artifacts may appear when performing a perspective projection, this is because Flash players only have a two dimensional matrix. Some are not to pretty.

매개변수

fovy

A field-of-view angle in the y direction.

aspect

The aspect ratio of the viewport that is being drawn onto.

near

The near clipping plane.

far

The far clipping plane.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_ortho | 처음으로 | swf_placeobject


swf_placeobject

(PHP 4)

swf_placeobject -- Place an object onto the screen

설명

void swf_placeobject ( int $objid, int $depth )

Places the object in the current frame at a specified depth.

This uses the current mulcolor (specified by swf_mulcolor()) and the current addcolor (specified by swf_addcolor()) to color the object and it uses the current matrix to position the object.

매개변수

objid

The object id.

depth

Must be between 1 and 65535.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_perspective | 처음으로 | swf_polarview


swf_polarview

(PHP 4)

swf_polarview -- Define the viewer's position with polar coordinates

설명

void swf_polarview ( float $dist, float $azimuth, float $incidence, float $twist )

The swf_polarview() function defines the viewer's position in polar coordinates.

매개변수

dist

The distance between the viewpoint to the world space origin.

azimuth

Defines the azimuthal angle in the x,y coordinate plane, measured in distance from the y axis.

incidence

Defines the angle of incidence in the y,z plane, measured in distance from the z axis. The incidence angle is defined as the angle of the viewport relative to the z axis.

twist

Specifies the amount that the viewpoint is to be rotated about the line of sight using the right hand rule.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_placeobject | 처음으로 | swf_popmatrix


swf_popmatrix

(PHP 4)

swf_popmatrix -- Restore a previous transformation matrix

설명

void swf_popmatrix ( void )

Pushes the current transformation matrix back onto the stack.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_polarview | 처음으로 | swf_posround


swf_posround

(PHP 4)

swf_posround -- Enables or Disables the rounding of the translation when objects are placed or moved

설명

void swf_posround ( int $round )

Enables or disables the rounding of the translation when objects are placed or moved, there are times when text becomes more readable because rounding has been enabled.

매개변수

round

Whether to enable rounding or not, if set to the value of 1, then rounding is enabled, if set to 0 then rounding is disabled.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_popmatrix | 처음으로 | swf_pushmatrix


swf_pushmatrix

(PHP 4)

swf_pushmatrix -- Push the current transformation matrix back unto the stack

설명

void swf_pushmatrix ( void )

Pushes the current transformation matrix back onto the stack.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_posround | 처음으로 | swf_removeobject


swf_removeobject

(PHP 4)

swf_removeobject -- Remove an object

설명

void swf_removeobject ( int $depth )

Removes the object at the depth specified by depth.

매개변수

depth

The depth, as an integer.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_pushmatrix | 처음으로 | swf_rotate


swf_rotate

(PHP 4)

swf_rotate -- Rotate the current transformation

설명

void swf_rotate ( float $angle, string $axis )

Rotates the current transformation by a given angle around the given axis.

매개변수

angle

The rotation angle.

axis

The axis. Valid values axis are x (the x axis), y (the y axis) or z (the z axis).

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_removeobject | 처음으로 | swf_scale


swf_scale

(PHP 4)

swf_scale -- Scale the current transformation

설명

void swf_scale ( float $x, float $y, float $z )

The swf_scale() scales curve coordinates by the given value.

매개변수

x

x scale factor.

y

y scale factor.

z

z scale factor.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_rotate | 처음으로 | swf_setfont


swf_setfont

(PHP 4)

swf_setfont -- Change the current font

설명

void swf_setfont ( int $fontid )

The swf_setfont() sets the current font to the value given by the fontid parameter.

매개변수

fontid

The font identifier.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_scale | 처음으로 | swf_setframe


swf_setframe

(PHP 4)

swf_setframe -- Switch to a specified frame

설명

void swf_setframe ( int $framenumber )

Changes the active frame to the specified on.

매개변수

framenumber

The frame number to be set.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_setfont | 처음으로 | swf_shapearc


swf_shapearc

(PHP 4)

swf_shapearc -- Draw a circular arc

설명

void swf_shapearc ( float $x, float $y, float $r, float $ang1, float $ang2 )

Draws a circular arc.

매개변수

x

x-coordinate of the center.

y

y-coordinate of the center.

r

The arc radius.

ang1

The start angle.

ang2

The end angle.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_setframe | 처음으로 | swf_shapecurveto3


swf_shapecurveto3

(PHP 4)

swf_shapecurveto3 -- Draw a cubic bezier curve

설명

void swf_shapecurveto3 ( float $x1, float $y1, float $x2, float $y2, float $x3, float $y3 )

Draw a cubic bezier curve using the given coordinates.

The current position is then set to the x3,y3 coordinate.

매개변수

x1

x-coordinate of the first off curve control point.

y1

y-coordinate of the first off curve control point.

x2

x-coordinate of the second off curve control point.

y2

y-coordinate of the second off curve control point.

x3

x-coordinate of the endpoint.

y3

y-coordinate of the endpoint.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapearc | 처음으로 | swf_shapecurveto


swf_shapecurveto

(PHP 4)

swf_shapecurveto -- Draw a quadratic bezier curve between two points

설명

void swf_shapecurveto ( float $x1, float $y1, float $x2, float $y2 )

Draws a quadratic bezier curve from the current location, though the two given points.

The current position is then set to the point defined by the x2 and y2 parameters.

매개변수

x1

x-coordinate of the first point.

y1

y-coordinate of the first point.

x2

x-coordinate of the second point.

y2

y-coordinate of the second point.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapecurveto3 | 처음으로 | swf_shapefillbitmapclip


swf_shapefillbitmapclip

(PHP 4)

swf_shapefillbitmapclip -- Set current fill mode to clipped bitmap

설명

void swf_shapefillbitmapclip ( int $bitmapid )

Sets the fill to bitmap clipped, empty spaces will be filled by the bitmap.

매개변수

bitmapid

The bitmap id.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapecurveto | 처음으로 | swf_shapefillbitmaptile


swf_shapefillbitmaptile

(PHP 4)

swf_shapefillbitmaptile -- Set current fill mode to tiled bitmap

설명

void swf_shapefillbitmaptile ( int $bitmapid )

Sets the fill to bitmap tile, empty spaces will be filled by the bitmap.

매개변수

bitmapid

The bitmap id.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapefillbitmapclip | 처음으로 | swf_shapefilloff


swf_shapefilloff

(PHP 4)

swf_shapefilloff -- Turns off filling

설명

void swf_shapefilloff ( void )

Turns off filling for the current shape.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapefillbitmaptile | 처음으로 | swf_shapefillsolid


swf_shapefillsolid

(PHP 4)

swf_shapefillsolid -- Set the current fill style to the specified color

설명

void swf_shapefillsolid ( float $r, float $g, float $b, float $a )

Sets the current fill style to solid, and then sets the fill color to the given color.

매개변수

r

Red value

g

Green value

b

Blue value

a

Alpha value

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapefilloff | 처음으로 | swf_shapelinesolid


swf_shapelinesolid

(PHP 4)

swf_shapelinesolid -- Set the current line style

설명

void swf_shapelinesolid ( float $r, float $g, float $b, float $a, float $width )

Sets the current line style to the given color and width.

매개변수

r

Red value

g

Green value

b

Blue value

a

Alpha value

width

The line width. If 0.0 is given then no lines are drawn.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapefillsolid | 처음으로 | swf_shapelineto


swf_shapelineto

(PHP 4)

swf_shapelineto -- Draw a line

설명

void swf_shapelineto ( float $x, float $y )

Draws a line to the x and y coordinates. The current position is then set to that point.

매개변수

x

x-coordinate of the target.

y

y-coordinate of the target.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapelinesolid | 처음으로 | swf_shapemoveto


swf_shapemoveto

(PHP 4)

swf_shapemoveto -- Move the current position

설명

void swf_shapemoveto ( float $x, float $y )

Moves the current position to the given point.

매개변수

x

x-coordinate of the target.

y

y-coordinate of the target.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapelineto | 처음으로 | swf_showframe


swf_showframe

(PHP 4)

swf_showframe -- Display the current frame

설명

void swf_showframe ( void )

Outputs the current frame.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_shapemoveto | 처음으로 | swf_startbutton


swf_startbutton

(PHP 4)

swf_startbutton -- Start the definition of a button

설명

void swf_startbutton ( int $objid, int $type )

Starts the definition of a button.

매개변수

objid

The object id.

type

Can either be TYPE_MENUBUTTON or TYPE_PUSHBUTTON. The TYPE_MENUBUTTON constant allows the focus to travel from the button when the mouse is down, TYPE_PUSHBUTTON does not allow the focus to travel when the mouse is down.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_showframe | 처음으로 | swf_startdoaction


swf_startdoaction

(PHP 4)

swf_startdoaction -- Start a description of an action list for the current frame

설명

void swf_startdoaction ( void )

Starts the description of an action list for the current frame. This must be called before actions are defined for the current frame.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_startbutton | 처음으로 | swf_startshape


swf_startshape

(PHP 4)

swf_startshape -- Start a complex shape

설명

void swf_startshape ( int $objid )

Starts a complex shape.

매개변수

objid

The object id.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_startdoaction | 처음으로 | swf_startsymbol


swf_startsymbol

(PHP 4)

swf_startsymbol -- Define a symbol

설명

void swf_startsymbol ( int $objid )

Defines an object id as a symbol. Symbols are tiny flash movies that can be played simultaneously.

매개변수

objid

The object id you want to define as a symbol.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_startshape | 처음으로 | swf_textwidth


swf_textwidth

(PHP 4)

swf_textwidth -- Get the width of a string

설명

float swf_textwidth ( string $str )

Gives the width of the string in pixels, using the current font and font size.

매개변수

str

The string.

반환값

Returns the line width, as a float.

이전 | 위로 | 다음
swf_startsymbol | 처음으로 | swf_translate


swf_translate

(PHP 4)

swf_translate -- Translate the current transformations

설명

void swf_translate ( float $x, float $y, float $z )

Translates the current transformation by the given values.

매개변수

x

x value.

y

y value.

z

z value.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_textwidth | 처음으로 | swf_viewport


swf_viewport

(PHP 4)

swf_viewport -- Select an area for future drawing

설명

void swf_viewport ( float $xmin, float $xmax, float $ymin, float $ymax )

Selects an area for future drawing for xmin to xmax and ymin to ymax, if this function is not called the area defaults to the size of the screen.

매개변수

xmin

xmax

ymin

ymax

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
swf_translate | 처음으로 | CLXIV. Swish Functions


SNMP Functions

이전 VI. 함수 레퍼런스 다음

CLII. SNMP Functions

소개

요구 조건

In order to use the SNMP functions on Unix you need to install the » NET-SNMP package. On Windows these functions are only available on NT and not on Win95/98.

설치

Important: In order to use the UCD SNMP package, you need to define NO_ZEROLENGTH_COMMUNITY to 1 before compiling it. After configuring UCD SNMP, edit config.h or acconfig.h and search for NO_ZEROLENGTH_COMMUNITY. Uncomment the #define line. It should look like this afterwards:

#define NO_ZEROLENGTH_COMMUNITY 1
Now compile PHP --with-snmp[=DIR].

If you see strange segmentation faults in combination with SNMP commands, you did not follow the above instructions. If you do not want to recompile UCD SNMP, you can compile PHP with the --enable-ucd-snmp-hack switch which will work around the misfeature.

The Windows distribution contains support files for SNMP in the mibs directory. This directory should be moved to DRIVE:\usr\mibs, where DRIVE must be replaced with the driveletter where PHP is installed on, e.g.c:\usr\mibs.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

SNMP_OID_OUTPUT_FULL (integer)
As of 5.2.0
SNMP_OID_OUTPUT_NUMERIC (integer)
As of 5.2.0
SNMP_VALUE_LIBRARY (integer)
SNMP_VALUE_PLAIN (integer)
SNMP_VALUE_OBJECT (integer)
SNMP_BIT_STR (integer)
SNMP_OCTET_STR (integer)
SNMP_OPAQUE (integer)
SNMP_NULL (integer)
SNMP_OBJECT_ID (integer)
SNMP_IPADDRESS (integer)
SNMP_COUNTER (integer)
SNMP_UNSIGNED (integer)
SNMP_TIMETICKS (integer)
SNMP_UINTEGER (integer)
SNMP_INTEGER (integer)
SNMP_COUNTER64 (integer)

차례

snmp_get_quick_print -- Fetches the current value of the UCD library's quick_print setting
snmp_get_valueretrieval -- Return the method how the SNMP values will be returned
snmp_read_mib -- Reads and parses a MIB file into the active MIB tree
snmp_set_enum_print -- Return all values that are enums with their enum value instead of the raw integer
snmp_set_oid_numeric_print -- Return all objects including their respective object id within the specified one
snmp_set_oid_output_format -- Set the OID output format
snmp_set_quick_print -- Set the value of quick_print within the UCD SNMP library
snmp_set_valueretrieval -- Specify the method how the SNMP values will be returned
snmpget -- Fetch an SNMP object
snmpgetnext -- Fetch a SNMP object
snmprealwalk -- Return all objects including their respective object ID within the specified one
snmpset -- Set an SNMP object
snmpwalk -- Fetch all the SNMP objects from an agent
snmpwalkoid -- Query for a tree of information about a network entity
이전 | 위로 | 다음
simplexml_load_string | 처음으로 | snmp_get_quick_print


snmp_get_quick_print

(PHP 4, PHP 5)

snmp_get_quick_print -- Fetches the current value of the UCD library's quick_print setting

설명

bool snmp_get_quick_print ( void )

Returns the current value stored in the UCD Library for quick_print. quick_print is off by default.

반환값

Returns TRUE if quick_print is on, FALSE otherwise.

예제

예 2158. snmp_get_quick_print() example

<?php
$quickprint = snmp_get_quick_print();
?>

참고

snmp_set_quick_print() for a full description of what quick_print does.

이전 | 위로 | 다음
CLII. SNMP Functions | 처음으로 | snmp_get_valueretrieval


snmp_get_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_get_valueretrieval -- Return the method how the SNMP values will be returned

설명

int snmp_get_valueretrieval ( void )
주의

This function is currently not documented; only the argument list is available.

참고

snmp_set_valueretrieval()

이전 | 위로 | 다음
snmp_get_quick_print | 처음으로 | snmp_read_mib


snmp_read_mib

(PHP 5)

snmp_read_mib -- Reads and parses a MIB file into the active MIB tree

설명

bool snmp_read_mib ( string $filename )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
snmp_get_valueretrieval | 처음으로 | snmp_set_enum_print


snmp_set_enum_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_enum_print -- Return all values that are enums with their enum value instead of the raw integer

설명

void snmp_set_enum_print ( int $enum_print )
주의

This function is currently not documented; only the argument list is available.

주의

참고: snmp_set_enum_print() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

이전 | 위로 | 다음
snmp_read_mib | 처음으로 | snmp_set_oid_numeric_print


snmp_set_oid_numeric_print

(PHP 4 >= 4.3.0, PHP 5)

snmp_set_oid_numeric_print -- Return all objects including their respective object id within the specified one

설명

void snmp_set_oid_numeric_print ( int $oid_numeric_print )
주의

This function is currently not documented; only the argument list is available.

변경 기록

버전 | 설명
5.2.0 | Since PHP 5.2.0, 이 함수는 다음 함수의 alias입니다: snmp_set_oid_output_format().

참고

snmp_set_oid_output_format()

이전 | 위로 | 다음
snmp_set_enum_print | 처음으로 | snmp_set_oid_output_format


snmp_set_quick_print

(PHP 4, PHP 5)

snmp_set_quick_print -- Set the value of quick_print within the UCD SNMP library

설명

void snmp_set_quick_print ( bool $quick_print )

Sets the value of quick_print within the UCD SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When quick_print is not enabled (default) the UCD SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

By default the UCD SNMP library returns verbose values, quick_print is used to return only the value.

Currently strings are still returned with extra quotes, this will be corrected in a later release.

매개변수

quick_print

반환값

값을 반환하지 않습니다.

예제

Setting quick_print is often used when using the information returned rather then displaying it.

예 2159. Using snmp_set_quick_print()

<?php
snmp_set_quick_print(0);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
snmp_set_quick_print(1);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
?>

위 예제의 출력 예:

'Timeticks: (0) 0:00:00.00'
'0:00:00.00'

참고

snmp_get_quick_print()

이전 | 위로 | 다음
snmp_set_oid_output_format | 처음으로 | snmp_set_valueretrieval


snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5)

snmp_set_valueretrieval -- Specify the method how the SNMP values will be returned

설명

void snmp_set_valueretrieval ( int $method )
주의

This function is currently not documented; only the argument list is available.

참고

snmp_get_valueretrieval()

이전 | 위로 | 다음
snmp_set_quick_print | 처음으로 | snmpget


snmpget

(PHP 4, PHP 5)

snmpget -- Fetch an SNMP object

설명

string snmpget ( string $hostname, string $community, string $object_id [, int $timeout [, int $retries]] )

The snmpget() function is used to read the value of an SNMP object specified by the object_id.

매개변수

hostname

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

retries

반환값

Returns SNMP object value on success or FALSE on error.

예제

예 2160. Using snmpget()

<?php
$syscontact = snmpget("127.0.0.1", "public", "system.SysContact.0");
?>

참고

snmpset()

이전 | 위로 | 다음
snmp_set_valueretrieval | 처음으로 | snmpgetnext


snmpgetnext

(PHP 5)

snmpgetnext -- Fetch a SNMP object

설명

string snmpgetnext ( string $host, string $community, string $object_id [, int $timeout [, int $retries]] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
snmpget | 처음으로 | snmprealwalk


snmprealwalk

(PHP 4, PHP 5)

snmprealwalk -- Return all objects including their respective object ID within the specified one

설명

array snmprealwalk ( string $host, string $community, string $object_id [, int $timeout [, int $retries]] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
snmpgetnext | 처음으로 | snmpset


snmpset

(PHP 4, PHP 5)

snmpset -- Set an SNMP object

설명

bool snmpset ( string $hostname, string $community, string $object_id, string $type, mixed $value [, int $timeout [, int $retries]] )

snmpset() is used to set the value of an SNMP object specified by the object_id.

매개변수

hostname

The SNMP agent.

community

The read community.

object_id

The SNMP object.

type

value

timeout

retries

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

snmpget()

이전 | 위로 | 다음
snmprealwalk | 처음으로 | snmpwalk


snmpwalk

(PHP 4, PHP 5)

snmpwalk -- Fetch all the SNMP objects from an agent

설명

array snmpwalk ( string $hostname, string $community, string $object_id [, int $timeout [, int $retries]] )

snmpwalk() function is used to read all the values from an SNMP agent specified by the hostname.

매개변수

hostname

The SNMP agent.

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

retries

반환값

Returns an array of SNMP object values starting from the object_id as root or FALSE on error.

예제

예 2161. snmpwalk() Example

<?php
$a = snmpwalk("127.0.0.1", "public", "");

foreach ($a as $val) {
    echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

참고

snmpwalkoid()

이전 | 위로 | 다음
snmpset | 처음으로 | snmpwalkoid


snmpwalkoid

(PHP 4, PHP 5)

snmpwalkoid -- Query for a tree of information about a network entity

설명

array snmpwalkoid ( string $hostname, string $community, string $object_id [, int $timeout [, int $retries]] )

snmpwalkoid() function is used to read all object ids and their respective values from an SNMP agent specified by hostname.

The existence of snmpwalkoid() and snmpwalk() has historical reasons. Both functions are provided for backward compatibility. Use snmprealwalk() instead.

매개변수

hostname

The SNMP agent.

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

retries

반환값

Returns an associative array with object ids and their respective object value starting from the object_id as root or FALSE on error.

예제

예 2162. snmpwalkoid() Example

<?php
$a = snmpwalkoid("127.0.0.1", "public", "");
for (reset($a); $i = key($a); next($a)) {
    echo "$i: $a[$i]<br />\n";
}
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

참고

snmpwalk()

이전 | 위로 | 다음
snmpwalk | 처음으로 | CLIII. SOAP Functions


Socket Functions

이전 VI. 함수 레퍼런스 다음

CLIV. Socket Functions

소개

The socket extension implements a low-level interface to the socket communication functions based on the popular BSD sockets, providing the possibility to act as a socket server as well as a client.

For a more generic client-side socket interface, see
stream_socket_client(),
stream_socket_server(),
fsockopen(), and
pfsockopen().

When using these functions, it is important to remember that while many of them have identical names to their C counterparts, they often have different declarations. Please be sure to read the descriptions to avoid confusion.

Those unfamiliar with socket programming can find a lot of useful material in the appropriate Unix man pages, and there is a great deal of tutorial information on socket programming in C on the web, much of which can be applied, with slight modifications, to socket programming in PHP. The » Unix Socket FAQ might be a good start.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.3.0.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

The socket functions described here are part of an extension to PHP which must be enabled at compile time by giving the --enable-sockets option to configure.

참고: IPv6는 PHP 5.0.0부터 지원합니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

socket_accept(),
socket_create_listen() and
socket_create() return socket recources.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

AF_UNIX (integer)
AF_INET (integer)
AF_INET6 (integer)
SOCK_STREAM (integer)
SOCK_DGRAM (integer)
SOCK_RAW (integer)
SOCK_SEQPACKET (integer)
SOCK_RDM (integer)
MSG_OOB (integer)
MSG_WAITALL (integer)
MSG_PEEK (integer)
MSG_DONTROUTE (integer)
MSG_EOR (integer)
MSG_EOF (integer)
SO_DEBUG (integer)
SO_REUSEADDR (integer)
SO_KEEPALIVE (integer)
SO_DONTROUTE (integer)
SO_LINGER (integer)
SO_BROADCAST (integer)
SO_OOBINLINE (integer)
SO_SNDBUF (integer)
SO_RCVBUF (integer)
SO_SNDLOWAT (integer)
SO_RCVLOWAT (integer)
SO_SNDTIMEO (integer)
SO_RCVTIMEO (integer)
SO_TYPE (integer)
SO_ERROR (integer)
SOL_SOCKET (integer)
PHP_NORMAL_READ (integer)
PHP_BINARY_READ (integer)
SOL_TCP (integer)
SOL_UDP (integer)

Socket Errors

The socket extension was written to provide a usable interface to the powerful BSD sockets. Care has been taken that the functions work equally well on Win32 and Unix implementations. Almost all of the sockets functions may fail under certain conditions and therefore emit an E_WARNING message describing the error. Sometimes this doesn't happen to the desire of the developer. For example the function socket_read() may suddenly emit an E_WARNING message because the connection broke unexpectedly. It's common to suppress the warning with the @-operator and catch the error code within the application with the socket_last_error() function. You may call the socket_strerror() function with this error code to retrieve a string describing the error. See their description for more information.

참고: The E_WARNING messages generated by the socket extension are in English though the retrieved error message will appear depending on the current locale (LC_MESSAGES): Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet

예제

예 2183. Socket example: Simple TCP/IP server

This example shows a simple talkback server. Change the address and port variables to suit your setup and execute. You may then connect to the server with a command similar to: telnet 192.168.1.53 10000 (where the address and port match your setup). Anything you type will then be output on the server side, and echoed back to you. To disconnect, enter 'quit'.

#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);

/* Allow the script to hang around waiting for connections. */
set_time_limit(0);

/* Turn on implicit output flushing so we see what we're getting
 * as it comes in. */
ob_implicit_flush();

$address = '192.168.1.53';
$port = 10000;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}

if (socket_bind($sock, $address, $port) === false) {
    echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}

if (socket_listen($sock, 5) === false) {
    echo "socket_listen() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}

do {
    if (($msgsock = socket_accept($sock)) === false) {
        echo "socket_accept() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
        break;
    }
    /* Send instructions. */
    $msg = "\nWelcome to the PHP Test Server. \n" .
        "To quit, type 'quit'. To shut down the server type 'shutdown'.\n";
    socket_write($msgsock, $msg, strlen($msg));

    do {
        if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
            echo "socket_read() failed: reason: " . socket_strerror(socket_last_error($msgsock)) . "\n";
            break 2;
        }
        if (!$buf = trim($buf)) {
            continue;
        }
        if ($buf == 'quit') {
            break;
        }
        if ($buf == 'shutdown') {
            socket_close($msgsock);
            break 2;
        }
        $talkback = "PHP: You said '$buf'.\n";
        socket_write($msgsock, $talkback, strlen($talkback));
        echo "$buf\n";
    } while (true);
    socket_close($msgsock);
} while (true);

socket_close($sock);
?>

예 2184. Socket example: Simple TCP/IP client

This example shows a simple, one-shot HTTP client. It simply connects to a page, submits a HEAD request, echoes the reply, and exits.

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP Connection</h2>\n";

/* Get the port for the WWW service. */
$service_port = getservbyname('www', 'tcp');

/* Get the IP address for the target host. */
$address = gethostbyname('www.example.com');

/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Attempting to connect to '$address' on port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Sending HTTP HEAD request...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Reading response:\n\n";
while ($out = socket_read($socket, 2048)) {
    echo $out;
}

echo "Closing socket...";
socket_close($socket);
echo "OK.\n\n";
?>

차례

socket_accept -- Accepts a connection on a socket
socket_bind -- Binds a name to a socket
socket_clear_error -- Clears the error on the socket or the last error code
socket_close -- Closes a socket resource
socket_connect -- Initiates a connection on a socket
socket_create_listen -- Opens a socket on port to accept connections
socket_create_pair -- Creates a pair of indistinguishable sockets and stores them in an array
socket_create -- Create a socket (endpoint for communication)
socket_get_option -- Gets socket options for the socket
socket_getpeername -- Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
socket_getsockname -- Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
socket_last_error -- Returns the last error on the socket
socket_listen -- Listens for a connection on a socket
socket_read -- Reads a maximum of length bytes from a socket
socket_recv -- Receives data from a connected socket
socket_recvfrom -- Receives data from a socket whether or not it is connection-oriented
socket_select -- Runs the select() system call on the given arrays of sockets with a specified timeout
socket_send -- Sends data to a connected socket
socket_sendto -- Sends a message to a socket, whether it is connected or not
socket_set_block -- Sets blocking mode on a socket resource
socket_set_nonblock -- Sets nonblocking mode for file descriptor fd
socket_set_option -- Sets socket options for the socket
socket_shutdown -- Shuts down a socket for receiving, sending, or both
socket_strerror -- Return a string describing a socket error
socket_write -- Write to a socket
이전 | 위로 | 다음
use_soap_error_handler | 처음으로 | socket_accept


socket_accept

(PHP 4 >= 4.0.7, PHP 5)

socket_accept -- Accepts a connection on a socket

설명

resource socket_accept ( resource $socket )

After the socket socket has been created using socket_create(), bound to a name with socket_bind(), and told to listen for connections with socket_listen(), this function will accept incoming connections on that socket. Once a successful connection is made, a new socket resource is returned, which may be used for communication. If there are multiple connections queued on the socket, the first will be used. If there are no pending connections, socket_accept() will block until a connection becomes present. If socket has been made non-blocking using socket_set_blocking() or socket_set_nonblock(), FALSE will be returned.

The socket resource returned by socket_accept() may not be used to accept new connections. The original listening socket socket, however, remains open and may be reused.

매개변수

socket

A valid socket resource created with socket_create().

반환값

Returns a new socket resource on success, or FALSE on error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() to get a textual explanation of the error.

참고

socket_connect()
socket_listen()
socket_create()
socket_bind()
socket_strerror()

이전 | 위로 | 다음
CLIV. Socket Functions | 처음으로 | socket_bind


socket_bind

(PHP 4 >= 4.0.7, PHP 5)

socket_bind -- Binds a name to a socket

설명

bool socket_bind ( resource $socket, string $address [, int $port] )

Binds the name given in address to the socket described by socket. This has to be done before a connection is be established using socket_connect() or socket_listen().

매개변수

socket

A valid socket resource created with socket_create().

address

If the socket is of the AF_INET family, the address is an IP in dotted-quad notation (e.g. 127.0.0.1).

If the socket is of the AF_UNIX family, the address is the path of a Unix-domain socket (e.g. /tmp/my.sock).

port (Optional)

The port parameter is only used when connecting to an AF_INET socket, and designates the port on the remote host to which a connection should be made.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

예제

예 2185. Using socket_bind() to set the source address

<?php
// Create a new socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// An example list of IP addresses owned by the computer
$sourceips['kevin']    = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';

// Bind the source address
socket_bind($sock, $sourceips['madcoder']);

// Connect to destination address
socket_connect($sock, '127.0.0.1', 80);

// Write
$request = 'GET / HTTP/1.1' . "\r\n" .
           'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);

// Close
socket_close($sock);

?>

주의

참고: This function must be used on the socket before socket_connect().

참고: Windows 9x/ME compatibility note: socket_last_error() may return an invalid error code if trying to bind the socket to a wrong address that does not belong to your machine.

참고

socket_connect()
socket_listen()
socket_create()
socket_last_error()
socket_strerror()

이전 | 위로 | 다음
socket_accept | 처음으로 | socket_clear_error


socket_clear_error

(PHP 4 >= 4.2.0, PHP 5)

socket_clear_error -- Clears the error on the socket or the last error code

설명

void socket_clear_error ( [resource $socket] )

This function clears the error code on the given socket or the global last socket error if no socket is specified.

This function allows explicitly resetting the error code value either of a socket or of the extension global last error code. This may be useful to detect within a part of the application if an error occurred or not.

매개변수

socket

A valid socket resource created with socket_create().

반환값

값을 반환하지 않습니다.

참고

socket_last_error()
socket_strerror()

이전 | 위로 | 다음
socket_bind | 처음으로 | socket_close


socket_close

(PHP 4 >= 4.0.7, PHP 5)

socket_close -- Closes a socket resource

설명

void socket_close ( resource $socket )

socket_close() closes the socket resource given by socket. This function is specific to sockets and cannot be used on any other type of resources.

매개변수

socket

A valid socket resource created with socket_create() or socket_accept().

반환값

값을 반환하지 않습니다.

참고

socket_bind()
socket_listen()
socket_create()
socket_strerror()

이전 | 위로 | 다음
socket_clear_error | 처음으로 | socket_connect


socket_connect

(PHP 4 >= 4.0.7, PHP 5)

socket_connect -- Initiates a connection on a socket

설명

bool socket_connect ( resource $socket, string $address [, int $port] )

Initiate a connection to address using the socket resource socket, which must be a valid socket resource created with socket_create().

매개변수

socket

address

The address parameter is either an IPv4 address in dotted-quad notation (e.g. 127.0.0.1) if socket is AF_INET, a valid IPv6 address (e.g. ::1) if IPv6 support is enabled and socket is AF_INET6 or the pathname of a Unix domain socket, if the socket family is AF_UNIX.

port

The port parameter is only used and is mandatory when connecting to an AF_INET or an AF_INET6 socket, and designates the port on the remote host to which a connection should be made.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

참고: If the socket is non-blocking then this function returns FALSE with an error Operation now in progress.

참고

socket_bind()
socket_listen()
socket_create()
socket_last_error()
socket_strerror()

이전 | 위로 | 다음
socket_close | 처음으로 | socket_create_listen


socket_create_listen

(PHP 4 >= 4.0.7, PHP 5)

socket_create_listen -- Opens a socket on port to accept connections

설명

resource socket_create_listen ( int $port [, int $backlog] )

socket_create_listen() creates a new socket resource of type AF_INET listening on all local interfaces on the given port waiting for new connections.

This function is meant to ease the task of creating a new socket which only listens to accept new connections.

매개변수

port

The port on which to listen on all interfaces.

backlog

The backlog parameter defines the maximum length the queue of pending connections may grow to. SOMAXCONN may be passed as backlog parameter, see socket_listen() for more information.

반환값

socket_create_listen() returns a new socket resource on success or FALSE on error. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

주의

참고: If you want to create a socket which only listens on a certain interface you need to use socket_create(), socket_bind() and socket_listen().

참고

socket_create()
socket_create_pair()
socket_bind()
socket_listen()
socket_last_error()
socket_strerror()

이전 | 위로 | 다음
socket_connect | 처음으로 | socket_create_pair


socket_create_pair

(PHP 4 >= 4.0.7, PHP 5)

socket_create_pair -- Creates a pair of indistinguishable sockets and stores them in an array

설명

bool socket_create_pair ( int $domain, int $type, int $protocol, array &$fd )

socket_create_pair() creates two connected and indistinguishable sockets, and stores them in fd. This function is commonly used in IPC (InterProcess Communication).

매개변수

domain

The domain parameter specifies the protocol family to be used by the socket. See socket_create() for the full list.

type

The type parameter selects the type of communication to be used by the socket. See socket_create() for the full list.

protocol

The protocol parameter sets the specific protocol within the specified domain to be used when communicating on the returned socket. The proper value can be retrieved by name by using getprotobyname(). If the desired protocol is TCP, or UDP the corresponding constants SOL_TCP, and SOL_UDP can also be used.

See socket_create() for the full list of supported protocols.

fd

Reference to an array in which the two socket resources will be inserted.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2186. socket_create_pair() example

<?php
$sockets = array();
/* Setup socket pair */
if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $sockets) === false) {
    echo "socket_create_pair failed. Reason: ".socket_strerror(socket_last_error());
}
/* Send and Recieve Data */
if (socket_write($sockets[0], "ABCdef123\n", strlen("ABCdef123\n")) === false) {
    echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($sockets[0]));
}
if (($data = socket_read($sockets[1], strlen("ABCdef123\n"), PHP_BINARY_READ) === false) {
    echo "socket_read() failed. Reason: ".socket_strerror(socket_last_error($sockets[1]));
}
var_dump($data);

/* Close sockets */
socket_close($sockets[0]);
socket_close($sockets[1]);
?>

예 2187. socket_create_pair() IPC example

<?php
$ary = array();
$strone = 'Message From Parent.';
$strtwo = 'Message From Child.';
if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false) {
    echo "socket_create_pair() failed. Reason: ".socket_strerror(socket_last_error());
}
$pid = pcntl_fork();
if ($pid == -1) {
    echo 'Could not fork Process.';
} elseif ($pid) {
    /*parent*/
    socket_close($ary[0]);
    if (socket_write($ary[1], $strone, strlen($strone)) === false) {
        echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[1]));
    }
    if (socket_read($ary[1], strlen($strtwo), PHP_BINARY_READ) == $strtwo) {
        echo "Recieved $strtwo\n";
    }
    socket_close($ary[1]);
} else {
    /*child*/
    socket_close($ary[1]);
    if (socket_write($ary[0], $strtwo, strlen($strtwo)) === false) {
        echo "socket_write() failed. Reason: ".socket_strerror(socket_last_error($ary[0]));
    }
    if (socket_read($ary[0], strlen($strone), PHP_BINARY_READ) == $strone) {
        echo "Recieved $strone\n";
    }
    socket_close($ary[0]);
}
?>

참고

socket_create()
socket_create_listen()
socket_bind()
socket_listen()
socket_last_error()
socket_strerror()

이전 | 위로 | 다음
socket_create_listen | 처음으로 | socket_create


socket_create

(PHP 4 >= 4.0.7, PHP 5)

socket_create -- Create a socket (endpoint for communication)

설명

resource socket_create ( int $domain, int $type, int $protocol )

Creates and returns a socket resource, also referred to as an endpoint of communication. A typical network connection is made up of 2 sockets, one performing the role of the client, and another performing the role of the server.

매개변수

domain

The domain parameter specifies the protocol family to be used by the socket.

표 286. Available address/protocol families

Domain | Description
AF_INET | IPv4 Internet based protocols. TCP and UDP are common protocols of this protocol family.
AF_INET6 | IPv6 Internet based protocols. TCP and UDP are common protocols of this protocol family. Support added in PHP 5.0.0.
AF_UNIX | Local communication protocol family. High efficiency and low overhead make it a great form of IPC (Interprocess Communication).

type

The type parameter selects the type of communication to be used by the socket.

표 287. Available socket types

Type | Description
SOCK_STREAM | Provides sequenced, reliable, full-duplex, connection-based byte streams. An out-of-band data transmission mechanism may be supported. The TCP protocol is based on this socket type.
SOCK_DGRAM | Supports datagrams (connectionless, unreliable messages of a fixed maximum length). The UDP protocol is based on this socket type.
SOCK_SEQPACKET | Provides a sequenced, reliable, two-way connection-based data transmission path for datagrams of fixed maximum length; a consumer is required to read an entire packet with each read call.
SOCK_RAW | Provides raw network protocol access. This special type of socket can be used to manually construct any type of protocol. A common use for this socket type is to perform ICMP requests (like ping, traceroute, etc).
SOCK_RDM | Provides a reliable datagram layer that does not guarantee ordering. This is most likely not implemented on your operating system.

protocol

The protocol parameter sets the specific protocol within the specified domain to be used when communicating on the returned socket. The proper value can be retrieved by name by using getprotobyname(). If the desired protocol is TCP, or UDP the corresponding constants SOL_TCP, and SOL_UDP can also be used.

표 288. Common protocols

Name | Description
icmp | The Internet Control Message Protocol is used primarily by gateways and hosts to report errors in datagram communication. The "ping" command (present in most modern operating systems) is an example application of ICMP.
udp | The User Datagram Protocol is a connectionless, unreliable, protocol with fixed record lengths. Due to these aspects, UDP requires a minimum amount of protocol overhead.
tcp | The Transmission Control Protocol is a reliable, connection based, stream oriented, full duplex protocol. TCP guarantees that all data packets will be received in the order in which they were sent. If any packet is somehow lost during communication, TCP will automatically retransmit the packet until the destination host acknowledges that packet. For reliability and performance reasons, the TCP implementation itself decides the appropriate octet boundaries of the underlying datagram communication layer. Therefore, TCP applications must allow for the possibility of partial record transmission.

반환값

socket_create() returns a socket resource on success, or FALSE on error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() to get a textual explanation of the error.

오류/예외

If an invalid domain or type is given, socket_create() defaults to AF_INET and SOCK_STREAM respectively and additionally emits an E_WARNING message.

참고

socket_accept()
socket_bind()
socket_connect()
socket_listen()
socket_last_error()
socket_strerror()

이전 | 위로 | 다음
socket_create_pair | 처음으로 | socket_get_option


socket_get_option

(PHP 4 >= 4.3.0, PHP 5)

socket_get_option -- Gets socket options for the socket

설명

mixed socket_get_option ( resource $socket, int $level, int $optname )

The socket_get_option() function retrieves the value for the option specified by the optname parameter for the specified socket.

매개변수

socket

A valid socket resource created with socket_create() or socket_accept().

level

The level parameter specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function.

optname

표 289. Available Socket Options

Option | Description | Type
SO_DEBUG | Reports whether debugging information is being recorded. | int
SO_BROADCAST | Reports whether transmission of broadcast messages is supported. | int
SO_REUSEADDR | Reports whether local addresses can be reused. | int
SO_KEEPALIVE | Reports whether connections are kept active with periodic transmission of messages. If the connected socket fails to respond to these messages, the connection is broken and processes writing to that socket are notified with a SIGPIPE signal. | int
SO_LINGER

Reports whether the socket lingers on socket_close() if data is present. By default, when the socket is closed, it attempts to send all unsent data. In the case of a connection-oriented socket, socket_close() will wait for its peer to acknowledge the data.

If l_onoff is non-zero and l_linger is zero, all the unsent data will be discarded and RST (reset) is sent to the peer in the case of a connection-oriented socket.

On the other hand, if l_onoff is non-zero and l_linger is non-zero, socket_close() will block until all the data is sent or the time specified in l_linger elapses. If the socket is non-blocking, socket_close() will fail and return an error.

array. The array will contain two keys: l_onoff and l_linger.
SO_OOBINLINE | Reports whether the socket leaves out-of-band data inline. | int
SO_SNDBUF | Reports the size of the send buffer. | int
SO_RCVBUF | Reports the size of the receive buffer. | int
SO_ERROR | Reports information about error status and clears it. | int (cannot be set by socket_set_option())
SO_TYPE | Reports the socket type (e.g. SOCK_STREAM). | int (cannot be set by socket_set_option())
SO_DONTROUTE | Reports whether outgoing messages bypass the standard routing facilities. | int
SO_RCVLOWAT | Reports the minimum number of bytes to process for socket input operations. | int
SO_RCVTIMEO | Reports the timeout value for input operations. | array. The array will contain two keys: sec which is the seconds part on the timeout value and usec which is the microsecond part of the timeout value.
SO_SNDTIMEO | Reports the timeout value specifying the amount of time that an output function blocks because flow control prevents data from being sent. | array. The array will contain two keys: sec which is the seconds part on the timeout value and usec which is the microsecond part of the timeout value.
SO_SNDLOWAT | Reports the minimum number of bytes to process for socket output operations. | int

반환값

Returns the value of the given option, or FALSE on errors.

예제

예 2188. socket_set_option() example

<?php
$socket = socket_create_listen(1223);

$linger = array('l_linger' => 1, 'l_onoff' => 1);
socket_set_option($socket, SOL_SOCKET, SO_LINGER, $linger);

var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR));
?>

변경 기록

버전 | 설명
4.3.0 | The name of this function was changed. It used to be called socket_getopt().

이전 | 위로 | 다음
socket_create | 처음으로 | socket_getpeername


socket_getpeername

(PHP 4 >= 4.0.7, PHP 5)

socket_getpeername -- Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type

설명

bool socket_getpeername ( resource $socket, string &$address [, int &$port] )

Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type.

매개변수

socket

A valid socket resource created with socket_create() or socket_accept().

address

If the given socket is of type AF_INET or AF_INET6, socket_getpeername() will return the peers (remote) IP address in appropriate notation (e.g. 127.0.0.1 or fe80::1) in the address parameter and, if the optional port parameter is present, also the associated port.

If the given socket is of type AF_UNIX, socket_getpeername() will return the Unix filesystem path (e.g. /var/run/daemon.sock) in the address parameter.

port

If given, this will hold the port associated to address.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. socket_getpeername() may also return FALSE if the socket type is not any of AF_INET, AF_INET6, or AF_UNIX, in which case the last socket error code is not updated.

주의

참고: socket_getpeername() should not be used with AF_UNIX sockets created with socket_accept(). Only sockets created with socket_connect() or a primary server socket following a call to socket_bind() will return meaningful values.

참고

socket_getsockname()
socket_last_error()
socket_strerror()

이전 | 위로 | 다음
socket_get_option | 처음으로 | socket_getsockname


socket_getsockname

(PHP 4 >= 4.0.7, PHP 5)

socket_getsockname -- Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type

설명

bool socket_getsockname ( resource $socket, string &$addr [, int &$port] )

참고: socket_getsockname() should not be used with AF_UNIX sockets created with socket_connect(). Only sockets created with socket_accept() or a primary server socket following a call to socket_bind() will return meaningful values.

매개변수

socket

A valid socket resource created with socket_create() or socket_accept().

addr

If the given socket is of type AF_INET or AF_INET6, socket_getsockname() will return the local IP address in appropriate notation (e.g. 127.0.0.1 or fe80::1) in the address parameter and, if the optional port parameter is present, also the associated port.

If the given socket is of type AF_UNIX, socket_getsockname() will return the Unix filesystem path (e.g. /var/run/daemon.sock) in the address parameter.

port

If provided, this will hold the associated port.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. socket_getsockname() may also return FALSE if the socket type is not any of AF_INET, AF_INET6, or AF_UNIX, in which case the last socket error code is not updated.

참고

socket_getpeername()
socket_last_error()
socket_strerror()

이전 | 위로 | 다음
socket_getpeername | 처음으로 | socket_last_error


socket_last_error

(PHP 4 >= 4.0.7, PHP 5)

socket_last_error -- Returns the last error on the socket

설명

int socket_last_error ( [resource $socket] )

If a socket resource is passed to this function, the last error which occurred on this particular socket is returned. If the socket resource is omitted, the error code of the last failed socket function is returned. The latter is particularly helpful for functions like socket_create() which don't return a socket on failure and socket_select() which can fail for reasons not directly tied to a particular socket. The error code is suitable to be fed to socket_strerror() which returns a string describing the given error code.

매개변수

socket

A valid socket resource created with socket_create().

반환값

This function returns a socket error code.

예제

예 2189. socket_last_error() example

<?php
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if ($socket === false) {
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);

    die("Couldn't create socket: [$errorcode] $errormsg");
}
?>

주의

참고: socket_last_error() does not clear the error code, use socket_clear_error() for this purpose.

이전 | 위로 | 다음
socket_getsockname | 처음으로 | socket_listen


socket_listen

(PHP 4 >= 4.0.7, PHP 5)

socket_listen -- Listens for a connection on a socket

설명

bool socket_listen ( resource $socket [, int $backlog] )

After the socket socket has been created using socket_create() and bound to a name with socket_bind(), it may be told to listen for incoming connections on socket.

socket_listen() is applicable only to sockets of type SOCK_STREAM or SOCK_SEQPACKET.

매개변수

socket

A valid socket resource created with socket_create().

backlog

A maximum of backlog incoming connections will be queued for processing. If a connection request arrives with the queue full the client may receive an error with an indication of ECONNREFUSED, or, if the underlying protocol supports retransmission, the request may be ignored so that retries may succeed.

참고: The maximum number passed to the backlog parameter highly depends on the underlying platform. On Linux, it is silently truncated to SOMAXCONN. On win32, if passed SOMAXCONN, the underlying service provider responsible for the socket will set the backlog to a maximum reasonable value. There is no standard provision to find out the actual backlog value on this platform.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

참고

socket_accept()
socket_bind()
socket_connect()
socket_create()
socket_strerror()

이전 | 위로 | 다음
socket_last_error | 처음으로 | socket_read


socket_read

(PHP 4 >= 4.0.7, PHP 5)

socket_read -- Reads a maximum of length bytes from a socket

설명

string socket_read ( resource $socket, int $length [, int $type] )

The function socket_read() reads from the socket resource socket created by the socket_create() or socket_accept() functions.

매개변수

socket

A valid socket resource created with socket_create() or socket_accept().

length

The maximum number of bytes read is specified by the length parameter. Otherwise you can use \r, \n, or \0 to end reading (depending on the type parameter, see below).

type

Optional type parameter is a named constant:

  • PHP_BINARY_READ (Default) - use the system recv() function. Safe for reading binary data.
  • PHP_NORMAL_READ - reading stops at \n or \r.

반환값

socket_read() returns the data as a string on success, or FALSE on error (including if the remote host has closed the connection). The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual representation of the error.

참고: socket_read() returns a zero length string ("") when there is no more data to read.

변경 기록

버전 | 설명
4.1.0 | The default value for type was changed from PHP_NORMAL_READ to PHP_BINARY_READ

참고

socket_accept()
socket_bind()
socket_connect()
socket_listen()
socket_last_error()
socket_strerror()
socket_write()

이전 | 위로 | 다음
socket_listen | 처음으로 | socket_recv


socket_recv

(PHP 4 >= 4.0.7, PHP 5)

socket_recv -- Receives data from a connected socket

설명

int socket_recv ( resource $socket, string &$buf, int $len, int $flags )

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
socket_read | 처음으로 | socket_recvfrom


socket_recvfrom

(PHP 4 >= 4.0.7, PHP 5)

socket_recvfrom -- Receives data from a socket whether or not it is connection-oriented

설명

int socket_recvfrom ( resource $socket, string &$buf, int $len, int $flags, string &$name [, int &$port] )

The socket_recvfrom() function receives len bytes of data in buf from name on port port (if the socket is not of type AF_UNIX) using socket. socket_recvfrom() can be used to gather data from both connected and unconnected sockets. Additionally, one or more flags can be specified to modify the behaviour of the function.

The name and port must be passed by reference. If the socket is not connection-oriented, name will be set to the internet protocol address of the remote host or the path to the UNIX socket. If the socket is connection-oriented, name is NULL. Additionally, the port will contain the port of the remote host in the case of an unconnected AF_INET or AF_INET6 socket.

매개변수

socket

The socket must be a socket resource previously created by socket_create().

buf

The data received will be fetched to the variable specified with buf.

len

Up to len bytes will be fetched from remote host.

flags

The value of flags can be any combination of the following flags, joined with the binary OR (|) operator.

표 290. Possible values for flags

Flag | Description
MSG_OOB | Process out-of-band data.
MSG_PEEK | Receive data from the beginning of the receive queue without removing it from the queue.
MSG_WAITALL | Block until at least len are received. However, if a signal is caught or the remote host disconnects, the function may return less data.
MSG_DONTWAIT | With this flag set, the function returns even if it would normally have blocked.

name

If the socket is of the type AF_UNIX type, name is the path to the file. Else, for unconnected sockets, name is the IP address of, the remote host, or NULL if the socket is connection-oriented.

port

This argument only applies to AF_INET and AF_INET6 sockets, and specifies the remote port from which the data is received. If the socket is connection-oriented, port will be NULL.

반환값

socket_recvfrom() returns the number of bytes received, or -1 if there was an error. The actual error code can be retrieved by calling socket_last_error(). This error code may be passed to socket_strerror() to get a textual explanation of the error.

예제

예 2190. socket_recvfrom() example

<?php
error_reporting(E_ALL | E_STRICT);

$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '127.0.0.1', 1223);

$from = "";
$port = 0;
socket_recvfrom($socket, $buf, 12, 0, $from, $port);

echo "Received $buf from remote address $from and remote port $port" . PHP_EOL;
?>

This example will initiate an UDP socket on port 1223 of 127.0.0.1 and print at most 12 characters received from a remote host.

변경 기록

버전 | 설명
4.3.0 | socket_recvfrom() is now binary safe.

참고

socket_recv()
socket_send()
socket_sendto()
socket_create()

이전 | 위로 | 다음
socket_recv | 처음으로 | socket_select


socket_select

(PHP 4 >= 4.0.7, PHP 5)

socket_select -- Runs the select() system call on the given arrays of sockets with a specified timeout

설명

int socket_select ( array &$read, array &$write, array &$except, int $tv_sec [, int $tv_usec] )

socket_select() accepts arrays of sockets and waits for them to change status. Those coming with BSD sockets background will recognize that those socket resource arrays are in fact the so-called file descriptor sets. Three independent arrays of socket resources are watched.

매개변수

read

The sockets listed in the read array will be watched to see if characters become available for reading (more precisely, to see if a read will not block - in particular, a socket resource is also ready on end-of-file, in which case a socket_read() will return a zero length string).

write

The sockets listed in the write array will be watched to see if a write will not block.

except

The sockets listed in the except array will be watched for exceptions.

tv_sec

The tv_sec and tv_usec together form the timeout parameter. The timeout is an upper bound on the amount of time elapsed before socket_select() return. tv_sec may be zero , causing socket_select() to return immediately. This is useful for polling. If tv_sec is NULL (no timeout), socket_select() can block indefinitely.

tv_usec

주의

On exit, the arrays are modified to indicate which socket resource actually changed status.

You do not need to pass every array to socket_select(). You can leave it out and use an empty array or NULL instead. Also do not forget that those arrays are passed by reference and will be modified after socket_select() returns.

참고: Due a limitation in the current Zend Engine it is not possible to pass a constant modifier like NULL directly as a parameter to a function which expects this parameter to be passed by reference. Instead use a temporary variable or an expression with the leftmost member being a temporary variable:

예 2191. Using NULL with socket_select()

<?php
$e = NULL;
socket_select($r, $w, $e, 0);
?>

반환값

On success socket_select() returns the number of socket resources contained in the modified arrays, which may be zero if the timeout expires before anything interesting happens. On error FALSE is returned. The error code can be retrieved with socket_last_error().

참고: Be sure to use the === operator when checking for an error. Since the socket_select() may return 0 the comparison with == would evaluate to TRUE:

예 2192. Understanding socket_select()'s result

<?php
$e = NULL;
if (false === socket_select($r, $w, $e, 0)) {
    echo "socket_select() failed, reason: " .
        socket_strerror(socket_last_error()) . "\n";
}
?>

예제

예 2193. socket_select() example

<?php
/* Prepare the read array */
$read   = array($socket1, $socket2);
$write  = NULL;
$except = NULL;
$num_changed_sockets = socket_select($read, $write, $except, 0);

if ($num_changed_sockets === false) {
    /* Error handling */
} else if ($num_changed_sockets > 0) {
    /* At least at one of the sockets something interesting happened */
}
?>

주의

참고: Be aware that some socket implementations need to be handled very carefully. A few basic rules:

  • You should always try to use socket_select() without timeout. Your program should have nothing to do if there is no data available. Code that depends on timeouts is not usually portable and difficult to debug.
  • No socket resource must be added to any set if you do not intend to check its result after the socket_select() call, and respond appropriately. After socket_select() returns, all socket resources in all arrays must be checked. Any socket resource that is available for writing must be written to, and any socket resource available for reading must be read from.
  • If you read/write to a socket returns in the arrays be aware that they do not necessarily read/write the full amount of data you have requested. Be prepared to even only be able to read/write a single byte.
  • It's common to most socket implementations that the only exception caught with the except array is out-of-bound data received on a socket.

참고

socket_read()
socket_write()
socket_last_error()
socket_strerror()

이전 | 위로 | 다음
socket_recvfrom | 처음으로 | socket_send


socket_send

(PHP 4 >= 4.0.7, PHP 5)

socket_send -- Sends data to a connected socket

설명

int socket_send ( resource $socket, string $buf, int $len, int $flags )

The function socket_send() sends len bytes to the socket socket from buf.

매개변수

socket

A valid socket resource created with socket_create() or socket_accept().

buf

A buffer containing the data that will be sent to the remote host.

len

The number of bytes that will be sent to the remote host from buf.

flags

The value of flags can be any combination of the following flags, joined with the binary OR (|) operator.

표 291. Possible values for flags

MSG_OOB | Send OOB (out-of-band) data.
MSG_EOR | Indicate a record mark. The sent data completes the record.
MSG_EOF | Close the sender side of the socket and include an appropriate notification of this at the end of the sent data. The sent data completes the transaction.
MSG_DONTROUTE | Bypass routing, use direct interface.

반환값

참고

socket_sendto()

이전 | 위로 | 다음
socket_select | 처음으로 | socket_sendto


socket_sendto

(PHP 4 >= 4.0.7, PHP 5)

socket_sendto -- Sends a message to a socket, whether it is connected or not

설명

int socket_sendto ( resource $socket, string $buf, int $len, int $flags, string $addr [, int $port] )

The function socket_sendto() sends len bytes from buf through the socket socket to the port at the address addr.

매개변수

socket

A valid socket ressource created using socket_create().

buf

The sent data will be taken from buffer buf.

len

len bytes from buf will be sent.

flags

The value of flags can be any combination of the following flags, joined with the binary OR (|) operator.

표 292. Possible values for flags

MSG_OOB | Send OOB (out-of-band) data.
MSG_EOR | Indicate a record mark. The sent data completes the record.
MSG_EOF | Close the sender side of the socket and include an appropriate notification of this at the end of the sent data. The sent data completes the transaction.
MSG_DONTROUTE | Bypass routing, use direct interface.

addr

IP address of the remote host.

port

port is the remote port number at which the data will be sent.

반환값

socket_sendto() returns the number of bytes sent to the remote host or -1 if an error occured.

예제

예 2194. socket_sendto() Example

<?php
    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

    $msg = "Ping !";
    $len = strlen($msg);

    socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
    socket_close($sock);
?>

참고

socket_send()

이전 | 위로 | 다음
socket_send | 처음으로 | socket_set_block


socket_set_block

(PHP 4 >= 4.2.0, PHP 5)

socket_set_block -- Sets blocking mode on a socket resource

설명

bool socket_set_block ( resource $socket )

The socket_set_block() function removes the O_NONBLOCK flag on the socket specified by the socket parameter.

When an operation (e.g. receive, send, connect, accept, ...) is performed on a blocking socket, the script will pause its execution until it receives a signal or it can perform the operation.

매개변수

socket

A valid socket resource created with socket_create() or socket_accept().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2195. socket_set_block() example

<?php
$socket = socket_create_listen(1223);
socket_set_block($socket);

socket_accept($socket);
?>

This example creates a listening socket on all interfaces on port 1223 and sets the socket to O_BLOCK mode. socket_accept() will hang until there is a connection to accept.

참고

socket_set_nonblock()
socket_set_option()

이전 | 위로 | 다음
socket_sendto | 처음으로 | socket_set_nonblock


socket_set_nonblock

(PHP 4 >= 4.0.7, PHP 5)

socket_set_nonblock -- Sets nonblocking mode for file descriptor fd

설명

bool socket_set_nonblock ( resource $socket )

The socket_set_nonblock() function sets the O_NONBLOCK flag on the socket specified by the socket parameter.

When an operation (e.g. receive, send, connect, accept, ...) is performed on a non-blocking socket, the script not pause its execution until it receives a signal or it can perform the operation. Rather, if the operation would result in a block, the called function will fail.

매개변수

socket

A valid socket resource created with socket_create() or socket_accept().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2196. socket_set_nonblock() example

<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);

socket_accept($socket);
?>

This example creates a listening socket on all interfaces on port 1223 and sets the socket to O_NONBLOCK mode. socket_accept() will immediately fail unless there is a pending connection exactly at this moment.

참고

socket_set_block()
socket_set_option()

이전 | 위로 | 다음
socket_set_block | 처음으로 | socket_set_option


socket_set_option

(PHP 4 >= 4.3.0, PHP 5)

socket_set_option -- Sets socket options for the socket

설명

bool socket_set_option ( resource $socket, int $level, int $optname, mixed $optval )

The socket_set_option() function sets the option specified by the optname parameter, at the specified protocol level, to the value pointed to by the optval parameter for the socket.

매개변수

socket

A valid socket resource created with socket_create() or socket_accept().

level

The level parameter specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function.

optname

The available socket options are the same as those for the socket_get_option() function.

optval

The option value.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2197. socket_set_option() example

<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!is_resource($socket)) {
    echo 'Unable to create socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
    echo 'Unable to set option on socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_bind($socket, '127.0.0.1', 1223)) {
    echo 'Unable to bind socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}

$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);

if ($rval === false) {
    echo 'Unable to get socket option: '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
    echo 'SO_REUSEADDR is set on socket !' . PHP_EOL;
}
?>

변경 기록

버전 | 설명
4.3.0 | This function was renamed. It used to be called socket_setopt().

이전 | 위로 | 다음
socket_set_nonblock | 처음으로 | socket_shutdown


socket_shutdown

(PHP 4 >= 4.0.7, PHP 5)

socket_shutdown -- Shuts down a socket for receiving, sending, or both

설명

bool socket_shutdown ( resource $socket [, int $how] )

The socket_shutdown() function allows you to stop incoming, outgoing or all data (the default) from being sent through the socket

매개변수

socket

A valid socket resource created with socket_create().

how

The value of how can be one of the following:

표 293. possible values for how

0 | Shutdown socket reading
1 | Shutdown socket writing
2 | Shutdown socket reading and writing

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
socket_set_option | 처음으로 | socket_strerror


socket_strerror

(PHP 4 >= 4.0.7, PHP 5)

socket_strerror -- Return a string describing a socket error

설명

string socket_strerror ( int $errno )

socket_strerror() takes as its errno parameter a socket error code as returned by socket_last_error() and returns the corresponding explanatory text.

참고: Although the error messages generated by the socket extension are in English, the system messages retrieved with this function will appear depending on the current locale (LC_MESSAGES).

매개변수

errno

A valid socket error number, likely produced by socket_last_error().

반환값

Returns the error message associated with the errno parameter.

예제

예 2198. socket_strerror() example

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
   echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}

if (false == (@socket_bind($socket, '127.0.0.1', 80))) {
   echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($socket)) . "\n";
}
?>

The expected output from the above example (assuming the script is not run with root privileges):

socket_bind() failed: reason: Permission denied

참고

socket_accept()
socket_bind()
socket_connect()
socket_listen()
socket_create()

이전 | 위로 | 다음
socket_shutdown | 처음으로 | socket_write


socket_write

(PHP 4 >= 4.0.7, PHP 5)

socket_write -- Write to a socket

설명

int socket_write ( resource $socket, string $buffer [, int $length] )

The function socket_write() writes to the socket from the given buffer.

매개변수

socket

buffer

The buffer to be written.

length

The optional parameter length can specify an alternate length of bytes written to the socket. If this length is greater then the buffer length, it is silently truncated to the length of the buffer.

반환값

Returns the number of bytes successfully written to the socket or FALSE one error. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

참고: It is perfectly valid for socket_write() to return zero which means no bytes have been written. Be sure to use the === operator to check for FALSE in case of an error.

주의

참고: socket_write() does not necessarily write all bytes from the given buffer. It's valid that, depending on the network buffers etc., only a certain amount of data, even one byte, is written though your buffer is greater. You have to watch out so you don't unintentionally forget to transmit the rest of your data.

참고

socket_accept()
socket_bind()
socket_connect()
socket_listen()
socket_read()
socket_strerror()

이전 | 위로 | 다음
socket_strerror | 처음으로 | CLV. Standard PHP Library (SPL) Functions


Standard PHP Library (SPL) Functions

이전 VI. 함수 레퍼런스 다음

CLV. Standard PHP Library (SPL) Functions

소개

SPL is a collection of interfaces and classes that are meant to solve standard problems.

작은 정보

A more detailed documentation of SPL can be found » here.

설치

This extension is available and compiled by default in PHP 5.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

주의

SPL uses class constants since PHP 5.1. Prior releases use global constants in the form RIT_LEAVES_ONLY.

RecursiveIteratorIterator::LEAVES_ONLY (integer)
RecursiveIteratorIterator::SELF_FIRST (integer)
RecursiveIteratorIterator::CHILD_FIRST (integer)
CachingIterator::CALL_TOSTRING (integer)
CachingIterator::CATCH_GET_CHILD (integer)

차례

ArrayIterator::current -- Return current array entry
ArrayIterator::key -- Return current array key
ArrayIterator::next -- Move to next entry
ArrayIterator::rewind -- Rewind array back to the start
ArrayIterator::seek -- Seek to position
ArrayIterator::valid -- Check whether array contains more entries
ArrayObject::append -- Appends the value
ArrayObject::__construct -- Construct a new array object
ArrayObject::count -- Return the number of elements in the Iterator
ArrayObject::getIterator -- Create a new iterator from an ArrayObject instance
ArrayObject::offsetExists -- Returns whether the requested $index exists
ArrayObject::offsetGet -- Returns the value at the specified $index
ArrayObject::offsetSet -- Sets the value at the specified $index to $newval
ArrayObject::offsetUnset -- Unsets the value at the specified $index
CachingIterator::hasNext -- Check whether the inner iterator has a valid next element
CachingIterator::next -- Move the iterator forward
CachingIterator::rewind -- Rewind the iterator
CachingIterator::__toString -- Return the string representation of the current element
CachingIterator::valid -- Check whether the current element is valid
CachingRecursiveIterator::getChildren -- Return the inner iterator's children as a CachingRecursiveIterator
CachingRecursiveIterator::hasChildren -- Check whether the current element of the inner iterator has children
DirectoryIterator::__construct -- Constructs a new dir iterator from a path
DirectoryIterator::current -- Return this (needed for Iterator interface)
DirectoryIterator::getATime -- Get last access time of file
DirectoryIterator::getCTime -- Get inode modification time of file
DirectoryIterator::getFilename -- Return filename of current dir entry
DirectoryIterator::getGroup -- Get file group
DirectoryIterator::getInode -- Get file inode
DirectoryIterator::getMTime -- Get last modification time of file
DirectoryIterator::getOwner -- Get file owner
DirectoryIterator::getPath -- Return directory path
DirectoryIterator::getPathname -- Return path and filename of current dir entry
DirectoryIterator::getPerms -- Get file permissions
DirectoryIterator::getSize -- Get file size
DirectoryIterator::getType -- Get file type
DirectoryIterator::isDir -- Returns true if file is directory
DirectoryIterator::isDot -- Returns true if current entry is '.' or '..'
DirectoryIterator::isExecutable -- Returns true if file is executable
DirectoryIterator::isFile -- Returns true if file is a regular file
DirectoryIterator::isLink -- Returns true if file is symbolic link
DirectoryIterator::isReadable -- Returns true if file can be read
DirectoryIterator::isWritable -- Returns true if file can be written
DirectoryIterator::key -- Return current dir entry
DirectoryIterator::next -- Move to next entry
DirectoryIterator::rewind -- Rewind dir back to the start
DirectoryIterator::valid -- Check whether dir contains more entries
FilterIterator::current -- Get the current element value
FilterIterator::getInnerIterator -- Get the inner iterator
FilterIterator::key -- Get the current key
FilterIterator::next -- Move the iterator forward
FilterIterator::rewind -- Rewind the iterator
FilterIterator::valid -- Check whether the current element is valid
LimitIterator::getPosition -- Return the current position
LimitIterator::next -- Move the iterator forward
LimitIterator::rewind -- Rewind the iterator to the specified starting offset
LimitIterator::seek -- Seek to the given position
LimitIterator::valid -- Check whether the current element is valid
ParentIterator::getChildren -- Return the inner iterator's children contained in a ParentIterator
ParentIterator::hasChildren -- Check whether the inner iterator's current element has children
ParentIterator::next -- Move the iterator forward
ParentIterator::rewind -- Rewind the iterator
RecursiveDirectoryIterator::getChildren -- Returns an iterator for the current entry if it is a directory
RecursiveDirectoryIterator::hasChildren -- Returns whether current entry is a directory and not '.' or '..'
RecursiveDirectoryIterator::key -- Return path and filename of current dir entry
RecursiveDirectoryIterator::next -- Move to next entry
RecursiveDirectoryIterator::rewind -- Rewind dir back to the start
RecursiveIteratorIterator::current -- Access the current element value
RecursiveIteratorIterator::getDepth -- Get the current depth of the recursive iteration
RecursiveIteratorIterator::getSubIterator -- The current active sub iterator
RecursiveIteratorIterator::key -- Access the current key
RecursiveIteratorIterator::next -- Move forward to the next element
RecursiveIteratorIterator::rewind -- Rewind the iterator to the first element of the top level inner iterator
RecursiveIteratorIterator::valid -- Check whether the current position is valid
SimpleXMLIterator::current -- Return current SimpleXML entry
SimpleXMLIterator::getChildren -- Returns an iterator for the current entry if it is a SimpleXML object
SimpleXMLIterator::hasChildren -- Returns whether current entry is a SimpleXML object
SimpleXMLIterator::key -- Return current SimpleXML key
SimpleXMLIterator::next -- Move to next entry
SimpleXMLIterator::rewind -- Rewind SimpleXML back to the start
SimpleXMLIterator::valid -- Check whether SimpleXML contains more entries
class_implements -- Return the interfaces which are implemented by the given class
class_parents -- Return the parent classes of the given class
iterator_count -- Count the elements in an iterator
iterator_to_array -- Copy the iterator into an array
spl_autoload_call -- Try all registered __autoload() function to load the requested class
spl_autoload_extensions -- Register and return default file extensions for spl_autoload
spl_autoload_functions -- Return all registered __autoload() functions
spl_autoload_register -- Register given function as __autoload() implementation
spl_autoload_unregister -- Unregister given function as __autoload() implementation
spl_autoload -- Default implementation for __autoload()
spl_classes -- Return available SPL classes
spl_object_hash -- Return hash id for given object
이전 | 위로 | 다음
socket_write | 처음으로 | ArrayIterator::current


ArrayIterator::current

(PHP 5)

ArrayIterator::current -- Return current array entry

Description

mixed ArrayIterator::current ( void )

This function returns the current array entry

예 2199. ArrayIterator::current() example

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

for($iterator = $arrayobject->getIterator();
    $iterator->valid();
    $iterator->next()) {

    echo $iterator->key() . ' => ' . $iterator->current() . "\n";
}
?>

위 예제의 출력:

1 => one
2 => two
3 => three

이전 | 위로 | 다음
CLV. Standard PHP Library (SPL) Functions | 처음으로 | ArrayIterator::key


ArrayIterator::key

(PHP 5)

ArrayIterator::key -- Return current array key

Description

mixed ArrayIterator::key ( void )

This function returns the current array key

예 2200. ArrayIterator::key() example

<?php
$array = array('key' => 'value');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

echo $iterator->key(); //key
?>

이전 | 위로 | 다음
ArrayIterator::current | 처음으로 | ArrayIterator::next


ArrayIterator::next

(PHP 5)

ArrayIterator::next -- Move to next entry

Description

void ArrayIterator::next ( void )

This function moves the iterator to the next entry.

예 2201. ArrayIterator::next() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

위 예제의 출력:

0 => zero
1 => one

이전 | 위로 | 다음
ArrayIterator::key | 처음으로 | ArrayIterator::rewind


ArrayIterator::rewind

(PHP 5)

ArrayIterator::rewind -- Rewind array back to the start

Description

void ArrayIterator::rewind ( void )

This function rewinds the iterator to the beginning.

예 2202. ArrayIterator::rewind() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';
$arrayobject[] = 'two';

$iterator = $arrayobject->getIterator();

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rewinding to the begining
echo $iterator->key(); //0
?>

이전 | 위로 | 다음
ArrayIterator::next | 처음으로 | ArrayIterator::seek


ArrayIterator::seek

(PHP 5)

ArrayIterator::seek -- Seek to position

Description

void ArrayIterator::seek ( int $position )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ArrayIterator::rewind | 처음으로 | ArrayIterator::valid


ArrayIterator::valid

(PHP 5)

ArrayIterator::valid -- Check whether array contains more entries

Description

bool ArrayIterator::valid ( void )

This function checks if the array contains any more entries.

예 2203. ArrayIterator::valid() example

<?php
$array = array('1' => 'one');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

var_dump($iterator->valid()); //bool(true)

$iterator->next(); // advance to the next item

//bool(false) because there is only one array element
var_dump($iterator->valid());
?>

이전 | 위로 | 다음
ArrayIterator::seek | 처음으로 | ArrayObject::append


ArrayObject::append

(PHP 5)

ArrayObject::append -- Appends the value

Description

void ArrayObject::append ( mixed $newval )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ArrayIterator::valid | 처음으로 | ArrayObject::__construct


ArrayObject::__construct

(PHP 5)

ArrayObject::__construct -- Construct a new array object

Description

ArrayObject ArrayObject::__construct ( mixed $input )

This constructs a new array object. The input parameter accepts an array or another ArrayObject.

예 2204. ArrayObject::__construct() example

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>

위 예제의 출력:

object(ArrayObject)#1 (3) {
  [1]=>
  string(3) "one"
  [2]=>
  string(3) "two"
  [3]=>
  string(5) "three"
}

이전 | 위로 | 다음
ArrayObject::append | 처음으로 | ArrayObject::count


ArrayObject::count

(PHP 5)

ArrayObject::count -- Return the number of elements in the Iterator

Description

int ArrayObject::count ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ArrayObject::__construct | 처음으로 | ArrayObject::getIterator


ArrayObject::getIterator

(PHP 5)

ArrayObject::getIterator -- Create a new iterator from an ArrayObject instance

Description

ArrayIterator ArrayObject::getIterator ( void )

This function will return an iterator from an ArrayObject.

예 2205. ArrayObject::getIterator() example

<?php
$array = array('1' => 'one',
               '2' => 'two',
               '3' => 'three');

$arrayobject = new ArrayObject($array);

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
    echo $iterator->key() . ' => ' . $iterator->current() . "\n";

    $iterator->next();
}
?>

The above example will output:

1 => one
2 => two
3 => three

이전 | 위로 | 다음
ArrayObject::count | 처음으로 | ArrayObject::offsetExists


ArrayObject::offsetExists

(PHP 5)

ArrayObject::offsetExists -- Returns whether the requested $index exists

Description

bool ArrayObject::offsetExists ( mixed $index )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ArrayObject::getIterator | 처음으로 | ArrayObject::offsetGet


ArrayObject::offsetGet

(PHP 5)

ArrayObject::offsetGet -- Returns the value at the specified $index

Description

mixed ArrayObject::offsetGet ( mixed $index )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ArrayObject::offsetExists | 처음으로 | ArrayObject::offsetSet


ArrayObject::offsetSet

(PHP 5)

ArrayObject::offsetSet -- Sets the value at the specified $index to $newval

Description

void ArrayObject::offsetSet ( mixed $index, mixed $newval )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ArrayObject::offsetGet | 처음으로 | ArrayObject::offsetUnset


ArrayObject::offsetUnset

(PHP 5)

ArrayObject::offsetUnset -- Unsets the value at the specified $index

Description

void ArrayObject::offsetUnset ( mixed $index )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ArrayObject::offsetSet | 처음으로 | CachingIterator::hasNext


CachingIterator::hasNext

(PHP 5)

CachingIterator::hasNext -- Check whether the inner iterator has a valid next element

Description

bool CachingIterator::hasNext ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ArrayObject::offsetUnset | 처음으로 | CachingIterator::next


CachingIterator::next

(PHP 5)

CachingIterator::next -- Move the iterator forward

Description

void CachingIterator::next ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CachingIterator::hasNext | 처음으로 | CachingIterator::rewind


CachingIterator::rewind

(PHP 5)

CachingIterator::rewind -- Rewind the iterator

Description

void CachingIterator::rewind ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CachingIterator::next | 처음으로 | CachingIterator::__toString


CachingIterator::__toString

(PHP 5)

CachingIterator::__toString -- Return the string representation of the current element

Description

string CachingIterator::__toString ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CachingIterator::rewind | 처음으로 | CachingIterator::valid


CachingIterator::valid

(PHP 5)

CachingIterator::valid -- Check whether the current element is valid

Description

bool CachingIterator::valid ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CachingIterator::__toString | 처음으로 | CachingRecursiveIterator::getChildren


CachingRecursiveIterator::getChildren

(PHP 5 <= 5.0.5)

CachingRecursiveIterator::getChildren -- Return the inner iterator's children as a CachingRecursiveIterator

Description

CachingRecursiveIterator CachingRecursiveIterator::getChildren ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CachingIterator::valid | 처음으로 | CachingRecursiveIterator::hasChildren


CachingRecursiveIterator::hasChildren

(PHP 5 <= 5.0.5)

CachingRecursiveIterator::hasChildren -- Check whether the current element of the inner iterator has children

Description

bolean CachingRecursiveIterator::hasChildren ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CachingRecursiveIterator::getChildren | 처음으로 | DirectoryIterator::__construct


DirectoryIterator::__construct

(PHP 5)

DirectoryIterator::__construct -- Constructs a new dir iterator from a path

Description

DirectoryIterator DirectoryIterator::__construct ( string $path )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CachingRecursiveIterator::hasChildren | 처음으로 | DirectoryIterator::current


DirectoryIterator::current

(PHP 5)

DirectoryIterator::current -- Return this (needed for Iterator interface)

Description

DirectoryIterator DirectoryIterator::current ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::__construct | 처음으로 | DirectoryIterator::getATime


DirectoryIterator::getATime

(PHP 5 >= 5.0.2)

DirectoryIterator::getATime -- Get last access time of file

Description

int DirectoryIterator::getATime ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::current | 처음으로 | DirectoryIterator::getCTime


DirectoryIterator::getCTime

(PHP 5 >= 5.0.2)

DirectoryIterator::getCTime -- Get inode modification time of file

Description

int DirectoryIterator::getCTime ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getATime | 처음으로 | DirectoryIterator::getFilename


DirectoryIterator::getFilename

(PHP 5)

DirectoryIterator::getFilename -- Return filename of current dir entry

Description

string DirectoryIterator::getFilename ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getCTime | 처음으로 | DirectoryIterator::getGroup


DirectoryIterator::getGroup

(PHP 5 >= 5.0.2)

DirectoryIterator::getGroup -- Get file group

Description

int DirectoryIterator::getGroup ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getFilename | 처음으로 | DirectoryIterator::getInode


DirectoryIterator::getInode

(PHP 5 >= 5.0.2)

DirectoryIterator::getInode -- Get file inode

Description

int DirectoryIterator::getInode ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getGroup | 처음으로 | DirectoryIterator::getMTime


DirectoryIterator::getMTime

(PHP 5 >= 5.0.2)

DirectoryIterator::getMTime -- Get last modification time of file

Description

int DirectoryIterator::getMTime ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getInode | 처음으로 | DirectoryIterator::getOwner


DirectoryIterator::getOwner

(PHP 5 >= 5.0.2)

DirectoryIterator::getOwner -- Get file owner

Description

int DirectoryIterator::getOwner ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getMTime | 처음으로 | DirectoryIterator::getPath


DirectoryIterator::getPath

(PHP 5 <= 5.1.1)

DirectoryIterator::getPath -- Return directory path

Description

string DirectoryIterator::getPath ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getOwner | 처음으로 | DirectoryIterator::getPathname


DirectoryIterator::getPathname

(PHP 5 <= 5.1.1)

DirectoryIterator::getPathname -- Return path and filename of current dir entry

Description

string DirectoryIterator::getPathname ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getPath | 처음으로 | DirectoryIterator::getPerms


DirectoryIterator::getPerms

(PHP 5 >= 5.0.2)

DirectoryIterator::getPerms -- Get file permissions

Description

int DirectoryIterator::getPerms ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getPathname | 처음으로 | DirectoryIterator::getSize


DirectoryIterator::getSize

(PHP 5 >= 5.0.2)

DirectoryIterator::getSize -- Get file size

Description

int DirectoryIterator::getSize ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getPerms | 처음으로 | DirectoryIterator::getType


DirectoryIterator::getType

(PHP 5 >= 5.0.2)

DirectoryIterator::getType -- Get file type

Description

string DirectoryIterator::getType ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getSize | 처음으로 | DirectoryIterator::isDir


DirectoryIterator::isDir

(PHP 5 <= 5.1.1)

DirectoryIterator::isDir -- Returns true if file is directory

Description

bool DirectoryIterator::isDir ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::getType | 처음으로 | DirectoryIterator::isDot


DirectoryIterator::isDot

(PHP 5)

DirectoryIterator::isDot -- Returns true if current entry is '.' or '..'

Description

bool DirectoryIterator::isDot ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::isDir | 처음으로 | DirectoryIterator::isExecutable


DirectoryIterator::isExecutable

(PHP 5 <= 5.1.1)

DirectoryIterator::isExecutable -- Returns true if file is executable

Description

bool DirectoryIterator::isExecutable ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::isDot | 처음으로 | DirectoryIterator::isFile


DirectoryIterator::isFile

(PHP 5 <= 5.1.1)

DirectoryIterator::isFile -- Returns true if file is a regular file

Description

bool DirectoryIterator::isFile ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::isExecutable | 처음으로 | DirectoryIterator::isLink


DirectoryIterator::isLink

(PHP 5 <= 5.1.1)

DirectoryIterator::isLink -- Returns true if file is symbolic link

Description

bool DirectoryIterator::isLink ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::isFile | 처음으로 | DirectoryIterator::isReadable


DirectoryIterator::isReadable

(PHP 5 <= 5.1.1)

DirectoryIterator::isReadable -- Returns true if file can be read

Description

bool DirectoryIterator::isReadable ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::isLink | 처음으로 | DirectoryIterator::isWritable


DirectoryIterator::isWritable

(PHP 5 <= 5.1.1)

DirectoryIterator::isWritable -- Returns true if file can be written

Description

bool DirectoryIterator::isWritable ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::isReadable | 처음으로 | DirectoryIterator::key


DirectoryIterator::key

(PHP 5)

DirectoryIterator::key -- Return current dir entry

Description

string DirectoryIterator::key ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::isWritable | 처음으로 | DirectoryIterator::next


DirectoryIterator::next

(PHP 5)

DirectoryIterator::next -- Move to next entry

Description

void DirectoryIterator::next ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::key | 처음으로 | DirectoryIterator::rewind


DirectoryIterator::rewind

(PHP 5)

DirectoryIterator::rewind -- Rewind dir back to the start

Description

void DirectoryIterator::rewind ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::next | 처음으로 | DirectoryIterator::valid


DirectoryIterator::valid

(PHP 5)

DirectoryIterator::valid -- Check whether dir contains more entries

Description

string DirectoryIterator::valid ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::rewind | 처음으로 | FilterIterator::current


FilterIterator::current

(PHP 5)

FilterIterator::current -- Get the current element value

Description

mixed FilterIterator::current ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DirectoryIterator::valid | 처음으로 | FilterIterator::getInnerIterator


FilterIterator::getInnerIterator

(PHP 5)

FilterIterator::getInnerIterator -- Get the inner iterator

Description

Iterator FilterIterator::getInnerIterator ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
FilterIterator::current | 처음으로 | FilterIterator::key


FilterIterator::key

(PHP 5)

FilterIterator::key -- Get the current key

Description

mixed FilterIterator::key ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
FilterIterator::getInnerIterator | 처음으로 | FilterIterator::next


FilterIterator::next

(PHP 5)

FilterIterator::next -- Move the iterator forward

Description

void FilterIterator::next ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
FilterIterator::key | 처음으로 | FilterIterator::rewind


FilterIterator::rewind

(PHP 5)

FilterIterator::rewind -- Rewind the iterator

Description

void FilterIterator::rewind ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
FilterIterator::next | 처음으로 | FilterIterator::valid


FilterIterator::valid

(PHP 5)

FilterIterator::valid -- Check whether the current element is valid

Description

bool FilterIterator::valid ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
FilterIterator::rewind | 처음으로 | LimitIterator::getPosition


LimitIterator::getPosition

(PHP 5)

LimitIterator::getPosition -- Return the current position

Description

int LimitIterator::getPosition ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
FilterIterator::valid | 처음으로 | LimitIterator::next


LimitIterator::next

(PHP 5)

LimitIterator::next -- Move the iterator forward

Description

void LimitIterator::next ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
LimitIterator::getPosition | 처음으로 | LimitIterator::rewind


LimitIterator::rewind

(PHP 5)

LimitIterator::rewind -- Rewind the iterator to the specified starting offset

Description

void LimitIterator::rewind ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
LimitIterator::next | 처음으로 | LimitIterator::seek


LimitIterator::seek

(PHP 5)

LimitIterator::seek -- Seek to the given position

Description

void LimitIterator::seek ( int $position )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
LimitIterator::rewind | 처음으로 | LimitIterator::valid


LimitIterator::valid

(PHP 5)

LimitIterator::valid -- Check whether the current element is valid

Description

bool LimitIterator::valid ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
LimitIterator::seek | 처음으로 | ParentIterator::getChildren


ParentIterator::getChildren

(PHP 5 <= 5.2.1)

ParentIterator::getChildren -- Return the inner iterator's children contained in a ParentIterator

Description

ParentIterator ParentIterator::getChildren ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
LimitIterator::valid | 처음으로 | ParentIterator::hasChildren


ParentIterator::hasChildren

(PHP 5 <= 5.2.1)

ParentIterator::hasChildren -- Check whether the inner iterator's current element has children

Description

bool ParentIterator::hasChildren ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ParentIterator::getChildren | 처음으로 | ParentIterator::next


ParentIterator::next

(PHP 5)

ParentIterator::next -- Move the iterator forward

Description

void ParentIterator::next ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ParentIterator::hasChildren | 처음으로 | ParentIterator::rewind


ParentIterator::rewind

(PHP 5)

ParentIterator::rewind -- Rewind the iterator

Description

void ParentIterator::rewind ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ParentIterator::next | 처음으로 | RecursiveDirectoryIterator::getChildren


RecursiveDirectoryIterator::getChildren

(No version information available, might be only in CVS)

RecursiveDirectoryIterator::getChildren -- Returns an iterator for the current entry if it is a directory

Description

object RecursiveDirectoryIterator::getChildren ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
ParentIterator::rewind | 처음으로 | RecursiveDirectoryIterator::hasChildren


RecursiveDirectoryIterator::hasChildren

(PHP 5)

RecursiveDirectoryIterator::hasChildren -- Returns whether current entry is a directory and not '.' or '..'

Description

bool RecursiveDirectoryIterator::hasChildren ( [bool $allow_links] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveDirectoryIterator::getChildren | 처음으로 | RecursiveDirectoryIterator::key


RecursiveDirectoryIterator::key

(PHP 5)

RecursiveDirectoryIterator::key -- Return path and filename of current dir entry

Description

string RecursiveDirectoryIterator::key ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveDirectoryIterator::hasChildren | 처음으로 | RecursiveDirectoryIterator::next


RecursiveDirectoryIterator::next

(PHP 5)

RecursiveDirectoryIterator::next -- Move to next entry

Description

void RecursiveDirectoryIterator::next ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveDirectoryIterator::key | 처음으로 | RecursiveDirectoryIterator::rewind


RecursiveDirectoryIterator::rewind

(PHP 5)

RecursiveDirectoryIterator::rewind -- Rewind dir back to the start

Description

void RecursiveDirectoryIterator::rewind ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveDirectoryIterator::next | 처음으로 | RecursiveIteratorIterator::current


RecursiveIteratorIterator::current

(PHP 5)

RecursiveIteratorIterator::current -- Access the current element value

Description

mixed RecursiveIteratorIterator::current ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveDirectoryIterator::rewind | 처음으로 | RecursiveIteratorIterator::getDepth


RecursiveIteratorIterator::getDepth

(PHP 5)

RecursiveIteratorIterator::getDepth -- Get the current depth of the recursive iteration

Description

int RecursiveIteratorIterator::getDepth ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveIteratorIterator::current | 처음으로 | RecursiveIteratorIterator::getSubIterator


RecursiveIteratorIterator::getSubIterator

(PHP 5)

RecursiveIteratorIterator::getSubIterator -- The current active sub iterator

Description

RecursiveIterator RecursiveIteratorIterator::getSubIterator ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveIteratorIterator::getDepth | 처음으로 | RecursiveIteratorIterator::key


RecursiveIteratorIterator::key

(PHP 5)

RecursiveIteratorIterator::key -- Access the current key

Description

mixed RecursiveIteratorIterator::key ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveIteratorIterator::getSubIterator | 처음으로 | RecursiveIteratorIterator::next


RecursiveIteratorIterator::next

(PHP 5)

RecursiveIteratorIterator::next -- Move forward to the next element

Description

void RecursiveIteratorIterator::next ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveIteratorIterator::key | 처음으로 | RecursiveIteratorIterator::rewind


RecursiveIteratorIterator::rewind

(PHP 5)

RecursiveIteratorIterator::rewind -- Rewind the iterator to the first element of the top level inner iterator

Description

void RecursiveIteratorIterator::rewind ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveIteratorIterator::next | 처음으로 | RecursiveIteratorIterator::valid


RecursiveIteratorIterator::valid

(PHP 5)

RecursiveIteratorIterator::valid -- Check whether the current position is valid

Description

bolean RecursiveIteratorIterator::valid ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveIteratorIterator::rewind | 처음으로 | SimpleXMLIterator::current


SimpleXMLIterator::current

(PHP 5 >= 5.1.3)

SimpleXMLIterator::current -- Return current SimpleXML entry

Description

mixed SimpleXMLIterator::current ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
RecursiveIteratorIterator::valid | 처음으로 | SimpleXMLIterator::getChildren


SimpleXMLIterator::getChildren

(PHP 5 >= 5.1.3)

SimpleXMLIterator::getChildren -- Returns an iterator for the current entry if it is a SimpleXML object

Description

object SimpleXMLIterator::getChildren ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SimpleXMLIterator::current | 처음으로 | SimpleXMLIterator::hasChildren


SimpleXMLIterator::hasChildren

(PHP 5 >= 5.1.3)

SimpleXMLIterator::hasChildren -- Returns whether current entry is a SimpleXML object

Description

bool SimpleXMLIterator::hasChildren ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SimpleXMLIterator::getChildren | 처음으로 | SimpleXMLIterator::key


SimpleXMLIterator::key

(PHP 5 >= 5.1.3)

SimpleXMLIterator::key -- Return current SimpleXML key

Description

mixed SimpleXMLIterator::key ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SimpleXMLIterator::hasChildren | 처음으로 | SimpleXMLIterator::next


SimpleXMLIterator::next

(PHP 5 >= 5.1.3)

SimpleXMLIterator::next -- Move to next entry

Description

void SimpleXMLIterator::next ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SimpleXMLIterator::key | 처음으로 | SimpleXMLIterator::rewind


SimpleXMLIterator::rewind

(PHP 5 >= 5.1.3)

SimpleXMLIterator::rewind -- Rewind SimpleXML back to the start

Description

void SimpleXMLIterator::rewind ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SimpleXMLIterator::next | 처음으로 | SimpleXMLIterator::valid


SimpleXMLIterator::valid

(PHP 5 >= 5.1.3)

SimpleXMLIterator::valid -- Check whether SimpleXML contains more entries

Description

bool SimpleXMLIterator::valid ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SimpleXMLIterator::rewind | 처음으로 | class_implements


class_implements

(PHP 5)

class_implements -- Return the interfaces which are implemented by the given class

설명

array class_implements ( mixed $class [, bool $autoload] )

This function returns an array with the names of the interfaces that the given class and its parents implement.

매개변수

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload magic method. Defaults to TRUE.

반환값

Returns an array or FALSE on error.

변경 기록

버전 | 설명
5.1.0 | Added the option to pass the class parameter as a string. Added the autoload parameter.

예제

예 2206. class_implements() example

<?php

interface foo { }
class bar implements foo {}

print_r(class_implements(new bar));

// since PHP 5.1.0 you may also specify the parameter as a string
print_r(class_implements('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_implements('not_loaded', true));

?>

위 예제의 출력 예:

Array
(
    [foo] => foo
)

Array
(
    [interface_of_not_loaded] => interface_of_not_loaded
)

참고

class_parents()

이전 | 위로 | 다음
SimpleXMLIterator::valid | 처음으로 | class_parents


class_parents

(PHP 5)

class_parents -- Return the parent classes of the given class

설명

array class_parents ( mixed $class [, bool $autoload] )

This function returns an array with the name of the parent classes of the given class.

매개변수

class

An object (class instance) or a string (class name).

autoload

Whether to allow this function to load the class automatically through the __autoload magic method. Defaults to TRUE.

반환값

Returns an array or FALSE on error.

변경 기록

버전 | 설명
5.1.0 | Added the option to pass the class parameter as a string. Added the autoload parameter.

예제

예 2207. class_parents() example

<?php

class foo { }
class bar extends foo {}

print_r(class_parents(new bar));

// since PHP 5.1.0 you may also specify the parameter as a string
print_r(class_parents('bar'));

function __autoload($class_name) {
   require_once $class_name . '.php';
}

// use __autoload to load the 'not_loaded' class
print_r(class_parents('not_loaded', true));
?>

위 예제의 출력 예:

Array
(
    [foo] => foo
)

Array
(
    [parent_of_not_loaded] => parent_of_not_loaded
)

참고

class_implements()

이전 | 위로 | 다음
class_implements | 처음으로 | iterator_count


iterator_count

(PHP 5 >= 5.1.3)

iterator_count -- Count the elements in an iterator

Description

int iterator_count ( IteratorAggregate $iterator )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
class_parents | 처음으로 | iterator_to_array


iterator_to_array

(PHP 5 >= 5.1.3)

iterator_to_array -- Copy the iterator into an array

Description

array iterator_to_array ( IteratorAggregate $iterator [, bool $use_keys] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iterator_count | 처음으로 | spl_autoload_call


spl_classes

(PHP 5)

spl_classes -- Return available SPL classes

Description

array spl_classes ( void )

This function returns an array with the current available SPL classes.

예 2208. spl_classes() example

<?php

print_r(spl_classes());

?>

위 예제의 출력 예:

Array
(
    [ArrayObject] => ArrayObject
    [ArrayIterator] => ArrayIterator
    [CachingIterator] => CachingIterator
    [CachingRecursiveIterator] => CachingRecursiveIterator
    [DirectoryIterator] => DirectoryIterator
    [FilterIterator] => FilterIterator
    [LimitIterator] => LimitIterator
    [ParentIterator] => ParentIterator
    [RecursiveDirectoryIterator] => RecursiveDirectoryIterator
    [RecursiveIterator] => RecursiveIterator
    [RecursiveIteratorIterator] => RecursiveIteratorIterator
    [SeekableIterator] => SeekableIterator
    [SimpleXMLIterator] => SimpleXMLIterator
)

이전 | 위로 | 다음
spl_autoload | 처음으로 | spl_object_hash


Stream Functions

이전 VI. 함수 레퍼런스 다음

CLX. Stream Functions

소개

Streams were introduced with PHP 4.3.0 as a way of generalizing file, network, data compression, and other operations which share a common set of functions and uses. In its simplest definition, a stream is a resource object which exhibits streamable behavior. That is, it can be read from or written to in a linear fashion, and may be able to fseek() to an arbitrary locations within the stream.

A wrapper is additional code which tells the stream how to handle specific protocols/encodings. For example, the http wrapper knows how to translate a URL into an HTTP/1.0 request for a file on a remote server. There are many wrappers built into PHP by default (See 부록 O. 지원 프로토콜/래퍼 목록), and additional, custom wrappers may be added either within a PHP script using stream_wrapper_register(), or directly from an extension using the API Reference in 53장. Working with streams. Because any variety of wrapper may be added to PHP, there is no set limit on what can be done with them. To access the list of currently registered wrappers, use stream_get_wrappers().

A stream is referenced as: scheme://target

  • scheme(string) - The name of the wrapper to be used. Examples include: file, http, https, ftp, ftps, compress.zlib, compress.bz2, and php. See 부록 O. 지원 프로토콜/래퍼 목록 for a list of PHP built-in wrappers. If no wrapper is specified, the function default is used (typically file://).
  • target - Depends on the wrapper used. For filesystem related streams this is typically a path and filename of the desired file. For network related streams this is typically a hostname, often with a path appended. Again, see 부록 O. 지원 프로토콜/래퍼 목록 for a description of targets for built-in streams.

Stream Filters

A filter is a final piece of code which may perform operations on data as it is being read from or written to a stream. Any number of filters may be stacked onto a stream. Custom filters can be defined in a PHP script using stream_filter_register() or in an extension using the API Reference in 53장. Working with streams. To access the list of currently registered filters, use stream_get_filters().

Stream Contexts

A context is a set of parameters and wrapper specific options which modify or enhance the behavior of a stream. Contexts are created using stream_context_create() and can be passed to most filesystem related stream creation functions (i.e. fopen(), file(), file_get_contents(), etc...).

Options can be specified when calling stream_context_create(), or later using stream_context_set_option(). A list of wrapper specific options can be found with the list of built-in wrappers (See 부록 O. 지원 프로토콜/래퍼 목록).

In addition, parameters may be set on a context using stream_context_set_params(). Currently the only context parameter supported by PHP is notification. The value of this parameter must be the name of a function to be called when an event occurs on a stream. The notification function called during an event should accept the following six parameters:

void my_notifier ( int $notification_code, int $severity, string $message, int $message_code, int $bytes_transferred, int $bytes_max )

notification_code and severity are numerical values which correspond to the STREAM_NOTIFY_* constants listed below. If a descriptive message is available from the stream, message and message_code will be populated with the appropriate values. The meaning of these values is dependent on the specific wrapper in use. bytes_transferred and bytes_max will be populated when applicable.

설치

Streams are an integral part of PHP as of version 4.3.0. No steps are required to enable them.

Stream Classes

User designed wrappers can be registered via stream_wrapper_register(), using the class definition shown on that manual page.

class php_user_filter is predefined and is an abstract baseclass for use with user defined filters. See the manual page for stream_filter_register() for details on implementing user defined filters.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Constant | Description
STREAM_FILTER_READ * | Used with stream_filter_append() and stream_filter_prepend() to indicate that the specified filter should only be applied when reading
STREAM_FILTER_WRITE * | Used with stream_filter_append() and stream_filter_prepend() to indicate that the specified filter should only be applied when writing
STREAM_FILTER_ALL * | This constant is equivalent to STREAM_FILTER_READ | STREAM_FILTER_WRITE
PSFS_PASS_ON * | Return Code indicating that the userspace filter returned buckets in $out.
PSFS_FEED_ME * | Return Code indicating that the userspace filter did not return buckets in $out (i.e. No data available).
PSFS_ERR_FATAL * | Return Code indicating that the userspace filter encountered an unrecoverable error (i.e. Invalid data received).
STREAM_USE_PATH | Flag indicating if the stream used the include path.
STREAM_REPORT_ERRORS | Flag indicating if the wrapper is responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.
STREAM_CLIENT_ASYNC_CONNECT * | Open client socket asynchronously. This option must be used together with the STREAM_CLIENT_CONNECT flag. Used with stream_socket_client().
STREAM_CLIENT_CONNECT * | Open client socket connection. Client sockets should always include this flag. Used with stream_socket_client().
STREAM_CLIENT_PERSISTENT * | Client socket opened with stream_socket_client() should remain persistent between page loads.
STREAM_SERVER_BIND * | Tells a stream created with stream_socket_server() to bind to the specified target. Server sockets should always include this flag.
STREAM_SERVER_LISTEN * | Tells a stream created with stream_socket_server() and bound using the STREAM_SERVER_BIND flag to start listening on the socket. Connection-orientated transports (such as TCP) must use this flag, otherwise the server socket will not be enabled. Using this flag for connect-less transports (such as UDP) is an error.
STREAM_NOTIFY_RESOLVE * | A remote address required for this stream has been resolved, or the resolution failed. See severity for an indication of which happened.
STREAM_NOTIFY_CONNECT | A connection with an external resource has been established.
STREAM_NOTIFY_AUTH_REQUIRED | Additional authorization is required to access the specified resource. Typical issued with severity level of STREAM_NOTIFY_SEVERITY_ERR.
STREAM_NOTIFY_MIME_TYPE_IS | The mime-type of resource has been identified, refer to message for a description of the discovered type.
STREAM_NOTIFY_FILE_SIZE_IS | The size of the resource has been discovered.
STREAM_NOTIFY_REDIRECTED | The external resource has redirected the stream to an alternate location. Refer to message.
STREAM_NOTIFY_PROGRESS | Indicates current progress of the stream transfer in bytes_transferred and possibly bytes_max as well.
STREAM_NOTIFY_COMPLETED * | There is no more data available on the stream.
STREAM_NOTIFY_FAILURE | A generic error occurred on the stream, consult message and message_code for details.
STREAM_NOTIFY_AUTH_RESULT | Authorization has been completed (with or without success).
STREAM_NOTIFY_SEVERITY_INFO | Normal, non-error related, notification.
STREAM_NOTIFY_SEVERITY_WARN | Non critical error condition. Processing may continue.
STREAM_NOTIFY_SEVERITY_ERR | A critical error occurred. Processing cannot continue.
STREAM_IPPROTO_ICMP + | Provides a ICMP socket.
STREAM_IPPROTO_IP + | Provides a IP socket.
STREAM_IPPROTO_RAW + | Provides a RAW socket.
STREAM_IPPROTO_TCP + | Provides a TCP socket.
STREAM_IPPROTO_UDP + | Provides a UDP socket.
STREAM_PF_INET + | Internet Protocol Version 4 (IPv4).
STREAM_PF_INET6 + | Internet Protocol Version 6 (IPv6).
STREAM_PF_UNIX + | Unix system internal protocols.
STREAM_SOCK_DGRAM + | Provides datagrams, which are connectionless messages (UDP, for example).
STREAM_SOCK_RAW + | Provides a raw socket, which provides access to internal network protocols and interfaces. Usually this type of socket is just available to the root user.
STREAM_SOCK_RDM + | Provides a RDM (Reliably-delivered messages) socket.
STREAM_SOCK_SEQPACKET + | Provides a sequenced packet stream socket.
STREAM_SOCK_STREAM + | Provides sequenced, two-way byte streams with a transmission mechanism for out-of-band data (TCP, for example).
STREAM_SHUT_RD | Used with stream_socket_shutdown() to disable further receptions. Added in PHP 5.2.1.
STREAM_SHUT_WR | Used with stream_socket_shutdown() to disable further transmissions. Added in PHP 5.2.1.
STREAM_SHUT_RDWR | Used with stream_socket_shutdown() to disable further receptions and transmissions. Added in PHP 5.2.1.

참고: The constants marked with * are just available since PHP 5.0.0.

참고: The constants marked with + are available since PHP 5.1.0 and are meant to be used with stream_socket_pair(). Please note that some of these constants might not be available in your system.

Stream Errors

As with any file or socket related function, an operation on a stream may fail for a variety of normal reasons (i.e.: Unable to connect to remote host, file not found, etc...). A stream related call may also fail because the desired stream is not registered on the running system. See the array returned by stream_get_wrappers() for a list of streams supported by your installation of PHP. As with most PHP internal functions if a failure occurs an E_WARNING message will be generated describing the nature of the error.

예제

예 2262. Using file_get_contents() to retrieve data from multiple sources

<?php
/* Read local file from /home/bar */
$localfile = file_get_contents("/home/bar/foo.txt");

/* Identical to above, explicitly naming FILE scheme */
$localfile = file_get_contents("file:///home/bar/foo.txt");

/* Read remote file from www.example.com using HTTP */
$httpfile  = file_get_contents("http://www.example.com/foo.txt");

/* Read remote file from www.example.com using HTTPS */
$httpsfile = file_get_contents("https://www.example.com/foo.txt");

/* Read remote file from ftp.example.com using FTP */
$ftpfile   = file_get_contents("ftp://user:pass@ftp.example.com/foo.txt");

/* Read remote file from ftp.example.com using FTPS */
$ftpsfile  = file_get_contents("ftps://user:pass@ftp.example.com/foo.txt");
?>

예 2263. Making a POST request to an https server

<?php
/* Send POST request to https://secure.example.com/form_action.php
 * Include form elements named "foo" and "bar" with dummy values
 */

$sock = fsockopen("ssl://secure.example.com", 443, $errno, $errstr, 30);
if (!$sock) die("$errstr ($errno)\n");

$data = "foo=" . urlencode("Value for Foo") . "&bar=" . urlencode("Value for Bar");

fwrite($sock, "POST /form_action.php HTTP/1.0\r\n");
fwrite($sock, "Host: secure.example.com\r\n");
fwrite($sock, "Content-type: application/x-www-form-urlencoded\r\n");
fwrite($sock, "Content-length: " . strlen($data) . "\r\n");
fwrite($sock, "Accept: */*\r\n");
fwrite($sock, "\r\n");
fwrite($sock, "$data\r\n");
fwrite($sock, "\r\n");

$headers = "";
while ($str = trim(fgets($sock, 4096)))
  $headers .= "$str\n";

echo "\n";

$body = "";
while (!feof($sock))
  $body .= fgets($sock, 4096);

fclose($sock);
?>

예 2264. Writing data to a compressed file

<?php
/* Create a compressed file containing an arbitrarty string
 * File can be read back using compress.zlib stream or just
 * decompressed from the command line using 'gzip -d foo-bar.txt.gz'
 */
$fp = fopen("compress.zlib://foo-bar.txt.gz", "wb");
if (!$fp) die("Unable to create file.");

fwrite($fp, "This is a test.\n");

fclose($fp);
?>

차례

stream_bucket_append -- Append bucket to brigade
stream_bucket_make_writeable -- Return a bucket object from the brigade for operating on
stream_bucket_new -- Create a new bucket for use on the current stream
stream_bucket_prepend -- Prepend bucket to brigade
stream_context_create -- Create a streams context
stream_context_get_default -- Retreive the default streams context
stream_context_get_options -- Retrieve options for a stream/wrapper/context
stream_context_set_option -- Sets an option for a stream/wrapper/context
stream_context_set_params -- Set parameters for a stream/wrapper/context
stream_copy_to_stream -- Copies data from one stream to another
stream_encoding -- Set character set for stream encoding
stream_filter_append -- Attach a filter to a stream
stream_filter_prepend -- Attach a filter to a stream
stream_filter_register -- Register a stream filter implemented as a PHP class derived from php_user_filter
stream_filter_remove -- Remove a filter from a stream
stream_get_contents -- Reads remainder of a stream into a string
stream_get_filters -- Retrieve list of registered filters
stream_get_line -- Gets line from stream resource up to a given delimiter
stream_get_meta_data -- Retrieves header/meta data from streams/file pointers
stream_get_transports -- Retrieve list of registered socket transports
stream_get_wrappers -- Retrieve list of registered streams
stream_register_wrapper -- Alias of stream_wrapper_register()
stream_resolve_include_path -- Determine what file will be opened by calls to fopen() with a relative path
stream_select -- Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
stream_set_blocking -- Set blocking/non-blocking mode on a stream
stream_set_timeout -- Set timeout period on a stream
stream_set_write_buffer -- Sets file buffering on the given stream
stream_socket_accept -- Accept a connection on a socket created by stream_socket_server()
stream_socket_client -- Open Internet or Unix domain socket connection
stream_socket_enable_crypto -- Turns encryption on/off on an already connected socket
stream_socket_get_name -- Retrieve the name of the local or remote sockets
stream_socket_pair -- Creates a pair of connected, indistinguishable socket streams
stream_socket_recvfrom -- Receives data from a socket, connected or not
stream_socket_sendto -- Sends a message to a socket, whether it is connected or not
stream_socket_server -- Create an Internet or Unix domain server socket
stream_socket_shutdown -- Shutdown a full-duplex connection
stream_wrapper_register -- Register a URL wrapper implemented as a PHP class
stream_wrapper_restore -- Restores a previously unregistered built-in wrapper
stream_wrapper_unregister -- Unregister a URL wrapper
이전 | 위로 | 다음
stats_variance | 처음으로 | stream_bucket_append


stream_context_create

(PHP 4 >= 4.3.0, PHP 5)

stream_context_create -- Create a streams context

Description

resource stream_context_create ( [array $options [, array $params]] )

Creates and returns a stream context with any options supplied in options preset.

options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value. It defaults to an empty array.

params must be an associative array in the format $arr['parameter'] = $value. Refer to stream_context_set_params() for a listing of standard stream parameters.

참고: The params argument was added to PHP 6.0.0.

예 2265. Using stream_context_create()

<?php
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

/* Sends an http request to www.example.com
   with additional headers shown above */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>

See also stream_context_set_option(), and Listing of supported wrappers with context options (부록 O. 지원 프로토콜/래퍼 목록).

이전 | 위로 | 다음
stream_bucket_prepend | 처음으로 | stream_context_get_default


stream_context_get_default

(PHP 5 >= 5.1.0)

stream_context_get_default -- Retreive the default streams context

Description

resource stream_context_get_default ( [array $options] )

Returns the default stream context which is used whenever file operations (fopen(), file_get_contents(), etc...) are called without a context parameter. Options for the default context can optionally be specified with this function using the same syntax as stream_context_create().

options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

예 2266. Using stream_context_get_default()

<?php
$default_opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar",
    'proxy'=>"tcp://10.54.1.39:8000"
  )
);

$alternate_opts = array(
  'http'=>array(
    'method'=>"POST",
    'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
              "Content-length: " . strlen("baz=bomb"),
    'content'=>"baz=bomb"
  )
);

$default = stream_context_get_default($default_opts);
$alternate = stream_context_create($alternate_opts);

/* Sends a regular GET request to proxy server at 10.54.1.39
 * For www.example.com using context options specified in $default_opts
 */
readfile('http://www.example.com');

/* Sends a POST request directly to www.example.com
 * Using context options specified in $alternate_opts
 */
readfile('http://www.example.com', false, $alternate);

?>

See also stream_context_create(), and Listing of supported wrappers with context options (부록 O. 지원 프로토콜/래퍼 목록).

이전 | 위로 | 다음
stream_context_create | 처음으로 | stream_context_get_options


stream_context_get_options

(PHP 4 >= 4.3.0, PHP 5)

stream_context_get_options -- Retrieve options for a stream/wrapper/context

Description

array stream_context_get_options ( resource $stream_or_context )

Returns an array of options on the specified stream or context.

이전 | 위로 | 다음
stream_context_get_default | 처음으로 | stream_context_set_option


stream_context_set_option

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_option -- Sets an option for a stream/wrapper/context

Description

bool stream_context_set_option ( resource $stream_or_context, string $wrapper, string $option, mixed $value )
bool stream_context_set_option ( resource $stream_or_context, array $options )

Sets an option on the specified context. value is set to option for wrapper

이전 | 위로 | 다음
stream_context_get_options | 처음으로 | stream_context_set_params


stream_context_set_params

(PHP 4 >= 4.3.0, PHP 5)

stream_context_set_params -- Set parameters for a stream/wrapper/context

Description

bool stream_context_set_params ( resource $stream_or_context, array $params )

params should be an associative array of the structure: $params['paramname'] = "paramvalue";.

표 299. Parameters

Parameters | Purpose
notification | Name of user-defined callback function to be called whenever a stream triggers a notification.
options | Array of options as in stream_context_create().

이전 | 위로 | 다음
stream_context_set_option | 처음으로 | stream_copy_to_stream


stream_copy_to_stream

(PHP 5)

stream_copy_to_stream -- Copies data from one stream to another

설명

int stream_copy_to_stream ( resource $source, resource $dest [, int $maxlength [, int $offset]] )

Makes a copy of up to maxlength bytes of data from the current position (or from the offset position, if specified) in source to dest. If maxlength is not specified, all remaining content in source will be copied.

매개변수

source

The source stream

dest

The destination stream

maxlength

Maximum bytes to copy

offset

The offset where to start to copy data

반환값

Returns the total count of bytes copied.

변경 기록

버전 | 설명
5.1.0 | Added the offset parameter

예제

예 2267. A stream_copy_to_stream() example

<?php
$src = fopen('http://www.example.com', 'r');
$dest1 = fopen('first1k.txt', 'w');
$dest2 = fopen('remainder.txt', 'w');

echo stream_copy_to_stream($src, $dest1, 1024) . " bytes copied to first1k.txt\n";
echo stream_copy_to_stream($src, $dest2) . " bytes copied to remainder.txt\n";

?>

참고

copy()

이전 | 위로 | 다음
stream_context_set_params | 처음으로 | stream_encoding


stream_filter_append

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_append -- Attach a filter to a stream

Description

resource stream_filter_append ( resource $stream, string $filtername [, int $read_write [, mixed $params]] )

Adds filtername to the list of filters attached to stream. This filter will be added with the specified params to the end of the list and will therefore be called last during stream operations. To add a filter to the beginning of the list, use stream_filter_prepend().

By default, stream_filter_append() will attach the filter to the read filter chain if the file was opened for reading (i.e. File Mode: r, and/or +). The filter will also be attached to the write filter chain if the file was opened for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to the read_write parameter to override this behavior.

As of PHP 5.1.0, this function returns a resource which can be used to refer to this filter instance during a call to stream_filter_remove(). Prior to PHP 5.1.0, this function returns TRUE on success or FALSE on failure.

예 2268. Controlling where filters are applied

<?php
/* Open a test file for reading and writing */
$fp = fopen('test.txt', 'w+');

/* Apply the ROT13 filter to the
 * write filter chain, but not the
 * read filter chain */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);

/* Write a simple string to the file
 * it will be ROT13 transformed on the
 * way out */
fwrite($fp, "This is a test\n");

/* Back up to the beginning of the file */
rewind($fp);

/* Read the contents of the file back out.
 * Had the filter been applied to the
 * read filter chain as well, we would see
 * the text ROT13ed back to its original state */
fpassthru($fp);

fclose($fp);

/* Expected Output
   ---------------

Guvf vf n grfg

 */
?>

When using custom (user) filters: stream_filter_register() must be called first in order to register the desired user filter to filtername.

참고: Stream data is read from resources (both local and remote) in chunks, with any unconsumed data kept in internal buffers. When a new filter is appended to a stream, data in the internal buffers is processed through the new filter at that time. This differs from the behavior of stream_filter_prepend().

See also
stream_filter_register(),
stream_filter_prepend(), and
stream_get_filters().

이전 | 위로 | 다음
stream_encoding | 처음으로 | stream_filter_prepend


stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_prepend -- Attach a filter to a stream

Description

resource stream_filter_prepend ( resource $stream, string $filtername [, int $read_write [, mixed $params]] )

Adds filtername to the list of filters attached to stream. This filter will be added with the specified params to the beginning of the list and will therefore be called first during stream operations. To add a filter to the end of the list, use stream_filter_append().

By default, stream_filter_prepend() will attach the filter to the read filter chain if the file was opened for reading (i.e. File Mode: r, and/or +). The filter will also be attached to the write filter chain if the file was opened for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to the read_write parameter to override this behavior. See stream_filter_append() for an example of using this parameter.

As of PHP 5.1.0, this function returns a resource which can be used to refer to this filter instance during a call to stream_filter_remove(). Prior to PHP 5.1.0, this function returns TRUE on success or FALSE on failure.

When using custom (user) filters: stream_filter_register() must be called first in order to register the desired user filter to filtername.

참고: Stream data is read from resources (both local and remote) in chunks, with any unconsumed data kept in internal buffers. When a new filter is prepended to a stream, data in the internal buffers, which has already been processed through other filters will not be reprocessed through the new filter at that time. This differs from the behavior of stream_filter_append().

See also stream_filter_register(), and stream_filter_append().

이전 | 위로 | 다음
stream_filter_append | 처음으로 | stream_filter_register


stream_filter_register

(PHP 5)

stream_filter_register -- Register a stream filter implemented as a PHP class derived from php_user_filter

Description

bool stream_filter_register ( string $filtername, string $classname )

stream_filter_register() allows you to implement your own filter on any registered stream used with all the other filesystem functions (such as fopen(), fread() etc.).

To implement a filter, you need to define a class as an extension of php_user_filter with a number of member functions as defined below. When performing read/write operations on the stream to which your filter is attached, PHP will pass the data through your filter (and any other filters attached to that stream) so that the data may be modified as desired. You must implement the methods exactly as described below - doing otherwise will lead to undefined behaviour.

stream_filter_register() will return FALSE if the filtername is already defined.

int filter ( resource $in, resource $out, int &$consumed, bool $closing )

This method is called whenever data is read from or written to the attached stream (such as with fread() or fwrite()). in is a resource pointing to a bucket brigade which contains one or more bucket objects containing data to be filtered. out is a resource pointing to a second bucket brigade into which your modified buckets should be placed. consumed, which must always be declared by reference, should be incremented by the length of the data which your filter reads in and alters. In most cases this means you will increment consumed by $bucket->datalen for each $bucket. If the stream is in the process of closing (and therefore this is the last pass through the filterchain), the closing parameter will be set to TRUE The filter method must return one of three values upon completion.

Return Value | Meaning
PSFS_PASS_ON | Filter processed successfully with data available in the out bucket brigade.
PSFS_FEED_ME | Filter processed successfully, however no data was available to return. More data is required from the stream or prior filter.
PSFS_ERR_FATAL (default) | The filter experienced an unrecoverable error and cannot continue.

bool onCreate ( void )

This method is called during instantiation of the filter class object. If your filter allocates or initializes any other resources (such as a buffer), this is the place to do it. Your implementation of this method should return FALSE on failure, or TRUE on success.

When your filter is first instantiated, and yourfilter->onCreate() is called, a number of properties will be available as shown in the table below.

Property | Contents
FilterClass->filtername | A string containing the name the filter was instantiated with. Filters may be registered under multiple names or under wildcards. Use this property to determine which name was used.
FilterClass->params | The contents of the params parameter passed to stream_filter_append() or stream_filter_prepend().

void onClose ( void )

This method is called upon filter shutdown (typically, this is also during stream shutdown), and is executed after the flush method is called. If any resources were allocated or initialzed during onCreate this would be the time to destroy or dispose of them.

The example below implements a filter named strtoupper on the foo-bar.txt stream which will capitalize all letter characters written to/read from that stream.

예 2269. Filter for capitalizing characters on foo-bar.txt stream

<?php

/* Define our filter class */
class strtoupper_filter extends php_user_filter {
  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $bucket->data = strtoupper($bucket->data);
      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }
}

/* Register our filter with PHP */
stream_filter_register("strtoupper", "strtoupper_filter")
    or die("Failed to register filter");

$fp = fopen("foo-bar.txt", "w");

/* Attach the registered filter to the stream just opened */
stream_filter_append($fp, "strtoupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Read the contents back out
 */
readfile("foo-bar.txt");

?>

위 예제의 출력:

LINE1
WORD - 2
EASY AS 123

예 2270. Registering a generic filter class to match multiple filter names.

<?php

/* Define our filter class */
class string_filter extends php_user_filter {
  var $mode;

  function filter($in, $out, &$consumed, $closing)
  {
    while ($bucket = stream_bucket_make_writeable($in)) {
      if ($this->mode == 1) {
        $bucket->data = strtoupper($bucket->data);
      } elseif ($this->mode == 0) {
        $bucket->data = strtolower($bucket->data);
      }

      $consumed += $bucket->datalen;
      stream_bucket_append($out, $bucket);
    }
    return PSFS_PASS_ON;
  }

  function onCreate()
  {
    if ($this->filtername == 'str.toupper') {
      $this->mode = 1;
    } elseif ($this->filtername == 'str.tolower') {
      $this->mode = 0;
    } else {
      /* Some other str.* filter was asked for,
         report failure so that PHP will keep looking */
      return false;
    }

    return true;
  }
}

/* Register our filter with PHP */
stream_filter_register("str.*", "string_filter")
    or die("Failed to register filter");

$fp = fopen("foo-bar.txt", "w");

/* Attach the registered filter to the stream just opened
   We could alternately bind to str.tolower here */
stream_filter_append($fp, "str.toupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Read the contents back out
 */
readfile("foo-bar.txt");
?>

위 예제의 출력:

LINE1
WORD - 2
EASY AS 123

See also
stream_wrapper_register(),
stream_filter_prepend(), and
stream_filter_append().

이전 | 위로 | 다음
stream_filter_prepend | 처음으로 | stream_filter_remove


stream_filter_remove

(PHP 5 >= 5.1.0)

stream_filter_remove -- Remove a filter from a stream

Description

bool stream_filter_remove ( resource $stream_filter )

Removes a stream filter previously added to a stream with stream_filter_prepend() or stream_filter_append(). Any data remaining in the filter's internal buffer will be flushed through to the next filter before removing it.

예 2271. Dynamicly refiltering a stream

<?php
/* Open a test file for reading and writing */
$fp = fopen("test.txt", "rw");

$rot13_filter = stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
fwrite($fp, "This is ");
stream_filter_remove($rot13_filter);
fwrite($fp, "a test\n");

rewind($fp);
fpassthru($fp);
fclose($fp);

/* Expected Output
   ---------------

Guvf vf a test

 */
?>

See also
stream_filter_register(),
stream_filter_append(), and
stream_filter_prepend().

이전 | 위로 | 다음
stream_filter_register | 처음으로 | stream_get_contents


stream_get_contents

(PHP 5)

stream_get_contents -- Reads remainder of a stream into a string

Description

string stream_get_contents ( resource $handle [, int $maxlength [, int $offset]] )

Identical to file_get_contents(), except that stream_get_contents() operates on an already open stream resource and returns the remaining contents in a string, up to maxlength bytes and starting at the specified offset.

매개변수

handle (resource)

A stream resource (e.g. returned from fopen())

maxlength (integer)

The maximum bytes to read. Defaults to -1 (read all the remaining buffer).

offset (integer)

Seek to the specified offset before reading. Added in PHP 5.1.0.

반환값

Returns a string, or FALSE on failure.

예제

예 2272. stream_get_contents() example

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
    // print all the page starting at the offset 10
    echo stream_get_contents($stream, -1, 10);

    fclose($stream);
}

if ($stream = fopen('http://www.example.net', 'r')) {
    // print the first 5 bytes
    echo stream_get_contents($stream, 5);

    fclose($stream);
}

?>

참고

fgets()
fread()
fpassthru()

참고: 이 함수는 바이너리 호환(binary-safe)입니다.

이전 | 위로 | 다음
stream_filter_remove | 처음으로 | stream_get_filters


stream_get_filters

(PHP 5)

stream_get_filters -- Retrieve list of registered filters

Description

array stream_get_filters ( void )

Returns an indexed array containing the name of all stream filters available on the running system.

예 2273. Using stream_get_filters()

<?php
$streamlist = stream_get_filters();
print_r($streamlist);
?>

Output will be similar to the following. Note: there may be more or fewer filters in your version of PHP.

Array (
  [0] => string.rot13
  [1] => string.toupper
  [2] => string.tolower
  [3] => string.base64
  [4] => string.quoted-printable
)

See also stream_filter_register(), and stream_get_wrappers().

이전 | 위로 | 다음
stream_get_contents | 처음으로 | stream_get_line


stream_get_line

(PHP 5)

stream_get_line -- Gets line from stream resource up to a given delimiter

Description

string stream_get_line ( resource $handle, int $length [, string $ending] )

Returns a string of up to length bytes read from the file pointed to by handle. Reading ends when length bytes have been read, when the string specified by ending is found (which is not included in the return value), or on EOF (whichever comes first).

If an error occurs, returns FALSE.

This function is nearly identical to fgets() except in that it allows end of line delimiters other than the standard \n, \r, and \r\n, and does not return the delimiter itself.

See also fread(),
fgets(), and
fgetc().

이전 | 위로 | 다음
stream_get_filters | 처음으로 | stream_get_meta_data


stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5)

stream_get_meta_data -- Retrieves header/meta data from streams/file pointers

Description

array stream_get_meta_data ( resource $stream )

Returns information about an existing stream. The stream can be any stream created by fopen(), fsockopen() and pfsockopen(). The result array contains the following items:

  • timed_out (bool) - TRUE if the stream timed out while waiting for data on the last call to fread() or fgets().

  • blocked (bool) - TRUE if the stream is in blocking IO mode. See stream_set_blocking().

  • eof (bool) - TRUE if the stream has reached end-of-file. Note that for socket streams this member can be TRUE even when unread_bytes is non-zero. To determine if there is more data to be read, use feof() instead of reading this item.

  • unread_bytes (int) - the number of bytes currently contained in the PHP's own internal buffer.

    참고: You shouldn't use this value in a script.

The following items were added in PHP 4.3.0:

  • stream_type (string) - a label describing the underlying implementation of the stream.

  • wrapper_type (string) - a label describing the protocol wrapper implementation layered over the stream. See 부록 O. 지원 프로토콜/래퍼 목록 for more information about wrappers.

  • wrapper_data (mixed) - wrapper specific data attached to this stream. See 부록 O. 지원 프로토콜/래퍼 목록 for more information about wrappers and their wrapper data.

  • filters (array) - and array containing the names of any filters that have been stacked onto this stream. Documentation on filters can be found in the Filters appendix.

참고: This function was introduced in PHP 4.3.0, but prior to this version, socket_get_status() could be used to retrieve the first four items, for socket based streams only.

In PHP 4.3.0 and later, socket_get_status() is an alias for this function.

참고: This function does NOT work on sockets created by the Socket extension.

The following items were added in PHP 5.0.0:

  • mode (string) - the type of access required for this stream (see Table 1 of the fopen() reference)

  • seekable (bool) - whether the current stream can be seeked.

  • uri (string) - the URI/filename associated with this stream.

이전 | 위로 | 다음
stream_get_line | 처음으로 | stream_get_transports


stream_get_transports

(PHP 5)

stream_get_transports -- Retrieve list of registered socket transports

Description

array stream_get_transports ( void )

Returns an indexed array containing the name of all socket transports available on the running system.

예 2274. Using stream_get_transports()

<?php
$xportlist = stream_get_transports();
print_r($xportlist);
?>

Output will be similar to the following. Note: there may be more or fewer transports in your version of PHP.

Array (
  [0] => tcp
  [1] => udp
  [2] => unix
  [3] => udg
)

See also stream_get_filters(), and stream_get_wrappers().

이전 | 위로 | 다음
stream_get_meta_data | 처음으로 | stream_get_wrappers


stream_get_wrappers

(PHP 5)

stream_get_wrappers -- Retrieve list of registered streams

Description

array stream_get_wrappers ( void )

Returns an indexed array containing the name of all stream wrappers available on the running system.

예 2275. stream_get_wrappers() example

<?php
print_r(stream_get_wrappers());
?>

위 예제의 출력 예:

Array
(
    [0] => php
    [1] => file
    [2] => http
    [3] => ftp
    [4] => compress.bzip2
    [5] => compress.zlib
)

예 2276. Checking for the existence of a stream wrapper

<?php
// check for the existence of the bzip2 stream wrapper
if (in_array('compress.bzip2', stream_get_wrappers())) {
    echo 'compress.bzip2:// support enabled.';
} else {
    echo 'compress.bzip2:// support not enabled.';
}
?>

See also stream_wrapper_register().

이전 | 위로 | 다음
stream_get_transports | 처음으로 | stream_register_wrapper


stream_register_wrapper

(PHP 4 >= 4.3.0, PHP 5)

stream_register_wrapper -- Alias of stream_wrapper_register()

Description

This function is an alias of stream_wrapper_register(). This function is included for compatability with PHP 4.3.0 and PHP 4.3.1 only. stream_wrapper_register() should be used instead.

이전 | 위로 | 다음
stream_get_wrappers | 처음으로 | stream_resolve_include_path


stream_select

(PHP 4 >= 4.3.0, PHP 5)

stream_select -- Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

Description

int stream_select ( array &$read, array &$write, array &$except, int $tv_sec [, int $tv_usec] )

The stream_select() function accepts arrays of streams and waits for them to change status. Its operation is equivalent to that of the socket_select() function except in that it acts on streams.

The streams listed in the read array will be watched to see if characters become available for reading (more precisely, to see if a read will not block - in particular, a stream resource is also ready on end-of-file, in which case an fread() will return a zero length string).

The streams listed in the write array will be watched to see if a write will not block.

The streams listed in the except array will be watched for high priority exceptional ("out-of-band") data arriving.

참고: When stream_select() returns, the arrays read, write and except are modified to indicate which stream resource(s) actually changed status.

The tv_sec and tv_usec together form the timeout parameter, tv_sec specifies the number of seconds while tv_usec the number of microseconds. The timeout is an upper bound on the amount of time that stream_select() will wait before it returns. If tv_sec and tv_usec are both set to 0, stream_select() will not wait for data - instead it will return immediately, indicating the current status of the streams. If tv_sec is NULL stream_select() can block indefinitely, returning only when an event on one of the watched streams occurs (or if a signal interrupts the system call).

On success stream_select() returns the number of stream resources contained in the modified arrays, which may be zero if the timeout expires before anything interesting happens. On error FALSE is returned and a warning raised (this can happen if the system call is interrupted by an incoming signal).

주의

Using a timeout value of 0 allows you to instantaneously poll the status of the streams, however, it is NOT a good idea to use a 0 timeout value in a loop as it will cause your script to consume too much CPU time.

It is much better to specify a timeout value of a few seconds, although if you need to be checking and running other code concurrently, using a timeout value of at least 200000 microseconds will help reduce the CPU usage of your script.

Remember that the timeout value is the maximum time that will elapse; stream_select() will return as soon as the requested streams are ready for use.

You do not need to pass every array to stream_select(). You can leave it out and use an empty array or NULL instead. Also do not forget that those arrays are passed by reference and will be modified after stream_select() returns.

     This example checks to see if data has arrived for reading on either
     $stream1 or $stream2.
     Since the timeout value is 0 it will return
     immediately:

<?php
/* Prepare the read array */
$read   = array($stream1, $stream2);
$write  = NULL;
$except = NULL;
if (false === ($num_changed_streams = stream_select($read, $write, $except, 0))) {
/* Error handling */
} elseif ($num_changed_streams > 0) {
/* At least on one of the streams something interesting happened */
}
?>

참고: Due to a limitation in the current Zend Engine it is not possible to pass a constant modifier like NULL directly as a parameter to a function which expects this parameter to be passed by reference. Instead use a temporary variable or an expression with the leftmost member being a temporary variable: <?php
$e = NULL;
stream_select($r, $w, $e, 0);
?>

참고: Be sure to use the === operator when checking for an error. Since the stream_select() may return 0 the comparison with == would evaluate to TRUE: <?php
$e = NULL;
if (false === stream_select($r, $w, $e, 0)) {
    echo "stream_select() failed\n";
}
?>

참고: If you read/write to a stream returned in the arrays be aware that they do not necessarily read/write the full amount of data you have requested. Be prepared to even only be able to read/write a single byte.

참고: Windows compatibility: stream_select() used on a pipe returned from proc_open() may cause data loss under Windows 98.

Use of stream_select() on file descriptors returned by proc_open() will fail and return FALSE under Windows.

See also stream_set_blocking().

이전 | 위로 | 다음
stream_resolve_include_path | 처음으로 | stream_set_blocking


stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5)

stream_set_blocking -- Set blocking/non-blocking mode on a stream

Description

bool stream_set_blocking ( resource $stream, int $mode )

If mode is 0, the given stream will be switched to non-blocking mode, and if 1, it will be switched to blocking mode. This affects calls like fgets() and fread() that read from the stream. In non-blocking mode an fgets() call will always return right away while in blocking mode it will wait for data to become available on the stream.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function was previously called as set_socket_blocking() and later socket_set_blocking() but this usage is deprecated.

참고: Prior to PHP 4.3, this function only worked on socket based streams. Since PHP 4.3, this function works for any stream that supports non-blocking mode (currently, regular files and socket streams).

See also stream_select().

이전 | 위로 | 다음
stream_select | 처음으로 | stream_set_timeout


stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5)

stream_set_timeout -- Set timeout period on a stream

Description

bool stream_set_timeout ( resource $stream, int $seconds [, int $microseconds] )

Sets the timeout value on stream, expressed in the sum of seconds and microseconds. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

When the stream times out, the 'timed_out' key of the array returned by stream_get_meta_data() is set to TRUE, although no error/warning is generated.

예 2277. stream_set_timeout() example

<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
    echo "Unable to open\n";
} else {

    fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
    stream_set_timeout($fp, 2);
    $res = fread($fp, 2000);

    $info = stream_get_meta_data($fp);
    fclose($fp);

    if ($info['timed_out']) {
        echo 'Connection timed out!';
    } else {
        echo $res;
    }

}
?>

참고: As of PHP 4.3, this function can (potentially) work on any kind of stream. In PHP 4.3, socket based streams are still the only kind supported in the PHP core, although streams from other extensions may support this function.

참고: This function doesn't work with advanced operations like stream_socket_recvfrom(), use stream_select() with timeout parameter instead.

This function was previously called as set_socket_timeout() and later socket_set_timeout() but this usage is deprecated.

See also fsockopen() and fopen().

이전 | 위로 | 다음
stream_set_blocking | 처음으로 | stream_set_write_buffer


stream_set_write_buffer

(PHP 4 >= 4.3.0, PHP 5)

stream_set_write_buffer -- Sets file buffering on the given stream

Description

int stream_set_write_buffer ( resource $stream, int $buffer )

Output using fwrite() is normally buffered at 8K. This means that if there are two processes wanting to write to the same output stream (a file), each is paused after 8K of data to allow the other to write. stream_set_write_buffer() sets the buffering for write operations on the given filepointer stream to buffer bytes. If buffer is 0 then write operations are unbuffered. This ensures that all writes with fwrite() are completed before other processes are allowed to write to that output stream.

The function returns 0 on success, or EOF if the request cannot be honored.

The following example demonstrates how to use stream_set_write_buffer() to create an unbuffered stream.

예 2278. stream_set_write_buffer() example

<?php
$fp = fopen($file, "w");
if ($fp) {
  stream_set_write_buffer($fp, 0);
  fwrite($fp, $output);
  fclose($fp);
}
?>

See also fopen() and fwrite().

이전 | 위로 | 다음
stream_set_timeout | 처음으로 | stream_socket_accept


stream_socket_accept

(PHP 5)

stream_socket_accept -- Accept a connection on a socket created by stream_socket_server()

Description

resource stream_socket_accept ( resource $server_socket [, float $timeout [, string &$peername]] )

Accept a connection on a socket previously created by stream_socket_server(). If timeout is specified, the default socket accept timeout will be overridden with the time specified in seconds. The name (address) of the client which connected will be passed back in peername if included and available from the selected transport.

peername can also be determined later using stream_socket_get_name().

If the call fails, it will return FALSE.

주의

This function should not be used with UDP server sockets. Instead, use stream_socket_recvfrom() and stream_socket_sendto().

See also stream_socket_server(),
stream_socket_get_name(),
stream_set_blocking(),
stream_set_timeout(),
fgets(),
fgetss(), fwrite(),
fclose(), feof(), and
the Curl extension.

이전 | 위로 | 다음
stream_set_write_buffer | 처음으로 | stream_socket_client


stream_socket_client

(PHP 5)

stream_socket_client -- Open Internet or Unix domain socket connection

Description

resource stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout [, int $flags [, resource $context]]]]] )

Initiates a stream or datagram connection to the destination specified by remote_socket. The type of socket created is determined by the transport specified using standard URL formatting: transport://target. For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem. The optional timeout can be used to set a timeout in seconds for the connect system call. flags is a bitmask field which may be set to any combination of connection flags. Currently the selection of connection flags is limited to STREAM_CLIENT_CONNECT (default), STREAM_CLIENT_ASYNC_CONNECT and STREAM_CLIENT_PERSISTENT.

참고: If you need to set a timeout for reading/writing data over the socket, use stream_set_timeout(), as the timeout parameter to stream_socket_client() only applies while connecting the socket.

참고: The timeout parameter only applies if you are not making an asynchronous connection attempt.

stream_socket_client() returns a
stream resource which may
be used together with the other file functions (such as
fgets(), fgetss(),
fwrite(), fclose(), and
feof()).

If the call fails, it will return FALSE and if the optional errno and errstr arguments are present they will be set to indicate the actual system level error that occurred in the system-level connect() call. If the value returned in errno is 0 and the function returned FALSE, it is an indication that the error occurred before the connect() call. This is most likely due to a problem initializing the socket. Note that the errno and errstr arguments will always be passed by reference.

Depending on the environment, the Unix domain or the optional connect timeout may not be available. A list of available transports can be retrieved using stream_get_transports(). See 부록 Q. 지원되는 소켓 전송 목록 for a list of built in transports.

The stream will by default be opened in blocking mode. You can switch it to non-blocking mode by using stream_set_blocking().

예 2279. stream_socket_client() Example

<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
    while (!feof($fp)) {
        echo fgets($fp, 1024);
    }
    fclose($fp);
}
?>

The example below shows how to retrieve the day and time from the UDP service "daytime" (port 13) in your own machine.

예 2280. Using UDP connection

<?php
$fp = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

주의

UDP sockets will sometimes appear to have opened without an error, even if the remote host is unreachable. The error will only become apparent when you read or write data to/from the socket. The reason for this is because UDP is a "connectionless" protocol, which means that the operating system does not try to establish a link for the socket until it actually needs to send or receive data.

참고: 숫자로 이루어진 IPv6 주소(예. fe80::1)를 지정할 때는 IP를 대괄호로 감싸줘야합니다. 예를 들면, tcp://[fe80::1]:80.

See also stream_socket_server(),
stream_set_blocking(),
stream_set_timeout(),
stream_select(),
fgets(),
fgetss(), fwrite(),
fclose(), feof(), and
the Curl extension.

이전 | 위로 | 다음
stream_socket_accept | 처음으로 | stream_socket_enable_crypto


stream_socket_enable_crypto

(PHP 5 >= 5.1.0)

stream_socket_enable_crypto -- Turns encryption on/off on an already connected socket

Description

mixed stream_socket_enable_crypto ( resource $stream, bool $enable [, int $crypto_type [, resource $session_stream]] )

When called with the crypto_type parameter, stream_socket_enable_crypto() will setup encryption on the stream using the specified method.

Valid values for crypto_type

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER

Once the crypto settings are established, cryptography can be turned on and off dynamically by passing TRUE or FALSE in the enable parameter.

If this stream should be seeded with settings from an already established crypto enabled stream, pass that stream's resource variable in the fourth parameter.

Returns TRUE on success, FALSE if negotiation has failed or 0 if there isn't enough data and you should try again (only for non-blocking sockets).

예 2281. stream_socket_enable_crypto() Example

<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
  die("Unable to connect: $errstr ($errno)");
}
/* Turn on encryption for login phase */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");
/* Turn off encryption for the rest */
stream_socket_enable_crypto($fp, false);
while ($motd = fgets($fp)) {
  echo $motd;
}
fclose($fp);
?>

OpenSSL, and 부록 Q. 지원되는 소켓 전송 목록

이전 | 위로 | 다음
stream_socket_client | 처음으로 | stream_socket_get_name


stream_socket_get_name

(PHP 5)

stream_socket_get_name -- Retrieve the name of the local or remote sockets

Description

string stream_socket_get_name ( resource $handle, bool $want_peer )

Returns the local or remote name of a given socket connection. If want_peer is set to TRUE the remote socket name will be returned, if it is set to FALSE the local socket name will be returned.

See also stream_socket_accept().

이전 | 위로 | 다음
stream_socket_enable_crypto | 처음으로 | stream_socket_pair


stream_socket_recvfrom

(PHP 5)

stream_socket_recvfrom -- Receives data from a socket, connected or not

Description

string stream_socket_recvfrom ( resource $socket, int $length [, int $flags [, string &$address]] )

The function stream_socket_recvfrom() accepts data from a remote socket up to length bytes. If address is provided it will be populated with the address of the remote socket.

The value of flags can be any combination of the following:

표 300. possible values for flags

STREAM_OOB | Process OOB (out-of-band) data.
STREAM_PEEK | Retrieve data from the socket, but do not consume the buffer. Subsequent calls to fread() or stream_socket_recvfrom() will see the same data.

예 2283. stream_socket_recvfrom() Example

<?php
/* Open a server socket to port 1234 on localhost */
$server = stream_socket_server('tcp://127.0.0.1:1234');

/* Accept a connection */
$socket = stream_socket_accept($server);

/* Grab a packet (1500 is a typical MTU size) of OOB data */
echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Take a peek at the normal in-band data, but don't comsume it. */
echo "Data: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Get the exact same packet again, but remove it from the buffer this time. */
echo "Data: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Close it up */
fclose($socket);
fclose($server);
?>

참고: If a message received is longer than the length parameter, excess bytes may be discarded depending on the type of socket the message is received from (such as UDP).

참고: Calls to stream_socket_recvfrom() on socket-based streams, after calls to buffer-based stream functions (like fread() or stream_get_line()) read data directly from the socket and bypass the stream buffer.

See also
stream_socket_sendto(),
stream_socket_client(), and
stream_socket_server().

이전 | 위로 | 다음
stream_socket_pair | 처음으로 | stream_socket_sendto


stream_socket_sendto

(PHP 5)

stream_socket_sendto -- Sends a message to a socket, whether it is connected or not

Description

int stream_socket_sendto ( resource $socket, string $data [, int $flags [, string $address]] )

The function stream_socket_sendto() sends the data specified by data through the socket specified by socket. The address specified when the socket stream was created will be used unless an alternate address is specified in address.

The value of flags can be any combination of the following:

표 301. possible values for flags

STREAM_OOB Process OOB (out-of-band) data.

예 2284. stream_socket_sendto() Example

<?php
/* Open a socket to port 1234 on localhost */
$socket = stream_socket_client('tcp://127.0.0.1:1234');

/* Send ordinary data via ordinary channels. */
fwrite($socket, "Normal data transmit.");

/* Send more data out of band. */
stream_socket_sendto($socket, "Out of Band data.", STREAM_OOB);

/* Close it up */
fclose($socket);
?>

See also
stream_socket_recvfrom(),
stream_socket_client(), and
stream_socket_server().

이전 | 위로 | 다음
stream_socket_recvfrom | 처음으로 | stream_socket_server


stream_socket_server

(PHP 5)

stream_socket_server -- Create an Internet or Unix domain server socket

Description

resource stream_socket_server ( string $local_socket [, int &$errno [, string &$errstr [, int $flags [, resource $context]]]] )

Creates a stream or datagram socket on the specified local_socket. The type of socket created is determined by the transport specified using standard URL formatting: transport://target. For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem. flags is a bitmask field which may be set to any combination of socket creation flags. The default value of flags is STREAM_SERVER_BIND | STREAM_SERVER_LISTEN.

참고: For UDP sockets, you must use STREAM_SERVER_BIND as the flags parameter.

This function only creates a socket, to begin accepting connections use stream_socket_accept().

If the call fails, it will return FALSE and if the optional errno and errstr arguments are present they will be set to indicate the actual system level error that occurred in the system-level socket(), bind(), and listen() calls. If the value returned in errno is 0 and the function returned FALSE, it is an indication that the error occurred before the bind() call. This is most likely due to a problem initializing the socket. Note that the errno and errstr arguments will always be passed by reference.

Depending on the environment, Unix domain sockets may not be available. A list of available transports can be retrieved using stream_get_transports(). See 부록 Q. 지원되는 소켓 전송 목록 for a list of bulitin transports.

예 2285. Using TCP server sockets

<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)<br />\n";
} else {
  while ($conn = stream_socket_accept($socket)) {
    fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
    fclose($conn);
  }
  fclose($socket);
}
?>

The example below shows how to act as a time server which can respond to time queries as shown in an example on stream_socket_client().

참고: Most systems require root access to create a server socket on a port below 1024.

예 2286. Using UDP server sockets

<?php
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
    die("$errstr ($errno)");
}

do {
    $pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
    echo "$peer\n";
    stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
} while ($pkt !== false);

?>

참고: 숫자로 이루어진 IPv6 주소(예. fe80::1)를 지정할 때는 IP를 대괄호로 감싸줘야합니다. 예를 들면, tcp://[fe80::1]:80.

See also stream_socket_client(),
stream_set_blocking(),
stream_set_timeout(),
fgets(),
fgetss(), fwrite(),
fclose(), feof(), and
the Curl extension.

이전 | 위로 | 다음
stream_socket_sendto | 처음으로 | stream_socket_shutdown


stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5)

stream_wrapper_register -- Register a URL wrapper implemented as a PHP class

Description

bool stream_wrapper_register ( string $protocol, string $classname )

stream_wrapper_register() allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).

To implement a wrapper, you need to define a class with a number of member functions, as defined below. When someone fopens your stream, PHP will create an instance of classname and then call methods on that instance. You must implement the methods exactly as described below - doing otherwise will lead to undefined behaviour.

참고: As of PHP 5.0.0 the instance of classname will be populated with a context property referencing a Context Resource which may be accessed with stream_context_get_options(). If no context was passed to the stream creation function, context will be set to NULL.

stream_wrapper_register() will return FALSE if the protocol already has a handler.

bool stream_open ( string $path, string $mode, int $options, string $opened_path )

This method is called immediately after your stream object is created. path specifies the URL that was passed to fopen() and that this object is expected to retrieve. You can use parse_url() to break it apart.

mode is the mode used to open the file, as detailed for fopen(). You are responsible for checking that mode is valid for the path requested.

options holds additional flags set by the streams API. It can hold one or more of the following values OR'd together.

Flag | Description
STREAM_USE_PATH | If path is relative, search for the resource using the include_path.
STREAM_REPORT_ERRORS | If this flag is set, you are responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.

If the path is opened successfully, and STREAM_USE_PATH is set in options, you should set opened_path to the full path of the file/resource that was actually opened.

If the requested resource was opened successfully, you should return TRUE, otherwise you should return FALSE

void stream_close ( void )

This method is called when the stream is closed, using fclose(). You must release any resources that were locked or allocated by the stream.

string stream_read ( int $count )

This method is called in response to fread() and fgets() calls on the stream. You must return up-to count bytes of data from the current read/write position as a string. If there are less than count bytes available, return as many as are available. If no more data is available, return either FALSE or an empty string. You must also update the read/write position of the stream by the number of bytes that were successfully read.

int stream_write ( string $data )

This method is called in response to fwrite() calls on the stream. You should store data into the underlying storage used by your stream. If there is not enough room, try to store as many bytes as possible. You should return the number of bytes that were successfully stored in the stream, or 0 if none could be stored. You must also update the read/write position of the stream by the number of bytes that were successfully written.

bool stream_eof ( void )

This method is called in response to feof() calls on the stream. You should return TRUE if the read/write position is at the end of the stream and if no more data is available to be read, or FALSE otherwise.

int stream_tell ( void )

This method is called in response to ftell() calls on the stream. You should return the current read/write position of the stream.

bool stream_seek ( int $offset, int $whence )

This method is called in response to fseek() calls on the stream. You should update the read/write position of the stream according to offset and whence. See fseek() for more information about these parameters. Return TRUE if the position was updated, FALSE otherwise.

bool stream_flush ( void )

This method is called in response to fflush() calls on the stream. If you have cached data in your stream but not yet stored it into the underlying storage, you should do so now. Return TRUE if the cached data was successfully stored (or if there was no data to store), or FALSE if the data could not be stored.

array stream_stat ( void )

This method is called in response to fstat() calls on the stream and should return an array containing the same values as appropriate for the stream.

bool unlink ( string $path )

This method is called in response to unlink() calls on URL paths associated with the wrapper and should attempt to delete the item specified by path. It should return TRUE on success or FALSE on failure. In order for the appropriate error message to be returned, do not define this method if your wrapper does not support unlinking.

참고: Userspace wrapper unlink method is not supported prior to PHP 5.0.0.

bool rename ( string $path_from, string $path_to )

This method is called in response to rename() calls on URL paths associated with the wrapper and should attempt to rename the item specified by path_from to the specification given by path_to. It should return TRUE on success or FALSE on failure. In order for the appropriate error message to be returned, do not define this method if your wrapper does not support renaming.

참고: Userspace wrapper rename method is not supported prior to PHP 5.0.0.

bool mkdir ( string $path, int $mode, int $options )

This method is called in response to mkdir() calls on URL paths associated with the wrapper and should attempt to create the directory specified by path. It should return TRUE on success or FALSE on failure. In order for the appropriate error message to be returned, do not define this method if your wrapper does not support creating directories. Posible values for options include STREAM_REPORT_ERRORS and STREAM_MKDIR_RECURSIVE.

참고: Userspace wrapper mkdir method is not supported prior to PHP 5.0.0.

bool rmdir ( string $path, int $options )

This method is called in response to rmdir() calls on URL paths associated with the wrapper and should attempt to remove the directory specified by path. It should return TRUE on success or FALSE on failure. In order for the appropriate error message to be returned, do not define this method if your wrapper does not support removing directories. Possible values for options include STREAM_REPORT_ERRORS.

참고: Userspace wrapper rmdir method is not supported prior to PHP 5.0.0.

bool dir_opendir ( string $path, int $options )

This method is called immediately when your stream object is created for examining directory contents with opendir(). path specifies the URL that was passed to opendir() and that this object is expected to explore. You can use parse_url() to break it apart.

array url_stat ( string $path, int $flags )

This method is called in response to stat() calls on the URL paths associated with the wrapper and should return as many elements in common with the system function as possible. Unknown or unavailable values should be set to a rational value (usually 0).

flags holds additional flags set by the streams API. It can hold one or more of the following values OR'd together.

Flag | Description
STREAM_URL_STAT_LINK | For resources with the ability to link to other resource (such as an HTTP Location: forward, or a filesystem symlink). This flag specified that only information about the link itself should be returned, not the resource pointed to by the link. This flag is set in response to calls to lstat(), is_link(), or filetype().
STREAM_URL_STAT_QUIET | If this flag is set, your wrapper should not raise any errors. If this flag is not set, you are responsible for reporting errors using the trigger_error() function during stating of the path.

string dir_readdir ( void )

This method is called in response to readdir() and should return a string representing the next filename in the location opened by dir_opendir().

bool dir_rewinddir ( void )

This method is called in response to rewinddir() and should reset the output generated by dir_readdir(). i.e.: The next call to dir_readdir() should return the first entry in the location returned by dir_opendir().

bool dir_closedir ( void )

This method is called in response to closedir(). You should release any resources which were locked or allocated during the opening and use of the directory stream.

The example below implements a var:// protocol handler that allows read/write access to a named global variable using standard filesystem stream functions such as fread(). The var:// protocol implemented below, given the URL "var://foo" will read/write data to/from $GLOBALS["foo"].

예 2288. A Stream for reading/writing global variables

<?php

class VariableStream {
    var $position;
    var $varname;

    function stream_open($path, $mode, $options, &$opened_path)
    {
        $url = parse_url($path);
        $this->varname = $url["host"];
        $this->position = 0;

        return true;
    }

    function stream_read($count)
    {
        $ret = substr($GLOBALS[$this->varname], $this->position, $count);
        $this->position += strlen($ret);
        return $ret;
    }

    function stream_write($data)
    {
        $left = substr($GLOBALS[$this->varname], 0, $this->position);
        $right = substr($GLOBALS[$this->varname], $this->position + strlen($data));
        $GLOBALS[$this->varname] = $left . $data . $right;
        $this->position += strlen($data);
        return strlen($data);
    }

    function stream_tell()
    {
        return $this->position;
    }

    function stream_eof()
    {
        return $this->position >= strlen($GLOBALS[$this->varname]);
    }

    function stream_seek($offset, $whence)
    {
        switch ($whence) {
            case SEEK_SET:
                if ($offset < strlen($GLOBALS[$this->varname]) && $offset >= 0) {
                     $this->position = $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_CUR:
                if ($offset >= 0) {
                     $this->position += $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            case SEEK_END:
                if (strlen($GLOBALS[$this->varname]) + $offset >= 0) {
                     $this->position = strlen($GLOBALS[$this->varname]) + $offset;
                     return true;
                } else {
                     return false;
                }
                break;

            default:
                return false;
        }
    }
}

stream_wrapper_register("var", "VariableStream")
    or die("Failed to register protocol");

$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
    echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

?>

이전 | 위로 | 다음
stream_socket_shutdown | 처음으로 | stream_wrapper_restore


stream_wrapper_restore

(PHP 5 >= 5.1.0)

stream_wrapper_restore -- Restores a previously unregistered built-in wrapper

Description

bool stream_wrapper_restore ( string $protocol )

Restores a built-in wrapper previously unregistered with stream_wrapper_unregister().

이전 | 위로 | 다음
stream_wrapper_register | 처음으로 | stream_wrapper_unregister


stream_wrapper_unregister

(PHP 5 >= 5.1.0)

stream_wrapper_unregister -- Unregister a URL wrapper

Description

bool stream_wrapper_unregister ( string $protocol )

stream_wrapper_unregister() allows you to disable an already defined stream wrapper. Once the wrapper has been disabled you may override it with a user-defined wrapper using stream_wrapper_register() or reenable it later on with stream_wrapper_restore().

이전 | 위로 | 다음
stream_wrapper_restore | 처음으로 | CLXI. 문자열 함수


문자열 함수

이전 VI. 함수 레퍼런스 다음

CLXI. 문자열 함수

소개

이 함수들은 문자열을 여러가지 방법으로 다룹니다. 좀 더 특화된 섹션으로 정규표현식과 URL 다루기 섹션이 있습니다.

문자열이 어떻게 작동하는지, 특히 작은 따옴표, 큰 따옴표, 이스케이프 시퀀스의 사용에 대해서 매뉴얼 타입 섹션의 문자열 부분을 참고하십시오.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

CRYPT_SALT_LENGTH integer
CRYPT_STD_DES integer
CRYPT_EXT_DES integer
CRYPT_MD5 integer
CRYPT_BLOWFISH integer
HTML_SPECIALCHARS (integer)
HTML_ENTITIES (integer)
ENT_COMPAT (integer)
ENT_QUOTES (integer)
ENT_NOQUOTES (integer)
CHAR_MAX (integer)
LC_CTYPE (integer)
LC_NUMERIC (integer)
LC_TIME (integer)
LC_COLLATE (integer)
LC_MONETARY (integer)
LC_ALL (integer)
LC_MESSAGES (integer)
STR_PAD_LEFT (integer)
STR_PAD_RIGHT (integer)
STR_PAD_BOTH (integer)

참고

더 강력하게 문자열을 다루고 조작하는 함수를 원한다면, POSIX 정규표현식 함수와 펄 호환 정규표현식 함수를 살펴보십시오.

차례

AddCSlashes -- C 형식으로 문자열에 슬래쉬를 덧붙입니다.
addslashes -- 문자열에 슬래쉬를 덧붙입니다.
bin2hex -- 바이너리 데이터를 16진수 표현으로 바꿉니다.
chop -- rtrim()의 별칭.
chr -- 특정 문자를 반환합니다.
chunk_split -- 문자열을 작은 조각으로 나눕니다.
convert_cyr_string -- 키릴 문자셋을 다른 것으로 변환합니다.
convert_uudecode -- Decode a uuencoded string
convert_uuencode -- Uuencode a string
count_chars -- 문자열 안에 사용한 문자에 대한 정보를 반환합니다.
crc32 -- 문자열의 crc32값을 계산합니다.
crypt -- 단방향 문자열 암호화(해슁).
echo -- 하나 이상의 문자열을 출력합니다.
explode -- 문자열을 주어진 문자열을 기준으로 분리합니다.
fprintf -- 문자열을 형식화하여 스트림에 기록합니다.
get_html_translation_table -- htmlspecialchars()와 htmlentities()에서 사용하는 변환표를 반환합니다.
hebrev -- 논리 헤브라이어 텍스트를 표시 텍스트로 변환합니다.
hebrevc -- 개행 문자를 포함하여 논리 헤브라이어 텍스트를 표시 텍스트로 변환합니다.
html_entity_decode -- 모든 HTML 엔티티를 해당하는 문자로 변환합니다.
htmlentities -- 해당하는 모든 문자를 HTML 엔티티로 변환합니다.
htmlspecialchars_decode -- Convert special HTML entities back to characters
htmlspecialchars -- 특수 문자를 HTML 엔터티로 변환합니다.
implode -- 문자열로 배열 요소를 결합합니다.
join -- implode()의 별칭.
levenshtein -- 두 문자열 사이의 Levenshtein distance를 계산합니다.
localeconv -- 숫자 형식화 정보를 얻습니다.
ltrim -- 문자열 시작 부분의 공백을 제거합니다.
md5_file -- 주어진 파일명의 md5 해쉬를 계산합니다.
md5 -- 문자열의 md5 해쉬를 계산합니다.
metaphone -- 문자열의 메타폰 키를 계산합니다.
money_format -- Formats a number as a currency string
nl_langinfo -- Query language and locale information
nl2br -- 문자열의 모든 줄바꿈 앞에 HTML 줄바꿈 태그를 삽입합니다.
number_format -- Format a number with grouped thousands
ord -- 문자의 아스키 값을 반환합니다.
parse_str -- 문자열을 처리하여 변수를 생성합니다.
print -- 문자열을 출력합니다.
printf -- 형식화한 문자열을 출력합니다.
quoted_printable_decode -- 인용되어 있는 출력 가능 문자열을 8비트 문자열로 변환합니다.
quotemeta -- 메타 문자를 인용합니다.
rtrim -- 문자열 끝 부분의 공백을 제거합니다.
setlocale -- 지역적보를 지정한다.
sha1_file -- 파일의 sha1 해쉬를 계산합니다.
sha1 -- 문자열의 sha1 해쉬를 계산합니다.
similar_text -- 두 문자열 간의 유사성을 계산합니다.
soundex -- 문자열의 soundex 키를 계산합니다.
sprintf -- 형식화한 문자열을 반환합니다.
sscanf -- 문자열을 형식에 따라 처리합니다.
str_getcsv -- Parse a CSV string into an array
str_ireplace -- 대소문자를 구별하지 않는 str_replace().
str_pad -- 문자열을 어떠한 길이가 되도록 다른 문자열로 채웁니다.
str_repeat -- 문자열을 반복합니다.
str_replace -- 발견한 모든 검색 문자열을 치환 문자열로 교체합니다.
str_rot13 -- 문자열에 rot13 변환을 수행합니다.
str_shuffle -- 문자열을 랜덤하게 섞습니다.
str_split -- 문자열을 배열로 변환합니다.
str_word_count -- 문자열에서 사용한 단어에 대한 정보를 반환합니다.
strcasecmp -- 대소문자를 구별하지 않는 바이너리 호환 문자열 비교
strchr -- strstr()의 별칭.
strcmp -- 바이너리 호환 문자열 비교
strcoll -- 로케일 기반 문자열 비교
strcspn -- 마스크에 매칭하지 않는 처음 세그먼트의 길이를 찾습니다.
strip_tags -- 문자열에서 HTML과 PHP 태그를 제거합니다.
stripcslashes -- addcslashes()로 처리한 문자열을 되돌립니다.
stripos -- 대소문자를 구별하지 않고 문자열이 처음 나타나는 위치를 찾습니다.
stripslashes -- addslashes()로 처리한 문자열을 되돌립니다.
stristr -- 대소문자를 구별하지 않는 strstr()
strlen -- 문자열의 길이를 구합니다.
strnatcasecmp -- "natural order" 알고리즘을 이용한 대소문자를 구별하지 않는 문자열 비교.
strnatcmp -- "natural order" 알고리즘을 이용한 문자열 비교
strncasecmp -- 대소문자를 구별하지 않는 처음 n 문자의 이진 호환 문자열 비교
strncmp -- 처음 n 문자의 이진 호환 문자열 비교
strpbrk -- Search a string for any of a set of characters
strpos -- 문자열이 처음 나타나는 위치를 찾습니다.
strrchr -- 문자열에서 문자가 마지막으로 나오는 부분을 찾습니다.
strrev -- 문자열을 뒤집습니다.
strripos -- 문자열에서 대소문자 구별 없이 문자열이 나타나는 마지막 위치를 찾습니다.
strrpos -- 문자열에서 마지막 문자의 위치를 찾습니다.
strspn -- 마스크에 매칭되는 초기 세그먼트의 길이를 찾는다.
strstr -- 문자열이 처음으로 나타나는 부분을 찾습니다.
strtok -- 문자열을 토큰화 합니다.
strtolower -- 문자열을 소문자로 만듭니다.
strtoupper -- 문자열을 대문자로 만듭니다.
strtr -- 특정 문자를 번역한다.
substr_compare -- Binary safe comparison of 2 strings from an offset, up to length characters
substr_count -- 부분문자열의 수를 센다
substr_replace -- 문자열의 일부를 치환한다.
substr -- 문자열의 일부를 반환한다.
trim -- 문자열의 처음과 끝에 있는 공백을 제거한다.
ucfirst -- 문자열의 처음 글자를 대문자로 만든다.
ucwords -- 문자열에 있는 각 단어의 처음 글자를 대문자로 바꾼다.
vfprintf -- Write a formatted string to a stream
vprintf -- Output a formatted string
vsprintf -- Return a formatted string
wordwrap -- 정지문자를 이용해 주어진 수 만큼의 문자를 래핑한다.
이전 | 위로 | 다음
stream_wrapper_unregister | 처음으로 | AddCSlashes


AddCSlashes

(PHP 4, PHP 5)

AddCSlashes -- C 형식으로 문자열에 슬래쉬를 덧붙입니다.

설명

string addcslashes ( string $str, string $charlist )

charlist 인자에 주어진 문자 목록 앞에 백슬래쉬를 추가한 문자열을 반환합니다. C 형식으로 \n, \r 등을 이스케이프하고, 32보다 작거나 126보다 큰 ASCII 코드는 팔진 표현으로 변환합니다.

0, a, b, f, n, r, t, v를 이스케이프할 때 주의하십시오. 이는 \0, \a, \b, \f, \n, \r, \t, \v로 변환됩니다. C에서는 이 모든 것이 예약 정의된 이스케이프 시퀀스지만, PHP에서는 \0 (NULL), \r (캐리지 리턴), \n (뉴라인), \t (탭)만이 예약 정의된 이스케이프 시퀀스입니다.

charlist을 "\0..\37"처럼 하면, 0에서 37사이의 모든 ASCII코드를 이스케이프합니다.

예 2289. addcslashes() 예제

<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>

charlist 인자에 문자 시퀀스를 정의할 때, 처음에서 끝 범위에 어떠한 문자가 들어가는지 확인하십시오.

<?php
echo addcslashes('foo[ ]', 'A..z');
// 출력:  \f\o\o\[ \]
// 모든 대문자와 소문자를 이스케이프합니다.
// ... 하지만 [\]^_`와 탭, 라인 피드,
// 캐리지 리턴 등도 이스케이프합니다.
?>
또한, 범위 지정에서 처음 문자가 나중 문자보다 큰 ASCII 값을 가지면 범위를 형성하지 않습니다. 단지 처음과 마지막, 피리오드(.)문자만을 이스케이프합니다. 문자의 ASCII 값을 찾아보려면 ord() 함수를 이용하십시오.
echo addcslashes("zoo['.']", 'z..A');
// 출력:  \zoo['\.']
?>

참고: stripcslashes(),
stripslashes(),
htmlspecialchars(),
quotemeta().

이전 | 위로 | 다음
CLXI. 문자열 함수 | 처음으로 | addslashes


addslashes

(PHP 4, PHP 5)

addslashes -- 문자열에 슬래쉬를 덧붙입니다.

설명

string addslashes ( string $str )

데이터베이스 쿼리 등에서 처리할 필요가 있는 문자 앞에 백슬래쉬를 붙인 문자열을 반환합니다. 이 문자들은 작은 따옴표('), 큰 따옴표("), 백슬래쉬(\), NUL(NULL 바이트)입니다.

addslashes()를 사용하는 대표적인 예는 데이터베이스에 데이터를 넣을 때 입니다. 예를 들어, 데이터베이스에 O'reilly라는 이름을 넣으려고 할때, 이스케이프할 필요가 있습니다. 대부분의 데이터베이스는 \을 사용하기에 O\'reilly가 되어야 합니다. 이 데이터를 데이터베이스에 넣으면 추가한 \은 저장되지 않습니다. PHP 지시어 magic_quotes_sybase를 on으로 설정하면 '은 '을 이용하여 이스케이프합니다.

PHP 지시어 magic_quotes_gpc는 기본값으로 on이고, 자동적으로 모든 GET, POST, COOKIE 데이터에 addslashes()을 실행합니다. magic_quotes_gpc로 이스케이프된 문자열에 addslashes()를 사용하지 마십시오. 그렇지 않으면 두번 이스케이프하게 됩니다. 이를 확인하기 위해서 get_magic_quotes_gpc()를 사용할 수 있습니다.

예 2290. addslashes() 예제

<?php
$str = "Is your name O'reilly?";

// 출력: Is your name O\'reilly?
echo addslashes($str);
?>

참고: stripslashes(),
htmlspecialchars(),
quotemeta(), and
get_magic_quotes_gpc().

이전 | 위로 | 다음
AddCSlashes | 처음으로 | bin2hex


bin2hex

(PHP 4, PHP 5)

bin2hex -- 바이너리 데이터를 16진수 표현으로 바꿉니다.

설명

string bin2hex ( string $str )

str의 16진수 표현을 가지는 ASCII 문자열을 반환합니다. 변환은 하이-니블(high-nibble) 우선의 바이트 와이즈(byte-wise)로 이루어집니다.

참고: pack(), unpack().

이전 | 위로 | 다음
addslashes | 처음으로 | chop


chop

(PHP 4, PHP 5)

chop -- rtrim()의 별칭.

설명

이 함수는 rtrim()의 별칭입니다.

참고: chop()은 문자열의 마지막 글자를 제거하는 펄의 chop() 함수와 다릅니다.

이전 | 위로 | 다음
bin2hex | 처음으로 | chr


chr

(PHP 4, PHP 5)

chr -- 특정 문자를 반환합니다.

설명

string chr ( int $ascii )

ascii에 지정한 문자를 가지는 한 글자의 문자열을 반환합니다.

예 2291. chr() 예제

<?php
$str = "The string ends in escape: ";
$str .= chr(27); /* $str의 마지막에 이스케이프 문자를 추가합니다. */

/* 종종 다음이 더욱 유용합니다. */

$str = sprintf("The string ends in escape: %c", 27);
?>

ASCII 표는 여기서 볼 수 있습니다: » http://www.asciitable.com

이 함수는 ord()를 보충합니다. 참고: sprintf()의 포맷 문자열 %c.

이전 | 위로 | 다음
chop | 처음으로 | chunk_split


chunk_split

(PHP 4, PHP 5)

chunk_split -- 문자열을 작은 조각으로 나눕니다.

설명

string chunk_split ( string $body [, int $chunklen [, string $end]] )

문자열을 작은 조각으로 나눕니다. base64_encode 출력을 RFC 2045 의미에 맞게 변환할 때 쓸 수 있습니다. 모든 chunklen 문자마다 (기본값 76) end(기본값 "\r\n")를 추가합니다. 원 문자열은 변경하지 않고, 새로운 문자열을 반환합니다.

예 2292. chunk_split() 예제

<?php
// RFC 2045 의의에 맞게 $data를 형식화
$new_string = chunk_split(base64_encode($data));
?>

참고: str_split(),
explode(), split(),
wordwrap(),
» RFC 2045.

이전 | 위로 | 다음
chr | 처음으로 | convert_cyr_string


convert_cyr_string

(PHP 4, PHP 5)

convert_cyr_string -- 키릴 문자셋을 다른 것으로 변환합니다.

설명

string convert_cyr_string ( string $str, string $from, string $to )

이 함수는 주어진 키릴 문자셋을 다른 것으로 변환합니다. from과 to 인자는 소스와 타겟 키릴 문자셋을 나타내는 하나의 문자입니다. 지원하는 타입은:

  • k - koi8-r
  • w - windows-1251
  • i - iso8859-5
  • a - x-cp866
  • d - x-cp866
  • m - x-mac-cyrillic

이전 | 위로 | 다음
chunk_split | 처음으로 | convert_uudecode


convert_uudecode

(PHP 5)

convert_uudecode -- Decode a uuencoded string

설명

string convert_uudecode ( string $data )

convert_uudecode() decodes a uuencoded string.

매개변수

data

The uuencoded data.

반환값

Returns the decoded data as a string.

예제

예 2293. convert_uudecode() example

<?php
/* Can you imagine what this will print? :) */
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`");
?>

참고

convert_uuencode()

이전 | 위로 | 다음
convert_cyr_string | 처음으로 | convert_uuencode


convert_uuencode

(PHP 5)

convert_uuencode -- Uuencode a string

설명

string convert_uuencode ( string $data )

convert_uuencode() encodes a string using the uuencode algorithm.

Uuencode translates all strings (including binary's ones) into printable characters, making them safe for network transmissions. Uuencoded data is about 35% larger than the original.

매개변수

data

The data to be encoded.

반환값

Returns the uuencoded data.

예제

예 2294. convert_uuencode() example

<?php
$some_string = "test\ntext text\r\n";

echo convert_uuencode($some_string);
?>

참고

convert_uudecode()
base64_encode()

이전 | 위로 | 다음
convert_uudecode | 처음으로 | count_chars


count_chars

(PHP 4, PHP 5)

count_chars -- 문자열 안에 사용한 문자에 대한 정보를 반환합니다.

설명

mixed count_chars ( string $string [, int $mode] )

string 안의 모든 바이트값(0..255)의 발견 수를 세고 여러 방법으로 반환합니다. 선택적인 인자 mode의 기본값은 0입니다. mode에 따른 count_chars()의 반환값은 다음과 같습니다:

  • 0 - 바이트 값을 키로, 모든 바이트의 빈도를 값으로 가지는 배열.
  • 1 - 0과 같지만, 빈도가 1 이상인 바이트값만 반환합니다.
  • 2 - 0과 같지만, 빈도가 0인 바이트값만 반환합니다.
  • 3 - 사용한 모든 바이트값을 가지는 문자열을 반환합니다.
  • 4 - 사용하지 않은 모든 바이트값을 가지는 문자열을 반환합니다.

예 2295. count_chars() 예제

<?php

$data = "Two Ts and one F.";

$result = count_chars($data, 0);

for ($i=0; $i < count($result); $i++) {
   if ($result[$i] != 0)
       echo "There were $result[$i] instance(s) of \"" , chr($i) , "\" in the string.\n";
}

?>

출력은:

There were 4 instance(s) of " " in the string.
There were 1 instance(s) of "." in the string.
There were 1 instance(s) of "F" in the string.
There were 2 instance(s) of "T" in the string.
There were 1 instance(s) of "a" in the string.
There were 1 instance(s) of "d" in the string.
There were 1 instance(s) of "e" in the string.
There were 2 instance(s) of "n" in the string.
There were 2 instance(s) of "o" in the string.
There were 1 instance(s) of "s" in the string.
There were 1 instance(s) of "w" in the string.

참고: strpos(), substr_count().

이전 | 위로 | 다음
convert_uuencode | 처음으로 | crc32


crc32

(PHP 4 >= 4.0.1, PHP 5)

crc32 -- 문자열의 crc32값을 계산합니다.

설명

int crc32 ( string $str )

str의 32비트 순환 반복 체크섬 값을 생성합니다. 보통 모든 데이터가 전송되었는지 확인하는 데에 사용합니다.

PHP의 정수형은 부호가 존재하기에, 많은 crc32 체크섬은 음수값을 가집니다. 부호 없는 crc32 체크섬의 문자 표현을 얻기 위해서는 sprintf()나 printf()에서 "%u" 형식을 사용할 필요가 있습니다.

이 예제는 printf() 함수로 어떻게 변환한 체크섬을 출력하는지 보여줍니다:

예 2296. crc32 체크섬 표시하기

<?php
$checksum = crc32("The quick brown fox jumped over the lazy dog.");
printf("%u\n", $checksum);
?>

참고: md5(), sha1().

이전 | 위로 | 다음
count_chars | 처음으로 | crypt


crypt

(PHP 4, PHP 5)

crypt -- 단방향 문자열 암호화(해슁).

설명

string crypt ( string $str [, string $salt] )

crypt()는 표준 유닉스 DES 기반 암호화 알고리즘이나 시스템에서 사용할 수 있는 다양한 알고리즘을 사용하여 암호화한 문자열을 반환합니다. 인자는 암화화할 문자열과 암호화의 베이스로 사용하는 선택적인 salt를 가집니다. 자세한 정보는 ctype 함수에 관한 유닉스 man 페이지를 참고하십시오.

salt 인자를 지정하지 않으면, PHP가 무작위로 생성합니다.

몇몇 운영체제는 한가지 이상의 암호화 방식을 제공합니다. 사실, 종종 표준 DES 기반 암호화는 MD5 기반 암호화 알고리즘으로 대체되기도 합니다. 암호화 타입은 slat 인자에 의해 변경됩니다. 설치시에, PHP는 사용할 수 있는 암호화 함수를 판단하고, 다른 암호화 방식을 위한 salt를 받아들입니다. salt를 지정하지 않으면, PHP는 기본값으로 두 문자 salt를 자동 생성합니다. 단, 시스템의 기본 암호화 방식이 MD5라면, 무작위의 MD5 호환 salt를 생성합니다. PHP는 시스템에 일반적인 두 문자 salt를 적용할지 더 긴 12 문자 salt를 적용할 수 있는지를 알려주는 CRYPT_SALT_LENGTH 상수를 설정합니다.

자동 생성된 salt를 사용한다면, salt가 한번만 생성되는 점에 주의하십시오. 이 함수를 재귀 호출한다면, 표현과 보안 양쪽에 영향을 미칩니다.

표준 DES 기반 암호화 crypt()는 처음 두 문자가 salt 인 문자열을 출력합니다. 또한 str의 처음 8 문자만 사용하기에, 같은 8문자로 시작하는 긴 문자열은 (같은 salt를 사용하는 한) 같은 결과를 생성합니다.

crypt() 함수가 다양한 암호화 방식을 지원하는 시스템에서, 주어진 방식의 사용 가능 여부에 따라 다음 상수들이 0이나 1로 설정됩니다:

  • CRYPT_STD_DES - 2문자 salt를 가지는 표준 DES 기반 암호화
  • CRYPT_EXT_DES - 9문자 salt를 가지는 확장 DES 기반 암호화
  • CRYPT_MD5 - $1$로 시작하는 12문자 salt를 가지는 MD5 암호화
  • CRYPT_BLOWFISH - $2$로 시작하는 16문자 salt를 가지는 Blowfish 암호화

참고: crypt()는 단방향 알고리즘을 사용하기 때문에, decrypt 함수는 존재하지 않습니다.

예 2297. crypt() 예제

<?php
$password = crypt("My1sTpassword"); // salt가 생성됩니다.

# 패스워드를 비교할 때, 다른 해슁 알고리즘을 사용하는 문제를
# 피하기 위해서, crypt()가 생성한 전체 결과를 salt로 주어야
# 합니다. (위에서 밝혔듯이, 표준 DES 기반 암호 해슁은 2 문자
# salt를 사용하지만, MD5 기반 해슁은 12 문자를 사용합니다)
if (crypt($user_input, $password) == $password) {
   echo "패스워드 확인!";
}
?>

참고: md5(), Mcrypt 확장.

이전 | 위로 | 다음
crc32 | 처음으로 | echo


echo

(PHP 4, PHP 5)

echo -- 하나 이상의 문자열을 출력합니다.

설명

void echo ( string $arg1 [, string $argn...] )

모든 인자를 출력합니다.

echo()은 실제 함수가 아니기에 (언어 구조입니다) 괄호를 사용할 필요가 없습니다. 실제로, 둘 이상의 인자를 사용할 때는 괄호를 사용해서는 안됩니다.

예 2298. echo() 예제

<?php
echo "Hello World";

echo "이는 여러
줄을 표현합니다. 물론 뉴라인도
출력합니다.";

echo "이는 여러\n줄을 표현합니다. 물론 뉴라인도\n출력합니다.";

echo "문자 이스케이핑은 \"이렇게\" 합니다.";

// echo 구문 안에 변수를 사용할 수 있습니다.
$foo = "foobar";
$bar = "barbaz";

echo "foo는 $foo"; // foo는 foobar

// 배열을 사용할 수도 있습니다.
$bar = array("value" => "foo");

echo "이것은 {$bar['value']} !"; // 이것은 foo !

// 작은 따옴표는 변수값이 아닌, 변수명을 출력합니다.
echo 'foo는 $foo'; // foo는 $foo

// 다른 문자를 사용하지 않는다면, 바로 변수를 echo할 수 있습니다.
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// 몇몇 사람들은 결합 echo보다 복수 인자 사용을 선호합니다.
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10);
echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";

echo <<<END
이는 $variable 인터폴레이션을 가지는 여러 줄을
출력하는 "here document" 구문을 사용합니다. here
document 종료어는 줄에 세미콜론만을 가지고 있어야
하며, 어떠한 공백도 없어야하는 점에 주의하십시오!
END;

// echo는 함수가 아니기에, 다음 코드는 유효하지 않습니다.
($some_var) ? echo 'true' : echo 'false';

// 그러나, 다음 예제는 작동합니다.
($some_var) ? print('true'): print('false'); // print는 함수입니다.
echo $some_var ? 'true': 'false'; // 구문을 변경하여 처리
?>

echo()는 오프닝 태그에 이어지는 등호를 사용하는 짧은 구문을 가지고 있습니다. 이 짧은 구문은 short_open_tag 설정을 활성화 했을 때만 작동합니다.

I have <?=$foo?> foo.

print()와 echo()의 차이에 대해서는, FAQT의 Knowledge Base Article을 읽어보십시오: » http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

참고:
print(),
printf(),
flush().

이전 | 위로 | 다음
crypt | 처음으로 | explode


explode

(PHP 4, PHP 5)

explode -- 문자열을 주어진 문자열을 기준으로 분리합니다.

설명

array explode ( string $separator, string $string [, int $limit] )

separator 문자열을 경계로 나누어진 string의 부분 문자열로 이루어지는 배열을 반환합니다. limit를 지정하면 마지막 원소가 나머지 문자열 전체를 가지는 최대 limit개 원소의 배열을 반환합니다.

separator가 빈 문자열("")이면, explode()은 FALSE를 반환합니다. separator가 string에 존재하지 않으면, explode()는 string를 포함하는 배열을 반환합니다.

비록 implode()가 관습에 의해 인자의 순서를 뒤바뀌는 것을 허용하더라도, explode()는 그렇지 않습니다. 반드시 separator 인자가 string 인자 앞에 위치하도록 해야합니다.

참고: limit 인자는 PHP 4.0.1 에서 추가되었습니다.

예 2299. explode() 예제

<?php
// 예제 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode (" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// 예제 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

참고: preg_split(), spliti(), split(), implode().

이전 | 위로 | 다음
echo | 처음으로 | fprintf


fprintf

(PHP 5)

fprintf -- 문자열을 형식화하여 스트림에 기록합니다.

설명

int fprintf ( resource $handle, string $format [, mixed $args] )

형식화 문자열 format에 따라 생성한 문자열을 handle에 지정한 스트림 리소스에 기록합니다.

포맷 문자열은 0개 이상의 지시어로 작성합니다: 보통의 문자(%을 제외)는 결과에 직접 복사되고, 변환 특정어는 각각의 인자로 치환됩니다. 이는 fprintf(), sprintf(), printf()에 적용됩니다.

각각의 변환 특정어는 퍼센트 사인(%) 뒤에 한개 이상의 요소를 순서대로 가집니다:

  1. 선택적인 패딩 지정어는 적합한 문자열 크기를 맞추기 위해 사용하는 문자를 결정합니다. 이는 스페이스 문자나 0(제로 문자)일 수 있습니다. 기본값은 스페이스입니다. 다른 패딩 문자는 작은 따옴표(')를 앞에 붙여서 지정할 수 있습니다. 아래의 예제를 참고하십시오.
  2. 선택적인 정렬 지정어는 결과를 좌측 정렬할지, 우측 정렬할지를 결정합니다. 기본값은 우측 정렬입니다; - 문자로 좌측 정렬로 변경합니다.
  3. 선택적인 수 폭 지정어는 얼마나 많은 문자를 (최소한) 이 변환의 결과에 포함할지를 결정합니다.
  4. 선택적인 정확도 지정어는 부동소수점 수에 소수점 아래에 몇자리까지 표시할지를 결정합니다. 이 옵션은 float가 아닌 형에는 유효하지 않습니다. (수를 형식화하는 다른 좋은 함수로 number_format()이 존재합니다.)

  5. 형 지정어는 인자의 데이터를 어떻게 취급할지 결정합니다. 가능한 형은:

    % - 단순한 퍼센트 문자. 인자는 필요하지 않습니다.
    b - 인자를 정수형으로 취급하고, 이진수로 표현합니다.
    c - 인자를 정수형으로 취급하고, ASCII 값에 해당하는 문자로 표현합니다.
    d - 인자를 정수형으로 취급하고, (부호 있는) 10진수로 표현합니다.
    u - 인자를 정수형으로 취급하고, 부호 없는 10진수로 표현합니다.
    f - 인자를 float로 취급하고, 부동소수점 수로 표현합니다.
    o - 인자를 정수형으로 취급하고, 8진수로 표현합니다.
    s - 인자를 문자열로 취급/표현합니다.
    x - 인자를 정수형으로 취급하고, (소문자를 사용하여) 16진수로 표현합니다.
    X - 인자를 정수형으로 취급하고, (대문자를 사용하여) 16진수로 표현합니다.

참고: printf(),
sprintf(),
sscanf(), fscanf(),
vsprintf(),
number_format().

예제

예 2300. sprintf(): 제로 패드 정수형

<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

예 2301. sprintf(): 통화 형식화

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money 는 "123.1"를 출력합니다;
$formatted = sprintf("%01.2f", $money);
// echo $formatted 는 "123.10"를 출력합니다.
?>

이전 | 위로 | 다음
explode | 처음으로 | get_html_translation_table


get_html_translation_table

(PHP 4, PHP 5)

get_html_translation_table -- htmlspecialchars()와 htmlentities()에서 사용하는 변환표를 반환합니다.

설명

array get_html_translation_table ( int $table [, int $quote_style] )

get_html_translation_table()은
htmlspecialchars()와
htmlentities()에서 내부적으로 사용하는 변환표를
반환합니다.

원하는 테이블을 지정할 수 있게 하는 두가지 새로운 상수(HTML_ENTITIES, HTML_SPECIALCHARS)가 존재합니다. 그리고 htmlspecialchars()와 htmlentities() 함수와 마찬가지로, 사용할 quote_style을 선택적으로 지정할 수 있습니다. 기본값은 ENT_COMPAT 모드입니다. 이 모드들에 대한 설명은 htmlspecialchars()를 참고하십시오.

예 2302. 변환표 예제

<?php
$trans = get_html_translation_table(HTML_ENTITIES);
$str = "Hallo & <Frau> & Kr?mer";
$encoded = strtr($str, $trans);
?>

$encoded 변수는 다음을 가지게 됩니다: "Hallo &amp; &lt;Frau&gt; &amp; Kr&auml;mer".

다른 사용법으로, array_flip()과 함께 이 함수를 사용하여 역변환을 할 수 있습니다.

<?php
$trans = array_flip($trans);
$original = strtr($encoded, $trans);
?>
$original의 내용은: "Hallo & <Frau> & Kr?mer".

참고: htmlspecialchars(),
htmlentities(), strtr(),
array_flip().

이전 | 위로 | 다음
fprintf | 처음으로 | hebrev


hebrev

(PHP 4, PHP 5)

hebrev -- 논리 헤브라이어 텍스트를 표시 텍스트로 변환합니다.

설명

string hebrev ( string $hebrew_text [, int $max_chars_per_line] )

선택적인 max_chars_per_line 인자는 한 줄에 출력할 최대 문자 수를 지시합니다. 이 함수는 단어 중간에서 줄바꿈을 하지 않습니다.

참고: hebrevc().

이전 | 위로 | 다음
get_html_translation_table | 처음으로 | hebrevc


hebrevc

(PHP 4, PHP 5)

hebrevc -- 개행 문자를 포함하여 논리 헤브라이어 텍스트를 표시 텍스트로 변환합니다.

설명

string hebrevc ( string $hebrew_text [, int $max_chars_per_line] )

개행 문자(\n)를 "<br>\n"로 바꾼는 점을 제외하면, hebrev()와 동일합니다. 선택적인 max_chars_per_line 인자는 한 줄에 출력할 최대 문자 수를 지시합니다. 단어 중간에서는 줄바꿈을 하지 않습니다.

참고: hebrev().

이전 | 위로 | 다음
hebrev | 처음으로 | html_entity_decode


html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decode -- 모든 HTML 엔티티를 해당하는 문자로 변환합니다.

설명

string html_entity_decode ( string $string [, int $quote_style [, string $charset]] )

html_entity_decode()는 string의 모든 HTML 엔티티를 해당하는 문자로 변환합니다. htmlentities()의 역함수입니다.

두번째에 위치하는 선택적인 quote_style 인자는 '작은 따옴표'와 "큰 따옴표"를 어떻게 처리할지 정의합니다. 아래의 상수들을 사용할 수 있으며, 기본값은 ENT_COMPAT입니다:

표 302. 사용할 수 있는 quote_style 상수

상수명 | 설명
ENT_COMPAT | 큰 따옴표만 변환합니다.
ENT_QUOTES | 작은 따옴표와 큰 따옴표 둘 다 변환합니다.
ENT_NOQUOTES | 작은 따옴표와 큰 따옴표 둘 다 변환하지 않습니다.

세번째에 위치하는 선택적인 charset의 기본값은 ISO-8859-1 문자셋입니다. 이는 변환에 사용할 문자셋을 정의합니다.

PHP 4.3.0 이상에서 다음 문자셋을 지원합니다.

표 303. 지원 문자셋

문자셋 | 다른 이름 | 설명
ISO-8859-1 | ISO8859-1 | 서부 유럽어, Latin-1.
ISO-8859-15 | ISO8859-15 | 서부 유럽어, Latin-9. 유로 사인, Latin-1(ISO-8859-1)에 빠진 프랑스어와 핀란드어 문자 추가.
UTF-8 |  | ASCII 호환 멀티바이트 8비트 유니코드.
cp866 | ibm866, 866 | DOS-특정 키릴 문자셋. 이 문자셋은 4.3.2부터 지원합니다.
cp1251 | Windows-1251, win-1251, 1251 | 윈도우즈-특정 키릴 문자셋. 이 문자셋은 4.3.2부터 지원합니다.
cp1252 | Windows-1252, 1252 | 윈도우즈 특정 서부 유럽어 문자셋
KOI8-R | koi8-ru, koi8r | 러시아어. 이 문자셋은 4.3.2부터 지원합니다.
BIG5 | 950 | 중국어 번체, 주로 대만에서 사용.
GB2312 | 936 | 중국어 간체, 국가 표준 문자셋.
BIG5-HKSCS |  | 홍콩 확장을 포함한 Big5, 중국어 번체.
Shift_JIS | SJIS, 932 | 일본어.
EUC-JP | EUCJP | 일본어.

참고: 다른 문자셋에 대해서는 ISO-8859-1을 사용합니다.

예 2303. HTML 엔티티 디코딩

<?php
$orig = "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b; // I'll "walk" the <b>dog</b> now

// PHP 4.3.0 이전 사용자는 이렇게 할 수 있습니다:
function unhtmlentities($string)
{
    $trans_tbl = get_html_translation_table(HTML_ENTITIES);
    $trans_tbl = array_flip($trans_tbl);
    return strtr($string, $trans_tbl);
}

$c = unhtmlentities($a);

echo $c; // I'll "walk" the <b>dog</b> now

?>

참고: trim(html_entity_decode('&nbsp;'));는 문자열을 빈 문자열로 변환하지 않습니다. 이는 기본값인 ISO-8859-1 문자셋에서 '&nbsp;' 엔티티가 아스키 코드 32(trim()에서 잘라냄)가 아닌 아스키 코드 160(0xa0)이기 때문입니다.

참고: htmlentities(),
htmlspecialchars(),
get_html_translation_table(),
urldecode().

이전 | 위로 | 다음
hebrevc | 처음으로 | htmlentities


htmlentities

(PHP 4, PHP 5)

htmlentities -- 해당하는 모든 문자를 HTML 엔티티로 변환합니다.

설명

string htmlentities ( string $string [, int $quote_style [, string $charset]] )

htmlentities()는 HTML 문자 엔티티에 존재하는 모든 문자를 엔티티로 변환하는 점을 제외하면, htmlspecialchars()와 완전히 동일합니다.

htmlspecialchars()와 같게, 두번째에 위치하는 선택적인 quote_style 인자는 '작은 따옴표'와 "큰 따옴표"를 어떻게 처리할지 정의합니다. 아래의 세 상수 중 하나를 가질 수 있으며, 기본값은 ENT_COMPAT입니다:

표 304. 사용할 수 있는 quote_style 상수

상수명 | 설명
ENT_COMPAT | 큰 따옴표만 변환합니다.
ENT_QUOTES | 작은 따옴표와 큰 따옴표 둘 다 변환합니다.
ENT_NOQUOTES | 작은 따옴표와 큰 따옴표 둘 다 변환하지 않습니다.

선택적인 quote 인자는 PHP 4.0.3부터 지원합니다.

htmlspecialchars()와 같게, 세번째에 위치하는 선택적인 charset 인자는 변환에 사용할 문자셋을 정의합니다. 이 인자는 PHP 4.1.0부터 지원합니다. 현재 기본값은 ISO-8859-1 문자셋입니다.

PHP 4.3.0 이상에서 다음 문자셋을 지원합니다.

표 305. 지원 문자셋

문자셋 | 다른 이름 | 설명
ISO-8859-1 | ISO8859-1 | 서부 유럽어, Latin-1.
ISO-8859-15 | ISO8859-15 | 서부 유럽어, Latin-9. 유로 사인, Latin-1(ISO-8859-1)에 빠진 프랑스어와 핀란드어 문자 추가.
UTF-8 |  | ASCII 호환 멀티바이트 8비트 유니코드.
cp866 | ibm866, 866 | DOS-특정 키릴 문자셋. 이 문자셋은 4.3.2부터 지원합니다.
cp1251 | Windows-1251, win-1251, 1251 | 윈도우즈-특정 키릴 문자셋. 이 문자셋은 4.3.2부터 지원합니다.
cp1252 | Windows-1252, 1252 | 윈도우즈 특정 서부 유럽어 문자셋
KOI8-R | koi8-ru, koi8r | 러시아어. 이 문자셋은 4.3.2부터 지원합니다.
BIG5 | 950 | 중국어 번체, 주로 대만에서 사용.
GB2312 | 936 | 중국어 간체, 국가 표준 문자셋.
BIG5-HKSCS |  | 홍콩 확장을 포함한 Big5, 중국어 번체.
Shift_JIS | SJIS, 932 | 일본어.
EUC-JP | EUCJP | 일본어.

참고: 다른 문자셋에 대해서는 ISO-8859-1을 사용합니다.

디코드(역변환)를 하려면 html_entity_decode()을 사용할 수 있습니다.

예 2304. htmlentities() 예제

<?php
$str = "A 'quote' is <b>bold</b>";

// 출력: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// 출력: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>

참고: html_entity_decode(),
get_html_translation_table(),
htmlspecialchars(), nl2br(),
urlencode().

이전 | 위로 | 다음
html_entity_decode | 처음으로 | htmlspecialchars_decode


htmlspecialchars

(PHP 4, PHP 5)

htmlspecialchars -- 특수 문자를 HTML 엔터티로 변환합니다.

설명

string htmlspecialchars ( string $string [, int $quote_style [, string $charset]] )

어떤 문자들은 HTML에서 특별한 정의를 가지기에, 그 의미를 보존하려면, HTML 엔터티로 표현해야 합니다. 이 함수는 이러한 변환을 수행한 문자열을 반환합니다; 이 번역은 모든 웹 프로그래밍에서 매우 유용합니다. 모든 HTML 문자 엔터티를 번역해야 한다면, 이 함수 대신 htmlentities()를 사용하십시오.

이 함수로 게시판이나 방명록 등의 프로그램에서, HTML을 포함하는 사용자 입력 텍스트를 막을 수 있습니다. 선택적인 두번째 인자 quote_style은 작은 따옴표와 큰 따옴표를 어떻게 처리할지 결정합니다. 기본 모드는 하위 호환 모드 ENT_COMPAT로, 큰 따옴표만 변환합니다. ENT_QUOTES를 지정하면 작은 따옴표와 큰 따옴표 둘 다 변환하고, ENT_NOQUOTES를 지정하면 작은 따옴표와 큰 따옴표 둘 다 변환하지 않습니다.

다음 문자들을 변역합니다:

  • '&'(앰퍼샌드)는 '&amp;'가 됩니다.
  • '"'(큰 따옴표)는 ENT_NOQUOTES를 지정하지 않았을 때 '&quot;'가 됩니다.
  • '''(작은 따옴표)는 ENT_QUOTES를 지정했을 때만 '&#039;'가 됩니다.
  • '<'(보다 작음)는 '&lt;'가 됩니다.
  • '>'(보다 큼)는 '&gt;'가 됩니다.

예 2306. htmlspecialchars() 예제

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;TEST&lt;/a&gt;
?>

이 함수는 위 목록 이외에는 아무 것도 번역하지 않는 점에 주의하십시오. 완전한 엔터티 번역을 위해서는, htmlentities()를 참고하십시오. 선택적인 두번째 인자는 PHP 3.0.17과 PHP 4.0.3에서 추가되었습니다.

선택적인 세번째 인자 charset은 변환에 사용하는 문자셋을 정의합니다. 기본 문자셋은 ISO-8859-1입니다. 세번째 인자는 PHP 4.1.0부터 지원합니다.

PHP 4.3.0 이상에서 다음 문자셋을 지원합니다.

표 307. 지원 문자셋

문자셋 | 다른 이름 | 설명
ISO-8859-1 | ISO8859-1 | 서부 유럽어, Latin-1.
ISO-8859-15 | ISO8859-15 | 서부 유럽어, Latin-9. 유로 사인, Latin-1(ISO-8859-1)에 빠진 프랑스어와 핀란드어 문자 추가.
UTF-8 |  | ASCII 호환 멀티바이트 8비트 유니코드.
cp866 | ibm866, 866 | DOS-특정 키릴 문자셋. 이 문자셋은 4.3.2부터 지원합니다.
cp1251 | Windows-1251, win-1251, 1251 | 윈도우즈-특정 키릴 문자셋. 이 문자셋은 4.3.2부터 지원합니다.
cp1252 | Windows-1252, 1252 | 윈도우즈 특정 서부 유럽어 문자셋
KOI8-R | koi8-ru, koi8r | 러시아어. 이 문자셋은 4.3.2부터 지원합니다.
BIG5 | 950 | 중국어 번체, 주로 대만에서 사용.
GB2312 | 936 | 중국어 간체, 국가 표준 문자셋.
BIG5-HKSCS |  | 홍콩 확장을 포함한 Big5, 중국어 번체.
Shift_JIS | SJIS, 932 | 일본어.
EUC-JP | EUCJP | 일본어.

참고: 다른 문자셋에 대해서는 ISO-8859-1을 사용합니다.

참고: get_html_translation_table(),
strip_tags(),
htmlentities(), nl2br().

이전 | 위로 | 다음
htmlspecialchars_decode | 처음으로 | implode


implode

(PHP 4, PHP 5)

implode -- 문자열로 배열 요소를 결합합니다.

설명

string implode ( string $glue, array $pieces )

모든 배열 원소를 순서대로, 각각의 원소 사이에 glue 문자열을 덧붙인 문자열 표현을 반환합니다.

예 2307. implode() 예제

<?php

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

?>

참고: implode()는 관습적인 이유로 인자의 순서를 바꾸는 것을 허용합니다. 그러나, explode()와의 일관성을 위해서 문서에 나온 인자의 순서를 사용하는 편이 혼동이 적을 것입니다.

참고: PHP 4.3.0부터 implode()의 glue 인자는 선택적이 되었고, 기본값으로 빈 문자열('')입니다. 이는 implode()의 권장하지 않는 사용법입니다. 이전 버전과의 호환을 위해서 항상 두개의 인자를 사용하기를 권장합니다.

참고: explode(), split().

이전 | 위로 | 다음
htmlspecialchars | 처음으로 | join


join

(PHP 4, PHP 5)

join -- implode()의 별칭.

설명

이 함수는 implode()의 별칭입니다.

이전 | 위로 | 다음
implode | 처음으로 | levenshtein


levenshtein

(PHP 4 >= 4.0.1, PHP 5)

levenshtein -- 두 문자열 사이의 Levenshtein distance를 계산합니다.

설명

int levenshtein ( string $str1, string $str2 )
int levenshtein ( string $str1, string $str2, int $cost_ins, int $cost_rep, int $cost_del )
int levenshtein ( string $str1, string $str2, function $cost )

이 함수는 두 문자열 인자 사이의 Levenshtein-Distance를 반환합니다. 문자열 인자 중 하나가 255 문자 제한을 넘어갈 경우에는 -1을 반환합니다. (255는 이름이나 사전 비교에 충분하며, 누구도 PHP로 복잡한 일반 분석을 행하지 않습니다)

Levenshtein distance는 str1를 str2로 변환할 때 필요한 치환, 삽입, 삭제할 최소 문자 수로 정의됩니다. O(m*n)의 복잡한 알고리즘입니다. 여기서 n과 m은 str1과 str2의 길이입니다. (similar_test()의 O(max(n,m)**3)과 비교하면 좋지만, 여전히 비쌉니다)

함수의 가장 간단한 형식은 두 문자열을 받아서, str1을 str2로 변환하는데 필요한 삽입, 치환, 삭제 시행 수를 계산합니다.

두번째 형식은 삽입, 치환, 삭제 시행의 비용을 정의하는 세개의 추가 인자를 줄 수 있습니다. 이는 더욱 일반적이고 적용성이 높지만, 효율적이지 않습니다.

세번째 형식은 (아직 사용할 수 없습니다) 가장 일반적이고 적용성이 높지만, 또한 가장 느린 방법입니다. 이는 모든 시행의 비용을 계산하는 사용자 제공 함수를 호출합니다.

사용자 제공 함수는 다음 인자로 호출합니다:

  • 적용하는 시행: 'I', 'R' or 'D'
  • 문자열 1의 해당 문자
  • 문자열 2의 해당 문자
  • 문자열 1의 위치
  • 문자열 2의 위치
  • 문자열 1의 나머지 문자
  • 문자열 2의 나머지 문자
사용자 제공 함수는 해당하는 시행의 비용을 나타내는 양의 정수를 반환해야 합니다. 제공한 인자의 일부만을 사용하여 결정하여도 됩니다.

The user-supplied function approach offers the possibility to take into account the relevance of and/or difference between certain symbols (characters) or even the context those symbols appear in to determine the cost of insert, replace and delete operations, but at the cost of losing all optimizations done regarding cpu register utilization and cache misses that have been worked into the other two variants.

참고: soundex(),
similar_text(),
metaphone().

이전 | 위로 | 다음
join | 처음으로 | localeconv


localeconv

(PHP 4 >= 4.0.5, PHP 5)

localeconv -- 숫자 형식화 정보를 얻습니다.

설명

array localeconv ( void )

로케일의 숫자와 통화 형식화 정보를 포함하는 연관 배열을 반환합니다.

localeconv()는 setlocale()로 설정한 현재 로케일에 기반한 데이터를 반환합니다. 반환하는 연관 배열은 다음 필드를 포함하고 있습니다:

배열 원소 | 설명
decimal_point | 소수점 문자
thousands_sep | 천단위 구분자
grouping | 숫자 그루핑을 포함하는 배열
int_curr_symbol | 국제 통화 기호 (예. USD)
currency_symbol | 지역 통화 기호 (예. $)
mon_decimal_point | 통화 소수점 문자
mon_thousands_sep | 통화 천단위 구분자
mon_grouping | 통화 그루핑을 포함하는 배열
positive_sign | 양수 기호
negative_sign | 음수 기호
int_frac_digits | 국제 fractional 수
frac_digits | 지역 fractional 수
p_cs_precedes | TRUE if currency_symbol precedes a positive value, FALSE if it succeeds one
p_sep_by_space | 양수에서 currency_symbol을 공백으로 구분하면 TRUE 아니라면 FALSE
n_cs_precedes | TRUE if currency_symbol precedes a negative value, FALSE if it succeeds one
n_sep_by_space | 음수에서 currency_symbol을 공백으로 구분하면 TRUE 아니라면 FALSE
p_sign_posn
0 | Parentheses surround the quantity and currency_symbol
1 | The sign string precedes the quantity and currency_symbol
2 | The sign string succeeds the quantity and currency_symbol
3 | The sign string immediately precedes the currency_symbol
4 | The sign string immediately succeeds the currency_symbol
n_sign_posn
0 | Parentheses surround the quantity and currency_symbol
1 | The sign string precedes the quantity and currency_symbol
2 | The sign string succeeds the quantity and currency_symbol
3 | The sign string immediately precedes the currency_symbol
4 | The sign string immediately succeeds the currency_symbol

The grouping fields contain arrays that define the way numbers should be grouped. For example, the grouping field for the en_US locale, would contain a 2 item array with the values 3 and 3. The higher the index in the array, the farther left the grouping is. If an array element is equal to CHAR_MAX, no further grouping is done. If an array element is equal to 0, the previous element should be used.

예 2308. localeconv() example

<?php
setlocale(LC_ALL, "en_US");

$locale_info = localeconv();

echo "<PRE>\n";
echo "--------------------------------------------\n";
echo "  Monetary information for current locale:  \n";
echo "--------------------------------------------\n\n";

echo "int_curr_symbol:   {$locale_info["int_curr_symbol"]}\n";
echo "currency_symbol:   {$locale_info["currency_symbol"]}\n";
echo "mon_decimal_point: {$locale_info["mon_decimal_point"]}\n";
echo "mon_thousands_sep: {$locale_info["mon_thousands_sep"]}\n";
echo "positive_sign:     {$locale_info["positive_sign"]}\n";
echo "negative_sign:     {$locale_info["negative_sign"]}\n";
echo "int_frac_digits:   {$locale_info["int_frac_digits"]}\n";
echo "frac_digits:       {$locale_info["frac_digits"]}\n";
echo "p_cs_precedes:     {$locale_info["p_cs_precedes"]}\n";
echo "p_sep_by_space:    {$locale_info["p_sep_by_space"]}\n";
echo "n_cs_precedes:     {$locale_info["n_cs_precedes"]}\n";
echo "n_sep_by_space:    {$locale_info["n_sep_by_space"]}\n";
echo "p_sign_posn:       {$locale_info["p_sign_posn"]}\n";
echo "n_sign_posn:       {$locale_info["n_sign_posn"]}\n";
echo "</PRE>\n";
?>

위와 같은 사용을 위해 CHAR_MAX 상수도 정의합니다.

참고: setlocale().

이전 | 위로 | 다음
levenshtein | 처음으로 | ltrim


ltrim

(PHP 4, PHP 5)

ltrim -- 문자열 시작 부분의 공백을 제거합니다.

설명

string ltrim ( string $str [, string $charlist] )

참고: 두번째 인자는 PHP 4.1.0에서 추가되었습니다.

str의 시작 부분에서 공백을 제거한 문자열을 반환합니다. 두번째 인자를 주지 않으면 ltrim()은 다음의 문자들을 제거합니다:

  • " " (ASCII 32 (0x20)), 일반적인 공백.
  • "\t" (ASCII 9 (0x09)), 탭.
  • "\n" (ASCII 10 (0x0A)), 뉴 라인 (줄 바꿈).
  • "\r" (ASCII 13 (0x0D)), 캐리지 리턴.
  • "\0" (ASCII 0 (0x00)), NUL-바이트.
  • "\x0B" (ASCII 11 (0x0B)), 수직 탭.

제거하고 싶은 문자들을 charlist 인자로 지정할 수 있습니다. 단순히 제거하고 싶은 모든 문자를 쓰면 됩니다. ..로 문자의 범위를 지정할 수 있습니다.

예 2309. ltrim() 사용 예제

<?php

$text = "\t\tThese are a few words :) ...  ";
$trimmed = ltrim($text);
// $trimmed = "These are a few words :) ...  "
$trimmed = ltrim($text, " \t.");
// $trimmed = "These are a few words :) ...  "
$clean = ltrim($binary, "\0x00..\0x1F");
// $binary의 시작 부분에서 아스키 제어 문자를 제거합니다.
// (0부터 31까지)

?>

참고: trim(), rtrim().

이전 | 위로 | 다음
localeconv | 처음으로 | md5_file


md5_file

(PHP 4 >= 4.2.0, PHP 5, PECL hash:1.1-1.3)

md5_file -- 주어진 파일명의 md5 해쉬를 계산합니다.

설명

string md5_file ( string $filename [, bool $raw_output] )

» RSA Data Security, Inc. MD5 Message-Digest Algorithm를 사용하여 지정한 filename의 MD5 해쉬를 계산하여 반환합니다. 해쉬는 16진수의 32문자입니다. 선택적인 raw_output를 TRUE로 설정하면, md5 다이제스트는 16의 길이를 가지는 순수 바이너리 형식을 반환합니다.

참고: 선택적인 raw_output 인자는 PHP 5.0.0에서 추가되었으며, 기본값으로 FALSE입니다.

이 함수는 명령줄 유틸리티 md5sum과 동일한 목적을 가집니다.

참고: md5(), crc32(), sha1_file().

이전 | 위로 | 다음
ltrim | 처음으로 | md5


md5

(PHP 4, PHP 5, PECL hash:1.1-1.3)

md5 -- 문자열의 md5 해쉬를 계산합니다.

설명

string md5 ( string $str [, bool $raw_output] )

» RSA Data Security, Inc. MD5 Message-Digest Algorithm을 사용하여 str의 MD5 해쉬를 계산하여 반환합니다. 해쉬는 16진수의 32문자입니다. 선택적인 raw_output를 TRUE로 설정하면, md5 다이제스트는 16의 길이를 가지는 순수 바이너리 형식으로 반환합니다.

참고: 선택적인 raw_output 인자는 PHP 5.0.0에서 추가되었고, 기본값으로 FALSE입니다.

예 2310. md5() 예제

<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo "Would you like a green or red apple?";
    exit;
}
?>

참고: crc32(), md5_file(), sha1().

이전 | 위로 | 다음
md5_file | 처음으로 | metaphone


metaphone

(PHP 4, PHP 5)

metaphone -- 문자열의 메타폰 키를 계산합니다.

설명

string metaphone ( string $str )

str의 메타폰 키를 계산합니다.

soundex()처럼 메타폰은 유사한 발음의 단어에 대해 동일한 키를 생성합니다. 이 함수는 영어 발음의 기본 법칙을 사용하는soundex()보다 훨씬 정확합니다. 메타폰 생성 키는 가변 길이를 가집니다.

메타폰은 Lawrence Philips <lphilips at verity dot com>가 개발하였습니다. 이는 ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995]에 수록되어 있습니다.

이전 | 위로 | 다음
md5 | 처음으로 | money_format


money_format

(PHP 4 >= 4.3.0, PHP 5)

money_format -- Formats a number as a currency string

설명

string money_format ( string $format, float $number )

money_format() returns a formatted version of number. This function wraps the C library function strfmon(), with the difference that this implementation converts only one number at a time.

매개변수

format

The format specification consists of the following sequence:

  • a % character

  • optional flags

  • optional field width

  • optional left precision

  • optional right precision

  • a required conversion character

Flags.

One or more of the optional flags below can be used:

=f

The character = followed by a (single byte) character f to be used as the numeric fill character. The default fill character is space.

^

Disable the use of grouping characters (as defined by the current locale).

+ or (

Specify the formatting style for positive and negative numbers. If + is used, the locale's equivalent for + and - will be used. If ( is used, negative amounts are enclosed in parenthesis. If no specification is given, the default is +.

!

Suppress the currency symbol from the output string.

-

If present, it will make all fields left-justified (padded to the right), as opposed to the default which is for the fields to be right-justified (padded to the left).

Field width.

w

A decimal digit string specifying a minimum field width. Field will be right-justified unless the flag - is used. Default value is 0 (zero).

Left precision.

#n

The maximum number of digits (n) expected to the left of the decimal character (e.g. the decimal point). It is used usually to keep formatted output aligned in the same columns, using the fill character if the number of digits is less than n. If the number of actual digits is bigger than n, then this specification is ignored.

If grouping has not been suppressed using the ^ flag, grouping separators will be inserted before the fill characters (if any) are added. Grouping separators will not be applied to fill characters, even if the fill character is a digit.

To ensure alignment, any characters appearing before or after the number in the formatted output such as currency or sign symbols are padded as necessary with space characters to make their positive and negative formats an equal length.

Right precision .

.p

A period followed by the number of digits (p) after the decimal character. If the value of p is 0 (zero), the decimal character and the digits to its right will be omitted. If no right precision is included, the default will dictated by the current local in use. The amount being formatted is rounded to the specified number of digits prior to formatting.

Conversion characters .

i

The number is formatted according to the locale's international currency format (e.g. for the USA locale: USD 1,234.56).

n

The number is formatted according to the locale's national currency format (e.g. for the de_DE locale: DM1.234,56).

%

Returns the % character.

number

The number to be formatted.

반환값

Returns the formatted string. Characters before and after the formatting string will be returned unchanged.

주의

참고: The function money_format() is only defined if the system has strfmon capabilities. For example, Windows does not, so money_format() is undefined in Windows.

참고: The LC_MONETARY category of the locale settings, affects the behavior of this function. Use setlocale() to set to the appropriate default locale before using this function.

예제

예 2311. money_format() Example

We will use different locales and format specifications to illustrate the use of this function.

<?php

$number = 1234.56;

// let's print the international format for the en_US locale
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56

// Italian national format with 2 decimals`
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// L. 1.234,56

// Using a negative number
$number = -1234.5672;

// US national format, using () for negative numbers
// and 10 digits for left precision
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($        1,234.57)

// Similar format as above, adding the use of 2 digits of right
// precision and '*' as a fill character
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)

// Let's justify to the left, with 14 positions of width, 8 digits of
// left precision, 2 of right precision, withouth grouping character
// and using the international format for the de_DE locale.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// DEM 1234,56****

// Let's add some blurb before and after the conversion specification
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a 10%% discount)';
echo money_format($fmt, 1234.56) . "\n";
// The final value is  GBP 1,234.56 (after a 10% discount)

?>

참고

setlocale()
sscanf()
sprintf()
printf()
number_format()

이전 | 위로 | 다음
metaphone | 처음으로 | nl_langinfo


nl_langinfo

(PHP 4 >= 4.0.7, PHP 5)

nl_langinfo -- Query language and locale information

설명

string nl_langinfo ( int $item )

nl_langinfo() is used to access individual elements of the locale categories. Unlike localeconv(), which returns all of the elements, nl_langinfo() allows you to select any specific element.

매개변수

item

item may be an integer value of the element or the constant name of the element. The following is a list of constant names for item that may be used and their description. Some of these constants may not be defined or hold no value for certain locales.

표 308. nl_langinfo Constants

Constant | Description
LC_TIME Category Constants
ABDAY_(1-7) | Abbreviated name of n-th day of the week.
DAY_(1-7) | Name of the n-th day of the week (DAY_1 = Sunday).
ABMON_(1-12) | Abbreviated name of the n-th month of the year.
MON_(1-12) | Name of the n-th month of the year.
AM_STR | String for Ante meridian.
PM_STR | String for Post meridian.
D_T_FMT | String that can be used as the format string for strftime() to represent time and date.
D_FMT | String that can be used as the format string for strftime() to represent date.
T_FMT | String that can be used as the format string for strftime() to represent time.
T_FMT_AMPM | String that can be used as the format string for strftime() to represent time in 12-hour format with ante/post meridian.
ERA | Alternate era.
ERA_YEAR | Year in alternate era format.
ERA_D_T_FMT | Date and time in alternate era format (string can be used in strftime()).
ERA_D_FMT | Date in alternate era format (string can be used in strftime()).
ERA_T_FMT | Time in alternate era format (string can be used in strftime()).
LC_MONETARY Category Constants
INT_CURR_SYMBOL | International currency symbol.
CURRENCY_SYMBOL | Local currency symbol.
CRNCYSTR | Same value as CURRENCY_SYMBOL.
MON_DECIMAL_POINT | Decimal point character.
MON_THOUSANDS_SEP | Thousands separator (groups of three digits).
MON_GROUPING | Like 'grouping' element.
POSITIVE_SIGN | Sign for positive values.
NEGATIVE_SIGN | Sign for negative values.
INT_FRAC_DIGITS | International fractional digits.
FRAC_DIGITS | Local fractional digits.
P_CS_PRECEDES | Returns 1 if CURRENCY_SYMBOL precedes a positive value.
P_SEP_BY_SPACE | Returns 1 if a space separates CURRENCY_SYMBOL from a positive value.
N_CS_PRECEDES | Returns 1 if CURRENCY_SYMBOL precedes a negative value.
N_SEP_BY_SPACE | Returns 1 if a space separates CURRENCY_SYMBOL from a negative value.
P_SIGN_POSN
  • Returns 0 if parentheses surround the quantity and currency_symbol.
  • Returns 1 if the sign string precedes the quantity and currency_symbol.
  • Returns 2 if the sign string follows the quantity and currency_symbol.
  • Returns 3 if the sign string immediately precedes the currency_symbol.
  • Returns 4 if the sign string immediately follows the currency_symbol.
N_SIGN_POSN
LC_NUMERIC Category Constants
DECIMAL_POINT | Decimal point character.
RADIXCHAR | Same value as DECIMAL_POINT.
THOUSANDS_SEP | Separator character for thousands (groups of three digits).
THOUSEP | Same value as THOUSANDS_SEP.
GROUPING
LC_MESSAGES Category Constants
YESEXPR | Regex string for matching 'yes' input.
NOEXPR | Regex string for matching 'no' input.
YESSTR | Output string for 'yes'.
NOSTR | Output string for 'no'.
LC_CTYPE Category Constants
CODESET | Return a string with the name of the character encoding.

반환값

Returns the element as a string, or FALSE if item is not valid.

주의

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고

setlocale()
localeconv()

이전 | 위로 | 다음
money_format | 처음으로 | nl2br


nl2br

(PHP 4, PHP 5)

nl2br -- 문자열의 모든 줄바꿈 앞에 HTML 줄바꿈 태그를 삽입합니다.

설명

string nl2br ( string $string )

모든 줄바꿈 앞에 '<br />'를 삽입한 string을 반환합니다.

참고: PHP 4.0.5부터, nl2br()은 XHTML과 호환합니다. 4.0.5 이전의 모든 버전은 줄바꿈 앞에 '<br />' 대신 '<br>'를 삽입한 string를 반환합니다.

예 2312. nl2br() 사용하기

<?php
echo nl2br("foo isn't\n bar");
?>

출력은:

foo isn't<br />
 bar

참고: htmlspecialchars(),
htmlentities(),
wordwrap(),
str_replace().

이전 | 위로 | 다음
nl_langinfo | 처음으로 | number_format


number_format

(PHP 4, PHP 5)

number_format -- Format a number with grouped thousands

Description

string number_format ( float $number [, int $decimals [, string $dec_point, string $thousands_sep]] )

number_format() returns a formatted version of number. This function accepts either one, two or four parameters (not three):

If only one parameter is given, number will be formatted without decimals, but with a comma (",") between every group of thousands.

If two parameters are given, number will be formatted with decimals decimals with a dot (".") in front, and a comma (",") between every group of thousands.

If all four parameters are given, number will be formatted with decimals decimals, dec_point instead of a dot (".") before the decimals and thousands_sep instead of a comma (",") between every group of thousands.

Only the first character of thousands_sep is used. For example, if you use bar as thousands_sep on the number 1000, number_format() will return 1b000.

예 2313. number_format() Example

For instance, French notation usually use two decimals, comma (',') as decimal separator, and space (' ') as thousand separator. This is achieved with this line :

<?php

$number = 1234.56;

// english notation (default)
$english_format_number = number_format($number);
// 1,235

// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// english notation without thousands seperator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

See also: money_format(), sprintf(), printf() and sscanf().

이전 | 위로 | 다음
nl2br | 처음으로 | ord


ord

(PHP 4, PHP 5)

ord -- 문자의 아스키 값을 반환합니다.

설명

int ord ( string $string )

string에서 첫번째 문자의 아스키 값을 반환합니다. 이 함수는 chr()을 보충합니다.

예 2314. ord() 예제

$str = "\n";
if (ord($str) == 10) {
    echo "\$str의 첫번째 문자는 줄바꿈입니다.\n";
}

아스키 표는 » http://www.asciitable.com에서 확인할 수 있습니다.

참고: chr().

이전 | 위로 | 다음
number_format | 처음으로 | parse_str


parse_str

(PHP 4, PHP 5)

parse_str -- 문자열을 처리하여 변수를 생성합니다.

설명

void parse_str ( string $str [, array $arr ] )

str을 URL을 통한 질의 문자열처럼 처리하여, 현재 위치에 변수를 설정합니다. 두번째 인자 arr이 존재하면, 변수를 설정하는 대신 이 배열 변수의 원소로 저장합니다.

참고: 선택적인 두번째 인자는 PHP 4.0.3에서 추가되었습니다.

참고: 현지 QUERY_STRING을 얻으려면, $_SERVER['QUERY_STRING']를 사용할 수 있습니다. 또한, PHP 외부에서 들어오는 변수 섹션을 읽어보는 편이 좋습니다.

예 2315. parse_str() 사용하기

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

?>

참고: parse_url(), pathinfo(),
set_magic_quotes_runtime(),
urldecode().

이전 | 위로 | 다음
ord | 처음으로 | print


print

(PHP 4, PHP 5)

print -- 문자열을 출력합니다.

설명

int print ( string $arg )

arg를 출력합니다. 항상 1을 반환합니다.

print()는 실제 함수가 아닙니다. (언어 구조입니다) 그러므로, 인자 목록에 괄호를 사용할 필요가 없습니다.

예 2316. print() 예제

<?php
print("Hello World");

print "print()는 괄호 없이도 작동합니다.";

print "여러 줄로
사용할 수 있습니다. 줄바꿈 문자도
제대로 출력합니다";

print "여러 줄로\n사용할 수 있습니다. 줄바꿈 문자도\n제대로 출력합니다.";

print "이스케이핑 문자는 \"이렇게\" 합니다.";

// print 구문 안에서 변수를 사용할 수 있습니다.
$foo = "foobar";
$bar = "barbaz";

print "foo는 $foo"; // foo는 foobar

// 배열을 사용할 수 있습니다.
$bar = array("value" => "foo");

print "이것은 {$bar['value']} !"; // 이것은 foo !

// 변수값이 아닌, 변수명을 출력하려면 작은 따옴표를 사용하십시오.
print 'foo는 $foo'; // foo는 $foo

// 다른 문자을 사용하지 않는다면, 변수만 출력할 수 있습니다.
print $foo;          // foobar

print <<<END
이는 $varialbe을 써넣으면서 여러 줄을 출력하는
"here document"(여기는 문서) 구문의 사용입니다.
문서 종료어는 아무런 공백도 없이 단지 세미콜론
만을 가지는 점에 주의하십시오.
END;
?>

print()와 echo()의 차이에 관한 간단한 설명은 FAQT의 Knowledge Base Article에서 볼 수 있습니다: » http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

참고: echo(), printf(), flush().

이전 | 위로 | 다음
parse_str | 처음으로 | printf


printf

(PHP 4, PHP 5)

printf -- 형식화한 문자열을 출력합니다.

설명

void printf ( string $format [, mixed $args] )

sprintf() 문서에서 설명한 방법대로, format에 따른 출력을 생성합니다.

참고: print(), sprintf(),
vprintf(), sscanf(),
fscanf(), flush().

이전 | 위로 | 다음
print | 처음으로 | quoted_printable_decode


quoted_printable_decode

(PHP 4, PHP 5)

quoted_printable_decode -- 인용되어 있는 출력 가능 문자열을 8비트 문자열로 변환합니다.

설명

string quoted_printable_decode ( string $str )

이 함수는 디코드된 인용되어 있는 출력 가능 문자열에 해당하는 8비트 바이너리 문자열을 반환합니다. IMAP 모듈이 없어도 작동한다는 점을 제외하고, imap_qprint()와 동일합니다.

이전 | 위로 | 다음
printf | 처음으로 | quotemeta


quotemeta

(PHP 4, PHP 5)

quotemeta -- 메타 문자를 인용합니다.

설명

string quotemeta ( string $str )

모든

. \\ + * ? [ ^ ] ( $ )
문자 앞에 백슬래쉬(\)를 덧붙인 str을 반환합니다.

참고: addslashes(),
htmlentities(),
htmlspecialchars(),
nl2br(),
stripslashes().

이전 | 위로 | 다음
quoted_printable_decode | 처음으로 | rtrim


rtrim

(PHP 4, PHP 5)

rtrim -- 문자열 끝 부분의 공백을 제거합니다.

설명

string rtrim ( string $str [, string $charlist] )

참고: 두번째 인자는 PHP 4.1.0에서 추가되었습니다.

str의 끝 부분에서 공백을 제거한 문자열을 반환합니다. 두번째 인자가 없으면, rtrim()은 다음 문자들을 제거합니다:

  • " " (ASCII 32 (0x20)), 보통의 공백.
  • "\t" (ASCII 9 (0x09)), 탭.
  • "\n" (ASCII 10 (0x0A)), 뉴라인. (줄바꿈)
  • "\r" (ASCII 13 (0x0D)), 캐리지 리턴.
  • "\0" (ASCII 0 (0x00)), NUL 바이트.
  • "\x0B" (ASCII 11 (0x0B)), 수직 탭.

charlist 인자를 통해서 제거하기를 원하는 문자를 지정할 수 있습니다. 간단히 제거하기를 원하는 모든 문자를 기록하면 됩니다. ..로 문자의 범위를 지정할 수 있습니다.

예 2317. rtrim() 사용 예제

<?php

$text = "\t\tThese are a few words :) ...  ";
$trimmed = rtrim($text);
// $trimmed = "\t\tThese are a few words :) ..."
$trimmed = rtrim($text, " \t.");
// $trimmed = "\t\tThese are a few words :)"
$clean = rtrim($binary, "\0x00..\0x1F");
// $binary의 마지막 부분에서 아스키 제어 문자를 제거합니다.
// (0에서 31까지)

?>

참고: trim(), ltrim().

이전 | 위로 | 다음
quotemeta | 처음으로 | setlocale


setlocale

(PHP 4, PHP 5)

setlocale -- 지역적보를 지정한다.

설명

string setlocale ( string $category, string $locale )

Category는 지역 세팅에 의해 영향을 받는 함수의 범주를 특성화 하는 문자열이다 :

  • LC_ALL - 이후 나오는 모든 것을 위해
  • LC_COLLATE - 문자열 비교를 위함 - 통상적으로 PHP에서는 실핻외지 않는다
  • LC_CTYPE - strtoupper()와 같이 문자 정형화와 변환을 위해.
  • LC_MONETARY - localeconv() 를 위해 - 통상적으로 PHP에서는 실핻외지 않는다
  • LC_NUMERIC - 십진 구분자를 위해
  • LC_TIME - strftime()와 함께 날자와 시간 표매팅을 위해

만약 locale이 빈 문자열 ""일 경우 로케일 이름은 위 카타고리의 이름과 같은 이름을 갖는 환경변수나 "LANG"으로 부터 세팅된다.

만약 로케일이 0 이거나 문자 "0"일 경우, 로케일 세팅은 영향을 받지 않고 단지 현재의 설정만이 반환된다.

Setlocale 은 새로운 현재 로케일이나, 로케일 기능이 플랫폼이서 수행되지 않거나, 특정 로케일이 존재하지 않거나 혹은 카테고리 이름이 유효하지 않을 경우 거짓을 반환한다. 유효하지 않은 카테고리 이름 역시 경고 메시지를 야기시킨다.

이전 | 위로 | 다음
rtrim | 처음으로 | sha1_file


sha1_file

(PHP 4 >= 4.3.0, PHP 5, PECL hash:1.1-1.3)

sha1_file -- 파일의 sha1 해쉬를 계산합니다.

설명

string sha1_file ( string $filename [, bool $raw_output] )

» US Secure Hash Algorithm 1을 사용하여, filename의 sha1 해쉬를 계산하여 반환합니다. 해쉬는 16진수를 나타내는 40 문자입니다. 실패하면 FALSE를 반환합니다. 선택적인 raw_output를 TRUE로 설정하면, 길이 20인 무변환 바이너리 형식의 sha1 다이제스트를 반환합니다.

참고: 선택적인 raw_output 인자는 PHP 5.0.0에서 추가되었고, 기본값은 FALSE입니다.

참고: sha1(), crc32(), md5_file()

이전 | 위로 | 다음
setlocale | 처음으로 | sha1


sha1

(PHP 4 >= 4.3.0, PHP 5, PECL hash:1.1-1.3)

sha1 -- 문자열의 sha1 해쉬를 계산합니다.

설명

string sha1 ( string $str [, bool $raw_output] )

» US Secure Hash Algorithm 1을 사용하여, str의 sha1 해쉬를 계산하여 반환합니다. 해쉬는 16진수를 나타내는 40 문자입니다. 선택적인 raw_output를 TRUE로 설정하면, 길이 20인 무변환 바이너리 형식의 sha1 다이제스트를 반환합니다.

참고: 선택적인 raw_output 인자는 PHP 5.0.0에서 추가되었고, 기본값은 FALSE입니다.

예 2318. sha1() 예제

<?php
$str = 'apple';

if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
    echo "Would you like a green or red apple?";
    exit;
}
?>

참고: sha1_file(), crc32(), md5()

이전 | 위로 | 다음
sha1_file | 처음으로 | similar_text


similar_text

(PHP 4, PHP 5)

similar_text -- 두 문자열 간의 유사성을 계산합니다.

설명

int similar_text ( string $first, string $second [, float $percent] )

Oliver [1993]에서 설명한 방법으로 두 문자열 간의 유사성을 계산합니다. 이 수행은 Oliver's 표현 코드처럼 스택을 사용하지 않고, 전체 프로세스 속도를 향상하거나 저하할 수 있는 재귀 호출을 사용하는 점에 주의하십시오. 이 알고리즘의 복잡도는 O(N**3)이고, N은 가장 긴 문자열의 길이를 나타냅니다.

세번째 인자를 참조로 전달하면, similar_text()가 유사성을 백분율로 계산해줍니다. 이 함수는 두 문자열에서 매치하는 문자 수를 반환합니다.

이전 | 위로 | 다음
sha1 | 처음으로 | soundex


soundex

(PHP 4, PHP 5)

soundex -- 문자열의 soundex 키를 계산합니다.

설명

string soundex ( string $str )

str의 soundex 키를 계산합니다.

발음이 유사한 단어들은 같은 soundex 키를 생성하기에, 발음은 알고 있지만 스펠은 모르는 단어를 데이터베이스에서 쉽게 찾을 수 있습니다. soundex 함수는 문자로 시작하는 4 문자 문자열을 반환합니다.

이 soundex 함수는 "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), 391-392쪽에서 Donald Knuth가 기술한 것입니다.

예 2319. Soundex 예제

<?php
soundex("Euler") == soundex("Ellery"); // E460
soundex("Gauss") == soundex("Ghosh"); // G200
soundex("Hilbert") == soundex("Heilbronn"); // H416
soundex("Knuth") == soundex("Kant"); // K530
soundex("Lloyd") == soundex("Ladd"); // L300
soundex("Lukasiewicz") == soundex("Lissajous"); // L222
?>

참고: levenshtein(), metaphone(), similar_text().

이전 | 위로 | 다음
similar_text | 처음으로 | sprintf


sprintf

(PHP 4, PHP 5)

sprintf -- 형식화한 문자열을 반환합니다.

설명

string sprintf ( string $format [, mixed $args] )

포맷 문자열 format에 따라 생성한 문자열을 반환합니다.

포맷 문자열은 0개 이상의 지시어를 조합합니다: 일반 문자는 (%을 제외하고) 결과에 그대로 복사하고, 변환 특정어는 각각의 인자로 교체한 결과를 가집니다. 이는 sprintf()와 printf()에 모두 적용됩니다.

각각의 변환 특정어는 퍼센트 기호(%)에 다음의 요소들이 붙어서 구성됩니다:

  1. 선택적인 패딩 지정어는 적합한 문자열의 크기를 얻기 위한 패딩에 사용하는 문자를 지정합니다. 이는 스페이스 문자나 0 (제로 문자)일 수 있습니다. 기본값은 스페이스로 채웁니다. 다른 패딩 문자는 작은 따옴표(')를 앞에 붙여서 지정할 수 있습니다. 아래의 예제를 참고하십시오.
  2. 선택적인 정렬 지정어는 결과를 왼쪽 정렬할지, 오른쪽 정렬할 지를 결정합니다. 기본값은 오른쪽 정렬입니다; 여기에 - 문자를 사용하면 왼쪽 정렬이 됩니다.
  3. 선택적인 수, 너비 지정어는 얼마나 많은 문자(최소한)가 결과에 들어갈지를 결정합니다.
  4. 선택적인 정밀도 지정어는 부동 소수점 실수에서 얼마나 많은 소수점 아래의 수를 표시할지를 결정합니다. 이 옵션은 float형 이외에는 영향을 주지 않습니다. (수를 포맷하는 다른 유용한 함수에는 number_format()이 존재합니다.)

  5. 형 지정어는 인자 데이터를 어떤 형으로 취급할지 결정합니다. 가능한 형은:

    % - 퍼센트 문자. 인자는 필요하지 않습니다.
    b - 인자를 정수로 취급하고, 2진수로 표현합니다.
    c - 인자를 정수로 취급하고, ASCII 값에 해당하는 문자로 표현합니다.
    d - 인자를 정수로 취급하고, (부호 있는) 10진수로 표현합니다.
    u - 인자를 정수로 취급하고, 부호 없는 10진수로 표현합니다.
    f - 인자를 float로 취급하고, 실수로 표현합니다.
    o - 인자를 정수로 취급하고, 8진수로 표현합니다.
    s - 인자를 문자열로 취급하고 표현합니다.
    x - 인자를 정수로 취급하고 16진수(소문자 표시)로 표현합니다.
    X - 인자를 정수로 취급하고, 16진수(대문자 표시)로 표현합니다.

PHP 4.0.6부터 포맷 문자열은 인자 넘버링/교환을 지원합니다. 다음은 예제입니다:

예 2320. 인자 교환

<?php
$format = "There are %d monkeys in the %s";
printf($format, $num, $location);
?>

이는 "There are 5 monkeys in the tree"를 출력할 것입니다. 그러나, 국제화를 위해서 포맷 문자열을 별도의 파일로 작성하고, 이것을 다음과 같이 재작성했다고 생각해봅시다:

예 2321. 인자 교환

<?php
$format = "The %s contains %d monkeys";
printf($format, $num, $location);
?>

문제가 생겼습니다. 포맷 문자열에서의 순서와 코드에서 인자의 순서가 일치하지 않습니다. 여기서 코드를 수정하지 않고, 단순히 포맷 문자열에 어떤 인자를 가져올지를 지정할 수 있습니다. 포맷 문자열을 다음과 같이 작성하면 됩니다:

예 2322. 인자 교환

<?php
$format = "The %2\$s contains %1\$d monkeys";
printf($format, $num, $location);
?>

코드에 많은 인자를 추가하지 않고도 반복해서 출력할 수 있다는 추가적인 장점이 존재합니다. 예를 들면:

예 2323. 인자 교환

<?php
$format = "The %2\$s contains %1\$d monkeys.
           That's a nice %2\$s full of %1\$d monkeys.";
printf($format, $num, $location);
?>

참고: printf(),
sscanf(), fscanf(),
vsprintf(),
number_format().

예제

예 2324. sprintf(): 제로로 채운 정수

<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

예 2325. sprintf(): 통화 표현하기

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money 는 "123.1"를 출력합니다;
$formatted = sprintf("%01.2f", $money);
// echo $formatted 는 "123.10"를 출력합니다.
?>

이전 | 위로 | 다음
soundex | 처음으로 | sscanf


sscanf

(PHP 4 >= 4.0.1, PHP 5)

sscanf -- 문자열을 형식에 따라 처리합니다.

설명

mixed sscanf ( string $str, string $format [, string $var1] )

sscanf()은 printf()의 입력 형태입니다. sscanf()는 문자열 str을 읽어서 지정한 format에 따라 해석합니다. 인자를 두개만 지정하면, 처리한 값을 배열로 반환합니다.

포맷 문자열의 모든 종류의 공백은 입력 문자열의 어떠한 공백에도 매치합니다. 이는 포맷 문자열의 탭 \t이 입력 문자열의 하나의 스페이스 문자에도 매치한다는 것을 의미합니다.

예 2326. sscanf() 예제

<?php
// 시리얼 번호 얻기
$serial = sscanf("SN/2350001", "SN/%d");
// 제조일 얻기
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Item $serial was manufactured on: $year-" . substr($month, 0, 3) . "-$day\n";
?>

선택적인 인자를 지정하면, 할당한 값의 수를 반환합니다. 선택 인자는 참조로 전달해야 합니다.

예 2327. sscanf() - 선택 인자 사용하기

<?php
// 작가 정보를 얻어서 DocBook 엔트리를 생성합니다.
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", &$id, &$first, &$last);
echo "<author xml:id='$id'>
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>\n";
?>

참고: fscanf(), printf(), sprintf().

이전 | 위로 | 다음
sprintf | 처음으로 | str_getcsv


str_ireplace

(PHP 5)

str_ireplace -- 대소문자를 구별하지 않는 str_replace().

설명

mixed str_ireplace ( mixed $search, mixed $replace, mixed $subject [, int $&count] )

subject에서 (대소문자 구별 없이) 모든 search를 주어진 replace로 치환합니다. 복잡한 치환 규칙이 필요하지 않다면, eregi_replace()이나 preg_replace()에 i 변경자를 사용하는 대신, 이 함수를 사용하십시오.

subject가 배열이면, 검색 및 치환을 subject의 모든 원소에서 수행하고, 배열을 반환합니다.

search와 replace가 배열이면, str_ireplace()는 각각의 배열값을 subject에서 검색하고 치환하는 데에 사용합니다. replace가 search보다 적은 값을 가지고 있으면, 나머지 치환값은 빈 문자열을 사용합니다. search가 배열이고 replace가 문자열이면; 치환 문자열을 search의 모든 값에 사용합니다.

예 2328. str_ireplace() 예제

<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
?>

이 함수는 바이너리 안전입니다.

참고: PHP 5.0.0부터 매치하여 교체한 needles의 수를 참조로 전달한 count로 반환합니다. PHP 5.0.0 이전에 이 인자는 사용할 수 없습니다.

참고:
str_replace(),
ereg_replace(),
preg_replace(),
strtr().

이전 | 위로 | 다음
str_getcsv | 처음으로 | str_pad


str_pad

(PHP 4 >= 4.0.1, PHP 5)

str_pad -- 문자열을 어떠한 길이가 되도록 다른 문자열로 채웁니다.

설명

string str_pad ( string $input, int $pad_length [, string $pad_string [, int $pad_type]] )

지정한 길이가 되도록 왼쪽, 오른쪽, 혹은 양쪽 모두를 채워넣은 input 문자열을 반환합니다. 선택적인 인자 pad_string를 제공하지 않으면, input을 공백으로 채웁니다. 그렇지 않으면, pad_string의 문자들로 제한까지 채워넣습니다.

선택적인 인자 pad_type에는 STR_PAD_RIGHT, STR_PAD_LEFT, STR_PAD_BOTH를 사용할 수 있습니다. pad_type를 지정하지 않으면 STR_PAD_RIGHT를 사용합니다.

pad_length가 음수이거나 입력 문자열보다 작으면, 아무런 수행도 하지 않습니다.

예 2329. str_pad() 예제

<?php
$input = "Alien";
echo str_pad($input, 10);                      // "Alien     "을 생성.
echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // "-=-=-Alien"을 생성.
echo str_pad($input, 10, "_", STR_PAD_BOTH);   // "__Alien___"을 생성.
echo str_pad($input, 6 , "___");               // "Alien_"을 생성.
?>

참고: 채워넣을 문자 수가 pad_string의 길이로 정확히 나누어 지지 않을 경우, pad_string은 중간에 잘라집니다.

이전 | 위로 | 다음
str_ireplace | 처음으로 | str_repeat


str_repeat

(PHP 4, PHP 5)

str_repeat -- 문자열을 반복합니다.

설명

string str_repeat ( string $input, int $multiplier )

multiplier번 반복한 input_str을 반환합니다. multiplier는 0 이상이여야 합니다. multiplier를 0으로 설정하면, 빈 문자열을 반환합니다.

예 2330. str_repeat() 예제

<?php
echo str_repeat("-=", 10);
?>

이는 "-=-=-=-=-=-=-=-=-=-="를 출력합니다.

참고: for, str_pad(), substr_count().

이전 | 위로 | 다음
str_pad | 처음으로 | str_replace


str_replace

(PHP 4, PHP 5)

str_replace -- 발견한 모든 검색 문자열을 치환 문자열로 교체합니다.

설명

mixed str_replace ( mixed $search, mixed $replace, mixed $subject [, int $&count] )

subject에서 발견한 모든 search를 주어진 replace 값으로 치환한 문자열이나 배열을 반환합니다. (정규표현식처럼) 복잡한 치환 규칙이 필요하지 않다면, 항상 ereg_replace()나 preg_replace() 대신 이 함수를 사용해야 합니다.

PHP 4.0.5부터, str_replace()의 모든 인자를 array로 지정할 수 있습니다.

주의

PHP 4.3.3 이전 버전에는 search와 replace 인자에 모두 배열을 사용할 경우, 빈 search 인덱스를 replace 배열의 내부 포인터를 옮기지 않은 채 넘어가는 버그가 존재했습니다. PHP 4.3.3에서 수정했기에, 이 버그에 관련된 모든 스크립트는 이전의 동작을 하려면 이 함수를 호출 하기 전에 빈 search값을 제거해야 합니다.

subject가 배열이면, 검색 및 치환을 subject의 모든 원소에서 수행하고, 배열을 반환합니다.

search와 replace가 배열이면, str_replace()는 각각의 배열에서 가져온 값을 subject의 검색과 치환에 사용합니다. replace가 search보다 적은 값을 가지면, 나머지 치환값은 빈 문자열을 사용합니다. search가 배열이고 replace가 문자열이면; 치환 문자열을 모든 search 값에 사용합니다.

예 2331. str_replace() 예제

<?php
// 결과: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// 결과: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// 결과: You should eat pizza, beer, and ice cream every day
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

// PHP 5.0.0부터 사용할 수있는 count 인자 사용
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2
?>

참고: 이 함수는 바이너리 호환(binary-safe)입니다.

참고: PHP 5.0.0부터 매치하고 치환한 횟수를 참조로 전달하는 count로 반환할 수 있습니다. PHP 5.0.0 이전에는 이 인자를 사용할 수 없습니다.

참고:
str_ireplace(),
substr_replace(),
ereg_replace(),
preg_replace(),
strtr().

이전 | 위로 | 다음
str_repeat | 처음으로 | str_rot13


str_rot13

(PHP 4 >= 4.2.0, PHP 5)

str_rot13 -- 문자열에 rot13 변환을 수행합니다.

설명

string str_rot13 ( string $str )

str 인자에 ROT13 인코딩을 수행하여, 결과 문자열을 반환합니다. ROT13 인코딩은 단순히 알파벳의 모든 문자를 13자리 쉬프트하고, 나머지 문자는 그대로 놔둡니다. 인코딩과 디코딩은 동일한 함수로 이루어집니다. 인코드한 문자열을 인자로 넘기면 원래 버전을 반환합니다.

예 2332. str_rot13() 예제

<?php

echo str_rot13('PHP 4.3.0'); // CUC 4.3.0

?>

참고: PHP 4.3.0까지 이 함수에 버그가 있었습니다. 이 이전에는, str도 참조로 넘긴 것처럼 변경했습니다.

이전 | 위로 | 다음
str_replace | 처음으로 | str_shuffle


str_shuffle

(PHP 4 >= 4.3.0, PHP 5)

str_shuffle -- 문자열을 랜덤하게 섞습니다.

설명

string str_shuffle ( string $str )

str_shuffle()은 문자열을 섞습니다. 가능한 모든 순열을 작성합니다.

예 2333. str_shuffle() 예제

<?php
$str = 'abcdef';
$shuffled = str_shuffle($str);

// 이와 비슷한 출력을 보여줍니다: bfdaec
echo $shuffled;
?>

참고: shuffle(), rand().

이전 | 위로 | 다음
str_rot13 | 처음으로 | str_split


str_split

(PHP 5)

str_split -- 문자열을 배열로 변환합니다.

설명

array str_split ( string $string [, int $split_length] )

문자열을 배열로 변환합니다. 선택적인 split_length 인자를 지정하면, 반환하는 배열은 split_length 길이의 원소로 나누어집니다. 지정하지 않으면 하나의 원소에 한 문자가 들어갑니다.

split_length가 1보다 작을 경우에는 FALSE를 반환합니다. split_length 길이가 string의 길이보다 클 경우, 문자열 전체를 첫번째 배열 원소로 반환합니다.

예 2334. str_split() 사용 예제

<?php

$str = "Hello Friend";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);

?>

출력은:

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

예 2335. str_split()에 관련한 예제

<?php

$str = "Hello Friend";

echo $str{0};  // H
echo $str{8};  // i

// 결과: array('H','e','l','l','o',' ','F','r','i','e','n','d')
$arr1 = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);

?>

참고: chuck_split(),
preg_split(),
split(),
count_chars(),
str_word_count(),
for.

이전 | 위로 | 다음
str_shuffle | 처음으로 | str_word_count


str_word_count

(PHP 4 >= 4.3.0, PHP 5)

str_word_count -- 문자열에서 사용한 단어에 대한 정보를 반환합니다.

설명

mixed str_word_count ( string $string [, int $format] )

string 안의 단어 수를 셉니다. 선택적인 format을 지정하지 않으면, 반환값은 단어 수를 나타내는 정수입니다. format를 지정하면, 반환값은 배열로써, 내용은 format에 따라 결정됩니다. 아래 목록은 format으로 사용할 수 있는 값과 그에 따른 출력입니다.

  • 1 - string에서 발견한 모든 단어를 포함하는 배열을 반환합니다.
  • 2 - string 안에서 단어 위치를 키로, 그 단어를 값으로 가지는 연관 배열을 반환합니다.

이 함수의 작동에서, '단어'는 알파벳 문자를 포함하는 로케일 의존 문자열로, "'"'와 "-" 문자로 시작하지 않는 문자들을 포함합니다.

예 2336. str_word_count() 사용 예제

<?php

$str = "Hello friend, you're
        looking          good today!";

$a   = str_word_count($str, 1);
$b   = str_word_count($str, 2);
$c   = str_word_count($str);

print_r($a);
print_r($b);
echo $c;
?>

출력은:

Array
(
    [0] => Hello
    [1] => friend
    [2] => you're
    [3] => looking
    [4] => good
    [5] => today
)

Array
(
    [0] => Hello
    [6] => friend
    [14] => you're
    [29] => looking
    [46] => good
    [51] => today
)

6

참고: explode(),
preg_split(),
split(),
count_chars(),
substr_count().

이전 | 위로 | 다음
str_split | 처음으로 | strcasecmp


strcasecmp

(PHP 4, PHP 5)

strcasecmp -- 대소문자를 구별하지 않는 바이너리 호환 문자열 비교

설명

int strcasecmp ( string $str1, string $str2 )

str1이 str2보다 작다면 < 0 을 반환하고; str1이 str2보다 크다면 > 0 을 반환합니다. 동일하다면 0을 반환합니다.

예 2337. strcasecmp() 예제

<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
    echo '대소문자를 구별하지 않는 문자열 비교에서 $var1은 $var2와 동일합니다.';
}
?>

참고: ereg(), strcmp(),
substr(), stristr(),
strncasecmp(), strstr().

이전 | 위로 | 다음
str_word_count | 처음으로 | strchr


strchr

(PHP 4, PHP 5)

strchr -- strstr()의 별칭.

설명

이 함수는 strstr()의 별칭입니다.

이전 | 위로 | 다음
strcasecmp | 처음으로 | strcmp


strcmp

(PHP 4, PHP 5)

strcmp -- 바이너리 호환 문자열 비교

설명

int strcmp ( string $str1, string $str2 )

str1이 str2보다 작다면 < 0을 반환하고; str1이 str2보다 크다면 > 0을 반환합니다. 동일하면 0을 반환합니다.

이 비교가 대소문자를 구별하는 점에 주의하십시오.

참고: ereg(),
strcasecmp(), substr(),
stristr(), strncasecmp(),
strncmp(), strstr().

이전 | 위로 | 다음
strchr | 처음으로 | strcoll


strcoll

(PHP 4 >= 4.0.5, PHP 5)

strcoll -- 로케일 기반 문자열 비교

설명

int strcoll ( string $str1, string $str2 )

str1이 str2보다 작으면 < 0를; str1이 str2보다 크면 > 0를, 동일하면 0을 반환합니다. strcoll()은 비교에 현재 로케일을 사용합니다. 현재 로케일이 C나 POSIX이면, 이 함수는 strcmp()와 동일합니다.

이 비교는 대소문자를 구별하며, strcmp()와는 다르게 바이너리 호환이 아닙니다.

참고: strcoll()은 PHP 4.0.5에서 추가되었지만, win32에서는 4.2.3까지 사용할 수 없었습니다.

참고: ereg(), strcmp(),
strcasecmp(), substr(),
stristr(), strncasecmp(),
strncmp(), strstr(),
setlocale().

이전 | 위로 | 다음
strcmp | 처음으로 | strcspn


strcspn

(PHP 4, PHP 5)

strcspn -- 마스크에 매칭하지 않는 처음 세그먼트의 길이를 찾습니다.

설명

int strcspn ( string $str1, string $str2 )

str1에서 str2 내의 어떠한 문자도 포함하지 않는 첫번째 세그먼트의 길이를 반환합니다.

참고: strspn().

이전 | 위로 | 다음
strcoll | 처음으로 | strip_tags


strip_tags

(PHP 4, PHP 5)

strip_tags -- 문자열에서 HTML과 PHP 태그를 제거합니다.

설명

string strip_tags ( string $str [, string $allowable_tags] )

주어진 str에서 모든 HTML과 PHP 태그를 제거한 문자열을 반환합니다. 이 함수는 fgetss() 함수와 동일한 태그 제거 방식을 사용합니다.

선택적인 두번째 인자로 제거하지 않을 태그를 지정할 수 있습니다.

참고: allowable_tags은 PHP 3.0.13과 PHP 4.0b3에서 추가되었습니다. PHP 4.3부터 HTML 주석도 제거합니다.

주의

strip_tags()는 HTML의 유효성을 검사하지 않기 때문에, 부분적이거나 깨진 태그는 예상 외의 텍스트/데이터를 제거할 수 있습니다.

예 2338. strip_tags() 예제

<?php
$text = '
<p>테스트 문단.</p>
<!-- 주석 -->
다른 텍스트';

echo strip_tags($text);

echo "\n\n--------\n";

// <p>를 허용.
echo strip_tags($text, '<p>');
?>

위 예제의 출력은:

테스트 문단.

다른 텍스트

--------

<p>테스트 문단.</p>

다른 텍스트

주의

이 함수는 allowable_tags를 사용하여 허용한 태그 안의 어떠한 속성도 변경하지 않습니다. 악성 사용자가 다른 사용자에게 보여지는 텍스트를 게시할 때 style이나 onmouserover 속성을 사용하여 악용할 수 있습니다.

참고: htmlspecialchars().

이전 | 위로 | 다음
strcspn | 처음으로 | stripcslashes


stripcslashes

(PHP 4, PHP 5)

stripcslashes -- addcslashes()로 처리한 문자열을 되돌립니다.

설명

string stripcslashes ( string $str )

백슬래쉬를 제거한 문자열을 반환합니다. C 형식의 \n, \r ..., 8진과 16진 표현도 인식합니다.

참고: addcslashes().

이전 | 위로 | 다음
strip_tags | 처음으로 | stripos


stripos

(PHP 5)

stripos -- 대소문자를 구별하지 않고 문자열이 처음 나타나는 위치를 찾습니다.

설명

int stripos ( string $haystack, string $needle [, int $offset] )

haystack string에서 needle이 처음 나타나는 수 위치를 반환합니다. strpos()와 달리, stripos()는 대소문자를 구별하지 않습니다.

needle는 한 문자 이상의 문자열이여야 합니다.

needle을 발견하지 못하면, stripos()는 boolean FALSE를 반환합니다.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

예 2339. stripos() 예제

<?php
$findme    = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// 'a'는 'xyz' 안에 없습니다.
if ($pos1 === false) {
    echo "문자열 '$findme'은 문자열 '$mystring1'에서 발견할 수 없습니다.";
}

// ===를 사용하는 점에 주의하십시오. ==는 'a'가 0번째
// (처음) 문자기에, 기대하는대로 작동하지 않습니다.
if ($pos2 !== false) {
    echo "'$findme'를 '$mystring2' 위치 $pos2에서 찾았습니다.";
}
?>

needle이 문자열이 아니라면, 정수로 변환하여, 해당하는 값의 문자로 적용합니다.

선택적인 offset 인자로 haystack의 몇번째 문자에서 검색을 시작할지 지정할 수 있습니다. 위치는 여전히 haystack의 처음부터 세어집니다.

참고: strpos(), strrpos(),
strrchr(), substr(),
stristr(), strstr(),
strripos(), str_ireplace().

이전 | 위로 | 다음
stripcslashes | 처음으로 | stripslashes


stripslashes

(PHP 4, PHP 5)

stripslashes -- addslashes()로 처리한 문자열을 되돌립니다.

설명

string stripslashes ( string $str )

백슬래쉬를 제거한 문자열을 반환합니다. (\'이 '로 되는 방식입니다) 이중 백슬래쉬(\\)는 단일 백슬래쉬(\)로 만듭니다.

PHP 지시어 magic_quotes_gpc가 on(기본값으로 on입니다)일 때, 데이터를 이스케이프가 필요한 장소(데이터베이스 등)에 놓지 않을 경우의 사용 예제입니다. 예를 들면, HTML 폼에서 전달한 데이터를 단순히 바로 출력할 경우입니다.

예 2340. stripslashes() 예제

<?php
$str = "Is your name O\'reilly?";

// 출력: Is your name O'reilly?
echo stripslashes($str);
?>

참고: addslashes(), get_magic_quotes_gpc().

이전 | 위로 | 다음
stripos | 처음으로 | stristr


stristr

(PHP 4, PHP 5)

stristr -- 대소문자를 구별하지 않는 strstr()

설명

string stristr ( string $haystack, string $needle )

haystack에서 첫번째 나타나는 needle부터 마지막까지 반환합니다. needle과 haystack은 대소문자를 구별하지 않습니다.

needle이 발견되지 않으면 FALSE를 반환합니다.

needle이 문자열이 아니면, 정수로 변환하고, 해당하는 순서의 문자값을 적용합니다.

예 2341. stristr() 예제

<?php
  $email = 'USER@EXAMPLE.com';
  $domain = stristr($email, 'e');
  echo $domain;
// 출력: ER@EXAMPLE.com
?>

참고: strchr(),
strrchr(), substr(),
ereg().

이전 | 위로 | 다음
stripslashes | 처음으로 | strlen


strlen

(PHP 4, PHP 5)

strlen -- 문자열의 길이를 구합니다.

설명

int strlen ( string $str )

string의 길이를 반환합니다.

예 2342. strlen() 예제

<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

참고: count().

이전 | 위로 | 다음
stristr | 처음으로 | strnatcasecmp


strnatcasecmp

(PHP 4, PHP 5)

strnatcasecmp -- "natural order" 알고리즘을 이용한 대소문자를 구별하지 않는 문자열 비교.

설명

int strnatcasecmp ( string $str1, string $str2 )

사람이 하는 것과 동일한 방법으로 알파벳과 숫자 문자열의 순서를 비교하는 알고리즘을 수행합니다. 이 작동은 대소문자를 구별하지 않는 점을 제외하면, strnatcmp()와 동일합니다. 자세한 정보는 Martin Pool의 » Natural Order String Comparison 페이지를 참고하십시오.

다른 문자열 비교 함수와 동일하게, str1이 str2보다 작다면 < 0을, str1이 str2보다 크다면 > 0을, 같다면 0을 반환합니다.

참고: ereg(),
strcasecmp(), substr(),
stristr(), strcmp(),
strncmp(), strncasecmp(),
strnatcmp(), strstr().

이전 | 위로 | 다음
strlen | 처음으로 | strnatcmp


strnatcmp

(PHP 4, PHP 5)

strnatcmp -- "natural order" 알고리즘을 이용한 문자열 비교

설명

int strnatcmp ( string $str1, string $str2 )

사람이 하는 것과 같은 방법으로 알파벳과 숫자로 이루어진 문자열의 비교 알고리즘, "natural ordering"을 수행합니다. 아래는 이 알고리즘과 컴퓨터가 사용하는 정렬 알고리즘(strcmp()에서 사용)의 차이입니다:

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "표준 문자열 비교\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nNatural order 문자열 비교\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>
위 코드는 아래의 결과를 생성합니다:

표준 문자열 비교
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order 문자열 비교
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
자세한 정보는 Martin Pool의 » Natural Order String Comparison 페이지를 참고하십시오.

다른 문자열 비교 함수와 동일하게, str1이 str2보다 작으면 < 0을; str1이 str2보다 크면 > 0을, 같으면 0을 반환합니다.

이 비교는 대소문자를 구별함에 주의하십시오.

참고: ereg(),
strcasecmp(), substr(),
stristr(), strcmp(),
strncmp(), strncasecmp(),
strnatcasecmp(), strstr(),
natsort(), natcasesort().

이전 | 위로 | 다음
strnatcasecmp | 처음으로 | strncasecmp


strncasecmp

(PHP 4 >= 4.0.2, PHP 5)

strncasecmp -- 대소문자를 구별하지 않는 처음 n 문자의 이진 호환 문자열 비교

설명

int strncasecmp ( string $str1, string $str2, int $len )

비교에 사용하는 각각의 문자열에서 (길이 제한) 비교할 문자 수(len)를 지정할 수 있는 차이를 제외하면, strcasecmp()와 동일합니다.

str1이 str2보다 작으면 < 0을; str1이 str2보다 크면 > 0을, 같으면 0을 반환합니다.

참고: ereg(), strcasecmp(),
strcmp(), substr(),
stristr(), strstr().

이전 | 위로 | 다음
strnatcmp | 처음으로 | strncmp


strncmp

(PHP 4, PHP 5)

strncmp -- 처음 n 문자의 이진 호환 문자열 비교

설명

int strncmp ( string $str1, string $str2, int $len )

이 함수는 비교에 사용하는 각각의 문자열에서 (길이를 제한하는) 문자 수(len)를 지정할 수 있는 차이를 제외하면, strcmp()와 동일합니다.

str1이 str2보다 작으면 < 0을; str1이 str2보다 크면 > 0을, 같으면 0을 반환합니다.

이 비교가 대소문자를 구별하는 점에 주의하십시오.

참고: ereg(), strncasecmp(),
strcasecmp(), substr(),
stristr(), strcmp(),
strstr().

이전 | 위로 | 다음
strncasecmp | 처음으로 | strpbrk


strpbrk

(PHP 5)

strpbrk -- Search a string for any of a set of characters

설명

string strpbrk ( string $haystack, string $char_list )

strpbrk() searches the haystack string for a char_list.

매개변수

haystack

The string where char_list is looked for.

char_list

This parameter is case sensitive.

반환값

Returns a string starting from the character found, or FALSE if it is not found.

예제

예 2343. strpbrk() example

<?php

$text = 'This is a Simple text.';

// this echoes "is is a Simple text." because 'i' is matched first
echo strpbrk($text, 'mi');

// this echoes "Simple text." because chars are case sensitive
echo strpbrk($text, 'S');
?>

이전 | 위로 | 다음
strncmp | 처음으로 | strpos


strpos

(PHP 4, PHP 5)

strpos -- 문자열이 처음 나타나는 위치를 찾습니다.

설명

int strpos ( string $haystack, string $needle [, int $offset] )

haystack 문자열에서 needle이 처음 나타나는 수 위치를 반환합니다. strrpos()와는 달리, 이 함수는 needle 인자로 완전한 문자열을 받아서 전체 문자열을 사용합니다.

needle을 발견하지 못하면, strpos()는 boolean FALSE를 반환합니다.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

예 2344. strpos() 예제

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// ===를 사용하는 점에 주의하십시오. ==는 'a'가 0번째
// (처음) 문자이기에 기대하는 대로 작동하지 않습니다.
if ($pos === false) {
    echo "'$findme' 문자열을 '$mystring' 문자열에서 찾지 못했습니다.";
} else {
    echo "'$findme' 문자열을 '$mystring' 문자열에서 찾았습니다.";
    echo "위치 $pos에 존재합니다.";
}

// offset 전의 모든걸 무시하고 문자를 찾을 수 있습니다.
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>

needle이 문자열이 아니라면, 정수로 변환하여 해당하는 값의 문자를 적용합니다.

선택적인 offset 인자로 haystack에서 검색을 시작할 문자 위치를 지정할 수 있습니다. 반환하는 위치는 여전히 haystack의 시작 위치로부터 세어집니다.

참고: strrpos(),
stripos(),
strripos(),
strrchr(),
substr(),
stristr(),
strstr().

이전 | 위로 | 다음
strpbrk | 처음으로 | strrchr


strrchr

(PHP 4, PHP 5)

strrchr -- 문자열에서 문자가 마지막으로 나오는 부분을 찾습니다.

설명

string strrchr ( string $haystack, string $needle )

이 함수는 needle가 마지막으로 나오는 위치부터 haystack의 마지막까지의 haystack 문자열 부분을 반환합니다.

needle이 발견되지 않으면, FALSE를 반환합니다.

needle이 한 문자 이상을 포함하고 있으면, 첫번째 문자를 사용합니다.

needle이 문자열이 아닐 경우, 정수형으로 변환하여 그 수에 해당하는 문자를 적용합니다.

예 2345. strrchr() 예제

<?php
// $PATH에서 마지막 디렉토리를 얻는다.
$dir = substr(strrchr($PATH, ":"), 1);

// 마지막 줄바꿈 다음의 문자열을 얻는다.
$text = "줄 1\n줄 2\n줄 3";
$last = substr(strrchr($text, 10), 1);
?>

참고: strchr(), substr(), stristr(), strstr().

이전 | 위로 | 다음
strpos | 처음으로 | strrev


strrev

(PHP 4, PHP 5)

strrev -- 문자열을 뒤집습니다.

설명

string strrev ( string $string )

뒤집은 string을 반환합니다.

예 2346. strrev()를 사용하여 문자열 뒤집기

<?php
echo strrev("Hello world!"); // "!dlrow olleH"를 출력
?>

이전 | 위로 | 다음
strrchr | 처음으로 | strripos


strripos

(PHP 5)

strripos -- 문자열에서 대소문자 구별 없이 문자열이 나타나는 마지막 위치를 찾습니다.

설명

int strripos ( string $haystack, string $needle [, int $offset] )

haystack 문자열에서 마지막으로 needle가 나타나는 숫자 위치를 반환합니다. strrpos()와는 달리, strripos()는 대소문자를 구별하지 않습니다. 문자열 위치는 1이 아닌, 0에서 시작하는 점에 주의하십시오.

needle은 하나 이상의 문자를 가지는 문자열이여야 합니다.

needle이 발견되지 않으면, FALSE를 반환합니다.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 "" 등의 FALSE로 취급할 수 있는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

예 2347. 간단한 strripos() 예제

<?php
$haystack = 'ababcd';
$needle   = 'aB';

$pos      = strripos($haystack, $needle);

if ($pos === false) {
    echo "($haystack)에서 ($needle)를 찾지 못했습니다.";
} else {
    echo "축하합니다!\n";
    echo "($haystack)의 위치 ($pos)에서 마지막 ($needle)를 찾았습니다.";
}
?>

출력:

   축하합니다!
   (ababcd)의 위치 (2)에서 마지막 (aB)를 찾았습니다.

offset 인수는 문자열에서 찾기 시작할 위치를 지정합니다. 음수는 문자열의 마지막으로부터 해당 위치에서 검색을 중단합니다.

참고: strrpos(),
strrchr(),
substr(), stripos(),
stristr().

이전 | 위로 | 다음
strrev | 처음으로 | strrpos


strrpos

(PHP 4, PHP 5)

strrpos -- 문자열에서 마지막 문자의 위치를 찾습니다.

설명

int strrpos ( string $haystack, string $needle [, int $offset] )

haystack 문자열에서 마지막으로 나오는 needle의 위치를 수로 반환합니다. PHP 4에서 needle은 하나의 문자만 사용할 수 있습니다. 문자열을 needle로 전달하면, 문자열의 첫번째 문자만을 사용합니다.

needle이 발견되지 않으면, FALSE를 반환합니다.

"문자를 위치 0에서 찾았습니다"와 "문자를 존재하지 않습니다"의 반환값을 혼동하기 쉽습니다. 두개의 차이를 확인하는 방법입니다:

<?php

// PHP 4.0b3 이상:
$pos = strrpos($mystring, "b");
if ($pos === false) { // 주의: 등호 3개
    // 발견되지 않았습니다...
}

// 4.0b3 미만:
$pos = strrpos($mystring, "b");
if (is_bool($pos) && !$pos) {
    // 발견되지 않았습니다...
}
?>

needle가 문자열이 아니면, 정수형으로 변환하여 해당하는 코드의 문자를 적용합니다.

참고: PHP 5.0.0부터 offset으로 문자열에서 찾기 시작할 위치를 지정할 수 있습니다. 음수는 문자열 마지막으로부터 해당 위치에서 찾기를 멈춥니다.

참고: PHP 5.0.0부터 needle은 하나의 문자 이상을 다룹니다.

참고: strpos(),
strripos(),
strrchr(),
substr(),
stristr(),
strstr().

이전 | 위로 | 다음
strripos | 처음으로 | strspn


strspn

(PHP 4, PHP 5)

strspn -- 마스크에 매칭되는 초기 세그먼트의 길이를 찾는다.

설명

int strspn ( string $str1, string $str2 )

str2 안의 모든 문자들을 가지는 str1의 초기 세그먼트의 길이를 반환합니다.

간단한 코드:

<?php
$var = strspn ("42 is the answer, what is the question ...", "1234567890");
?>

문자열 "42"가 "1234567890"으로 구성되는 가장 긴 세그먼트이기에, $var에 2가 들어갑니다.

참고: strcspn().

이전 | 위로 | 다음
strrpos | 처음으로 | strstr


strstr

(PHP 4, PHP 5)

strstr -- 문자열이 처음으로 나타나는 부분을 찾습니다.

설명

string strstr ( string $haystack, string $needle )

needle에서 haystack이 처음 발견된 곳부터 끝까지의 부분 문자열을 반환합니다.

needle이 발견되지 않으면, FALSE를 반환합니다.

needle이 문자열이 아니라면, 정수형으로 변환하여 그 수에 해당하는 문자를 적용합니다.

참고: 이 함수는 대소문자를 구별합니다. 구별하지 않으려면, stristr()을 사용하십시오.

예 2348. strstr() 예제

<?php
$email = 'user@example.com';
$domain = strstr($email, '@');
echo $domain; // @example.com 을 출력.
?>

참고: needle이 haystack에 존재하는지만을 확인하려 한다면, 더 빠르고 메모리를 적게 쓰는 strpos() 함수를 사용하십시오.

참고: ereg(), preg_match(),
strchr(), stristr(),
strpos(), strrchr(),
substr().

이전 | 위로 | 다음
strspn | 처음으로 | strtok


strtok

(PHP 4, PHP 5)

strtok -- 문자열을 토큰화 합니다.

설명

string strtok ( string $arg1, string $arg2 )

strtok()는 arg2안의 어떠한 문자를 기준으로 하여, 문자열(arg1)을 작은 문자열들(토큰)로 나눕니다. 즉, "This is an example string"이라는 문자열이 있을 때, 공백 문자를 사용하여 각각의 단어를 토큰으로 만들 수 있습니다.

예 2349. strtok() 예제

<?php
$string = "This is\tan example\nstring";
/* 탭과 줄바꿈도 토큰화 문자열로 사용합니다. */
$tok = strtok($string, " \n\t");
while ($tok) {
    echo "단어=$tok<br />";
    $tok = strtok(" \n\t");
}
?>

처음 strtok를 호출할 때만 문자열 인자를 사용하는 점에 주의하십시오. 이후의 모든 strtok 호출은 토큰만 사용하며, strtok는 현재 문자열을 계속해서 추적합니다. 새로 시작하거나, 새로운 문자열을 토큰화 하려면 간단히 strtok를 그 문자열로 다시 초기화하십시오. 토큰 인자로 여러 문자를 넣을 수 있는 점에 주의하십시오. 문자열은 그 중의 어떠한 하나라도 발견하였을때 토큰이 됩니다.

빈 부분을 발견하였을때 동작이 PHP 4.1.0에서 바뀌었습니다. 이전의 동작은 빈 문자열을 반환하였지만, 새로운, 올바른 동작은 그 문자열 부분을 넘어갑니다.

예 2350. 이전 strtok() 동작

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>

출력:

    string(0) ""
    string(9) "something"

예 2351. 새로운 strtok() 동작

<?php
$first_token  = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>

출력:

    string(9) "something"
    bool(false)

토큰이 "0"일수 있는 점에 주의하십시오. 이는 조건문에서 FALSE로 판단합니다.

참고: split() explode().

이전 | 위로 | 다음
strstr | 처음으로 | strtolower


strtolower

(PHP 4, PHP 5)

strtolower -- 문자열을 소문자로 만듭니다.

설명

string strtolower ( string $str )

string의 모든 알파벳을 소문자로 바꾼 문자열을 반환합니다.

'알파벳'은 현재 로케일에 의해 정해집니다. 즉, 기본값인 "C" 로케일에서는 umlaut-A (?) 등의 문자는 변환하지 않습니다.

예 2352. strtolower() 예제

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtolower($str);
echo $str; // mary had a little lamb and she loved it so 를 출력합니다.
?>

참고: strtoupper(), ucfirst(), ucwords(), mb_strtolower().

이전 | 위로 | 다음
strtok | 처음으로 | strtoupper


strtoupper

(PHP 4, PHP 5)

strtoupper -- 문자열을 대문자로 만듭니다.

설명

string strtoupper ( string $string )

string의 모든 알파벳을 대문자로 바꾼 문자열을 반환합니다.

'알파벳'은 현재 로케일에 의해 정해집니다. 즉, 기본값인 "C" 로케일에서는 umlaut-a(?) 등의 문자는 변환하지 않습니다.

예 2353. strtoupper() 예제

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper ($str);
echo $str; // MARY HAD A LITTLE LAMB AND SHE LOVED IT SO 를 출력합니다.
?>

참고: strtolower(), ucfirst(), ucwords(), mb_strtoupper().

이전 | 위로 | 다음
strtolower | 처음으로 | strtr


strtr

(PHP 4, PHP 5)

strtr -- 특정 문자를 번역한다.

설명

string strtr ( string $str, string $from, string $to )

이 함수는 str에 대해 from에 표함되는 각각의 문자를 to에 있는 대응되는 문자로 번역하고 그 결과를 반환한다.

from과 to가 다른 길이일 때 둘 중 긴 문자열의 나머지 문자들은 무시된다.

예 2354. strtr() 예

$addr = strtr($addr, "?", "aao");

strtr()은 단지 두개의 인자를 가질 수 도 있다. 만약 두개의 인자만 가지고 호출된다면 새로운 방식으로 동작한다.: 이때 from은 소스에서 변환 될 문자열 -> 문자열 쌍을 갖는 배열이어야 한다. strtr()은 항상 처음에 가장 긴 번역 가능한 매치를 찾고 그 후 이미 번역된 것은 다시 치환하려고 하지 않을 것이다.

예:

$trans = array ("hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans) . "\n";
This will show: "hello all, I said hi",

참고: 두 인수를 이용하는 방법은 PHP 4.0 에서 추가되었다.

ereg_replace()를 참고하라.

이전 | 위로 | 다음
strtoupper | 처음으로 | substr_compare


substr_compare

(PHP 5)

substr_compare -- Binary safe comparison of 2 strings from an offset, up to length characters

설명

int substr_compare ( string $main_str, string $str, int $offset [, int $length [, bool $case_insensitivity]] )

substr_compare() compares main_str from position offset with str up to length characters.

매개변수

main_str

str

offset

The start position for the comparison. If negative, it starts counting from the end of the string.

length

The length of the comparison.

case_insensitivity

If case_insensitivity is TRUE, comparison is case insensitive.

반환값

Returns < 0 if main_str from position offset is less than str, > 0 if it is greater than str, and 0 if they are equal. If length is equal or greater than length of main_str and length is set, substr_compare() prints warning and returns FALSE.

변경 기록

버전 | 설명
5.1.0 | Added the possibility to use a negative offset.

예제

예 2355. A substr_compare() example

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // warning
?>

이전 | 위로 | 다음
strtr | 처음으로 | substr_count


substr_count

(PHP 4, PHP 5)

substr_count -- 부분문자열의 수를 센다

설명

int substr_count ( string $haystrack, string $needle )

substr_count()은 haystack 문자열에 있는 needle 부분 문자열의 수를 반환한다.

예 2356. substr_count() 예

print substr_count("This is a test", "is"); // 2를 출력한다.

이전 | 위로 | 다음
substr_compare | 처음으로 | substr_replace


substr_replace

(PHP 4, PHP 5)

substr_replace -- 문자열의 일부를 치환한다.

설명

string substr_replace ( string $string, string $replacement, int $start [, int $ length ] )

substr_replace() 는 string의 start 와 (선택적으로) length로 정해진 구간에 해당하는 부분을 replacement로 치환하고 그 결과를 반환한다.

start가 양수라면 string의 start번째 치환이 일어난다.

start가 음수라면, string의 끝에서 부터 start번째 문자까지의 문자열을 치환한다.

length이 양수라면, 이는 치환 될 string의 일부분의 길이를 나타낸다. 만약 음수라면, string의 끝에서 부터의 문자의 수를 나타낸다. 만약 주어지지 않는다면 기본 값으로 strlen(string) 즉, string의 끝에서 치환이 끝남을 의미한다.

예 2357. substr_replace() 예

<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr>\n";

/* 다음 두가지 예는 $var의 모든 문자열을  'bob'으로 치환한다. */
echo substr_replace ($var, 'bob', 0) . "<br>\n";
echo substr_replace ($var, 'bob', 0, strlen ($var)) . "<br>\n";

/* $var의 첫부분에 'bob' 을 삽입한다. */
echo substr_replace ($var, 'bob', 0, 0) . "<br>\n";

/* 다음 두 에는 $var 내의 'MNRPQR' 을  'bob'으로 치환한다. */
echo substr_replace ($var, 'bob', 10, -1) . "<br>\n";
echo substr_replace ($var, 'bob', -7, -1) . "<br>\n";

/* $var로 부터'MNRPQR' 을 지운다. */
echo substr_replace ($var, '', 10, -1) . "<br>\n";
?>

str_replace() 그리고 substr()을 참고하라.

참고: substr_replace() 는 PHP 4.0에서 추가되었다.

이전 | 위로 | 다음
substr_count | 처음으로 | substr


substr

(PHP 4, PHP 5)

substr -- 문자열의 일부를 반환한다.

설명

string substr ( string $string, int $start [, int $ length ] )

Substr은 start와 length 매개변수에 의해 지정된 string 문자열의 일부를 반환한다.

만약 start양수라면, 반환되는 문자열은 0부터 시작되는 string의 start번째 위치에서 시작하는 문자열이 될 것이다. 예를 들어 문자열 'abcdef'이 있다고 하자. 0의 위치에 있는 문자는 'a'가 되고, 2의 위치에 있는 문자는 'c'가 되는 식이다.

예:

$rest = substr ("abcdef", 1);    //  "bcdef" 을 반환한다.
$rest = substr ("abcdef", 1, 3); //  "bcd" 을 반환한다.

만약 start가 음수라면, 반환되는 문자열은 string의 끝에서부터 start번째 부터 시작하는 문자열이 된다.

예:

$rest = substr ("abcdef", -1);    // "f" 를 반환
$rest = substr ("abcdef", -2);    // "ef" 를 반환
$rest = substr ("abcdef", -3, 1); // "d" 를 반환

만약 length이 주어지고 양의 값이라면, 반환되는 문자열은 start에서 시작해서 length에서 끝나는 문자열이 될 것이다. 만약 (시작이 문자열의 끝을 지나기 때문에) 문자열이 음의 길이를 갖는 결과가 된다면, 반환되는 문자열은 start의 문자 하나가 될 것이다. (역자주: 빈문자열이 출력된다.)

만약 length이 음의 값이라면, 스트링의 끝에서 부터 시작해서 length의 위치에 있는 문자가 반환되는 문자열의 끝이 되는 문자열이 된다. 만약 문자열이 음의 길이를 갖는 결과가 나온다면, 반환되는 문자열은 start의 문자 하나가 될 것이다. (역자주: 빈문자열이 출력된다.)

예:

$rest = substr ("abcdef", 1, -1); // "bcde"를 반환한다.

strrchr() 그리고 ereg()를 참고하라.

이전 | 위로 | 다음
substr_replace | 처음으로 | trim


trim

(PHP 4, PHP 5)

trim -- 문자열의 처음과 끝에 있는 공백을 제거한다.

설명

string trim ( string $str )

이 함수는 문자열의 처음과 끝에 있는 공백문자를 제거하고 이 문자열을 반환한다. 공백문자라 함은 "\n", "\r", "\t", "\v", "\0", 그리고 공백을 말한다.

chop(), rtrim() 그리고 ltrim()을 참고하라.

이전 | 위로 | 다음
substr | 처음으로 | ucfirst


ucfirst

(PHP 4, PHP 5)

ucfirst -- 문자열의 처음 글자를 대문자로 만든다.

설명

string ucfirst ( string $str )

만약 문자열 str의 처음 문자가 알파벳이라면, 그 처음 글자를 대문자로 만든다.

'알파벳'은 현재 로케일에 의해 정의된다. 예를들면 로케일 디폴트가 "C" 로케일로 되어 있을 경우 umlaut-a(? 같은 문자는 바뀌지 않는다.

예 2358. ucfirst() 예

$text = 'mary had a little lamb and she loved it so.';
$text = ucfirst ($text); // $text 는 Mary had a little lamb
                         // and she loved it so. 로 바뀐다.

strtoupper() 그리고 strtolower()을 참고하라.

이전 | 위로 | 다음
trim | 처음으로 | ucwords


ucwords

(PHP 4, PHP 5)

ucwords -- 문자열에 있는 각 단어의 처음 글자를 대문자로 바꾼다.

설명

string ucwords ( string $str )

str의 각각의 단어의 첫문자가 알파벳이라면 그 글자를 대문자로 바꾼다.

예 2359. ucwords() 예

$text = "mary had a little lamb and she loved it so.";
$text = ucwords($text); // $text 는 : Mary Had A Little
                        // Lamb And She Loved It So. 이 된다.

참고: 단어의 정의는 뒤에 화이트스페이스가 올 때 까지의 문자를 말한다. (화이트스페이스란 공백, 폼피드, 누라인, 케리지리턴, 수직탭, 수평탭 을 일컫는다.)

strtoupper(), strtolower() 그리고 ucfirst()을 참고하라.

이전 | 위로 | 다음
ucfirst | 처음으로 | vfprintf


vfprintf

(PHP 5)

vfprintf -- Write a formatted string to a stream

설명

int vfprintf ( resource $handle, string $format, array $args )

Write a string produced according to format to the stream resource specified by handle.

Operates as fprintf() but accepts an array of arguments, rather than a variable number of arguments.

매개변수

handle

format

See sprintf() for a description of format.

args

반환값

Returns the length of the outputted string.

예제

예 2360. vfprintf(): zero-padded integers

<?php
if (!($fp = fopen('date.txt', 'w')))
    return;

vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// will write the formatted ISO date to date.txt
?>

참고

printf()
sprintf()
sscanf()
fscanf()
vsprintf()
number_format()

이전 | 위로 | 다음
ucwords | 처음으로 | vprintf


vprintf

(PHP 4 >= 4.0.7, PHP 5)

vprintf -- Output a formatted string

설명

int vprintf ( string $format, array $args )

Display array values as a formatted string according to format (which is described in the documentation for sprintf()).

Operates as printf() but accepts an array of arguments, rather than a variable number of arguments.

매개변수

format

args

반환값

Returns the length of the outputted string.

참고

printf()
sprintf()
vsprintf()

이전 | 위로 | 다음
vfprintf | 처음으로 | vsprintf


vsprintf

(PHP 4 >= 4.0.7, PHP 5)

vsprintf -- Return a formatted string

설명

string vsprintf ( string $format, array $args )

Operates as sprintf() but accepts an array of arguments, rather than a variable number of arguments.

매개변수

format

args

반환값

Return array values as a formatted string according to format (which is described in the documentation for sprintf()).

참고

sprintf()
vprintf()

이전 | 위로 | 다음
vprintf | 처음으로 | wordwrap


wordwrap

(PHP 4 >= 4.0.2, PHP 5)

wordwrap -- 정지문자를 이용해 주어진 수 만큼의 문자를 래핑한다.

설명

string wordwrap ( string $str [, int $ width [, string $ break [, int $ cut ]]] )

str문자열을 width 매개변수의 지정된 길이만큼(선택적) 랩핑한다. 줄은 break 매개변수(선택적)에 의해 분리된다.

wordwrap()은 자동적으로 75컬럼에서 랩을 하며, 브레이크로는 '\n'(뉴라인)을 사용한다.

cut이 1로 지정되면, 문자열은 항상 지정된 길이로 랩핑되며, 주어진 넓이보다 더 긴 단어가 있다면, 그 단어는 나누어 진다.(두번째 예제를 보라) (See second example).

참고: cut 매개변수는 PHP 4.0.3 에서 추가되었다.

예 2361. wordwrap() 예

$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap( $text, 20 );

echo "$newtext\n";

이 예는 다음을 출력한다.:

The quick brown fox
jumped over the lazy dog.

예 2362. wordwrap() 예

$text = "A very long woooooooooooord.";
$newtext = wordwrap( $text, 8, "\n", 1);

echo "$newtext\n";

이 예는 다음을 출력한다.:

A very
long
wooooooo
ooooord.

nl2br()를 참고하라.

이전 | 위로 | 다음
vsprintf | 처음으로 | CLXII. Subversion 함수


Sybase Functions

이전 VI. 함수 레퍼런스 다음

CLXV. Sybase Functions

소개

요구 조건

설치

To enable Sybase-DB support configure PHP --with-sybase[=DIR]. DIR is the Sybase home directory, defaults to /home/sybase. To enable Sybase-CT support configure PHP --with-sybase-ct[=DIR]. DIR is the Sybase home directory, defaults to /home/sybase.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 310. Sybase configuration options

Name | Default | Changeable | Changelog
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.interface_file | "/usr/sybase/interfaces" | PHP_INI_SYSTEM |
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.compatability_mode | "0" | PHP_INI_ALL |
magic_quotes_sybase | "0" | PHP_INI_ALL | Removed in PHP 6.0.0.

위 설정 지시어에 대한 간단한 설명입니다.

sybase.allow_persistent boolean

Whether to allow persistent Sybase connections.

sybase.max_persistent integer

The maximum number of persistent Sybase connections per process. -1 means no limit.

sybase.max_links integer

The maximum number of Sybase connections per process, including persistent connections. -1 means no limit.

sybase.min_error_severity integer

Minimum error severity to display.

sybase.min_message_severity integer

Minimum message severity to display.

sybase.compatability_mode boolean

Compatibility mode with old versions of PHP 3.0. If on, this will cause PHP to automatically assign types to results according to their Sybase type, instead of treating them all as strings. This compatibility mode will probably not stay around forever, so try applying whatever necessary changes to your code, and turn it off.

magic_quotes_sybase boolean

If magic_quotes_sybase is on, a single-quote is escaped with a single-quote instead of a backslash if magic_quotes_gpc or magic_quotes_runtime are enabled.

참고: Note that when magic_quotes_sybase is ON it completely overrides magic_quotes_gpc . In this case even when magic_quotes_gpc is enabled neither double quotes, backslashes or NUL's will be escaped.

표 311. Sybase-CT configuration options

Name | Default | Changeable | Changelog
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.min_server_severity | "10" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.min_client_severity | "10" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.hostname | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Available since PHP 4.3.0.

위 설정 지시어에 대한 간단한 설명입니다.

sybct.allow_persistent boolean

Whether to allow persistent Sybase-CT connections. The default is on.

sybct.max_persistent integer

The maximum number of persistent Sybase-CT connections per process. The default is -1 meaning unlimited.

sybct.max_links integer

The maximum number of Sybase-CT connections per process, including persistent connections. The default is -1 meaning unlimited.

sybct.min_server_severity integer

Server messages with severity greater than or equal to sybct.min_server_severity will be reported as warnings. This value can also be set from a script by calling sybase_min_server_severity(). The default is 10 which reports errors of information severity or greater.

sybct.min_client_severity integer

Client library messages with severity greater than or equal to sybct.min_client_severity will be reported as warnings. This value can also be set from a script by calling sybase_min_client_severity(). The default is 10 which effectively disables reporting.

sybct.login_timeout integer

The maximum time in seconds to wait for a connection attempt to succeed before returning failure. Note that if max_execution_time has been exceeded when a connection attempt times out, your script will be terminated before it can take action on failure. The default is one minute.

sybct.timeout integer

The maximum time in seconds to wait for a select_db or query operation to succeed before returning failure. Note that if max_execution_time has been exceeded when an operation times out, your script will be terminated before it can take action on failure. The default is no limit.

sybct.hostname string

The name of the host you claim to be connecting from, for display by sp_who. The default is none.

sybct.deadlock_retry_count int

Allows you to define how often deadlocks are to be retried. The default is -1, or "forever".

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

sybase_affected_rows -- 가장 최근 쿼리에 의해 적용된 데이타 수를 구한다.
sybase_close -- Sybase서버로의 연결을 종료한다.
sybase_connect -- Sybase server로 연결한다.
sybase_data_seek -- move internal row pointer 내부 결과 데이타셋내의 위치 포인터를 이동한다.
sybase_deadlock_retry_count -- Sets the deadlock retry count
sybase_fetch_array -- 데이타를 배열로서 가져온다.
sybase_fetch_assoc -- Fetch a result row as an associative array
sybase_fetch_field -- 데이타 셋의 필드 정보를 얻는다.
sybase_fetch_object -- 객체타입으로 데이타를 추출한다.
sybase_fetch_row -- 배열로 데이타를 추출한다.(인덱스는 숫자 타입이다.)
sybase_field_seek -- 필드 offset(위치값)을 정한다.(이동한다.)
sybase_free_result -- 추출된 데이타가 저장된 메모리를 해제한다.
sybase_get_last_message -- 서버로부터온 최종 메세지를 반환한다.
sybase_min_client_severity -- 클라이언트의 최소 가혹 레벨을 정한다.
sybase_min_error_severity -- 최저 가혹 에러 레벨을 정한다.
sybase_min_message_severity -- 최저 메시지 가혹 레벨을 정한다.
sybase_min_server_severity -- 최저 서버 가혹 레베을 정한다.
sybase_num_fields -- 결과 데이타셋에서 필드수를 구한다.
sybase_num_rows -- 결과값의 데이타(열)수를 구한다.
sybase_pconnect -- Sybase 서버로의 영속적인(persistent) 연결을 만든다.
sybase_query -- Sybase서버에 query(쿼리)를 보낸다.
sybase_result -- 결과 데이타를 추출한다.
sybase_select_db -- 사용할 database를 선택한다.
sybase_set_message_handler -- Sets the handler called when a server message is raised
sybase_unbuffered_query -- Send a Sybase query and do not block
이전 | 위로 | 다음
SwishSearch->setStructure | 처음으로 | sybase_affected_rows


sybase_affected_rows

(PHP 4, PHP 5)

sybase_affected_rows -- 가장 최근 쿼리에 의해 적용된 데이타 수를 구한다.

Description

int sybase_affected_rows ( [int $ link_identifier ] )

가장 최근 쿼리에서 적용된 데이타(줄)수를 반환합니다.

sybase_affected_rows() 함수는 link_identifier에 정의된 특정 링크로 서버에 접속된 'INSERT, UPDATE or DELETE' 쿼리에 영향을 받은 데이타의 수를 반환합니다. 만약 link identifier가 정의되지 않으면 가장 최근에 열린 링크로 가정한다.

이 명령은 'SELECT' 구문에는 영향을 받지 않는다. 단지 데이타를 수정하는 구문에만 영향을 받는다. 'SELECT' 구문에 적용된 데이타수를 알려면 sybase_num_rows()함수를 사용한면 된다.

참고: 이 함수는 DB 라이브러리 인터페이스가 아닌 CT라이브러리 인터페이스에서만 사용이 가능하다.

이전 | 위로 | 다음
CLXV. Sybase Functions | 처음으로 | sybase_close


sybase_close

(PHP 4, PHP 5)

sybase_close -- Sybase서버로의 연결을 종료한다.

Description

bool sybase_close ( int $link_identifier )

연결에 성공하면 'TRUE'를 실패하면 'error'를 반환한다.

sybase_close() 는 link identifier에 의해 생성된 Sybase database에의 접속을 종료한다. 만약 link identifier가 정의되어 있지 않다면, 마지막으로 연결된 링크로 가정한다.

Note that this isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution. 주의해야 할 점은 스크립트 종료시 링크가 Persistent link가 아닌 경우에는 링크가 자동으로 종료된다는 점이다.

sybase_close() 함수는 sybase_pconnect()함수에 의해 생성된 Persistent link는 종료시키지 않는다.

See also: sybase_connect(), sybase_pconnect().

이전 | 위로 | 다음
sybase_affected_rows | 처음으로 | sybase_connect


sybase_connect

(PHP 4, PHP 5)

sybase_connect -- Sybase server로 연결한다.

Description

int sybase_connect ( string $servername, string $username, string $password [, string $ charset ] )

수행이 성공적으로 이루어지면 양수의 Sybase link identifier(식별자)가 반환되며, 에러가 발생하면 FALSE가 반환된다.

sybase_connect() 함수는 Sybase 서버로 연결하는 함수이다. "servername" 인자는 'interface'파일에 의해 정의된 실제 servername이여야 한다.

만약 sybase_connect()함수가 같은 인자를 가지고 두번 호출된다면, 새로운 연결이 생성되는 대신에 먼저 열렸던 link identifier(식별자)가 반환된다.

스크립트의 실행이 끝나자 마자 서버로의 링크는 끝나게 된다. 그렇지 않다면 sybase_close()함수에 의해 이전에 종료된 것이다.

See also sybase_pconnect(), sybase_close().

이전 | 위로 | 다음
sybase_close | 처음으로 | sybase_data_seek


sybase_data_seek

(PHP 4, PHP 5)

sybase_data_seek -- move internal row pointer 내부 결과 데이타셋내의 위치 포인터를 이동한다.

Description

bool sybase_data_seek ( int $result_identifier, int $row_number )

수행 성공시 'TRUE', 실패시 'FALSE'를 반환한다.

sybase_data_seek() 함수는 result_identifire에 의해 정의된 결과 데이타셋의 위치 포인터를 row_number 의 위치로 이동한다. 이후, sybase_fetch_row()함수가 호출되면 이동한 위치의 데이타를 읽어올수 있다.

See also: sybase_data_seek().

이전 | 위로 | 다음
sybase_connect | 처음으로 | sybase_deadlock_retry_count


sybase_deadlock_retry_count

(PHP 4 >= 4.3.0, PHP 5)

sybase_deadlock_retry_count -- Sets the deadlock retry count

설명

void sybase_deadlock_retry_count ( int $retry_count )

Using sybase_deadlock_retry_count(), the number of retries can be defined in cases of deadlocks. By default, every deadlock is retried an infinite number of times or until the process is killed by Sybase, the executing script is killed (for instance, by set_time_limit()) or the query succeeds.

매개변수

retry_count

표 312. Values for retry_count

-1 | Retry forever (default)
0 | Do not retry
n | Retry n times

반환값

값을 반환하지 않습니다.

주의

참고: 이 함수는 Sybase를 CT 라이브러리 인터페이스로 이용할 때만 사용할 수 있으며, DB 라이브러리로는 사용할 수 없습니다.

이전 | 위로 | 다음
sybase_data_seek | 처음으로 | sybase_fetch_array


sybase_fetch_array

(PHP 4, PHP 5)

sybase_fetch_array -- 데이타를 배열로서 가져온다.

Description

array sybase_fetch_array ( int $result )

결과값으로는 추출된 데이타가 배열로 반환되며, 추출된 데이타가 없을 경우에는 'FALSE'이 반환된다.

sybase_fetch_array()함수는 sybase_fetch_row()의 확장버젼이다. 게다가 이 함수는 결과 배열의 숫자인덱스뿐만 아니라 필드 값을 배열의 인덱스로 가진 배열을 반환하다.

비록 sybase_fetch_array() 함수가 특정 값(필드값을 인덱스로 가짐)을 추가되었다 하더라고 sybase_fetch_row()함수에 비해 눈에 띌만큼 느리진 않다.

For further details, also see sybase_fetch_row()

이전 | 위로 | 다음
sybase_deadlock_retry_count | 처음으로 | sybase_fetch_assoc


sybase_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

sybase_fetch_assoc -- Fetch a result row as an associative array

설명

array sybase_fetch_assoc ( resource $result )

sybase_fetch_assoc() is a version of sybase_fetch_row() that uses column names instead of integers for indices in the result array. Columns from different tables with the same names are returned as name, name1, name2, ..., nameN.

An important thing to note is that using sybase_fetch_assoc() is NOT significantly slower than using sybase_fetch_row(), while it provides a significant added value.

매개변수

result

반환값

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

주의

참고: 이 함수는 Sybase를 CT 라이브러리 인터페이스로 이용할 때만 사용할 수 있으며, DB 라이브러리로는 사용할 수 없습니다.

참고

sybase_fetch_row()
sybase_fetch_array()
sybase_fetch_object()

이전 | 위로 | 다음
sybase_fetch_array | 처음으로 | sybase_fetch_field


sybase_fetch_field

(PHP 4, PHP 5)

sybase_fetch_field -- 데이타 셋의 필드 정보를 얻는다.

Description

object sybase_fetch_field ( int $result [, int $ field_offset ] )

field 값에 대한 정보를 가진 객체를 반환한다.

sybase_fetch_field() 함수는 특정 쿼리 결과값에서 필드에 정보를 얻는데 사용되어 진다. 만약 field_offet값이 정해지지 않으면 이전 sybase_fetch_field()함수에 의해 얻어진 필드의 다음 필드가 반환된다.

정보 객체의 내부 속성값들은 다음과 같다.

  • name - 이름 컬럼이다, 만약 컬럼이 함수의 결과값이면 이 속성은 계산된 #N값이고 이 #N은 serial number 이다.
  • column_source - 컬럼 값을 가져온 대상 table
  • max_length - 컬럼의 최대길이
  • numeric - 만약 컬럼이 숫자값이면 1을 가진다.
  • type - 컬럼의 datatype

See also sybase_field_seek()

이전 | 위로 | 다음
sybase_fetch_assoc | 처음으로 | sybase_fetch_object


sybase_fetch_object

(PHP 4, PHP 5)

sybase_fetch_object -- 객체타입으로 데이타를 추출한다.

Description

int sybase_fetch_object ( int $result )

성공적으로 수행되면 추출된 행에 관한 속성을 가진 객체를 반환하고, 추출된 행이 없으면 FALSE를 반환한다.

sybase_fetch_object() 함수는 배열 대신에 객체를 반환한다는 점 한가지 차이점을 빼놓고는 sybase_fetch_array()와 비슷하다. 달리 말해, 데이타에 접근하려면 반드시 필드 이름을 사용해야 하면 offset을 사용할 수 없다는 것이다.(속성이름으로서 숫자값은 사용되어 질수 없다.)

얼핏 보면 sybase_fetch_array() 와 비슷하게 빠른sybase_fetch_row() (차이점이 경미하다.)

See also: sybase_fetch-array() and sybase_fetch-row().

이전 | 위로 | 다음
sybase_fetch_field | 처음으로 | sybase_fetch_row


sybase_fetch_row

(PHP 4, PHP 5)

sybase_fetch_row -- 배열로 데이타를 추출한다.(인덱스는 숫자 타입이다.)

Description

array sybase_fetch_row ( int $result )

성공적으로 수행되면 추출된 데이타의 배열이 반환되고, 추출된 데이타가 없다면 'FALSE'가 반환된다.

sybase_fetch_row()는 특정 result identifier에 의한 결과에서 한 데이타 열를 추출한다. 그 데이타 열은 배열로 반환된다. 각 결과 컬럼은 0으로 시작하는 배열 인덱스값을 가진다.

두번째 이상으로 호출되는 sybase_fetch_rows()의 결과값은 결과값 셋에서 다음 행의 결과값이 반환되고, 더이상의 결과행이 없으면 FALSE를 반환한다.

See also: sybase_fetch_array(),
          sybase_fetch_object(),
          sybase_data_seek(),
          sybase_fetch_lengths(), and
          sybase_result().

이전 | 위로 | 다음
sybase_fetch_object | 처음으로 | sybase_field_seek


sybase_field_seek

(PHP 4, PHP 5)

sybase_field_seek -- 필드 offset(위치값)을 정한다.(이동한다.)

Description

int sybase_field_seek ( int $result, int $field_offset )

Seeks to the specified field offset. If the next call to sybase_fetch_field() won't include a field offset, this field would be returned. 특정 위치의 필드값을 찾는다. 만약, 이후에 sybase_fetch_field()함수가 다시 불려졌을 때의 반환 필드 offset을 가지지 못한다면, 이전에 추출된 필드값이 반환될 것이다.

See also: sybase_fetch_field().

이전 | 위로 | 다음
sybase_fetch_row | 처음으로 | sybase_free_result


sybase_free_result

(PHP 4, PHP 5)

sybase_free_result -- 추출된 데이타가 저장된 메모리를 해제한다.

Description

bool sybase_free_result ( int $result )

sybase_free_result()함수는 스크립트가 작동하는 동안에 너무 많은 메모리가 사용될 것이 걱정될 경우에만 사용되어진다. 스크립트가 끝날 경우에는 모든 결과값이 저잗되었던 메모리는 해제되기는 하지만, 인수로서 result identifier를 가진 함수 sybase_free_result()는 result identifier에 연관된 메모리를 해제 할 것이다.

이전 | 위로 | 다음
sybase_field_seek | 처음으로 | sybase_get_last_message


sybase_get_last_message

(PHP 4, PHP 5)

sybase_get_last_message -- 서버로부터온 최종 메세지를 반환한다.

Description

string sybase_get_last_message ( void $ )

sybase_get_last_message() 함수는 서버로부터 최종적으로 보고된 메세지를 반환한다.

이전 | 위로 | 다음
sybase_free_result | 처음으로 | sybase_min_client_severity


sybase_min_client_severity

(PHP 4, PHP 5)

sybase_min_client_severity -- 클라이언트의 최소 가혹 레벨을 정한다.

Description

void sybase_min_client_severity ( int $severity )

sybase_min_client_severity()함수는 최저 클라이언트 가혹 레벨을 정한다.

참고: 이 함수는 CT library interface 모드에서만 사용가능하고, DB library 모드에서는 사용할 수 없다.

See also: sybase_min_server_severity().

이전 | 위로 | 다음
sybase_get_last_message | 처음으로 | sybase_min_error_severity


sybase_min_error_severity

(PHP 4, PHP 5)

sybase_min_error_severity -- 최저 가혹 에러 레벨을 정한다.

Description

void sybase_min_error_severity ( int $severity )

sybase_min_error_severity()함수는 최저 에러 가혹 레벨을 정한다.

See also: sybase_min_message_severity().

이전 | 위로 | 다음
sybase_min_client_severity | 처음으로 | sybase_min_message_severity


sybase_min_message_severity

(PHP 4, PHP 5)

sybase_min_message_severity -- 최저 메시지 가혹 레벨을 정한다.

Description

void sybase_min_message_severity ( int $severity )

sybase_min_message_severity()함수는 최저 메시지 가혹 레벨을 정한다.

See also: sybase_min_error_severity().

이전 | 위로 | 다음
sybase_min_error_severity | 처음으로 | sybase_min_server_severity


sybase_min_server_severity

(PHP 4, PHP 5)

sybase_min_server_severity -- 최저 서버 가혹 레베을 정한다.

Description

void sybase_min_server_severity ( int $severity )

sybase_min_server_severity() 함수는 최저 서버 가혹 레벨을 정한다.

참고: 이 함수는 단지 CT library interface 모드에서만 사용이 가능하고 DB library interface 모드에서는 사용할 수 없다.

See also: sybase_min_client_severity().

이전 | 위로 | 다음
sybase_min_message_severity | 처음으로 | sybase_num_fields


sybase_num_fields

(PHP 4, PHP 5)

sybase_num_fields -- 결과 데이타셋에서 필드수를 구한다.

Description

int sybase_num_fields ( int $result )

sybase_num_fields()함수는 결과 셋에서 필드 수를 구해 반환한다.

See also:
sybase_db_query(),
sybase_query(),
sybase_fetch_field(),
sybase_num_rows().

이전 | 위로 | 다음
sybase_min_server_severity | 처음으로 | sybase_num_rows


sybase_num_rows

(PHP 4, PHP 5)

sybase_num_rows -- 결과값의 데이타(열)수를 구한다.

Description

int sybase_num_rows ( int $result )

sybase_num_rows()함수는 결과셋의 데이타(열)수를 반환한다.

See also:
sybase_db_query(),
sybase_query() and,
sybase_fetch_row().

이전 | 위로 | 다음
sybase_num_fields | 처음으로 | sybase_pconnect


sybase_pconnect

(PHP 4, PHP 5)

sybase_pconnect -- Sybase 서버로의 영속적인(persistent) 연결을 만든다.

Description

int sybase_pconnect ( string $servername, string $username, string $password [, string $ charset ] )

성공적으로 수행시 양수의 Sybase persistent link identifier(사이베이스 영속 연결 식별자)를 반환하고, 에러가 났을경우 FALSE를 반환한다.

sybase_pconnect()함수는 두가지 다른점을 제외하고는 sybase_connect()함수와 거의 같다.

첫째로 접속시 함수는 같은 host,username,password를 가진 열려있는 영속(persistent) 링크를 찾는다. 만약 발견되면 새로 연결하지 않고 발견된 연결의 identifier(식별자)가 반환된다.

두번째는 SQL 서버로의 연결이 스크립트가 끝났음에도 종료가 되지 않는다는 점이다. 대신에 그 연결은 나중에 사용된다. (sybase_pconnect()함수에 의해 생성된 연결은 sybase_close()함수에 의해 종료되지 않는다.)

그러므로 이러한 종류의 링크를 'persistent(영속적인)'이라고 표현한다.

이전 | 위로 | 다음
sybase_num_rows | 처음으로 | sybase_query


sybase_query

(PHP 4, PHP 5)

sybase_query -- Sybase서버에 query(쿼리)를 보낸다.

Description

int sybase_query ( string $query, int $link_identifier )

성공적으로 수행되면 양수의 Sybase result identifier(사이베이스 결과 식별자)가 반환되고, 에러가 발생하면 FALSE가 반환된다.

sybase_query()함수는 link_identifier 인수에 의해 정의된 연결로 현재 활동중인 서버의 database에 query(쿼리)를 보낸다. 만약 link identifier(연결 식별자)가 정의되어 있지 않다면 최근에 마지막으로 열린 링크로 가정한다. 만약 열려 있는 링크가 없다면 sybase_connect()함수가 호출된 것처럼 링크를 만들어 사용한다.

See also:
sybase_db_query(),
sybase_select_db(), and
sybase_connect().

이전 | 위로 | 다음
sybase_pconnect | 처음으로 | sybase_result


sybase_result

(PHP 4, PHP 5)

sybase_result -- 결과 데이타를 추출한다.

Description

string sybase_result ( int $result, int $row, mixed $field )

result 인수에 의한 특정 결과 셋에서 row 와 field 인수의 의해 정해진 특정한 하나의 셀의 내용을 반환한다.

sybase_result() 함수는 Sybase 결과 셋에서 한셀의 내용을 반환한다. field 인수는 필드의 offset(위치값) 또는 필드의 이름이거나, 필드의 테이블 점 필드의 이름의 형태(tablename.fieldname) 이다. 만약 컬럼 이름이 alias된다면 ('select foo as bar from...')형식으로 컬럼 이름 대신에 alias된 이름을 사용한다.

결과 셋의 크기가 클 경우, 한번 의 호출로 대용량의 데이타를 추출할수 있는 함수들을 사용하는 것을 고려해 보는 것이 좋을 것이다. 그 함수들은 sybase_result()합수보다 많이 빠르다. 또한 field 인수로 필드 이름이나 테이블이름.필드이름의 형태를 사용하는 것보다 숫자 offset(위치)값을 사용하는 것이 속도가 더 빠르다.

한꺼번에 대용량의 데이타를 추출할경우 다음의 함수를 추천한다.:
sybase_fetch_row(),
sybase_fetch_array(),
sybase_fetch_object().

이전 | 위로 | 다음
sybase_query | 처음으로 | sybase_select_db


sybase_select_db

(PHP 4, PHP 5)

sybase_select_db -- 사용할 database를 선택한다.

Description

bool sybase_select_db ( string $database_name, int $link_identifier )

성공적으로 수행시 TRUE를 반환하고, 에러 발생시 FALSE를 반환한다.

sybase_select_db함수는 link identifier함수에 의해 연결된 서버상의 (활성화된) 데이타베이스를 선택한다. 만약 link identifier인수가 없다면, sybase_connect()함수에 의해 호출된 것 과 같이 link를 생성하여 사용한다.

계속 이어져 호출되는 sybase_query()함수는 이전에 선택된 데이타베이스상에서 실행될 것이다.

See also:
    sybase_connect(),
    sybase_pconnect(), and
    sybase_query()

이전 | 위로 | 다음
sybase_result | 처음으로 | sybase_set_message_handler


sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handler -- Sets the handler called when a server message is raised

설명

bool sybase_set_message_handler ( callback $handler [, resource $connection] )

sybase_set_message_handler() sets a user function to handle messages generated by the server. You may specify the name of a global function, or use an array to specify an object reference and a method name.

매개변수

handler

The handler expects five arguments in the following order: message number, severity, state, line number and description. The first four are integers. The last is a string. If the function returns FALSE, PHP generates an ordinary error message.

connection

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
4.3.5 | The connection parameter was added.

예제

예 2398. sybase_set_message_handler() callback function

<?php
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

예 2399. sybase_set_message_handler() callback to a class

<?php
    class Sybase {
        function handler($msgnumber, $severity, $state, $line, $text)
        {
            var_dump($msgnumber, $severity, $state, $line, $text);
        }
    }

    $sybase= new Sybase();
    sybase_set_message_handler(array($sybase, 'handler'));
?>

예 2400. sybase_set_message_handler() unhandled messages

<?php
    // Return FALSE from this function to indicate you can't handle
    // this. The error is printed out as a warning, the way you're used
    // to it if there is no handler installed.
    function msg_handler($msgnumber, $severity, $state, $line, $text)
    {
        if (257 == $msgnumber) {
            return false;
        }
        var_dump($msgnumber, $severity, $state, $line, $text);
    }

    sybase_set_message_handler('msg_handler');
?>

주의

참고: 이 함수는 Sybase를 CT 라이브러리 인터페이스로 이용할 때만 사용할 수 있으며, DB 라이브러리로는 사용할 수 없습니다.

이전 | 위로 | 다음
sybase_select_db | 처음으로 | sybase_unbuffered_query


sybase_unbuffered_query

(PHP 4 >= 4.3.0, PHP 5)

sybase_unbuffered_query -- Send a Sybase query and do not block

설명

resource sybase_unbuffered_query ( string $query, resource $link_identifier [, bool $store_result] )

sybase_unbuffered_query() sends a query to the currently active database on the server that's associated with the specified link identifier. If the link identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if sybase_connect() was called, and use it.

Unlike sybase_query(), sybase_unbuffered_query() reads only the first row of the result set. sybase_fetch_array() and similar function read more rows as needed. sybase_data_seek() reads up to the target row. The behavior may produce better performance for large result sets.

sybase_num_rows() will only return the correct number of rows if all result sets have been read. To Sybase, the number of rows is not known and is therefore computed by the client implementation.

참고: If you don't read all of the resultsets prior to executing the next query, PHP will raise a warning and cancel all of the pending results. To get rid of this, use sybase_free_result() which will cancel pending results of an unbuffered query.

매개변수

query

link_identifier

store_result

The optional store_result can be FALSE to indicate the resultsets shouldn't be fetched into memory, thus minimizing memory usage which is particularly interesting with very large resultsets.

반환값

Returns a positive Sybase result identifier on success, or FALSE on error.

예제

예 2401. sybase_unbuffered_query() example

<?php

$dbh = sybase_connect('SYBASE', '', '');
$q = sybase_unbuffered_query('select firstname, lastname from huge_table', $dbh, false);
sybase_data_seek($q, 10000);
$i = 0;

while ($row = sybase_fetch_row($q)) {
    echo $row[0], ' ', $row[1], '<br />';
    if ($i++ > 40000) {
        break;
    }
}

sybase_free_result($q);
sybase_close($dbh);

?>

주의

참고: 이 함수는 Sybase를 CT 라이브러리 인터페이스로 이용할 때만 사용할 수 있으며, DB 라이브러리로는 사용할 수 없습니다.

참고

sybase_query()

이전 | 위로 | 다음
sybase_set_message_handler | 처음으로 | CLXVI. TCP Wrappers Functions


TCP Wrappers Functions

이전 VI. 함수 레퍼런스 다음

CLXVI. TCP Wrappers Functions

소개

The TCP wrappers provides a classical Unix mechanism which has been designed to check if the remote client is able to connect from the given IP address.

설치

Tcpwrap is currently available through PECL » http://pecl.php.net/package/tcpwrap.

If » PEAR is available on your *nix-like system you can use the pear installer to install the tcpwrap extension, by the following command: pear -v install tcpwrap.

You can always download the tar.gz package and install tcpwrap by hand:

예 2402. tcpwrap install by hand

gunzip tcpwrap-xxx.tgz
tar -xvf tcpwrap-xxx.tar
cd tcpwrap-xxx
phpize
./configure && make && make install

차례

tcpwrap_check -- Performs a tcpwrap check
이전 | 위로 | 다음
sybase_unbuffered_query | 처음으로 | tcpwrap_check


tcpwrap_check

(PECL tcpwrap:0.1-1.0)

tcpwrap_check -- Performs a tcpwrap check

설명

bool tcpwrap_check ( string $daemon, string $address [, string $user [, bool $nodns]] )

This function consults the /etc/hosts.allow and /etc/hosts.deny files to check if access to service daemon should be granted or denied for a client.

매개변수

daemon

The service name.

address

The client remote address. Can be either an IP address or a domain name.

user

An optional user name.

nodns

If address looks like domain name then DNS is used to resolve it to IP address; set nodns to TRUE to avoid this.

반환값

This function returns TRUE if access should be granted, FALSE otherwise.

예제

예 2403. Deny all connections from localhost

If your /etc/hosts.deny file contains:

php: 127.0.0.1

And your code looks like:

<?php
if (!tcpwrap_check('php', $_SERVER['REMOTE_ADDR'])) {
  die('You are not welcome here');
}
?>

참고

For more details please consult hosts_access(3) man page.

이전 | 위로 | 다음
CLXVI. TCP Wrappers Functions | 처음으로 | CLXVII. Tidy Functions


Tidy Functions

이전 VI. 함수 레퍼런스 다음

CLXVII. Tidy Functions

소개

Tidy is a binding for the Tidy HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.

요구 조건

To use Tidy, you will need libtidy installed, available on the tidy homepage » http://tidy.sourceforge.net/.

설치

Tidy is currently available for PHP 4.3.x and PHP 5 as a PECL extension from » http://pecl.php.net/package/tidy.

참고: Tidy 1.0 is just for PHP 4.3.x, while Tidy 2.0 is just for PHP 5.

If » PEAR is available on your *nix-like system you can use the pear installer to install the tidy extension, by the following command: pecl install tidy.

You can always download the tar.gz package and install tidy by hand:

예 2404. tidy install by hand in PHP 4.3.x

gunzip tidy-xxx.tgz
tar -xvf tidy-xxx.tar
cd tidy-xxx
phpize
./configure && make && make install

Windows users can download the extension dll from » http://pecl4win.php.net/ext.php/php_tidy.dll.

In PHP 5 you need only to compile using the --with-tidy option.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 313. Tidy Configuration Options

Name | Default | Changeable | Changelog
tidy.default_config | "" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR in PHP 5. Available since PHP 5.0.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

tidy.default_config string

Default path for tidy config file.

tidy.clean_output boolean

Turns on/off the output repairing by Tidy.

주의

Do not turn on tidy.clean_output if you are generating non-html content such as dynamic images.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 클래스

tidyNode

메쏘드

  • tidyNode::getParent - Returns the parent of the current node

  • tidyNode->hasChildren - Returns TRUE if the current node has children

  • tidyNode->hasSiblings - Returns TRUE if the current node has siblings

  • tidyNode->isAsp - Returns TRUE if the current node is ASP code

  • tidyNode->isComment - Returns TRUE if the current node is a comment

  • tidyNode->isHtml - Returns TRUE if the current node is HTML

  • tidyNode->isJste - Returns TRUE if the current node is JSTE

  • tidyNode->isPhp - Returns TRUE if the current node is PHP

  • tidyNode->isText - Returns TRUE if the current node is Text (no markup)

속성

  • value - the value of the node (e.g. the html text)

  • name - the name of the tag (e.g. html, a, etc..)

  • type - the type of the node (one of the constants above, e.g. TIDY_NODETYPE_PHP)

  • line* - the line where the node starts

  • column* - the column where the node starts

  • proprietary* - TRUE if the node refers to a proprietary tag

  • id - the ID of the tag (one of the constants above, e.g. TIDY_TAG_FRAME)

  • attribute - an array with the attributes of the current node, or NULL if there aren't any

  • child - an array with the child tidyNodes, or NULL if there aren't any

참고: The properties marked with * are just available since PHP 5.1.0.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Each TIDY_TAG_XXX represents a HTML tag. For example, TIDY_TAG_A represents a <a href="XX">link</a> tag. Each TIDY_ATTR_XXX represents a HTML atribute. For example TIDY_ATTR_HREF would represent the href atribute in the previous example.

The following constants are defined:

표 314. tidy tag constants

constant
TIDY_TAG_UNKNOWN
TIDY_TAG_A
TIDY_TAG_ABBR
TIDY_TAG_ACRONYM
TIDY_TAG_ALIGN
TIDY_TAG_APPLET
TIDY_TAG_AREA
TIDY_TAG_B
TIDY_TAG_BASE
TIDY_TAG_BASEFONT
TIDY_TAG_BDO
TIDY_TAG_BGSOUND
TIDY_TAG_BIG
TIDY_TAG_BLINK
TIDY_TAG_BLOCKQUOTE
TIDY_TAG_BODY
TIDY_TAG_BR
TIDY_TAG_BUTTON
TIDY_TAG_CAPTION
TIDY_TAG_CENTER
TIDY_TAG_CITE
TIDY_TAG_CODE
TIDY_TAG_COL
TIDY_TAG_COLGROUP
TIDY_TAG_COMMENT
TIDY_TAG_DD
TIDY_TAG_DEL
TIDY_TAG_DFN
TIDY_TAG_DIR
TIDY_TAG_DIV
TIDY_TAG_DL
TIDY_TAG_DT
TIDY_TAG_EM
TIDY_TAG_EMBED
TIDY_TAG_FIELDSET
TIDY_TAG_FONT
TIDY_TAG_FORM
TIDY_TAG_FRAME
TIDY_TAG_FRAMESET
TIDY_TAG_H1
TIDY_TAG_H2
TIDY_TAG_H3
TIDY_TAG_H4
TIDY_TAG_H5
TIDY_TAG_H6
TIDY_TAG_HEAD
TIDY_TAG_HR
TIDY_TAG_HTML
TIDY_TAG_I
TIDY_TAG_IFRAME
TIDY_TAG_ILAYER
TIDY_TAG_IMG
TIDY_TAG_INPUT
TIDY_TAG_INS
TIDY_TAG_ISINDEX
TIDY_TAG_KBD
TIDY_TAG_KEYGEN
TIDY_TAG_LABEL
TIDY_TAG_LAYER
TIDY_TAG_LEGEND
TIDY_TAG_LI
TIDY_TAG_LINK
TIDY_TAG_LISTING
TIDY_TAG_MAP
TIDY_TAG_MARQUEE
TIDY_TAG_MENU
TIDY_TAG_META
TIDY_TAG_MULTICOL
TIDY_TAG_NOBR
TIDY_TAG_NOEMBED
TIDY_TAG_NOFRAMES
TIDY_TAG_NOLAYER
TIDY_TAG_NOSAVE
TIDY_TAG_NOSCRIPT
TIDY_TAG_OBJECT
TIDY_TAG_OL
TIDY_TAG_OPTGROUP
TIDY_TAG_OPTION
TIDY_TAG_P
TIDY_TAG_PARAM
TIDY_TAG_PLAINTEXT
TIDY_TAG_PRE
TIDY_TAG_Q
TIDY_TAG_RP
TIDY_TAG_RT
TIDY_TAG_RTC
TIDY_TAG_RUBY
TIDY_TAG_S
TIDY_TAG_SAMP
TIDY_TAG_SCRIPT
TIDY_TAG_SELECT
TIDY_TAG_SERVER
TIDY_TAG_SERVLET
TIDY_TAG_SMALL
TIDY_TAG_SPACER
TIDY_TAG_SPAN
TIDY_TAG_STRIKE
TIDY_TAG_STRONG
TIDY_TAG_STYLE
TIDY_TAG_SUB
TIDY_TAG_TABLE
TIDY_TAG_TBODY
TIDY_TAG_TD
TIDY_TAG_TEXTAREA
TIDY_TAG_TFOOT
TIDY_TAG_TH
TIDY_TAG_THEAD
TIDY_TAG_TITLE
TIDY_TAG_TR
TIDY_TAG_TR
TIDY_TAG_TT
TIDY_TAG_U
TIDY_TAG_UL
TIDY_TAG_VAR
TIDY_TAG_WBR
TIDY_TAG_XMP

표 315. tidy attribute constants

constant
TIDY_ATTR_UNKNOWN
TIDY_ATTR_ABBR
TIDY_ATTR_ACCEPT
TIDY_ATTR_ACCEPT_CHARSET
TIDY_ATTR_ACCESSKEY
TIDY_ATTR_ACTION
TIDY_ATTR_ADD_DATE
TIDY_ATTR_ALIGN
TIDY_ATTR_ALINK
TIDY_ATTR_ALT
TIDY_ATTR_ARCHIVE
TIDY_ATTR_AXIS
TIDY_ATTR_BACKGROUND
TIDY_ATTR_BGCOLOR
TIDY_ATTR_BGPROPERTIES
TIDY_ATTR_BORDER
TIDY_ATTR_BORDERCOLOR
TIDY_ATTR_BOTTOMMARGIN
TIDY_ATTR_CELLPADDING
TIDY_ATTR_CELLSPACING
TIDY_ATTR_CHAR
TIDY_ATTR_CHAROFF
TIDY_ATTR_CHARSET
TIDY_ATTR_CHECKED
TIDY_ATTR_CITE
TIDY_ATTR_CLASS
TIDY_ATTR_CLASSID
TIDY_ATTR_CLEAR
TIDY_ATTR_CODE
TIDY_ATTR_CODEBASE
TIDY_ATTR_CODETYPE
TIDY_ATTR_COLOR
TIDY_ATTR_COLS
TIDY_ATTR_COLSPAN
TIDY_ATTR_COMPACT
TIDY_ATTR_CONTENT
TIDY_ATTR_COORDS
TIDY_ATTR_DATA
TIDY_ATTR_DATAFLD
TIDY_ATTR_DATAPAGESIZE
TIDY_ATTR_DATASRC
TIDY_ATTR_DATETIME
TIDY_ATTR_DECLARE
TIDY_ATTR_DEFER
TIDY_ATTR_DIR
TIDY_ATTR_DISABLED
TIDY_ATTR_ENCODING
TIDY_ATTR_ENCTYPE
TIDY_ATTR_FACE
TIDY_ATTR_FOR
TIDY_ATTR_FRAME
TIDY_ATTR_FRAMEBORDER
TIDY_ATTR_FRAMESPACING
TIDY_ATTR_GRIDX
TIDY_ATTR_GRIDY
TIDY_ATTR_HEADERS
TIDY_ATTR_HEIGHT
TIDY_ATTR_HREF
TIDY_ATTR_HREFLANG
TIDY_ATTR_HSPACE
TIDY_ATTR_HTTP_EQUIV
TIDY_ATTR_ID
TIDY_ATTR_ISMAP
TIDY_ATTR_LABEL
TIDY_ATTR_LANG
TIDY_ATTR_LANGUAGE
TIDY_ATTR_LAST_MODIFIED
TIDY_ATTR_LAST_VISIT
TIDY_ATTR_LEFTMARGIN
TIDY_ATTR_LINK
TIDY_ATTR_LONGDESC
TIDY_ATTR_LOWSRC
TIDY_ATTR_MARGINHEIGHT
TIDY_ATTR_MARGINWIDTH
TIDY_ATTR_MAXLENGTH
TIDY_ATTR_MEDIA
TIDY_ATTR_METHOD
TIDY_ATTR_MULTIPLE
TIDY_ATTR_NAME
TIDY_ATTR_NOHREF
TIDY_ATTR_NORESIZE
TIDY_ATTR_NOSHADE
TIDY_ATTR_NOWRAP
TIDY_ATTR_OBJECT
TIDY_ATTR_OnAFTERUPDATE
TIDY_ATTR_OnBEFOREUNLOAD
TIDY_ATTR_OnBEFOREUPDATE
TIDY_ATTR_OnBLUR
TIDY_ATTR_OnCHANGE
TIDY_ATTR_OnCLICK
TIDY_ATTR_OnDATAAVAILABLE
TIDY_ATTR_OnDATASETCHANGED
TIDY_ATTR_OnDATASETCOMPLETE
TIDY_ATTR_OnDBLCLICK
TIDY_ATTR_OnERRORUPDATE
TIDY_ATTR_OnFOCUS
TIDY_ATTR_OnKEYDOWN
TIDY_ATTR_OnKEYPRESS
TIDY_ATTR_OnKEYUP
TIDY_ATTR_OnLOAD
TIDY_ATTR_OnMOUSEDOWN
TIDY_ATTR_OnMOUSEMOVE
TIDY_ATTR_OnMOUSEOUT
TIDY_ATTR_OnMOUSEOVER
TIDY_ATTR_OnMOUSEUP
TIDY_ATTR_OnRESET
TIDY_ATTR_OnROWENTER
TIDY_ATTR_OnROWEXIT
TIDY_ATTR_OnSELECT
TIDY_ATTR_OnSUBMIT
TIDY_ATTR_OnUNLOAD
TIDY_ATTR_PROFILE
TIDY_ATTR_PROMPT
TIDY_ATTR_RBSPAN
TIDY_ATTR_READONLY
TIDY_ATTR_REL
TIDY_ATTR_REV
TIDY_ATTR_RIGHTMARGIN
TIDY_ATTR_ROWS
TIDY_ATTR_ROWSPAN
TIDY_ATTR_RULES
TIDY_ATTR_SCHEME
TIDY_ATTR_SCOPE
TIDY_ATTR_SCROLLING
TIDY_ATTR_SELECTED
TIDY_ATTR_SHAPE
TIDY_ATTR_SHOWGRID
TIDY_ATTR_SHOWGRIDX
TIDY_ATTR_SHOWGRIDY
TIDY_ATTR_SIZE
TIDY_ATTR_SPAN
TIDY_ATTR_SRC
TIDY_ATTR_STANDBY
TIDY_ATTR_START
TIDY_ATTR_STYLE
TIDY_ATTR_SUMMARY
TIDY_ATTR_TABINDEX
TIDY_ATTR_TARGET
TIDY_ATTR_TEXT
TIDY_ATTR_TITLE
TIDY_ATTR_TOPMARGIN
TIDY_ATTR_TYPE
TIDY_ATTR_USEMAP
TIDY_ATTR_VALIGN
TIDY_ATTR_VALUE
TIDY_ATTR_VALUETYPE
TIDY_ATTR_VERSION
TIDY_ATTR_VLINK
TIDY_ATTR_VSPACE
TIDY_ATTR_WIDTH
TIDY_ATTR_WRAP
TIDY_ATTR_XML_LANG
TIDY_ATTR_XML_SPACE
TIDY_ATTR_XMLNS

표 316. tidy nodetype constants

constant | description
TIDY_NODETYPE_ROOT | root node
TIDY_NODETYPE_DOCTYPE | doctype
TIDY_NODETYPE_COMMENT | HTML comment
TIDY_NODETYPE_PROCINS | Processing Instruction
TIDY_NODETYPE_TEXT | Text
TIDY_NODETYPE_START | start tag
TIDY_NODETYPE_END | end tag
TIDY_NODETYPE_STARTEND | empty tag
TIDY_NODETYPE_CDATA | CDATA
TIDY_NODETYPE_SECTION | XML section
TIDY_NODETYPE_ASP | ASP code
TIDY_NODETYPE_JSTE | JSTE code
TIDY_NODETYPE_PHP | PHP code
TIDY_NODETYPE_XMLDECL | XML declaration

예제

This simple example shows basic Tidy usage.

예 2405. Basic Tidy usage

<?php
ob_start();
?>
<html>a html document</html>
<?php
$html = ob_get_clean();

// Specify configuration
$config = array(
           'indent'         => true,
           'output-xhtml'   => true,
           'wrap'           => 200);

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Output
echo $tidy;
?>

차례

ob_tidyhandler -- ob_start callback function to repair the buffer
tidy_access_count -- Returns the Number of Tidy accessibility warnings encountered for specified document
tidy_clean_repair -- Execute configured cleanup and repair operations on parsed markup
tidy_config_count -- Returns the Number of Tidy configuration errors encountered for specified document
tidy::__construct -- Constructs a new tidy object
tidy_diagnose -- Run configured diagnostics on parsed and repaired markup
tidy_error_count -- Returns the Number of Tidy errors encountered for specified document
tidy_get_body -- Returns a tidyNode Object starting from the <body> tag of the tidy parse tree
tidy_get_config -- Get current Tidy configuration
tidy_get_error_buffer -- Return warnings and errors which occurred parsing the specified document
tidy_get_head -- Returns a tidyNode Object starting from the <head> tag of the tidy parse tree
tidy_get_html_ver -- Get the Detected HTML version for the specified document
tidy_get_html -- Returns a tidyNode Object starting from the <html> tag of the tidy parse tree
tidy_get_opt_doc -- Returns the documentation for the given option name
tidy_get_output -- Return a string representing the parsed tidy markup
tidy_get_release -- Get release date (version) for Tidy library
tidy_get_root -- Returns a tidyNode object representing the root of the tidy parse tree
tidy_get_status -- Get status of specified document
tidy_getopt -- Returns the value of the specified configuration option for the tidy document
tidy_is_xhtml -- Indicates if the document is a XHTML document
tidy_is_xml -- Indicates if the document is a generic (non HTML/XHTML) XML document
tidy_load_config -- Load an ASCII Tidy configuration file with the specified encoding
tidy_node->get_attr -- Return the attribute with the provided attribute id
tidy_node->get_nodes -- Return an array of nodes under this node with the specified id
tidy_node->next -- Returns the next sibling to this node
tidy_node->prev -- Returns the previous sibling to this node
tidy_parse_file -- Parse markup in file or URI
tidy_parse_string -- Parse a document stored in a string
tidy_repair_file -- Repair a file and return it as a string
tidy_repair_string -- Repair a string using an optionally provided configuration file
tidy_reset_config -- Restore Tidy configuration to default values
tidy_save_config -- Save current settings to named file
tidy_set_encoding -- Set the input/output character encoding for parsing markup
tidy_setopt -- Updates the configuration settings for the specified tidy document
tidy_warning_count -- Returns the Number of Tidy warnings encountered for specified document
tidyNode->hasChildren -- Returns true if this node has children
tidyNode->hasSiblings -- Returns true if this node has siblings
tidyNode->isAsp -- Returns true if this node is ASP
tidyNode->isComment -- Returns true if this node represents a comment
tidyNode->isHtml -- Returns true if this node is part of a HTML document
tidyNode->isJste -- Returns true if this node is JSTE
tidyNode->isPhp -- Returns true if this node is PHP
tidyNode->isText -- Returns true if this node represents text (no markup)
tidyNode::getParent -- returns the parent node of the current node
이전 | 위로 | 다음
tcpwrap_check | 처음으로 | ob_tidyhandler


ob_tidyhandler

(PHP 5)

ob_tidyhandler -- ob_start callback function to repair the buffer

Description

string ob_tidyhandler ( string $input [, int $mode] )

ob_tidyhandler() is intended to be used as a callback function for ob_start() to repair the buffer.

예 2406. ob_tidyhandler() example

<?php
ob_start('ob_tidyhandler');

echo '<p>test</i>';
?>

위 예제의 출력:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

See also ob_start().

이전 | 위로 | 다음
CLXVII. Tidy Functions | 처음으로 | tidy_access_count


tidy_access_count

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_access_count -- Returns the Number of Tidy accessibility warnings encountered for specified document

Description

int tidy_access_count ( tidy $object )

tidy_access_count() returns the number of accessibility warnings found for the specified document.

참고: Due to the design of the TidyLib, you must call tidy_diagnose() before tidy_access_count() or it will return always 0. You must also need to enable the accessibility-check option.

예 2407. tidy_access_count() example

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

// select the accessibility check level: 1, 2 or 3
$config = array('accessibility-check' => 3);

$tidy = new tidy();
$tidy->parseString($html, $config);
$tidy->CleanRepair();

/* Never forget to call this! */
$tidy->diagnose();

echo tidy_access_count($tidy); //5

?>

See also tidy_error_count() and tidy_warning_count().

이전 | 위로 | 다음
ob_tidyhandler | 처음으로 | tidy_clean_repair


tidy_clean_repair

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_clean_repair -- Execute configured cleanup and repair operations on parsed markup

Description

Procedural style:

bool tidy_clean_repair ( tidy $object )

Object oriented style:

bool tidy->cleanRepair ( void )

This function cleans and repairs the given tidy object.

예 2408. tidy_clean_repair() example

<?php
$html = '<p>test</I>';

$tidy = tidy_parse_string($html);
tidy_clean_repair($tidy);

echo $tidy;
?>

위 예제의 출력:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

See also tidy_repair_file() and tidy_repair_string().

이전 | 위로 | 다음
tidy_access_count | 처음으로 | tidy_config_count


tidy_config_count

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_config_count -- Returns the Number of Tidy configuration errors encountered for specified document

Description

int tidy_config_count ( tidy $object )

tidy_config_count() returns the number of errors encountered in the configuration of the specified tidy object.

예 2409. tidy_config_count() example

<?php
$html = '<p>test</I>';

$config = array('doctype' => 'bogus');

$tidy = tidy_parse_string($html, $config);

/* This outputs 1, because 'bogus' isn't a valid doctype */
echo tidy_config_count($tidy);
?>

이전 | 위로 | 다음
tidy_clean_repair | 처음으로 | tidy::__construct


tidy::__construct

(No version information available, might be only in CVS)

tidy::__construct -- Constructs a new tidy object

Description

tidy tidy::__construct ( [string $filename [, mixed $config [, string $encoding [, bool $use_include_path]]]] )

tidy::__construct() constructs a new tidy object.

If the filename parameter is given, this function will also read that file and initialize the object with the file, acting like tidy_parse_file().

config 인수는 배열이나 문자열을 전달할 수 있습니다. 문자열을 넘기면, 설정 파일의 이름을 의미합니다. 그 외에는 옵션 자체로 해석합니다. 각 옵션의 설명은 » http://tidy.sourceforge.net/docs/quickref.html를 확인하십시오. encoding 인수는 입출력 문서의 인코딩을 지정합니다. 가능한 encoding 값은: ascii, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, shiftjis.

예 2410. tidy::__construct() example

<?php

$html = <<< HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>title</title></head>
<body>
<p>paragraph <bt />
text</p>
</body></html>

HTML;

$tidy = new tidy;
$tidy->parseString($html);

$tidy->CleanRepair();

if ($tidy->errorBuffer) {
    echo "The following errors were detected:\n";
    echo $tidy->errorBuffer;
}

?>

위 예제의 출력:

The following errors were detected:
line 8 column 14 - Error: <bt> is not recognized!
line 8 column 14 - Warning: discarding unexpected <bt>

See also tidy_parse_file() and tidy_parse_string().

이전 | 위로 | 다음
tidy_config_count | 처음으로 | tidy_diagnose


tidy_diagnose

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_diagnose -- Run configured diagnostics on parsed and repaired markup

Description

Procedural style:

bool tidy_diagnose ( tidy $object )

Object oriented style:

bool tidy->diagnose ( void )

tidy_diagnose() runs diagnostic tests on the given tidy object, adding some more information about the document in the error buffer.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예 2411. tidy_diagnose() example

<?php

$html = <<< HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<p>paragraph</p>
HTML;

$tidy = tidy_parse_string($html);
$tidy->CleanRepair();

// note the difference between the two outputs
echo tidy_get_error_buffer($tidy) . "\n";

$tidy->diagnose();
echo tidy_get_error_buffer($tidy);

?>

위 예제의 출력:

line 5 column 1 - Warning: <p> isn't allowed in <head> elements
line 5 column 1 - Warning: inserting missing 'title' element

line 5 column 1 - Warning: <p> isn't allowed in <head> elements
line 5 column 1 - Warning: inserting missing 'title' element
Info: Doctype given is "-//W3C//DTD XHTML 1.0 Strict//EN"
Info: Document content looks like XHTML 1.0 Strict
2 warnings, 0 errors were found!

See also tidy_get_error_buffer().

이전 | 위로 | 다음
tidy::__construct | 처음으로 | tidy_error_count


tidy_error_count

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_error_count -- Returns the Number of Tidy errors encountered for specified document

Description

int tidy_error_count ( tidy $object )

tidy_error_count() returns the number of Tidy errors encountered for the specified document.

예 2412. tidy_error_count() example

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1

echo $tidy->errorBuffer;
?>

위 예제의 출력:

1
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 8 - Warning: discarding unexpected </i>
line 2 column 1 - Error: <bogustag> is not recognized!
line 2 column 1 - Warning: discarding unexpected <bogustag>
line 2 column 16 - Warning: discarding unexpected </bogustag>
line 1 column 1 - Warning: inserting missing 'title' element

See also tidy_access_count() and tidy_warning_count().

이전 | 위로 | 다음
tidy_diagnose | 처음으로 | tidy_get_body


tidy_get_body

(PHP 5, PECL tidy:0.5.2-1.0)

tidy_get_body -- Returns a tidyNode Object starting from the <body> tag of the tidy parse tree

Description

Procedural style:

tidyNode tidy_get_body ( tidy $object )

Object oriented style:

tidyNode tidy->body ( void )

This function returns a tidyNode object starting from the <body> tag of the tidy parse tree.

예 2413. tidy_get_body() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$body = tidy_get_body($tidy);
echo $body->value;
?>

위 예제의 출력:

<body>
<p>paragraph</p>
</body>

참고: 이 함수는 Zend Engine 2(PHP >= 5.0.0)에서만 사용할 수 있습니다.

See also tidy_get_head() and tidy_get_html().

이전 | 위로 | 다음
tidy_error_count | 처음으로 | tidy_get_config


tidy_get_config

(PHP 5, PECL tidy:0.7-1.2)

tidy_get_config -- Get current Tidy configuration

Description

Procedural style:

array tidy_get_config ( tidy $object )

Object oriented style:

array tidy->getConfig ( void )

tidy_get_config() returns an array with the configuration options in use by the given tidy object.

For an explanation about each option, visit » http://tidy.sourceforge.net/docs/quickref.html.

예 2414. tidy_get_config() example

<?php
$html = '<p>test</p>';
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($html, $config);

print_r(tidy_get_config($tidy));
?>

위 예제의 출력:

Array
(
    [indent-spaces] => 2
    [wrap] => 200
    [tab-size] => 8
    [char-encoding] => 1
    [input-encoding] => 3
    [output-encoding] => 1
    [newline] => 1
    [doctype-mode] => 1
    [doctype] =>
    [repeated-attributes] => 1
    [alt-text] =>
    [slide-style] =>
    [error-file] =>
    [output-file] =>
    [write-back] =>
    [markup] => 1
    [show-warnings] => 1
    [quiet] =>
    [indent] => 1
    [hide-endtags] =>
    [input-xml] =>
    [output-xml] => 1
    [output-xhtml] => 1
    [output-html] =>
    [add-xml-decl] =>
    [uppercase-tags] =>
    [uppercase-attributes] =>
    [bare] =>
    [clean] =>
    [logical-emphasis] =>
    [drop-proprietary-attributes] =>
    [drop-font-tags] =>
    [drop-empty-paras] => 1
    [fix-bad-comments] => 1
    [break-before-br] =>
    [split] =>
    [numeric-entities] =>
    [quote-marks] =>
    [quote-nbsp] => 1
    [quote-ampersand] => 1
    [wrap-attributes] =>
    [wrap-script-literals] =>
    [wrap-sections] => 1
    [wrap-asp] => 1
    [wrap-jste] => 1
    [wrap-php] => 1
    [fix-backslash] => 1
    [indent-attributes] =>
    [assume-xml-procins] =>
    [add-xml-space] =>
    [enclose-text] =>
    [enclose-block-text] =>
    [keep-time] =>
    [word-2000] =>
    [tidy-mark] =>
    [gnu-emacs] =>
    [gnu-emacs-file] =>
    [literal-attributes] =>
    [show-body-only] =>
    [fix-uri] => 1
    [lower-literals] => 1
    [hide-comments] =>
    [indent-cdata] =>
    [force-output] => 1
    [show-errors] => 6
    [ascii-chars] => 1
    [join-classes] =>
    [join-styles] => 1
    [escape-cdata] =>
    [language] =>
    [ncr] => 1
    [output-bom] => 2
    [replace-color] =>
    [css-prefix] =>
    [new-inline-tags] =>
    [new-blocklevel-tags] =>
    [new-empty-tags] =>
    [new-pre-tags] =>
    [accessibility-check] => 0
    [vertical-space] =>
    [punctuation-wrap] =>
    [merge-divs] => 1
)

See also tidy_reset_config() and tidy_save_config().

이전 | 위로 | 다음
tidy_get_body | 처음으로 | tidy_get_error_buffer


tidy_get_error_buffer

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_get_error_buffer -- Return warnings and errors which occurred parsing the specified document

Description

Procedural style:

string tidy_get_error_buffer ( tidy $object )

Object oriented style (property):

class tidy {
string errorBuffer
}

tidy_get_error_buffer() returns warnings and errors which occurred parsing the specified document.

예 2415. tidy_get_error_buffer() example

<?php
$html = '<p>paragraph</p>';

$tidy = tidy_parse_string($html);

echo tidy_get_error_buffer($tidy);
/* or in OO: */
echo $tidy->errorBuffer;
?>

위 예제의 출력:

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: inserting missing 'title' element

See also tidy_access_count(),
tidy_error_count() and
tidy_warning_count().

이전 | 위로 | 다음
tidy_get_config | 처음으로 | tidy_get_head


tidy_get_head

(PHP 5, PECL tidy:0.5.2-1.0)

tidy_get_head -- Returns a tidyNode Object starting from the <head> tag of the tidy parse tree

Description

Procedural style:

tidyNode tidy_get_head ( tidy $object )

Object oriented style:

tidyNode tidy->head ( void )

This function returns a tidyNode object starting from the <head> tag of the tidy parse tree.

예 2416. tidy_get_head() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$head = tidy_get_head($tidy);
echo $head->value;
?>

위 예제의 출력:

<head>
<title>test</title>
</head>

참고: 이 함수는 Zend Engine 2(PHP >= 5.0.0)에서만 사용할 수 있습니다.

See also tidy_get_body() and tidy_get_html().

이전 | 위로 | 다음
tidy_get_error_buffer | 처음으로 | tidy_get_html_ver


tidy_get_html_ver

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_get_html_ver -- Get the Detected HTML version for the specified document

Description

Procedural style:

int tidy_get_html_ver ( tidy $object )

Object oriented style:

int tidy->getHtmlVer ( void )

tidy_get_html_ver() returns the detected HTML version for the specified tidy object.

주의

This function is not yet implemented in the Tidylib itself, so it always return 0.

이전 | 위로 | 다음
tidy_get_head | 처음으로 | tidy_get_html


tidy_get_html

(PHP 5, PECL tidy:0.5.2-1.0)

tidy_get_html -- Returns a tidyNode Object starting from the <html> tag of the tidy parse tree

Description

Procedural style:

tidyNode tidy_get_html ( tidy $object )

Object oriented style:

tidyNode tidy->html ( void )

This function returns a tidyNode object starting from the <html> tag of the tidy parse tree.

예 2417. tidy_get_html() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$html = tidy_get_html($tidy);
echo $html->value;
?>

위 예제의 출력:

<html>
<head>
<title>test</title>
</head>
<body>
<p>paragraph</p>
</body>
</html>

참고: 이 함수는 Zend Engine 2(PHP >= 5.0.0)에서만 사용할 수 있습니다.

See also tidy_get_body() and tidy_get_head().

이전 | 위로 | 다음
tidy_get_html_ver | 처음으로 | tidy_get_opt_doc


tidy_get_output

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_get_output -- Return a string representing the parsed tidy markup

Description

string tidy_get_output ( tidy $object )

tidy_get_output() returns a string with the repaired html.

예 2419. tidy_get_output() example

<?php

$html = '<p>paragraph</i>';
$tidy = tidy_parse_string($html);

$tidy->CleanRepair();

echo tidy_get_output($tidy);
?>

위 예제의 출력:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>paragraph</p>
</body>
</html>

이전 | 위로 | 다음
tidy_get_opt_doc | 처음으로 | tidy_get_release


tidy_get_release

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_get_release -- Get release date (version) for Tidy library

Description

Procedural style:

string tidy_get_release ( void )

Object oriented style:

string tidy->getRelease ( void )

This function returns a string with the release date of the Tidy library.

이전 | 위로 | 다음
tidy_get_output | 처음으로 | tidy_get_root


tidy_get_root

(PHP 5, PECL tidy:0.5.2-1.0)

tidy_get_root -- Returns a tidyNode object representing the root of the tidy parse tree

Description

Procedural style:

tidyNode tidy_get_root ( tidy $object )

Object oriented style:

tidyNode tidy->root ( void )

Returns a tidyNode object representing the root of the tidy parse tree.

예 2420. dump nodes

<?php

$html = <<< HTML
<html><body>

<p>paragraph</p>
<br/>

</body></html>
HTML;

$tidy = tidy_parse_string($html);
dump_nodes($tidy->root(), 1);

function dump_nodes($node, $indent) {

    if($node->hasChildren()) {
        foreach($node->child as $child) {
            echo str_repeat('.', $indent*2) . ($child->name ? $child->name : '"'.$child->value.'"'). "\n";

            dump_nodes($child, $indent+1);
        }
    }
}
?>

위 예제의 출력:

..html
....head
......title
....body
......p
........"paragraph"
......br

참고: 이 함수는 Zend Engine 2(PHP >= 5.0.0)에서만 사용할 수 있습니다.

이전 | 위로 | 다음
tidy_get_release | 처음으로 | tidy_get_status


tidy_get_status

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_get_status -- Get status of specified document

Description

Procedural style:

int tidy_get_status ( tidy $object )

Object oriented style:

int tidy->getStatus ( void )

tidy_get_status() returns the status for the specified tidy object. It returns 0 if no error/warning was raised, 1 for warnings or accessibility errors, or 2 for errors.

예 2421. tidy_get_status() example

<?php
$html = '<p>paragraph</i>';
$tidy = tidy_parse_string($html);

$html2 = '<bogus>test</bogus>';
$tidy2 = tidy_parse_string($html2);

echo tidy_get_status($tidy); //1

echo tidy_get_status($tidy2); //2
?>

이전 | 위로 | 다음
tidy_get_root | 처음으로 | tidy_getopt


tidy_getopt

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_getopt -- Returns the value of the specified configuration option for the tidy document

Description

Procedural style:

mixed tidy_getopt ( tidy $object, string $option )

Object oriented style:

mixed tidy->getOpt ( string $option )

tidy_getopt() returns the value of the specified option for the specified tidy object. The return type depends on the type of the specified option. You will find a list with each configuration option and their types at: » http://tidy.sourceforge.net/docs/quickref.html.

예 2422. tidy_getopt() example

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

$config = array('accessibility-check' => 3,
                'alt-text' => 'some text');

$tidy = new tidy();
$tidy->parseString($html, $config);

var_dump($tidy->getOpt('accessibility-check')); //integer
var_dump($tidy->getOpt('lower-literals')); //boolean
var_dump($tidy->getOpt('alt-text')); //string

?>

위 예제의 출력:

int(3)
bool(true)
string(9) "some text"

이전 | 위로 | 다음
tidy_get_status | 처음으로 | tidy_is_xhtml


tidy_is_xhtml

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_is_xhtml -- Indicates if the document is a XHTML document

Description

Procedural style:

bool tidy_is_xhtml ( tidy $object )

Object oriented style:

bool tidy->isXhtml ( void )

This function returns TRUE if the specified tidy object is a XHTML document, or FALSE otherwise.

주의

This function is not yet implemented in the Tidylib itself, so it always return FALSE.

이전 | 위로 | 다음
tidy_getopt | 처음으로 | tidy_is_xml


tidy_is_xml

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_is_xml -- Indicates if the document is a generic (non HTML/XHTML) XML document

Description

Procedural style:

bool tidy_is_xml ( tidy $object )

Object oriented style:

bool tidy->isXml ( void )

This function returns TRUE if the specified tidy object is a generic XML document (non HTML/XHTML), or FALSE otherwise.

주의

This function is not yet implemented in the Tidylib itself, so it always return FALSE.

이전 | 위로 | 다음
tidy_is_xhtml | 처음으로 | tidy_load_config


tidy_load_config

(PECL tidy:0.5.2-1.2)

tidy_load_config -- Load an ASCII Tidy configuration file with the specified encoding

Description

void tidy_load_config ( string $filename, string $encoding )

This function loads a Tidy configuration file, with the specified encoding.

참고: This function is only available in Tidy 1.0. It became obsolete in Tidy 2.0 and thus has been removed.

이전 | 위로 | 다음
tidy_is_xml | 처음으로 | tidy_node->get_attr


tidy_node->get_attr

(PECL tidy:0.7-1.0)

tidy_node->get_attr -- Return the attribute with the provided attribute id

Description

tidy_attr tidy_node->get_attr ( int $attrib_id )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
tidy_load_config | 처음으로 | tidy_node->get_nodes


tidy_node->get_nodes

(PECL tidy:0.7-1.0)

tidy_node->get_nodes -- Return an array of nodes under this node with the specified id

Description

array tidy_node->get_nodes ( int $node_id )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
tidy_node->get_attr | 처음으로 | tidy_node->next


tidy_node->next

(PECL tidy:0.7-1.0)

tidy_node->next -- Returns the next sibling to this node

Description

tidy_node tidy_node->next ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
tidy_node->get_nodes | 처음으로 | tidy_node->prev


tidy_node->prev

(PECL tidy:0.7-1.0)

tidy_node->prev -- Returns the previous sibling to this node

Description

tidy_node tidy_node->prev ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
tidy_node->next | 처음으로 | tidy_parse_file


tidy_parse_file

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_parse_file -- Parse markup in file or URI

Description

Procedural style:

tidy tidy_parse_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path]]] )

Object oriented style:

bool tidy->parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path]]] )

This function parses the given file.

config 인수는 배열이나 문자열을 전달할 수 있습니다. 문자열을 넘기면, 설정 파일의 이름을 의미합니다. 그 외에는 옵션 자체로 해석합니다. 각 옵션의 설명은 » http://tidy.sourceforge.net/docs/quickref.html를 확인하십시오. encoding 인수는 입출력 문서의 인코딩을 지정합니다. 가능한 encoding 값은: ascii, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, shiftjis.

예 2423. tidy_parse_file() example

<?php
$tidy = tidy_parse_file('file.html');

$tidy->cleanRepair();

if(!empty($tidy->errorBuffer)) {
    echo "The following errors or warnings occured:\n";
    echo $tidy->errorBuffer;
}
?>

참고: The optional parameters config and encoding were added in Tidy 2.0.

See also tidy_parse_string(),
tidy_repair_file() and
tidy_repair_string().

이전 | 위로 | 다음
tidy_node->prev | 처음으로 | tidy_parse_string


tidy_parse_string

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_parse_string -- Parse a document stored in a string

Description

Procedural style:

tidy tidy_parse_string ( string $input [, mixed $config [, string $encoding]] )

Object oriented style:

bool tidy->parseString ( string $input [, mixed $config [, string $encoding]] )

tidy_parse_string() parses a document stored in a string.

config 인수는 배열이나 문자열을 전달할 수 있습니다. 문자열을 넘기면, 설정 파일의 이름을 의미합니다. 그 외에는 옵션 자체로 해석합니다. 각 옵션의 설명은 » http://tidy.sourceforge.net/docs/quickref.html를 확인하십시오. encoding 인수는 입출력 문서의 인코딩을 지정합니다. 가능한 encoding 값은: ascii, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, shiftjis.

예 2424. tidy_parse_string() example

<?php
ob_start();
?>

<html>
  <head>
   <title>test</title>
  </head>
  <body>
   <p>error<br>another line</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);

$tidy = tidy_parse_string($buffer, $config, 'UTF8');

$tidy->cleanRepair();
echo $tidy;
?>

위 예제의 출력:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
      test
    </title>
  </head>
  <body>
    <p>
      error<br />
      another line
    </p>
  </body>
</html>

참고: The optional parameters config and encoding were added in Tidy 2.0.

See also tidy_parse_file(),
tidy_repair_file() and
tidy_repair_string().

이전 | 위로 | 다음
tidy_parse_file | 처음으로 | tidy_repair_file


tidy_repair_file

(PHP 5, PECL tidy:0.7-1.2)

tidy_repair_file -- Repair a file and return it as a string

Description

string tidy_repair_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path]]] )

This function repairs the given file and returns it as a string.

config 인수는 배열이나 문자열을 전달할 수 있습니다. 문자열을 넘기면, 설정 파일의 이름을 의미합니다. 그 외에는 옵션 자체로 해석합니다. 각 옵션의 설명은 » http://tidy.sourceforge.net/docs/quickref.html를 확인하십시오. encoding 인수는 입출력 문서의 인코딩을 지정합니다. 가능한 encoding 값은: ascii, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, shiftjis.

예 2425. tidy_repair_file() example

<?php
$file = 'file.html';

$repaired = tidy_repair_file($file);
rename($file, $file . '.bak');

file_put_contents($file, $repaired);
?>

참고: The optional parameters config and encoding were added in Tidy 2.0.

See also tidy_parse_file(),
tidy_parse_string() and
tidy_repair_string().

이전 | 위로 | 다음
tidy_parse_string | 처음으로 | tidy_repair_string


tidy_repair_string

(PHP 5, PECL tidy:0.7-1.2)

tidy_repair_string -- Repair a string using an optionally provided configuration file

Description

string tidy_repair_string ( string $data [, mixed $config [, string $encoding]] )

This function repairs the given string.

config 인수는 배열이나 문자열을 전달할 수 있습니다. 문자열을 넘기면, 설정 파일의 이름을 의미합니다. 그 외에는 옵션 자체로 해석합니다. 각 옵션의 설명은 » http://tidy.sourceforge.net/docs/quickref.html를 확인하십시오. encoding 인수는 입출력 문서의 인코딩을 지정합니다. 가능한 encoding 값은: ascii, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, shiftjis.

예 2426. tidy_repair_string() example

<?php
ob_start();
?>

<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>error</i>
  </body>
</html>

<?php

$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);

echo $tidy;
?>

위 예제의 출력:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>test</title>
</head>
<body>
<p>error</p>
</body>
</html>

참고: The optional parameters config and encoding were added in Tidy 2.0.

See also tidy_parse_file(),
tidy_parse_string() and
tidy_repair_file().

이전 | 위로 | 다음
tidy_repair_file | 처음으로 | tidy_reset_config


tidy_reset_config

(PECL tidy:0.7-1.2)

tidy_reset_config -- Restore Tidy configuration to default values

Description

bool tidy_reset_config ( void )

This function restores the Tidy configuration to the default values.

참고: This function is only available in Tidy 1.0. It became obsolete in Tidy 2.0 and thus has been removed.

이전 | 위로 | 다음
tidy_repair_string | 처음으로 | tidy_save_config


tidy_save_config

(PECL tidy:0.5.2-1.2)

tidy_save_config -- Save current settings to named file

Description

bool tidy_save_config ( string $filename )

tidy_save_config() saves current settings to the specified file. Only non-default values are written.

See also tidy_get_config(),
tidy_getopt(),
tidy_reset_config() and
tidy_setopt().

참고: This function is only available in Tidy 1.0. It became obsolete in Tidy 2.0 and thus has been removed.

이전 | 위로 | 다음
tidy_reset_config | 처음으로 | tidy_set_encoding


tidy_set_encoding

(PECL tidy:0.5.2-1.2)

tidy_set_encoding -- Set the input/output character encoding for parsing markup

Description

bool tidy_set_encoding ( string $encoding )

Sets the encoding for input/output documents. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Possible values for encoding are ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 and shiftjis

참고: This function is only available in Tidy 1.0. It became obsolete in Tidy 2.0 and thus has been removed.

이전 | 위로 | 다음
tidy_save_config | 처음으로 | tidy_setopt


tidy_setopt

(PECL tidy:0.5.2-1.2)

tidy_setopt -- Updates the configuration settings for the specified tidy document

Description

bool tidy_setopt ( string $option, mixed $value )

tidy_setopt() updates the specified option with a new value. You will find a list with each configuration option at: » http://tidy.sourceforge.net/docs/quickref.html.

예 2427. tidy_setopt() example

<?php
$html = '<p>test</i>';

$tidy = tidy_parse_string($html);

tidy_setopt('indent', FALSE);
?>

See also tidy_getopt(),
tidy_get_config(),
tidy_reset_config() and
tidy_save_config().

참고: This function is only available in Tidy 1.0. It became obsolete in Tidy 2.0 and thus has been removed.

이전 | 위로 | 다음
tidy_set_encoding | 처음으로 | tidy_warning_count


tidy_warning_count

(PHP 5, PECL tidy:0.5.2-1.2)

tidy_warning_count -- Returns the Number of Tidy warnings encountered for specified document

Description

int tidy_warning_count ( tidy $object )

tidy_warning_count() returns the number of Tidy warnings encountered for the specified document.

예 2428. tidy_warning_count() example

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1
echo tidy_warning_count($tidy) . "\n"; //5
?>

See also tidy_access_count() and tidy_error_count().

이전 | 위로 | 다음
tidy_setopt | 처음으로 | tidyNode->hasChildren


tidyNode->isAsp

(PHP 5 >= 5.0.1)

tidyNode->isAsp -- Returns true if this node is ASP

Description

bool tidyNode->isAsp ( void )

This functions returns TRUE if the current node is ASP, or FALSE otherwise.

참고: This function was named tidy_node->is_asp() in PHP 4/Tidy 1.

이전 | 위로 | 다음
tidyNode->hasSiblings | 처음으로 | tidyNode->isComment


tidyNode->isPhp

(PHP 5 >= 5.0.1)

tidyNode->isPhp -- Returns true if this node is PHP

Description

bool tidyNode->isPhp ( void )

Returns TRUE if the current node is PHP code, FALSE otherwise.

예 2429. get the PHP code from a mixed HTML/PHP document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
</head>
<body>

<?php
echo 'hello world!';
?>

</body></html>
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_php($tidy->html());

function get_php($node) {

    // check if the current node is PHP code
    if($node->isPhp()) {
        echo "\n\n# PHP node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_php($child);
        }
    }
}

?>

위 예제의 출력:

# PHP node #1
<?php echo '<title>title</title>'; ?>

# PHP node #2
<?php
echo 'hello world!';
?>

참고: This function was named tidy_node->is_php() in PHP 4/Tidy 1.

이전 | 위로 | 다음
tidyNode->isJste | 처음으로 | tidyNode->isText


Tokenizer Functions

이전 VI. 함수 레퍼런스 다음

CLXVIII. Tokenizer Functions

소개

The tokenizer functions provide an interface to the PHP tokenizer embedded in the Zend Engine. Using these functions you may write your own PHP source analyzing or modification tools without having to deal with the language specification at the lexical level.

See also the appendix about tokens.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

Beginning with PHP 4.3.0 these functions are enabled by default. For older versions you have to configure and compile PHP with --enable-tokenizer. You can disable tokenizer support with --disable-tokenizer.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

참고: Built-in support for tokenizer is available as of PHP 4.3.0.

예약 상수

When the extension has either been compiled into PHP or dynamically loaded at runtime, the tokens listed in 부록 S. 해석기 토큰 목록 are defined as constants.

예제

Here is a simple example PHP scripts using the tokenizer that will read in a PHP file, strip all comments from the source and print the pure code only.

예 2430. Strip comments with the tokenizer

<?php
/*
 * T_ML_COMMENT does not exist in PHP 5.
 * The following three lines define it in order to
 * preserve backwards compatibility.
 *
 * The next two lines define the PHP 5 only T_DOC_COMMENT,
 * which we will mask as T_ML_COMMENT for PHP 4.
 */
if (!defined('T_ML_COMMENT')) {
    define('T_ML_COMMENT', T_COMMENT);
} else {
    define('T_DOC_COMMENT', T_ML_COMMENT);
}

$source = file_get_contents('example.php');
$tokens = token_get_all($source);

foreach ($tokens as $token) {
    if (is_string($token)) {
        // simple 1-character token
        echo $token;
    } else {
        // token array
        list($id, $text) = $token;

        switch ($id) {
            case T_COMMENT:
            case T_ML_COMMENT: // we've defined this
            case T_DOC_COMMENT: // and this
                // no action on comments
                break;

            default:
                // anything else -> output "as is"
                echo $text;
                break;
        }
    }
}
?>

차례

token_get_all -- Split given source into PHP tokens
token_name -- Get the symbolic name of a given PHP token
이전 | 위로 | 다음
tidyNode::getParent | 처음으로 | token_get_all


token_get_all

(PHP 4 >= 4.2.0, PHP 5)

token_get_all -- Split given source into PHP tokens

설명

array token_get_all ( string $source )

token_get_all() parses the given source string into PHP language tokens using the Zend engine's lexical scanner.

For a list of parser tokens, see 부록 S. 해석기 토큰 목록, or use token_name() to translate a token value into its string representation.

매개변수

source

The PHP source to parse.

반환값

An array of token identifiers. Each individual token identifier is either a single character (i.e.: ;, ., >, !, etc...), or a three element array containing the token index in element 0, the string content of the original token in element 1 and the line number in element 2.

예제

예 2431. token_get_all() examples

<?php
$tokens = token_get_all('<?php echo; ?>'); /* => array(
                                                  array(T_OPEN_TAG, '<?php'),
                                                  array(T_ECHO, 'echo'),
                                                  ';',
                                                  array(T_CLOSE_TAG, '?>') ); */

/* Note in the following example that the string is parsed as T_INLINE_HTML
   rather than the otherwise expected T_COMMENT (T_ML_COMMENT in PHP <5).
   This is because no open/close tags were used in the "code" provided.
   This would be equivalent to putting a comment outside of <?php ?> tags in a normal file. */
$tokens = token_get_all('/* comment */'); // => array(array(T_INLINE_HTML, '/* comment */'));
?>

변경 기록

버전 | 설명
5.2.2 | Line numbers are returned in element 2

이전 | 위로 | 다음
CLXVIII. Tokenizer Functions | 처음으로 | token_name


token_name

(PHP 4 >= 4.2.0, PHP 5)

token_name -- Get the symbolic name of a given PHP token

설명

string token_name ( int $token )

token_name() gets the symbolic name for a PHP token value.

매개변수

token

The token value.

반환값

The symbolic name of the given token. The returned name returned matches the name of the matching token constant.

예제

예 2432. token_name() example

<?php
// 260 is the token value for the T_REQUIRE token
echo token_name(260);        // -> "T_REQUIRE"

// a token constant maps to its own name
echo token_name(T_FUNCTION); // -> "T_FUNCTION"
?>

참고

List of Parser Tokens

이전 | 위로 | 다음
token_get_all | 처음으로 | CLXIX. Unicode Functions


URL 함수

이전 VI. 함수 레퍼런스 다음

CLXX. URL 함수

소개

URL 문자열을 다룹니다: 인코딩, 디코딩, 파싱.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

base64_decode -- MIME base64 인코드 데이터를 디코드합니다.
base64_encode -- 데이터를 MIME base64로 인코드합니다.
get_headers -- Fetches all the headers sent by the server in response to a HTTP request
get_meta_tags -- 파일에서 모든 메타 태그 내용 요소를 추출하여 배열로 반환합니다.
http_build_query -- URL 인코드한 쿼리 문자열을 생성합니다.
parse_url -- URL을 처리해서 구성요소를 반환합니다.
rawurldecode -- URL 인코드 문자열을 디코드합니다.
rawurlencode -- RFC 1738에 따라 URL을 인코드합니다.
urldecode -- URL 인코드 문자열을 디코드합니다.
urlencode -- 문자열을 URL 인코드합니다.
이전 | 위로 | 다음
unicode_set_subst_char | 처음으로 | base64_decode


base64_decode

(PHP 4, PHP 5)

base64_decode -- MIME base64 인코드 데이터를 디코드합니다.

설명

string base64_decode ( string $encoded_data )

base64_decode()는 encoded_data를 디코드하고 원 데이터를 반환하거나, 실패시에 FALSE를 반환합니다. 반환 데이터는 바이너리일 수 있습니다.

예 2435. base64_decode() 예제

<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo base64_decode($str);
?>

이 예제의 결과는 :

This is an encoded string

참고: base64_encode(), » RFC 2045 섹션 6.8.

이전 | 위로 | 다음
CLXX. URL 함수 | 처음으로 | base64_encode


base64_encode

(PHP 4, PHP 5)

base64_encode -- 데이터를 MIME base64로 인코드합니다.

설명

string base64_encode ( string $data )

base64_encode()는 base64로 인코드한 data를 반환합니다. 이 인코딩은 메일 본문과 같이 8비트를 사용할 수 없는 전송층에서 바이너리 데이터를 안전하게 전송하기 위해 설계되었습니다.

Base64 인코드 데이터는 원 데이터보다 약 33% 많은 공간을 차지합니다.

예 2436. base64_encode() 예제

<?php
  $str = 'This is an encoded string';
  echo base64_encode($str);
?>

이 예제의 결과는 :

VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==

참고: base64_decode(), chunk_split(), » RFC 2045 섹션 6.8.

이전 | 위로 | 다음
base64_decode | 처음으로 | get_headers


get_headers

(PHP 5)

get_headers -- Fetches all the headers sent by the server in response to a HTTP request

설명

array get_headers ( string $url [, int $format] )

get_headers() returns an array with the headers sent by the server in response to a HTTP request.

매개변수

url

The target URL.

format

If the optional format parameter is set to 1, get_headers() parses the response and sets the array's keys.

반환값

Returns an indexed or associative array with the headers, or FALSE on failure.

변경 기록

버전 | 설명
5.1.3 | This function now uses the default stream context, which can be set/changed with the stream_context_get_default() function.

예제

예 2437. get_headers() example

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, 1));
?>

위 예제의 출력 예:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

이전 | 위로 | 다음
base64_encode | 처음으로 | get_meta_tags


get_meta_tags

(PHP 4, PHP 5)

get_meta_tags -- 파일에서 모든 메타 태그 내용 요소를 추출하여 배열로 반환합니다.

설명

array get_meta_tags ( string $filename [, int $use_include_path] )

filename을 열어서 파일에서 줄 단위로 <meta> 태그를 처리합니다. 이는 로컬 파일이나 URL이 가능합니다. </head>을 만나면 중지합니다.

use_include_path를 1로 설정하면 PHP는 파일을 표준 인크루드 경로 include_path 지시어에 따라 찾습니다. 이는 로컬 파일에 사용하여, URL은 적용하지 않습니다.

예 2438. get_meta_tags()가 처리하는 것

<meta name="author" content="name">
<meta name="keywords" content="php documentation">
<meta name="DESCRIPTION" content="a php manual">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- 여기서 파싱 정지 -->

(라인 끝에 주의하십시오 - PHP는 입력을 처리하는 내부 함수를 사용하기 때문에 맥 파일은 유닉스에서 작동하지 않습니다.)

name 속성값이 키가 되고, content 속성값이 반환 배열의 값이 됩니다. 간단히 표준 배열 함수로 변환하거나, 하나의 값에 접근할 수 있습니다. name 속성값의 특수 문자는 '_'로 치환하고, 나머지는 소문자로 변경합니다. 두 메타 태그가 같은 이름을 가지면, 마지막 것만을 반환합니다.

예 2439. get_meta_tags()가 반환하는 것

<?php
// 위의 태그가 www.example.com에 있다고 가정하면
$tags = get_meta_tags('http://www.example.com/');

// 키가 전부 소문자가 되었고,
// .이 _로 치환되었다는 점에 주의하십시오.
echo $tags['author'];       // name
echo $tags['keywords'];     // php documentation
echo $tags['description'];  // a php manual
echo $tags['geo_position']; // 49.33;-86.59
?>

참고: PHP 4.0.5 부터, get_meta_tags()은 따옴표 없는 HTML 속성을 지원합니다.

참고: htmlentities(), urlencode().

이전 | 위로 | 다음
get_headers | 처음으로 | http_build_query


http_build_query

(PHP 5, PECL pecl_http:0.1.0-0.9.0)

http_build_query -- URL 인코드한 쿼리 문자열을 생성합니다.

설명

string http_build_query ( array $formdata [, string $numeric_prefix] )

주어진 연관(혹은 인덱스) 배열에서 URL 인코드한 쿼리 문자열을 생성합니다. formdata는 배열이나 속성을 가지는 객체일 수 있습니다. formdata는 단순한 1차원 구조일수도, 혹은 (다른 배열을 포함한)배열의 배열일 수 있습니다. 기본 배열에 숫자 인덱스를 사용하고 numeric_prefix가 주어지면, 기본 배열 안의 숫자 인덱스 앞에 덧붙여집니다. 이는 PHP나 다른 CGI 어플리케이션에 적합한 변수명을 가지도록 합니다.

예 2440. http_build_query()의 간단한 사용법

<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
?>

예 2441. http_build_query()와 숫자 인덱스 요소.

<?php
$data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'hypertext processor');

echo http_build_query($data);
/* 출력:
      0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
 */

echo http_build_query($data, 'myvar_');
/* 출력:
      myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor
 */
?>

예 2442. http_build_query()와 복잡한 배열

<?php
$data = array('user'=>array('name'=>'Bob Smith',
                            'age'=>47,
                            'sex'=>'M',
                            'dob'=>'5/12/1956'),
              'pastimes'=>array('golf', 'opera', 'poker', 'rap'),
              'children'=>array('bobby'=>array('age'=>12,
                                               'sex'=>'M'),
                                'sally'=>array('age'=>8,
                                               'sex'=>'F')),
              'CEO');

echo http_build_query($data, 'flags_');
?>

출력은(읽기 편하도록 줄바꿈 처리):

user[name]=Bob+Smith&user[age]=47&user[sex]=M&user[dob]=5%1F12%1F1956&
pastimes[0]=golf&pastimes[1]=opera&pastimes[2]=poker&pastimes[3]=rap&
children[bobby][age]=12&children[bobby][sex]=M&children[sally][age]=8&
children[sally][sex]=F&flags_0=CEO

참고: 기본 배열의 숫자 인덱스 요소인 "CEO"만이 전치사를 가집니다. 내부에 존재하는 다른 숫자 인덱스는, 적합한 변수명을 가지기 위한 문자열 전치사가 필요하지 않습니다.

예 2443. http_build_query()에 객체 사용하기

<?php
class myClass {
  var $foo;
  var $baz;

  function myClass()
  {
    $this->foo = 'bar';
    $this->baz = 'boom';
  }
}

$data = new myClass();

echo http_build_query($data); // foo=bar&baz=boom
?>

참고:
parse_str(),
parse_url(),
urlencode(),
array_walk()

이전 | 위로 | 다음
get_meta_tags | 처음으로 | parse_url


parse_url

(PHP 4, PHP 5)

parse_url -- URL을 처리해서 구성요소를 반환합니다.

설명

array parse_url ( string $url )

이 함수는 존재하는 URL의 다양한 구성요소를 포함하는 연관 배열을 반환합니다. 구성요소가 빠져있으면, 엔트리는 만들어지지 않습니다. 구성요소는 :

  • scheme - 예. http
  • host
  • port
  • user
  • pass
  • path
  • query - 물음표 ? 뒤
  • fragment - 해쉬마크 # 뒤

이 함수는 주어진 URL의 유효성을 검증하는 것이 아닙니다. 단지 위의 목록 부분으로 구분할 뿐입니다. 부분적인 URL도 받아들여지고, parse_url()은 가장 적합하게 처리하도록 시도합니다.

참고: 이 함수는 상대 URL에는 작동하지 않습니다.

예 2444. parse_url() 예제

$ php -r 'print_r(parse_url("http://username:password@hostname/path?arg=value#anchor"));'
Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)

$ php -r 'print_r(parse_url("http://invalid_host..name/"));'
Array
(
    [scheme] => http
    [host] => invalid_host..name
    [path] => /
)

참고: pathinfo(), parse_str(), dirname(), basename().

이전 | 위로 | 다음
http_build_query | 처음으로 | rawurldecode


rawurldecode

(PHP 4, PHP 5)

rawurldecode -- URL 인코드 문자열을 디코드합니다.

설명

string rawurldecode ( string $str )

퍼센트(%)에 이어지는 두 16진수 시퀀스를 표시 문자로 교체한 문자열을 반환합니다.

예 2445. rawurldecode() 예제

<?php

echo rawurldecode('foo%20bar%40baz'); // foo bar@baz

?>

참고: rawurldecode()는 플러스 심볼('+')을 공백으로 변환하지 않습니다. urldecode()는 변환합니다.

참고: rawurlencode(),
urldecode(),
urlencode().

이전 | 위로 | 다음
parse_url | 처음으로 | rawurlencode


rawurlencode

(PHP 4, PHP 5)

rawurlencode -- RFC 1738에 따라 URL을 인코드합니다.

설명

string rawurlencode ( string $str )

-_.을 제외한 모든 영숫자가 아닌 문자를 퍼센트(%) 사인에 이어지는 두 16진수로 교체한 문자열을 반환합니다. 이는 표시 문자가 특별한 URL 구분자로 해석되는걸 방지하고, 문자 변환이 이루어지는 전송 매체(몇몇 email 시스템 등)에서 URL을 보호하기 위한 RFC 1738에 설명된 인코딩입니다. 예를 들어, FTP URL에 패스워드를 포함하고자 한다면:

예 2446. rawurlencode() 예제 1

<?php
echo '<a href="ftp://user:', rawurlencode('foo @+%/'),
     '@ftp.example.com/x.txt">';
?>

혹은, URL의 PATH_INFO 안에 경로 정보를 전달하고자 한다면:

예 2447. rawurlencode() 예제 2

<?php
echo '<a href="http://example.com/department_list_script/',
    rawurlencode('sales and marketing/Miami'), '">';
?>

참고: rawurldecode(),
urldecode(),
urlencode(),
» RFC 1738.

이전 | 위로 | 다음
rawurldecode | 처음으로 | urldecode


urldecode

(PHP 4, PHP 5)

urldecode -- URL 인코드 문자열을 디코드합니다.

설명

string urldecode ( string $str )

주어진 문자열의 %## 인코딩을 디코드합니다. 디코드한 문자열을 반환합니다.

예 2448. urldecode() 예제

<?php
$a = explode('&', $QUERY_STRING);
$i = 0;
while ($i < count($a)) {
    $b = split('=', $a[$i]);
    echo 'Value for parameter ', htmlspecialchars(urldecode($b[0])),
         ' is ', htmlspecialchars(urldecode($b[1])), "<br />\n";
    $i++;
}
?>

참고: urlencode(),
rawurlencode(),
rawurldecode().

이전 | 위로 | 다음
rawurlencode | 처음으로 | urlencode


urlencode

(PHP 4, PHP 5)

urlencode -- 문자열을 URL 인코드합니다.

설명

string urlencode ( string $str )

-_.을 제외한 모든 영숫자가 아닌 문자를 퍼센트(%) 사인에 이어지는 두 16진수로 교체하고 공백은 플러스(+) 사인으로 교체한 문자열을 반환합니다. 이는 WWW 폼에서 인코드한 포스트 데이터, application/x-www-form-urlencoded 매체형과 같은 방식의 인코드입니다. 역사적인 이유로 공백을 플러스(+) 사인으로 인코드 하는 점이 RFC1738 인코딩(rawurlencode() 참고)과 다릅니다. 이 함수는 URL의 쿼리 부분에 사용하는 문자열을 인코딩할 때 편리합니다. 다음과 같이 다음 페이지로 변수를 전달합니다:

예 2449. urlencode() 예제

<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>

주의: HTML 엔티티가 들어있는 변수에는 주의를 기울이십시오. &amp, &copy, &pound 같은 것은 브라우저에 의해 파싱되어 변수명 대신에 엔티티가 사용됩니다. 이는 몇년동안 W3C가 두드러지게 이야기해온 문제입니다. 레퍼런스는 여기에 있습니다: » http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2 PHP는 .ini 지시어의 arg_seperator를 통하여 W3C가 제시한 세미콜론 인수 구분자 변경을 지원합니다. 불행하게도 대부분의 유저 에이전트는 폼 데이터를 세미콜론 구분 형태로 전송하지 않습니다. 이를 해결하는 가장 현실적인 방법은 구분자로 &를 사용하는 대신 &amp;를 사용하는 것입니다. 이렇게 하면, PHP의 arg_separator를 변경할 필요가 없습니다. &로 내버려두고, 간단히 URL을 htmlentities(urlencode($data))를 사용하여 인코드하십시오.

예 2450. urlencode()와 htmlentities() 예제

<?php
echo '<a href="mycgi?foo=', htmlentities(urlencode($userinput)), '">';
?>

참고: urldecode(),
htmlentities(),
rawurldecode(),
rawurlencode().

이전 | 위로 | 다음
urldecode | 처음으로 | CLXXI. 변수 관련 함수


변수 관련 함수

이전 VI. 함수 레퍼런스 다음

CLXXI. 변수 관련 함수

소개

변수가 가지는 성질에 대한 정보는, 매뉴얼 언어 레퍼런스 섹션의 변수 엔트리를 참고하십시오.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 320. 변수 설정 옵션

이름 | 기본값 | 변경가능성
unserialize_callback_func | "" | PHP_INI_ALL

PHP_INI_* 상수에 관한 자세한 내용과 정의는 ini_set()을 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

unserialize_callback_func string

unserializer가 작성할 필요가 있는 미정의 클래스를 발견하면, (미정의 클래스 이름을 인자로) unserialize 콜백 함수를 호출합니다. 지정한 함수가 정의되어 있지 않거나, 함수가 존재하지 않는 클래스를 포함/상속하지 못하면 경고를 발생합니다. 콜백 함수가 필요한 경우에만, 이 엔트리를 지정하십시오.

참고: unserialize().

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

debug_zval_dump -- Dumps a string representation of an internal zend value to output
doubleval -- floatval()의 별칭
empty -- 변수가 비어있는지 검사합니다.
floatval -- 변수의 실수값을 얻습니다.
get_defined_vars -- 모든 정의된 변수의 배열을 반환합니다.
get_resource_type -- 자원형을 반환합니다.
gettype -- 변수 형을 얻습니다.
import_request_variables -- GET/POST/쿠키 변수를 전역으로 가져옵니다.
intval -- 변수의 정수값을 얻습니다.
is_array -- 변수가 배열인지 확인합니다.
is_binary -- Finds whether a variable is a native binary string
is_bool -- 변수가 불린인지 확인합니다.
is_buffer -- Finds whether a variable is a native unicode or binary string
is_callable -- 변수의 내용이 함수처럼 호출할 수 있는지 확인합니다.
is_double -- is_float()의 별칭.
is_float -- 변수가 실수인지 확인합니다.
is_int -- 변수가 정수인지 확인합니다.
is_integer -- is_int()의 별칭.
is_long -- is_int()의 별칭.
is_null -- 변수가 NULL인지 확인합니다.
is_numeric -- 변수가 수나 수 문자열인지 확인합니다.
is_object -- 변수가 객체인지 확인합니다.
is_real -- is_float()의 별칭.
is_resource -- 변수가 자원인지 확인합니다.
is_scalar -- 변수가 스칼라인지 확인합니다.
is_string -- 변수가 문자열인지 확인합니다.
is_unicode -- Finds whether a variable is a unicode string
isset -- 존재하는 변수인지 확인합니다.
print_r -- 변수에 관한 정보를 사람이 읽기 좋게 출력합니다.
serialize -- 값의 저장 표현을 생성합니다.
settype -- 변수형을 설정합니다.
strval -- 변수의 문자열값을 얻습니다.
unserialize -- 저장 표현에서 PHP 값을 작성합니다.
unset -- 주어진 변수를 제거합니다.
var_dump -- 변수에 관한 정보를 덤프합니다.
var_export -- 변수의 표현을 출력하거나 문자열로 반환합니다.
이전 | 위로 | 다음
urlencode | 처음으로 | debug_zval_dump


debug_zval_dump

(PHP 4 >= 4.2.0, PHP 5)

debug_zval_dump -- Dumps a string representation of an internal zend value to output

설명

void debug_zval_dump ( mixed $variable )

Dumps a string representation of an internal zend value to output.

매개변수

variable

The variable being evaluated.

반환값

값을 반환하지 않습니다.

예제

예 2451. debug_zval_dump() example

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump(&$var1);
?>

위 예제의 출력:

&string(11) "Hello World" refcount(3)

Beware the refcount: The refcount value returned by this function is non-obvious in certain circumstances. For example, a developer might expect the above example to indicate a refcount of 2. The third reference is created when actually calling debug_zval_dump().

This behavior is further compounded when a variable is not passed to debug_zval_dump() by reference. To illustrate, consider a slightly modified version of the above example:

예 2452.

<?php
$var1 = 'Hello World';
$var2 = '';

$var2 =& $var1;

debug_zval_dump($var1); // not passed by reference, this time
?>

위 예제의 출력:

string(11) "Hello World" refcount(1)

Why refcount(1)? Because a copy of $var1 is being made, when the function is called.

This function becomes even more confusing when a variable with a refcount of 1 is passed (by copy/value):

예 2453.

<?php
$var1 = 'Hello World';

debug_zval_dump($var1);
?>

위 예제의 출력:

string(11) "Hello World" refcount(2)

A refcount of 2, here, is extremely non-obvious. Especially considering the above examples. So what's happening?

When a variable has a single reference (as did $var1 before it was used as an argument to debug_zval_dump()), PHP's engine optimizes the manner in which it is passed to a function. Internally, PHP treats $var1 like a reference (in that the refcount is increased for the scope of this function), with the caveat that if the passed reference happens to be written to, a copy is made, but only at the moment of writing. This is known as "copy on write."

So, if debug_zval_dump() happened to write to its sole parameter (and it doesn't), then a copy would be made. Until then, the parameter remains a reference, causing the refcount to be incremented to 2 for the scope of the function call.

참고

var_dump()
debug_backtrace()
References Explained
» References Explained (by Derick Rethans)

이전 | 위로 | 다음
CLXXI. 변수 관련 함수 | 처음으로 | doubleval


doubleval

(PHP 4, PHP 5)

doubleval -- floatval()의 별칭

설명

이 함수는 floatval()의 별칭입니다.

참고: 함수명 변경시에 별칭으로 남겨졌습니다. 이전의 PHP에서는 floatval()이 존재하지 않았기 때문에, floatval() 대신 이 함수명을 사용해야 합니다.

이전 | 위로 | 다음
debug_zval_dump | 처음으로 | empty


empty

(PHP 4, PHP 5)

empty -- 변수가 비어있는지 검사합니다.

설명

bool empty ( mixed $var )

empty()는 var가 비어있지 않고 제로가 아닌 값이라면 FALSE를 반환합니다. 즉, "", 0, "0", NULL, FALSE, array(), var $var, 비어있는 프로퍼티의 객체를 비어있는 것으로 판단합니다. var가 비어있다면 TRUE를 반환합니다.

empty()는 변수값이 지정되지 않았을 때 경고를 출력하지 않는 것을 제외하고, (boolean) var의 반대입니다. 자세한 정보는 불린으로 변경을 참고하십시오.

예 2454. 간단한 empty() / isset() 비교입니다.

<?php
$var = 0;

// $var가 비어있기 때문에 true로 판단합니다.
if (empty($var)) {
    echo '$var is either 0, empty, or not set at all';
}

// $var가 지정되어 있기 때문에 true로 판단합니다.
if (isset($var)) {
    echo '$var is set even though it is empty';
}
?>

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

참고: 구문 에러일 경우를 제외하고 empty()은 변수를 확인할 뿐입니다. 즉, 다음과 같은 것은 작동하지 않습니다: empty(addslashes($name)).

참고: isset(),
unset(),
array_key_exists(),
count(),
strlen(),
타입 비교표.

이전 | 위로 | 다음
doubleval | 처음으로 | floatval


floatval

(PHP 4 >= 4.2.0, PHP 5)

floatval -- 변수의 실수값을 얻습니다.

설명

float floatval ( mixed $var )

var의 float값을 반환합니다.

Var는 스칼라형을 받아들입니다. floatval()에 배열이나 객체를 사용할 수 없습니다.

<?php
$var = '122.34343The';
$float_value_of_var = floatval ($var);
echo $float_value_of_var; // 122.34343를 출력
?>

참고: intval(), strval(), settype(), 타입 저글링.

이전 | 위로 | 다음
empty | 처음으로 | get_defined_vars


get_defined_vars

(PHP 4 >= 4.0.4, PHP 5)

get_defined_vars -- 모든 정의된 변수의 배열을 반환합니다.

설명

array get_defined_vars ( void )

이 함수는 환경변수, 서버나 유저 정의 변수 등 모든 정의된 변수 목록을 포함하는 다차원 배열을 반환합니다.

<?php
$b = array(1, 1, 2, 3, 5, 8);

$arr = get_defined_vars();

// $b를 출력
print_r($arr["b"]);

/* PHP 인터프리터의 경로를 출력 (CGI로 사용할 때)
 * 즉, /usr/local/bin/php */
echo $arr["_"];

// 명령줄 인자가 존재한다면 출력
print_r($arr["argv"]);

// 모든 서버 변수를 출력
print_r($arr["_SERVER"]);

// 변수 배열의 모든 키를 출력
print_r(array_keys(get_defined_vars()));
?>

참고: get_defined_functions(), get_defined_constants().

이전 | 위로 | 다음
floatval | 처음으로 | get_resource_type


get_resource_type

(PHP 4 >= 4.0.2, PHP 5)

get_resource_type -- 자원형을 반환합니다.

설명

string get_resource_type ( resource $handle )

이 함수는 resource에 들어있는 형의 문자열 표현을 반환합니다. 인자가 유효하지 않은 resource라면, 에러를 발생합니다.

<?php
// 출력: mysql link
$c = mysql_connect();
echo get_resource_type($c) . "\n";

// 출력: file
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";

// 출력: domxml document
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
?>

이전 | 위로 | 다음
get_defined_vars | 처음으로 | gettype


gettype

(PHP 4, PHP 5)

gettype -- 변수 형을 얻습니다.

설명

string gettype ( mixed $var )

PHP 변수 var의 형을 반환합니다.

주의

gettype()을 어떤 형인지 시험하기 위해 사용하지 마십시오. 반환 문자열은 앞으로의 버전에서 바뀔 수 있습니다. 추가로, 문자열 비교를 수행하기 때문에 느립니다.

대신, is_* 함수를 사용하십시오.

반환 문자열의 가능한 값은:

  • "boolean" (PHP 4부터)
  • "integer"
  • "double" (역사적인 이유로 float의 경우에도 단순한 "float"가 아닌 "double"을 반환합니다)
  • "string"
  • "array"
  • "object"
  • "resource" (PHP 4부터)
  • "NULL" (PHP 4부터)
  • "user function" (PHP 3만, 배제됨)
  • "unknown type"

PHP 4에서는, 이전에 함수에 사용하던 gettype()
대신 function_exists()와
method_exists()을 사용해야 합니다.

참고:
settype(),
is_array(),
is_bool(),
is_float(),
is_integer(),
is_null(),
is_numeric(),
is_object(),
is_resource(),
is_scalar(),
is_string().

이전 | 위로 | 다음
get_resource_type | 처음으로 | import_request_variables


import_request_variables

(PHP 4 >= 4.0.7, PHP 5)

import_request_variables -- GET/POST/쿠키 변수를 전역으로 가져옵니다.

설명

bool import_request_variables ( string $types [, string $prefix] )

GET/POST/쿠키 변수를 전역으로 가져옵니다. register_globals을 사용하지 않지만, 몇몇 변수를 전역에서 사용하고 싶을 때 유용합니다.

SERVER 등의 다른 변수를 전역으로 가져오고 싶다면, extract()를 사용하십시오.

매개변수

types

types 매개변수를 사용하여, 어떠한 요청 변수를 가져올지 지정할 수 있습니다. 'G', 'P', 'C' 문자가 GET, POST, 쿠키에 대응합니다. 대소문자는 구별하지 않기 때문에 'g', 'p', 'c,'의 조합도 사용할 수 있습니다. POST는 POST 업로드 파일 정보도 포함합니다.

참고: 문자 순서에 주의하십시오. "gp"를 사용하면, POST 변수가 동일한 이름을 가지는 GET 변수를 덮어씌웁니다. GPC 이외의 모든 문자는 무시합니다.

prefix

전역으로 가져오는 모든 변수의 이름 앞에 붙이는 변수명 prefix입니다. "userid"라는 GET 값을 가지고 prefix에 "pref_"를 넘기면, 전역 변수 이름은 $pref_userid가 됩니다.

참고: prefix 매개변수는 선택적이지만, prefix를 지정하지 않거나 빈 문자열을 지정하면, E_NOTICE가 발생합니다. 이는 보안 문제가 발생하기 때문입니다. Notice 오류는 기본 오류 보고 레벨에서는 표시되지 않습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2455. import_request_variables() 예제

<?php
// GET과 POST 변수를
// "rvar_" prefix로 가져옵니다.
import_request_variables("gp", "rvar_");

echo $rvar_foo;
?>

참고

$_REQUEST
register_globals
예약 변수
extract()

이전 | 위로 | 다음
gettype | 처음으로 | intval


intval

(PHP 4, PHP 5)

intval -- 변수의 정수값을 얻습니다.

설명

int intval ( mixed $var [, int $base] )

지정한 base 값에 따른 var의 integer값을 반환합니다. (기본 base는 10입니다)

var는 어떠한 스칼라형일 수 있습니다. intval()에 array나 object를 사용할 수 없습니다.

참고: intval()의 base 인자는 var 인자가 문자열이 아니라면 영향을 주지 않습니다.

참고: floatval(), strval(), settype(), 타입 저글링.

이전 | 위로 | 다음
import_request_variables | 처음으로 | is_array


is_array

(PHP 4, PHP 5)

is_array -- 변수가 배열인지 확인합니다.

설명

bool is_array ( mixed $var )

var가 array면 TRUE를, 아니라면 FALSE를 반환합니다.

예 2456. 변수가 배열인지 확인

<?php
$yes = array('이', '변수는', '배열');

echo is_array($yes) ? '배열' : '배열 아님';
echo "\n"

$no = '이 변수는 문자열';

echo is_array($no) ? '배열' : '배열 아님';
?>

이 예제의 출력은:

배열
배열 아님

참고:
is_float(),
is_int(),
is_integer(),
is_string(),
is_object().

이전 | 위로 | 다음
intval | 처음으로 | is_binary


is_bool

(PHP 4, PHP 5)

is_bool -- 변수가 불린인지 확인합니다.

설명

bool is_bool ( mixed $var )

var 인자가 boolean이면 TRUE를 반환합니다.

예 2457. is_bool() 예제

<?php
$a = false;
$b = 0;

// $a는 불린이기 때문에, true입니다.
if (is_bool($a)) {
    echo "불린입니다.";
}

// $b는 불린이 아니기 때문에, true가 아닙니다.
if (is_bool($b)) {
    echo "불린입니다.";
}
?>

참고:
is_array(),
is_float(),
is_int(),
is_integer(),
is_string(),
is_object().

이전 | 위로 | 다음
is_binary | 처음으로 | is_buffer


is_callable

(PHP 4 >= 4.0.6, PHP 5)

is_callable -- 변수의 내용이 함수처럼 호출할 수 있는지 확인합니다.

설명

bool is_callable ( mixed $var [, bool $syntax_only [, string $callable_name]] )

변수의 내용이 함수처럼 호출할 수 있는지 확인합니다. 변수가 유효한 함수의 이름을 포함하고 있는지, 혹은 인코드된 객체와 함수 이름을 가지는 배열인지를 간단히 확인할 수 있습니다.

var 인자는 문자열 변수에 저장한 함수의 이름이거나, 객체 안의 객체와 메쏘드의 이름일 수 있습니다. 예:

array($SomeObject, 'MethodName')

syntax_only 인자가 TRUE 라면 이 함수는 var가 함수나 메쏘드일 수 있는지만을 확인합니다. 이는 단순히 문자열이 아닌 변수나 유효하게 콜백에 사용할 수 있는 구조가 아닌 배열을 거부합니다. 유효한 것은 2 엔트리뿐이며, 첫번째는 객체나 문자열, 두번째는 문자열입니다.

callable_name 인자는 "호출할 수 있는 이름"을 받습니다. 아래의 예제에서 이는 "someClass:someMethod"입니다. 그러나 somClass::SomeMethod()가 호출할 수 있는 정적 메쏘드라면, 불가능하다는 점에 주의하십시오.

<?php
//  변수를 함수처럼 호출할 수 있는지
//  체크하는 방법.

//
//  함수를 포함하는 간단한 변수
//

function someFunction()
{
}

$functionVariable = 'someFunction';

var_dump(is_callable($functionVariable, false, $callable_name));  // bool(true)

echo $callable_name, "\n";  // someFunction

//
//  메쏘드를 포함하는 배열
//

class someClass {

  function someMethod()
  {
  }

}

$anObject = new someClass();

$methodVariable = array($anObject, 'someMethod');

var_dump(is_callable($methodVariable, true, $callable_name));  //  bool(true)

echo $callable_name, "\n";  //  someClass:someMethod

?>
이전 | 위로 | 다음
is_buffer | 처음으로 | is_double


is_double

(PHP 4, PHP 5)

is_double -- is_float()의 별칭.

설명

이 함수는 is_float()의 별칭입니다.

이전 | 위로 | 다음
is_callable | 처음으로 | is_float


is_float

(PHP 4, PHP 5)

is_float -- 변수가 실수인지 확인합니다.

설명

bool is_float ( mixed $var )

var가 float라면 TRUE, 아니라면 FALSE를 반환합니다.

참고: 변수가 숫자나 숫자 문자열(폼 입력 등은 항상 문자열입니다)인지 확인하려면, is_numeric()을 사용해야 합니다.

참고:
is_bool(),
is_int(),
is_integer(),
is_numeric(),
is_string(),
is_array(),
is_object(),

이전 | 위로 | 다음
is_double | 처음으로 | is_int


is_int

(PHP 4, PHP 5)

is_int -- 변수가 정수인지 확인합니다.

설명

bool is_int ( mixed $var )

var가 integer이면 TRUE를, 아니라면 FALSE를 반환합니다.

참고: 변수가 수나 수 문자열(항상 문자열인 폼 입력 등)인지를 확인하려면, is_numeric()을 사용해야 합니다.

참고: is_bool(),
is_float(),
is_integer(),
is_numeric(),
is_string(),
is_array(),
is_object().

이전 | 위로 | 다음
is_float | 처음으로 | is_integer


is_integer

(PHP 4, PHP 5)

is_integer -- is_int()의 별칭.

설명

이 함수는 is_int()의 별칭입니다.

이전 | 위로 | 다음
is_int | 처음으로 | is_long


is_long

(PHP 4, PHP 5)

is_long -- is_int()의 별칭.

설명

이 함수는 is_int()의 별칭입니다.

이전 | 위로 | 다음
is_integer | 처음으로 | is_null


is_null

(PHP 4 >= 4.0.4, PHP 5)

is_null -- 변수가 NULL인지 확인합니다.

설명

bool is_null ( mixed $var )

var가 null이면 TRUE를, 아니라면 FALSE를 반환합니다.

언제 변수를 NULL로 판단하는지에 대해 NULL형을 참고하십시오.

참고: NULL,
is_bool(),
is_numeric(),
is_float(),
is_int(),
is_string(),
is_object(),
is_array(),
is_integer(),
is_real().

이전 | 위로 | 다음
is_long | 처음으로 | is_numeric


is_numeric

(PHP 4, PHP 5)

is_numeric -- 변수가 수나 수 문자열인지 확인합니다.

설명

bool is_numeric ( mixed $var )

var가 수나 수 문자열이라면 TRUE를, 아니라면 FALSE를 반환합니다.

참고: is_bool(),
is_float(),
is_int(),
is_string(),
is_object(),
is_array(),
is_integer().

이전 | 위로 | 다음
is_null | 처음으로 | is_object


is_object

(PHP 4, PHP 5)

is_object -- 변수가 객체인지 확인합니다.

설명

bool is_object ( mixed $var )

var가 object면 TRUE를, 아니라면 FALSE를 반환합니다.

참고: is_bool(),
is_int(),
is_integer(),
is_float(),
is_string(),
is_array().

이전 | 위로 | 다음
is_numeric | 처음으로 | is_real


is_real

(PHP 4, PHP 5)

is_real -- is_float()의 별칭.

설명

이 함수는 is_float()의 별칭입니다.

이전 | 위로 | 다음
is_object | 처음으로 | is_resource


is_resource

(PHP 4, PHP 5)

is_resource -- 변수가 자원인지 확인합니다.

설명

bool is_resource ( mixed $var )

is_resource()은 var 인자에 주어진 변수가 resource면 TRUE를, 아니라면 FALSE를 반환합니다.

예 2458. is_resource() 사용하기

<?php

$db_link = @mysql_connect('localhost', 'mysql_user', 'mysql_pass');
if (!is_resource($db_link)) {
    die('접속할 수 없습니다 : ' . mysql_error());
}

?>

자세한 정보는 resource형 문서를 참고하십시오.

이전 | 위로 | 다음
is_real | 처음으로 | is_scalar


is_scalar

(PHP 4 >= 4.0.5, PHP 5)

is_scalar -- 변수가 스칼라인지 확인합니다.

설명

bool is_scalar ( mixed $var )

is_scalar()는 var 인자에 주어진 변수가 스칼라면 TRUE를, 아니라면 FALSE를 반환합니다.

스칼라 변수는 interger, float, string, boolean입니다. array, object, resource형은 스칼라가 아닙니다.

<?php
function show_var($var)
{
    if (is_scalar($var)) {
        echo $var;
    } else {
        var_dump($var);
    }
}
$pi = 3.1416;
$proteins = array("hemoglobin", "cytochrome c oxidase", "ferredoxin");

show_var($pi);
// prints: 3.1416

show_var($proteins)
// 출력:
// array(3) {
//   [0]=>
//   string(10) "hemoglobin"
//   [1]=>
//   string(20) "cytochrome c oxidase"
//   [2]=>
//   string(10) "ferredoxin"
// }
?>

참고: is_scalar()는 resource가 interger 기반으로 표현함에도 불구하고 resource형 값을 스칼라로 판단하지 않습니다. 이는 앞으로 변경될 수도 있습니다.

참고: is_bool(),
is_numeric(),
is_float(),
is_int(),
is_real(),
is_string(),
is_object(),
is_array(),
is_integer().

이전 | 위로 | 다음
is_resource | 처음으로 | is_string


is_string

(PHP 4, PHP 5)

is_string -- 변수가 문자열인지 확인합니다.

설명

bool is_string ( mixed $var )

var가 string이면 TRUE를, 아니라면 FALSE를 반환합니다.

참고:
is_bool(),
is_int(),
is_integer(),
is_float(),
is_real(),
is_object(),
is_array().

이전 | 위로 | 다음
is_scalar | 처음으로 | is_unicode


isset

(PHP 4, PHP 5)

isset -- 존재하는 변수인지 확인합니다.

설명

bool isset ( mixed $var [, mixed $var [, $...]] )

var가 존재하면 TRUE를, 존재하지 않는 다면 FALSE를 반환합니다.

변수를 unset()으로 지우면, 더 이상 존재하지 않습니다. NULL로 지정한 변수를 확인하면 isset()은 FALSE를 반환합니다. NULL 바이트("\0")는 PHP NULL 상수와 다릅니다.

경고: isset()은 변수만을 받아들이며, 다른 것에는 문법 에러를 발생합니다. 상수가 정의되었는지 확인하려면 defined() 함수를 사용하십시오.

<?php

$var = '';

// TRUE이기에 텍스트를 출력합니다.
if (isset($var)) {
    echo "이 변수는 존재하기에 출력합니다.";
}

// 다음 예제는 isset()의 반환값을
// 출력하기 위해서 var_dump를 사용합니다.

$a = "test";
$b = "anothertest";

var_dump(isset($a));     // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo));   // FALSE

?>

배열 요소와도 작동합니다:

<?php

$a = array ('test' => 1, 'hello' => NULL);

var_dump(isset($a['test']));             // TRUE
var_dump(isset($a['foo']));              // FALSE
var_dump(isset($a['hello']));            // FALSE

// 'hello' 키는 NULL이기에 정의되지 않은 것으로 판단합니다.
// NULL 키를 확인하려면 다음을 실행하십시오:
var_dump(array_key_exists('hello', $a)); // TRUE

?>

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

참고: empty(), unset(), defined(), 타입 비교표, array_key_exists(), 에러 제어 @ 연산자.

이전 | 위로 | 다음
is_unicode | 처음으로 | print_r


print_r

(PHP 4, PHP 5)

print_r -- 변수에 관한 정보를 사람이 읽기 좋게 출력합니다.

설명

bool print_r ( mixed $expression [, bool $return] )

참고: return 인자는 PHP 4.3.0에서 추가되었습니다.

print_r()은 변수에 대한 정보를 사람이 읽을 수 있는 방법으로 표시합니다. string, integer, float이 주어지면, 값을 그대로 출력합니다. array가 주어지면, 키와 요소를 알아볼 수 있는 형태로 표현합니다. object에 대해서도 비슷하게 표현합니다. var_dump()와는 달리, print_r()과 var_export()는 PHP 5에서 protected 및 private 속성도 보여줍니다.

print_r()은 배열 포인터를 마지막으로 이동합니다. 처음으로 되돌리려면 reset()을 사용하십시오.

<pre>
<?php
    $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
    print_r ($a);
?>
</pre>

출력은:

<pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

print_r()의 출력을 가져오려면, return 인자를 사용하십시오. 이 인자를 TRUE로 설정하면, print_r()은 출력을 표시(기본값)하는 대신, 반환값으로 내보냅니다.

예 2459. return 인자 예제

<?php
    $b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
    $results = print_r($b, true); //$results가 print_r의 출력을 가집니다.
?>

참고: 4.3.0 이전 버전의 PHP에서 print_r()의 출력을 가져오려면, 출력 제어 함수를 이용하십시오.

참고: PHP 4.0.4 이전에는, 주어진 array이나 object가 자기 자신에의 직접적/비직접적 참조를 포함하고 있으면 print_r()은 무한 루프에 빠졌습니다. 예를 들면, print_r($GLOBALS)가 해당합니다. $GLOBALS는 자기 자신에의 참조를 포함하고 있는 전역 변수이기 때문입니다.

참고: ob_start(),
var_dump(),
var_export().

이전 | 위로 | 다음
isset | 처음으로 | serialize


serialize

(PHP 4, PHP 5, PECL axis2:0.1.0-0.1.1)

serialize -- 값의 저장 표현을 생성합니다.

설명

string serialize ( mixed $value )

serialize()는 어디에도 저장할 수 있도록 value의 바이트 스트림 표현을 포함하는 문자열을 반환합니다.

이는 PHP 값을 저장하거나 전달할 때 형이나 구조를 잃어버리지 않게 합니다.

serialize된 문자열을 다시 PHP 변수로 만들때는, unserialize()를 사용합니다. serialize()는 resource형을 제외한 모든 형을 다릅니다. 심지어 자기 자신을 참조하는 배열을 serialize()할 수도 있습니다. 배열/객체 안의 참조는 serialize()할 때 저장됩니다.

객체를 일렬화할 때, 일렬화에 앞서 __sleep() 멤버 함수를 호출합니다. 이는 일렬화하기 전에 객체를 마지막으로 정리할 수 있도록 합니다. 비슷하게, unserialize()을 사용하려 객체를 되돌릴 때, __wakeup() 멤버 함수를 호출합니다.

참고: PHP 3에서, 객체 속성은 일렬화되지만, 메쏘드는 잃어버립니다. PHP 4에서는 이런 제한이 사라졌고, 속성과 메쏘드를 둘다 복구합니다. 자세한 정보는 클래스와 객체의 객체 일렬화하기 섹션을 참고하십시오.

예 2460. serialize() 예제

<?php
// $session_data는 현재 사용자의 세션 정보를 다차원 배열로
// 가집니다. 요청의 마지막에 이것을 데이터베이스에 저장하기
// 위해서 serialize()를 사용합니다.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn,
      "UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $PHP_AUTH_USER);
if (!odbc_execute($stmt, &$sqldata)) {
    $stmt = odbc_prepare($conn,
     "INSERT INTO sessions (id, data) VALUES(?, ?)");
    if (!odbc_execute($stmt, &$sqldata)) {
        /* 무언가 잘못되었을때 할 일.. */
    }
}
?>

참고: unserialize().

이전 | 위로 | 다음
print_r | 처음으로 | settype


settype

(PHP 4, PHP 5)

settype -- 변수형을 설정합니다.

설명

bool settype ( mixed $var, string $type )

var의 변수형을 type로 설정합니다.

사용할 수 있는 type의 값은:

  • "boolean" (혹은, PHP 4.2.0부터, "bool")
  • "integer" (혹은, PHP 4.2.0부터, "int")
  • "float" (PHP 4.2.0부터만 가능하고, 이전의 버전은 배제된 표현 "double"을 사용합니다)
  • "string"
  • "array"
  • "object"
  • "null" (PHP 4.2.0부터)

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예 2461. settype() 예제

<?php
$foo = "5bar"; // string
$bar = true;   // boolean

settype($foo, "integer"); // $foo는 5   (integer)
settype($bar, "string");  // $bar는 "1" (string)
?>

참고: gettype(), 타입 캐스팅, 타입 저글링.

이전 | 위로 | 다음
serialize | 처음으로 | strval


strval

(PHP 4, PHP 5)

strval -- 변수의 문자열값을 얻습니다.

설명

string strval ( mixed $var )

var의 string값을 반환합니다. 문자열로의 변환에 대한 자세한 정보는 string 문서를 참고하십시오.

var는 어떠한 스칼라형입니다. strval()에 배열이나 객체를 사용할 수 없습니다.

참고: floatval(), intval(), settype(), 타입 저글링.

이전 | 위로 | 다음
settype | 처음으로 | unserialize


unserialize

(PHP 4, PHP 5)

unserialize -- 저장 표현에서 PHP 값을 작성합니다.

설명

mixed unserialize ( string $str )

unserialize()은 하나의 일렬화된 변수(serialize() 참고)를 받아서 PHP 값으로 변환합니다. 변환한 값을 반환합니다. integer, float, string, array, object형이 될 수 있습니다. unserialize할 수 없는 문자열일 경우에는, FALSE를 반환합니다.

unserialize_callback_func 지시어: unserialize중에 정의되지 않은 클래스를 작성해야 할 경우에 콜백 함수를 호출할 수 있습니다. (완전하지 않은 object "__PHP_Incomplete_Class"를 얻는것을 방지할 수 있습니다) php.ini나 ini_set()이나 .htaccess를 이용하여 'unserialize_callback_func'를 정의하십시오. 정의되지 않은 클래스를 작성해야 할 때 마다, 호출됩니다. 이 기능을 비활성화 하려면 간단히 이 설정을 비워두십시오. unserialize_callback_func 지시어는 PHP 4.2.0부터 사용할 수 있습니다.

변수가 객체로 unserialize되고, 성공적으로 객체로 재구성되면, PHP는 자동적으로 __wakeup() 멤버 함수를 호출합니다. (존재한다면)

예 2462. unserialize_callback_func 예제

<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';

// unserialize_callback_func 지시어는 PHP 4.2.0부터 사용할 수 있습니다.
ini_set('unserialize_callback_func', 'mycallback'); // 콜백 함수를 설정

function mycallback($classname)
{
    // 단지 클래스를 정의하는 파일을 포함합니다.
    // 어떤 클래스 정의가 필요한가는 $classname에서 얻을 수 있습니다.
}
?>

참고: PHP 3에서, 메쏘드는 일렬화된 객체를 unserialize할 때 복구되지 않습니다. PHP 4는 이 제한을 제거했고, 속성과 메쏘드를 둘 다 복구합니다. 자세한 정보는 클래스와 객체의 객체 일렬화하기 섹션을 참고하십시오.

예 2463. unserialize() 예제

<?php
// 여기서는, 데이터베이스에서 가져온 문자열로부터 $session_data
// 배열에 세션 데이터를 읽어들일 때 unserialize()를 사용합니다.
// 이 예제는 serialize()에 설명된 예제를 보완합니다.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array ($PHP_AUTH_USER);
if (!odbc_execute($stmt, &$sqldata) || !odbc_fetch_into($stmt, &$tmp)) {
    // excute나 fetch가 실패하면, 빈 배열로 초기화합니다.
    $session_data = array();
} else {
    // 여기서는 일렬화된 데이터를 $tmp[0]에 가집니다.
    $session_data = unserialize($tmp[0]);
    if (!is_array($session_data)) {
        // 무언가 잘못되면, 빈 배열로 초기화합니다.
        $session_data = array();
    }
}
?>

참고: serialize().

이전 | 위로 | 다음
strval | 처음으로 | unset


unset

(PHP 4, PHP 5)

unset -- 주어진 변수를 제거합니다.

설명

void unset ( mixed $var [, mixed $var [, mixed $...]] )

unset()은 주어진 변수를 파괴합니다. PHP 3에서, unset()은 항상 TRUE를 반환했습니다. (정확히는, 정수값 1) 그러나 PHP 4에서, unset()은 true 함수가 아닙니다: 이제 구문입니다. 아무 값도 반환하지 않고, unset()의 결과를 가져오려고 하면 parse 에러가 생성됩니다.

예 2464. unset() 예제

<?php
// 하나의 변수를 파괴
unset($foo);

// 배열의 한 요소를 파괴
unset($bar['quux']);

// 하나 이상의 변수를 파괴
unset($foo1, $foo2, $foo3);
?>

함수 안에서 unset()의 행동은 어떠한 변수형을 파괴하려 했는지에 따라 달라집니다.

함수 안에서 전역 변수를 unset()하면, 로컬 변수만 파괴됩니다. 호출한 환경에서 변수는 unset()을 호출하기 전과 같은 값을 유지합니다.

<?php
function destroy_foo()
{
    global $foo;
    unset($foo);
}

$foo = 'bar';
destroy_foo();
echo $foo;
?>
위 예제의 출력:

bar

함수 안에서 참조로 넘겨진 변수를 unset()하면, 로컬 변수만이 파괴됩니다. 호출한 함수에서 변수는 unset()을 호출하기 전과 동일한 값을 유지합니다.

<?php
function foo(&$bar)
{
    unset($bar);
    $bar = "blah";
}

$bar = 'something';
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>
위 예제의 출력:

something
something

함수 안에서 정적 변수를 unset()하면, unset()은 변수와 모든 참조를 파괴합니다.

<?php
function foo() {
    static $a;
    $a++;
    echo "$a\n";
    unset($a);
}

foo();
foo();
foo();
?>
위 예제의 출력:

1
2
3

함수 안에서 전역 변수를 unset()하려면, $GLOBALS 배열을 사용할 수 있습니다:

<?php
function foo() {
    unset($GLOBALS['bar']);
}

$bar = "something";
foo();
?>

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

참고: isset(),
empty(),
array_splice().

이전 | 위로 | 다음
unserialize | 처음으로 | var_dump


var_dump

(PHP 4, PHP 5)

var_dump -- 변수에 관한 정보를 덤프합니다.

설명

void var_dump ( mixed $expression [, mixed $expression [, $...]] )

이 함수는 형과 값을 포함하는 하나 이상의 표현을 구조화된 정보로 보여줍니다. 배열과 객체는 구조를 보여주기 위해서 재귀적으로 확장합니다.

PHP 객체의 public 속성만을 출력으로 반환합니다. var_export()와 print_r()은 protected 및 private 속성도 반환합니다.

작은 정보

어떠한 결과가 브라우저로 직접 출력될 때, 출력 제어 함수를 이용해서 이 함수의 출력을 잡아내고, (예를 들면) string으로 저장할 수 있습니다.

예 2465. var_dump() 예제

<?php
$a = array (1, 2, array ("a", "b", "c"));
var_dump($a);
?>

출력:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}
<?php
$b = 3.1;
$c = true;
var_dump($b, $c);
?>

출력:

float(3.1)
bool(true)

참고: var_export(), print_r().

이전 | 위로 | 다음
unset | 처음으로 | var_export


var_export

(PHP 4 >= 4.2.0, PHP 5)

var_export -- 변수의 표현을 출력하거나 문자열로 반환합니다.

설명

mixed var_export ( mixed $expression [, bool $return] )

이 함수는 넘겨진 변수에 대한 구조 정보를 반환합니다. 두가지 차이를 제외하고, var_dump()와 동일합니다. 첫번째는 반환하는 표현이 유효한 PHP 코드인 점이고, 두번째는 PHP 5에서 객체의 protected 및 private 속성을 반환하는 점입니다.

이 함수의 두번째 인자를 TRUE로 사용해서 변수 표현을 반환하도록 할 수 있습니다.

<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export($a);
?>

출력:

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
<?php
$b = 3.1;
$v = var_export($b, true);
echo $v;
?>

출력:

3.1

참고: var_dump(), print_r().

이전 | 위로 | 다음
var_dump | 처음으로 | CLXXII. Verisign Payflow Pro Functions


vpopmail Functions

이전 VI. 함수 레퍼런스 다음

CLXXIII. vpopmail Functions

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

This extension has been moved from PHP as of PHP 4.3.0 and now vpopmail lives in » PECL.

설치

As of PHP 4, these functions are only available if PHP was configured with --with-vpopmail[=DIR].

차례

vpopmail_add_alias_domain_ex -- Add alias to an existing virtual domain
vpopmail_add_alias_domain -- Add an alias for a virtual domain
vpopmail_add_domain_ex -- Add a new virtual domain
vpopmail_add_domain -- Add a new virtual domain
vpopmail_add_user -- Add a new user to the specified virtual domain
vpopmail_alias_add -- Insert a virtual alias
vpopmail_alias_del_domain -- Deletes all virtual aliases of a domain
vpopmail_alias_del -- Deletes all virtual aliases of a user
vpopmail_alias_get_all -- Get all lines of an alias for a domain
vpopmail_alias_get -- Get all lines of an alias for a domain
vpopmail_auth_user -- Attempt to validate a username/domain/password
vpopmail_del_domain_ex -- Delete a virtual domain
vpopmail_del_domain -- Delete a virtual domain
vpopmail_del_user -- Delete a user from a virtual domain
vpopmail_error -- Get text message for last vpopmail error
vpopmail_passwd -- Change a virtual user's password
vpopmail_set_user_quota -- Sets a virtual user's quota
이전 | 위로 | 다음
pfpro_version | 처음으로 | vpopmail_add_alias_domain_ex


vpopmail_add_alias_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_add_alias_domain_ex -- Add alias to an existing virtual domain

설명

bool vpopmail_add_alias_domain_ex ( string $olddomain, string $newdomain )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CLXXIII. vpopmail Functions | 처음으로 | vpopmail_add_alias_domain


vpopmail_add_alias_domain

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_add_alias_domain -- Add an alias for a virtual domain

설명

bool vpopmail_add_alias_domain ( string $domain, string $aliasdomain )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_add_alias_domain_ex | 처음으로 | vpopmail_add_domain_ex


vpopmail_add_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_add_domain_ex -- Add a new virtual domain

설명

bool vpopmail_add_domain_ex ( string $domain, string $passwd [, string $quota [, string $bounce [, bool $apop]]] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_add_alias_domain | 처음으로 | vpopmail_add_domain


vpopmail_add_domain

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_add_domain -- Add a new virtual domain

설명

bool vpopmail_add_domain ( string $domain, string $dir, int $uid, int $gid )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_add_domain_ex | 처음으로 | vpopmail_add_user


vpopmail_add_user

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_add_user -- Add a new user to the specified virtual domain

설명

bool vpopmail_add_user ( string $user, string $domain, string $password [, string $gecos [, bool $apop]] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_add_domain | 처음으로 | vpopmail_alias_add


vpopmail_alias_add

(PHP 4 >= 4.0.7, PECL vpopmail:0.2)

vpopmail_alias_add -- Insert a virtual alias

설명

bool vpopmail_alias_add ( string $user, string $domain, string $alias )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_add_user | 처음으로 | vpopmail_alias_del_domain


vpopmail_alias_del_domain

(PHP 4 >= 4.0.7, PECL vpopmail:0.2)

vpopmail_alias_del_domain -- Deletes all virtual aliases of a domain

설명

bool vpopmail_alias_del_domain ( string $domain )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_alias_add | 처음으로 | vpopmail_alias_del


vpopmail_alias_del

(PHP 4 >= 4.0.7, PECL vpopmail:0.2)

vpopmail_alias_del -- Deletes all virtual aliases of a user

설명

bool vpopmail_alias_del ( string $user, string $domain )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_alias_del_domain | 처음으로 | vpopmail_alias_get_all


vpopmail_alias_get_all

(PHP 4 >= 4.0.7, PECL vpopmail:0.2)

vpopmail_alias_get_all -- Get all lines of an alias for a domain

설명

array vpopmail_alias_get_all ( string $domain )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_alias_del | 처음으로 | vpopmail_alias_get


vpopmail_alias_get

(PHP 4 >= 4.0.7, PECL vpopmail:0.2)

vpopmail_alias_get -- Get all lines of an alias for a domain

설명

array vpopmail_alias_get ( string $alias, string $domain )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_alias_get_all | 처음으로 | vpopmail_auth_user


vpopmail_auth_user

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_auth_user -- Attempt to validate a username/domain/password

설명

bool vpopmail_auth_user ( string $user, string $domain, string $password [, string $apop] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_alias_get | 처음으로 | vpopmail_del_domain_ex


vpopmail_del_domain_ex

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_del_domain_ex -- Delete a virtual domain

설명

bool vpopmail_del_domain_ex ( string $domain )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_auth_user | 처음으로 | vpopmail_del_domain


vpopmail_del_domain

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_del_domain -- Delete a virtual domain

설명

bool vpopmail_del_domain ( string $domain )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_del_domain_ex | 처음으로 | vpopmail_del_user


vpopmail_del_user

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_del_user -- Delete a user from a virtual domain

설명

bool vpopmail_del_user ( string $user, string $domain )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_del_domain | 처음으로 | vpopmail_error


vpopmail_error

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_error -- Get text message for last vpopmail error

설명

string vpopmail_error ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_del_user | 처음으로 | vpopmail_passwd


vpopmail_passwd

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_passwd -- Change a virtual user's password

설명

bool vpopmail_passwd ( string $user, string $domain, string $password [, bool $apop] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_error | 처음으로 | vpopmail_set_user_quota


vpopmail_set_user_quota

(PHP 4 >= 4.0.5, PECL vpopmail:0.2)

vpopmail_set_user_quota -- Sets a virtual user's quota

설명

bool vpopmail_set_user_quota ( string $user, string $domain, string $quota )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
vpopmail_passwd | 처음으로 | CLXXIV. W32api Functions


W32api Functions

이전 VI. 함수 레퍼런스 다음

CLXXIV. W32api Functions

소개

This extension is a generic extension API to DLLs. This was originally written to allow access to the Win32 API from PHP, although you can also access other functions exported via other DLLs.

Currently supported types are generic PHP types (strings, booleans, floats, integers and nulls) and types you define with w32api_deftype().

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

요구 조건

This extension will only work on Windows systems.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

This extension defines one resource type, used for user defined types. The name of this resource is "dynaparm".

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

DC_MICROSOFT (integer)
DC_BORLAND (integer)
DC_CALL_CDECL (integer)
DC_CALL_STD (integer)
DC_RETVAL_MATH4 (integer)
DC_RETVAL_MATH8 (integer)
DC_CALL_STD_BO (integer)
DC_CALL_STD_MS (integer)
DC_CALL_STD_M8 (integer)
DC_FLAG_ARGPTR (integer)

예제

This example gets the amount of time the system has been running and displays it in a message box.

예 2469. Get the uptime and display it in a message box

<?php
// Define constants needed, taken from
// Visual Studio/Tools/Winapi/WIN32API.txt
define("MB_OK", 0);

// Load the extension in
dl("php_w32api.dll");

// Register the GetTickCount function from kernel32.dll
w32api_register_function("kernel32.dll",
                         "GetTickCount",
                         "long");

// Register the MessageBoxA function from User32.dll
w32api_register_function("User32.dll",
                         "MessageBoxA",
                         "long");

// Get uptime information
$ticks = GetTickCount();

// Convert it to a nicely displayable text
$secs  = floor($ticks / 1000);
$mins  = floor($secs / 60);
$hours = floor($mins / 60);

$str = sprintf("You have been using your computer for:" .
                "\r\n %d Milliseconds, or \r\n %d Seconds" .
                "or \r\n %d mins or\r\n %d hours %d mins.",
                $ticks,
                $secs,
                $mins,
                $hours,
                $mins - ($hours*60));

// Display a message box with only an OK button and the uptime text
MessageBoxA(NULL,
            $str,
            "Uptime Information",
            MB_OK);
?>

차례

w32api_deftype -- Defines a type for use with other w32api_functions
w32api_init_dtype -- Creates an instance of the data type typename and fills it with the values passed
w32api_invoke_function -- Invokes function funcname with the arguments passed after the function name
w32api_register_function -- Registers function function_name from library with PHP
w32api_set_call_method -- Sets the calling method used
이전 | 위로 | 다음
vpopmail_set_user_quota | 처음으로 | w32api_deftype


w32api_deftype

(PHP 4 >= 4.2.0)

w32api_deftype -- Defines a type for use with other w32api_functions

설명

bool w32api_deftype ( string $typename, string $member1_type, string $member1_name [, string $... [, string $...]] )

You need to call this function if you would like to define a type for a w32api call.

매개변수

typename

The name of the type.

member1_type

A member type can be a user defined type. All the type names are case sensitive. Built in type names should be provided in lowercase.

member1_name

The member name of member1_type.

...

...

This function takes 2n+1 arguments, where n is the number of members the type has. After that is the type of the member followed by the members name (in pairs).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
CLXXIV. W32api Functions | 처음으로 | w32api_init_dtype


w32api_init_dtype

(PHP 4 >= 4.2.0)

w32api_init_dtype -- Creates an instance of the data type typename and fills it with the values passed

설명

resource w32api_init_dtype ( string $typename, mixed $value [, mixed $...] )

This function creates an instance of the data type named typename, filling in the values of the data type.

매개변수

typename

The typename parameter is case sensitive.

value

You should give the values in the same order as you defined the data type with w32api_deftype().

...

반환값

Returns a dynaparm resource.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
w32api_deftype | 처음으로 | w32api_invoke_function


w32api_invoke_function

(PHP 4 >= 4.2.0)

w32api_invoke_function -- Invokes function funcname with the arguments passed after the function name

설명

mixed w32api_invoke_function ( string $funcname, mixed $argument [, mixed $...] )

w32api_invoke_function() tries to find the previously registered function, passing the parameters you provided.

매개변수

funcname

The function name.

argument

Any of the arguments can be of any PHP type or w32api_deftype() defined type, as needed.

...

반환값

The return type is the one you set when you registered the function, the value is the one returned by the function itself.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
w32api_init_dtype | 처음으로 | w32api_register_function


w32api_register_function

(PHP 4 >= 4.2.0)

w32api_register_function -- Registers function function_name from library with PHP

설명

bool w32api_register_function ( string $library, string $function_name, string $return_type )

This function tries to find the function_name function in libary, and tries to import it into PHP.

매개변수

library

The library name, as a string.

function_name

The function name, as a string.

return_type

The function will be registered with the given return_type. This type can be a generic PHP type, or a type defined with w32api_deftype(). All type names are case sensitive. Built in type names should be provided in lowercase.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
w32api_invoke_function | 처음으로 | w32api_set_call_method


w32api_set_call_method

(PHP 4 >= 4.2.0)

w32api_set_call_method -- Sets the calling method used

설명

void w32api_set_call_method ( int $method )

This function sets the method call type.

매개변수

method

Can be one of DC_CALL_CDECL or DC_CALL_STD (the extension default).

반환값

값을 반환하지 않습니다.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
w32api_register_function | 처음으로 | CLXXV. WDDX Functions


WDDX Functions

이전 VI. 함수 레퍼런스 다음

CLXXV. WDDX Functions

소개

These functions are intended for work with » WDDX.

요구 조건

In order to use WDDX, you will need to install the expat library (which comes with Apache 1.3.7 or higher).

설치

After installing expat compile PHP with --enable-wddx.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

This extension defines a WDDX packet identifier returned by wddx_packet_start().

예약 상수

이 확장은 상수를 정의하지 않습니다.

예제

All the functions that serialize variables use the first element of an array to determine whether the array is to be serialized into an array or structure. If the first element has string key, then it is serialized into a structure, otherwise, into an array.

예 2470. Serializing a single value with WDDX

<?php
echo wddx_serialize_value("PHP to WDDX packet example", "PHP packet");
?>

This example will produce:

<wddxPacket version='1.0'><header comment='PHP packet'/><data>
<string>PHP to WDDX packet example</string></data></wddxPacket>

예 2471. Using incremental packets with WDDX

<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");

/* Suppose $cities came from database */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");

$packet = wddx_packet_end($packet_id);
echo $packet;
?>

This example will produce:

<wddxPacket version='1.0'><header comment='PHP'/><data><struct>
<var name='pi'><number>3.1415926</number></var><var name='cities'>
<array length='3'><string>Austin</string><string>Novato</string>
<string>Seattle</string></array></var></struct></data></wddxPacket>

참고: If you want to serialize non-ASCII characters you have to convert your data to UTF-8 first (see utf8_encode() and iconv()).

차례

wddx_add_vars -- Add variables to a WDDX packet with the specified ID
wddx_deserialize -- Alias of wddx_unserialize()
wddx_packet_end -- Ends a WDDX packet with the specified ID
wddx_packet_start -- Starts a new WDDX packet with structure inside it
wddx_serialize_value -- Serialize a single value into a WDDX packet
wddx_serialize_vars -- Serialize variables into a WDDX packet
wddx_unserialize -- Unserializes a WDDX packet
이전 | 위로 | 다음
w32api_set_call_method | 처음으로 | wddx_add_vars


wddx_add_vars

(PHP 4, PHP 5)

wddx_add_vars -- Add variables to a WDDX packet with the specified ID

설명

bool wddx_add_vars ( resource $packet_id, mixed $var_name [, mixed $...] )

Serializes the passed variables and add the result to the fiven packet.

매개변수

This function takes a variable number of parameters.

packet_id

A WDDX packet, returned by wddx_packet_start().

var_name

Can be either a string naming a variable or an array containing strings naming the variables or another array, etc.

...

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
CLXXV. WDDX Functions | 처음으로 | wddx_deserialize


wddx_deserialize

(PHP 4, PHP 5)

wddx_deserialize -- Alias of wddx_unserialize()

설명

이 함수는 다음 함수의 alias입니다: wddx_unserialize().

이전 | 위로 | 다음
wddx_add_vars | 처음으로 | wddx_packet_end


wddx_packet_end

(PHP 4, PHP 5)

wddx_packet_end -- Ends a WDDX packet with the specified ID

설명

string wddx_packet_end ( resource $packet_id )

Ends and returns the given WDDX packet.

매개변수

packet_id

A WDDX packet, returned by wddx_packet_start().

반환값

Returns the string containing the WDDX packet.

이전 | 위로 | 다음
wddx_deserialize | 처음으로 | wddx_packet_start


wddx_packet_start

(PHP 4, PHP 5)

wddx_packet_start -- Starts a new WDDX packet with structure inside it

설명

resource wddx_packet_start ( [string $comment] )

Start a new WDDX packet for incremental addition of variables. It automatically creates a structure definition inside the packet to contain the variables.

매개변수

comment

An optional comment string.

반환값

Returns a packet ID for use in later functions, or FALSE on error.

이전 | 위로 | 다음
wddx_packet_end | 처음으로 | wddx_serialize_value


wddx_serialize_value

(PHP 4, PHP 5)

wddx_serialize_value -- Serialize a single value into a WDDX packet

설명

string wddx_serialize_value ( mixed $var [, string $comment] )

Creates a WDDX packet from a single given value.

매개변수

var

The value to be serialized

comment

An optional comment string that appears in the packet header.

반환값

Returns the WDDX packet, or FALSE on error.

이전 | 위로 | 다음
wddx_packet_start | 처음으로 | wddx_serialize_vars


wddx_serialize_vars

(PHP 4, PHP 5)

wddx_serialize_vars -- Serialize variables into a WDDX packet

설명

string wddx_serialize_vars ( mixed $var_name [, mixed $...] )

Creates a WDDX packet with a structure that contains the serialized representation of the passed variables.

매개변수

This function takes a variable number of parameters.

var_name

Can be either a string naming a variable or an array containing strings naming the variables or another array, etc.

...

반환값

Returns the WDDX packet, or FALSE on error.

예제

예 2472. wddx_serialize_vars() example

<?php
$a = 1;
$b = 5.5;
$c = array("blue", "orange", "violet");
$d = "colors";

$clvars = array("c", "d");
echo wddx_serialize_vars("a", "b", $clvars);
?>

위 예제의 출력:

<wddxPacket version='1.0'><header/><data><struct><var name='a'><number>1</number></var>
<var name='b'><number>5.5</number></var><var name='c'><array length='3'>
<string>blue</string><string>orange</string><string>violet</string></array></var>
<var name='d'><string>colors</string></var></struct></data></wddxPacket>

이전 | 위로 | 다음
wddx_serialize_value | 처음으로 | wddx_unserialize


xattr Functions

이전 VI. 함수 레퍼런스 다음

CLXXVIII. xattr Functions

소개

The xattr extension allows for the manipulation of extended attributes on a filesystem.

요구 조건

To use xattr, you will need libattr installed. It is available at » http://oss.sgi.com/projects/xfs/.

참고: These functions only work on filesystems that support extended attributes, and have them enabled at mount time. Some common filesystems that support extended attributes are ext2, ext3, reiserfs, jfs, and xfs.

설치

xattr is currently available through PECL » http://pecl.php.net/package/xattr.

If » PEAR is available on your *nix-like system you can use the pear installer to install the xattr extension, by the following command: pear -v install xattr.

You can always download the tar.gz package and install xattr by hand:

예 2481. xattr install by hand

gunzip xattr-xxx.tgz
tar -xvf xattr-xxx.tar
cd xattr-xxx
phpize
./configure && make && make install

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

XATTR_ROOT (integer)
Set attribute in root (trusted) namespace. Requires root privileges.
XATTR_DONTFOLLOW (integer)
Do not follow the symbolic link but operate on symbolic link itself.
XATTR_CREATE (integer)
Function will fail if extended attribute already exists.
XATTR_REPLACE (integer)
Function will fail if extended attribute doesn't exist.

차례

xattr_get -- Get an extended attribute
xattr_list -- Get a list of extended attributes
xattr_remove -- Remove an extended attribute
xattr_set -- Set an extended attribute
xattr_supported -- Check if filesystem supports extended attributes
이전 | 위로 | 다음
win32_stop_service | 처음으로 | xattr_get


xattr_get

(PECL xattr:0.9-1.0)

xattr_get -- Get an extended attribute

설명

string xattr_get ( string $filename, string $name [, int $flags] )

This function gets the value of an extended attribute of a file.

확장 속성은 user와 root의 이름공간을 가집니다. user 이름공간은 모든 사용자가 사용할 수 있지만, root 이름공간은 root 권한을 가진 사용자만 사용할 수 있습니다. xattr은 기본적으로 user 이름공간에서 실행하지만, flags 인자를 사용하여 변경할 수 있습니다.

매개변수

filename

The file from which we get the attribute.

name

The name of the attribute.

flags

표 322. Supported xattr flags

XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

반환값

Returns a string containing the value or FALSE if the attribute doesn't exist.

예제

예 2482. Checks if system administrator has signed the file

<?php
$file = '/usr/local/sbin/some_binary';
$signature = xattr_get($file, 'Root signature', XATTR_ROOT);

/* ... check if $signature is valid ... */

?>

참고

xattr_list()
xattr_set()
xattr_remove()

이전 | 위로 | 다음
CLXXVIII. xattr Functions | 처음으로 | xattr_list


xattr_list

(PECL xattr:0.9-1.0)

xattr_list -- Get a list of extended attributes

설명

array xattr_list ( string $filename [, int $flags] )

This functions gets a list of names of extended attributes of a file.

확장 속성은 user와 root의 이름공간을 가집니다. user 이름공간은 모든 사용자가 사용할 수 있지만, root 이름공간은 root 권한을 가진 사용자만 사용할 수 있습니다. xattr은 기본적으로 user 이름공간에서 실행하지만, flags 인자를 사용하여 변경할 수 있습니다.

매개변수

filename

The path of the file.

flags

표 323. Supported xattr flags

XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

반환값

This function returns an array with names of extended attributes.

예제

예 2483. Prints names of all extended attributes of file

<?php
$file = 'some_file';
$root_attributes = xattr_list($file, XATTR_ROOT);
$user_attributes = xattr_list($file);

echo "Root attributes: \n";
foreach ($root_attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

echo "\n User attributes: \n";
foreach ($attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

?>

참고

xattr_get()

이전 | 위로 | 다음
xattr_get | 처음으로 | xattr_remove


xattr_remove

(PECL xattr:0.9-1.0)

xattr_remove -- Remove an extended attribute

설명

bool xattr_remove ( string $filename, string $name [, int $flags] )

This function removes an extended attribute of a file.

확장 속성은 user와 root의 이름공간을 가집니다. user 이름공간은 모든 사용자가 사용할 수 있지만, root 이름공간은 root 권한을 가진 사용자만 사용할 수 있습니다. xattr은 기본적으로 user 이름공간에서 실행하지만, flags 인자를 사용하여 변경할 수 있습니다.

매개변수

filename

The file from which we remove the attribute.

name

The name of the attribute to remove.

flags

표 324. Supported xattr flags

XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2484. Removes all extended attributes of a file

<?php
$file = 'some_file';
$attributes = xattr_list($file);

foreach ($attributes as $attr_name) {
    xattr_remove($file, $attr_name);
}
?>

참고

xattr_list()
xattr_set()
xattr_get()

이전 | 위로 | 다음
xattr_list | 처음으로 | xattr_set


xattr_set

(PECL xattr:0.9-1.0)

xattr_set -- Set an extended attribute

설명

bool xattr_set ( string $filename, string $name, string $value [, int $flags] )

This function sets the value of an extended attribute of a file.

확장 속성은 user와 root의 이름공간을 가집니다. user 이름공간은 모든 사용자가 사용할 수 있지만, root 이름공간은 root 권한을 가진 사용자만 사용할 수 있습니다. xattr은 기본적으로 user 이름공간에서 실행하지만, flags 인자를 사용하여 변경할 수 있습니다.

매개변수

filename

The file in which we set the attribute.

name

The name of the extended attribute. This attribute will be created if it doesn't exist or replaced otherwise. You can change this behaviour by using the flags parameter.

value

The value of the attribute.

flags

표 325. Supported xattr flags

XATTR_CREATE | Function will fail if extended attribute already exists.
XATTR_REPLACE | Function will fail if extended attribute doesn't exist.
XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2485. Sets extended attributes on .wav file

<?php
$file = 'my_favourite_song.wav';
xattr_set($file, 'Artist', 'Someone');
xattr_set($file, 'My ranking', 'Good');
xattr_set($file, 'Listen count', '34');

/* ... other code ... */

printf("You've played this song %d times", xattr_get($file, 'Listen count'));
?>

참고

xattr_get()
xattr_remove()

이전 | 위로 | 다음
xattr_remove | 처음으로 | xattr_supported


xattr_supported

(PECL xattr:1.0)

xattr_supported -- Check if filesystem supports extended attributes

설명

bool xattr_supported ( string $filename [, int $flags] )

This functions checks if the filesystem holding the given file supports extended attributes. Read access to the file is required.

매개변수

filename

The path of the tested file.

flags

표 326. Supported xattr flags

XATTR_DONTFOLLOW Do not follow the symbolic link but operate on symbolic link itself.

반환값

This function returns TRUE if filesystem supports extended attributes, FALSE if it doesn't and NULL if it can't be determined (for example wrong path or lack of permissions to file).

예제

예 2486. xattr_supported() example

The following code checks if we can use extended attributes.

<?php
$file = 'some_file';

if (xattr_supported($file)) {
    /* ... make use of some xattr_* functions ... */
}

?>

참고

xattr_get()
xattr_list()

이전 | 위로 | 다음
xattr_set | 처음으로 | CLXXIX. xdiff Functions


XML 해석기 함수

이전 VI. 함수 레퍼런스 다음

CLXXX. XML 해석기 함수

소개

XML(eXtensible Markup Language)은 웹에서 구조화된 문서 교환을 위한 데이터 형식입니다. The World Wide Web consortium(W3C)에서 정의한 표준입니다. XML과 관련 기술에 대한 정보는 » http://www.w3.org/XML/에서 볼 수 있습니다.

PHP 확장은 James Clark의 expat를 사용합니다. 이 툴킷은 XML 문서를 처리할 수 있게 하지만, 유효성을 검증하지는 않습니다. PHP에서도 지원하는 세가지 문자 인코딩을 지원합니다: US_ASCII, ISO-8859-1, UTF-8. UTF-16은 지원하지 않습니다.

이 확장은 XML 파서를 작성하고 여러가지 XML 이벤트에 대한 핸들러를 정의할 수 있게 합니다. 각각의 XML 파서는 조절할 수 있는 약간의 인자를 가집니다.

요구 조건

이 확장은 » http://www.jclark.com/xml/expat.html에서 찾을 수 있는 expat를 사용합니다. expat에 들어있는 Makefile은 기본값으로 라이브러리를 생성하지 않기 때문에, 다음의 make 규칙을 사용할 수 있습니다:

libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@
expat의 소스 RPM 패키지는 » http://sourceforge.net/projects/expat/에서 찾을 수 있습니다.

설치

이 함수들은 번들된 expat 라이브러리를 이용하여 기본값으로 활성화되어 있습니다. XML 지원을 비활성화 하려면 --disable-xml을 사용하십시오. PHP를 아파치 1.3.9 이상의 모듈로 컴파일한다면, PHP는 자동적으로 아파치에 번들된 expat를 사용합니다. 번들된 expat 라이브러리를 사용하지 않으려면, PHP 설정에 --with-expat-dir=DIR을 지정하십시오. DIR은 expat를 설치한 베이스 디렉토리를 지정해야 합니다.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

xml

xml_parser_create()와 xml_parser_create_ns()가 반환하는 xml 자원은 xml 파서 인스탠스를 참조하고, 이 확장이 제공하는 함수들이 사용합니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

XML_ERROR_NONE (integer)
XML_ERROR_NO_MEMORY (integer)
XML_ERROR_SYNTAX (integer)
XML_ERROR_NO_ELEMENTS (integer)
XML_ERROR_INVALID_TOKEN (integer)
XML_ERROR_UNCLOSED_TOKEN (integer)
XML_ERROR_PARTIAL_CHAR (integer)
XML_ERROR_TAG_MISMATCH (integer)
XML_ERROR_DUPLICATE_ATTRIBUTE (integer)
XML_ERROR_JUNK_AFTER_DOC_ELEMENT (integer)
XML_ERROR_PARAM_ENTITY_REF (integer)
XML_ERROR_UNDEFINED_ENTITY (integer)
XML_ERROR_RECURSIVE_ENTITY_REF (integer)
XML_ERROR_ASYNC_ENTITY (integer)
XML_ERROR_BAD_CHAR_REF (integer)
XML_ERROR_BINARY_ENTITY_REF (integer)
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF (integer)
XML_ERROR_MISPLACED_XML_PI (integer)
XML_ERROR_UNKNOWN_ENCODING (integer)
XML_ERROR_INCORRECT_ENCODING (integer)
XML_ERROR_UNCLOSED_CDATA_SECTION (integer)
XML_ERROR_EXTERNAL_ENTITY_HANDLING (integer)
XML_OPTION_CASE_FOLDING (integer)
XML_OPTION_TARGET_ENCODING (integer)
XML_OPTION_SKIP_TAGSTART (integer)
XML_OPTION_SKIP_WHITE (integer)

이벤트 핸들러

정의된 XML 이벤트 핸들러는:

표 327. 지원하는 XML 핸들러

핸들러를 설정하는 PHP 함수 | 이벤트 설명
xml_set_element_handler() | 엘레멘트 이벤트는 XML 파서가 시작과 끝 태그에 도달했을 때 발생합니다. 시작 태그와 끝 태그에 별도의 핸들러가 존재합니다.
xml_set_character_data_handler() | Character data is roughly all the non-markup contents of XML documents, including whitespace between tags. Note that the XML parser does not add or remove any whitespace, it is up to the application (you) to decide whether whitespace is significant.
xml_set_processing_instruction_handler() | PHP 프로그래머는 이미 프로세싱 인스트럭션(PIs)에 익숙할 것입니다. <?php ?>는 프로세싱 인스트럭션이고, php은 "PI 타겟"이라 불립니다. 예약된 "XML"로 시작하는 PI 타겟들을 제외하면, 이들에 대한 핸들링은 어플리케이션 특화입니다.
xml_set_default_handler() | What goes not to another handler goes to the default handler. You will get things like the XML and document type declarations in the default handler.
xml_set_unparsed_entity_decl_handler() | 이 핸들러는 unparsed (NDATA) 엔트리의 정의를 호출합니다.
xml_set_notation_decl_handler() | 이 핸들러는 notation의 정의를 호출합니다.
xml_set_external_entity_ref_handler() | This handler is called when the XML parser finds a reference to an external parsed general entity. This can be a reference to a file or URL, for example. See the external entity example for a demonstration.

케이스 폴딩

The element handler functions may get their element names case-folded. Case-folding is defined by the XML standard as "a process applied to a sequence of characters, in which those identified as non-uppercase are replaced by their uppercase equivalents". In other words, when it comes to XML, case-folding simply means uppercasing.

By default, all the element names that are passed to the handler functions are case-folded. This behaviour can be queried and controlled per XML parser with the xml_parser_get_option() and xml_parser_set_option() functions, respectively.

오류 코드

다음 상수들이 XML 오류 코드로 정의되어 있습니다 (xml_parse()가 반환합니다):
XML_ERROR_NONE
XML_ERROR_NO_MEMORY
XML_ERROR_SYNTAX
XML_ERROR_NO_ELEMENTS
XML_ERROR_INVALID_TOKEN
XML_ERROR_UNCLOSED_TOKEN
XML_ERROR_PARTIAL_CHAR
XML_ERROR_TAG_MISMATCH
XML_ERROR_DUPLICATE_ATTRIBUTE
XML_ERROR_JUNK_AFTER_DOC_ELEMENT
XML_ERROR_PARAM_ENTITY_REF
XML_ERROR_UNDEFINED_ENTITY
XML_ERROR_RECURSIVE_ENTITY_REF
XML_ERROR_ASYNC_ENTITY
XML_ERROR_BAD_CHAR_REF
XML_ERROR_BINARY_ENTITY_REF
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
XML_ERROR_MISPLACED_XML_PI
XML_ERROR_UNKNOWN_ENCODING
XML_ERROR_INCORRECT_ENCODING
XML_ERROR_UNCLOSED_CDATA_SECTION
XML_ERROR_EXTERNAL_ENTITY_HANDLING

문자 인코딩

PHP의 XML 확장은 » 유니코드 문자셋을 통해 서로 다른 문자 인코딩을 지원합니다. 문자 인코딩에는 소스 인코딩과 타겟 인코딩의 두 종류가 존재합니다. PHP 내부에서 문서 표현은 항상 UTF-8로 인코드되어 있습니다.

소스 인코딩은 XML 문서가 parse되었을 때 이루어집니다. XML 파서를 작성할 때, 소스 인코딩을 지정할 수 있습니다. (이 인코딩은 XML 파서가 종료될때까지 변경할 수 없습니다) 지원하는 소스 인코딩은 ISO-8859-1, US-ASCII, UTF-8입니다. 앞쪽의 두개는 싱글-바이트 인코딩이기에, 각각의 문자는 하나의 바이트로 표현됩니다. UTF-8은 1에서 4바이트 사이에서 다양한 수의 비트(21까지)를 조합하여 인코드할 수 있습니다. PHP에서 사용하는 기본 소스 인코딩은 ISO-8859-1입니다.

타겟 인코딩은 PHP가 XML 핸들러 함수에 데이터를 넘길 때 이루어집니다. XML 파서를 작성하면, 타겟 인코딩을 소스 인코딩과 동일하게 설정하지만, 이는 언제라도 변경할 수 있습니다. 타켓 인코딩은 문자 데이터뿐만 아니라 태그 이름과 프로세싱 인스트럭션 타겟에도 영향을 미칩니다.

If the XML parser encounters characters outside the range that its source encoding is capable of representing, it will return an error.

If PHP encounters characters in the parsed XML document that can not be represented in the chosen target encoding, the problem characters will be "demoted". Currently, this means that such characters are replaced by a question mark.

예제

XML 문서를 파싱하는 몇몇 예제 PHP 스크립트입니다.

XML 엘레멘트 구조 예제

This first example displays the structure of the start elements in a document with indentation.

예 2496. XML 엘레멘트 구조 보기

<?php
$file = "data.xml";
$depth = array();

function startElement($parser, $name, $attrs)
{
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        echo "  ";
    }
    echo "$name\n";
    $depth[$parser]++;
}

function endElement($parser, $name)
{
    global $depth;
    $depth[$parser]--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
    die("XML 입력을 열 수 없습니다.");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML 에러: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

XML 태그 매핑 예제

예 2497. XML을 HTML로 맵

이 예제는 XML 문서의 태그를 직접 HTML 태그로 매핑합니다. "맵 배열"에 존재하지 않는 요소는 무시합니다. 물론, 이 예제는 특정한 XML 문서형에만 작동합니다.

<?php
$file = "data.xml";
$map_array = array(
    "BOLD"     => "B",
    "EMPHASIS" => "I",
    "LITERAL"  => "TT"
);

function startElement($parser, $name, $attrs)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "<$map_array[$name]>";
    }
}

function endElement($parser, $name)
{
    global $map_array;
    if (isset($map_array[$name])) {
        echo "</$map_array[$name]>";
    }
}

function characterData($parser, $data)
{
    echo $data;
}

$xml_parser = xml_parser_create();
// use case-folding so we are sure to find the tag in $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
    die("XML 입력을 열 수 없습니다.");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML 에러: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

XML 외부 엔티티 예제

This example highlights XML code. It illustrates how to use an external entity reference handler to include and parse other documents, as well as how PIs can be processed, and a way of determining "trust" for PIs containing code.

XML documents that can be used for this example are found below the example (xmltest.xml and xmltest2.xml.)

예 2498. External Entity Example

<?php
$file = "xmltest.xml";

function trustedFile($file)
{
    // only trust local files owned by ourselves
    if (!eregi("^([a-z]+)://", $file)
        && fileowner($file) == getmyuid()) {
            return true;
    }
    return false;
}

function startElement($parser, $name, $attribs)
{
    echo "&lt;<font color=\"#0000cc\">$name</font>";
    if (sizeof($attribs)) {
        while (list($k, $v) = each($attribs)) {
            echo " <font color=\"#009900\">$k</font>=\"<font
                   color=\"#990000\">$v</font>\"";
        }
    }
    echo "&gt;";
}

function endElement($parser, $name)
{
    echo "&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}

function characterData($parser, $data)
{
    echo "<b>$data</b>";
}

function PIHandler($parser, $target, $data)
{
    switch (strtolower($target)) {
        case "php":
            global $parser_file;
            // If the parsed document is "trusted", we say it is safe
            // to execute PHP code inside it.  If not, display the code
            // instead.
            if (trustedFile($parser_file[$parser])) {
                eval($data);
            } else {
                printf("Untrusted PHP code: <i>%s</i>",
                        htmlspecialchars($data));
            }
            break;
    }
}

function defaultHandler($parser, $data)
{
    if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") {
        printf('<font color="#aa00aa">%s</font>',
                htmlspecialchars($data));
    } else {
        printf('<font size="-1">%s</font>',
                htmlspecialchars($data));
    }
}

function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId,
                                  $publicId) {
    if ($systemId) {
        if (!list($parser, $fp) = new_xml_parser($systemId)) {
            printf("Could not open entity %s at %s\n", $openEntityNames,
                   $systemId);
            return false;
        }
        while ($data = fread($fp, 4096)) {
            if (!xml_parse($parser, $data, feof($fp))) {
                printf("XML error: %s at line %d while parsing entity %s\n",
                       xml_error_string(xml_get_error_code($parser)),
                       xml_get_current_line_number($parser), $openEntityNames);
                xml_parser_free($parser);
                return false;
            }
        }
        xml_parser_free($parser);
        return true;
    }
    return false;
}

function new_xml_parser($file)
{
    global $parser_file;

    $xml_parser = xml_parser_create();
    xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
    xml_set_element_handler($xml_parser, "startElement", "endElement");
    xml_set_character_data_handler($xml_parser, "characterData");
    xml_set_processing_instruction_handler($xml_parser, "PIHandler");
    xml_set_default_handler($xml_parser, "defaultHandler");
    xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler");

    if (!($fp = @fopen($file, "r"))) {
        return false;
    }
    if (!is_array($parser_file)) {
        settype($parser_file, "array");
    }
    $parser_file[$xml_parser] = $file;
    return array($xml_parser, $fp);
}

if (!(list($xml_parser, $fp) = new_xml_parser($file))) {
    die("could not open XML input");
}

echo "<pre>";
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
echo "</pre>";
echo "parse complete\n";
xml_parser_free($xml_parser);

?>

예 2499. xmltest.xml

<?xml version='1.0' ?>
<!DOCTYPE chapter SYSTEM "/just/a/test.dtd" [
<!ENTITY plainEntity "FOO entity">
<!ENTITY systemEntity SYSTEM "xmltest2.xml">
]>
<chapter>
<TITLE>Title &plainEntity;</TITLE>
<para>
<informaltable>
<tgroup cols="3">
<tbody>
<row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
<row><entry>a2</entry><entry>c2</entry></row>
<row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
</tbody>
</tgroup>
</informaltable>
</para>
&systemEntity;
<section xml:id="about">
<title>About this Document</title>
<para>
<!-- this is a comment -->
<?php echo 'Hi! This is PHP version '.phpversion(); ?>
</para>
</section>
</chapter>

이 파일은 xmltest.xml에서 포함합니다:

예 2500. xmltest2.xml

<?xml version="1.0" ?>
<!DOCTYPE foo [
<!ENTITY testEnt "test entity">
]>
<foo>
<element attrib="value"/>
&testEnt;
<?php echo "This is some more PHP code being executed."; ?>
</foo>

차례

utf8_decode -- Converts a string with ISO-8859-1 characters encoded with UTF-8 to single-byte ISO-8859-1
utf8_encode -- Encodes an ISO-8859-1 string to UTF-8
xml_error_string -- Get XML parser error string
xml_get_current_byte_index -- Get current byte index for an XML parser
xml_get_current_column_number -- Get current column number for an XML parser
xml_get_current_line_number -- Get current line number for an XML parser
xml_get_error_code -- Get XML parser error code
xml_parse_into_struct -- Parse XML data into an array structure
xml_parse -- Start parsing an XML document
xml_parser_create_ns -- Create an XML parser with namespace support
xml_parser_create -- Create an XML parser
xml_parser_free -- Free an XML parser
xml_parser_get_option -- Get options from an XML parser
xml_parser_set_option -- Set options in an XML parser
xml_set_character_data_handler -- Set up character data handler
xml_set_default_handler -- Set up default handler
xml_set_element_handler -- Set up start and end element handlers
xml_set_end_namespace_decl_handler -- Set up end namespace declaration handler
xml_set_external_entity_ref_handler -- Set up external entity reference handler
xml_set_notation_decl_handler -- Set up notation declaration handler
xml_set_object -- Use XML Parser within an object
xml_set_processing_instruction_handler -- Set up processing instruction (PI) handler
xml_set_start_namespace_decl_handler -- Set up start namespace declaration handler
xml_set_unparsed_entity_decl_handler -- Set up unparsed entity declaration handler
이전 | 위로 | 다음
xdiff_string_patch | 처음으로 | utf8_decode


utf8_decode

(PHP 4, PHP 5)

utf8_decode -- Converts a string with ISO-8859-1 characters encoded with UTF-8 to single-byte ISO-8859-1

설명

string utf8_decode ( string $data )

This function decodes data, assumed to be UTF-8 encoded, to ISO-8859-1.

매개변수

data

An UTF-8 encoded string.

반환값

Returns the ISO-8859-1 translation of data.

참고

utf8_encode() for an explanation of UTF-8 encoding

이전 | 위로 | 다음
CLXXX. XML 해석기 함수 | 처음으로 | utf8_encode


utf8_encode

(PHP 4, PHP 5)

utf8_encode -- Encodes an ISO-8859-1 string to UTF-8

설명

string utf8_encode ( string $data )

This function encodes the string data to UTF-8, and returns the encoded version. UTF-8 is a standard mechanism used by Unicode for encoding wide character values into a byte stream. UTF-8 is transparent to plain ASCII characters, is self-synchronized (meaning it is possible for a program to figure out where in the bytestream characters start) and can be used with normal string comparison functions for sorting and such. PHP encodes UTF-8 characters in up to four bytes, like this:

표 328. UTF-8 encoding

bytes | bits | representation
1 | 7 | 0bbbbbbb
2 | 11 | 110bbbbb 10bbbbbb
3 | 16 | 1110bbbb 10bbbbbb 10bbbbbb
4 | 21 | 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb

Each b represents a bit that can be used to store character data.

매개변수

data

An ISO-8859-1 string.

반환값

Returns the UTF-8 translation of data.

이전 | 위로 | 다음
utf8_decode | 처음으로 | xml_error_string


xml_error_string

(PHP 4, PHP 5)

xml_error_string -- Get XML parser error string

설명

string xml_error_string ( int $code )

Gets the XML parser error string associated with the given code.

매개변수

code

An error code from xml_get_error_code().

반환값

Returns a string with a textual description of the error code, or FALSE if no description was found.

참고

xml_get_error_code()

이전 | 위로 | 다음
utf8_encode | 처음으로 | xml_get_current_byte_index


xml_get_current_byte_index

(PHP 4, PHP 5)

xml_get_current_byte_index -- Get current byte index for an XML parser

설명

int xml_get_current_byte_index ( resource $parser )

Gets the current byte index of the given XML parser.

매개변수

parser

A reference to the XML parser to get byte index from.

반환값

This function returns FALSE if parser does not refer to a valid parser, or else it returns which byte index the parser is currently at in its data buffer (starting at 0).

주의

주의

This function returns byte index according to UTF-8 encoded text disregarding if input is in another encoding.

참고

xml_get_current_column_index()
xml_get_current_line_index()

이전 | 위로 | 다음
xml_error_string | 처음으로 | xml_get_current_column_number


xml_get_current_column_number

(PHP 4, PHP 5)

xml_get_current_column_number -- Get current column number for an XML parser

설명

int xml_get_current_column_number ( resource $parser )

Gets the current column number of the given XML parser.

매개변수

parser

A reference to the XML parser to get column number from.

반환값

This function returns FALSE if parser does not refer to a valid parser, or else it returns which column on the current line (as given by xml_get_current_line_number()) the parser is currently at.

참고

xml_get_current_byte_index()
xml_get_current_line_index()

이전 | 위로 | 다음
xml_get_current_byte_index | 처음으로 | xml_get_current_line_number


xml_get_current_line_number

(PHP 4, PHP 5)

xml_get_current_line_number -- Get current line number for an XML parser

설명

int xml_get_current_line_number ( resource $parser )

Gets the current line number for the given XML parser.

매개변수

parser

A reference to the XML parser to get line number from.

반환값

This function returns FALSE if parser does not refer to a valid parser, or else it returns which line the parser is currently at in its data buffer.

참고

xml_get_current_column_index()
xml_get_current_byte_index()

이전 | 위로 | 다음
xml_get_current_column_number | 처음으로 | xml_get_error_code


xml_get_error_code

(PHP 4, PHP 5)

xml_get_error_code -- Get XML parser error code

설명

int xml_get_error_code ( resource $parser )

Gets the XML parser error code.

매개변수

parser

A reference to the XML parser to get error code from.

반환값

This function returns FALSE if parser does not refer to a valid parser, or else it returns one of the error codes listed in the error codes section.

참고

xml_error_string()

이전 | 위로 | 다음
xml_get_current_line_number | 처음으로 | xml_parse_into_struct


xml_parse_into_struct

(PHP 4, PHP 5)

xml_parse_into_struct -- Parse XML data into an array structure

설명

int xml_parse_into_struct ( resource $parser, string $data, array &$values [, array &$index] )

This function parses an XML file into 2 parallel array structures, one (index) containing pointers to the location of the appropriate values in the values array. These last two parameters must be passed by reference.

매개변수

parser

data

values

index

반환값

xml_parse_into_struct() returns 0 for failure and 1 for success. This is not the same as FALSE and TRUE, be careful with operators such as ===.

예제

Below is an example that illustrates the internal structure of the arrays being generated by the function. We use a simple note tag embedded inside a para tag, and then we parse this and print out the structures generated:

예 2501. xml_parse_into_struct() example

<?php
$simple = "<para><note>simple note</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array\n";
print_r($index);
echo "\nVals array\n";
print_r($vals);
?>

When we run that code, the output will be:

Index array
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Vals array
Array
(
    [0] => Array
        (
            [tag] => PARA
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => NOTE
            [type] => complete
            [level] => 2
            [value] => simple note
        )

    [2] => Array
        (
            [tag] => PARA
            [type] => close
            [level] => 1
        )

)

Event-driven parsing (based on the expat library) can get complicated when you have an XML document that is complex. This function does not produce a DOM style object, but it generates structures amenable of being transversed in a tree fashion. Thus, we can create objects representing the data in the XML file easily. Let's consider the following XML file representing a small database of aminoacids information:

예 2502. moldb.xml - small database of molecular information

<?xml version="1.0" ?>
<moldb>

<molecule>
<name>Alanine</name>
<symbol>ala</symbol>
<code>A</code>
<type>hydrophobic</type>
</molecule>

<molecule>
<name>Lysine</name>
<symbol>lys</symbol>
<code>K</code>
<type>charged</type>
</molecule>

</moldb>

And some code to parse the document and generate the appropriate objects:

예 2503. parsemoldb.php - parses moldb.xml into an array of molecular objects

<?php

class AminoAcid {
    var $name;  // aa name
    var $symbol;    // three letter symbol
    var $code;  // one letter code
    var $type;  // hydrophobic, charged or neutral

    function AminoAcid ($aa)
    {
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}

function readDatabase($filename)
{
    // read the XML database of aminoacids
    $data = implode("", file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, $data, $values, $tags);
    xml_parser_free($parser);

    // loop through the structures
    foreach ($tags as $key=>$val) {
        if ($key == "molecule") {
            $molranges = $val;
            // each contiguous pair of array entries are the
            // lower and upper range for each molecule definition
            for ($i=0; $i < count($molranges); $i+=2) {
                $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}

function parseMol($mvalues)
{
    for ($i=0; $i < count($mvalues); $i++) {
        $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    }
    return new AminoAcid($mol);
}

$db = readDatabase("moldb.xml");
echo "** Database of AminoAcid objects:\n";
print_r($db);

?>

After executing parsemoldb.php, the variable $db contains an array of AminoAcid objects, and the output of the script confirms that:

** Database of AminoAcid objects:
Array
(
    [0] => aminoacid Object
        (
            [name] => Alanine
            [symbol] => ala
            [code] => A
            [type] => hydrophobic
        )

    [1] => aminoacid Object
        (
            [name] => Lysine
            [symbol] => lys
            [code] => K
            [type] => charged
        )

)

이전 | 위로 | 다음
xml_get_error_code | 처음으로 | xml_parse


xml_parse

(PHP 4, PHP 5)

xml_parse -- Start parsing an XML document

설명

int xml_parse ( resource $parser, string $data [, bool $is_final] )

xml_parse() parses an XML document. The handlers for the configured events are called as many times as necessary.

매개변수

parser

A reference to the XML parser to use.

data

Chunk of data to parse. A document may be parsed piece-wise by calling xml_parse() several times with new data, as long as the is_final parameter is set and TRUE when the last data is parsed.

is_final

If set and TRUE, data is the last piece of data sent in this parse.

반환값

Returns 1 on success or 0 on failure.

For unsuccessful parses, error information can be retrieved with
xml_get_error_code(),
xml_error_string(),
xml_get_current_line_number(),
xml_get_current_column_number() and
xml_get_current_byte_index().

참고: Entity errors are reported at the end of the data thus only if is_final is set and TRUE.

이전 | 위로 | 다음
xml_parse_into_struct | 처음으로 | xml_parser_create_ns


xml_parser_create_ns

(PHP 4 >= 4.0.5, PHP 5)

xml_parser_create_ns -- Create an XML parser with namespace support

설명

resource xml_parser_create_ns ( [string $encoding [, string $separator]] )

xml_parser_create_ns() creates a new XML parser with XML namespace support and returns a resource handle referencing it to be used by the other XML functions.

매개변수

encoding

The optional encoding specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII.

separator

With a namespace aware parser tag parameters passed to the various handler functions will consist of namespace and tag name separated by the string specified in seperator or ':' by default.

반환값

Returns a resource handle for the new XML parser.

참고

xml_parser_create()
xml_parser_free()

이전 | 위로 | 다음
xml_parse | 처음으로 | xml_parser_create


xml_parser_create

(PHP 4, PHP 5)

xml_parser_create -- Create an XML parser

설명

resource xml_parser_create ( [string $encoding] )

xml_parser_create() creates a new XML parser and returns a resource handle referencing it to be used by the other XML functions.

매개변수

encoding

The optional encoding specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. If empty string is passed, the parser attempts to identify which encoding the document is encoded in by looking at the heading 3 or 4 bytes. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII.

반환값

Returns a resource handle for the new XML parser.

참고

xml_parser_create_ns()
xml_parser_free()

이전 | 위로 | 다음
xml_parser_create_ns | 처음으로 | xml_parser_free


xml_parser_free

(PHP 4, PHP 5)

xml_parser_free -- Free an XML parser

설명

bool xml_parser_free ( resource $parser )

Frees the given XML parser.

매개변수

parser
A reference to the XML parser to free.

반환값

This function returns FALSE if parser does not refer to a valid parser, or else it frees the parser and returns TRUE.

이전 | 위로 | 다음
xml_parser_create | 처음으로 | xml_parser_get_option


xml_parser_get_option

(PHP 4, PHP 5)

xml_parser_get_option -- Get options from an XML parser

설명

mixed xml_parser_get_option ( resource $parser, int $option )

Gets an option value from an XML parser.

매개변수

parser
A reference to the XML parser to get an option from.
option
Which option to fetch. XML_OPTION_CASE_FOLDING and XML_OPTION_TARGET_ENCODING are available. See xml_parser_set_option() for their description.

반환값

This function returns FALSE if parser does not refer to a valid parser or if option isn't valid (generates also a E_WARNING). Else the option's value is returned.

이전 | 위로 | 다음
xml_parser_free | 처음으로 | xml_parser_set_option


xml_parser_set_option

(PHP 4, PHP 5)

xml_parser_set_option -- Set options in an XML parser

설명

bool xml_parser_set_option ( resource $parser, int $option, mixed $value )

Sets an option in an XML parser.

매개변수

parser

A reference to the XML parser to set an option in.

option

Which option to set. See below.

The following options are available:

표 329. XML parser options

Option constant | Data type | Description
XML_OPTION_CASE_FOLDING | integer | Controls whether case-folding is enabled for this XML parser. Enabled by default.
XML_OPTION_SKIP_TAGSTART | integer | Specify how many characters should be skipped in the beginning of a tag name.
XML_OPTION_SKIP_WHITE | integer | Whether to skip values consisting of whitespace characters.
XML_OPTION_TARGET_ENCODING | string | Sets which target encoding to use in this XML parser.By default, it is set to the same as the source encoding used by xml_parser_create(). Supported target encodings are ISO-8859-1, US-ASCII and UTF-8.

value

The option's new value.

반환값

This function returns FALSE if parser does not refer to a valid parser, or if the option could not be set. Else the option is set and TRUE is returned.

이전 | 위로 | 다음
xml_parser_get_option | 처음으로 | xml_set_character_data_handler


xml_set_character_data_handler

(PHP 4, PHP 5)

xml_set_character_data_handler -- Set up character data handler

설명

bool xml_set_character_data_handler ( resource $parser, callback $handler )

Sets the character data handler function for the XML parser parser.

매개변수

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept two parameters: handler ( resource $parser, string $data )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
data
The second parameter, data, contains the character data as a string.

Character data handler is called for every piece of a text in the XML document. It can be called multiple times inside each fragment (e.g. for non-ASCII strings).

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

참고: 함수 이름 대신에, 객체의 참조와 메쏘드 이름을 가지는 배열을 사용할 수 있습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
xml_parser_set_option | 처음으로 | xml_set_default_handler


xml_set_default_handler

(PHP 4, PHP 5)

xml_set_default_handler -- Set up default handler

설명

bool xml_set_default_handler ( resource $parser, callback $handler )

Sets the default handler function for the XML parser parser.

매개변수

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept two parameters: handler ( resource $parser, string $data )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
data
The second parameter, data, contains the character data.This may be the XML declaration, document type declaration, entities or other data for which no other handler exists.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

참고: 함수 이름 대신에, 객체의 참조와 메쏘드 이름을 가지는 배열을 사용할 수 있습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
xml_set_character_data_handler | 처음으로 | xml_set_element_handler


xml_set_element_handler

(PHP 4, PHP 5)

xml_set_element_handler -- Set up start and end element handlers

설명

bool xml_set_element_handler ( resource $parser, callback $start_element_handler, callback $end_element_handler )

Sets the element handler functions for the XML parser. start_element_handler and end_element_handler are strings containing the names of functions that must exist when xml_parse() is called for parser.

매개변수

parser

start_element_handler

The function named by start_element_handler must accept three parameters: start_element_handler ( resource $parser, string $name, array $attribs )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
name
The second parameter, name, contains the name of the element for which this handler is called.If case-folding is in effect for this parser, the element name will be in uppercase letters.
attribs

The third parameter, attribs, contains an associative array with the element's attributes (if any).The keys of this array are the attribute names, the values are the attribute values.Attribute names are case-folded on the same criteria as element names.Attribute values are not case-folded.

The original order of the attributes can be retrieved by walking through attribs the normal way, using each().The first key in the array was the first attribute, and so on.

참고: 함수 이름 대신에, 객체의 참조와 메쏘드 이름을 가지는 배열을 사용할 수 있습니다.

end_element_handler

The function named by end_element_handler must accept two parameters: end_element_handler ( resource $parser, string $name )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
name
The second parameter, name, contains the name of the element for which this handler is called.If case-folding is in effect for this parser, the element name will be in uppercase letters.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
xml_set_default_handler | 처음으로 | xml_set_end_namespace_decl_handler


xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_end_namespace_decl_handler -- Set up end namespace declaration handler

설명

bool xml_set_end_namespace_decl_handler ( resource $parser, callback $handler )
주의

This function is currently not documented; only the argument list is available.

참고: 함수 이름 대신에, 객체의 참조와 메쏘드 이름을 가지는 배열을 사용할 수 있습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
xml_set_element_handler | 처음으로 | xml_set_external_entity_ref_handler


xml_set_external_entity_ref_handler

(PHP 4, PHP 5)

xml_set_external_entity_ref_handler -- Set up external entity reference handler

설명

bool xml_set_external_entity_ref_handler ( resource $parser, callback $handler )

Sets the external entity reference handler function for the XML parser parser.

매개변수

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept five parameters, and should return an integer value.If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING. handler ( resource $parser, string $open_entity_names, string $base, string $system_id, string $public_id )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
open_entity_names
The second parameter, open_entity_names, is a space-separated list of the names of the entities that are open for the parse of this entity (including the name of the referenced entity).
base
This is the base for resolving the system identifier (system_id) of the external entity.Currently this parameter will always be set to an empty string.
system_id
The fourth parameter, system_id, is the system identifier as specified in the entity declaration.
public_id
The fifth parameter, public_id, is the public identifier as specified in the entity declaration, or an empty string if none was specified; the whitespace in the public identifier will have been normalized as required by the XML spec.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

참고: 함수 이름 대신에, 객체의 참조와 메쏘드 이름을 가지는 배열을 사용할 수 있습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
xml_set_end_namespace_decl_handler | 처음으로 | xml_set_notation_decl_handler


xml_set_notation_decl_handler

(PHP 4, PHP 5)

xml_set_notation_decl_handler -- Set up notation declaration handler

설명

bool xml_set_notation_decl_handler ( resource $parser, callback $handler )

Sets the notation declaration handler function for the XML parser parser.

A notation declaration is part of the document's DTD and has the following format:

<!NOTATION <parameter>name</parameter>
{ <parameter>systemId</parameter> | <parameter>publicId</parameter>?>
See » section 4.7 of the XML 1.0 spec for the definition of notation declarations.

매개변수

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept five parameters: handler ( resource $parser, string $notation_name, string $base, string $system_id, string $public_id )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
notation_name
This is the notation's name, as per the notation format described above.
base
This is the base for resolving the system identifier (system_id) of the notation declaration. Currently this parameter will always be set to an empty string.
system_id
System identifier of the external notation declaration.
public_id
Public identifier of the external notation declaration.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

참고: 함수 이름 대신에, 객체의 참조와 메쏘드 이름을 가지는 배열을 사용할 수 있습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
xml_set_external_entity_ref_handler | 처음으로 | xml_set_object


xml_set_object

(PHP 4, PHP 5)

xml_set_object -- Use XML Parser within an object

설명

bool xml_set_object ( resource $parser, object &$object )

This function allows to use parser inside object. All callback functions could be set with xml_set_element_handler() etc and assumed to be methods of object.

매개변수

parser

object

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2504. xml_set_object() example

<?php
class xml  {
    var $parser;

    function xml()
    {
        $this->parser = xml_parser_create();

        xml_set_object($this->parser, $this);
        xml_set_element_handler($this->parser, "tag_open", "tag_close");
        xml_set_character_data_handler($this->parser, "cdata");
    }

    function parse($data)
    {
        xml_parse($this->parser, $data);
    }

    function tag_open($parser, $tag, $attributes)
    {
        var_dump($parser, $tag, $attributes);
    }

    function cdata($parser, $cdata)
    {
        var_dump($parser, $cdata);
    }

    function tag_close($parser, $tag)
    {
        var_dump($parser, $tag);
    }

} // end of class xml

$xml_parser = new xml();
$xml_parser->parse("<A ID='hallo'>PHP</A>");
?>

이전 | 위로 | 다음
xml_set_notation_decl_handler | 처음으로 | xml_set_processing_instruction_handler


xml_set_processing_instruction_handler

(PHP 4, PHP 5)

xml_set_processing_instruction_handler -- Set up processing instruction (PI) handler

설명

bool xml_set_processing_instruction_handler ( resource $parser, callback $handler )

Sets the processing instruction (PI) handler function for the XML parser parser.

A processing instruction has the following format:

<?target
     data?>
You can put PHP code into such a tag, but be aware of one limitation: in an XML PI, the PI end tag (?>) can not be quoted, so this character sequence should not appear in the PHP code you embed with PIs in XML documents.If it does, the rest of the PHP code, as well as the "real" PI end tag, will be treated as character data.

매개변수

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept three parameters: handler ( resource $parser, string $target, string $data )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
target
The second parameter, target, contains the PI target.
data
The third parameter, data, contains the PI data.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

참고: 함수 이름 대신에, 객체의 참조와 메쏘드 이름을 가지는 배열을 사용할 수 있습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
xml_set_object | 처음으로 | xml_set_start_namespace_decl_handler


xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_start_namespace_decl_handler -- Set up start namespace declaration handler

설명

bool xml_set_start_namespace_decl_handler ( resource $parser, callback $handler )
주의

This function is currently not documented; only the argument list is available.

참고: 함수 이름 대신에, 객체의 참조와 메쏘드 이름을 가지는 배열을 사용할 수 있습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
xml_set_processing_instruction_handler | 처음으로 | xml_set_unparsed_entity_decl_handler


xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5)

xml_set_unparsed_entity_decl_handler -- Set up unparsed entity declaration handler

설명

bool xml_set_unparsed_entity_decl_handler ( resource $parser, callback $handler )

Sets the unparsed entity declaration handler function for the XML parser parser.

The handler will be called if the XML parser encounters an external entity declaration with an NDATA declaration, like the following:

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
NDATA <parameter>notationName</parameter>

See » section 4.2.2 of the XML 1.0 spec for the definition of notation declared external entities.

매개변수

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept six parameters: handler ( resource $parser, string $entity_name, string $base, string $system_id, string $public_id, string $notation_name )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
entity_name
The name of the entity that is about to be defined.
base
This is the base for resolving the system identifier (systemId) of the external entity.Currently this parameter will always be set to an empty string.
system_id
System identifier for the external entity.
public_id
Public identifier for the external entity.
notation_name
Name of the notation of this entity (see xml_set_notation_decl_handler()).

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

참고: 함수 이름 대신에, 객체의 참조와 메쏘드 이름을 가지는 배열을 사용할 수 있습니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
xml_set_start_namespace_decl_handler | 처음으로 | CLXXXI. XML-RPC Functions


XML-RPC Functions

이전 VI. 함수 레퍼런스 다음

CLXXXI. XML-RPC Functions

소개

These functions can be used to write XML-RPC servers and clients. You can find more information about XML-RPC at » http://www.xmlrpc.com/, and more documentation on this extension and its functions at » http://xmlrpc-epi.sourceforge.net/.

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

XML-RPC support in PHP is not enabled by default. You will need to use the --with-xmlrpc[=DIR] configuration option when compiling PHP to enable XML-RPC support. This extension is bundled into PHP as of 4.1.0.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 330. XML-RPC configuration options

Name | Default | Changeable | Changelog
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Available since PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Available since PHP 4.1.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

자원형

This extension defines a XML-RPC server resource returned by xmlrpc_server_create().

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

xmlrpc_decode_request -- Decodes XML into native PHP types
xmlrpc_decode -- Decodes XML into native PHP types
xmlrpc_encode_request -- Generates XML for a method request
xmlrpc_encode -- Generates XML for a PHP value
xmlrpc_get_type -- Gets xmlrpc type for a PHP value
xmlrpc_is_fault -- Determines if an array value represents an XMLRPC fault
xmlrpc_parse_method_descriptions -- Decodes XML into a list of method descriptions
xmlrpc_server_add_introspection_data -- Adds introspection documentation
xmlrpc_server_call_method -- Parses XML requests and call methods
xmlrpc_server_create -- Creates an xmlrpc server
xmlrpc_server_destroy -- Destroys server resources
xmlrpc_server_register_introspection_callback -- Register a PHP function to generate documentation
xmlrpc_server_register_method -- Register a PHP function to resource method matching method_name
xmlrpc_set_type -- Sets xmlrpc type, base64 or datetime, for a PHP string value
이전 | 위로 | 다음
xml_set_unparsed_entity_decl_handler | 처음으로 | xmlrpc_decode_request


xmlrpc_decode_request

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_decode_request -- Decodes XML into native PHP types

설명

mixed xmlrpc_decode_request ( string $xml, string &$method [, string $encoding] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CLXXXI. XML-RPC Functions | 처음으로 | xmlrpc_decode


xmlrpc_decode

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_decode -- Decodes XML into native PHP types

설명

mixed xmlrpc_decode ( string $xml [, string $encoding] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

xml

XML response returned by XMLRPC method.

encoding

Input encoding supported by iconv (defaults to "iso-8859-1").

반환값

Returns either an array, or an integer, or a string, or a boolean according to the response returned by the XMLRPC method.

예제

See example by xmlrpc_encode_request().

참고

xmlrpc_encode_request()
xmlrpc_is_fault()

이전 | 위로 | 다음
xmlrpc_decode_request | 처음으로 | xmlrpc_encode_request


xmlrpc_encode_request

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_encode_request -- Generates XML for a method request

설명

string xmlrpc_encode_request ( string $method, mixed $params [, array $output_options] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

method

Name of the method to call.

params

Method parameters compatible with method signature.

output_options

Array specifying output options may contain (default values are emphasised):

  • output_type: php, xml

  • verbosity: no_white_space, newlines_only, pretty

  • escaping: cdata, non-ascii, non-print, markup (may be a string with one value or an array with multiple values)

  • version: simple, xmlrpc, soap 1.1, auto

  • encoding: iso-8859-1, other character set supported by iconv

반환값

Returns a string containing the XML representation of the request.

예제

예 2505. XMLRPC client functions example

<?php
$request = xmlrpc_encode_request("method", array(1, 2, 3));
$context = stream_context_create(array('http' => array(
    'method' => "POST",
    'header' => "Content-Type: text/xml",
    'content' => $request
)));
$file = file_get_contents("http://www.example.com/xmlrpc", false, $context);
$response = xmlrpc_decode($file);
if (xmlrpc_is_fault($response)) {
    trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
    print_r($response);
}
?>

참고

stream_context_create()
file_get_contents()
xmlrpc_decode()

이전 | 위로 | 다음
xmlrpc_decode | 처음으로 | xmlrpc_encode


xmlrpc_encode

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_encode -- Generates XML for a PHP value

설명

string xmlrpc_encode ( mixed $value )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xmlrpc_encode_request | 처음으로 | xmlrpc_get_type


xmlrpc_get_type

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_get_type -- Gets xmlrpc type for a PHP value

설명

string xmlrpc_get_type ( mixed $value )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This function is especially useful for base64 and datetime strings.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xmlrpc_encode | 처음으로 | xmlrpc_is_fault


xmlrpc_is_fault

(PHP 4 >= 4.3.0, PHP 5)

xmlrpc_is_fault -- Determines if an array value represents an XMLRPC fault

설명

bool xmlrpc_is_fault ( array $arg )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

arg

Array returned by xmlrpc_decode().

반환값

Returns TRUE if the argument means fault, FALSE otherwise. Fault description is available in $arg["faultString"], fault code is in $arg["faultCode"].

예제

See example by xmlrpc_encode_request().

참고

xmlrpc_decode()

이전 | 위로 | 다음
xmlrpc_get_type | 처음으로 | xmlrpc_parse_method_descriptions


xmlrpc_parse_method_descriptions

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_parse_method_descriptions -- Decodes XML into a list of method descriptions

설명

array xmlrpc_parse_method_descriptions ( string $xml )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xmlrpc_is_fault | 처음으로 | xmlrpc_server_add_introspection_data


xmlrpc_server_add_introspection_data

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_server_add_introspection_data -- Adds introspection documentation

설명

int xmlrpc_server_add_introspection_data ( resource $server, array $desc )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xmlrpc_parse_method_descriptions | 처음으로 | xmlrpc_server_call_method


xmlrpc_server_call_method

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_server_call_method -- Parses XML requests and call methods

설명

string xmlrpc_server_call_method ( resource $server, string $xml, mixed $user_data [, array $output_options] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xmlrpc_server_add_introspection_data | 처음으로 | xmlrpc_server_create


xmlrpc_server_create

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_server_create -- Creates an xmlrpc server

설명

resource xmlrpc_server_create ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xmlrpc_server_call_method | 처음으로 | xmlrpc_server_destroy


xmlrpc_server_destroy

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_server_destroy -- Destroys server resources

설명

int xmlrpc_server_destroy ( resource $server )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xmlrpc_server_create | 처음으로 | xmlrpc_server_register_introspection_callback


xmlrpc_server_register_introspection_callback

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_server_register_introspection_callback -- Register a PHP function to generate documentation

설명

bool xmlrpc_server_register_introspection_callback ( resource $server, string $function )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xmlrpc_server_destroy | 처음으로 | xmlrpc_server_register_method


xmlrpc_server_register_method

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_server_register_method -- Register a PHP function to resource method matching method_name

설명

bool xmlrpc_server_register_method ( resource $server, string $method_name, string $function )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
xmlrpc_server_register_introspection_callback | 처음으로 | xmlrpc_set_type


xmlrpc_set_type

(PHP 4 >= 4.0.7, PHP 5)

xmlrpc_set_type -- Sets xmlrpc type, base64 or datetime, for a PHP string value

설명

bool xmlrpc_set_type ( string &$value, string $type )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

value

Value to set the type

type

'base64' or 'datetime'

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. If successful, value is converted to an object.

오류/예외

Issues E_WARNING with type unsupported by XMLRPC.

이전 | 위로 | 다음
xmlrpc_server_register_method | 처음으로 | CLXXXII. XMLReader functions


xdiff Functions

이전 VI. 함수 레퍼런스 다음

CLXXIX. xdiff Functions

소개

xdiff extension creates and applies patches to both text and binary files.

요구 조건

To use xdiff, you will need libxdiff installed, available on the libxdiff homepage » http://www.xmailserver.org/xdiff-lib.html.

참고: You'll need at least libxdiff 0.7 for these functions to be aware of memory_limit.

설치

xdiff is currently available through PECL » http://pecl.php.net/package/xdiff.

If » PEAR is available on your *nix-like system you can use the pear installer to install the xdiff extension, by the following command: pear -v install xdiff.

You can always download the tar.gz package and install xdiff by hand:

예 2487. xdiff install by hand

gunzip xdiff-xxx.tgz
tar -xvf xdiff-xxx.tar
cd xdiff-xxx
phpize
./configure && make && make install

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

XDIFF_PATCH_NORMAL (integer)
XDIFF_PATCH_REVERSE (integer)

차례

xdiff_file_diff_binary -- Make binary diff of two files
xdiff_file_diff -- Make unified diff of two files
xdiff_file_merge3 -- Merge 3 files into one
xdiff_file_patch_binary -- Patch a file with a binary diff
xdiff_file_patch -- Patch a file with an unified diff
xdiff_string_diff_binary -- Make binary diff of two strings
xdiff_string_diff -- Make unified diff of two strings
xdiff_string_merge3 -- Merge 3 strings into one
xdiff_string_patch_binary -- Patch a string with a binary diff
xdiff_string_patch -- Patch a string with an unified diff
이전 | 위로 | 다음
xattr_supported | 처음으로 | xdiff_file_diff_binary


xdiff_file_diff_binary

(PECL xdiff:0.2-1.4)

xdiff_file_diff_binary -- Make binary diff of two files

설명

bool xdiff_file_diff_binary ( string $file1, string $file2, string $dest )

Makes a binary diff of two files and stores the result in a file. This function works with both text and binary files.

매개변수

file1

file2

dest

Path of the resulting file. Resulting file is in binary format.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2488. xdiff_file_diff_binary() example

The following code makes binary diff of two archives.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_diff_binary($old_version, $new_version, 'my_script.bdiff');
?>

주의

참고: Both files will be loaded into memory so ensure that your memory_limit is set high enough.

참고

xdiff_string_diff_binary()

이전 | 위로 | 다음
CLXXIX. xdiff Functions | 처음으로 | xdiff_file_diff


xdiff_file_diff

(PECL xdiff:0.2-1.4)

xdiff_file_diff -- Make unified diff of two files

설명

bool xdiff_file_diff ( string $file1, string $file2, string $dest [, int $context [, bool $minimal]] )

Makes a diff of two files and stores the result in a file.

매개변수

file1

file2

dest

Path of the resulting file.

context

Indicates how many lines of context you want to include in diff result.

minimal

Set this parameter to TRUE if you want to minimalize size of diff (can take a long time). Resulting file is human-readable.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2489. xdiff_file_diff() example

The following code makes unified diff of two php files.

<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';

xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>

주의

참고: This function doesn't work well with binary files. To make diff of binary files use xdiff_file_diff_binary().

참고

xdiff_string_diff()

이전 | 위로 | 다음
xdiff_file_diff_binary | 처음으로 | xdiff_file_merge3


xdiff_file_merge3

(PECL xdiff:0.2-1.4)

xdiff_file_merge3 -- Merge 3 files into one

설명

mixed xdiff_file_merge3 ( string $file1, string $file2, string $file3, string $dest )

Merges three files into one and stores the result in a file.

매개변수

file1

file2

file3

dest

Path of the resulting file.

반환값

Returns TRUE if merge was successful, string with rejected chunks if it was not or FALSE if an internal error happened.

예제

예 2490. xdiff_file_merge3() example

The following code merges three files into one.

<?php
$old_version = 'original_script.php';
$fix1 = 'script_with_fix1.php';
$fix2 = 'script_with_fix2.php';

$errors = xdiff_file_merge3($old_version, $fix1, $fix2, 'fixed_script.php');
if (is_string($errors)) {
    echo "Rejects:\n";
    echo $errors;
}
?>

참고

xdiff_string_merge3()

이전 | 위로 | 다음
xdiff_file_diff | 처음으로 | xdiff_file_patch_binary


xdiff_file_patch_binary

(PECL xdiff:0.2-1.4)

xdiff_file_patch_binary -- Patch a file with a binary diff

설명

bool xdiff_file_patch_binary ( string $file, string $patch, string $dest )

Patches a file with a binary patch and stores the result in a file.

매개변수

file

The original file.

patch

The binary patch file.

dest

Path of the resulting file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2491. xdiff_file_patch_binary() example

The following code applies binary diff to a file.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_patch_binary($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
   echo "File patched";
} else {
   echo "File couldn't be patched";
}

?>

주의

참고: Both files (file and patch) will be loaded into memory so ensure that your memory_limit is set high enough.

참고

xdiff_string_patch_binary()

이전 | 위로 | 다음
xdiff_file_merge3 | 처음으로 | xdiff_file_patch


xdiff_file_patch

(PECL xdiff:0.2-1.4)

xdiff_file_patch -- Patch a file with an unified diff

설명

mixed xdiff_file_patch ( string $file, string $patch, string $dest [, int $flags] )

Patches a file with a unified patch and stores the result in a file.

매개변수

file

The original file.

patch

The patch file.

dest

Path of the resulting file.

flags

Can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

반환값

Returns FALSE if an internal error happened, string with rejected chunks of patch or TRUE if patch has been successfully applied.

예제

예 2492. xdiff_file_patch() example

The following code applies unified diff to a file.

<?php
$old_version = 'my_script-1.0.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($old_version, $patch, 'my_script-1.1.php');
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

예 2493. Patch reversing example

The following code reverses a patch.

<?php
$new_version = 'my_script-1.1.php';
$patch = 'my_script.patch';

$errors = xdiff_file_patch($new_version, $patch, 'my_script-1.0.php', XDIFF_PATCH_REVERSE);
if (is_string($errors)) {
   echo "Rejects:\n";
   echo $errors;
}

?>

참고

xdiff_string_patch()

이전 | 위로 | 다음
xdiff_file_patch_binary | 처음으로 | xdiff_string_diff_binary


xdiff_string_diff_binary

(PECL xdiff:0.2-1.4)

xdiff_string_diff_binary -- Make binary diff of two strings

설명

string xdiff_string_diff_binary ( string $str1, string $str2 )

Makes a binary diff of two strings.

매개변수

str1

str2

반환값

Returns string with result or FALSE if an internal error happened.

참고

xdiff_file_diff_binary()

이전 | 위로 | 다음
xdiff_file_patch | 처음으로 | xdiff_string_diff


xdiff_string_diff

(PECL xdiff:0.2-1.4)

xdiff_string_diff -- Make unified diff of two strings

설명

string xdiff_string_diff ( string $str1, string $str2 [, int $context [, bool $minimal]] )

Makes a unified diff of two strings.

매개변수

str1

str2

context

Indicates how many lines of context you want to include in the diff result.

minimal

Set this parameter to TRUE if you want to minimalize the size of the diff (can take a long time).

반환값

Returns string with result or FALSE if an internal error happened.

예제

예 2494. xdiff_string_diff() example

The following code makes unified diff of two articles.

<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* Let's say that someone pasted a new article to html form */

$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
    echo "Differences between two articles:\n";
    echo $diff;
}

?>

주의

참고: This function doesn't work well with binary strings. To make diff of binary strings use xdiff_string_diff_binary().

참고

xdiff_file_diff()

이전 | 위로 | 다음
xdiff_string_diff_binary | 처음으로 | xdiff_string_merge3


xdiff_string_merge3

(PECL xdiff:0.2-1.4)

xdiff_string_merge3 -- Merge 3 strings into one

설명

mixed xdiff_string_merge3 ( string $str1, string $str2, string $str3 [, string &$error] )

Merges three strings into one.

매개변수

str1

str2

str3

error

If provided then rejected parts are stored inside this variable.

반환값

Returns merged string, FALSE if an internal error happened, or TRUE if merged string is empty.

참고

xdiff_file_merge3()

이전 | 위로 | 다음
xdiff_string_diff | 처음으로 | xdiff_string_patch_binary


xdiff_string_patch_binary

(PECL xdiff:0.2-1.4)

xdiff_string_patch_binary -- Patch a string with a binary diff

설명

string xdiff_string_patch_binary ( string $str, string $patch )

Patches a string with a binary patch.

매개변수

str

The original binary string.

patch

The binary patch string.

반환값

Returns the patched string, or FALSE on error.

참고

xdiff_file_patch_binary()

이전 | 위로 | 다음
xdiff_string_merge3 | 처음으로 | xdiff_string_patch


xdiff_string_patch

(PECL xdiff:0.2-1.4)

xdiff_string_patch -- Patch a string with an unified diff

설명

string xdiff_string_patch ( string $str, string $patch [, int $flags [, string &$error]] )

Patches a string with a unified patch string.

매개변수

str

The original string.

patch

The unified patch string.

flags

flags can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

error

If provided then rejected parts are stored inside this variable.

반환값

Returns the patched string, or FALSE on error.

예제

예 2495. xdiff_string_patch() example

The following code applies changes to some article.

<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* Let's say that someone pasted a patch to html form */

$errors = '';

$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
    echo "New article:\n";
    echo $new_article;
}

if (strlen($errors)) {
    echo "Rejects: \n";
    echo $errors;
}

?>

참고

xdiff_file_patch()

이전 | 위로 | 다음
xdiff_string_patch_binary | 처음으로 | CLXXX. XML 해석기 함수


XSL functions

이전 VI. 함수 레퍼런스 다음

CLXXXIV. XSL functions

소개

The XSL extension implements the XSL standard, performing » XSLT transformations using the » libxslt library

요구 조건

This extension uses libxslt which can be found at » http://xmlsoft.org/XSLT/. libxslt version 1.1.0 or greater is required.

설치

PHP 5 includes the XSL extension by default and can be enabled by adding the argument --with-xsl[=DIR] to your configure line. DIR is the libxslt installation directory.

예약 클래스

XSLTProcessor

생성자

  • XSLTProcessor::__construct - construct a new XSLTProcessor object

메쏘드

  • XSLTProcessor::getParameter - Get value of a parameter

  • XSLTProcessor::hasExsltSupport - Determine if PHP has EXSLT support

  • XSLTProcessor::importStylesheet - Import stylesheet

  • XSLTProcessor::registerPHPFunctions - Enables the ability to use PHP functions as XSLT functions

  • XSLTProcessor::removeParameter - Remove parameter

  • XSLTProcessor::setParameter - Set value for a parameter

  • XSLTProcessor::transformToDoc - Transform to DOMDocument

  • XSLTProcessor::transformToURI - Transform to URI

  • XSLTProcessor::transformToXML - Transform to XML

예제

Many examples in this reference require both an XML and an XSL file. We will use collection.xml and collection.xsl that contains the following:

예 2506. collection.xml

<collection>
<cd>
<title>Fight for your mind</title>
<artist>Ben Harper</artist>
<year>1995</year>
</cd>
<cd>
<title>Electric Ladyland</title>
<artist>Jimi Hendrix</artist>
<year>1997</year>
</cd>
</collection>

예 2507. collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
<xsl:output method="html" encoding="iso-8859-1" indent="no"/>
<xsl:template match="collection">
Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection!
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="cd">
<h1><xsl:value-of select="title"/></h1>
<h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
<hr />
</xsl:template>
</xsl:stylesheet>

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

XSL_CLONE_AUTO (integer)
XSL_CLONE_NEVER (integer)
XSL_CLONE_ALWAYS (integer)
LIBXSLT_VERSION (integer)
libxslt version like 10117. Available as of PHP 5.1.2.
LIBXSLT_DOTTED_VERSION (string)
libxslt version like 1.1.17. Available as of PHP 5.1.2.
LIBEXSLT_VERSION (integer)
libexslt version like 813. Available as of PHP 5.1.2.
LIBEXSLT_DOTTED_VERSION (string)
libexslt version like 1.1.17. Available as of PHP 5.1.2.

차례

XSLTProcessor::__construct -- Creates a new XSLTProcessor object
XSLTProcessor::getParameter -- Get value of a parameter
XSLTProcessor::hasExsltSupport -- Determine if PHP has EXSLT support
XSLTProcessor::importStylesheet -- Import stylesheet
XSLTProcessor::registerPHPFunctions -- Enables the ability to use PHP functions as XSLT functions
XSLTProcessor::removeParameter -- Remove parameter
XSLTProcessor::setParameter -- Set value for a parameter
XSLTProcessor::transformToDoc -- Transform to a DOMDocument
XSLTProcessor::transformToURI -- Transform to URI
XSLTProcessor::transformToXML -- Transform to XML
이전 | 위로 | 다음
XMLWriter::writeRaw | 처음으로 | XSLTProcessor::__construct


XSLTProcessor::getParameter

(No version information available, might be only in CVS)

XSLTProcessor::getParameter -- Get value of a parameter

설명

class XSLTProcessor {
string getParameter ( string $namespaceURI, string $localName )
}

Gets a parameter if previously set by XSLTProcessor::setParameter.

매개변수

namespaceURI

The namespace URI of the XSLT parameter.

localName

The local name of the XSLT parameter.

반환값

The value of the parameter or NULL if it's not set.

참고

XSLTProcessor::setParameter
XSLTProcessor::removeParameter

이전 | 위로 | 다음
XSLTProcessor::__construct | 처음으로 | XSLTProcessor::hasExsltSupport


XSLTProcessor::hasExsltSupport

(No version information available, might be only in CVS)

XSLTProcessor::hasExsltSupport -- Determine if PHP has EXSLT support

설명

class XSLTProcessor {
bool hasExsltSupport ( void )
}

This method determine if PHP was built with the » EXSLT library.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2509. Testing EXSLT support

<?php

$proc = new XSLTProcessor;
if (!$proc->hasExsltSupport()) {
    die('EXSLT support not available');
}

// do EXSLT stuff here ..

?>

이전 | 위로 | 다음
XSLTProcessor::getParameter | 처음으로 | XSLTProcessor::importStylesheet


XSLTProcessor::importStylesheet

(No version information available, might be only in CVS)

XSLTProcessor::importStylesheet -- Import stylesheet

설명

class XSLTProcessor {
void importStylesheet ( DOMDocument $stylesheet )
}

This method import the stylesheet into the XSLTProcessor for transformations.

매개변수

stylesheet

The imported style sheet as a DOMDocument object.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
XSLTProcessor::hasExsltSupport | 처음으로 | XSLTProcessor::registerPHPFunctions


XSLTProcessor::registerPHPFunctions

(No version information available, might be only in CVS)

XSLTProcessor::registerPHPFunctions -- Enables the ability to use PHP functions as XSLT functions

설명

class XSLTProcessor {
void registerPHPFunctions ( [mixed $restrict] )
}

This method enables the ability to use PHP functions as XSLT functions within XSL stylesheets.

매개변수

restrict

Use this parameter to only allow certain functions to be called from XSLT.

This parameter can be either a string (a function name) or an array of functions.

반환값

값을 반환하지 않습니다.

예제

예 2510. Simple PHP Function call from a stylesheet

<?php
$xml = <<<EOB
<allusers>
 <user>
  <uid>bob</uid>
 </user>
 <user>
  <uid>joe</uid>
 </user>
</allusers>
EOB;
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:php="http://php.net/xsl">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
 <xsl:template match="allusers">
  <html><body>
    <h2>Users</h2>
    <table>
    <xsl:for-each select="user">
      <tr><td>
        <xsl:value-of
             select="php:function('ucfirst',string(uid))"/>
      </td></tr>
    </xsl:for-each>
    </table>
  </body></html>
 </xsl:template>
</xsl:stylesheet>
EOB;
$xmldoc = DOMDocument::loadXML($xml);
$xsldoc = DOMDocument::loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
?>

변경 기록

버전 | 설명
5.1.0 | The restrict parameter was added.

이전 | 위로 | 다음
XSLTProcessor::importStylesheet | 처음으로 | XSLTProcessor::removeParameter


XSLTProcessor::removeParameter

(No version information available, might be only in CVS)

XSLTProcessor::removeParameter -- Remove parameter

설명

class XSLTProcessor {
bool removeParameter ( string $namespaceURI, string $localName )
}

Removes a parameter, if set. This will make the processor use the default value for the parameter as specified in the stylesheet.

매개변수

namespaceURI

The namespace URI of the XSLT parameter.

localName

The local name of the XSLT parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XSLTProcessor::setParameter
XSLTProcessor::getParameter

이전 | 위로 | 다음
XSLTProcessor::registerPHPFunctions | 처음으로 | XSLTProcessor::setParameter


XSLTProcessor::setParameter

(No version information available, might be only in CVS)

XSLTProcessor::setParameter -- Set value for a parameter

설명

class XSLTProcessor {
bool setParameter ( string $namespace, string $name, string $value )
} class XSLTProcessor {
bool setParameter ( string $namespace, array $options )
}

Sets the value of one or more parameters to be used in subsequent transformations with XSLTProcessor. If the parameter doesn't exist in the stylesheet it will be ignored.

매개변수

namespace

The namespace URI of the XSLT parameter.

name

The local name of the XSLT parameter.

value

The new value of the XSLT parameter.

options

An array of name => value pairs. This syntax is available since PHP 5.1.0.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2511. Changing the owner before the transformation

<?php

$collections = array(
    'Marc Rutkowski' => 'marc',
    'Olivier Parmentier' => 'olivier'
);

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

foreach ($collections as $name => $file) {
    // Load the XML source
    $xml = new DOMDocument;
    $xml->load('collection_' . $file . '.xml');

    $proc->setParameter('', 'owner', $name);
    $proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}

?>

참고

XSLTProcessor::getParameter
XSLTProcessor::removeParameter

이전 | 위로 | 다음
XSLTProcessor::removeParameter | 처음으로 | XSLTProcessor::transformToDoc


XSLTProcessor::transformToDoc

(No version information available, might be only in CVS)

XSLTProcessor::transformToDoc -- Transform to a DOMDocument

설명

class XSLTProcessor {
DOMDocument transformToDoc ( DOMNode $doc )
}

Transforms the source node to a DOMDocument applying the stylesheet given by the XSLTProcessor::importStylesheet method.

매개변수

doc

The node to be transformed.

반환값

The resulting DOMDocument or FALSE on error.

예제

예 2512. Transforming to a DOMDocument

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);

?>

위 예제의 출력:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

참고

XSLTProcessor::transformToURI
XSLTProcessor::transformToXML

이전 | 위로 | 다음
XSLTProcessor::setParameter | 처음으로 | XSLTProcessor::transformToURI


XSLTProcessor::transformToURI

(No version information available, might be only in CVS)

XSLTProcessor::transformToURI -- Transform to URI

설명

class XSLTProcessor {
int transformToURI ( DOMDocument $doc, string $uri )
}

Transforms the source node to an URI applying the stylesheet given by the XSLTProcessor::importStylesheet method.

매개변수

doc

The transformed document.

uri

반환값

Returns the number of bytes written or FALSE if an error occurred.

예제

예 2513. Transforming to a HTML file

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

참고

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML

이전 | 위로 | 다음
XSLTProcessor::transformToDoc | 처음으로 | XSLTProcessor::transformToXML


XSLTProcessor::transformToXML

(No version information available, might be only in CVS)

XSLTProcessor::transformToXML -- Transform to XML

설명

class XSLTProcessor {
string transformToXML ( DOMDocument $doc )
}

Transforms the source node to a string applying the stylesheet given by the XSLTProcessor::importStylesheet method.

매개변수

doc

The transformed document.

반환값

The result of the transformation as a string or FALSE on error.

예제

예 2514. Transforming to a string

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo $proc->transformToXML($xml);

?>

위 예제의 출력:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

참고

XSLTProcessor::transformToDoc
XSLTProcessor::transformToURI

이전 | 위로 | 다음
XSLTProcessor::transformToURI | 처음으로 | CLXXXV. XSLT Functions


XSLT Functions

이전 VI. 함수 레퍼런스 다음

CLXXXV. XSLT Functions

소개

This PHP extension provides a processor independent API to XSLT transformations. Currently this extension only supports the Sablotron library from the Ginger Alliance. Support is planned for other libraries, such as the Xalan library or the libxslt library.

XSLT (Extensible Stylesheet Language (XSL) Transformations) is a language for transforming XML documents into other XML documents. It is a standard defined by The World Wide Web Consortium (W3C). Information about XSLT and related technologies can be found at » http://www.w3.org/TR/xslt.

참고: This extension is different than the sablotron extension distributed with versions of PHP prior to PHP 4.1.0, currently only the new XSLT extension in PHP 4.1.0 is supported. If you need support for the old extension, please ask your questions on the PHP mailing lists.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

참고: If you need xslt support with PHP 5 you can use the XSL extension.

요구 조건

This extension uses Sablotron and expat, which can both be found at » http://www.gingerall.org/sablotron.html. Binaries are provided as well as source.

설치

On Unix, run configure with the --enable-xslt --with-xslt-sablot options. The Sablotron library should be installed somewhere your compiler can find it.

Make sure you have the same libraries linked to the Sablotron library as those, which are linked with PHP. The configuration options: --with-expat-dir=DIR --with-iconv-dir=DIR are there to help you specify them. When asking for support, always mention these directives, and whether there are other versions of those libraries installed on your system somewhere. Naturally, provide all the version numbers.

경고

Be sure your Sablot library is linked to -lstdc++ as otherwise your configure will fail, or PHP will fail to run or load.

JavaScript E-XSLT support: If you compiled Sablotron with JavaScript support, you must specify the option: --with-sablot-js=DIR.

Note to Win32 Users: In order for this extension to work, there are DLL files that must be available to the Windows system PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the systems PATH), it is not recommended. This extension requires the following files to be in the PATH: sablot.dll, expat.dll, and iconv.dll

For PHP <= 4.2.0, the file iconv.dll is not required.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

This extension defines a XSLT processor resource returned by xslt_create().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

XSLT_OPT_SILENT (integer)
Drop all logging and error reporting. This is a generic option for all backends that may be added in the future.
XSLT_SABOPT_PARSE_PUBLIC_ENTITIES (integer)

Tell Sablotron to parse public entities. By default this has been turned off.

XSLT_SABOPT_DISABLE_ADDING_META (integer)

Do not add the meta tag "Content-Type" for HTML output. The default is set during compilation of Sablotron.

XSLT_SABOPT_DISABLE_STRIPPING (integer)
Suppress the whitespace stripping (on data files only).
XSLT_SABOPT_IGNORE_DOC_NOT_FOUND (integer)
Consider unresolved documents (the document() function) non-lethal.
XSLT_SABOPT_FILES_TO_HANDLER (integer)
XSLT_ERR_UNSUPPORTED_SCHEME (integer)
Error return code, for scheme handlers.

차례

xslt_backend_info -- Returns the information on the compilation settings of the backend
xslt_backend_name -- Returns the name of the backend
xslt_backend_version -- Returns the version number of Sablotron
xslt_create -- Create a new XSLT processor
xslt_errno -- Returns an error number
xslt_error -- Returns an error string
xslt_free -- Free XSLT processor
xslt_getopt -- Get options on a given xsl processor
xslt_process -- Perform an XSLT transformation
xslt_set_base -- Set the base URI for all XSLT transformations
xslt_set_encoding -- Set the encoding for the parsing of XML documents
xslt_set_error_handler -- Set an error handler for a XSLT processor
xslt_set_log -- Set the log file to write log messages to
xslt_set_object -- Sets the object in which to resolve callback functions
xslt_set_sax_handler -- Set SAX handlers for a XSLT processor
xslt_set_sax_handlers -- Set the SAX handlers to be called when the XML document gets processed
xslt_set_scheme_handler -- Set Scheme handlers for a XSLT processor
xslt_set_scheme_handlers -- Set the scheme handlers for the XSLT processor
xslt_setopt -- Set options on a given xsl processor
이전 | 위로 | 다음
XSLTProcessor::transformToXML | 처음으로 | xslt_backend_info


xslt_backend_info

(PHP 4 >= 4.3.0)

xslt_backend_info -- Returns the information on the compilation settings of the backend

설명

string xslt_backend_info ( void )

xslt_backend_info() gets information about the compilation settings of the backend.

반환값

Returns a string with information about the compilation setting of the backend or an error string when no information available.

참고

xslt_backend_name()
xslt_backend_version()

이전 | 위로 | 다음
CLXXXV. XSLT Functions | 처음으로 | xslt_backend_name


xslt_backend_name

(PHP 4 >= 4.3.0)

xslt_backend_name -- Returns the name of the backend

설명

string xslt_backend_name ( void )

xslt_backend_name() gets the name of the backend.

반환값

Returns Sablotron.

예제

예 2515. xslt_backend_name() example

<?php

echo xslt_backend_name(); // Sablotron

?>

참고

xslt_backend_info()
xslt_backend_version()

이전 | 위로 | 다음
xslt_backend_info | 처음으로 | xslt_backend_version


xslt_backend_version

(PHP 4 >= 4.3.0)

xslt_backend_version -- Returns the version number of Sablotron

설명

string xslt_backend_version ( void )

xslt_backend_version() gets the version number of Sablotron.

반환값

Returns the version number, or FALSE if not available.

예제

예 2516. xslt_backend_version() example

<?php

echo xslt_backend_version(); // 0.98 for example

?>

참고

xslt_backend_info()
xslt_backend_name()

이전 | 위로 | 다음
xslt_backend_name | 처음으로 | xslt_create


xslt_create

(PHP 4 >= 4.0.3)

xslt_create -- Create a new XSLT processor

설명

resource xslt_create ( void )

Create and return a new XSLT processor resource for manipulation by the other XSLT functions.

반환값

Returns an XSLT processor link identifier on success, or FALSE on error.

예제

예 2517. xslt_create() example

<?php
function xml2html($xmldata, $xsl)
{
    /* $xmldata -> your XML */
    /* $xsl -> XSLT file */

    $path = 'include';
    $arguments = array('/_xml' => $xmldata);
    $xsltproc = xslt_create();
    xslt_set_encoding($xsltproc, 'ISO-8859-1');
    $html =
        xslt_process($xsltproc, 'arg:/_xml', "$path/$xsl", NULL, $arguments);

    if (empty($html)) {
       die('XSLT processing error: '. xslt_error($xsltproc));
    }
    xslt_free($xsltproc);
    return $html;
}
?>

참고

xslt_free()

이전 | 위로 | 다음
xslt_backend_version | 처음으로 | xslt_errno


xslt_errno

(PHP 4 >= 4.0.3)

xslt_errno -- Returns an error number

설명

int xslt_errno ( resource $xh )

Returns an error code describing the last error that occurred on the passed XSLT processor.

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

반환값

Returns the error code, as an integer.

참고

xslt_error()

이전 | 위로 | 다음
xslt_create | 처음으로 | xslt_error


xslt_error

(PHP 4 >= 4.0.3)

xslt_error -- Returns an error string

설명

string xslt_error ( resource $xh )

Returns a string describing the last error that occurred on the passed XSLT processor.

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

반환값

Returns the error message, as a string.

예제

예 2518. Handling errors using the xslt_error() and xslt_errno() functions.

<?php

$xh = xslt_create();
$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
if (!$result) {
    die(sprintf("Cannot process XSLT document [%d]: %s",
                xslt_errno($xh), xslt_error($xh)));
}

echo $result;

xslt_free($xh);
?>

참고

xslt_errno()

이전 | 위로 | 다음
xslt_errno | 처음으로 | xslt_free


xslt_free

(PHP 4 >= 4.0.3)

xslt_free -- Free XSLT processor

설명

void xslt_free ( resource $xh )

Free the XSLT processor identified by the given handle.

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

반환값

값을 반환하지 않습니다.

참고

xslt_create()

이전 | 위로 | 다음
xslt_error | 처음으로 | xslt_getopt


xslt_getopt

(PHP 4 >= 4.3.0)

xslt_getopt -- Get options on a given xsl processor

설명

int xslt_getopt ( resource $processor )

xslt_getopt() returns the options on the given processor.

매개변수

processor

The XSLT processor link identifier, created with xslt_create().

반환값

Returns the options, a bitmask constructed with the XSLT_SABOPT_XXX constants.

참고

xslt_setopt()

이전 | 위로 | 다음
xslt_free | 처음으로 | xslt_process


xslt_process

(PHP 4 >= 4.0.3)

xslt_process -- Perform an XSLT transformation

설명

mixed xslt_process ( resource $xh, string $xmlcontainer, string $xslcontainer [, string $resultcontainer [, array $arguments [, array $parameters]]] )

The xslt_process() function is the crux of the XSLT extension. It allows you to perform an XSLT transformation using almost any type of input source - the containers. This is accomplished through the use of argument buffers -- a concept taken from the Sablotron XSLT processor (currently the only XSLT processor this extension supports). The input containers default to a filename 'containing' the document to be processed.

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

xmlcontainer

Path to XML file or placeholder for the XML argument.

xslcontainer

Path to XSL file or placeholder for the XML argument.

resultcontainer

The result container defaults to a filename for the transformed document. If the result container is not specified - i.e. NULL - than the result is returned.

arguments

Instead of files as the XML and XSLT arguments to the xslt_process() function, you can specify "argument place holders" which are then substituted by values given in the arguments array.

parameters

An array for any top-level parameters that will be passed to the XSLT document. These parameters can then be accessed within your XSL files using the <xsl:param name="parameter_name"> instruction. The parameters must be UTF-8 encoded and their values will be interpreted as strings by the Sablotron processor. In other words - you cannot pass node-sets as parameters to the XSLT document.

Containers can also be set via the arguments array (see below).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. If the result container is not specified - i.e. NULL - than the result is returned.

변경 기록

버전 | 설명
4.0.6 | This function no longer takes XML strings in xmlcontainer or xslcontainer. Passing a string containing XML to either of these parameters will result in a segmentation fault in Sablotron versions up to and including version 0.95.

예제

The simplest type of transformation with the xslt_process() function is the transformation of an XML file with an XSLT file, placing the result in a third file containing the new XML (or HTML) document. Doing this with sablotron is really quite easy...

예 2519. Using the xslt_process() to transform an XML file and a XSL file to a new XML file

<?php

// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document
if (xslt_process($xh, 'sample.xml', 'sample.xsl', 'result.xml')) {
    echo "SUCCESS, sample.xml was transformed by sample.xsl into result.xml";
    echo ", result.xml has the following contents\n<br />\n";
    echo "<pre>\n";
    readfile('result.xml');
    echo "</pre>\n";
} else {
    echo "Sorry, sample.xml could not be transformed by sample.xsl into";
    echo "  result.xml the reason is that " . xslt_error($xh) . " and the ";
    echo "error code is " . xslt_errno($xh);
}

xslt_free($xh);

?>

While this functionality is great, many times, especially in a web environment, you want to be able to print out your results directly. Therefore, if you omit the third argument to the xslt_process() function (or provide a NULL value for the argument), it will automatically return the value of the XSLT transformation, instead of writing it to a file...

예 2520. Using the xslt_process() to transform an XML file and a XSL file to a variable containing the resulting XML data

<?php

// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document, returning the result into the $result variable
$result = xslt_process($xh, 'sample.xml', 'sample.xsl');
if ($result) {
    echo "SUCCESS, sample.xml was transformed by sample.xsl into the \$result";
    echo " variable, the \$result variable has the following contents\n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
} else {
    echo "Sorry, sample.xml could not be transformed by sample.xsl into";
    echo "  the \$result variable the reason is that " . xslt_error($xh);
    echo " and the error code is " . xslt_errno($xh);
}

xslt_free($xh);

?>

The above two cases are the two simplest cases there are when it comes to XSLT transformation and I'd dare say that they are the most common cases, however, sometimes you get your XML and XSLT code from external sources, such as a database or a socket. In these cases you'll have the XML and/or XSLT data in a variable -- and in production applications the overhead of dumping these to file may be too much. This is where XSLT's "argument" syntax, comes to the rescue. Instead of files as the XML and XSLT arguments to the xslt_process() function, you can specify "argument place holders" which are then substituted by values given in the arguments array (5th parameter to the xslt_process() function). The following is an example of processing XML and XSLT into a result variable without the use of files at all.

예 2521. Using the xslt_process() to transform a variable containing XML data and a variable containing XSL data into a variable containing the resulting XML data

<?php
// $xml and $xsl contain the XML and XSL data

$arguments = array(
     '/_xml' => $xml,
     '/_xsl' => $xsl
);

// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
if ($result) {
    echo "SUCCESS, sample.xml was transformed by sample.xsl into the \$result";
    echo " variable, the \$result variable has the following contents\n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
} else {
    echo "Sorry, sample.xml could not be transformed by sample.xsl into";
    echo "  the \$result variable the reason is that " . xslt_error($xh);
    echo " and the error code is " . xslt_errno($xh);
}
xslt_free($xh);
?>

예 2522. Passing PHP variables to XSL files

<?php

// XML string
$xml = '<?xml version="1.0"?>
<para>
 change me
</para>';

// XSL string
$xsl = '
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no"
 omit-xml-declaration="yes"  media-type="text/html"/>
 <xsl:param name="myvar"/>
 <xsl:param name="mynode"/>
 <xsl:template match="/">
My PHP variable : <xsl:value-of select="$myvar"/><br />
My node set : <xsl:value-of select="$mynode"/>
 </xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

// the second parameter will be interpreted as a string
$parameters = array (
  'myvar' => 'test',
  'mynode' => '<foo>bar</foo>'
);

$arguments = array (
  '/_xml' => $xml,
  '/_xsl' => $xsl
);

echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments, $parameters);

?>

위 예제의 출력:

My PHP variable : test<br>
My node set : &lt;foo&gt;bar&lt;/foo&gt;

주의

참고: 윈도우를 사용한다면, 경로 앞에 file://이 필요한 점에 주의하십시오.

이전 | 위로 | 다음
xslt_getopt | 처음으로 | xslt_set_base


xslt_set_base

(PHP 4 >= 4.0.5)

xslt_set_base -- Set the base URI for all XSLT transformations

설명

void xslt_set_base ( resource $xh, string $uri )

Sets the base URI for all XSLT transformations, the base URI is used with Xpath instructions to resolve document() and other commands which access external resources. It is also used to resolve URIs for the <xsl:include> and <xsl:import> elements.

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

uri

The base URI to be used.

반환값

값을 반환하지 않습니다.

변경 기록

버전 | 설명
4.3.0 | As of PHP 4.3.0, the default base URI is the directory of the executing script. In effect, it is the directory name value of the __FILE__ constant. The default base URI is less predictable with older versions.

주의

참고: 윈도우를 사용한다면, 경로 앞에 file://이 필요한 점에 주의하십시오.

이전 | 위로 | 다음
xslt_process | 처음으로 | xslt_set_encoding


xslt_set_encoding

(PHP 4 >= 4.0.5)

xslt_set_encoding -- Set the encoding for the parsing of XML documents

설명

void xslt_set_encoding ( resource $xh, string $encoding )

Set the output encoding for the XSLT transformations. When using the Sablotron backend, this option is only available when you compile Sablotron with encoding support.

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

encoding

An output encoding, e.g iso-8859-1.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
xslt_set_base | 처음으로 | xslt_set_error_handler


xslt_set_error_handler

(PHP 4 >= 4.0.4)

xslt_set_error_handler -- Set an error handler for a XSLT processor

설명

void xslt_set_error_handler ( resource $xh, mixed $handler )

Set an error handler function for the XSLT processor given by xh, this function will be called whenever an error occurs in the XSLT transformation (this function is also called for notices).

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

handler

The user function needs to accept four parameters: the XSLT processor, the error level, the error code and an array of messages. The function can be shown as: error_handler ( resource $xh, int $error_level, int $error_code, array $messages )

반환값

값을 반환하지 않습니다.

예제

예 2523. xslt_set_error_handler() Example

<?php

// Our XSLT error handler
function xslt_error_handler($handler, $errno, $level, $info)
{
  // for now, let's just see the arguments
  var_dump(func_get_args());
}

// XML content :
$xml='<?xml version="1.0"?>
<para>
 oops, I misspelled the closing tag
</pata>';

// XSL content :
$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
   <strong><xsl:value-of select="para"/></strong>
</xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

xslt_set_error_handler($xh, "xslt_error_handler");

echo xslt_process($xh, 'arg:/_xml', 'arg:/_xsl',
                  NULL, array("/_xml" => $xml, "/_xsl" => $xsl));

?>

위 예제의 출력 예:

array(4) {
  [0]=>
  resource(1) of type (XSLT Processor)
  [1]=>
  int(3)
  [2]=>
  int(0)
  [3]=>
  array(6) {
    ["msgtype"]=>
    string(5) "error"
    ["code"]=>
    string(1) "2"
    ["module"]=>
    string(9) "Sablotron"
    ["URI"]=>
    string(9) "arg:/_xml"
    ["line"]=>
    string(1) "4"
    ["msg"]=>
    string(34) "XML parser error 7: mismatched tag"
  }
}

참고

xslt_set_object() if you want to use an object method as handler

이전 | 위로 | 다음
xslt_set_encoding | 처음으로 | xslt_set_log


xslt_set_log

(PHP 4 >= 4.0.6)

xslt_set_log -- Set the log file to write log messages to

설명

void xslt_set_log ( resource $xh [, mixed $log] )

This function allows you to set the file in which you want XSLT log messages to, XSLT log messages are different than error messages, in that log messages are not actually error messages but rather messages related to the state of the XSLT processor. They are useful for debugging XSLT, when something goes wrong.

By default logging is disabled, in order to enable logging you must first call xslt_set_log() with a boolean parameter which enables logging, then if you want to set the log file to debug to, you must then pass it a string containing the filename.

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

log

This parameter is either a boolean value which toggles logging on and off, or a string containing the logfile in which log errors too.

반환값

값을 반환하지 않습니다.

주의

참고: 윈도우를 사용한다면, 경로 앞에 file://이 필요한 점에 주의하십시오.

예제

예 2524. Using the XSLT Logging features

<?php

$xh = xslt_create();
xslt_set_log($xh, true);
xslt_set_log($xh, getcwd() . '/myfile.log');

$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
echo $result;

xslt_free($xh);
?>

이전 | 위로 | 다음
xslt_set_error_handler | 처음으로 | xslt_set_object


xslt_set_object

(PHP 4 >= 4.3.0)

xslt_set_object -- Sets the object in which to resolve callback functions

설명

bool xslt_set_object ( resource $processor, object &$obj )

This function allows to use the processor inside an object and to resolve all callback functions in it.

The callback functions can be declared with xml_set_sax_handlers(), xslt_set_scheme_handlers() or xslt_set_error_handler() and are assumed to be methods of object.

매개변수

processor

The XSLT processor link identifier, created with xslt_create().

obj

An object.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2525. Using your own error handler as a method

<?php

class my_xslt_processor {

    var $_xh; // our XSLT processor

    function my_xslt_processor()
    {
        $this->_xh = xslt_create();

        // Make $this object the callback resolver
        xslt_set_object($this->_xh, $this);

        // Let's handle the errors
        xslt_set_error_handler($this->_xh, "my_xslt_error_handler");
    }

    function my_xslt_error_handler($handler, $errno, $level, $info)
    {
        // for now, let's just see the arguments
        var_dump(func_get_args());
    }
}

?>

이전 | 위로 | 다음
xslt_set_log | 처음으로 | xslt_set_sax_handler


xslt_set_sax_handler

(PHP 4 >= 4.0.3)

xslt_set_sax_handler -- Set SAX handlers for a XSLT processor

설명

void xslt_set_sax_handler ( resource $xh, array $handlers )

Set SAX handlers on the resource handle given by xh.

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

handlers

SAX handlers should be a two dimensional array with the format (all top level elements are optional):

array(
[document] =>
    array(
        start document handler,
        end document handler
    ),
[element] =>
    array(
        start element handler,
        end element handler
    ),
[namespace] =>
    array(
        start namespace handler,
        end namespace handler
    ),
[comment] => comment handler,
[pi] => processing instruction handler,
[character] => character data handler
)

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
xslt_set_object | 처음으로 | xslt_set_sax_handlers


xslt_set_sax_handlers

(PHP 4 >= 4.0.6)

xslt_set_sax_handlers -- Set the SAX handlers to be called when the XML document gets processed

설명

void xslt_set_sax_handlers ( resource $processor, array $handlers )

xslt_set_sax_handlers() registers the SAX handlers for the document, given a XSLT processor resource.

Using xslt_set_sax_handlers() doesn't look very different than running a SAX parser like xml_parse() on the result of an xslt_process() transformation.

매개변수

processor

The XSLT processor link identifier, created with xslt_create().

handlers

handlers should be an array in the following format:

<?php

$handlers = array(

  "document" => array(
    "start_doc",
    "end_doc"),

  "element"  => array(
    "start_element",
    "end_element"),

  "namespace" => array(
    "start_namespace",
    "end_namespace"),

  "comment"   => "comment",

  "pi"        => "pi",

  "character" => "characters"

);
?>

Where the functions follow the syntax described for the scheme handler functions.

참고: The given array does not need to contain all of the different sax handler elements (although it can), but it only needs to conform to "handler" => "function" format described above.

Each of the individual SAX handler functions are in the format below:

  • start_doc ( resource $processor )

  • end_doc ( resource $processor )

  • start_element ( resource $processor, string $name, array $attributes )

  • end_element ( resource $processor, string $name )

  • start_namespace ( resource $processor, string $prefix, string $uri )

  • end_namespace ( resource $processor, string $prefix )

  • comment ( resource $processor, string $contents )

  • pi ( resource $processor, string $target, string $contents )

  • characters ( resource $processor, string $contents )

반환값

값을 반환하지 않습니다.

예제

예 2526. xslt_set_sax_handlers() Example

<?php
// From ohlesbeauxjours at yahoo dot fr
// Here's a simple example that applies strtoupper() on
// the content of every <auteur> tag and then displays the
// resulting XML tree:

$xml='<?xml version="1.0"?>
<books>
 <book>
  <title>Mme Bovary</title>
  <author>Gustave Flaubert</author>
 </book>
 <book>
  <title>Mrs Dalloway</title>
  <author>Virginia Woolf</author>
 </book>
</books>';

$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" indent="no" omit-xml-declaration="yes"/>
<xsl:template match="/">
 <xsl:for-each select="books/book">
  <livre>
   <auteur><xsl:value-of select="author/text()"/></auteur>
  </livre>
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>';

// Handlers :
function start_document()
{
  // start reading the document
}

function end_document()
{
  // end reading the document
}

function start_element($parser, $name, $attributes)
{
  global $result,$tag;
  $result .= "<". $name . ">";
  $tag = $name;
}

function end_element($parser, $name)
{
  global $result;
  $result .= "</" . $name . ">";
}

function characters($parser, $data)
{
  global $result,$tag;
  if ($tag == "auteur" ) {
    $data = strtoupper($data);
  }
  $result .= $data;
}

// Transformation :
$xh = xslt_create();
$handlers = array("document" => array("start_document","end_document"),
   "element" => array("start_element","end_element"),
   "character" => "characters");

xslt_set_sax_handlers($xh, $handlers);
xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
xslt_free($xh);
?>

You can also use xslt_set_object() if you want to implement your handlers in an object.

예 2527. Object oriented handler

<?php
// This is the object oriented version of the previous example
class data_sax_handler {

  var $buffer, $tag, $attrs;

  var $_xh;

  function data_sax_handler($xml, $xsl)
  {
      // our xslt resource
      $this->_xh = xslt_create();

      xslt_set_object($this->_xs, $this);

      // configure sax handlers
      $handlers = array(
        "document" => array('start_document', 'end_document'),
        "element" => array('start_element', 'end_element'),
        "character" => 'characters'
      );

      xslt_set_sax_handlers($this->_xh, $handlers);

      xslt_process($this->_xh, 'arg:/_xml', 'arg:/_xsl', NULL, array("/_xml"=>$xml, "/_xsl"=>$xsl));
      xslt_free($this->_xh);

  }

  function start_document()
  {
        // start reading the document
  }

  function end_document() {
        // complete reading the document
  }

  function start_element($parser, $name, $attributes) {
        $this->tag = $name;
        $this->buffer .= "<" . $name . ">";
        $this->attrs = $attributes;
  }

  function end_element($parser, $name)
  {
        $this->tag = '';
        $this->buffer .= "</" . $name . ">";
  }

  function characters($parser, $data)
  {
    if ($this->tag == 'auteur') {
          $data = strtoupper($data);
    }
    $this->buffer .= $data;
  }

  function get_buffer() {
    return $this->buffer;
  }

}

$exec = new data_sax_handler($xml, $xsl);

?>

Both examples will output:

<livre>
<auteur>GUSTAVE FLAUBERT</auteur>
</livre>
<livre>
<auteur>VIRGINIA WOOLF</auteur>
</livre>

이전 | 위로 | 다음
xslt_set_sax_handler | 처음으로 | xslt_set_scheme_handler


xslt_set_scheme_handler

(PHP 4 >= 4.0.5)

xslt_set_scheme_handler -- Set Scheme handlers for a XSLT processor

설명

void xslt_set_scheme_handler ( resource $xh, array $handlers )

Set Scheme handlers on the resource handle given by xh.

매개변수

xh

The XSLT processor link identifier, created with xslt_create().

handlers

Scheme handlers should be an array with the format (all elements are optional):

array(
[get_all] => get all handler,
[open] => open handler,
[get] => get handler,
[put] => put handler,
[close] => close handler
)

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
xslt_set_sax_handlers | 처음으로 | xslt_set_scheme_handlers


xslt_set_scheme_handlers

(PHP 4 >= 4.0.6)

xslt_set_scheme_handlers -- Set the scheme handlers for the XSLT processor

설명

void xslt_set_scheme_handlers ( resource $processor, array $handlers )

주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
xslt_set_scheme_handler | 처음으로 | xslt_setopt


xslt_setopt

(PHP 4 >= 4.3.0)

xslt_setopt -- Set options on a given xsl processor

설명

mixed xslt_setopt ( resource $processor, int $newmask )

xslt_setopt() sets the options specified by newmask on the given processor.

매개변수

processor

The XSLT processor link identifier, created with xslt_create().

newmask

newmask is a bitmask constructed with the following constants:

  • XSLT_SABOPT_PARSE_PUBLIC_ENTITIES - Tell the processor to parse public entities. By default this has been turned off.

  • XSLT_SABOPT_DISABLE_ADDING_META - Do not add the meta tag "Content-Type" for HTML output. The default is set during the compilation of the processor.

  • XSLT_SABOPT_DISABLE_STRIPPING - Suppress the whitespace stripping (on data files only).

  • XSLT_SABOPT_IGNORE_DOC_NOT_FOUND - Consider unresolved documents (the document() function) non-lethal.

반환값

Returns the number of previous mask is possible, TRUE otherwise, FALSE in case of an error.

예제

예 2528. xslt_setopt() Example

<?php

$xh = xslt_create();

// Tell Sablotron to process public entities
xslt_setopt($xh, XSLT_SABOPT_PARSE_PUBLIC_ENTITIES);

// Let's also ask him to suppress whitespace stripping
xslt_setopt($xh, xslt_getopt($xh) | XSLT_SABOPT_DISABLE_STRIPPING);

?>

참고

xslt_getopt()

이전 | 위로 | 다음
xslt_set_scheme_handlers | 처음으로 | CLXXXVI. YAZ functions


YAZ functions

이전 VI. 함수 레퍼런스 다음

CLXXXVI. YAZ functions

Introduction

이 익스텐션은 정보검색을 위한 Z39.50 프로토콜을 사용하는YAZ툴킷의 PHP 인터페이스를 제공한다. 이 익스텐션은 Z39.50 origin(client)에게 쉽게 Z39.50 targets (servers)을 병렬 검색할 수 있는 도구를 제공한다.

YAZ는 » http://www.indexdata.dk/yaz/서 만나볼 수 있다. 뉴스, 예제 스크립트, 등등 이 익스텐션은 » http://www.indexdata.dk/phpyaz/여기서 구할 수 있다.

이 모듈은 Z39.50의 복잡성은 대부분 감추어져 있어서 매우 사용하기 쉽다. 이것은 PHP가 이용할 수 있는 다양한 SQL APIs와 매우 유사한 persistent stateless connections 을 제공한다. 이것은 세션들이 stateless 하지만 사용자들에게 분배된다는 것을 의미한다. 결국. 대부분의 경우 연결은 저장되고 상태의 진행은 초기화 된다.

설치

YAZ를 컴파일 하고 설치를 한다. PHP를 필요한 모듈과 빌드 할때 --with-yaz 옵션을 추가한다. 작업은 대개 다음과 같다.:

gunzip -c yaz-1.6.tar.gz|tar xf -
gunzip -c php-4.0.X.tar.gz|tar xf -
cd yaz-1.6
./configure --prefix=/usr
make
make install
cd ../php-4.0.X
./configure --with-yaz=/usr/bin
make
make install

Example

PHP/YAZ는 targets(Z-Associations)의 연결을 유지한다. positive integer는 ID of a particular를 나타낸다.

아래의 예제 스크립트는 API의 parallel searching을 보여준다. 독립변수 업시 불러낼때 query form을 출력하고 그렇지 않은경우(독립변수가 주어질때) 주어진 배열에서 targets을 찾아낸다

예 2529. YAZ()

$num_hosts = count ($host);
if (empty($term) || count($host) == 0) {
    echo '<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils">
        GILS test
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default">
        local test
    <input type="checkbox" checked="1"
    name="host[]" value="z3950.bell-labs.com/books">
        BELL Labs Library
    <br>
    RPN Query:
    <input type="text" size="30" name="term">
    <input type="submit" name="action" value="Search">
    ';
} else {
    echo 'You searced for ' . htmlspecialchars($term) . '<br>';
    for ($i = 0; $i < $num_hosts; $i++) {
        $id[] = yaz_connect($host[$i]);
        yaz_syntax($id[$i],"sutrs");
        yaz_search($id[$i],"rpn",$term);
    }
    yaz_wait();
    for ($i = 0; $i < $num_hosts; $i++) {
        echo '<hr>' . $host[$i] . ":";
        $error = yaz_error($id[$i]);
        if (!empty($error)) {
            echo "Error: $error";
        } else {
            $hits = yaz_hits($id[$i]);
            echo "Result Count $hits";
        }
        echo '<dl>';
        for ($p = 1; $p <= 10; $p++) {
            $rec = yaz_record($id[$i],$p,"string");
            if (empty($rec)) continue;
            echo "<dt><b>$p</b></dt><dd>";
            echo ereg_replace("\n", "<br>\n",$rec);
            echo "</dd>";
        }
        echo '</dl>';
    }
}

차례

yaz_addinfo -- 추가적인 error 정보를 리턴한다.
yaz_ccl_conf -- Configure CCL parser
yaz_ccl_parse -- Invoke CCL Parser
yaz_close -- YAZ의 연결을 닫는다.
yaz_connect -- 성공한 경우 양의 association ID를 리턴한다 : 실패의 경우 "0"을 리턴
yaz_database -- Specifies the databases within a session
yaz_element -- Specifies Element-Set Name for retrieval
yaz_errno -- error number를 리턴한다.
yaz_error -- error내용을 리턴한다.
yaz_es_result -- Inspects Extended Services Result
yaz_es -- Prepares for an Extended Service Request
yaz_get_option -- Returns value of option for connection
yaz_hits -- 마지막 검색에 대한 히트수를 리턴한다.
yaz_itemorder -- Prepares for Z39.50 Item Order with an ILL-Request package
yaz_present -- Prepares for retrieval (Z39.50 present)
yaz_range -- 검색결과를 나타낼 범위를 지정한다.
yaz_record -- 레코드를 리턴한다.
yaz_scan_result -- Returns Scan Response result
yaz_scan -- Prepares for a scan
yaz_schema -- Specifies schema for retrieval
yaz_search -- 검색을 준비한다.
yaz_set_option -- Sets one or more options for connection
yaz_sort -- Sets sorting criteria
yaz_syntax -- Specifies the preferred record syntax for retrieval
yaz_wait -- Wait for Z39.50 requests to complete
이전 | 위로 | 다음
xslt_setopt | 처음으로 | yaz_addinfo


yaz_addinfo

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_addinfo -- 추가적인 error 정보를 리턴한다.

Description

int yaz_addinfo ( int $id )

부가적인 target (마지막 요청한)에 관한 정보를 리턴한다. 만일 마지막 작업이 성공적으로 이루어지거나 target이 제공하는 추가정보가 없는 경우 공백문자(A empty string)를 리턴한다.

이전 | 위로 | 다음
CLXXXVI. YAZ functions | 처음으로 | yaz_ccl_conf


yaz_ccl_conf

(PHP 4 >= 4.0.5, PECL yaz:0.9-1.0.9)

yaz_ccl_conf -- Configure CCL parser

설명

void yaz_ccl_conf ( resource $id, array $config )

This function configures the CCL query parser for a server with definitions of access points (CCL qualifiers) and their mapping to RPN.

To map a specific CCL query to RPN afterwards call the yaz_ccl_parse() function.

매개변수

id

The connection resource returned by yaz_connect().

config

An array of configuration. Each key of the array is the name of a CCL field and the corresponding value holds a string that specifies a mapping to RPN.

The mapping is a sequence of attribute-type, attribute-value pairs. Attribute-type and attribute-value is separated by an equal sign (=). Each pair is separated by white space.

Additional information can be found on the » CCL page.

반환값

값을 반환하지 않습니다.

예제

In the example below, the CCL parser is configured to support three CCL fields: ti, au and isbn. Each field is mapped to their BIB-1 equivalent. It is assumed that variable $id is the connection ID.

예 2530. CCL configuration

<?php
$fields = array(
  "ti" => "1=4",
  "au"   => "1=1",
  "isbn" => "1=7"
);
yaz_ccl_conf($id, $fields);
?>

참고

yaz_ccl_parse()

이전 | 위로 | 다음
yaz_addinfo | 처음으로 | yaz_ccl_parse


yaz_ccl_parse

(PHP 4 >= 4.0.5, PECL yaz:0.9-1.0.9)

yaz_ccl_parse -- Invoke CCL Parser

설명

bool yaz_ccl_parse ( resource $id, string $query, array &$result )

This function invokes a CCL parser. It converts a given CCL FIND query to an RPN query which may be passed to the yaz_search() function to perform a search.

To define a set of valid CCL fields call yaz_ccl_conf() prior to this function.

매개변수

id

The connection resource returned by yaz_connect().

query

The CCL FIND query.

result

If the function was executed successfully, this will be an array containing the valid RPN query under the key rpn.

Upon failure, three indexes are set in this array to indicate the cause of failure:

  • errorcode - the CCL error code (integer)

  • errorstring - the CCL error string

  • errorpos - approximate position in query of failure (integer is character position)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2531. CCL Parsing

We will try to search using CCL. In the example below, $ccl is a CCL query.

<?php

yaz_ccl_conf($id, $fields);  // see example for yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
    echo 'Error: ' . $cclresult["errorstring"];
} else {
    $rpn = $cclresult["rpn"];
    yaz_search($id, "rpn", $rpn);
}
?>

이전 | 위로 | 다음
yaz_ccl_conf | 처음으로 | yaz_close


yaz_close

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_close -- YAZ의 연결을 닫는다.

Description

int yaz_close ( int $id )

target과의 연결을 닫는다. application은 주어진 ID로 target에 조회할 수 없다.

이전 | 위로 | 다음
yaz_ccl_parse | 처음으로 | yaz_connect


yaz_connect

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_connect -- 성공한 경우 양의 association ID를 리턴한다 : 실패의 경우 "0"을 리턴

Description

int yaz_connect ( string $zurl )

yaz_connect()은 Z39.50 target과의 연결을 준비한다. zurl 변수는 host[:port][/database]형태를 취한다. 만일 port가 주어지지 않으면 "210"이 사용되고, database가 주어지지 않으면 "Default"를 사용한다. non-blocking함수이고, socket을 만들려고 시도하지 않는다. - 이것은 단지 마지막으로 yaz_wait()가 호출되었을때 수행된 연결을 준비한다.

이전 | 위로 | 다음
yaz_close | 처음으로 | yaz_database


yaz_database

(PHP 4 >= 4.0.6, PECL yaz:0.9-1.0.9)

yaz_database -- Specifies the databases within a session

설명

bool yaz_database ( resource $id, string $databases )

This function allows you to change databases within a session by specifying one or more databases to be used in search, retrieval, etc. - overriding databases specified in call to yaz_connect().

매개변수

id

The connection resource returned by yaz_connect().

databases

A string containing one or more databases. Multiple databases are separated by a plus sign +.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
yaz_connect | 처음으로 | yaz_element


yaz_element

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_element -- Specifies Element-Set Name for retrieval

설명

bool yaz_element ( resource $id, string $elementset )

This function sets the element set name for retrieval.

Call this function before yaz_search() or yaz_present() to specify the element set name for records to be retrieved.

참고: If this function seems effectless, see the description of the piggybacking option in yaz_connect().

매개변수

id

The connection resource returned by yaz_connect().

elementset

Most servers support F (for full records) and B (for brief records).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
yaz_database | 처음으로 | yaz_errno


yaz_errno

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_errno -- error number를 리턴한다.

Description

int yaz_errno ( int $id )

target (last request)에 관한 error을 리턴한다. target이 진단코드(diagnostic code)를 리턴한 경우 양의 값을; 성공하여 에러가 없는 경우는 "0"의 값을; 요청에 대한 에러를 나타내지 못하는 경우 음의 값을 리턴한다.

yaz_errno()은 마지막 작업이 success/failure가 결정된 target에 대한 네트워크가 활성화(yaz_wait()라 리턴된 후에) 된 다음에 호출되어야 한다. (예. search)

이전 | 위로 | 다음
yaz_element | 처음으로 | yaz_error


yaz_error

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_error -- error내용을 리턴한다.

Description

int yaz_error ( int $id )

target (마지막 요청한)의 error 메세지를 리턴한다. 마지막 행한 작업이 성공적인 경우 공백문자(empty string)을 리턴한다.

yaz_error()는 yaz_errno()에 의해 리터된 마지막 에러번호에 일치하는 영문 메세지를 리턴한다.

이전 | 위로 | 다음
yaz_errno | 처음으로 | yaz_es_result


yaz_es_result

(PHP 4 >= 4.2.0, PECL yaz:0.9-1.0.9)

yaz_es_result -- Inspects Extended Services Result

설명

array yaz_es_result ( resource $id )

This function inspects the last returned Extended Service result from a server. An Extended Service is initiated by either yaz_item_order() or yaz_es().

매개변수

id

The connection resource returned by yaz_connect().

반환값

Returns array with element targetReference for the reference for the extended service operation (generated and returned from the server).

참고

yaz_es()

이전 | 위로 | 다음
yaz_error | 처음으로 | yaz_es


yaz_get_option

(PECL yaz:0.9-1.0.9)

yaz_get_option -- Returns value of option for connection

설명

string yaz_get_option ( resource $id, string $name )

Returns the value of the option specified with name.

매개변수

id

The connection resource returned by yaz_connect().

name

The option name.

반환값

Returns the value of the specified option or an empty string if the option wasn't set.

참고

The description of yaz_set_option() for available options

이전 | 위로 | 다음
yaz_es | 처음으로 | yaz_hits


yaz_hits

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_hits -- 마지막 검색에 대한 히트수를 리턴한다.

Description

int yaz_hits ( int $id )

yaz_hits() 마지막 검색에 대한 히트수를 리턴한다.

이전 | 위로 | 다음
yaz_get_option | 처음으로 | yaz_itemorder


yaz_itemorder

(PHP 4 >= 4.0.5, PECL yaz:0.9-1.0.9)

yaz_itemorder -- Prepares for Z39.50 Item Order with an ILL-Request package

설명

void yaz_itemorder ( resource $id, array $args )

This function prepares for an Extended Services request using the Profile for the Use of Z39.50 Item Order Extended Service to Transport ILL (Profile/1). See » this and the » specification.

매개변수

id

The connection resource returned by yaz_connect().

args

Must be an associative array with information about the Item Order request to be sent. The key of the hash is the name of the corresponding ASN.1 tag path. For example, the ISBN below the Item-ID has the key item-id,ISBN.

The ILL-Request parameters are:

protocol-version-num
transaction-id,initial-requester-id,person-or-institution-symbol,person
transaction-id,initial-requester-id,person-or-institution-symbol,institution
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution
transaction-id,transaction-group-qualifier
transaction-id,transaction-qualifier
transaction-id,sub-transaction-qualifier
service-date-time,this,date
service-date-time,this,time
service-date-time,original,date
service-date-time,original,time
requester-id,person-or-institution-symbol,person
requester-id,person-or-institution-symbol,institution
requester-id,name-of-person-or-institution,name-of-person
requester-id,name-of-person-or-institution,name-of-institution
responder-id,person-or-institution-symbol,person
responder-id,person-or-institution-symbol,institution
responder-id,name-of-person-or-institution,name-of-person
responder-id,name-of-person-or-institution,name-of-institution
transaction-type
delivery-address,postal-address,name-of-person-or-institution,name-of-person
delivery-address,postal-address,name-of-person-or-institution,name-of-institution
delivery-address,postal-address,extended-postal-delivery-address
delivery-address,postal-address,street-and-number
delivery-address,postal-address,post-office-box
delivery-address,postal-address,city
delivery-address,postal-address,region
delivery-address,postal-address,country
delivery-address,postal-address,postal-code
delivery-address,electronic-address,telecom-service-identifier
delivery-address,electronic-address,telecom-service-addreess
billing-address,postal-address,name-of-person-or-institution,name-of-person
billing-address,postal-address,name-of-person-or-institution,name-of-institution
billing-address,postal-address,extended-postal-delivery-address
billing-address,postal-address,street-and-number
billing-address,postal-address,post-office-box
billing-address,postal-address,city
billing-address,postal-address,region
billing-address,postal-address,country
billing-address,postal-address,postal-code
billing-address,electronic-address,telecom-service-identifier
billing-address,electronic-address,telecom-service-addreess
ill-service-type
requester-optional-messages,can-send-RECEIVED
requester-optional-messages,can-send-RETURNED
requester-optional-messages,requester-SHIPPED
requester-optional-messages,requester-CHECKED-IN
search-type,level-of-service
search-type,need-before-date
search-type,expiry-date
search-type,expiry-flag
place-on-hold
client-id,client-name
client-id,client-status
client-id,client-identifier
item-id,item-type
item-id,call-number
item-id,author
item-id,title
item-id,sub-title
item-id,sponsoring-body
item-id,place-of-publication
item-id,publisher
item-id,series-title-number
item-id,volume-issue
item-id,edition
item-id,publication-date
item-id,publication-date-of-component
item-id,author-of-article
item-id,title-of-article
item-id,pagination
item-id,ISBN
item-id,ISSN
item-id,additional-no-letters
item-id,verification-reference-source
copyright-complicance
retry-flag
forward-flag
requester-note
forward-note

There are also a few parameters that are part of the Extended Services Request package and the ItemOrder package:

package-name
user-id
contact-name
contact-phone
contact-email
itemorder-item

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
yaz_hits | 처음으로 | yaz_present


yaz_present

(PHP 4 >= 4.0.5, PECL yaz:0.9-1.0.9)

yaz_present -- Prepares for retrieval (Z39.50 present)

설명

bool yaz_present ( resource $id )

This function prepares for retrieval of records after a successful search.

The yaz_range() function should be called prior to this function to specify the range of records to be retrieved.

매개변수

id

The connection resource returned by yaz_connect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
yaz_itemorder | 처음으로 | yaz_range


yaz_range

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_range -- 검색결과를 나타낼 범위를 지정한다.

Description

int yaz_range ( int $id, int $start, int $number )

이 함수는 yaz_search()와 조합하여 시작위치(start)와 검색내용 중 나열할 최대값(number)을 나타내는데 이용된다. start의 디폴트 값은 "1"이고, number의 디폴트 값은 "10"이다.( 단지 yaz_search()만이 있는경우)

성공하면 TRUE를 : 에러가 난 경우는 FALSE 를 반환한다.

이전 | 위로 | 다음
yaz_present | 처음으로 | yaz_record


yaz_record

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_record -- 레코드를 리턴한다.

Description

int yaz_record ( int $id, int $pos, string $type )

주어진 포지션에 레코드가 없는경우 공백문자를 반환하고, 있는경우 레코드를 반환한다.

yaz_record()는 지정된 위치의 result set에서의 레코드를 점검한다. 만일 주어진 위치에서 database record 존재하지 않으면 공백문자를 리턴한다. 변수는 리턴될 레코드의 type를 지정한다. 만일 "string"이 주어지면 레코드는 (XML과 SUTRS)출력에 적합한 문자로 리턴된다. 만일 "array"로 지정하면 (structured records위한) 배열로 리턴된다.

이전 | 위로 | 다음
yaz_range | 처음으로 | yaz_scan_result


yaz_scan_result

(PHP 4 >= 4.0.5, PECL yaz:0.9-1.0.9)

yaz_scan_result -- Returns Scan Response result

설명

array yaz_scan_result ( resource $id [, array &$result] )

yaz_scan_result() returns terms and associated information as received from the server in the last performed yaz_scan().

매개변수

id

The connection resource returned by yaz_connect().

result

If given, this array will be modified to hold additional information taken from the Scan Response:

  • number - Number of entries returned

  • stepsize - Step size

  • position - Position of term

  • status - Scan status

반환값

Returns an array (0..n-1) where n is the number of terms returned. Each value is a pair where the first item is the term, and the second item is the result-count.

이전 | 위로 | 다음
yaz_record | 처음으로 | yaz_scan


yaz_scan

(PHP 4 >= 4.0.5, PECL yaz:0.9-1.0.9)

yaz_scan -- Prepares for a scan

설명

void yaz_scan ( resource $id, string $type, string $startterm [, array $flags] )

This function prepares for a Z39.50 Scan Request on the specified connection.

To actually transfer the Scan Request to the server and receive the Scan Response, yaz_wait() must be called. Upon completion of yaz_wait() call yaz_error() and yaz_scan_result() to handle the response.

매개변수

id

The connection resource returned by yaz_connect().

type

Currently only type rpn is supported.

startterm

Starting term point for the scan.

The form in which the starting term is specified is given by parameter type.

The syntax this parameter is similar to the RPN query as described in yaz_search(). It consists of zero or more @attr-operator specifications, then followed by exactly one token.

flags

This optional parameter specifies additional information to control the behaviour of the scan request. Three indexes are currently read from the flags array: number (number of terms requested), position (preferred position of term) and stepSize (preferred step size).

반환값

값을 반환하지 않습니다.

예제

예 2533. PHP function that scans titles

<?php
function scan_titles($id, $startterm)
{
  yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
  yaz_wait();
  $errno = yaz_errno($id);
  if ($errno == 0) {
    $ar = yaz_scan_result($id, &$options);
    echo 'Scan ok; ';
    foreach ($options as $key => $val) {
      echo "$key = $val &nbsp;";
    }
    echo '<br /><table>';
    while (list($key, list($k, $term, $tcount)) = each($ar)) {
      if (empty($k)) continue;
      echo "<tr><td>$term</td><td>$tcount</td></tr>";
    }
    echo '</table>';
  } else {
    echo "Scan failed. Error: " . yaz_error($id) . "<br />";
  }
}
?>

이전 | 위로 | 다음
yaz_scan_result | 처음으로 | yaz_schema


yaz_schema

(PHP 4 >= 4.2.0, PECL yaz:0.9-1.0.9)

yaz_schema -- Specifies schema for retrieval

설명

void yaz_schema ( resource $id, string $schema )

yaz_schema() specifies the schema for retrieval.

This function should be called before yaz_search() or yaz_present().

매개변수

id

The connection resource returned by yaz_connect().

schema

Must be specified as an OID (Object Identifier) in a raw dot-notation (like 1.2.840.10003.13.4) or as one of the known registered schemas: GILS-schema, Holdings, Zthes, ...

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
yaz_scan | 처음으로 | yaz_search


yaz_search

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_search -- 검색을 준비한다.

Description

int yaz_search ( int $id, string $type, string $query )

yaz_search()은 주어진 ID로 target에 검색을 준비한다. type은 쿼리 타입을 나타낸다.-세번째 변수로 지정된 Type-1 query (RPN)인 경우 단지 "rpn"만을 지원한다. yaz_connect()처럼 non-blocking 이고 yaz_wait()이 호출된 이후에 검색을 준비한다.

The RPN query

The RPN query is a textual represenation of the Type-1 query as defined by the Z39.50 standard. However, in the text representation as used by YAZ a prefix notation is used, that is the operater precedes the operands. The query string is a sequence of tokens where white space is ignored is ignored unless surrounded by double quotes. Tokens beginning with an at-character (@) are considered operators, otherwise they are treated as search terms.

표 334. RPN Operators

Syntax | Description
@and query1 query2 | intersection of query1 and query2
@or query1 query2 | union of query1 and query2
@not query1 query2 | query1 and not query2
@set name | result set reference
@attrset set query | specifies attribute-set for query. This construction is only allowed once - in the beginning of the whole query
@attr set type=value query | applies attribute to query. The type and value are integers specifying the attribute-type and attribute-value respectively. The set, if given, specifies the attribute-set.

The following illustrates valid query constructions:

computer
Matches documents where "computer" occur. No attributes are specified.

"donald knuth"
Matches documents where "donald knuth" occur.

@attr 1=4 art
Attribute type is 1 (Bib-1 use), attribute value is 4 Title), so this should match documents where "art" occur in the title.

@attrset gils @and @attr 1=4 art @attr 1=1003 "donald knuth"
The query as a whole uses the GILS attributeset. The query matches documents where "art" occur in the title and in which "donald knuth" occur in the author.

이전 | 위로 | 다음
yaz_schema | 처음으로 | yaz_set_option


yaz_set_option

(PECL yaz:0.9-1.0.9)

yaz_set_option -- Sets one or more options for connection

설명

void yaz_set_option ( resource $id, string $name, string $value )
void yaz_set_option ( resource $id, array $options )

Sets one or more options on the given connection.

매개변수

id

The connection resource returned by yaz_connect().

name or options

May be either a string or an array.

If given as a string, this will be the name of the option to set. You'll need to give it's value.

If given as an array, this will be an associative array (option name => option value).

표 335. PHP/YAZ Connection Options

Name | Description
implementationName | implementation name of server
implementationVersion | implementation version of server
implementationId | implementation ID of server
schema | schema for retrieval. By default, no schema is used. Setting this option is equivalent to using function yaz_schema()
preferredRecordSyntax | record syntax for retrieval. By default, no syntax is used. Setting this option is equivalent to using function yaz_syntax()
start | offset for first record to be retrieved via yaz_search() or yaz_present(). First record is numbered has a start value of 0. Second record has start value 1. Setting this option in combination with option count has the same effect as calling yaz_range() except that records are numbered from 1 in yaz_range()
count | maximum number of records to be retrieved via yaz_search() or yaz_present().
elementSetName | element-set-name for retrieval. Setting this option is equivalent to calling yaz_element().

value

The new value of the option. Use this only if the previous argument is a string.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
yaz_search | 처음으로 | yaz_sort


yaz_sort

(PHP 4 >= 4.0.7, PECL yaz:0.9-1.0.9)

yaz_sort -- Sets sorting criteria

설명

void yaz_sort ( resource $id, string $criteria )

This function sets sorting criteria and enables Z39.50 Sort.

Call this function before yaz_search(). Using this function alone does not have any effect. When used in conjunction with yaz_search(), a Z39.50 Sort will be sent after a search response has been received and before any records are retrieved with Z39.50 Present (yaz_present().

매개변수

id

The connection resource returned by yaz_connect().

criteria

A string that takes the form field1 flags1 field2 flags2 where field1 specifies the primary attributes for sort, field2 seconds, etc..

The field specifies either a numerical attribute combinations consisting of type=value pairs separated by comma (e.g. 1=4,2=1) ; or the field may specify a plain string criteria (e.g. title. The flags is a sequence of the following characters which may not be separated by any white space.

Sort Flags

a

Sort ascending

d

Sort descending

i

Case insensitive sorting

s

Case sensitive sorting

반환값

값을 반환하지 않습니다.

예제

예 2534. Sort Criterias

To sort on Bib1 attribute title, case insensitive, and ascending you would use the following sort criteria:

1=4 ia

If the secondary sorting criteria should be author, case sensitive and ascending you would use:

1=4 ia 1=1003 sa

이전 | 위로 | 다음
yaz_set_option | 처음으로 | yaz_syntax


yaz_syntax

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_syntax -- Specifies the preferred record syntax for retrieval

설명

void yaz_syntax ( resource $id, string $syntax )

yaz_syntax() specifies the preferred record syntax for retrieval

This function should be called before yaz_search() or yaz_present().

매개변수

id

The connection resource returned by yaz_connect().

syntax

The syntax must be specified as an OID (Object Identifier) in a raw dot-notation (like 1.2.840.10003.5.10) or as one of the known registered record syntaxes (sutrs, usmarc, grs1, xml, etc.).

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
yaz_sort | 처음으로 | yaz_wait


yaz_wait

(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)

yaz_wait -- Wait for Z39.50 requests to complete

설명

mixed yaz_wait ( [array &$options] )

This function carries out networked (blocked) activity for outstanding
requests which have been prepared by the functions
yaz_connect(), yaz_search(),
yaz_present(), yaz_scan() and
yaz_itemorder().

yaz_wait() returns when all servers have either completed all requests or aborted (in case of errors).

매개변수

options

An associative array of options:

timeout

Sets timeout in seconds. If a server has not responded within the timeout it is considered dead and yaz_wait() returns. The default value for timeout is 15 seconds.

event

A boolean.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. In event mode, returns resource or FALSE in case of an error.

이전 | 위로 | 다음
yaz_syntax | 처음으로 | CLXXXVII. YP/NIS 관련 함수


YP/NIS 관련 함수

이전 VI. 함수 레퍼런스 다음

CLXXXVII. YP/NIS 관련 함수

NIS (이전에는 옐로우 페이지(Yellow Pages)라고 불려졌습니다)는 중요한 관리자용 파일(예를 들면 패스워드 파일같은)을 네트워크 관리가 가능하도록 합니다. 더 이상의 정보는 NIS의 man 페이지와 » Introduction to YP/NIS 에 좀 더 참조할 만한 정보가 있습니다. 또 » Managing NFS and NIS라고 부르는 Hal Stern의 책도 있습니다.

이 함수가 동작하도록 하고 싶다면 PHP를 --with-yp(PHP 3)이나 --enable-yp(PHP 4)로 설정해야 합니다.

차례

yp_all -- Traverse the map and call a function on each entry
yp_cat -- Return an array containing the entire map
yp_err_string -- Returns the error string associated with the given error code
yp_errno -- Returns the error code of the previous operation
yp_first -- 이름 붙여진 맵(map)에서 첫 번째 key-value 쌍을 반환합니다.
yp_get_default_domain -- 머신의 NIS 도메인의 기본값을 가져옵니다.
yp_master -- 맵(map)에 사용되는 마스터 NIS 서버의 머신 이름을 반환합니다.
yp_match -- 매치(match)된 라인을 반환합니다.
yp_next -- 이름 붙여진 맵(map)에서 다음의 key-value 쌍을 반환합니다.
yp_order -- map에 사용되는 순서번호를 반환합니다
이전 | 위로 | 다음
yaz_wait | 처음으로 | yp_all


yp_all

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_all -- Traverse the map and call a function on each entry

설명

void yp_all ( string $domain, string $map, string $callback )

주의

This function is currently not documented; only the argument list is available.

매개변수

domain

The NIS domain name.

map

The NIS map.

callback

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
CLXXXVII. YP/NIS 관련 함수 | 처음으로 | yp_cat


yp_cat

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_cat -- Return an array containing the entire map

설명

array yp_cat ( string $domain, string $map )

Returns all map entries.

매개변수

domain

The NIS domain name.

map

The NIS map.

반환값

Returns an array of all map entries, the maps key values as array indices and the maps entries as array data.

이전 | 위로 | 다음
yp_all | 처음으로 | yp_err_string


yp_err_string

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_err_string -- Returns the error string associated with the given error code

설명

string yp_err_string ( int $errorcode )

Returns the error message associated with the given error code. Useful to indicate what exactly went wrong.

매개변수

errorcode

The error code.

반환값

Returns the error message, as a string.

예제

예 2535. Example for NIS errors

<?php
echo "Error: " . yp_err_string(yp_errno());
?>

참고

yp_errno()

이전 | 위로 | 다음
yp_cat | 처음으로 | yp_errno


yp_errno

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_errno -- Returns the error code of the previous operation

설명

int yp_errno ( void )

Returns the error code of the previous operation.

반환값

Returns one of the YPERR_XXX error constants.

참고

yp_err_string()

이전 | 위로 | 다음
yp_err_string | 처음으로 | yp_first


yp_first

(PHP 4, PHP 5 <= 5.0.5)

yp_first -- 이름 붙여진 맵(map)에서 첫 번째 key-value 쌍을 반환합니다.

Description

array yp_first ( string $domain, string $map )

yp_first()는 이름 붙여진 도메인의 이름 붙여진 맵(map)의 첫 번째 key-value 쌍을 반환하고, 그렇지 않은 경우에는 FALSE를 반환합니다.

예 2536. 첫번째 NIS 예문

<?php
    $entry = yp_first($domain, "passwd.byname");
    $key = key($entry);
    echo "이 목록에서 키 값을 가지고 있는 첫 번째 키는 " . $key
          . " 그리고 값은  " . $entry[$key];
?>

참조: yp-get-default-domain()

이전 | 위로 | 다음
yp_errno | 처음으로 | yp_get_default_domain


yp_get_default_domain

(PHP 4, PHP 5 <= 5.0.5)

yp_get_default_domain -- 머신의 NIS 도메인의 기본값을 가져옵니다.

Description

int yp_get_default_domain ( void $ )

yp_get_default_domain()는 노드의 기본값을 반환하거나 FALSE를 반환합니다. 계속적인 NIS 호출을 위한 도메인의 매개변수로 사용될 수 있습니다.

NIS 도메인은 NIS 맵(map)으로 설명될 수 있습니다. 모든 호스트는 어떤 도메인에 대한 자신의 바인드 정보를 찾아야 할 필요가 있습니다. 좀 더 상세한 정보를 얻기 위해서 앞부분에 언급한 문서를 참조 하십시오.

예 2537. 기본 도메인에 관한 예문

<?php
$domain = yp_get_default_domain();
echo "기본 NIS 도메인은: " . $domain;
?>

이전 | 위로 | 다음
yp_first | 처음으로 | yp_master


yp_master

(PHP 4, PHP 5 <= 5.0.5)

yp_master -- 맵(map)에 사용되는 마스터 NIS 서버의 머신 이름을 반환합니다.

Description

string yp_master ( string $domain, string $map )

yp_master()는 맵(map)에 사용되는 마스터 NIS 서버의 머신 이름을 반환합니다.

예 2538. NIS 마스터(master)의 예문

<?php
$number = yp_master ($domain, $mapname);
echo "이 맵(map)의 마스터는: " . $master;
?>

참조: yp-get-default-domain().

이전 | 위로 | 다음
yp_get_default_domain | 처음으로 | yp_match


yp_match

(PHP 4, PHP 5 <= 5.0.5)

yp_match -- 매치(match)된 라인을 반환합니다.

Description

string yp_match ( string $domain, string $map, string $key )

yp_match()지정된 맵(map)의 범위외에서 통과된 키와 조합된 값이나 FALSE를 반환합니다. 이 키 값은 정확한 것이어야 합니다.

예 2539. NIS 매치(match)의 예문

<?php
$entry = yp_match ($domain, "passwd.byname", "joe");
echo "매치(Match)된 목록 : " . $entry;
?>

이 경우에는 이렇게 될 수 있습니다: joe:##joe:11111:100:Joe User:/home/j/joe:/usr/local/bin/bash

참조: yp-get-default-domain()

이전 | 위로 | 다음
yp_master | 처음으로 | yp_next


yp_next

(PHP 4, PHP 5 <= 5.0.5)

yp_next -- 이름 붙여진 맵(map)에서 다음의 key-value 쌍을 반환합니다.

Description

array yp_next ( string $domain, string $map, string $key )

yp_next()키가 지정된 후에 이름 붙여진 맵(map)에서 다음의 key-value쌍을 반환하거나 FALSE를 반환합니다.

예 2540. NIS next 예문

<?php
$entry = yp_next ($domain, "passwd.byname", "joe");

if (!$entry) {
    echo yp_errno() . ": " . yp_err_string();
}

$key = key ($entry);

echo "joe가 키를 가진 뒤의 다음 목록" . $key
      . " 값 " . $entry[$key];
?>

참조: yp-get-default-domain().

이전 | 위로 | 다음
yp_match | 처음으로 | yp_order


yp_order

(PHP 4, PHP 5 <= 5.0.5)

yp_order -- map에 사용되는 순서번호를 반환합니다

Description

int yp_order ( string $domain, string $map )

yp_order()는 맵(map)의 순서번호를 반환하거나 FALSE를 반환합니다.

예 2541. NIS 순서 예문

<?php
    $number = yp_order($domain,$mapname);
    echo "이 맵(map)의 순서 번호는 : " . $order;
?>

참조: yp-get-default-domain().

이전 | 위로 | 다음
yp_next | 처음으로 | CLXXXVIII. Zip File Functions


Zip File Functions

이전 VI. 함수 레퍼런스 다음

CLXXXVIII. Zip File Functions

소개

This extension enables you to transparently read or write ZIP compressed archives and the files inside them.

요구 조건

PHP 4

The bundled PHP 4 version requires » ZZIPlib, by Guido Draheim, version 0.10.6 or later

PHP 5.2.0 or later

This extension uses the functions of » zlib by Jean-loup Gailly and Mark Adler.

설치

PHP 4

참고: Zip support before PHP 4.1.0 is experimental.

주의

Because the PHP 4 zip extension is unmaintained we recommend that the PECL extension is used rather than the bundled one.

Linux systems

In order to use these functions you must compile PHP with zip support by using the --with-zip[=DIR] configure option, where [DIR] is the prefix of the » ZZIPlib library install.

Windows

Windows users need to enable php_zip.dll inside of php.ini in order to use these functions.

PHP 5.2.0 and later

Linux systems

In order to use these functions you must compile PHP with zip support by using the --enable-zip configure option.

Windows

Windows users need to enable php_zip.dll inside of php.ini in order to use these functions.

Installation via PECL

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/zip.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

PHP 4에서 이 DLL 형식은 내려받은 PHP 윈도우 바이너리 안의 extensions/ 디렉토리 안에 있습니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

There are two resource types used in the Zip module. The first one is the Zip directory for the Zip archive, the second Zip Entry for the archive entries.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

ZipArchive uses class constants. There is three types of constants, Flags (FL_) errors (ER_) or mode (no prefix).

ZIPARCHIVE::CREATE (integer)
Create the archive if it does not exist.
ZIPARCHIVE::OVERWRITE (integer)
Always start a new archive, this mode will overwrite the file if it already exists.
ZIPARCHIVE::EXCL (integer)
Error if archive already exists.
ZIPARCHIVE::CHECKCONS (integer)
Perform additional consistency checks on the archive, and error if they fail.
ZIPARCHIVE::FL_NOCASE (integer)
Ignore case on name lookup
ZIPARCHIVE::FL_NODIR (integer)
Ignore directory component
ZIPARCHIVE::FL_COMPRESSED (integer)
Read compressed data
ZIPARCHIVE::FL_UNCHANGED (integer)
Use original data, ignoring changes.
ZIPARCHIVE::CM_DEFAULT (integer)
better of deflate or store.
ZIPARCHIVE::CM_STORE (integer)
stored (uncompressed).
ZIPARCHIVE::CM_SHRINK (integer)
shrunk
ZIPARCHIVE::CM_REDUCE_1 (integer)
reduced with factor 1
ZIPARCHIVE::CM_REDUCE_2 (integer)
reduced with factor 2
ZIPARCHIVE::CM_REDUCE_3 (integer)
reduced with factor 3
ZIPARCHIVE::CM_REDUCE_4 (integer)
reduced with factor 4
ZIPARCHIVE::CM_IMPLODE (integer)
imploded
ZIPARCHIVE::CM_DEFLATE (integer)
deflated
ZIPARCHIVE::CM_DEFLATE64 (integer)
deflate64
ZIPARCHIVE::CM_PKWARE_IMPLODE (integer)
PKWARE imploding
ZIPARCHIVE::CM_BZIP2 (integer)
BZIP2 algorithm
ZIPARCHIVE::ER_OK (integer)
No error.
ZIPARCHIVE::ER_MULTIDISK (integer)
Multi-disk zip archives not supported.
ZIPARCHIVE::ER_RENAME (integer)
Renaming temporary file failed.
ZIPARCHIVE::ER_CLOSE (integer)
Closing zip archive failed
ZIPARCHIVE::ER_SEEK (integer)
Seek error
ZIPARCHIVE::ER_READ (integer)
Read error
ZIPARCHIVE::ER_WRITE (integer)
Write error
ZIPARCHIVE::ER_CRC (integer)
CRC error
ZIPARCHIVE::ER_ZIPCLOSED (integer)
Containing zip archive was closed
ZIPARCHIVE::ER_NOENT (integer)
No such file.
ZIPARCHIVE::ER_EXISTS (integer)
File already exists
ZIPARCHIVE::ER_OPEN (integer)
Can't open file
ZIPARCHIVE::ER_TMPOPEN (integer)
Failure to create temporary file.
ZIPARCHIVE::ER_ZLIB (integer)
Zlib error
ZIPARCHIVE::ER_MEMORY (integer)
Memory allocation failure
ZIPARCHIVE::ER_CHANGED (string)
Entry has been changed
ZIPARCHIVE::ER_COMPNOTSUPP (integer)
Compression method not supported.
ZIPARCHIVE::ER_EOF (integer)
Premature EOF
ZIPARCHIVE::ER_INVAL (integer)
Invalid argument
ZIPARCHIVE::ER_NOZIP (integer)
Not a zip archive
ZIPARCHIVE::ER_INTERNAL (integer)
Internal error
ZIPARCHIVE::ER_INCONS (integer)
Zip archive inconsistent
ZIPARCHIVE::ER_REMOVE (integer)
Can't remove file
ZIPARCHIVE::ER_DELETED (integer)
Entry has been deleted

예제

예 2542. Create a Zip archive

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
?>

예 2543. Dump the archive details and listing

<?php
$za = new ZipArchive();

$za->open('test_with_comment.zip');
print_r($za);
var_dump($za);
echo "numFiles: " . $za->numFiles . "\n";
echo "status: " . $za->status  . "\n";
echo "statusSys: " . $za->statusSys . "\n";
echo "filename: " . $za->filename . "\n";
echo "comment: " . $za->comment . "\n";

for ($i=0; $i<$za->numFiles;$i++) {
    echo "index: $i\n";
    print_r($za->statIndex($i));
}
echo "numFile:" . $za->numFiles . "\n";
?>

예 2544. Zip stream wrapper, read an OpenOffice meta info

<?php
$reader = new XMLReader();

$reader->open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');
$odt_meta = array();
while ($reader->read()) {
    if ($reader->nodeType == XMLREADER::ELEMENT) {
        $elm = $reader->name;
    } else {
        if ($reader->nodeType == XMLREADER::END_ELEMENT && $reader->name == 'office:meta') {
            break;
        }
        if (!trim($reader->value)) {
            continue;
        }
        $odt_meta[$elm] = $reader->value;
    }
}
print_r($odt_meta);
?>

This example uses the old API (PHP 4), it opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

예 2545. Zip Usage Example

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo "Name:               " . zip_entry_name($zip_entry) . "\n";
        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "File Contents:\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}
?>

차례

zip_close -- Close a ZIP file archive
zip_entry_close -- Close a directory entry
zip_entry_compressedsize -- Retrieve the compressed size of a directory entry
zip_entry_compressionmethod -- Retrieve the compression method of a directory entry
zip_entry_filesize -- Retrieve the actual file size of a directory entry
zip_entry_name -- Retrieve the name of a directory entry
zip_entry_open -- Open a directory entry for reading
zip_entry_read -- Read from an open directory entry
zip_open -- Open a ZIP file archive
zip_read -- Read next entry in a ZIP file archive
ZipArchive::addEmptyDir -- Add a new directory
ZipArchive::addFile -- Adds a file to a ZIP archive from the given path
ZipArchive::addFromString -- Add a file to a ZIP archive using its contents
ZipArchive::close -- Close the active archive (opened or newly created)
ZipArchive::deleteIndex -- delete an entry in the archive using its index
ZipArchive::deleteName -- delete an entry in the archive using its name
ZipArchive::extractTo -- Extract the archive contents
ZipArchive::getArchiveComment -- Returns the Zip archive comment
ZipArchive::getCommentIndex -- Returns the comment of an entry using the entry index
ZipArchive::getCommentName -- Returns the comment of an entry using the entry name
ZipArchive::getFromIndex -- Returns the entry contents using its index.
ZipArchive::getFromName -- Returns the entry contents using its name.
ZipArchive::getNameIndex -- Returns the name of an entry using its index
ZipArchive::getStream -- Get a file handler to the entry defined by its name (read only).
ZipArchive::locateName -- Returns the index of the entry in the archive
ZipArchive::open -- Open a ZIP file archive
ZipArchive::renameIndex -- Renames an entry defined by its index
ZipArchive::renameName -- Renames an entry defined by its name
ZipArchive::setArchiveComment -- Set the comment of a ZIP archive
ZipArchive::setCommentIndex -- Set the comment of an entry defined by its index
ZipArchive::setCommentName -- Set the comment of an entry defined by its name
ZipArchive::statIndex -- Get the details of an entry defined by its index.
ZipArchive::statName -- Get the details of an entry defined by its name.
ZipArchive::unchangeAll -- Undo all changes done in the archive.
ZipArchive::unchangeArchive -- Revert all global changes done in the archive.
ZipArchive::unchangeIndex -- Revert all changes done to an entry at the given index.
ZipArchive::unchangeName -- Revert all changes done to an entry with the given name.
이전 | 위로 | 다음
yp_order | 처음으로 | zip_close


zip_close

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_close -- Close a ZIP file archive

설명

void zip_close ( resource $zip )

Closes the given ZIP file archive.

매개변수

zip

A ZIP file previously opened with zip_open().

반환값

값을 반환하지 않습니다.

참고

zip_open()
zip_read()

이전 | 위로 | 다음
CLXXXVIII. Zip File Functions | 처음으로 | zip_entry_close


zip_entry_close

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_entry_close -- Close a directory entry

설명

bool zip_entry_close ( resource $zip_entry )

Closes the specified directory entry.

매개변수

zip_entry

A directory entry previously opened zip_entry_open().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

zip_entry_open()
zip_entry_read()

이전 | 위로 | 다음
zip_close | 처음으로 | zip_entry_compressedsize


zip_entry_compressedsize

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_entry_compressedsize -- Retrieve the compressed size of a directory entry

설명

int zip_entry_compressedsize ( resource $zip_entry )

Returns the compressed size of the specified directory entry.

매개변수

zip_entry

A directory entry returned by zip_read().

반환값

The compressed size.

참고

zip_open()
zip_read()

이전 | 위로 | 다음
zip_entry_close | 처음으로 | zip_entry_compressionmethod


zip_entry_compressionmethod

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_entry_compressionmethod -- Retrieve the compression method of a directory entry

설명

string zip_entry_compressionmethod ( resource $zip_entry )

Returns the compression method of the directory entry specified by zip_entry.

매개변수

zip_entry

A directory entry returned by zip_read().

반환값

The compression method.

참고

zip_open()
zip_read()

이전 | 위로 | 다음
zip_entry_compressedsize | 처음으로 | zip_entry_filesize


zip_entry_filesize

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_entry_filesize -- Retrieve the actual file size of a directory entry

설명

int zip_entry_filesize ( resource $zip_entry )

Returns the actual size of the specified directory entry.

매개변수

zip_entry

A directory entry returned by zip_read().

반환값

The size of the directory entry.

참고

zip_open()
zip_read()

이전 | 위로 | 다음
zip_entry_compressionmethod | 처음으로 | zip_entry_name


zip_entry_name

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_entry_name -- Retrieve the name of a directory entry

설명

string zip_entry_name ( resource $zip_entry )

Returns the name of the specified directory entry.

매개변수

zip_entry

A directory entry returned by zip_read().

반환값

The name of the directory entry.

참고

zip_open()
zip_read()

이전 | 위로 | 다음
zip_entry_filesize | 처음으로 | zip_entry_open


zip_entry_open

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_entry_open -- Open a directory entry for reading

설명

bool zip_entry_open ( resource $zip, resource $zip_entry [, string $mode] )

Opens a directory entry in a zip file for reading.

매개변수

zip

A valid resource handle returned by zip_open().

zip_entry

A directory entry returned by zip_read().

mode

Any of the modes specified in the documentation of fopen().

참고: Currently, mode is ignored and is always "rb". This is due to the fact that zip support in PHP is read only access.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고: Unlike fopen() and other similar functions, the return value of zip_entry_open() only indicates the result of the operation and is not needed for reading or closing the directory entry.

참고

zip_entry_close()
zip_entry_read()

이전 | 위로 | 다음
zip_entry_name | 처음으로 | zip_entry_read


zip_entry_read

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_entry_read -- Read from an open directory entry

설명

string zip_entry_read ( resource $zip_entry [, int $length] )

Reads from an open directory entry.

매개변수

zip_entry

A directory entry returned by zip_read().

length

The number of bytes to return. If not specified, this function will attempt to read 1024 bytes.

참고: This should be the uncompressed length you wish to read.

반환값

Returns the data read, or FALSE if the end of the file is reached.

참고

zip_entry_open()
zip_entry_close()
zip_entry_filesize()

이전 | 위로 | 다음
zip_entry_open | 처음으로 | zip_open


zip_open

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_open -- Open a ZIP file archive

설명

mixed zip_open ( string $filename )

Opens a new zip archive for reading.

매개변수

filename

The file name of the ZIP archive to open.

반환값

Returns a resource handle for later use with zip_read() and zip_close() or returns the number of error if filename does not exist or in case of other error.

참고

zip_read()
zip_close()

이전 | 위로 | 다음
zip_entry_read | 처음으로 | zip_read


zip_read

(PHP 4 >= 4.0.7, PHP 5 >= 5.2.0, PECL zip:1.0-1.9.0)

zip_read -- Read next entry in a ZIP file archive

설명

mixed zip_read ( resource $zip )

Reads the next entry in a zip file archive.

매개변수

zip

A ZIP file previously opened with zip_open().

반환값

Returns a directory entry resource for later use with the zip_entry_... functions or FALSE if there's no more entries to read or number of error in case of other error.

참고

zip_open()
zip_close()
zip_entry_open()
zip_entry_read()

이전 | 위로 | 다음
zip_open | 처음으로 | ZipArchive::addEmptyDir


Zlib 압축 함수

이전 VI. 함수 레퍼런스 다음

CLXXXIX. Zlib 압축 함수

소개

이 모듈은 gzip (.gz) 압축 파일을 읽고 쓸 수 있게 하며, 버전에 따라서는 대부분의 파일시스템 함수에서 gzip-압축 파일 작업을 할 수 있게 합니다. (비압축 파일도 가능하지만, 소켓에는 불가능합니다)

참고: 버전 4.0.4에서 .gz 파일을 위해 'zlib:' URL로 접근하는 fopen-랩퍼가 추가되었습니다. fopen()을 호출할 때 파일 이름이나 경로 앞에 'zlib:'을 덧붙여서 보통의 f*() 파일 접근 함수에서 압축 파일에 자유롭게 접근할 수 있습니다.

버전 4.3.0에서 이 특별한 전치사는 ':'을 포함하는 파일 이름과의 혼동을 막기 위해서 'zlib://'으로 변경되었습니다.

이 기능은 fopencookie() 함수를 제공하는 C 런타임 라이브러리가 필요합니다. 현재 알려진 바로는 GNU libc가 이 기능을 제공하는 유일한 라이브러리입니다.

요구 조건

이 모듈을 Jean-loup Gailly와 Mark Adler가 작성한 » zlib의 함수들을 사용합니다. 이 모듈에서는 zlib 버전 >= 1.0.9를 사용해야 합니다.

설치

PHP의 Zlib 지원은 기본값으로 활성화되어 있지 않습니다. PHP를 --with-zlib[=DIR]로 설정해야 합니다.

PHP 윈도우 버전에서는 이 확장에 대한 지원이 포함되어 있습니다. 이 함수들을 이용하기 위해서 추가로 확장을 읽어들일 필요가 없습니다.

참고: 윈도우즈에서 zlib 지원 내장은 PHP 4.3.0에서 이루어졌습니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

zlib 확장은 브라우저가 지원한다면, 페이지를 전송할 때 압축할 수 있는 옵션을 제공합니다. 설정 파일 php.ini에 세가지 옵션이 존재합니다.

표 336. Zlib 설정 옵션

이름 | 기본값 | 설정권한 | 변경점
zlib.output_compression | "0" | PHP_INI_ALL | PHP 4.0.5부터 사용할 수 있습니다.
zlib.output_compression_level | "-1" | PHP_INI_ALL | PHP 4.3.0부터 사용할 수 있습니다.
zlib.output_handler | "" | PHP_INI_ALL | PHP 4.3.0부터 사용할 수 있습니다.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

zlib.output_compression boolean/integer

페이지 압축의 사용 여부. 이 옵션을 php.ini나 아파치 설정에서 "On"으로 지정하면, 브라우저가 "Accept-Encoding: gzip"이나 "deflate" 헤더를 보냈을때, 페이지를 압축합니다. "Content-Encoding: gzip"(혹은 "deflate")과 "Vary: Accept-Encoding" 헤더을 출력에 추가합니다. 실행시에는 출력 전송을 시작하기 전에만 설정할 수 있습니다.

boolean "On"/"Off" 외에 정수값을 지정하여, 출력 버퍼 크기를 설정할 수 있습니다. (기본값은 4KB) (default is 4KB).

참고: 'On'으로 지정했을 때, output_handler는 zlib.output_handler를 사용하지 말고, 비어있어야 합니다!

zlib.output_compression_level integer

출력 압축에 사용하는 압축 레벨.

zlib.output_handler string

zlib.output_compression을 활성화 했을 때, 추가 출력 핸들러를 지정할 수 없습니다. 이 설정은 output_handler와 동일한 다른 명령입니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

FORCE_GZIP (integer)
FORCE_DEFLATE (integer)

예제

이 예제는 임시 파일을 열어서 테스트 문자열을 쓰고, 이 파일의 내용을 두번 출력합니다.

예 2573. 작은 Zlib 예제

<?php

$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";

// 최대 압축으로 쓰기 위한 파일을 엽니다.
$zp = gzopen($filename, "w9");

// 파일에 문자열을 씁니다.
gzwrite($zp, $s);

// 파일을 닫습니다.
gzclose($zp);

// 읽기 위해 파일을 엽니다.
$zp = gzopen($filename, "r");

// 3 문자를 읽습니다.
echo gzread($zp, 3);

// 파일을 끝까지 출력하고 닫습니다.
gzpassthru($zp);
gzclose($zp);

echo "\n";

// 파일을 읽어서 내용을 출력합니다. (두번째)
if (readgzfile($filename) != strlen($s)) {
        echo "zlib 함수의 에러!";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";

?>

차례

gzclose -- 지정된 .gz 파일을 닫는다.
gzcompress -- .gz로 문자를 압축한다.
gzdecode -- Decodes a gzip compressed string
gzdeflate -- Deflate a string
gzencode -- Create a gzip compressed string
gzeof -- 지정된 .gz 파일의 끝을 테스트한다.
gzfile -- gz 파일 내용을 배열로 읽어들인다.
gzgetc -- 지정된 .gz파일로부터 문자를 추출한다.
gzgets -- 지정된 파일로 부터 라인을 읽어 들인다.
gzgetss -- .gz 파일로부터 HTML 태그를 제외하고 한 라인을 읽는다,
gzinflate -- Inflate a deflated string
gzopen -- .gz파일을 연다
gzpassthru -- 지정된 파일의 남아있는 모든 데이타를 출력한다.
gzputs -- 지정된 .gz 파일에 기록한다.
gzread -- .gz로부터 바이트값을 읽어들인다
gzrewind -- 지정된 .gz파일을 리와인드한다
gzseek -- 지정된 .gz 파일을 검색한다.
gztell -- 지정된 .gz 파일의 read/write position을 리턴한다
gzuncompress -- gz로 압축된 문자를 압축해제 한다.
gzwrite -- 지정된 string을 .gz파일 스트림에 기록한다.
readgzfile -- .gz파일을 출력한다
zlib_get_coding_type -- Returns the coding type used for output compression
이전 | 위로 | 다음
ZipArchive::unchangeName | 처음으로 | gzclose


gzclose

(PHP 4, PHP 5)

gzclose -- 지정된 .gz 파일을 닫는다.

Description

int gzclose ( int $zp )

zp에의해 지정된 .gz 파일이 닫혀진다.

성공시 TRUE를 실패시 failure를 반환한다.

.gz파일의 지정은 정확해야 하고, gzopen()에 의해 성공적으로 열린 파일을 지정해야 한다.

이전 | 위로 | 다음
CLXXXIX. Zlib 압축 함수 | 처음으로 | gzcompress


gzcompress

(PHP 4 >= 4.0.1, PHP 5)

gzcompress -- .gz로 문자를 압축한다.

Description

string gzcompress ( string $data [, int $ level ] )

이 함수는 입력된data의 gzip압축버젼을 리턴하거나 에러발생시 FALSE를 반환한다. 옵션의 파라미터인 level은 압축률이 0인 0부터 최대압축률인 9까지 주어진다.

참고 gzuncompress().

이전 | 위로 | 다음
gzclose | 처음으로 | gzdecode


gzdeflate

(PHP 4 >= 4.0.4, PHP 5)

gzdeflate -- Deflate a string

설명

string gzdeflate ( string $data [, int $level] )

This function compress the given string using the DEFLATE data format.

For details on the DEFLATE compression algorithm see the document "» DEFLATE Compressed Data Format Specification version 1.3" (RFC 1951).

매개변수

data

The data to deflate.

level

The level of compression. Can be given as 0 for no compression up to 9 for maximum compression. If not given, the default compression level will be the default compression level of the zlib library.

반환값

The deflated string or FALSE if an error occurred.

예제

예 2574. gzdeflate() example

<?php
$compressed = gzdeflate('Compress me', 9);
echo $compressed;
?>

참고

gzinflate()
gzcompress()
gzuncompress()
gzencode()

이전 | 위로 | 다음
gzdecode | 처음으로 | gzencode


gzencode

(PHP 4 >= 4.0.4, PHP 5)

gzencode -- Create a gzip compressed string

설명

string gzencode ( string $data [, int $level [, int $encoding_mode]] )

This function returns a compressed version of the input data compatible with the output of the gzip program.

For more information on the GZIP file format, see the document: » GZIP file format specification version 4.3 (RFC 1952).

매개변수

data

The data to encode.

level

The level of compression. Can be given as 0 for no compression up to 9 for maximum compression. If not given, the default compression level will be the default compression level of the zlib library.

encoding_mode

The encoding mode. Can be FORCE_GZIP (the default) or FORCE_DEFLATE.

If you use FORCE_DEFLATE, you get a standard zlib deflated string (inclusive zlib headers) after the gzip file header but without the trailing crc32 checksum.

반환값

The encoded string, or FALSE if an error occurred.

변경 기록

버전 | 설명
4.2.0 | The encoding_mode parameter was added

예제

The resulting data contains the appropriate headers and data structure to make a standard .gz file, e.g.:

예 2575. Creating a gzip file

<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>

참고

gzdecode()
gzdeflate()
gzinflate()
gzuncompress()
gzcompress()

이전 | 위로 | 다음
gzdeflate | 처음으로 | gzeof


gzeof

(PHP 4, PHP 5)

gzeof -- 지정된 .gz 파일의 끝을 테스트한다.

Description

int gzeof ( int $zp )

지정된 .gz 파일의 끝이거나 에러가 일어나면 TRUE를 반환하고; 그렇지 않은 경우 FALSE를 반환한다.

.gz 파일지정은 정확해야 하고, gzopen()에 의해 성공적으로 열린 파일을 지정해야 한다.

이전 | 위로 | 다음
gzencode | 처음으로 | gzfile


gzfile

(PHP 4, PHP 5)

gzfile -- gz 파일 내용을 배열로 읽어들인다.

Description

array gzfile ( string $filename [, int $ use_include_path ] )

readgzfile()와 동일하나, gzfile()은 파일을 배열로 반환한다.

만일 include_path안의 파일을 검색하기 원한다면, 두번째 옵션의 파라미터에 "1"을 넣으면 된다.

참고readgzfile(), 와 gzopen().

이전 | 위로 | 다음
gzeof | 처음으로 | gzgetc


gzgetc

(PHP 4, PHP 5)

gzgetc -- 지정된 .gz파일로부터 문자를 추출한다.

Description

string gzgetc ( int $zp )

zp에 의해 지정된 파일로부터 문자열에 포함된 단문자(압축되지 않은)를 반환한다. EOF의 경우 FALSE를 반환한다(마치 gzeof()처럼).

.gz 파일의 지정은 정확해야 하고 ,gzopen()에 의해 성공적으로 열린 파일이어야 한다.

참고 gzopen(), 과 gzgets().

이전 | 위로 | 다음
gzfile | 처음으로 | gzgets


gzgets

(PHP 4, PHP 5)

gzgets -- 지정된 파일로 부터 라인을 읽어 들인다.

Description

string gzgets ( int $zp, int $length )

fp에 의해 지정된 파일로부터 length - 1 bytes의 문장을 리턴한다. length - 1 bytes를 읽거나, 새로운 라인을 만나거나, EOF의 경우 (혹 처음으로 돌아가든지), 읽는것을 그만둔다.

에러가 일어난 경우 FALSE를 반환한다.

파일의 지정은 정확해야 하고, gzopen()에 의해 성공적으로 열린 파일이어야 한다.

참고 gzopen(), gzgetc(), fgets().

이전 | 위로 | 다음
gzgetc | 처음으로 | gzgetss


gzgetss

(PHP 4, PHP 5)

gzgetss -- .gz 파일로부터 HTML 태그를 제외하고 한 라인을 읽는다,

Description

string gzgetss ( int $zp, int $length [, string $ allowable_tags ] )

gzgets()와 동일하나, gzgetss()은 읽은 문자에서 HTML과 PHP 태그를 제외한다.

세번째 옵션의 파라미터를 사용하여 명시한 태그를 제외하지 않을 수 있다.You can use the optional third parameter to specify tags which should not be stripped.

참고: Allowable_tags는 PHP 3.0.13, PHP4B3에 포함되었다.

참고 gzgets(), gzopen(), strip_tags().

이전 | 위로 | 다음
gzgets | 처음으로 | gzinflate


gzinflate

(PHP 4 >= 4.0.4, PHP 5)

gzinflate -- Inflate a deflated string

설명

string gzinflate ( string $data [, int $length] )

This function inflate a deflated string.

매개변수

data

The data compressed by gzdeflate().

length

The maximum length of data to decode.

반환값

The original uncompressed data or FALSE on error.

The function will return an error if the uncompressed data is more than 32768 times the length of the compressed input data or more than the optional parameter length.

예제

예 2576. gzinflate() example

<?php
$compressed   = gzdeflate('Compress me', 9);
$uncompressed = gzinflate($compressed);
echo $uncompressed;
?>

참고

gzdeflate()
gzcompress()
gzuncompress()
gzencode()

이전 | 위로 | 다음
gzgetss | 처음으로 | gzopen


gzopen

(PHP 4, PHP 5)

gzopen -- .gz파일을 연다

Description

int gzopen ( string $filename, string $mode [, int $ use_include_path ] )

gzip (.gz)파일을 읽기 또는 쓰기위해 연다. mode 파라미터는 fopen() ("rb" or "wb")와 같고, 또한 압축레벨 ("wb9") 또는 stategy를 포함한다: 'f' for filtered data as in "wb6f", 'h' for Huffman only compression as in "wb1h". (strategy parameter에 관한 보다 많은 정보를 원한다면 the description of deflateInit2 in zlib.h보라.)

gzopen()은 gzip 포멧이 아닌 파일을 읽는데 사용될 수 있다.; 이 경우 gzread()로 압축해제 없이 바로 파일로 부터 읽을 수 있다.

gzopen()은 열고자 지정한 파일을 리턴 한다. 그리고는 읽고자 하는 모든것을 압축해제하고, 기록하고 압축할 수 있다.

만일 열기에 실패하면 FALSE를 리턴한다.

세번째 옵션의 파라미터에 "1"을 넣으면 include_path안의 파일을 검색 할수 있다.

예 2577. gzopen() Example

$fp = gzopen ("/tmp/file.gz", "r");

참고 gzclose().

이전 | 위로 | 다음
gzinflate | 처음으로 | gzpassthru


gzpassthru

(PHP 4, PHP 5)

gzpassthru -- 지정된 파일의 남아있는 모든 데이타를 출력한다.

Description

int gzpassthru ( int $zp )

지정된 .gz파일의 EOF을 읽으면 standard output으로 결과(압축되지 않은) 결과를 출력한다.

에러가 나면 FALSE를 리턴한다.

파일의 지정은 정확해야하고, gzopen()의해 성공적으로 열린 파일이어야 한다.

gzpassthru()가 읽는것을 마치면 .gz파일은 닫힌다.(leaving zp는 불필요하다).

이전 | 위로 | 다음
gzopen | 처음으로 | gzputs


gzputs

(PHP 4, PHP 5)

gzputs -- 지정된 .gz 파일에 기록한다.

Description

int gzputs ( int $zp, string $str [, int $ length ] )

gzputs()은 gzwrite()와 모든면에서 동일하다.

이전 | 위로 | 다음
gzpassthru | 처음으로 | gzread


gzread

(PHP 4, PHP 5)

gzread -- .gz로부터 바이트값을 읽어들인다

Description

string gzread ( int $zp, int $length )

gzread()은 zp로부터 참조된 지정된 .gz 파일로부터 length만큼의 byte값을 읽어들인다. length (압축되지 않은)만큼의 byte를 읽거나 EOF에 다다르면 읽기를 멈춘다. (처음으로 돌아가는것 포함)

// get contents of a gz-file into a string
$filename = "/usr/local/something.txt.gz";
$zd = gzopen ($filename, "r");
$contents = gzread ($zd, 10000);
gzclose ($zd);

참고 gzwrite(), gzopen(),
 gzgets(), gzgetss(),
 gzfile(), gzpassthru().

이전 | 위로 | 다음
gzputs | 처음으로 | gzrewind


gzrewind

(PHP 4, PHP 5)

gzrewind -- 지정된 .gz파일을 리와인드한다

Description

int gzrewind ( int $zp )

zp를 지시자로 파일스트림의 시작위치로 파일 포지션을 둔다.

error가 발생하면 0을 반환한다.

파일의 지어은 정확해야 하고, gzopen()에 의해 성공적으로 열린 파일이어야 한다.

참고 gzseek(), gztell().

이전 | 위로 | 다음
gzread | 처음으로 | gzseek


gzseek

(PHP 4, PHP 5)

gzseek -- 지정된 .gz 파일을 검색한다.

Description

int gzseek ( int $zp, int $offset )

파일 스트림 내부에서 zp참조로 지정된 파일 포지션을 offset으로 이동한다. C에서 gzseek( zp, offset, SEEK_SET )의 호출과 동일하다.

만약 파일이 읽기속성으로 열린 경우, 이 함수는 에뮬레이트 될 수 있지만 매우 느릴수도 있다. 만일 쓰기 속성으로 열린경우에는, 오직 순차검색만을 지원한다. :gzseek는 새 시작위치까지 0의 연속으로 압축한다.(이상해서 원문을 포함합니다.) 원문:If the file is opened for reading, this function is emulated but can be extremely slow. If the file is opened for writing, only forward seeks are supported; gzseek then compresses a sequence of zeroes up to the new starting position.

성공할 경우 0을 반환하고; 그렇지 않은 경우 -1을 반환한다. EOF를 지나는 검색은 error을 고려하지 않는다.

참고 gztell(), gzrewind().

이전 | 위로 | 다음
gzrewind | 처음으로 | gztell


gztell

(PHP 4, PHP 5)

gztell -- 지정된 .gz 파일의 read/write position을 리턴한다

Description

int gztell ( int $zp )

zp에의해 참조된 파일위치의 포인터를 반환한다; 즉, 파일스트림 내부의 offset

만일 에러가 발생하면 FALSE를 반환.

파일은 정확히 지정되어야 하고, gzopen()에의해 성공적으로 열린 파일이어야 한다.

참고 gzopen(), gzseek(), gzrewind().

이전 | 위로 | 다음
gzseek | 처음으로 | gzuncompress


gzuncompress

(PHP 4 >= 4.0.1, PHP 5)

gzuncompress -- gz로 압축된 문자를 압축해제 한다.

Description

string gzuncompress ( string $data [, int $ length ] )

이 함수는 gzcompress()로 압축된 data를 취하여, 압축되지않은 원본데이터를 반환하거나 에러의 경우 FALSE를 반환한다. 만일 압축해제된 데이타가 압축되어 입력된 data보다 256배 이상이거나 옵션의 파라미터의 length이상인 경우 에러를 반환한다.

참고 gzcompress().

이전 | 위로 | 다음
gztell | 처음으로 | gzwrite


gzwrite

(PHP 4, PHP 5)

gzwrite -- 지정된 string을 .gz파일 스트림에 기록한다.

Description

int gzwrite ( int $zp, string $string [, int $ length ] )

gzwrite()는 zp에 의해 지정된 .gz파일스트림에 string을 기록한다. 만일 length가 주어지면, length (압축되지않은) 바이트마큼 쓰여지거나, string의 끝에 도달하거나, 혹은 초기화되거나하면 '쓰기'가 중지된다.

만일 length항목이 주어지면, magic_quotes_runtime 환경설정은 무시되어지고, string에서 '/'은 제거되지 않는다는것을 유의하라.

참고 gzread(), gzopen(), gzputs().

이전 | 위로 | 다음
gzuncompress | 처음으로 | readgzfile


readgzfile

(PHP 4, PHP 5)

readgzfile -- .gz파일을 출력한다

Description

int readgzfile ( string $filename [, int $ use_include_path ] )

파일을 읽고, 압축해제를하고 standard output으로 출력한다.

readgzfile()은 gzip format이 아니더라도 읽을 수 있다.; 이 경우 readgzfile()은 바로 압축해제없이 파일을 읽어들이 수 있다.

파일로부터 읽어들인 바이트수(압축되지 않은)를 리턴한다. 만일 에러가 발생하면, -@readgzfile라고 불리우는 경우가 아닌한- FALSE를 반환하고, 에러메세지를 출력한다.

filename은 파일시스템으로부터 열려지고, 그 내용은 standard output으로 출력된다.

include_path안의 파일을 검색하고자 원한다면, 두번째 옵션의 파라미터를 "1"을 넣으면 된다.

참고 gzpassthru(), gzfile(), gzopen().

이전 | 위로 | 다음
gzwrite | 처음으로 | zlib_get_coding_type


zlib_get_coding_type

(PHP 4 >= 4.3.2, PHP 5)

zlib_get_coding_type -- Returns the coding type used for output compression

설명

string zlib_get_coding_type ( void )

Returns the coding type used for output compression.

반환값

Possible return values are gzip, deflate, or FALSE.

참고

The zlib.output_compression directive

이전 | 위로 | 다음
readgzfile | 처음으로 | VII. PHP 코어: Zend 엔진 해커 가이드


부 VIII. FAQ: 자주 물어보는 질문들

차례

59. 일반적인 정보
60. 메일링리스트
61. PHP 구하기
62. 데이터베이스와 관련된 문제
63. Installation
64. 빌드(build)시의 문제
65. PHP 사용하기
66. PHP와 HTML
67. PHP와 COM
68. PHP와 다른 프로그래밍 언어
69. PHP 2 에서 PHP 3로 마이그레이션 하기
70. PHP 3에서 PHP 4로의 마이그레이션
71. Migrating from PHP 4 to PHP 5
72. Miscellaneous Questions
이전 | 위로 | 다음
58. The future: PHP 6 and Zend Engine 3 | 처음으로 | 59. 일반적인 정보


59장. 일반적인 정보

이 섹션은 PHP에 관한 일반적인 정보를 다룬다: PHP가 무엇이고 무엇을 하는지에 관해.

59.1. PHP는 무엇입니까?
59.2. PHP라는 약자는 무엇을 의미합니까?
59.3. 각 버전 사이의 관계를 알고 싶습니다
59.4. 동시에 여러 버전의 PHP를 사용할수 있습니까?
59.5. PHP 3와 PHP 4는 무엇이 다릅니까?
59.6. 버그를 발견한것 같아요! 누구에게 이 사실을 알려줘야 하나요?
59.1. | PHP는 무엇입니까?

preface of the manual을 참고하면:

PHP는 HTML 내장 스크립트 언어입니다. 문법의 대부분이 C, Java, Perl 로부터 차용되었으며 PHP고유의 특성도 함께 내포되어있습니다. 이 언어의 목적은 웹개발자에게 동적으로 생성되는 페이지를 빨리 만들수 있도록 하는 데 있습니다.

Stig Sæther Bakken 가 집필하였으며 PHP를 잘 소개한 안내서는 Zend 웹사이트의 » 여기서 구할 수 있습니다. 또, » PHP Conference Material도 도움이 될것입니다.

59.2. | PHP라는 약자는 무엇을 의미합니까?

PHP약어를 풀어쓰면 PHP: Hypertext Preprocessor입니다. 약어의 첫번째 글자가 약어이기 때문에 많은 사람에게 혼란을 줍니다. 이와 같은 약어를 재귀적 약어라고 부릅니다. 궁금하신 분은 » Free On-Line Dictionary of Computing사이트를 방문해보세요.

59.3. | 각 버전 사이의 관계를 알고 싶습니다

PHP/FI 2.0는 PHP의 초기 버전이며 더이상 지원되지 않습니다. PHP 3는 PHP/FI 2.0의 다음 버전으로서 좀 더 나아진 단계입니다. PHP 4는 PHP의 현재 버전이고 » 젠드 엔진(Zend engine)을 사용합니다. PHP 5는 » 젠드 엔진 2(Zend engine 2)를 사용하며 더 많은 추가적인 OOP특성도 가지고 있습니다. PHP 5는 현재 시험단계입니다.

59.4. | 동시에 여러 버전의 PHP를 사용할수 있습니까?

네, PHP 4 소스 디렉토리 밑의 INSTALL문서를 참고하세요. 이것과 관련된 섹션은 appendix입니다.

59.5. | PHP 3와 PHP 4는 무엇이 다릅니까?

PHP 4 제작자가 이에 관련된 » 몇가지 글 을 썼습니다. 다음은 좀 더 중요한 새로운 특성에 대한 것을 정리했습니다.

  • 확장된 API 모듈
  • UNIX 상의 통일된 빌드 과정
  • 멀티-쓰레드 웹서버를 지원하는 통일된 웹서버 인터페이스
  • 향상된 문법 하이라이터(highlighter)
  • 고유의 HTTP 세션 지원
  • 출력 버퍼링 지원
  • 좀 더 강화된 설정 시스템
  • 레퍼런스 카운팅(Reference counting)
이 특정은 물론 다른 특성에 대해 더 자세히 알고 싶다면 » What's new in PHP 4 overview문서를 참고하세요. PHP 3에서 PHP 4로 마이그레이션하려 한다면 appendix섹션도 참고 하세요.

59.6. | 버그를 발견한것 같아요! 누구에게 이 사실을 알려줘야 하나요?

PHP 버그 데이터베이스로 가서 그 버그가 이미 보고가 되었는지 확인해야 합니다. 그 데이터베이스에서 그 버그가 보고되지 않았다면 버그 보고 제출폼을 사용하세요. 버그는 할당된 트래킹 번호(tracking number)를 부여해야 하고 나중에 보고자가 되돌릴수 있도록 해주며 버그의 상태를 점검할수 있도록 하기 때문에 메일링리스트에 보내는것 보다는 버그 데이터베이스를 사용하는것이 좋습니다. 버그 데이터베이스는 » http://bugs.php.net/에 가면 보실수 있습니다.

이전 | 위로 | 다음
VIII. FAQ: 자주 물어보는 질문들 | 처음으로 | 60. 메일링리스트


60장. 메일링리스트

이 섹션은 어떻게 PHP 커뮤니티에 참가할수 있는지 알려줍니다. 최고의 방법은 메일링리스트입니다.

60.1. 어떠한 PHP 메일링리스트가 있습니까?
60.2. 다른 커뮤니티도 있습니까?
60.3. 도와주세요! 메일링리스트에 구독신청/구독취소 할수 없는것 같습니다!
60.4. 메일링리스트의 옛기록(아카이브:archive)은 어디에 있습니까?
60.5. 메일링리스트에 무엇을 물어볼수 있나요?
60.6. 메일링리스트에 글을 올릴때 포함해야 하는 정보는 어떤것이 있나요?
60.1. | 어떠한 PHP 메일링리스트가 있습니까?

여러가지 목적을 위한 메일링리스트가 있습니다. 메일링리스트의 전체 목록은 » Support 페이지에서 볼 수 있습니다.

대부분의 일반적인 메일링리스트는 php-general입니다. 이것을 구독하려면 » php-general-subscribe@lists.php.net로 메일을 보내세요. 메일 메시지의 제목과 본문에 특별한것을 포함할 필요는 없습니다. 구독을 취소하려면 » php-general-unsubscribe@lists.php.net로 메일을 보냅니다.

» Support페이지의 웹인터페이스를 통해서 구독요청(subscribe)이나 구독취소(unsubscribe)를 할수 있습니다.

60.2. | 다른 커뮤니티도 있습니까?

전세계에 셀수없이 존재합니다. 우리는 예를 들어 몇몇의 IRC 서버와 외국어 메일링리스트에 대한 목록을 » Support 페이지에 제공하고 있습니다.

60.3. | 도와주세요! 메일링리스트에 구독신청/구독취소 할수 없는것 같습니다!

php-general 메일링리스트에 구독신청이나 구독취소를 하는데 문제가 있으면 메일링리스트 프로그램이 정확한 메일링 주소를 이해할수없기 때문일수도 있습니다. 당신의 이메일주소가 joeblow@example.com이었다면, php-general-subscribe-joeblow=example.com@lists.php.net로 구독신청폼을 전송할수 있습니다. 또는 php-general-unsubscribe-joeblow=example.com@lists.php.net로 구독취소폼을 전송할수 있습니다. 다른 메일링리스트도 비슷한 주소를 사용하십시오.

60.4. | 메일링리스트의 옛기록(아카이브:archive)은 어디에 있습니까?

» Support페이지에서 archive sites 목록을 발견할수 있습니다. 메일링리스트 기사는 뉴스 메시지로도 저장이 됩니다. 뉴스리더로 » news://news.php.net/ 뉴스서버에 접속할수 있습니다. 뉴스서버를 위한 실험적인 웹 인터페이스도 또한 존재합니다. » http://news.php.net/입니다.

60.5. | 메일링리스트에 무엇을 물어볼수 있나요?

PHP는 나날이 성장해가고 있기 때문에 php-general 메일링리스트로 트래픽이 증가하고 있습니다. 매일 약 150에서 200개의 글이 올라가고 있습니다. 이 때문에 다른곳에서 찾을수 있을때에는 최후의 수단으로 메일링리스트를 사용하는것이 모든사람에게 좋습니다.

메일링리스트로 글을 올리기 전에 FAQ를 살펴보거나 매뉴얼을 보십시오. 거기에 없다면 메일링리스트 옛기록(archives)을 찾아보십시오 (위를 보세요) PHP를 설치하거나 설정할때 문제가 발생하는것이라면 포함된 모든 문서와 README 파일을 읽어주십시오. 아직도 도움이 될만한 어떤 정보도 얻지 못했다면 그때 메일링리스트를 사용해주십시오.

질문을 하기전에, » 좀더 나은 질문을 하기위한 방법이란 글을 읽는것이 모두에게 유익할것입니다.

60.6. | 메일링리스트에 글을 올릴때 포함해야 하는 정보는 어떤것이 있나요?

"PHP를 올리고 실행시킬수 없어요! 도와주세요! 뭐가 문제죠?"와 같은 질문은 절대적으로 아무에게도 도움이 안됩니다. PHP를 올리고 실행시키는데 문제가 있다면 무슨 운영체제이고 PHP의 버전이 무엇인지 어떤 형태의 배포본인지 (pre-compiled, CVS, RPMS 등등)에 대한 정보, 무엇을 했는지, 어디서 멈췄는지, 정확한 에러 메시지에 대해서도 포함시켜야 합니다.

물론 다른 문제에도 해당됩니다. 무엇을 했는지, 어디서 멈쳤는지, 무엇을 하려고 했는지, 가능하다면 정확한 에러메시지까지도 포함시켜야 합니다. 소스코드에 문제가 있다면 작동하지 않는 코드의 일부분을 포함시킬 필요가 있습니다. 필요 이상의 코드를 포함시키지는 마세요! 그것은 그 글을 읽기 어렵게 만들고 많은 사람들이 이 때문에 모두 그 글을 그냥 지나칠지도 모릅니다. 메일에 포함된 정보가 얼마나 필요한지에 대해 확신할수 없으면 적지않게 포함하는것이 낫습니다.

기억해야 또다른 중요한 사항은 제목에 문제점을 요약하라는것입니다. "도와주세요~~!!!"나 "여기서 문제가 뭔가요?"는 구독자의 대다수에 의해 무시당할것입니다.

그리고 마지막으로 당부하건데 » 좀더 나은 질문을 하기위한 방법이란 글을 읽어주시기 바랍니다. 이글은 모두에게 큰 도움이 될것이고 특별히 당신에게도 도움이 됩니다.

이전 | 위로 | 다음
59. 일반적인 정보 | 처음으로 | 61. PHP 구하기


61장. PHP 구하기

이 섹션은 PHP를 다운로드할수 있는곳과 OS에 관련된 정보를 다룹니다.

61.1. PHP는 어디서 구할수 있습니까?
61.2. pre-compiled 바이너리 버전도 있습니까?
61.3. 추가적인 PHP 확장을 컴파일하기 위해서 필요한 라이브러리는 어디서 구할수 있습니까?
61.4. 이 라이브러리를 작동시키려면 어떻게 해야 합니까?
61.5. 윈도우 머신에 CVS 저장소로부터 최종 PHP 소스 코드를 받아왔습니다. 그것을 컴파일하려면 어떻게 해야 합니까?
61.6. Browser Capabilities File을 어디서 구할수 있나요?
61.1. | PHP는 어디서 구할수 있습니까?

PHP는 PHP 관련 사이트들로부터 구할수 있습니다. » http://www.php.net/에 정리되어있습니다. 또한 익명 CVS를 사용하여 가장 최종 버전을 다운로드 받을수도 있습니다. » http://www.php.net/anoncvs.php에 자세한 정보가 있습니다.

61.2. | pre-compiled 바이너리 버전도 있습니까?

모든 주요 리눅스/유닉스 플랫폼을 모든 확장 옵션을 가진 PHP로 컴파일 할수 없기 때문에, 윈도우 시스템에서만 precompiled 바이너리를 제공합니다. 알려진대로, 많은 리눅스 배포판은 요즘 PHP가 내장되어 나옵니다. 윈도우 바이너리는 » Downloads페이지 에서 내려받을수 있습니다. 리눅스는 현재 사용중인 배포판 웹사이트를 방문하세요.

61.3. | 추가적인 PHP 확장을 컴파일하기 위해서 필요한 라이브러리는 어디서 구할수 있습니까?

참고: *로 표시된것은 thread-safe 라이브러리가 아닙니다. 그래서 multi-thread 윈도우 웹서버(IIS, netscape)에서 서버 모듈로 PHP와 사용해서는 안됩니다. 아직까지는 유닉스 환경에서는 상관없습니다.

  • » LDAP (Unix).
  • » LDAP* (Unix).
  • » LDAP (Unix/Win) : Netscape Directory (LDAP) SDK 1.1.
  • » free LDAP server.
  • » Berkeley DB2 (Unix/Win) : http://www.sleepycat.com/.
  • » SNMP* (Unix): .
  • » GD* (Unix/Win).
  • » mSQL* (Unix).
  • » PostgreSQL (Unix).
  • » IMAP* (Win/Unix).
  • » Sybase-CT* (Linux, libc5) : Available locally.
  • » FreeType (libttf):.
  • » ZLib (Unix/Win32).
  • » expat XML parser (Unix/Win32).
  • » PDFLib.
  • » mcrypt.
  • » mhash.
  • » t1lib.
  • » dmalloc.
  • » aspell.
  • » readline.

61.4. | 이 라이브러리를 작동시키려면 어떻게 해야 합니까?

라이브러리를 제공하는 다음 지시가 필요합니다. 이 라이브러리 중 어떤것은 PHP의 'configure'스크립트 명령을 실행할때 자동적으로 인식이 됩니다. (GD 라이브러리 같은 경우). 다른것은 'configure'의 '--with-EXTENSION' 옵션을 사용하여 활성화시켜야 합니다. 이에 관련되 리스트를 보려면 'configure --help'명령을 실행하세요.

61.5. | 윈도우 머신에 CVS 저장소로부터 최종 PHP 소스 코드를 받아왔습니다. 그것을 컴파일하려면 어떻게 해야 합니까?

우선 Microsoft Visual C++ v6 (v5도 가능하지만 우리는 v6를 사용한다) 가 필요합니다. 그리고 다른 지원 파일이 필요합니다. building PHP from source on Windows에 관한 섹션을 참고하시기 바랍니다.

61.6. | Browser Capabilities File을 어디서 구할수 있나요?

» http://browsers.garykeith.com/downloads.asp 에서 browscap.ini파일을 찾을수 있습니다.

이전 | 위로 | 다음
60. 메일링리스트 | 처음으로 | 62. 데이터베이스와 관련된 문제


62장. 데이터베이스와 관련된 문제

이 섹션은 PHP와 데이터베이스의 연동에 관련되어 자주 묻는 질문들을 다룹니다. 네, PHP는 오늘날 거의 모든 데이터베이스와 연동이 가능합니다.

62.1. PHP로 Microsoft SQL 서버로 접근이 가능하다고 들었습니다. 어떻게요?
62.2. MS 액세스 데이터베이스(Microsoft Access database)에 접속할수있습니까?
62.3. PHP 5 부터는 더이상 MySQL 클라이언트 라이브러리를 함께 제공하지 않는다고 하는데, 이말은 무슨 의미인가요? PHP로 계속 MySQL을 사용할수 있나요? MySQL을 사용하려고 하면 "function undefined"라는 에러 메시지를 보여줍니다. 뭣때문인지요?
62.4. I upgraded to PHP 4, and now mysql keeps telling me "Warning: MySQL: Unable to save result set in ...". What's up? PHP 4로 업그레이드했습니다. 그런데 mysql이 다음과같은 메시지를 보여줍니다. "Warning: MySQL: Unable to save result set in ...". 뭐죠?
62.5. 공유 MySQL 지원(shared MySQL support)을 설치한후에, 아파치가 libphp4.so를 로드할때마다 코어 덤프가 일어납니다. 이것을 고칠수 있나요?
62.6. 왜 다음과 같은 에러가 발생합니까: "Warning: 0 is not a MySQL result index in <file> on line <x>" 또는 "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>?
62.1. | PHP로 Microsoft SQL 서버로 접근이 가능하다고 들었습니다. 어떻게요?

윈도우 머신상에서, 인클루드 ODBC 지원(included ODBC support)과 ODBC 드라이버(correct ODBC driver)를 사용할수 있습니다.

유닉스 머신에서, 사이베이스-CT(Sybase-CT)드라이버를 사용할수있습니다. 왜냐하면 둘은 프로토콜이 호환되기 때문입니다. 사이베이스는 » 리눅스 시스템에 필요한 무료버전 을 만들었습니다. 다른 유닉스 운영체제에서는 적합 라이브러리(correct library) 로 사이베이스와 연동해야 합니다. 또한 다음 FAQ를 보세요.

62.2. | MS 액세스 데이터베이스(Microsoft Access database)에 접속할수있습니까?

네, 윈도우 9x/Me나 NT/2000 상에서 운영하고 있다면 그리고 그 운영체제에서 ODBC를 사용할수 있고 MS 액세스 데이터베이스를 위한 ODBC 드라이버를 사용할수 있다면 필요한 모든 툴은 이미 보유한 것입니다.

유닉스에서 PHP를 사용하고 있고 윈도우 박스의 MS 액세스와 연동하기를 원한다면 유닉스 ODBC 드라이버가 필요합니다. » OpenLink Software에 이를 수행할수 있는 유닉스 기반(Unix-based) ODBC 드라이버가 있습니다. 그곳에는 시험판(evalution)을 다운로드 할수 있는 안내용 프로그램(pilot program)이 있고, 그리고 675달러이상하는 상업용 버전도 있습니다.

다른 방법은 윈도우 ODBC 드라이버까지 포함되있고 데이터도 저장할수 있는 SQL 서버를 사용하는것입니다. 그 데이터는 MS 액세스에서 접근할수 있고(ODBC로), PHP로(내장 드라이버)로 접근할수 있습니다. 또는 액세스와 PHP 모두에게 가용한 파일 형식을 이용하는것입니다. 즉 일반 파일(flat files)이나 dBase 형식으로요. 이에 관련된 글을 OpenLink software의 Tim Hayes가 쓴글을 참고하세요:

      Using another database as an intermediary is not a good idea, when you can
      use ODBC from PHP straight to your database - i.e. with OpenLink's drivers. If
      you do need to use an intermediary file format, OpenLink have now released
      Virtuoso (a virtual database engine) for NT, Linux and other unix platforms.
      Please visit our website for a free download.

다른 방법은 MySQL을 사용하고, 윈도우상에서 MyODBC드라이버를 사용하여 데이터베이스를 일치(synchronizing)시키는 것입니다. Steve Lawrence의 글을 참고하세요:

  • MySQL의 지시에 따라 사용중인 플래폼에 MySQL을 설치합니다. » www.mysql.com(미러에서 받을수있슴!)에서 받을수 있습니다. 데이터베이스를 설치할때 외에는 특별한 설정이 필요치않습니다. 계정을 설정하고, host 필드에는 %로 놓거나 MySQL을 접속하고자하는 윈도우 컴퓨터의 호스트명을 넣습니다. 서버명, 계정, 비밀번호를 넣습니다.
  • MySQL사이트에서 윈도우드라이버용 MyODBC를 다운받습니다. 최종버전은 dbc-2_50_19-win95.zip입니다(NT도 사용할수 있을뿐만아니라 소스도 있습니다) 윈도우 머신에 그것을 설치합니다. 이 프로그램에 포함되어있는 유틸로 동작을 테스트할수있습니다.
  • ODBC 관리자 유저나 시스템 dsn을 만듭니다. 제어판에 위치합니다. dsn 이름을 만들고 스텝1에서 설정한 MySQL데이터베이스에 대한 호스트명, 유저명, 패스워드, 포트등을 넣습니다.
  • 전체 설치(full install)로 액세스를 설치합니다. 이렇게 하면 적절한 추가항목(add-ins)도 같이 설치가 됩니다. 최소한 ODBC 지원과 링크드 테이블 매니저(linked table manager)가 필요합니다.
  • 이제부터 중요한 부분입니다! 새 액세스 데이터베이스를 만듭니다. 그 테이블에서 오른쪽 클릭하고 링크 테이블(Link Tables)를 선택하거나, 파일 메뉴 옵션에서 Get External Data를 선택한후에 링크 테이블(Link Tables)을 선택하세요. 파일 브라우저 박스가 나올때 files of type: ODBC 를 선택하세요. 시스템 dsn과 스텝 3에서 만든 dsn의 이름을 선택하세요. 연결된 테이블을 선택하고, OK를 클릭하세요 이젠 테이블을 열수 있고 MySQL서버에 데이터를 넣거나/지우거나/수정 할수 있습니다. 질의(query)를 수행할수도 있고 MySQL에 테이블을 임포트(import)/익스포트(export)할수 있습니다. 폼이나 레포트도 만들수있고 기타등등...

팁과 트릭:

  • 액세스에서 테이블을 만들수 있고 MySQL로 그 테이블을 익스포트(export)할수 있고, 거기에 링크를 걸수 있습니다. 이렇게 하면 테이블을 빨리 만들어냅니다.
  • 액세스에서 테이블을 만들때, 액세스에서 테이블에 쓸수있는 권한을 부여하기 위해 정의한 프라이머리 키(primary key)가 있어야 합니다. 액세스에 링크를 걸기전에 MySQL에 프라이머리 키를 만들었는지 확인합니다.
  • MySQL에서 테이블을 변경한다면, 액세스로 다시 링크를 걸어야 합니다. tools>add-ins>linked table manager로 가서 ODBC DSN을 보고, 거기에서 다시 링크할 테이블을 선택합니다. 거기서 dsn의 원본을 옮길수 있습니다. OK하기 전에 새 위치(new location) 항상 확인 체크박스를 클릭하면 됩니다.

62.3. | PHP 5 부터는 더이상 MySQL 클라이언트 라이브러리를 함께 제공하지 않는다고 하는데, 이말은 무슨 의미인가요? PHP로 계속 MySQL을 사용할수 있나요? MySQL을 사용하려고 하면 "function undefined"라는 에러 메시지를 보여줍니다. 뭣때문인지요?

네, PHP에서는 앞으로도 계속 MySQL지원이 될것입니다. PHP 5의 단 하나의 변화가 클라이언트 라이브러리 자체를 함께 제공하지 않는다는 것입니다. 그 이유는 특별한 순서없이 아래글에서 설명하도록 하겠습니다:

1. 요근래의 대부분의 시스템은 이미 클라이언트 라이브러리가 설치되어있습니다.

2. 위에서 언급한대로, 라이브러리를 여러가지 버전을 갖게 되면 혼란스러워질수 있습니다. 예를 들면 어떤 버전은 mod_auth_mysql을 링크하고 다른 버전에는 PHP를 링크하고나서 아파치안에서 두개 버전을 모두 활성화시키면, 큰 충돌이 발생하게 됩니다. 또한, 함께 제공된 라이브러리가 설치된 서버버전과 항상 잘 작동하지도 않습니다. 이런 경우를 잘 보여주는 예가 mysql.socket 유닉스 도메인 소켓 파일이 있는 곳을 찾을수 없을때입니다.

3. 유지관리가 약간 더디게 되고 최신판 버전에 점점더 뒤떨어지게 될것입니다.

4. 앞으로의 라이브러리 버전은 GPL을 따르고 따라서 우리가 BSD/아파치 스타일의 라이센스 프로젝트인 GPL의 라이브러리를 함께 제공할수 없기 때문에 업그레이드 경로를 갖을수 없습니다. PHP 5에서 이런 깨끗한 중단이 최고의 선택으로 보입니다.

이와 같은 사실은 실제로 많은 사람들에게 영향이 있지는 않을것입니다. 유닉스 유저, 최소한 그들이 무엇을 하는지 아는 유저,는 PHP를 빌드할때 단순히 --with-mysql=/usr 을 추가시킴으로써 시스템의 libmysqlclient에 대한 PHP 를 빌드하려 할것이기 때문입니다. 윈도우 유저는 php.ini안에 php_mysql.dll 확장을 활성화시킬수 있습니다. 또한 dll 디렉토리에 함께 제공된 다른 모든 DLL을 사용하듯이, 적절한 %SYSTEMROOT% 디렉토리안에 libmySQL.dll파일을 카피할수 있습니다.

62.4. | I upgraded to PHP 4, and now mysql keeps telling me "Warning: MySQL: Unable to save result set in ...". What's up? PHP 4로 업그레이드했습니다. 그런데 mysql이 다음과같은 메시지를 보여줍니다. "Warning: MySQL: Unable to save result set in ...". 뭐죠?

대부분 PHP 4는 MySQL에대한 경로를 지정하지 않으면 '--with-mysql' 옵션으로 컴파일됩니다. 이것은 PHP가 내장(built-in) MySQL 클라이언트 라이브러리(MySQL client library)를 사용한다는 것입니다. 시스템이 응용프로그램을 실행할때 아파치 모듈로서의 PHP3나 auth-mysql과 같이 다른 버전의 MySQL클라이언트를 사용하면, 다른 버전의 클라이언트 사이에는 충돌이 발생합니다.

PHP 4를 다시 컴파일하세요. 그리고 플래그값으로 MySQL경로를 넣으세요. '--with-mysql=/your/path/to/mysql' 보통 이렇게 하면 해결됩니다.

62.5. | 공유 MySQL 지원(shared MySQL support)을 설치한후에, 아파치가 libphp4.so를 로드할때마다 코어 덤프가 일어납니다. 이것을 고칠수 있나요?

MySQL libs가 pthreads로 링크되어있다면 이런 현상이 발생합니다. ldd로 점검해보세요. 그렇다면 MySQL 타볼(tarball)를 가져와서 소스로 컴파일하거나 소스 RPM에서 재컴파일해서 spec 파일에서 thread 클라이언트 코드로 변경하는 곳을 제거하세요. 이 방법 모두 이런 현상을 고칠수 있습니다. 그리고나서 새로운 MySQL libs와 함께 PHP를 재컴파일하세요.

62.6. | 왜 다음과 같은 에러가 발생합니까: "Warning: 0 is not a MySQL result index in <file> on line <x>" 또는 "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>?

0으로 되어있는 결과 식별자(result identifier)를 사용하려 하고 있습니다. 0이라는것은 어떤 이유로 질의가 실패했다는것을 말합니다. 질의를 보내고 돌아온 결과 식별자를 사용하기 전에 에러를 점검할 필요가 있습니다. 다음과 비슷한 방법이면 됩니다. $result = mysql_query("SELECT * FROM tables_priv");
if (!$result) {
    echo mysql_error();
    exit;
} or $result = mysql_query("SELECT * FROM tables_priv")
    or die("Bad query: ".mysql_error());

이전 | 위로 | 다음
61. PHP 구하기 | 처음으로 | 63. Installation


63장. Installation

This section holds common questions about the way to install PHP. PHP is available for almost any OS (except maybe for MacOS before OSX), and almost any web server.

To install PHP, follow the instructions in II부. 설치와 설정.

63.1. Why shouldn't I use Apache2 with a threaded MPM in a production environment?
63.2. Unix/Windows: Where should my php.ini file be located?
63.3. Unix: I installed PHP, but every time I load a document, I get the message 'Document Contains No Data'! What's going on here?
63.4. Unix: I installed PHP using RPMS, but Apache isn't processing the PHP pages! What's going on here?
63.5. Unix: I installed PHP 3 using RPMS, but it doesn't compile with the database support I need! What's going on here?
63.6. Unix: I patched Apache with the FrontPage extensions patch, and suddenly PHP stopped working. Is PHP incompatible with the Apache FrontPage extensions?
63.7. Unix/Windows: I have installed PHP, but when I try to access a PHP script file via my browser, I get a blank screen.
63.8. Unix/Windows: I have installed PHP, but when try to access a PHP script file via my browser, I get a server 500 error.
63.9. Some operating systems: I have installed PHP without errors, but when I try to start apache I get undefined symbol errors: [mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
63.10. Windows: I have installed PHP, but when I to access a PHP script file via my browser, I get the error: cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
63.11. Windows: I've followed all the instructions, but still can't get PHP and IIS to work together!
63.12. When running PHP as CGI with IIS, PWS, OmniHTTPD or Xitami, I get the following error: Security Alert! PHP CGI cannot be accessed directly..
63.13. How do I know if my php.ini is being found and read? It seems like it isn't as my changes aren't being implemented.
63.14. How do I add my PHP directory to the PATH on Windows?
63.15. How do I make the php.ini file available to PHP on windows?
63.16. Is it possible to use Apache content negotiation (MultiViews option) with PHP?
63.17. Is PHP limited to process GET and POST request methods only?
63.1. | Why shouldn't I use Apache2 with a threaded MPM in a production environment?

PHP is glue. It is the glue used to build cool web applications by sticking dozens of 3rd-party libraries together and making it all appear as one coherent entity through an intuitive and easy to learn language interface. The flexibility and power of PHP relies on the stability and robustness of the underlying platform. It needs a working OS, a working web server and working 3rd-party libraries to glue together. When any of these stop working PHP needs ways to identify the problems and fix them quickly. When you make the underlying framework more complex by not having completely separate execution threads, completely separate memory segments and a strong sandbox for each request to play in, feet of clay are introduced into PHP's system.

If you feel you have to use a threaded MPM, look at a FastCGI configuration where PHP is running in its own memory space.

And finally, this warning against using a threaded MPM is not as strong for Windows systems because most libraries on that platform tend to be threadsafe.

63.2. | Unix/Windows: Where should my php.ini file be located?

By default on Unix it should be in /usr/local/lib which is <install-path>/lib. Most people will want to change this at compile-time with the --with-config-file-path flag. You would, for example, set it with something like:

--with-config-file-path=/etc
And then you would copy php.ini-dist from the distribution to /etc/php.ini and edit it to make any local changes you want.

--with-config-file-scan-dir=PATH

On Windows the default path for the php.ini file is the Windows directory. If you're using the Apache webserver, php.ini is first searched in the Apaches install directory, e.g. c:\program files\apache group\apache. This way you can have different php.ini files for different versions of Apache on the same machine.

See also the chapter about the configuration file.

63.3. | Unix: I installed PHP, but every time I load a document, I get the message 'Document Contains No Data'! What's going on here?

This probably means that PHP is having some sort of problem and is core-dumping. Look in your server error log to see if this is the case, and then try to reproduce the problem with a small test case. If you know how to use 'gdb', it is very helpful when you can provide a backtrace with your bug report to help the developers pinpoint the problem. If you are using PHP as an Apache module try something like:

  • Stop your httpd processes

  • gdb httpd

  • Stop your httpd processes

  • > run -X -f /path/to/httpd.conf

  • Then fetch the URL causing the problem with your browser

  • > run -X -f /path/to/httpd.conf

  • If you are getting a core dump, gdb should inform you of this now

  • type: bt

  • You should include your backtrace in your bug report. This should be submitted to » http://bugs.php.net/

If your script uses the regular expression functions (ereg() and friends), you should make sure that you compiled PHP and Apache with the same regular expression package. This should happen automatically with PHP and Apache 1.3.x

63.4. | Unix: I installed PHP using RPMS, but Apache isn't processing the PHP pages! What's going on here?

Assuming you installed both Apache and PHP from RPM packages, you need to uncomment or add some or all of the following lines in your httpd.conf file:

# Extra Modules
AddModule mod_php.c
AddModule mod_php3.c
AddModule mod_perl.c

# Extra Modules
LoadModule php_module         modules/mod_php.so
LoadModule php3_module        modules/libphp3.so     # for PHP 3
LoadModule php4_module        modules/libphp4.so     # for PHP 4
LoadModule perl_module        modules/libperl.so
And add:

AddType application/x-httpd-php3 .php3    # for PHP 3
AddType application/x-httpd-php .php      # for PHP 4
... to the global properties, or to the properties of the VirtualDomain you want to have PHP support added to.

63.5. | Unix: I installed PHP 3 using RPMS, but it doesn't compile with the database support I need! What's going on here?

Due to the way PHP 3 built, it is not easy to build a complete flexible PHP RPM. This issue is addressed in PHP 4. For PHP 3, we currently suggest you use the mechanism described in the INSTALL.REDHAT file in the PHP distribution. If you insist on using an RPM version of PHP 3, read on...

The RPM packagers are setting up the RPMS to install without database support to simplify installations and because RPMS use /usr/ instead of the standard /usr/local/ directory for files. You need to tell the RPM spec file which databases to support and the location of the top-level of your database server.

This example will explain the process of adding support for the popular MySQL database server, using the mod installation for Apache.

Of course all of this information can be adjusted for any database server that PHP supports. We will assume you installed MySQL and Apache completely with RPMS for this example as well.

  • First remove mod_php3 :

    rpm -e mod_php3

  • Then get the source rpm and INSTALL it, NOT --rebuild

    rpm -Uvh mod_php3-3.0.5-2.src.rpm

  • Then edit the /usr/src/redhat/SPECS/mod_php3.spec file

    In the %build section add the database support you want, and the path.

    For MySQL you would add --with-mysql=/usr The %build section will look something like this:

    ./configure --prefix=/usr \
--with-apxs=/usr/sbin/apxs \
--with-config-file-path=/usr/lib \
--enable-debug=no \
--enable-safe-mode \
--with-exec-dir=/usr/bin \
--with-mysql=/usr \
--with-system-regex

  • Once this modification is made then build the binary rpm as follows:

    rpm -bb /usr/src/redhat/SPECS/mod_php3.spec

  • Then install the rpm

    rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm

Make sure you restart Apache, and you now have PHP 3 with MySQL support using RPM's. Note that it is probably much easier to just build from the distribution tarball of PHP 3 and follow the instructions in INSTALL.REDHAT found in that distribution.

63.6. | Unix: I patched Apache with the FrontPage extensions patch, and suddenly PHP stopped working. Is PHP incompatible with the Apache FrontPage extensions?

No, PHP works fine with the FrontPage extensions. The problem is that the FrontPage patch modifies several Apache structures, that PHP relies on. Recompiling PHP (using 'make clean ; make') after the FP patch is applied would solve the problem.

63.7. | Unix/Windows: I have installed PHP, but when I try to access a PHP script file via my browser, I get a blank screen.

Do a 'view source' in the web browser and you will probably find that you can see the source code of your PHP script. This means that the web server did not send the script to PHP for interpretation. Something is wrong with the server configuration - double check the server configuration against the PHP installation instructions.

63.8. | Unix/Windows: I have installed PHP, but when try to access a PHP script file via my browser, I get a server 500 error.

Something went wrong when the server tried to run PHP. To get to see a sensible error message, from the command line, change to the directory containing the PHP executable (php.exe on Windows) and run php -i. If PHP has any problems running, then a suitable error message will be displayed which will give you a clue as to what needs to be done next. If you get a screen full of HTML codes (the output of the phpinfo() function) then PHP is working, and your problem may be related to your server configuration which you should double check.

63.9. Some operating systems: I have installed PHP without errors, but when I try to start apache I get undefined symbol errors:
[mybox:user /src/php4] root# apachectl configtest
 apachectl: /usr/local/apache/bin/httpd Undefined symbols:
  _compress
  _uncompress

This has actually nothing to do with PHP, but with the MySQL client libraries. Some need --with-zlib, others do not. This is also covered in the MySQL FAQ.

63.10. Windows: I have installed PHP, but when I to access a PHP script file via my browser, I get the error:
cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:

This error message means that PHP failed to output anything at all. To get to see a sensible error message, from the command line, change to the directory containing the PHP executable (php.exe on Windows) and run php -i. If PHP has any problems running, then a suitable error message will be displayed which will give you a clue as to what needs to be done next. If you get a screen full of HTML codes (the output of the phpinfo() function) then PHP is working.

Once PHP is working at the command line, try accessing the script via the browser again. If it still fails then it could be one of the following:

  • File permissions on your PHP script, php.exe, php4ts.dll, php.ini or any PHP extensions you are trying to load are such that the anonymous internet user ISUR_<machinename> cannot access them.
  • The script file does not exist (or possibly isn't where you think it is relative to your web root directory). Note that for IIS you can trap this error by ticking the 'check file exists' box when setting up the script mappings in the Internet Services Manager. If a script file does not exist then the server will return a 404 error instead. There is also the additional benefit that IIS will do any authentication required for you based on the NTLanMan permissions on your script file.
63.11. | Windows: I've followed all the instructions, but still can't get PHP and IIS to work together!

Make sure any user who needs to run a PHP script has the rights to run php.exe! IIS uses an anonymous user which is added at the time IIS is installed. This user needs rights to php.exe. Also, any authenticated user will also need rights to execute php.exe. And for IIS4 you need to tell it that PHP is a script engine. Also, you will want to read this faq.

63.12. | When running PHP as CGI with IIS, PWS, OmniHTTPD or Xitami, I get the following error: Security Alert! PHP CGI cannot be accessed directly..

You must set the cgi.force_redirect directive to 0. It defaults to 1 so be sure the directive isn't commented out (with a ;). Like all directives, this is set in php.ini

Because the default is 1, it's critical that you're 100% sure that the correct php.ini file is being read. Read this faq for details.

63.13. | How do I know if my php.ini is being found and read? It seems like it isn't as my changes aren't being implemented.

To be sure your php.ini is being read by PHP, make a call to phpinfo() and near the top will be a listing called Configuration File (php.ini). This will tell you where PHP is looking for php.ini and whether or not it's being read. If just a directory PATH exists than it's not being read and you should put your php.ini in that directory. If php.ini is included within the PATH than it is being read.

If php.ini is being read and you're running PHP as a module, then be sure to restart your web server after making changes to php.ini

63.14. | How do I add my PHP directory to the PATH on Windows?

On Windows NT, 2000, XP and 2003:

  • Go to Control Panel and open the System icon (Start -> Settings -> Control Panel -> System, or just Start -> Control Panel -> System for Windows XP/2003)

  • Go to the Advanced tab

  • Click on the 'Environment Variables' button

  • Look into the 'System Variables' pane

  • Find the Path entry (you may need to scroll to find it)

  • Double click on the Path entry

  • Enter your PHP directory at the end, including ';' before (e.g. ;C:\php)

  • Press OK and restart your computer

On Windows 98/Me you need to edit the autoexec.bat file:

  • Open the Notepad (Start -> Run and enter notepad)

  • Open the C:\autoexec.bat file

  • Locate the line with PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... and add: ;C:\php to the end of the line

  • Save the file and restart your computer

참고: Be sure to reboot after following the steps above to ensure that the PATH changes are applied.

The PHP manual used to promote the copying of files into the Windows system directory, this is because this directory (C:\Windows, C:\WINNT, etc.) is by default in the systems PATH. Copying files into the Windows system directory has long since been deprecated and may cause problems.

63.15. | How do I make the php.ini file available to PHP on windows?

There are several ways of doing this. If you are using Apache, read their installation specific instructions (Apache 1, Apache 2), otherwise you must set the PHPRC environment variable:

On Windows NT, 2000, XP and 2003:

  • Go to Control Panel and open the System icon (Start -> Settings -> Control Panel -> System, or just Start -> Control Panel -> System for Windows XP/2003)

  • Go to the Advanced tab

  • Click on the 'Environment Variables' button

  • Look into the 'System variables' pane

  • Click on 'New' and enter 'PHPRC' as the variable name and the directory where php.ini is located as the variable value (e.g. C:\php)

  • Press OK and restart your computer

On Windows 98/Me you need to edit the autoexec.bat file:

  • Open the Notepad (Start -> Run and enter notepad)

  • Open the C:\autoexec.bat file

  • Add a new line to the end of the file: set PHPRC=C:\php (replace C:\php with the directory where php.ini is located). Please note that the path cannot contain spaces. For instance, if you have installed PHP in C:\Program Files\PHP, you would enter C:\PROGRA~1\PHP instead.

  • Save the file and restart your computer

63.16. | Is it possible to use Apache content negotiation (MultiViews option) with PHP?

If links to PHP files include extension, everything works perfect. This FAQ is only for the case when links to PHP files don't include extension and you want to use content negotiation to choose PHP files from URL with no extension. In this case, replace the line AddType application/x-httpd-php .php with:

# PHP 4
AddHandler php-script php
AddType text/html php

# PHP 5
AddHandler php5-script php
AddType text/html php
This solution doesn't work for Apache 1 as PHP module doesn't catch php-script.

63.17. | Is PHP limited to process GET and POST request methods only?

No, it is possible to handle any request method, e.g. CONNECT. Proper response status can be sent with header(). If only GET and POST methods should be handled, it can be achieved with this Apache configuration:

<LimitExcept GET POST>
Deny from all
</LimitExcept>

이전 | 위로 | 다음
62. 데이터베이스와 관련된 문제 | 처음으로 | 64. 빌드(build)시의 문제


64장. 빌드(build)시의 문제

이 절은 빌드 시에 가장 자주 발생하는 에러에 대해서 정리합니다.

64.1. 익명 CVS 서버스에서 PHP의 가장 최종 버전을 가져왔습니다. 그런데 거기에는 configure 스크립트가 없네요!?
64.2. 아파치와 연동하여 PHP 를 설정하려 하는데 문제가 발생합니다. httpd.h를 찾을 수 없다는 군요. 하지만 그 파일은 거기에 있거든요!
64.3. PHP를 설정하려 하는데 (./configure), 다음과 같은 에러 를 본적이 있습니까?
64.4. 제가 아파치를 시작하려하면, 다음과 같은 메시지가 뜹니다.
64.5. configure를 실행하려하는데, GD, gdbm 이나 다른 패키지에 대한 라이브러리(library)와 인클루드(include) 파일을 읽지 못한다는 에러가 나네요!
64.6. language-parser.tab.c파일을 컴파일할때, yytname undeclared라는 에러메시지를 보여주네요.
64.7. make명령을 실행시킬때, 처음엔 잘나가다가 마지막에서 프로그램을 링크하려고 할때 특정 파일을 찾지 못한다고 하며 종료되어 버립니다.
64.8. PHP를 링크할때, 엄청나게 많은 수의 undefined reference 에러메시지를 뿌려줍니다.
64.9. 아파치 1.3 버전과 같이 설치하는 방법을 잘 모르겠습니다.
64.10. Unix상에서 아파치 모듈을 인스톨하기 위한 모든 단계를 따라했습니다. 그리고 브라우저에서 PHP 스크립트를 보려고하면 저장하겠냐고 묻습니다.
64.11. --activate-module=src/modules/php4/libphp4.a옵션으로 실행하라고 하지만 그 파일은 존재하지않습니다. 그래서 --activate-module=src/modules/php4/libmodphp4.a으로 변경을 했습니다. 근데, 제대로 설치가 안되네요!? 무엇이 잘못되었나요?
64.12. PHP를 정적인 모듈로 아파치와 연동하려고 --activate-module=src/modules/php4/libphp4.a 옵션으로 빌드하려 했습니다. 그런데 컴파일러가 ANSI 호환이 아니라고 나옵니다.
64.13. --with-apxs옵션으로 PHP를 빌드하려고 하는데 이상한 메시지를 봤습니다.
64.14. make명령 실행 중에 몇몇개의 에러메시지와 많은 RUSAGE_관련 에러 메시지가 발생합니다.
64.15. MySQL과 연동하여 PHP를 컴파일하려고 할때 configure는 잘 진행되지만 make명령 실행중에는 다음과 같은 에러가 납니다. ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', 무엇이 잘못된 건가요?
64.16. PHP를 업그레이드 하고 싶습니다. 현재 PHP 설치를 위해 사용되었던 ./configure 실행 옵션을 어디서 발견할수 있습니까?
64.17. GD라이브러리와 연동하여 PHP를 빌드하려 하면 이상한 컴파일 에러를 보이거나 실행중 세그먼테이션 폴트(segfault)를 발생시킵니다.
64.18. PHP를 컴파일 할 때 여러 오류가 나면서 멈춥니다. 솔라리스를 사용하고 있습니다.
64.1. | 익명 CVS 서버스에서 PHP의 가장 최종 버전을 가져왔습니다. 그런데 거기에는 configure 스크립트가 없네요!?

configure.in파일이 configure 스크립트를 생성할수 있도록 GNU autoconf 패키지가 설치되어 있어야 합니다. 그리고 나서 CVS 서버에서 소스를 가져오신 후에 최상위 디렉토리에서 ./buildconf명령을 실행하세요. (또한, --enable-maintainer-mode옵션으로 configure를 실행하지 않으면, configure.in파일이 갱신되었을때, configure 스크립트는 자동적으로 재생성 되지 않을겁니다. 그래서 configure.in 파일이 갱신되었다는것을 알고나서 손수 재생성해야 할것입니다. 이것을 알아챌수 있는 방법은 configure 나 config.status이 실행된후 Makefile의 @VARIABLE@같은 것을 찾아 보는 것입니다.)

64.2. | 아파치와 연동하여 PHP 를 설정하려 하는데 문제가 발생합니다. httpd.h를 찾을 수 없다는 군요. 하지만 그 파일은 거기에 있거든요!

configure/setup 스크립트에 아파치 소스 트리의 최상위 디렉토리 위치를 알려줘야 합니다. 즉, --with-apache=/path/to/apache을 적어주세요. --with-apache=/path/to/apache/src이 아닙니다.

64.3. PHP를 설정하려 하는데 (./configure), 다음과 같은 에러 를 본적이 있습니까?
       checking lex output file root... ./configure: lex: command not found
       configure: error: cannot find output from lex; giving up

installation섹션을 주의깊게 읽어보세요. PHP를 컴파일하기 위해서는 flex와 bison 이 필요합니다. bison과 flex를 소스나 RPM패키지를 구해서 설치하세요.

64.4. 제가 아파치를 시작하려하면, 다음과 같은 메시지가 뜹니다.
       fatal: relocation error: file /path/to/libphp4.so:
       symbol ap_block_alarms: referenced symbol not found

이 에러는 공유 사용 목적의 DSO 라이브러리로 아파치 프로그램을 컴파일 할때 주로 발생합니다. 아파치를 재설정(reconfigure)하세요 최소한 다음 옵션이 붙어야 합니다.

       --enable-shared=max --enable-rule=SHARED_CORE

더 자세한 정보는 아파치 디렉토리의 최상위에 위치한 INSTALL 파일이나 아파치 » DSO 매뉴얼 페이지를 보세요.

64.5. | configure를 실행하려하는데, GD, gdbm 이나 다른 패키지에 대한 라이브러리(library)와 인클루드(include) 파일을 읽지 못한다는 에러가 나네요!

비표준적인 위치에 존재하는 헤더파일이나 라이브러리를 찾을 수 있도록 configure 스크립트를 조정할수 있습니다. C 전처리기나 링커를 넘겨주기 위한 다음과같은 플래그를 설정함으로써 가능합니다.

    CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
로그인 셸이 csh계열이라면(왜?) 다음처럼 처리합니다

    env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure

64.6. | language-parser.tab.c파일을 컴파일할때, yytname undeclared라는 에러메시지를 보여주네요.

Bison 을 업그레이드할필요가 있습니다. » http://www.gnu.org/software/bison/bison.html에서 최신버전을 받을수 있을겁니다.

64.7. | make명령을 실행시킬때, 처음엔 잘나가다가 마지막에서 프로그램을 링크하려고 할때 특정 파일을 찾지 못한다고 하며 종료되어 버립니다.

make의 구버전 중 일부는 functions 디렉토리안에 functions 디렉토리에 들어있는 파일을 정확하게 옮겨놓지 못합니다. cp *.o functions 명령을 실행하고 나서 make명령을 재실행시켜보세요. 이래도 똑같은 증상을 보이면, GNU make를 최신버전으로 업그레이드하세요

64.8. | PHP를 링크할때, 엄청나게 많은 수의 undefined reference 에러메시지를 뿌려줍니다.

링크 관련 줄을 보고 정확하게 라이브러리가 설정되었는지 확인하기 바랍니다. 보통 '-ldl'이라는 옵션을 빠뜨리거나, 데이터베이스 지원을 위한 라이브러리를 빠뜨린 경우가 대부분입니다.

아파치 1.2.x에 설치한다면, 설정 파일의 EXTRA_LIBS에 적절한 정보를 추가하여 아파치 설정 스크립트를 다시 실행하셨습니까? 제사한 정보는 설치 챕터를 참고하십시오.

어떤분들의 보고에 따르면 아파치와 같이 설치할때에는 libphp4.a파일 다음에 '-ldl'옵션을 추가해야한다고 합니다.

64.9. | 아파치 1.3 버전과 같이 설치하는 방법을 잘 모르겠습니다.

매우 쉽습니다. 다음 단계를 차근차근 따라해보세요.

  • » http://www.apache.org/dist/httpd/에서 아파치 1.3 최신 버전을 다운받는다.
  • 그 파일을 특정 디렉토리에 압축을 풉니다. 예를 들면, /usr/local/src/apache-1.3와 같은 디렉토리가 될수 있습니다.
  • 우선 다음명령을 실행시킵니다. ./configure --with-apache=/<path>/apache-1.3 (여기서 <path>는 아파치 1.3 디렉토리의 실제 경로로 대치하십시오.
  • 그리고 make명령과 make install명령을 차례대로 실행시킵니다. 이것이 완료되면 아파치의 하위 디렉토리에 필요한 파일들이 복사가 되는것입니다.
  • /<path>/apache-1.3/src디렉토리로 들어가서 Configuration파일을 변경하십시오. 설정 파일에 다음줄을 추가하세요. AddModule modules/php4/libphp4.a.
  • Type: ./configure명령실행후에 make명령을 실행하면 됩니다.
  • 이제 PHP가 연동되는 아파치 실행파일이 생겼을겁니다!

Note: 새로운 아파치의 ./configure스크립트 를 사용할수 있습니다. 아파치 디렉토리의 README.configure파일을 보거나, PHP 디렉토리의 INSTALL파일을 참고하세요.

64.10. | Unix상에서 아파치 모듈을 인스톨하기 위한 모든 단계를 따라했습니다. 그리고 브라우저에서 PHP 스크립트를 보려고하면 저장하겠냐고 묻습니다.

이것은 어떤 이유로 PHP 모듈을 제대로 불려오지 못한 결과입니다. 우선은 다음의 세가지 경우를 체크하시기 바랍니다

  • 현재 실행되고있는 아파치의 실행파일이 새로 빌드된 실행파일인지 확인해야 합니다. 다음 명령을 실행하세요 /path/to/binary/httpd -l

    출력된 리스트중에서 mod_php4.c파일이 보이지 않으면, 잘못된 파일을 실행하고 있는것입니다. 올바른 파일을 찾아서 실행하세요.

  • 아파치의 .conf파일에 다음과 같은 Mime 타입 설정을 추가했는지 확인하세요. AddType application/x-httpd-php3 .php3 (for PHP 3)

    또는 AddType application/x-httpd-php .php (for PHP 4)

    그리고 <Virtualhost> 이나 <Directory> 블록안에 이 AddType 줄이 숨겨져 있는지 확인하시기 바랍니다. 이렇게 되면 PHP 스크립트의 위치에 따라서 적용이 안될수 있기 때문입니다.

  • 마지막으로, 아파치 1.2와 아파치 1.3 버전간에 설정파일의 기본(default) 디렉토리가 바뀔수도 있습니다. 따라서 실질적으로 AddType 줄이 추가된 설정파일이 정확한 위치에 있는지 체크해야 합니다. httpd.conf파일에 일부러 문법에러(Syntax error)를 일으킬만한 설정을 해보거나 다른 방법으로 이 파일이 실제로 적용되는 파일인지 확인할수 있습니다.

64.11. | --activate-module=src/modules/php4/libphp4.a옵션으로 실행하라고 하지만 그 파일은 존재하지않습니다. 그래서 --activate-module=src/modules/php4/libmodphp4.a으로 변경을 했습니다. 근데, 제대로 설치가 안되네요!? 무엇이 잘못되었나요?

처음에는 libphp4.a파일은 존재하지 않습니다. 그 파일은 아파치 설치 과정중에 생기는것입니다!

64.12. | PHP를 정적인 모듈로 아파치와 연동하려고 --activate-module=src/modules/php4/libphp4.a 옵션으로 빌드하려 했습니다. 그런데 컴파일러가 ANSI 호환이 아니라고 나옵니다.

이 에러 메시지는 잘못된 것입니다. 요즘의 아파치버전은 이런 에러 메시지가 수정되었다고 합니다.

64.13. | --with-apxs옵션으로 PHP를 빌드하려고 하는데 이상한 메시지를 봤습니다.

이경우에는 다음 세가지 경우를 확인해봐야 합니다. 첫째, 아파치가 apxs 펄 스크립트를 빌드 할때, 어떤 이유로 종종 적절한 컴파일러와 플래그 변수(flag variables)들 없이 끝나버리는 경우가 있습니다. ( which apxs 명령을수행) 대부분 /usr/local/apache/bin/apxs나 /usr/sbin/apxs 인 경우가 많습니다. 그 파일을 열어서 다음과 비슷한지 점검하십시오.

my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
이렇게 되어있다면 이것이 바로 문제입니다. 이외에 공백이나 잘못된 값이 채워져있을수 있습니다. 예를 들어서 'q()' 같은 경우입니다. 이 줄들은 다음으로 변경합니다

my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl
두번째는 레드햇 6.1과 레드햇 6.2에 관련된 경우입니다. 레드햇 배포판의 apxs가 깨지는 경우인데. 다음처럼 되어있습니다

my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
이렇다면 다음으로 변경합니다

my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
마지막으로, 아파치를 재설정/재설치했을경우에 make clean 명령을 ./configure 명령 후와 make 명령 전에 실행해보는 것입니다.

64.14. | make명령 실행 중에 몇몇개의 에러메시지와 많은 RUSAGE_관련 에러 메시지가 발생합니다.

make명령 실행 중에 다음과 비슷한 상황이 벌어진다면:

microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1

당신의 시스템은 정상이 아닙니다. glibc-devel 패키지를 설치해서 /usr/include밑의 파일들을 고칠필요가 있습니다. 이것이 PHP를 위해 절대적인것은 아닙니다. 이런것을 해결하기 위해서는 다음과 같은 테스트를 해보세요.

$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
이 테스트 결과 에러가 발생한다면 그 include파일들은 확실히 정상이 아닙니다.

64.15. | MySQL과 연동하여 PHP를 컴파일하려고 할때 configure는 잘 진행되지만 make명령 실행중에는 다음과 같은 에러가 납니다. ext/mysql/libmysql/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysql/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp', 무엇이 잘못된 건가요?

우선, 이것이 경고(Warning)이고 치명적인 에러(Fatal Error)가 아니라는 것을 파악하는 것이 중요합니다. 이 메시지들이 make명령이 실행되는 동안 종종 마지막에 나오기 때문에 치명적인 에러(Fatal Error)처럼 보일지도 모르지만, 그렇지는 않습니다. 즉 컴파일러가 경고(Warning)메시지를 안보이도록 할수 있다면, 아무 메시지도 보여주지 않게 되는것입니다. 또 명심할것은 MySQL 은 기본적으로(default) 지원이 된다는것입니다.

64.16. | PHP를 업그레이드 하고 싶습니다. 현재 PHP 설치를 위해 사용되었던 ./configure 실행 옵션을 어디서 발견할수 있습니까?

현재 PHP설치 디렉토리의 config.nice 파일이나 다음스크립트를 실행시키면 확인할수 있습니다. <?php phpinfo(); ?> 이 스크립트의 결과 페이지에서 상단에 ./configure실행 옵션이 보이므로 그 옵션을 쓰시면 됩니다.

64.17. | GD라이브러리와 연동하여 PHP를 빌드하려 하면 이상한 컴파일 에러를 보이거나 실행중 세그먼테이션 폴트(segfault)를 발생시킵니다.

GD라이브러리와 PHP가 관련 라이브러리(예를 들면, libpng)와 제대로 링크가 되었는지 확인하십시오.

64.18. | PHP를 컴파일 할 때 여러 오류가 나면서 멈춥니다. 솔라리스를 사용하고 있습니다.

PHP를 컴파일 할 때 GNU 유틸리티를 사용하지 않으면 문제가 발생할 수 있습니다. PHP를 컴파일할 때 적합한 GNU 툴을 사용하는지 확인해 보십시오. 예를 들어, 솔라리스에서 사용하는 SunOS BSD-호환이나 솔라리스 버전의 sed는 적합하지 않습니다. GNU나 Sub POSIX (xpg4) 버전의 sed을 사용해야 합니다. 연결: » GNU sed, » GNU flex, » GNU bison.

이전 | 위로 | 다음
63. Installation | 처음으로 | 65. PHP 사용하기


65장. PHP 사용하기

이 섹션은 PHP스크립트를 작성할때 직면할수 있는 매우 일반적인 에러를 정리했습니다.

65.1. 폼으로부터 데이터를 제어할수 있는 PHP스크립트를 작성하려합니다. POST 메쏘드에서 사용가능한 변수를 알 수 있을까요?
65.2. 작은따옴표(')에 역슬래쉬를 앞에(\') 붙여줄 필요가 있습니다. 이와 같은 일은 어떻게 정규표현식(regular expression)으로 처리할수 있을까요? 그리고 "를 \"로, \를 \\로 변환하고 싶습니다.
65.3. All my " turn into \" and my ' turn into \', how do I get rid of all these unwanted backslashes? How and why did they get there? "은 \"으로, '는 \'으로 변경이 되어있습니다. 어떻게하면 이런 원치않는 역슬래쉬를 제거할수 있을까요? 어떻게 그리고 왜 이런 역슬래쉬가 생긴거죠?
65.4. 다음과 같은 처리를 할때, 출력이 잘못된 순서로 됩니다: <?php function myfunc($argument) { echo $argument + 10; } $variable = 10; echo "myfunc($variable) = " . myfunc($variable); ?> 무엇이 잘못된건가요?
65.5. 헤이, 새줄(newline)이 왜 안생기나요? <pre> <?php echo "This should be the first line."; ?> <?php echo "This should show up after the new line above."; ?> </pre>
65.6. 'Warning: Cannot send session cookie - headers already sent...' 나 'Cannot add header information - headers already sent...'같은 메시지를 봤습니다.
65.7. 요청 헤더값을 직접 확인하고 싶습니다. 어떻게 하면 되죠?
65.8. IIS로 인증을 하려합니다. 그런데 'No Input file specified'과 같은 메시지가 출력되는군요.
65.9. PHP 스크립트는 IE와 Lynx에서는 동작을 합니다. 그러나 네스케이프에서는 출력의 일부가 사라져버립니다. "소스보기"를 하면 IE에서는 볼수 있지만 네스케이프에서는 볼수없습니다.
65.10. 어떻게 XML과 PHP를 섞어쓸수 있다고 생각할수 있습니까? <?xml태그에 불만을 터트린단 말입니다!
65.11. 이미 짜여진 코드를 옮기기 위해서 FrontPage나 다른 HTML 편집기를 어떻게 사용할수 있습니까?
65.12. PHP에서 가용한 모든 변수 목록을 어디서 볼수 있습니까?
65.13. 유료이고 상용 라이브러리인 ClibPDF와 PDFLib를 사용하지 않고 어떻게 하면 PDF 파일을 만들수 있습니까? 무료이면서 외부의 PDF 라이브러리가 필요없는 것을 사용하고 싶습니다.
65.14. 유저 정의 함수에서 표준적인 CGI변수($DOCUMENT_ROOT나 $HTTP_REFERER)중 하나에 접근하여하였습니다. 그런데 그 변수를 찾을수가 없는것처럼 보입니다. 무엇이 잘못된건가요?
65.15. 몇몇 PHP 지시어는 integer 바이트 값뿐이 아닌, 단축 바이트 값도 가질 수 있습니다. 어떠한 단축 바이트 옵션이 존재합니까? 그리고 php.ini 밖에서 사용할 수 있습니까?
65.1. | 폼으로부터 데이터를 제어할수 있는 PHP스크립트를 작성하려합니다. POST 메쏘드에서 사용가능한 변수를 알 수 있을까요?

      PHP는 많은 미리 정의된
       변수들을 가집니다. 슈퍼 글로벌(superglobal)변수인
      $_POST처럼요. $_POST변수는
      포스팅된 모든 변수의 연관배열이기 때문에 이 변수로 루프를 돌릴수도 있다.
      예를 들어서 간단하게 foreach로 루프를 돌린다고
      하면 empty()함수 값을 체크하고 그 값을 출력하면 된다.

<?php
$empty = $post = array();
foreach ($_POST as $varname => $varvalue) {
if (empty($varvalue)) {
$empty[$varname] = $varvalue;
} else {
$post[$varname] = $varvalue;
}
}

print "<pre>";
if (empty($empty)) {
print "None of the POSTed values are empty, posted:\n";
var_dump($post);
} else {
print "We have " . count($empty) . " empty values\n";
print "Posted:\n"; var_dump($post);
print "Empty:\n";  var_dump($empty);
exit;
}
?>

자동 전역: 사용상 주의: PHP 4.1.0부터, $_GET, $_POST, $_SERVER 등의 자동 전역 배열을 사용할 수 있습니다. 더 자세한 내용은 매뉴얼 superglobals 섹션을 읽어보십시오.

65.2. | 작은따옴표(')에 역슬래쉬를 앞에(\') 붙여줄 필요가 있습니다. 이와 같은 일은 어떻게 정규표현식(regular expression)으로 처리할수 있을까요? 그리고 "를 \"로, \를 \\로 변환하고 싶습니다.

addslashes()함수로 이와 같은 일을 처리할수있습니다.
mysql_escape_string()함수도 참고하십시오.
또한 stripslashes()함수로 역슬래쉬를 벗길 수 있습니다.

지시어 주의: magic_quotes_gpc: PHP 지시어 magic_quotes_gpc의 기본값은 on입니다. 이것은 모든 GET, POST, COOKIE 데이터에 대해 addslashes()를 실행합니다. 이를 제거하기 위해서 stripslashes()를 사용할 수 있습니다.

65.3. | All my " turn into \" and my ' turn into \', how do I get rid of all these unwanted backslashes? How and why did they get there? "은 \"으로, '는 \'으로 변경이 되어있습니다. 어떻게하면 이런 원치않는 역슬래쉬를 제거할수 있을까요? 어떻게 그리고 왜 이런 역슬래쉬가 생긴거죠?

stripslashes()함수로 이 string에서 이런 역슬래쉬를 벗길수가 있습니다. 이런 마술적인 역슬래쉬가 존재하는 이유는 magic_quotes_gpc옵션이 활성화되어 있기 때문입니다.

지시어 주의: magic_quotes_gpc: PHP 지시어 magic_quotes_gpc의 기본값은 on입니다. 이것은 모든 GET, POST, COOKIE 데이터에 대해 addslashes()를 실행합니다. 이를 제거하기 위해서 stripslashes()를 사용할 수 있습니다.

65.4. 다음과 같은 처리를 할때, 출력이 잘못된 순서로 됩니다: <?php
function myfunc($argument)
{
    echo $argument + 10;
}
$variable = 10;
echo "myfunc($variable) = " . myfunc($variable);
?> 무엇이 잘못된건가요?

이 함수의 결과를 사용하기 위해서는 (위 예처럼 다른 스트링과 합치는) echo() 함수대신에 return()를 사용해야 합니다.

65.5. 헤이, 새줄(newline)이 왜 안생기나요? <pre>
<?php echo "This should be the first line."; ?>
<?php echo "This should show up after the new line above."; ?>
</pre>

PHP에서는 코드 블럭이 "?>" 나 "?>\n"로 끝날수 있습니다. 그래서 위 예에서 문장은 한줄로 출력이 될것입니다. 왜냐하면 블럭의 끝에 새줄표시(newline)를 빠뜨렸기 때문이요. 이와 같은 이유로 새줄쓰기를 하려면 각 블럭의 끝에 새줄표시(newline)를 해줘야합니다.

왜 이와같은 일을 할까요? 왜냐하면 일반적인 HTML을 만들때, 새줄을 쓰지 않고 매우 긴 줄을 만들거나 이런 효과를 이용해서 읽을수 없는 소스 페이지 를 만들어야 할때도 있기 때문이고,이는 당신의 삶을 좀더 안락하게 해줍니다.

65.6. | 'Warning: Cannot send session cookie - headers already sent...' 나 'Cannot add header information - headers already sent...'같은 메시지를 봤습니다.

header()함수, setcookie()함수, 세션 함수는 헤더에 출력을 합니다. 그러나 헤더는 모든 다른 컨텐트 전에 와야 합니다. 이 함수를 사용하기 전에 어떤 출력(HTML같은)도 있어서는 안됩니다. headers_sent()함수가 스크립트에서 이미 헤더를 보냈는지 체크해줍니다. Output Control Functions도 참고하세요.

65.7. | 요청 헤더값을 직접 확인하고 싶습니다. 어떻게 하면 되죠?

아파치 모듈로 PHP설치하셨다면 getallheaders()함수로 이와 같은 일을 할수 있습니다. 다음과 같은 코드로 요청 헤더의 모든값을 확인하실수 있습니다: <?php
$headers = getallheaders();
foreach ($headers as $name => $content) {
    echo "headers[$name] = $content<br />\n";
}
?>

apache_lookup_uri(),
apache_response_headers(),
fsockopen()함수도 참고하세요.

65.8. | IIS로 인증을 하려합니다. 그런데 'No Input file specified'과 같은 메시지가 출력되는군요.

IIS의 보안 모델은 여기서 결함이 있습니다. 이와같은 결함은 IIS하에서 실행되는 모든 CGI 프로그램에 있어서는 일반적인 현상입니다. 이와같은 에러를 피하는 방법으로는 일반 HTML 파일(PHP에 의해 파싱되지 않음)을 인증이 필요한 디렉토리 안에 엔트리 페이지로 만들어넣는것입니다. 그리고 나서 PHP 페이지로 리디렉트(redirect)하는 META 태그를 사용하거나, PHP 페이지로 링크를 거십시오. 이와같은 현상은 다른 NT 웹서버와는 상관이 없습니다. 더 많은 정보를 위해서 아래 링크로 가세요: » http://support.microsoft.com/kb/q160422/ 과 HTTP Authentication의 매뉴얼 섹션.

65.9. | PHP 스크립트는 IE와 Lynx에서는 동작을 합니다. 그러나 네스케이프에서는 출력의 일부가 사라져버립니다. "소스보기"를 하면 IE에서는 볼수 있지만 네스케이프에서는 볼수없습니다.

네스케이프는 HTML 태그(테이블같은)에 관한한 IE보다 엄격합니다. » validator.w3.org와 같은 HTML validator로 HTML 출력을 검증한다면 무엇이 문제인지 도움을 받을수 있습니다. 예를 들면, </table> 태그가 빠지면 이와같은 문제가 발생할수 있습니다.

또한 IE와 Lynx 모두 HTML 스트림(stream)에서 널문자(\0)를 무시 하지만, 네스케이프는 그렇지 않습니다. 이 널문자를 체크하기위한 최고의 방법은 PHP의 커맨드 라인(command line)버전 (또는 CGI버전으로도 알려져있슴)으로 컴파일해서 그 커맨드라인에서 스크립트를 실행해 보는것입니다. *nix에서 스크립트를 od -c로 파이프(pipe)해서 \0문자가 있는지 찾아보는것입니다. 윈도우상에서는 에디터나 바이너리 파일을 볼수 있는 다른 프로그램이 있어야 합니다. 네스케이프는 파일 안에서 널값을 봤을때 표준적으로 그 라인안의 어떤것도 출력하지 않습니다. 반면에 IE와 Lynx는 출력해줍니다.

65.10. | 어떻게 XML과 PHP를 섞어쓸수 있다고 생각할수 있습니까? <?xml태그에 불만을 터트린단 말입니다!

<?xml태그를 PHP코드안에 직접 넣기 위해서는 short_open_tags PHP 디렉티브 값을 0으로 설정함으로써 짧은 태그(short tags)를 비활성화해야 합니다. ini_set()함수로 이 디렉티브를 설정할수 없습니다. short_open_tags가 on이든 off든 관계없이 다음처럼 할수도 있습니다: <?php echo '<?xml'; ?> 이 디렉티브의 기본값(default)은 on입니다.

65.11. | 이미 짜여진 코드를 옮기기 위해서 FrontPage나 다른 HTML 편집기를 어떻게 사용할수 있습니까?

가장 쉬운 방법은 PHP코드안에서 ASP 태그 사용하기를 활성화시키는 것입니다. 이렇게 하면 <%와 %>의 ASP 스타일 코드 경계기호(delimiter)를 사용할 수 있게해줍니다. 몇몇 유명한 HTML 펴집기는 매우 지능적으로 이런 태그를 다루어줍니다(현재까지는). ASP 스타일 태그를 활성화시키려면 php.ini의 asp_tags를 활성화시키거나, 적절한 아파치 디렉티브(directive)를 사용해야합니다.

65.12. | PHP에서 가용한 모든 변수 목록을 어디서 볼수 있습니까?

미리 정의된 변수에 관한 매뉴얼 페이지를 보십시오. 이 페이지에서는 일부의 미리 정의된 변수 목록이 포함되어있습니다. 모든 변수 목록은 phpinfo()함수를 호출함으로써 확인하실수 있습니다. PHP밖에서 온 변수들의 매뉴얼 섹션을 읽으십시오. 그페이지에서는 HTML폼, 쿠키, URL같은 외부변수에 관한 일반적인 시나리오를 설명해줍니다.

register_globals: 중요 경고: PHP 4.2.0부터 PHP 지시어 register_globals의 기본값은 off이고, PHP 6.0.0에서 완전히 사라집니다. PHP 커뮤니티에서는 이 지시어에 의존하지 않는 superglobals 방식의 사용을 권합니다.

65.13. | 유료이고 상용 라이브러리인 ClibPDF와 PDFLib를 사용하지 않고 어떻게 하면 PDF 파일을 만들수 있습니까? 무료이면서 외부의 PDF 라이브러리가 필요없는 것을 사용하고 싶습니다.

이와같은 상용라이브러리를 대체하기 위해 PHP로 쓰여진것이 있습니다. 다음과 같습니다. » http://www.ros.co.nz/pdf/, » http://www.fpdf.org/, » http://www.gnuvox.com/pdf4php/, and » http://www.potentialtech.com/ppl.php. 이와 더불어 » Panda모듈도 있습니다.

65.14. | 유저 정의 함수에서 표준적인 CGI변수($DOCUMENT_ROOT나 $HTTP_REFERER)중 하나에 접근하여하였습니다. 그런데 그 변수를 찾을수가 없는것처럼 보입니다. 무엇이 잘못된건가요?

PHP 디렉티브 register_globals은 서버와 환경변수에 모두 영향을 미친다는것을 반드시 이해해야 합니다. register_globals = off (PHP 4.2.0버전 이래로 off가 디폴트)일때는 $DOCUMENT_ROOT변수는 존재하지 않을것입니다. 대신에 $_SERVER['DOCUMENT_ROOT']변수를 사용합니다. register_globals = on 이라면 $DOCUMENT_ROOT변수와 $GLOBALS['DOCUMENT_ROOT']변수 모두 존재할것입니다.

분명히 register_globals = on 인데, 함수 내에서 $DOCUMENT_ROOT 변수를 쓸수 없는 이유는 이 변수가 다른 변수와 같은 것이고 함수내에서는 global $DOCUMENT_ROOT와 같이 선언해야 합니다. 이와 더불어 변수 사용 범위 매뉴얼 페이지를 참고하세요. register_globals = off으로 놓는것이 바람직합니다.

자동 전역: 사용상 주의: PHP 4.1.0부터, $_GET, $_POST, $_SERVER 등의 자동 전역 배열을 사용할 수 있습니다. 더 자세한 내용은 매뉴얼 superglobals 섹션을 읽어보십시오.

65.15. | 몇몇 PHP 지시어는 integer 바이트 값뿐이 아닌, 단축 바이트 값도 가질 수 있습니다. 어떠한 단축 바이트 옵션이 존재합니까? 그리고 php.ini 밖에서 사용할 수 있습니까?

사용할 수 있는 옵션은 K(킬로바이트), M(메가바이트)입니다. 대소문자는 구별하지 않습니다. 1M은 1 메가바이트, 즉 1048576 바이트와 동일합니다. 1K은 1 킬로바이트, 즉 1024 바이트와 동일합니다. 이 단축어는 php.ini 밖에서는 사용할 수 없습니다. 대신 바이트의 integer 값을 사용하십시오. 이러한 값을 어떻게 변경하는 지에 대해서는 ini_get() 문서를 참고하십시오.

이전 | 위로 | 다음
64. 빌드(build)시의 문제 | 처음으로 | 66. PHP와 HTML


66장. PHP와 HTML

PHP와 HTML은 많은 연관성을 가지고 있습니다: PHP는 HTML을 생성할 수있고, HTML은 PHP로 정보를 넘겨줄수 있습니다. 이 faq를 읽기전에 PHP로 변수를 가져오는 방법을 아는것이 필요합니다. 이 주제에 관한 매뉴얼 페이지는 많은 예제도 포함되있습니다. register_globals가 무슨 의미인지도 알아야 합니다.

66.1. 폼/URL을 통해서 변수를 넘겨줄때 인코딩(encoding)/디코딩(decoding)이 필요합니까?
66.2. <input type="image">태그를 사용하려 합니다. 그런데 $foo.x과 $foo.y변수를 사용할수 없습니다. $_GET['foo.x']도 존재하지 않습니다. 그것들은 어디 있습니까?
66.3. <form> 안에 어떻게 배열을 만들수 있습니까?
66.4. How do I get all the results from a select multiple HTML tag? 다중 선택 (select multiple) HTML 태그에서 어떻게 모든값을 가져올수 있습니까?
66.5. 어떻게 하면 자바스크립트에서 PHP로 변수를 넘겨줄수있습니까?
66.1. | 폼/URL을 통해서 변수를 넘겨줄때 인코딩(encoding)/디코딩(decoding)이 필요합니까?

어떤 인코딩을 써야 하는지에 대해서 여러 경우가 존재합니다. string $data라는 변수를 사용한다고 가정하면 그리고 그 스트링의 값을 인코딩되는 않는 방식으로 넘겨주길 원하면, 다음과 같은 경우가 있습니다.

  • HTML 해석. 랜덤한 스트링을 지정하려면, 반드시 큰 따옴표로 막아줘야 합니다. 그리고 그 값을 htmlspecialchars()함수로 처리합니다.

  • URL: URL은 여러 부분으로 구성됩니다. 이 값전체를 하나의 항목으로 해석하길 원한다면, 반드시 urlencode()함수로 인코딩해야합니다.

예 66.1. 숨겨진 HTML 폼의 엘리먼트(element)

<?php
    echo "<input type=hidden value=\"" . htmlspecialchars($data) . "\">\n";
?>

참고: $data를 urlencode()함수로 처리하는것은 잘못된것입니다. 왜냐하면 그 데이터를 urlencode() 처리할 책임은 브라우저에 있기 때문입니다. 많이 사용되는 브라우저는 정확하게 이와같은 일을 처리합니다. 이와같은 일은 메소드(method) (즉, GET이나 POST)에 따라 발생한다는것을 명심하세요. GET 요구의 경우에만 이 일을 처리합니다. POST 요구일때는 숨겨지기때문입니다.

예 66.2. 유저에 의해 조장되는 데이터

<?php
    echo "<textarea name=mydata>\n";
    echo htmlspecialchars($data)."\n";
    echo "</textarea>";
?>

참고: 이 데이터는 브라우저에 의해 보여집니다. 왜냐하면 브라우저는 HTML 회피문자(escaped symbol)를 해석할것이기 때문입니다.

폼을 GET이나 POST로 보낼때, 데이터는 전송중에 브라우저에 의해 urlencode되고, PHP에 의해 직접적으로 urldecode될것입니다. 그래서 결국에는 urlencoding/urldecoding할 필요가 없는것입니다. 모든것은 자동적인 처리됩니다.

예 66.3. URL내에서

<?php
    echo "<a href=\"" . htmlspecialchars("/nextpage.php?stage=23&data=" .
        urlencode($data)) . "\">\n";
?>

참고: 사실 HTML GET 요구처럼 보이게 하는것이므로 이 데이터는 urlencode()를 할 필요가 있습니다.

참고: URL은 HTML속성 값으로 만들어지기 때문에 전체 URL을 htmlspecialchars()함수로 처리해야 합니다. 이 경우에 브라우저는 처음에 이 값을 un-htmlspecialchars()로 처리하고나서 URL을 넘겨주게 됩니다. PHP는 URL을 정확하게 이해할것입니다. 왜냐하면 그 데이터를 urlencoded()처리했기 때문입니다.

URL에서 &는 &amp;로 변환이 된다는것을 명심해야 합니다. 이것을 잊었다고 하더라도 대부분의 브라우저는 제대로 처리하겠지만, 항상 그렇지는 않습니다. 그래서 URL이 동적이지 않더라도 URL을 반드시 htmlspecialchars()처리해야 할 것입니다.

66.2. | <input type="image">태그를 사용하려 합니다. 그런데 $foo.x과 $foo.y변수를 사용할수 없습니다. $_GET['foo.x']도 존재하지 않습니다. 그것들은 어디 있습니까?

폼을 보낼때 표준 submit 버튼을 사용하는 대신에 image버튼을 사용할수 있습니다

<input type="image" src="image.gif" name="foo">
유저가 image버튼을 클릭할때, 수행 폼은 추가적인 변수: foo.x와 foo.y을 보낼것입니다.

foo.x와 foo.y변수명은 PHP내에서 유효하지 않은 변수이기 때문에, 자동적으로 foo_x와 foo_y변수명으로 바뀝니다. 즉, 밑줄(underscore)로 변경이 됩니다. 그래서 PHP로 변수를 가져오는 방법에서 설명된것처럼 다른 방법으로 이 변수를 이용할수 있습니다. 예를 들면 $_GET['foo_x']과 같습니다.

66.3. | <form> 안에 어떻게 배열을 만들수 있습니까?

To get your <form> result sent as an array to your PHP script you name the <input>, <select> or <textarea> elements like this: PHP스크립트에 배열을 보내는 <form>을 만들려면 <input>, <select> 또는 <textarea> 엘리먼트를 다음처럼 이름을 붙여봅니다:

<input name="MyArray[]">
<input name="MyArray[]">
<input name="MyArray[]">
<input name="MyArray[]">
변수명의 다음에 대괄호가 있습니다. 그것이 이 변수를 배열로 만들어줍니다. 다른 엘리먼트에 같은 이름을 부여함으로써 그 엘리먼트를 다른 배열로 그룹화할수 있습니다:

<input name="MyArray[]">
<input name="MyArray[]">
<input name="MyOtherArray[]">
<input name="MyOtherArray[]">
이것은 두 배열을 만들어냅니다. MyArray와 MyOtherArray배열은 PHP 스크립트로 보내집니다. 또한 배열에 특정 키값을 지정할수 있습니다:

<input name="AnotherArray[]">
<input name="AnotherArray[]">
<input name="AnotherArray[email]">
<input name="AnotherArray[phone]">
AnotherArray배열은 0, 1의 키와 email과 phone키를 내포하게 됩니다.

참고: 배열의 키는 HTML에서는 추가적인 특성입니다. 키로 지정하지 않으면 배열은 폼에 보여지는 엘리먼트 순서값으로 채워집니다. 첫번째 예제에서는 0, 1, 2, 3이 키값이 됩니다.

배열 함수 PHP로 변수를 가져오는 방법를 참고하세요.

66.4. | How do I get all the results from a select multiple HTML tag? 다중 선택 (select multiple) HTML 태그에서 어떻게 모든값을 가져올수 있습니까?

The select multiple tag in an HTML construct allows users to select multiple items from a list. These items are then passed to the action handler for the form. The problem is that they are all passed with the same widget name. ie. 다중 선택 (select multiple)태그는 리스트 중에서 여러 아이템을 선택할수있게 합니다. 이 아이템들은 폼의 액션 핸들러로 보내집니다. 문제는 그들이 같은 위젯(widget)명으로 전달이 된다는 것입니다.

<select name="var" multiple>
선택된 각 옵션(option)값은 액션 핸들러에 다음처럼 도착합니다:
var=option1
var=option2
var=option3
각 옵션은 $var변수의 이전 값을 덮어쓸것입니다. 해결방법은 PHP의 "폼 엘리먼트의 배열" 특성을 이용하는 것입니다. 다음처럼 사용합니다.

<select name="var[]" multiple>
이것은 PHP가 $var변수를 배열로 취급하고 배열의 각 아이템이 var[]로 지정되도록 합니다. 첫번째 아이템은 $var[0] 다음은 $var[1], 등등이 됩니다. count()함수로 몇개의 옵션이 선택되었는지 알수 있습니다. 필요하다면 sort()함수로 옵션 배열을 정렬할수도 있을것입니다.

자바스크립트에서 각 엘리먼트에[]을 사용하는것은 문제가 발생한다는것을 명심해야 합니다. 대신에 숫자 폼의 ID를 사용하기 바랍니다. 또는 작은 따옴표로 변수명을 싸주십시오 그리고 엘리먼트 배열의 인덱스로 사용합니다. 예를 들면 다음과 같습니다.

variable = documents.forms[0].elements['var[]'];

66.5. | 어떻게 하면 자바스크립트에서 PHP로 변수를 넘겨줄수있습니까?

자바스크립트는 (주로) 클라이언트측 기술이고 PHP는 (주로) 서버측 기술이기 때문에, 그리고 HTTP는 "statless" 프로토콜이기 때문에 두 언어는 직접적으로 변수를 공유하지 못합니다.

하지만, 둘 사이에 변수를 넘겨주는 것은 가능합니다. 이를 수행할수 있는 방법으로는 PHP로 자바스크립트 코드를 생성하는 방법입니다. 그리고 그것을 브라우저가 리프레쉬하도록 하고 PHP스크립트로 특정 변수를 넘겨주게 됩니다. 예를 들면 아래와 같이 이를 수행할수 있습니다. -- PHP코드는 스크린의 높이와 넓이를 보유하도록 해줍니다, 이것은 보통 클라이언트측에서만 가능한것입니다.

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  // output the geometry variables
  echo "Screen width is: ". $_GET['width'] ."<br />\n";
  echo "Screen height is: ". $_GET['height'] ."<br />\n";
} else {
  // pass the geometry variables
  // (preserve the original query string
  //   -- post variables will need to handled differently)

  echo "<script language=\"javascript\">\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
            . "&width=\" + screen.width + \"&height=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>

이전 | 위로 | 다음
65. PHP 사용하기 | 처음으로 | 67. PHP와 COM


67장. PHP와 COM

PHP는 Win32 플랫폼의 COM과 DCOM 객체(object)에 접근할수 있습니다.

67.1. 어떤것을 계산하는 DLL을 빌드했습니다. PHP상에서 이 DLL을 실행시킬수 있는 방법 이 있습니까?
67.2. 'Unsupported variant type: xxxx (0xxxxx)'은 무엇을 의미합니까?
67.3. PHP에서 비주얼한 객체(visual object)를 조작할수 있습니까?
67.4. 세션안에 COM 객체를 저장할 수 있습니까?
67.5. COM 에러를 어떻게 추적할 수 있습니까?
67.6. 펄에서 쓰던 방법으로 PHP 스크립트에서 DLL 파일을 만들수 있습니까?
67.7. 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'의 의미는 무엇입니까?
67.8. 다른 서버(remote server)에서 COM 객체(object)를 어떻게 실행할수 있습니까?
67.9. 'DCOM is disabled in C:\path...\scriptname.php on line 6'라는 메시지를 봤습니다. 어떻게 해야 하나요?
67.10. PHP에서 ActiveX 객체(object)를 부르거나/변경할수 있습니까?
67.11. 특정 컴포넌트에서 실행중인 인스턴스(instance)에 접근 가능합니까?
67.12. COM 객체로부터 받은 이벤트를 제어할 방법이 있습니까?
67.13. 하나 이상의 인터페이스를 갖는 COM 객체의 메소드(method)를 불러 들이려고 하는데 문제에 봉착했습니다. 어떻게 해야 합니까?
67.14. 그래서 PHP와 COM이 작동하는군요. COM+는 어떤가요?
67.15. PHP가 COM 객체를 다룰수있다면, PHP로 컴포넌트 자원을 관리하는 MTS를 쓸수있지 않을까요?
67.1. | 어떤것을 계산하는 DLL을 빌드했습니다. PHP상에서 이 DLL을 실행시킬수 있는 방법 이 있습니까?

간단한 DLL이라도 PHP에서 실행할 방법은 아직 없습니다. 접근가능한 COM서버를 포함하는 DLL이고, IDispatch 인터페이스로 구현되어있다면 가능할수도 있습니다.

67.2. | 'Unsupported variant type: xxxx (0xxxxx)'은 무엇을 의미합니까?

몇가지의 VARIANT 타입과 그 타입간의 조합이 가능합니다. 그들 대부분은 거의 지원이 되고있지만 일부가 아직 구현되어있지 않습니다. 배열은 완전히 지원되지 않습니다. 오직 1차원 배열만이 PHP와 COM사이에서 전달이 가능합니다. 지원되지 않는 다른 타입을 발견했다면 그 타입을 버그 레포트로 알려주기랍니다 (아직 보고되지 않는것들이라면) 그리고 더 자세한 정보도 함께 제공해주십시오.

67.3. | PHP에서 비주얼한 객체(visual object)를 조작할수 있습니까?

가능합니다. 하지만 PHP는 대부분 웹서버의 환경에서 웹 스크립트 언어로서 이용되고 있습니다. 따라서 서버가 비주얼 객체를 보여주지는 않을것입니다. 응용프로그램 스크립트를 위한 PHP(PHP-GTK같은)를 사용한다면 COM을 통해서 비주얼 객체(visual object)에 접근하고 조작하는데 아무 제한이 없습니다.

67.4. | 세션안에 COM 객체를 저장할 수 있습니까?

그건 안됩니다. COM 인스턴스(instance)는 리소스로 취급되므로 오직 단일 스크립트의 컨텍스트(context)에서만 가용한것입니다.

67.5. | COM 에러를 어떻게 추적할 수 있습니까?

현재 PHP 자체에서 제공되는 방법(@, track_errors, ..)으로는 COM 에러를 추적하기는 불가능합니다. 하지만 이것을 구현할 방법을 강구중입니다.

67.6. | 펄에서 쓰던 방법으로 PHP 스크립트에서 DLL 파일을 만들수 있습니까?

만들수 없습니다. 재수없게도 PHP를 위해 그런 툴이 존재하지 않습니다.

67.7. | 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'의 의미는 무엇입니까?

이 에러는 다음과 같은 원인일수 있습니다.

  • CLSID가 잘못되었다
  • 필요한 DLL이 존재하지 않는다
  • 필요한 컴포넌트가 IDispatch 인터페이스로 구현되지 않았다

67.8. | 다른 서버(remote server)에서 COM 객체(object)를 어떻게 실행할수 있습니까?

로컬 객체를 실행시키는것과 완전히 똑같습니다. 단지 COM 생성자(constructor)의 두번째 인자(parameter)에 다른 서버의 IP를 넘겨주면 됩니다.

php.ini파일 내에서 com.allow_dcom=true값을 설정해야 한다는것을 잊지마십시오

67.9. | 'DCOM is disabled in C:\path...\scriptname.php on line 6'라는 메시지를 봤습니다. 어떻게 해야 하나요?

php.ini파일 내에서 com.allow_dcom=true로 설정합니다.

67.10. | PHP에서 ActiveX 객체(object)를 부르거나/변경할수 있습니까?

이것은 PHP에서 할일이 아닙니다. HTML 문서에서 ActiveX 객체가 포함되있으면 클라이언트 단에서 그 코드를 처리하는 것입니다. PHP 스크립트와는 전혀 관련이 없고 따라서 서버단과는 직접적인 관련이 없습니다.

67.11. | 특정 컴포넌트에서 실행중인 인스턴스(instance)에 접근 가능합니까?

모니커(monikers)의 도움으로 가능합니다. 하나의 워드 인스턴스로 다방향 레퍼런스를 얻고 싶다면 다음처럼 그 인스턴스를 만들 수 있습니다.

$word = new COM("C:\docs\word.doc");

위처럼 하면 실행중인 인스턴스가 없을 때에는 새로운 인스턴스를 만들수 있고, 실행중인 인스턴스가 이미 존재하면 그 핸들을 넘겨주게 됩니다.

67.12. | COM 객체로부터 받은 이벤트를 제어할 방법이 있습니까?

PHP 4.3.0을 실행하면, 아래 예제에서 볼수 있듯이 이벤트를 싱크(sink), 연결(bind) 할 수 있도록 정의할 수 있습니다. com_print_typeinfo()함수를 실행함으로써 이벤트 싱크(sink) 클래스에 대한 코드를 만들수 있습니다.

예 67.1. COM event sink example

<?php
class IEEventSinker {
  var $terminated = false;

  function ProgressChange($progress, $progressmax) {
    echo "Download progress: $progress / $progressmax\n";
  }

  function DocumentComplete(&$dom, $url) {
    echo "Document $url complete\n";
  }

  function OnQuit() {
    echo "Quit!\n";
    $this->terminated = true;
  }
}
$ie = new COM("InternetExplorer.Application");
$sink =& new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.php.net");
while(!$sink->terminated) {
  com_message_pump(4000);
}
$ie = null;
?>

67.13. | 하나 이상의 인터페이스를 갖는 COM 객체의 메소드(method)를 불러 들이려고 하는데 문제에 봉착했습니다. 어떻게 해야 합니까?

답은 불만스럽겠지만 간단합니다. 확실치는 않지만 당신은 아무것도 할수없습니다. 어떤사람은 이 문제와 관련된 정보를 가지고 있습니다. » 저에게 알려주시라 :)

67.14. | 그래서 PHP와 COM이 작동하는군요. COM+는 어떤가요?

MTS와 MTMQ를 통해서 컴포넌트를 관리하는 프레임워크가 추가되면서 COM에서 COM+로 발전된것입니다. 그런데 PHP는 그런 컴포넌트를 지원하지 않습니다.

67.15. | PHP가 COM 객체를 다룰수있다면, PHP로 컴포넌트 자원을 관리하는 MTS를 쓸수있지 않을까요?

PHP자체로는 아직 트랜젝션(transaction)을 관리할수 없습니다. 따라서 에러가 발생하더라도 롤백(rollback)으로 초기화되지않습니다. 트랜젝션을 지원하는 컴포넌트를 사용한다면 트랜젝션 관리를 구현해서 써야합니다.

이전 | 위로 | 다음
66. PHP와 HTML | 처음으로 | 68. PHP와 다른 프로그래밍 언어


68장. PHP와 다른 프로그래밍 언어

PHP는 웹프로그래밍을 위한 최고의 프로그래밍 언어입니다. 다른 언어는 어떨까요?

68.1. PHP vs. ASP?
68.2. ASP를 PHP로 변환시켜주는것이 있나요?
68.3. PHP vs. Cold Fusion?
68.4. PHP vs. Perl?
68.1. | PHP vs. ASP?

ASP 그 자체로는 실제로 언어라고 볼수 없습니다. ASP는 Active Server Pages의 약어입니다. ASP를 프로그래밍하기 위해 같이 다루어야 하는 언어가 Visual Basic Script와 JScript입니다. ASP의 최대 단점은 MS의 Internet Information Server (IIS)에서만 사용할수 있다는것입니다. 이 점으로 인해 ASP를 Win32기반 서버로 제한하게 됩니다. 다른 환경이나 웹서버에서 ASP를 작동하게 하는 몇개의 프로젝트가 진행중입니다: » Halcyon의 » InstantASP (상업용), » Chili!Soft의 » Chili!Soft ASP (상업용) ASP는 PHP보다 느리고 성가신 언어이며, 약간은 불안정하기까지 합니다. ASP의 문법(pros)은 그것이 VBScript를 사용하고 있기 때문에 만약에 비주얼 베이직(Visual Basic)을 다룰줄만 안다면 상대적으로 접근하기 쉽습니다. 또한 ASP는 IIS가 ASP를 올리고 실행시킬수 있도록 해놨기 때문에 기본적으로 지원이 됩니다. ASP내에 내장되어있는 컴포넌트는 제한되어있습니다. 그래서 FTP서버와 접속할수있도록하는 고급(advanced)기능을 사용할 필요가 생긴다면 추가적인 컴포넌트를 사야합니다.

68.2. | ASP를 PHP로 변환시켜주는것이 있나요?

네, 서버측의 » asp2php가 가장 많이 쓰이며, » 클라언트측옵션도 있습니다.

68.3. | PHP vs. Cold Fusion?

PHP는 복잡한 프로그래밍 작업과 새로운 아이디어를 시도하는데 가장 빠르며 가장 효율이 높습니다. 그 뿐만 아니라 PHP는 가장 안정적이며 적은 자원만이 필요합니다. 콜드 퓨전(Cold Fusion)은 더 낳은 에러 핸들링, 데이터베이스 추상화는 PHP 4에도 언급된것이긴 하지만, 더 낳은 데이터베이스 추상화(abstraction) 그리고 더 낳은 날짜 파싱이 가능합니다. 콜드 퓨전(Cold Fusion)의 다른 강점 중 하나는 최고의 검색 엔진입니다. 그러나 그 검색엔진은 웹 스크립트 언어에 포함되어 있어야 합니다. PHP는 거의 모든 플래폼에서 실행이됩니다; 콜드 퓨전(Cold Fusion)은 오직 Win32, Solaris, Linux and HP/UX 에서만 사용가능합니다. 콜드 퓨전은 좋은 IDE를 가졌고 보통 시작하기가 쉽습니다, 반면에 PHP는 초기에 더 많은 프로그래밍 지식이 요구됩니다. 콜드 퓨전은 프로그래머가 아닌사람들을 위해 설계되었지만, PHP는 프로그래머에게 초점을 맞췄습니다.

이 주제에 관해 Michael J Sheldon이 정리한 글이 PHP 메일링리스트에 게제되었습니다. » http://marc.theaimsgroup.com/?l=php-general&m=95602167412542&w=1를 보세요.

68.4. | PHP vs. Perl?

Perl에 비해 PHP의 가장 큰 장접은 웹을 위한 스크립트로 설계되었다는것입니다. 반명에 Perl은 더 많은 일을 할수 있도록 설계되었고 이로 인해 매우 복잡하게 되었습니다. Perl의 유연성/복잡성은 코드를 쓰기 쉽게 했지만 다른 저작자/코더가 읽기에는 어렵게 했습니다. PHP는 복잡성을 잃지않으면서 덜 헷까리고 덜 엄격한 포맷을 갖고 있습니다. Perl의 '좋은' 기능을 모두 갖고 있습니다: 컨스트럭트(construct), 문법 등등. 이는 Perl처럼 복잡하게 함이 없이 가능합니다. Perl은 많은 노력이 필요한 언어이기 때문에 80년대 말부터 지금까지 발전한것입니다. 그러나 PHP는 엄청난 속도로 성장하고 있습니다.

이전 | 위로 | 다음
67. PHP와 COM | 처음으로 | 69. PHP 2 에서 PHP 3로 마이그레이션 하기


69장. PHP 2 에서 PHP 3로 마이그레이션 하기

PHP는 오랜 기간동안 발전되어 왔다: 전설적인 PHP 1.0, PHP/FI, PHP 3.0 and PHP 4.0.

69.1. PHP 2 에서 PHP 3로 마이그레이션 하기?
69.1. | PHP 2 에서 PHP 3로 마이그레이션 하기?
 | PHP/FI 2.0 더 이상 지원되지 않는다. PHP/FI 2.0에서 마이그레이션 하는 것에 대한 정보는 적합한 매뉴얼을 참조하라. 아직 PHP 2 를 사용중이라면 강력하게 PHP 4로 바로 업그레이드 할것을 권한다.
이전 | 위로 | 다음
68. PHP와 다른 프로그래밍 언어 | 처음으로 | 70. PHP 3에서 PHP 4로의 마이그레이션


70장. PHP 3에서 PHP 4로의 마이그레이션

PHP는 그 뒤에 긴 역사를 가지고 있습니다 : 전설적인 PHP 1.0, PHP/FI와 PHP 3.0 와 PHP 4.0.

70.1. PHP3에서 PHP4로의 마이그레이션
70.2. PHP 3에서 세션이 작동합니까?
70.3. 호환되지 않는 기능은?
70.1. | PHP3에서 PHP4로의 마이그레이션
 | PHP 4는 가능하면 PHP의 이전버전과 호환되도록 설계되었고 프로세스에서 거의 기능상의 문제를 발생시키지 않습니다. 테스트 환경에서 PHP 4를 설치해야하여 호환성에 대해서 확실할수 없다면 거기에서 스크립트를 실행시켜보십시오. 이 매뉴얼의 appropriate migration appendix도 참고하세요.
70.2. | PHP 3에서 세션이 작동합니까?
 | PHP 3에서 고유한 세션 지원이 되지않더라도 써드파티(third-party) 응용프로그램이 이와같은 세션 기능을 제공합니다. 가장 대중화된 방법은 » PHPLIB을 이용하는것입니다.
70.3. | 호환되지 않는 기능은?
 | PHP 4는 기본적으로 전체 PHP 엔진을 재작성했기 때문에 변경된 기능이 거의 없고 단지 전에 없던 것들 몇가지만 존재합니다.
이전 | 위로 | 다음
69. PHP 2 에서 PHP 3로 마이그레이션 하기 | 처음으로 | 71. Migrating from PHP 4 to PHP 5


71장. Migrating from PHP 4 to PHP 5

This faq section will help you migrate from PHP 4 to PHP 5.

71.1. Migrating from PHP 4 to PHP 5
71.2. Does MySQL work in PHP 5? It seemed to have disappeared.
71.3. I hear PHP 5 has an entirely new OOP model, will my existing OOP code work? Where do I find information on these new OOP features?
71.4. So besides the new OOP model, what else has changed in PHP 5? Also, is there a PHP 5 specific version of the PHP manual?
71.1. | Migrating from PHP 4 to PHP 5

Although PHP 5 offers many new features, it's designed to be as compatible with earlier versions of PHP as possible with little functionality being broken in the process.

Be sure to read the appropriate PHP 5 migration appendix of this manual as it contains even more information on the topic of migrating to PHP 5.

71.2. | Does MySQL work in PHP 5? It seemed to have disappeared.

MySQL is supported with the only change being that MySQL support is no longer enabled by default in PHP 5. This essentially means that PHP doesn't include the --with-mysql option in the configure line so that you must now manually do this when compiling PHP. Windows users will edit php.ini and enable the php_mysql.dll DLL as in PHP 4 no such DLL existed, it was simply built into your Windows PHP binaries.

Also, the MySQL client libraries are no longer bundled with PHP. More details on this topic are covered in the following FAQ and be sure to read the MySQL section for details on installing MySQL. An example configure line would be --with-mysql=/usr while Windows users will need the libmySQL.dll available to the system.

71.3. | I hear PHP 5 has an entirely new OOP model, will my existing OOP code work? Where do I find information on these new OOP features?

The main change in PHP 5 is to the OOP model as PHP 5 now uses the Zend Engine 2.0. The zend.ze1_compatibility_mode directive enables compatability with the Zend Engine 1.0 (PHP 4).

The new OOP model is documented in the OOP language reference and OOP migration appendix sections.

71.4. | So besides the new OOP model, what else has changed in PHP 5? Also, is there a PHP 5 specific version of the PHP manual?

Few other changes exist, see the migration 5 appendix for details. There won't be a PHP 5 specific version of the manual as the bulk of PHP remains the same.

이전 | 위로 | 다음
70. PHP 3에서 PHP 4로의 마이그레이션 | 처음으로 | 72. Miscellaneous Questions


72장. Miscellaneous Questions

There can be some questions we can't put into other categories. Here you can find them.

72.1. How can I handle the bz2 compressed manuals on Windows?
72.2. What does & beside argument mean in function declaration of e.g. asort()?
72.3. How do I deal with register_globals?
72.1. | How can I handle the bz2 compressed manuals on Windows?

If you don't have an archiver-tool to handle bz2 files » download the command line tool from Redhat (please find further information below).

If you would not like to use a command line tool, you can try free tools like » Stuffit Expander, » UltimateZip, » 7-Zip, or » Quick Zip. If you have tools like » WinRAR or » Power Archiver, you can easily decompress the bz2 files with it. If you use Total Commander (formerly Windows Commander), a bz2 plugin for that program is available freely from the » Total Commander site.

The bzip2 command line tool from Redhat:

Win2k Sp2 users grab the latest version 1.0.2, all other Windows user should grab version 1.00. After downloading rename the executable to bzip2.exe. For convenience put it into a directory in your path, e.g. C:\Windows where C represents your Windows installation drive.

Note: lang stands for your language and x for the desired format, e.g.: pdf. To uncompress the php_manual_lang.x.bz2 follow these simple instructions:

  • open a command prompt window
  • cd to the folder where you stored the downloaded php_manual_lang.x.bz2
  • invoke bzip2 -d php_manual_lang.x.bz2, extracting php_manual_lang.x in the same folder

In case you downloaded the php_manual_lang.tar.bz2 with many html-files in it, the procedure is the same. The only difference is that you got a file php_manual_lang.tar. The tar format is known to be treated with most common archivers on Windows like e.g. » WinZip.

72.2. | What does & beside argument mean in function declaration of e.g. asort()?

It means that the argument is passed by reference and the function will likely modify it corresponding to the documentation. You can pass only variables this way and you don't need to pass them with & in function call (it's even deprecated).

72.3. | How do I deal with register_globals?

For information about the security implications of register_globals, read the security chapter on Using register_globals.

It's preferred to use superglobals, rather than relying upon register_globals being on.

If you are on a shared host with register_globals turned off and need to use some legacy applications, which require this option to be turned on, or you are on some hosting server, where this feature is turned on, but you would like to eliminate security risks, you might need to emulate the opposite setting with PHP. It is always a good idea to first ask if it would be possible to change the option somehow in PHP's configuration, but if it is not possible, then you can use these compatibility snippets.

예 72.1. Emulating Register Globals

This will emulate register_globals On. If you altered your variables_order directive, consider changing the $superglobals accordingly.

<?php
// Emulate register_globals on
if (!ini_get('register_globals')) {
    $superglobals = array($_SERVER, $_ENV,
        $_FILES, $_COOKIE, $_POST, $_GET);
    if (isset($_SESSION)) {
        array_unshift($superglobals, $_SESSION);
    }
    foreach ($superglobals as $superglobal) {
        extract($superglobal, EXTR_SKIP);
    }
}
?>

This will emulate register_globals Off. Keep in mind, that this code should be called at the very beginning of your script, or after session_start() if you use it to start your session.

<?php
// Emulate register_globals off
function unregister_GLOBALS()
{
    if (!ini_get('register_globals')) {
        return;
    }

    // Might want to change this perhaps to a nicer error
    if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
        die('GLOBALS overwrite attempt detected');
    }

    // Variables that shouldn't be unset
    $noUnset = array('GLOBALS',  '_GET',
                     '_POST',    '_COOKIE',
                     '_REQUEST', '_SERVER',
                     '_ENV',     '_FILES');

    $input = array_merge($_GET,    $_POST,
                         $_COOKIE, $_SERVER,
                         $_ENV,    $_FILES,
                         isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());

    foreach ($input as $k => $v) {
        if (!in_array($k, $noUnset) && isset($GLOBALS[$k])) {
            unset($GLOBALS[$k]);
        }
    }
}

unregister_GLOBALS();

?>

이전 | 위로 | 다음
71. Migrating from PHP 4 to PHP 5 | 처음으로 | IX. Appendices


부록 A. PHP와 PHP 관련 프로젝트의 역사

차례

PHP의 역사
PHP 관련 프로젝트의 역사
PHP 관련 서적
PHP에 관한 출판물

PHP는 최근 몇년간 출세가도를 달려왔다. 웹을 강화하는 가장 부각되는 언어중 하나로 성장하는 것은 쉬운 일이 아니었다. 오늘날 PHP가 어떻게 성장했는지에 대해 간단히 보고자 한다면, 계속 읽어나가자. 구버전의 PHP는 » PHP Museum에서 확인할수있다.

PHP의 역사

PHP/FI

PHP는 PHP/FI라는 이름의 오래된 소프트웨어를 계승했다. PHP/FI는 1995년에 Rasmus Lerdorf에 의해 만들어졌다. 그의 온라인 이력서의 접속수를 추적하기 위한 단순한 펄 스크립트 구성물로 시작되었다. 그는 그 스트립트 구성물을 'Personal Home Page Tools'라고 명명했다. 좀더 많은 기능이 요구됨에 따라, Rasmus는 좀 더 많은 C 구현물을 작성했다. 이 구현물은 데이터베이스와 의사소통을 하고, 유저가 단순한 동적 웹 애플리케이션을 작성할수 있게 하였다. Rasmus는 모든 사람이 볼수 있도록 PHP/FI의 소스 코드를 » release하기로 결정했다. 그래서 모든 사람이 그것을 사용하고, 버그를 고칠수 있을뿐만 아니라 코드를 향상시킬수 있었다.

PHP/FI, Personal Home Page / Forms Interpreter의 약어, 는 오늘날 우리가 알고있는것처럼 PHP의 기본적인 기능의 일부를 포함하고 있다. 그것은 펄과 비슷하게 생긴 변수, 폼 변수의 자동 해석과 HTML 내장 문법을 갖고 있었다. 그 문법 자체는 좀더 제한적이고, 단순하고 약간은 일관성이 떨어지기는 하지만 펄과 비슷했다.

1997년까지, PHP/FI 2.0, C로 쓰여진 두번째 구현물,은 전세계에서 수천 사용자의 숭배자를 갖게 된다(추정치). 그리고 대략 50,000의 도메인에서 설치되었던것으로 보고되었고, 이수치는 인터넷 모든 도메인의 약 1%에 해당된다. 이 프로젝트에 많은 코드를 공헌한 몇명의 사람이 있었지만, 아직은 대체로 한사람의 프로젝트였다.

PHP/FI 2.0은 그 삶의 대부분을 베타 릴리즈로 보낸 이후, 1997년 11월에만 공식적으로 릴리즈되었다. 그후 얼마안되어 PHP 3.0의 첫번째 알파버전에 의해 계승되었다.

PHP 3

PHP 3.0은 오늘날 알려진 PHP와 매우 가깝게 닮아있는 첫번째 버전이었다. 그것은 1997년 Andi Gutmans 와 Zeev Suraski에 의해 의해 완전히 재작성되어 만들어졌다. 그들이 대학 프로젝트 수행시 이커머스(eCommerce) 응용프로그램을 개발하기 위해 기능이 떨어지는 PHP/FI 2.0을 발견한것이 계기가 되었다. PHP/FI의 기존 사용자 기반위에서 협력하고 개발을 시작할 의도를 가지고, Andi, Rasmus, Zeev는 PHP/FI 2.0의 공식적인 계승자로서 PHP 3.0을 발표하였고, PHP/FI 2.0의 개발을 대부분 중단하게 되었다.

PHP 3.0의 가장 큰 강점중의 하나는 강력한 확장 기능이었다. 엔드유저에게 다양한 데이터베이스접근를 위한 견고한 인프라구조, 여러가지 프로토콜과 API를 제공해주었고, 이런 PHP 3.0의 확장 기능은 수십명의 개발자가 개발에 참여하도록 유도했고, 그들은 새로운 확장 모듈을 개발해주었다. 확실하게, 이런 특징이 PHP 3.0의 엄청난 성공의 열쇠였다. PHP 3.0으로 유도하는 다른 핵심 기능이 객체 지향 문법 지원과 좀더 파워풀하고 일관성있는 언어 문법이었다.

모든 새로운 언어는 새로운 이름하에 릴리즈되었다. PHP/FI 2.0이라는 이름이 내포하는 제한된 개인 사용 목적에 대한 연루성을 제거하고, 그 이름을 'PHP'로 명명하였다. 이 단어는 PHP: Hypertext Preprocessor 의 재귀적 약어이다.

1998년 말까지, PHP는 수만명의 사용자가 설치(추정치)하였고 수십만의 웹사이트에 설치되었다고 보고되었다. 이런 급성장에서, PHP 3.0은 인터넷상의 웹서버중 거의 10%가 설치되었다.

PHP 3.0은 1998년 6월에 공식적으로 릴리즈되었다. 공개적인 테스트 이후 약 9개월만이었다.

PHP 4

1998년 겨울까지, PHP 3.0이 공식적으로 릴리즈된후 얼마안되어서, Andi Gutmans 와 Zeev Suraski는 PHP의 코어를 재작성하는 작업을 시작했다. 설계 목적은 복잡한 응용프로그램의 퍼포먼스를 향상시키고, PHP의 코드 베이스의 모듈화를 향상시키는것이었다. 그런 응용프로그램은 PHP 3.0의 새로운 기능과 다양하고 광범위한 서드파티 데이터베이스와 API의 지원으로 가능하게 되었다. 그러나, PHP 3.0은 그런 복잡한 응용 프로그램을 효율적으로 제어하도록 설계되지는 않았었다.

새로운 엔진, 'Zend Engine'로 명명됨(그들 Zeev와 Andi의 이름으로 구성됨), 은 이런 설계 목적에 성공적으로 부합하였다. 그리고 1999년 중반 처음으로 소개되었다. 이 엔진에 기반하였고, 광범위한 새 추가 기능과 같이 동작하는 PHP 4.0은 2000년 5월에 공식적으로 릴리즈되었다. 전임자인 PHP 3.0이 나온지 거의 2년만이다. 이 버전의 크게 향상된 퍼포먼스 뿐만아니라, PHP 4.0은 다른 핵심 기능도 제공하고 있다. 여러가지 웹서버에 대한 지원, HTTP 세션, 출력 버퍼링, 보안이 강화된 유저 입력 제어, 몇가지 새로운 언어 구조이다.

PHP 4는 현재까지 가장 마지막으로 릴리즈된 PHP 버전이다. PHP 5.0을 위해 설계된 기능을 구체화시키기 위해서 젠드 엔진을 변경하고 향상시키는 작업이 이미 시작되었다.

현재, PHP는 수십만명의 개발자들에 의해서 사용되고있고(추정치), 수백만 사이트에 설치되어있다고 보고되었다. 이 수치는 인터넷상에서 20% 이상의 도메인수가 된다.

PHP 개발팀은 수십명의 개발자들을 포함하고, 그외에 PEAR, 문서 프로젝트와 같은 PHP 관련 프로젝트에서 수십명이 참여 중이다.

PHP 5

PHP의 미래는 주로 그 코어, 젠드 엔진에 의해 운영된다. PHP 5는 새로운 젠드 엔진 2.0을 포함할것이다. 이 엔진에 대한 더 자세한 정보를 원한다면, » 이 웹페이지를 참고한다.

이전 | 위로 | 다음
IX. Appendices | 처음으로 | PHP 관련 프로젝트의 역사


PHP 관련 프로젝트의 역사

PEAR

PEAR, PHP Extension 과 Application Repository (원래, PHP Extension 과 Add-on Repository)는 PHP의 기초 클래스 버전이다. 앞으로 개발자들 사이에서 PHP와 C기반 PHP확장 모두를 제공하는 핵심 수단의 하나로 성장할 것이다.

PEAR는 Tel Aviv에서 2000년 1월에 개최된 PHP Developers' Meeting (PDM) 의 논의를 거쳐 탄생하게 되었다. Stig S. Bakken가 만들었고, 그의 첫번째 딸인 Malin Bakken에게 헌정되었다.

2000 초기 이래로, PEAR는 거대하고, 중요한 프로젝트로 성장하였고, 수많은 개발자들이 공통된, 재사용가능한 기능을 전체 PHP 커뮤니티의 이익을 위해 개발하고 있다. 오늘날 PEAR는 데이터베이스 접속, 컨텐츠 캐슁, 수학적 계산, 이커머스(eCommerce) 등등을 위한 광범위한 인프라구조 기초 클래스를 포함한다.

PHP 품질 보증 발의

PHP 품질 보증 발의(PHP Quality Assurance Initiative)는 2000년 여름에 PHP 릴리즈가 제조 환경을 위해 충분히 테스트되지 않는다는 토론에 대응하여 설치되었다. 이 팀은 PHP 코드 베이스의 충분한 이해를 갖고있는 핵심 개발 그룹으로 구성되었다. 이 개발자들은 PHP를 지역화하고 PHP 내의 버그를 고치는데 그들 대부분의 시간을 보낸다. 추가로 다양한 플랫폼을 사용하여 이런 버그 수리에 대하여 많은 다른 팀 멤버도 피드백을 제공중이다.

PHP-GTK

PHP-GTK는 클라이언트측 GUI 응용프로그램을 작성하기 위한 PHP 솔루션이다. Andrei Zmievski는 PHP-GTK를 계획하고 창조한 과정을 다음과 같이 회고한다:

GUI 프로그래밍은 내가 항상 관심을 갖어왔었고, C안에서 이 언어로 프로그램하는것은 조금은 지루하지만 Gtk+가 가장 좋은 툴킷이라는것을 발견하였다. PyGtk 과 GTK-Perl 구현을 관찰한 후에, 나는 PHP가 최소한 Gtk+와 인터페이스되어 만들어질수 있는지 확인하기로 결정했다. 2000년 8월에 시작하여서, 실험을 시작할수 있는 때가 되도록 좀더 많은 자유 시간을 갖기 시작했다. 나의 주요 정책은 PyGtk 구현이었는데 그것은 기능적으로 충분히 완벽하게 동작하게 하고 적절한 객체 지향 인터페이스를 갖는것이었다. James Henstridge,파이썬의 저자, 는 이 초기 단계에서 매우 도움이 되는 조언을 제공해주었다.

모든 Gtk+ 함수의 인터페이스를 손으로 쓰는것은 문제가 있었다. PyGtk가 동작하는 방식과 비슷하게 동작하도록 만들기 위해 나는 코드 생성기에 대한 아이디어에 골몰하게 되었고, 이 코드 생성기는 Gtk+ 클래스, 상수, 메소드 정보를 포함하는 .defs 파일 구성체를 읽어들이고 그들과 같이 PHP와 인터페이스화하는 C 코드를 생성하는 PHP 프로그램이다. 자동적으로 생성될수 없는 것은 손으로 .overrides 파일을 작성하였다.

코드 생성기와 인프라구조의 작업은 약간의 시간이 걸렸다. 왜냐하면, 나는 2000년 가을에 PHP-GTK에 거의 시간을 쓸수 없었기 때문이다. Frank Kromann에게 PHP-GTK를 보여준 후, 그는 흥미을 보였고 코드 생성기 작업과 윈32 구현에 대해 나를 도와주기 시작했다. 우리가 처음으로 Hello World 프로그램을 작성하고 그 프로그램을 시작으로 극도로 흥분하게 되었다. 소개용 환경의 프로젝트를 마치는데 약 두달이 걸렸고 2001년 3월 1일에 첫번째 버전을 릴리즈했다. 이 이야기는 SlashDot에서 바로 히트하게 되었다.

PHP-GTK가 확장될수 있을거라는 생각으로, 나는 그것에 관한 별도의 메일링리스트와 CVS 저장소를 설치한다. 또한 Colin Viebrock의 도움으로 gtk.php.net 웹사이트도 만들게 된다. 문서화도 또한 필요했고 James Moore는 이 작업에 도움을 주었다.

릴리즈되고 나서 PHP-GTK는 유행하게 되었다. 우리는 문서화 팀을 구성했고 이 매뉴얼은 계속 향상되고 있다.그래서 사람들은 PHP-GTK의 확장을 쓰기 시작했고 더 많은 흥미로운 응용프로그램을 작성하게 되었다.

이전 | 위로 | 다음
A. PHP와 PHP 관련 프로젝트의 역사 | 처음으로 | PHP 관련 서적


PHP 관련 서적

PHP가 성장함에 따라, 그것은 전세계적으로 유행하는 개발 플랫폼으로 인식되기 시작했다. 이런 추세를 확인하는 가장 재미있는 방법이 몇년동안 나온 PHP 관련 서적을 찾아보는것이다.

우리가 알기로는, PHP에 관련된 최초의 서적은 'PHP - tvorba interaktivn?ch internetov?ch aplikac?' - 1999년 4월에 체코에서 출판된 책이다, Jirka Kosek가 저자이다. 다음해에 Egon Schmid, Christian Cartus, and Richard Blume 가 저술한 독일 서적이 출판되었다. PHP에 관한 최초의 영문 서적은 그후 얼마 안되어서 Leon Atkinson에 의해 저술된 'Core PHP Programming' 이었는데, 이 책 모두 PHP 3.0을 다루고 있다.

이런 책들이 PHP 관련의 최초 서적이었고, 다수의 저자와 출판인들에 의해 수많은 책들이 출판되었다. 영어로는 40권이상, 독일어로는 50권 이상, 프랑스어로는 20권 이상이다! 추가로, 다른 많은 언어의 PHP 관련서적을 발견할수 있다. 스페인어, 한국어, 일본어, 이스라엘어가 포함된다.

확실히, 이렇게 수많은 책들, 다양한 저자에 의해 저술되고, 많은 출판인들에 의해 출판되고, 매우 많은 언어로 쓰여졌다는것은 PHP의 전세계적인 성공에 대한 강력한 반증이다.

이전 | 위로 | 다음
PHP 관련 프로젝트의 역사 | 처음으로 | PHP에 관한 출판물


PHP에 관한 출판물

우리가 아는한, 잡지에서 PHP에 관한 최초의 기사는 1998년 봄의 Computerworld 체코 판에 출판되었다. 이 기사는 PHP 3.0을 다루고 있다. 이 기사는 많은 유명 잡지중에서 PHP 관련 시리즈물의 최초기사였다.

PHP에 관한 기사는 Dr. Dobbs, Linux Enterprise, Linux Magazine 등등에서 보이게 되었고, ASP기반 응용 프로그램을 윈도우의 PHP로 마이그레이션하는 기사는 마이크로소프트의 MSDN에도 보인다!

이전 | 위로 | 다음
PHP 관련 서적 | 처음으로 | B. Migrating from PHP 5.1.x to PHP 5.2.x


부록 D. PHP 4에서 PHP 5로 이행

차례

PHP 5에서 바뀐 것들
이전 버전과 호환하지 않는 변경점
CLI와 CGI
설정 파일 이행
새로운 함수들
새로운 지시어
데이터베이스
새로운 객체 모델

PHP 5에서 바뀐 것들

PHP 5와 내장된 젠드 엔진 2는 PHP의 성능과 능력을 대폭 향상하면서, 기존의 코드를 가능한 그대로 사용할 수 있게 주의를 하였습니다. 그리하여, PHP 4의 코드를 PHP 5로 옮기는 일은 매우 쉽습니다. 기존 PHP 4 코드의 대부분은 아무런 변경 없이 실행할 수 있지만, 몇몇 차이점에 대해서 알고, 실제 환경에 적용할 때는 미리 테스트를 해 보아야 합니다.

이전 | 위로 | 다음
Checking for E_STRICT | 처음으로 | 이전 버전과 호환하지 않는 변경점


이전 버전과 호환하지 않는 변경점

기존 PHP 4 코드의 대부분은 변경 없이 작동하지만, 다음의 비호환 변경점에 주의를 해야 합니다:

  • strrpos()와 strripos()가 전체 문자열을 needle로 사용합니다.
  • 문자열 오프셋의 비정상적인 사용은 E_WARNING 대신 E_ERROR를 발생합니다.
  • array_merge()가 배열만을 받아들이게 변경되었습니다. 배열이 아닌 값을 넘기면, 그러한 인수마다 E_WARNING을 발생합니다. 코드가 갑작스레 E_WARNING를 표시하기 시작할 수 있으므로 주의하십시오.
  • 더이상 Apahce2 SAPI에서 PATH_TRANSLATED 서버 변수를 자동으로 설정하지 않습니다. PHP 4에서는 아파치가 생성하지 않았을 때, SCRIPT_FILENAME 서버 변수와 동일하게 설정했었습니다. 이 변경은 » CGI 규격에 따르기 위한 점입니다. 자세한 정보는 » 버그 #23610를 참고하십시오.
  • Tokenizer 확장은 더 이상 T_ML_CONSTANT 상수를 정의하지 않습니다. error_reporting을 E_ALL로 설정하면, PHP가 주의문을 생성합니다. T_ML_CONSTANT는 사용되지 않았지만, PHP 4에서 정의되어 있었습니다. PHP 4와 PHP 5 둘 다, T_COMMENT 상수가 //와 /* */를 모두 인식합니다. 그러나 PHP 5에서 도입한, PHP가 처리하는 PHPDoc 스타일 주석 /** */은, T_DOC_COMMENT로 인식합니다.
  • variables_order가 "S"를 포함하고 있으면, $_SERVER는 argc와 argv를 가져야 합니다. 시스템이 $_SERVER를 생성하지 않게 설정하였다면, 물론 존재하지 않아야 합니다. 변경 후에는 variables_order 설정에 관계 없이, CLI 버전에서 argc와 argv를 사용할 수 있게 만듭니다. 또한, CLI 버전은 항상 전역의 $argc와 $argv도 가집게 되었습니다.
  • 프로퍼티가 없는 객체를 더 이상 "빈" 것으로 판단하지 않습니다.
  • 클래스는 사용하기 전에 정의해야 합니다.

예 D.1. strrpos()와 strripos()가 전체 문자열을 needle로 사용합니다.

<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)

var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>

예 D.2. 프로퍼티가 없는 객체를 더 이상 "빈" 것으로 판단하지 않습니다.

<?php
class test { }
$t = new test();

var_dump(empty($t)); // echo bool(false)

if (!$t) {
    // 이 부분이 실행됩니다.
}
?>

다음 예제는 PHP 4에서는 유효하지만, PHP 5에서는 치명적인 오류를 생성합니다.

예 D.3. 클래스는 사용하기 전에 정의해야 합니다.

<?php
$test = new fubar();
$test->barfu();

class fubar {
    function barfu() {
        echo 'fubar';
    }
}
?>

이전 | 위로 | 다음
D. PHP 4에서 PHP 5로 이행 | 처음으로 | CLI와 CGI


CLI와 CGI

PHP 5에서 CLI와 CGI 파일명이 변경되었습니다. PHP 5에서, CGI 버전은 php-cgi.exe로 변경되었고 (이전에는 php.exe) CLI 버전이 주 디렉토리에 위치합니다. (이전에는 cli/php.exe)

PHP 5에서, 새로운 모드가 존재합니다: php-win.exe. 이는 CLI 버전과 동일하지만, php-win은 아무것도 출력하지 않으며, 그렇기에 콘솔을 생성하지 않습니다. ("도스창"이 화면에 나타나지 않습니다) 이는 php-gtk와 비슷합니다.

PHP 5에서, CLI 버전은 항상 전역의 $argv와 $argc 변수를 가집니다.

이전 | 위로 | 다음
이전 버전과 호환하지 않는 변경점 | 처음으로 | 설정 파일 이행


설정 파일 이행

ISAPI 모듈들의 이름이 php4xxx에서 php5xxx로 바뀌었기에, 설정 파일에 약간의 변경이 필요합니다. 또한 CLI와 CGI 파일명도 바뀌었으며, 이에 대한 자세한 내용은 해당 섹션을 참고하십시오.

아파치 설정 파일을 이행하는 것은 매우 쉽습니다. 아래의 예제를 보고 필요한 변경을 하십시오:

# 이 줄을:
LoadModule php4_module /php/sapi/php4apache2.dll

# 이렇게 변경합니다:
LoadModule php5_module /php/php5apache2.dll

웹서버가 PHP를 CGI 모드로 실행한다면, CGI 버전의 이름이 php.exe에서 php-cgi.exe로 바뀐 점에 주의해야 합니다. 아파치에서는 다음과 같이 해야 합니다:

# 이 줄을:
Action application/x-httpd-php "/php/php.exe"

# 이렇게 변경합니다:
Action application/x-httpd-php "/php/php-cgi.exe"

다른 웹서버에서도 CGI나 ISAPI 모듈의 파일명을 변경해야 합니다.

이전 | 위로 | 다음
CLI와 CGI | 처음으로 | 새로운 함수들


새로운 함수들

PHP 5에서 새로운 함수가 추가되었습니다. 그 목록입니다:

배열:

  • array_combine() - 하나의 배열을 키로, 하나의 배열을 값으로 가지는 배열을 생성합니다.
  • array_diff_uassoc() - 사용자가 제공하는 콜백 함수를 통한 추가적인 인덱스 확인을 포함하여 배열의 차이를 계산합니다.
  • array_udiff() - 데이터 비교에 콜백 함수를 사용하여 배열의 차이를 계산합니다.
  • array_udiff_assoc() - 추가적인 인덱스 확인을 통한 배열의 차이를 계산합니다. 데이터 비교는 콜백 함수를 사용합니다.
  • array_udiff_uassoc() - 추가적인 인덱스 확인을 통한 배열의 차이를 계산합니다. 데이터 비교는 콜백 함수를 사용합니다. 인덱스 확인도 콜백 함수를 사용합니다.
  • array_walk_recursive() - 배열의 모든 원소에 사용자 함수를 적용합니다.

인터베이스:

  • ibase_affected_rows() - 이전의 질의에 영향을 받은 열의 수를 반환합니다.
  • ibase_backup() - 서비스 관리자에 백업 작업을 실행시키고, 바로 돌아옵니다.
  • ibase_commit_ret() - 트랜젝션을 열어둔 채로 작업을 기록합니다.
  • ibase_db_info() - 데이터베이스에 관한 통계를 요청합니다.
  • ibase_drop_db() - 데이터베이스를 지웁니다.
  • ibase_errcode() - 오류 코드를 반환합니다.
  • ibase_free_event_handler() - 등록되어 있는 이벤트 핸들러를 취소합니다.
  • ibase_gen_id() - Named generator를 증가하고 새로운 값을 반환합니다.
  • ibase_maintain_db() - 데이터베이스 서버에 관리 명령을 실행합니다.
  • ibase_name_result() - 이름을 결과셋에 할당합니다.
  • ibase_num_params() - 준비한 질의문의 인자 수를 반환합니다.
  • ibase_param_info() - 준비한 질의문의 인자에 대한 정보를 반환합니다.
  • ibase_restore() - 서비스 관리자에 복구 작업을 실행시키고, 바로 돌아옵니다.
  • ibase_rollback_ret() - 트랜젝션 내용은 유지한 채로 작업을 되돌립니다.
  • ibase_server_info() - 데이터베이스에 관한 통계를 요청합니다.
  • ibase_service_attach() - 서비스 관리자에 접속합니다.
  • ibase_service_detach() - 서비스 관리자 연결을 끊습니다.
  • ibase_set_event_handler() - 이벤트가 발생했을 때 호출할 콜백 함수를 등록합니다.
  • ibase_wait_event() - 데이터베이스에 의해 이벤트가 발생하기를 기다립니다.

iconv:

  • iconv_mime_decode() - MIME 헤더 필드를 디코드합니다.
  • iconv_mime_decode_headers() - 복수의 MIME 헤더 필드를 한번에 디코드합니다.
  • iconv_mime_encode() - MIME 헤더 필드를 작성합니다.
  • iconv_strlen() - 문자열의 문자 수를 반환합니다.
  • iconv_strpos() - haystack에서 needle이 처음으로 나타나는 위치를 찾습니다.
  • iconv_strrpos() - haystack에 지정한 범위에서 needle이 마지막으로 나타나는 위치를 찾습니다.
  • iconv_substr() - 문자열의 부분을 잘라냅니다.

스트림:

  • stream_copy_to_stream() - 한 스트림의 데이터를 다른 스트림으로 복제합니다.
  • stream_get_line() - 스트림 자원에서 주어진 구분자로 나타나는 열을 얻습니다.
  • stream_socket_accept() - stream_socket_server()로 생성한 소켓에 연결을 받아들입니다.
  • stream_socket_client() - 인터넷이나 유닉스 도메인 소켓 연결을 엽니다.
  • stream_socket_get_name() - 로컬이나 원격 소켓의 이름을 얻습니다.
  • stream_socket_recvfrom() - 연결 여부에 관계 없이, 소켓에서 데이터를 받습니다.
  • stream_socket_sendto() - 연결 여부에 관계 없이, 소켓에 메세지를 보냅니다.
  • stream_socket_server() - 인터넷이나 유닉스 도메인 소켓을 생성합니다.

기타:

  • convert_uudecode() - uuencode된 문자열을 디코드합니다.
  • convert_uuencode() - 문자열을 uuencode합니다.
  • curl_copy_handle() - 모든 속성과 함께 cURL 핸들을 복제합니다.
  • dba_key_split() - 문자열 표현에서 배열 표현으로 키를 분리합니다.
  • dbase_get_header_info() - dBase 데이터베이스의 헤더 정보를 얻습니다.
  • dbx_fetch_row() - DBX_RESULT_UNBUFFERED 플래그를 설정한 질의 결과에서 열을 가져옵니다.
  • fbsql_set_password() - 주어진 사용자의 암호를 변경합니다.
  • file_put_contents() - 문자열을 파일로 씁니다.
  • ftp_alloc() - 업로드할 파일의 공간을 할당합니다.
  • get_declared_interfaces() - 정의된 모든 인터페이스를 배열로 반환합니다.
  • get_headers() - HTTP 요청의 응답으로 서버가 보낸 모든 헤더를 가져옵니다.
  • headers_list() - 보내진 (혹은 보내질) 응답 해더의 목록을 반환합니다.
  • http_build_query() - URL-encode한 쿼리 문자열을 생성합니다.
  • idate() - 로컬 날짜/시간을 정수로 형식화합니다.
  • image_type_to_extension() -
getimagesize(),
exif_read_data(),
exif_thumbnail(),
exif_imagetype() 가 반환한 그림 형식으로 파일
확장자를 얻습니다.
  • imagefilter() - 사용자 각도를 사용하여 그림에 필터를 적용합니다.
  • imap_getacl() - 주어진 편지함을 위한 ACL을 얻습니다.
  • ldap_sasl_bind() - SASL을 사용하여 LDAP 디렉토리에 바인드합니다.
  • mb_list_encodings() - 지원하는 모든 인코딩을 배열로 반환합니다.
  • pcntl_getpriority() - 어떠한 프로세스의 우선권을 얻습니다.
  • pcntl_wait() - waitpid() 시스템 호출에 따라서 자식 프로세스의 상태를 얻거나 기다립니다.
  • pg_version() - 클라이언트, 프로토콜, (가능할 경우) 서버의 버전을 배열로 반환합니다.
  • php_check_syntax() - 지정한 파일의 문법을 확인합니다.
  • php_strip_whitespace() - 주석과 공백을 제거한 소스를 반환합니다.
  • proc_nice() - 현재 프로세스의 우선권을 변경합니다.
  • pspell_config_data_dir() - 언어 데이터 파일의 위치를 변경합니다.
  • pspell_config_dict_dir() - 주 단어 목록의 위치를 변경합니다.
  • setrawcookie() - 값을 url 인코딩 하지 않은 쿠키를 전송합니다.
  • snmp_read_mib() - MIB 파일을 읽어서 활성 MIB 트리에 넣습니다.
  • sqlite_fetch_column_types() - 특정 테이블의 컬럼형을 배열로 반환합니다.
  • str_split() - 문자열으로 배열로 변환합니다.
  • strpbrk() - 문자 집합의 어떠한 문자를 문자열에서 찾습니다.
  • substr_compare() - 이진 호환의 특정 위치에서 길이만큼 두 분자열을 비교합니다. 옵션으로 대소문자 구분을 하지 않을 수 있습니다.
  • time_nanosleep() - 나노초 단위로 지연합니다.

참고: Tidy 확장도 API가 완전히 바뀌었습니다.

이전 | 위로 | 다음
설정 파일 이행 | 처음으로 | 새로운 지시어


새로운 지시어

PHP 5는 몇몇 새로운 php.ini 지시어를 가집니다. 그 목록입니다:

  • mail.force_extra_paramaters - 지정한 인수를 센드메일 바이너리에 추가적인 인수로 전달하도록 강제합니다. 이 인수는 항상 mail()의 다섯번째 인수를 교체합니다. 안전 모드에서도 동작합니다.
  • register_long_arrays - 배제된 긴 형태의 $HTTP_*_VARS를 PHP가 등록할지를 지정합니다.
  • session.hash_function - 해쉬 함수를 선택합니다. (MD5나 SHA-1)
  • session.hash_bits_per_character - 바이너리 해쉬 데이터를 읽을 수 있는 형태로 변환 할 때, 각 문자당 몇 비트를 저장할지 지정합니다 (4에서 6)
  • zend.ze1_compatibility_mode - 젠드 엔진 1 (PHP 4) 호환 모드를 활성화합니다.
이전 | 위로 | 다음
새로운 함수들 | 처음으로 | 데이터베이스


데이터베이스

PHP 5에서 데이터베이스에 관한 변경이 있습니다. (MySQL과 SQLite)

PHP 5에서, 라이센스 문제 등으로 인해 MySQL 클라이언트 라이브러리를 포함하지 않습니다. 자세한 정보는 FAQ 내용을 읽어보십시오.

또한, MySQL 4.1 이상에서 작동하도록 설계된 새로운 확장 모듈, MySQLi (향상된 MySQL)이 추가되었습니다.

PHP 5부터, SQLite 확장 모듈이 PHP에 포함됩니다. SQLite는 임베디드 SQL 데이터베이스 엔진으로, (MySQL이나 PostgreSQL처럼) 커다란 데이터베이스 서버에 접속하기 위한 클라이언트 라이브러리가 아닙니다. SQLite 라이브러리는 디스크의 데이터베이스 파일을 직접 읽고 씁니다.

이전 | 위로 | 다음
새로운 지시어 | 처음으로 | 새로운 객체 모델


새로운 객체 모델

PHP 5에서 새로운 객체 모델이 존재합니다. PHP의 객체 조작은 완전히 새로 쓰여졌으며, 더 나은 성능과 많은 기능을 허용합니다. 자세한 정보는 » http://www.php.net/zend-engine-2.php를 읽어보십시오.

이전 | 위로 | 다음
데이터베이스 | 처음으로 | E. PHP 3 에서 PHP 4로 이주


부록 E. PHP 3 에서 PHP 4로 이주

차례

PHP 4에서 바뀐것
PHP 3와 PHP 4를 동시에 작동시키기
설정파일 이주하기
해석기(Parser) 동작
에러 보고
초기화
empty("0")
사라진 함수들
PHP 3 확장
Variable substitution in strings
쿠키
전역 변수 다루기

PHP 4에서 바뀐것

PHP 4 와 젠드 엔진은 PHP의 성능과 기능을 크게 향상시켰다. 그러면서도 기존의 코드가 잘 작동할수 있도록 하기위해 주의를 많이 기울였다. PHP 3에서 4로 이주하는 것은 PHP/FI 2에서 PHP 3로 이주하는 것보다는 훨씬 쉽다. 기존의 많은 PHP 3 코드를 변경없이 동작시킬수 있다. 그러나 아직은 약간의 차이를 알아야 하고, 개발 환경에서 버전을 전환하기 전에 코드를 테스트하는데 주의를 기울여야 한다. 다음글은 무엇에 주의해야 하는지에 대한 몇가지 힌트를 보여줄것이다.

이전 | 위로 | 다음
새로운 객체 모델 | 처음으로 | PHP 3와 PHP 4를 동시에 작동시키기


PHP 3와 PHP 4를 동시에 작동시키기

최근 운영 체제는 버전관리(versioning)와 영역관리(scoping) 기능을 제공한다. 이런 기능은 PHP 3와 PHP 3가 아파치 서버에서 동시에 동작하는 모듈로 운영될수 있게 해준다.

이 기능은 다음의 플랫폼에서 작동하는것으로 알려져있다:

  • 최신판의 binutils를 갖는 리눅스 (binutils 2.9.1.0.25가 테스트됨)
  • Solaris 2.5 이상
  • FreeBSD (3.2, 4.0 에서 테스트됨)

이 기능을 활성화시키려면, APXS(--with-apxs)와 필수 링크 확장(--enable-versioning)을 사용하여 PHP3와 PHP4를 설정한다. 그렇지 않으면, 모든 표준 설치 명령이 적용된다. 예를 들면:

$ ./configure \
  --with-apxs=/apache/bin/apxs \
  --enable-versioning \
  --with-mysql \
  --enable-track-vars

이전 | 위로 | 다음
E. PHP 3 에서 PHP 4로 이주 | 처음으로 | 설정파일 이주하기


설정파일 이주하기

전역 설정 파일, php3.ini, 는 php.ini로 이름이 변경되었다.

아파치 설정 파일에서는 약간의 변화가 생겼다. PHP 모듈에 의해 인식되는 MIME 타입이 변경되었다.

application/x-httpd-php3        -->    application/x-httpd-php
application/x-httpd-php3-source -->    application/x-httpd-php-source

두가지 버전의 PHP와 함께 작동하는 설정 파일을 만들수 있다(서버에 현재 결합되어있는 버전에 따라). 다음과 같은 문법을 사용한다.

AddType  application/x-httpd-php3        .php3
AddType  application/x-httpd-php3-source .php3s

AddType  application/x-httpd-php         .php
AddType  application/x-httpd-php-source  .phps

추가로, 아파치에 대한 PHP 디렉티브 이름도 변경되었다.

PHP 4.0부터는, 4가지의 아파치 디렉티브만이 PHP와 관련되어있다.

php_value [PHP directive name] [value]
php_flag [PHP directive name] [On|Off]
php_admin_value [PHP directive name] [value]
php_admin_flag [PHP directive name] [On|Off]

There are two differences between the Admin values and the non admin values: admin이 있는 디렉티브 값과 admin이 없는 값 사이에는 두가지 차이가 있다:

  • Admin 값(또는 플래그)는 서버-전반에 영향을 미치는 아파치 설정파일(e.g., httpd.conf)에만 존재한다.
  • 일반 값(또는 플래그)는 일부 PHP 디렉티브를 제어할수 없다. 예를 들면: 안전 모드 ( .htaccess에서 안전모드(safe mode) 설정을 덮어쓴다면, 안전 모드의 목적에 어긋나게 할것이다) . 이와 대조적으로, Admin 값은 모든 PHP 디렉티브의 값을 변경할수 있다.

변경 처리를 좀더 쉽게 하기 위해, PHP 4에서는 PHP 3와 PHP 4가 함께 동작하는 아파치 설정과 .htaccess 파일을 자동으로 변환해주는 스크립트를 함께 제공한다. 이 스크립트는 mime타입 라인을 변경하지 않는다! 이 부분은 직접 변환해야 한다.

아파치 설정 파일을 변경하기 위해서는, apconf-conv.sh 스크립트 (scripts/apache/ 디렉토리에 위치함)를 실행한다. 예를 들면:

~/php4/scripts/apache:#  ./apconf-conv.sh /usr/local/apache/conf/httpd.conf

원래 설정 파일은 httpd.conf.orig로 저장될것이다.

.htaccess 파일을 변환하기 위해서는, aphtaccess-conv.sh 스크립트 (scripts/apache/ 디렉토리에도 위치)를 실행한다:

~/php4/scripts/apache:#  find / -name .htaccess -exec ./aphtaccess-conv.sh {} \;

이것도 구버전의 .htaccess 파일을 .orig 어미가 붙어 저장할것이다.

변환 스크립트가 작동하기 위해서는 awk가 설치되어있어야 한다.

이전 | 위로 | 다음
PHP 3와 PHP 4를 동시에 작동시키기 | 처음으로 | 해석기(Parser) 동작


해석기(Parser) 동작

해석과 실행은 현재 두 단계로 완전히 따로 분리되어있다. 파일 코드의 실행은 그 파일전체와 그 파일이 필요로 하는 모든 것들이 성공적으로 해석되고나서야 비로소 이루어진다.

이런 분리를 위해 새로이 필요하게 된것 중 하나는 require와 include된 파일이 문법적으로 완벽해야 한다는 것이다. 이제 더이상 여러 파일간에 제어 구조의 서로 다른 제어 부분을 나눌수 없다. 어떤 파일 안에서 for나 while루프, if 구문이나 switch 블록으로 시작하거나 또 다른 파일 안에서 else, endif, case 나 break구문을 갖을수 없다.

루프나 다른 제어 구조안에서 추가코드를 include하는 것은 아직은 완전히 유효하다. 단, 제어 핵심어와 닫힌 중괄호 {...} 는 동일한 통합 유닛(파일이나 eval()이 적용된 문자열)안에 있어야 한다.

이와 같은 분리된 코드는 어쨋든 매우 나쁜 스타일이긴 하지만 크게 해를 끼치지는 않을것이다.

더이상 유효하지 않은 또다른 특징은 PHP 3 코드에서는 거의 보이지는 않지만 require된 파일로부터 리턴받는 값이다. include된 파일로부터 값을 리턴받는것은 아직까지는 유효하다.

이전 | 위로 | 다음
설정파일 이주하기 | 처음으로 | 에러 보고


에러 보고

변경된 설정

PHP 3에서 에러 보고 레벨은 단순하게 숫자값으로 설정되었다. 이런 숫자값은 다른 에러 레벨과 관련된 숫자를 합쳐서 구성된다. 이용가능한 값중에 15는 모든 에러를 보고하고 7은 나쁜 스타일에 대한것과 이와 비슷한 것들을 보고하는 단순한 경고메시지를 제외한 모든 것을 보고하는데 사용된다.

PHP 4는 에러/경고 레벨을 다량 보유하고 있고 이는 의도된 동작을 위한 설정에 사용되는 심볼릭 상수를 허용하는 설정 해석기로 인해 추가되었다.

현재의 에러 보고 레벨은 심볼릭 상수 E_ALL에서 원하지 않는 경고 레벨값을 x-or 연산을 수행하여 에러 메시지를 생성시키고 싶지 않은 경고 레벨을 명시적으로 제거하도록 설정해야 한다. 복잡해 보이는가? 자, 에러 보고시스템에게 심볼릭 상수 E_NOTICE로 분류되어있는 단순한 스타일 경고를 제외한 모든것을 보고하도록 해보자. php.ini에 다음 설정을 넣어야 할것이다: error_reporting = E_ALL & ~ ( E_NOTICE ). 이진수를 사용하거나 연산자 '|'를 사용하여 괄호 안에 적절한 상수를 추가함으로써 다른 경고도 감출수 있다: error_reporting= E_ALL & ~ ( E_NOTICE | E_WARNING).

주의

PHP 3에서 PHP 4로 코드나 서버를 업그레이드할때 이 설정을 체크해야 하고 error_reporting()를 호출하거나 새로운 에러 타입인 E_COMPILE_ERROR로 에러 보고를 비활성화시킬수 있다. 이 기능은 무슨일이 일어났고 문제가 발생한 장소가 어디인지에 대한 피드백 없이 비어있는 문서를 보여줄것이다.

주의

에러 보고를 설정하기 위해 구버전의 7과 15 값을 사용하는 것은 좋은 생각이 아니다. 왜냐하면 이 값들은 해석 에러를 포함한 새로 추가된 에러의 일부도 보이지 않게 하기 때문이다. 이 값들은 매우 이상한 동작으로 유도할수 있는데 스크립트가 모든 장소에서 에러 메시지를 보이며 작동할것이다.

과거에 잘못 설정된 에러 보고 시스템 때문에 require된 파일 안에 '}' 같은 것을 빠뜨렸을 경우를 TRUE로 보고 해석기가 보고하지 않아서 추적할수 없었던 스크립트 엔진의 문제점이 보고되었는데, 이것은 이런 버그 레포트가 더이상 생기지 않도록 해주었다.

그래서 에러 보고 설정을 체크하는것은 스크립트를 조용하게 die시킬때 우선적으로 해야할 일이다. 젠드 엔진은 현재 이런 종류의 이상한 동작을 발생시키지 않을만큼 충분히 성숙돼 있다고 판단된다.

추가된 경고 메시지

기존의 많은 PHP 3 코드는 좋지 않은 스타일의 언어 구조를 사용하였다. 이 코드는 다른 장소의 코드 변화에 의해 쉽게 파괴될수 있다. PHP 4는 그런 상황에서 PHP 3에서 하지않았던 많은 경고 메시지를 출력할것이다. 이런 경고메시지를 고치려면 단지 E_NOTICE 메시지를 꺼놓아도 되지만, 대신 그 코드를 고치는것이 더 좋은 생각이다.

현재 경고메시지를 발생할수 있는 가장 일반적인 경우가 따옴표로 둘러싸지않고 문자열 상수를 배열의 인덱스로 사용하는 것이다. PHP 3와 PHP 4 모두 이것이 그 이름으로 선언된 상수나 키워드가 아니면 문자열로 해석하게 될것이다. 그러나 그 코드이외의 곳에서 그 이름을 갖는 상수가 선언되기만 하면 그 스크립트를 제대로 작동할수 없게 할수 있다. 그 스크립트에서 침입자에게 주어서는 안될 권한을 줄수 있게 하는 방법으로 침입자가 문자열 상수를 재선언할수만 있다면 보안적인 위험이 될수도 있다. 그래서 PHP 4는 현재 따옴표로 둘러싸지 않은 문자열 상수를 사용할때마다 경고를 하게 될것이다. $_SERVER[REQUEST_METHOD]와 같은 예를 들수 있다. 이것을 $_SERVER['REQUEST_METHOD']으로 변경하면 해석기도 편해지고 스타일과 보안을 크게 향상시킬것이다.

PHP 4가 경고 할 수 있는 다른 것이 초기화되지 않은 변수나 배열 구성요소의 사용이다.

이전 | 위로 | 다음
해석기(Parser) 동작 | 처음으로 | 초기화


초기화

static 변수와 클래스 멤버 초기화는 오직 스칼라 값만을 허용한다. 반면에 PHP 3에서는 모든 유효 표현식이 허용된다. 이것은 ,다시 한번 말하지만, 해석과 실행이 분리되었기 때문이다. 즉 해석기가 생성자를 볼때는 아직 아무 코드도 실행되어 있지 않은 상태에 있다.

클래스에서는 멤버 변수를 초기화하기 위해 생성자를 사용해야 한다. 단순한 static 값을 제외한 모든 static 변수는 이것과는 거의 상관이 없다.

이전 | 위로 | 다음
에러 보고 | 처음으로 | empty("0")


사라진 함수들

PHP 4는 수많은 새로운 기능, 함수, 확장과 함께 릴리즈되었다. 그러나 버전 3에서 제공되던 함수가 몇개 빠졌다는것을 발견할수 있다. 소량의 핵심 함수는 그 함수들이 젠드가 4로 제공하는 해석과 실행을 분리하는 새로운 구조때문에 사라지게 되었다. 다른 함수와 완벽한 확장까지도 새로운 함수와 확장이 같은 작업을 더 잘수행하고 그리고/또는 좀더 일반화된 방식으로 수행되기 때문에 쓸모없게 되었다. 몇개의 함수들은 단순히 아직 포팅되지 않았고 마지막으로 몇개의 함수와 확장은 라이센스 때문에 사라질수도 있게 되었다.

구조적 변화때문에 사라진 함수들

현재 PHP 4는 실행과 해석을 분리했기 때문에 이미 해석기(젠드 엔진에 내장됨)에 의해 해석이 끝나고 나서 런타임시에는 해석기에 의해 동작을 변경할수 없다. 그래서 함수 short_tags()은 더이상 존재하지 않는다. 그러나 아직은 php.ini 파일에 적절한 값을 설정함으로써 해석기의 동작을 변경할수 있다.

PHP 4의 일부가 아니지만 PHP 3의 또다른 기능은 같이 제공된 디버깅 인터페이스이다. 같은 기능을 추가한 젠드 엔진용의 서드파티 애드온이 존재한다.

지원되지 않는 함수와 확장

Adabas 와 Solid 데이터베이스 확장은 더이상 지원되지 않는다. 대신 단일화된 ODBC 확장이 살아 남았다.

unset()을 위한 변경 상태

unset(), 아직 지원되지만, 함수로서보다는 언어 구조로서 구현되었다.

unset()의 동작에 대해 어떤 영향도 받지 않는다. function_exists()을 사용하여 "unset"을 테스트하면 FALSE를 리턴할것이다. echo()함수처럼 언어 구조로서의 역할을 담당한다.

좀더 실질적인 변화는 간접적으로 unset()을 호출할수 없다는 것이다. 즉, $func="unset"; $func($somevar)은 더이상 동작하지 않을것이다.

이전 | 위로 | 다음
empty("0") | 처음으로 | PHP 3 확장


PHP 3 확장

PHP 3를 위해 씌여진 확장은 PHP 4에서 작동하지 않을것이다. 이진파일도 안되고 소스 레벨도 되지 않는다. 원 소스를 접근할수 있다면 PHP 4로 확장을 포팅하는것은 어렵지 않다. 실제 포팅 방법에 대한 상세한 설명은 이 매뉴얼에는 존재하지 않는다.

이전 | 위로 | 다음
사라진 함수들 | 처음으로 | Variable substitution in strings


Variable substitution in strings

PHP 4는 문자열의 가변 치환이라는 새로운 메카니즘을 추가시켰다. 그래서 문자열 안에서 객체 멤버 변수와 다차원 배열의 구성요소에 접근할수 있다.

그렇게 하기 위해서는 달러사인이 바로 뒤에 붙고 중괄호로 막아놓은 변수를 사용해야 한다. 다음과 같은 형태의 중괄호: {$...}

문자열 안에 객체 멤버 변수의 값을 내장시키기 위해서는 간단히 "text {$obj->member} text"이라고 쓰면 된다. PHP 3에서는 "text ".$obj->member." text"와 같은 형태로 사용해야 했다.

이런 형태는 좀더 읽기 좋은 코드로 유도되어야 한다. PHP 3를 위해 쓰여진 기존의 스크립트를 동작시키지 않을수도 있기 때문이다. 그러나 이런 종류의 문제는 코드내에서 {$ 문자 조합을 체크함으로서 간단하게 확인될수 있다. 그리고 선호하는 검색-변경 툴을 사용하여 \{$으로 대체하면 된다.

이전 | 위로 | 다음
PHP 3 확장 | 처음으로 | 쿠키


쿠키

PHP 3는 코드내에서 setcookie() 호출은 반대방향으로 쿠키를 설정하는 좋지 않은 방식을 사용한다. PHP 4는 이런 방식에 의해 동작하지 않는다. 코드에서 쿠키를 설정하는 순대대로 정확하게 쿠키 헤더 줄을 만든다.

이런 동작은 몇몇 기존 코드를 파괴할수 있다. 그러나 구버전의 동작은 매우 이상해서 앞으로의 더 큰 문제를 차단하기 위해 변경할 필요가 있는지 이해할수 없다.

이전 | 위로 | 다음
Variable substitution in strings | 처음으로 | 전역 변수 다루기


전역 변수 다루기

PHP 3와 초기 PHP 4버전에서는 전역 변수를 좀 더 쉽게 다룰수 있지만 약점이 될수 있기 때문에 좀더 안전하게 바뀌었다. PHP 3에서 다음 예제 코드는 잘 작동하지만, PHP 4에서는 unset($GLOBALS["id"]);을 해야 한다. 이 이슈는 단지 전역 변수를 다루는 데만 한정된다. PHP 4의 최신 버전에서는 항상 $GLOBALS를 사용해야 하고 대부분의 경우에 그렇게 해야 할것이다. global 레퍼런스 섹션에서 이 주제에 대한 더 많은 정보를 볼수 있다.

예 E.1. 전역변수의 이주

<?php
$id = 1;
function test()
{
    global $id;
    unset($id);
}
test();
echo($id); // This will print out 1 in PHP 4
?>

이전 | 위로 | 다음
쿠키 | 처음으로 | F. PHP/FI 2 에서 PHP 3로 이주하기


부록 F. PHP/FI 2 에서 PHP 3로 이주하기

차례

3.0의 비호환성
old_function
Start/end tags
if..endif 문법
while 문법
표현식 타입
변경된 에러 메시지
짧은-순환 논리 비교
함수 TRUE/FALSE 리턴 값
다른 비호환성

3.0의 비호환성

PHP 3.0은 밑바닥부터 다시 작성되었다. 이 버전은 2.0보다 튼튼하고 견고한 해석기를 갖고 있다. 3.0은 또한 속도가 매우 빠르고 메모리를 거의 사용하지 않는다. 그러나, 이런 기능향상을 위해서는 문법과 기능 모두에 대해서 호환성을 위한 변경이 필요하다.

추가로, PHP 개발자는 PHP 3.0의 문법과 의미변화 모두에 대해 완벽하게 이해하도록 노력해야 한다. 이 두가지도 비호환성을 일으킬수 있다. 긴 안목으로 보면, 이런 변화들로 인해 더욱 낳아질거라고 확신한다.

이 챕터는 PHP/FI 2.0에서 PHP 3.0으로 이주할때 빠질수도 있는 비호환성에 대해서 설명하고 그 문제들을 해결하도록 도와주려고 한다. 새로운 기능은 필요치않으면 여기서 언급하지 않는다.

구버전의 PHP/FI 2.0스크립트를 자동으로 변환하는 프로그램이 제공된다. 그 프로그램은 PHP 3.0 배포판의 하위디렉토리인 convertor에서 찾을수 있다. 이 프로그램은 문법적인 변화만 변경할 뿐이기 때문에, 어쨋든 이 챕터를 주의깊게 읽어야 할것이다.

이전 | 위로 | 다음
전역 변수 다루기 | 처음으로 | old_function


Start/end tags

주의해야할 첫번째 사실은 PHP의 시작과 끝 태그가 변경되었다는 것이다. 구버전의 <? > 형태는 세가지 사용가능한 새 형태로 변경되었다:

예 F.1. 이주: 구버전의 시작/끝 태그

<? echo "This is PHP/FI 2.0 code.\n"; ?>

버전 2.0의 PHP/FI는 이런 변종도 지원한다:

예 F.2. 이주: 첫번째 새로운 시작/끝 태그

<? echo "This is PHP 3.0 code!\n"; ?>

끝 태그는 현재 단순히 보다-크다(>) 문자대신에 물음표와 보다-크다(>) 문자로 구성되어있다. 하지만, 서버에 XML을 사용할 계획이라면, 첫번째 새로운 변종으로는 문제가 발생할것이다. 왜냐하면 PHP는 XML 문서에 XML 마크업을 PHP 코드로 실행하려 할수 있기 때문이다. 이와 같은 이유로, 다음 변종이 제공된다:

예 F.3. 이주: 두번째 새로운 시작/끝 태그

<?php echo "This is PHP 3.0 code!\n"; ?>

일부사람들은 이런 태그를 처리명령 태그로 전혀 이해할수 없는 에디터를 사용하기 때문에 문제가 발생한다. 마이크로소프트 프론트페이지는 그런 에디터 중 하나이고, 이런 문제를 피하는 방법으로서 다음과 같은 변종도 함께 제공된다:

예 F.4. 이주: 세번째 새로운 시작/끝 태그

<script language="php">

  echo "This is PHP 3.0 code!\n";

</script>

이전 | 위로 | 다음
old_function | 처음으로 | if..endif 문법


if..endif 문법

if/elseif/else 구문을 작성하는 '부차적인' 방법인, if(); elseif(); else; endif; 는 3.0 해석기의 거대한 복잡성을 추가하지 않고는 효과적으로 구현될수 없다. 이런 이유때문에, 문법이 변경되었다:

예 F.5. 이주: 구버전의 if..endif 문법

if ($foo);
    echo "yep\n";
elseif ($bar);
    echo "almost\n";
else;
    echo "nope\n";
endif;

예 F.6. 이주: 새로운 if..endif 문법

if ($foo):
    echo "yep\n";
elseif ($bar):
    echo "almost\n";
else:
    echo "nope\n";
endif;

구문을 종료하는 하나(endif)를 제외하고 구문 전체에서 세미콜론이 콜론으로 변경되었다는것에 주의한다.

이전 | 위로 | 다음
Start/end tags | 처음으로 | while 문법


while 문법

if..endif 와 비슷하게, while..endwhile 문법도 변경되었다:

예 F.7. 이주: 구버전의 while..endwhile 문법

while ($more_to_come);
    ...
endwhile;

예 F.8. 이주: 새로운 while..endwhile 문법

while ($more_to_come):
    ...
endwhile;

주의

PHP 3.0에서 구버전의 while..endwhile 문법을 사용한다면, 루프를 결코 끝낼수 없을것이다.

이전 | 위로 | 다음
if..endif 문법 | 처음으로 | 표현식 타입


표현식 타입

PHP/FI 2.0은 결과값이 무슨 타입이 되어야 할지 결정하기 위해 표현식의 좌변을 사용한다. PHP 3.0은 결과 타입을 결정하는데 양변 모두를 취할 수 있다. 그리고 이런 형태는 2.0 스크립트가 3.0에서 기대하는대로 동작하지 않게 할수 있다.

다음 예제 코드를 보자:

$a[0]=5;
$a[1]=7;

$key = key($a);
while ("" != $key) {
    echo "$keyn";
    next($a);
}
PHP/FI 2.0에서, 이 예제코드는 $a의 인덱스를 출력할것이다. PHP 3.0에서는 아무것도 출력되지 않을것이다. 그 이유는 PHP 2.0 안에서 좌측 인자의 타입이 문자열이고, 문자열 비교가 수행되고, ""는 "0"과 같지 않아서 루프를 계속 돌기 때문이다. PHP 3.0에서는, 문자열이 정수와 비교될때, 정수 비교가 수행된다(문자열은 정수로 변환됨). 0이 되는 atoi("")와 비교되는데 variablelist도 0이 있어서, 0==0이기 때문에, 루프는 한번도 수행되지 않는다.

이것에 대한 변경은 간단하다. 다음과 같은 while 구문으로 변경한다:

while ((string)$key != "") {

이전 | 위로 | 다음
while 문법 | 처음으로 | 변경된 에러 메시지


변경된 에러 메시지

PHP 3.0의 에러 메시지는 대체로 2.0보다는 정확하다. 그러나 에러를 일으키는 코드 파편을 더이상 볼수 없다. 대신에, 에러가 발생하는 파일명과 라인 번호가 제공될 것이다.

이전 | 위로 | 다음
표현식 타입 | 처음으로 | 짧은-순환 논리 비교


짧은-순환 논리 비교

PHP 3.0의 논리 비교는 짧은-순환이다. 이 말은 의미는 (1 || test_me())와 같은 표현식에서, test_me() 함수는 1다음의 표현식이 결과값을 변경하지 않기 때문에 수행되지 않을것이다.

이것은 미세한 호환성 문제이지만, 기대치 않는 사이드-이펙트를 발생시킬것이다.

이전 | 위로 | 다음
변경된 에러 메시지 | 처음으로 | 함수 TRUE/FALSE 리턴 값


다른 비호환성

  • PHP 3.0의 아파치 모듈은 더이상 아파치 1.2 이전 버전을 지원하지 않는다. 아파치 1.2 이후 버전이 필요하다.
  • echo()는 더이상 포맷화된 문자열을 지원하지 않는다. 대신 printf() 함수를 사용하도록 한다.
  • PHP/FI 2.0에서, 구현상의 사이드-이펙트는 $foo와 같은 결과를 내기 위해서 $foo[0]를 사용한다. 이런 구현은 PHP 3.0에서는 사용되지 않는다.

  • $array[]로 배열을 읽는것은 더이상 지원되지 않는다.

    즉, $data = $array[]를 수행하는 루프를 통해서 배열을 돌아다닐수는 없다. 대신 current()와 next()를 사용한다.

    $array1[] = $array2는 $array1에 $array2값을 추가하지 않는다. 그러나 $array1의 마지막 구성요소로서 $array2을 추가한다. 다차원 배열 지원에 대한 것도 참고할것.

  • "+"는 그 인자를 숫자로 변환하고 숫자 덧셈을 수행하는 것 외의 문자열의 결합 연산자로 더이상 오버로드되지 않는다. 대신 "."을 사용하자.

예 F.11. 2.0으로부터의 이주: 문자열의 결합

echo "1" + "1";

    PHP 2.0에서 이 코드는 11을 echo하지만, PHP 3.0에서는
    대신 2를 echo한다:

echo "1"."1";

$a = 1;
$b = 1;
echo $a + $b;

    이 코드는 PHP 2.0과 3.0 모두 2를 echo한다.

$a = 1;
$b = 1;
echo $a.$b;

    이 코드는 PHP 3.0에서 11을 echo한다.

이전 | 위로 | 다음
함수 TRUE/FALSE 리턴 값 | 처음으로 | G. PHP 디버깅하기


부록 G. PHP 디버깅하기

차례

디버거에 관하여
디버거 사용하기
디버거 프로토콜

디버거에 관하여

PHP 3는 네트워크-기반의 디버거가 지원된다.

PHP 4는 내장된 디버깅 기능을 갖지 않는다. 대신 외부 디버거 중 하나를 이용할수 있다. » Zend IDE는 디버거를 내장하고 있고, » http://dd.cron.ru/dbg/에서 DBG같은 몇가지 무료 디버거 확장을 볼수 있다. » Advanced PHP Debugger (APD) 나 » Xdebug는 이 섹션에서 설명하는 PHP 3의 디버깅 기능과 같은 디버거 인터페이스 호환성을 갖는다.

이전 | 위로 | 다음
다른 비호환성 | 처음으로 | 디버거 사용하기


디버거 사용하기

PHP 3의 내장 디버거는 파악하기 어려운 버그를 추적하는데 사용할수있다. 디버거는 PHP 3가 시작하는 모든 시간 동안 TCP 포트를 통한 접속에 의해 작동한다. 각 요구로부터 발생하는 모든 에러 메시지는 이 TCP 접속으로 수신될것이다. IDE나 프로그램용 에디터 (Emacs같은)안에서 실행되는 "디버깅 서버"에 대한 정보가 여기서 설명된다.

디버거를 설정하는 방법:

  1. configuration file에서 디버거를 위한 TCP 포트를 설정하고 (debugger.port), 활성화시킨다 (debugger.enabled).
  2. 그 포트에 TCP 리스너를 설정한다 (예를 들면 유닉스에서는 socket -l -s 1400).
  3. 코드에서, "debugger_on(host)"를 실행한다. 여기서 host는 IP 숫자나 TCP 리스너가 실행되고 있는 호스트의 이름이다.
이제부터는 모든 경고, 주의 등의 메시지가 그 리스너 소켓에서 보이게된다. 심지어 error_reporting()으로 활성화시키지 않아도 그렇게 된다.

이전 | 위로 | 다음
G. PHP 디버깅하기 | 처음으로 | 디버거 프로토콜


디버거 프로토콜

PHP 3 디버거 프로토콜은 줄-단위다. 각 줄은 각각 type을 갖고, 몇개의 줄이 message를 구성한다. 각 메시지는 start 타입의 줄로 시작되고 end 타입의 줄로 종료된다. PHP 3는 동시에 서로 다른 메시지 줄을 보낼수 있다.

각 줄은 다음과 같은 포맷을 갖을수 있다:

date time host(pid) type: message-data

date
ISO 8601 포맷의 날짜 (yyyy-mm-dd)
time
마이크로초를 포함하는 시간: hh:mm:uuuuuu
host
스크립트 에러가 발생하는 호스트의 DNS 이름이나 IP 주소
pid
이 에러를 발생하는 PHP 3 스크립트의 프로세스의 host상의 PID (프로세스 ID)
type

줄 타입. 수신 프로그램에게 다음 데이터를 취급해야 한다는것을 알려줌:

표 G.1. 디버거 줄 타입

Name | Meaning
start | 수신 프로그램에게 디버거 메시지가 여기서 시작됨을 알림. data의 내용이 아래 목록처럼 에러 메시지의 타입이 될것이다.
message | PHP 3 에러 메시지.
location | 에러가 발생한 파일명과 줄번호. 첫번째 location 줄은 항상 상단의 위치를 내포할것이다. data는 file:line을 포함한다. message와 모든 function 이후에 항상 location 줄이 될것이다.
frames | 다음 스택 덤프 안의 프레임 번호. 4개의 프레임이 존재한다면, 호출되는 함수의 네단계의 정보를 기대할수 있다. "frames"줄이 보이지 않으면, 스택의 깊이는 0이라고 볼수 있다 (상단에서 에러가 발생함).
function | 에러가 발생하는 함수명. 함수 호출 스택안의 모든 레벨에서 한번씩 반복될것이다.
end | 수신 프로그램에게 디버거 메시지가 여기서 끝난다고 알림.

data
Line data.

표 G.2. 디버거 에러 타입

Debugger | PHP 3 Internal
warning | E_WARNING
error | E_ERROR
parse | E_PARSE
notice | E_NOTICE
core-error | E_CORE_ERROR
core-warning | E_CORE_WARNING
unknown | (any other)

예 G.1. 예제 디버거 메시지

1998-04-05 23:27:400966 lucifer.guardian.no(20481) start: notice
1998-04-05 23:27:400966 lucifer.guardian.no(20481) message: Uninitialized variable
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: (null):7
1998-04-05 23:27:400966 lucifer.guardian.no(20481) frames: 1
1998-04-05 23:27:400966 lucifer.guardian.no(20481) function: display
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: /home/ssb/public_html/test.php3:10
1998-04-05 23:27:400966 lucifer.guardian.no(20481) end: notice

이전 | 위로 | 다음
디버거 사용하기 | 처음으로 | H. Configure options


부록 H. Configure options

차례

List of core configure options

List of core configure options

Below is a partial list of configure options used by the PHP configure scripts when compiling in Unix-like environments. Most configure options are listed in their appropriate locations on the extension reference pages and not here. For a complete up-to-date list of configure options, run ./configure --help in your PHP source directory after running autoconf (see also the Installation chapter). You may also be interested in reading the » GNU configure documentation for information on additional configure options such as --prefix=PREFIX.

참고: These are only used at compile time. If you want to alter PHP's runtime configuration, please see the chapter on Runtime Configuration.

  • Miscellaneous

  • PHP Behaviour

  • Server

Configure Options in PHP 4

참고: These options are only used in PHP 4 as of PHP 4.1.0. Some are available in older versions of PHP 4, some even in PHP 3, some only in PHP 4.1.0. If you want to compile an older version, some options will probably not be available.

Misc options

--enable-debug

Compile with debugging symbols.

--with-layout=TYPE

Sets how installed files will be laid out. Type is one of PHP (default) or GNU.

--with-pear=DIR

Install PEAR in DIR (default PREFIX/lib/php).

--without-pear

Do not install PEAR.

--enable-sigchild

Enable PHP's own SIGCHLD handler.

--disable-rpath

Disable passing additional runtime library search paths.

--enable-libgcc

Enable explicitly linking against libgcc.

--enable-php-streams

Include experimental PHP streams. Do not use unless you are testing the code!

--with-zlib-dir[=DIR]

Define the location of zlib install directory.

--enable-trans-sid

Enable transparent session id propagation. Only valid for PHP 4.1.2 or less. From PHP 4.2.0, trans-sid feature is always compiled.

--with-tsrm-pthreads

Use POSIX threads (default).

--enable-shared[=PKGS]

Build shared libraries [default=yes].

--enable-static[=PKGS]

Build static libraries [default=yes].

--enable-fast-install[=PKGS]

Optimize for fast installation [default=yes].

--with-gnu-ld

Assume the C compiler uses GNU ld [default=no].

--disable-libtool-lock

Avoid locking (might break parallel builds).

--with-pic

Try to use only PIC/non-PIC objects [default=use both].

--enable-memory-limit

Compile with memory limit support. (not available since PHP 5.2.1 - always enabled)

--disable-url-fopen-wrapper

Disable the URL-aware fopen wrapper that allows accessing files via HTTP or FTP. (not available since PHP 5.2.5)

--enable-versioning

Export only required symbols. See INSTALL for more information.

--with-imsp[=DIR]

Include IMSp support (DIR is IMSP's include dir and libimsp.a dir). PHP 3 only!

--with-mck[=DIR]

Include Cybercash MCK support. DIR is the cybercash mck build directory, defaults to /usr/src/mck-3.2.0.3-linux for help look in extra/cyberlib. PHP 3 only!

--with-mod-dav=DIR

Include DAV support through Apache's mod_dav, DIR is mod_dav's installation directory (Apache module version only!) PHP 3 only!

--enable-debugger

Compile with remote debugging functions. PHP 3 only!

--enable-versioning

Take advantage of versioning and scoping provided by Solaris 2.x and Linux. PHP 3 only!

PHP options

--enable-maintainer-mode

Enable make rules and dependencies not useful (and sometimes confusing) to the casual installer.

--with-config-file-path=PATH

Sets the path in which to look for php.ini, defaults to PREFIX/lib.

--enable-safe-mode

Enable safe mode by default.

--with-exec-dir[=DIR]

Only allow executables in DIR when in safe mode defaults to /usr/local/php/bin.

--enable-magic-quotes

Enable magic quotes by default.

--disable-short-tags

Disable the short-form <? start tag by default.

SAPI options

The following list contains the available SAPI&s (Server Application Programming Interface) for PHP.

--with-aolserver=DIR

Specify path to the installed AOLserver.

--with-apxs[=FILE]

Build shared Apache module. FILE is the optional pathname to the Apache apxs tool; defaults to apxs. Make sure you specify the version of apxs that is actually installed on your system and NOT the one that is in the apache source tarball.

--with-apache[=DIR]

Build a static Apache module. DIR is the top-level Apache build directory, defaults to /usr/local/apache.

--with-mod_charset

Enable transfer tables for mod_charset (Russian Apache).

--with-apxs2[=FILE]

Build shared Apache 2.0 module. FILE is the optional pathname to the Apache apxs tool; defaults to apxs.

--with-caudium=DIR

Build PHP as a Pike module for use with Caudium. DIR is the Caudium server dir, with the default value /usr/local/caudium/server.

--disable-cli

Available with PHP 4.3.0. Disable building the CLI version of PHP (this forces --without-pear). More information is available in the section about Using PHP from the command line.

--enable-embed[=TYPE]

Enable building of the embedded SAPI library. TYPE is either shared or static, which defaults to shared. Available with PHP 4.3.0.

--with-fhttpd[=DIR]

Build fhttpd module. DIR is the fhttpd sources directory, defaults to /usr/local/src/fhttpd. No longer available as of PHP 4.3.0.

--with-isapi=DIR

Build PHP as an ISAPI module for use with Zeus.

--with-nsapi=DIR

Specify path to the installed Netscape/iPlanet/SunONE Webserver.

--with-phttpd=DIR

No information yet.

--with-pi3web=DIR

Build PHP as a module for use with Pi3Web.

--with-roxen=DIR

Build PHP as a Pike module. DIR is the base Roxen directory, normally /usr/local/roxen/server.

--enable-roxen-zts

Build the Roxen module using Zend Thread Safety.

--with-servlet[=DIR]

Include servlet support. DIR is the base install directory for the JSDK. This SAPI requires the java extension must be built as a shared dl.

--with-thttpd=SRCDIR

Build PHP as thttpd module.

--with-tux=MODULEDIR

Build PHP as a TUX module (Linux only).

--with-webjames=SRCDIR

Build PHP as a WebJames module (RISC OS only)

--disable-cgi

Disable building CGI version of PHP. Available with PHP 4.3.0.

--enable-force-cgi-redirect

Enable the security check for internal server redirects. You should use this if you are running the CGI version with Apache.

--enable-discard-path

If this is enabled, the PHP CGI binary can safely be placed outside of the web tree and people will not be able to circumvent .htaccess security.

--with-fastcgi

Build PHP as FastCGI application. No longer available as of PHP 4.3.0, instead you should use --enable-fastcgi.

--enable-fastcgi

If this is enabled, the CGI module will be built with support for FastCGI also. Available since PHP 4.3.0

--disable-path-info-check

If this is disabled, paths such as /info.php/test?a=b will fail to work. Available since PHP 4.3.0. For more information see the » Apache Manual.

이전 | 위로 | 다음
디버거 프로토콜 | 처음으로 | I. php.ini directives


부록 L. 함수 별칭 목록

여기서는 함수 별칭 목록을 보인다. 모든 별칭들이 여기서 목록화된다. 별칭을 사용하는 것은 일반적으로 좋은 생각이 아니다. 왜냐하면, 그런 함수는 기능이 떨어지거나 새로운 이름으로 바뀌게 되어 호환되지 않는 스크립트로 유도될수 있기때문이다. 이 목록은 그런 오래된 스크립트를 새로운 문법으로 업그레이드하고자 하는 사람들에게 도움을 주고자 제공된다.

하지만, 몇가지 함수들은 단순히 두개의 이름을 갖고 있고, 실제 차이가 존재하지 않는다. (예를 들면, is_int() 와 is_integer() 은 모두 양호하다)

이 목록은 PHP 4.0.6 기준입니다. 매일 갱신하는 별칭 목록은 » http://www.zend.com/phpfunc/all_aliases.php를 참고하십시오.

표 L.1. Aliases

Alias | Master function | Extension used
_ | gettext() | Gettext
add | swfmovie_add() | Ming (flash)
add | swfsprite_add() | Ming (flash)
add_root | domxml_add_root() | DOM XML
addaction | swfbutton_addAction() | Ming (flash)
addcolor | swfdisplayitem_addColor() | Ming (flash)
addentry | swfgradient_addEntry() | Ming (flash)
addfill | swfshape_addfill() | Ming (flash)
addshape | swfbutton_addShape() | Ming (flash)
addstring | swftext_addString() | Ming (flash)
addstring | swftextfield_addString() | Ming (flash)
align | swftextfield_align() | Ming (flash)
attributes | domxml_attributes() | DOM XML
children | domxml_children() | DOM XML
chop | rtrim() | Base syntax
close | closedir() | Base syntax
com_get | com_propget() | COM
com_propset | com_propput() | COM
com_set | com_propput() | COM
cv_add | ccvs_add() | CCVS
cv_auth | ccvs_auth() | CCVS
cv_command | ccvs_command() | CCVS
cv_count | ccvs_count() | CCVS
cv_delete | ccvs_delete() | CCVS
cv_done | ccvs_done() | CCVS
cv_init | ccvs_init() | CCVS
cv_lookup | ccvs_lookup() | CCVS
cv_new | ccvs_new() | CCVS
cv_report | ccvs_report() | CCVS
cv_return | ccvs_return() | CCVS
cv_reverse | ccvs_reverse() | CCVS
cv_sale | ccvs_sale() | CCVS
cv_status | ccvs_status() | CCVS
cv_textvalue | ccvs_textvalue() | CCVS
cv_void | ccvs_void() | CCVS
die | exit() | Miscellaneous functions
dir | getdir() | Base syntax
diskfreespace | disk_free_space() | Filesystem
domxml_getattr | domxml_get_attribute() | DOM XML
domxml_setattr | domxml_set_attribute() | DOM XML
doubleval | floatval() | Base syntax
drawarc | swfshape_drawarc() | Ming (flash)
drawcircle | swfshape_drawcircle() | Ming (flash)
drawcubic | swfshape_drawcubic() | Ming (flash)
drawcubicto | swfshape_drawcubicto() | Ming (flash)
drawcurve | swfshape_drawcurve() | Ming (flash)
drawcurveto | swfshape_drawcurveto() | Ming (flash)
drawglyph | swfshape_drawglyph() | Ming (flash)
drawline | swfshape_drawline() | Ming (flash)
drawlineto | swfshape_drawlineto() | Ming (flash)
dtd | domxml_intdtd() | DOM XML
dumpmem | domxml_dumpmem() | DOM XML
fbsql | fbsql_db_query() | FrontBase
fputs | fwrite() | Base syntax
get_attribute | domxml_get_attribute() | DOM XML
getascent | swffont_getAscent() | Ming (flash)
getascent | swftext_getAscent() | Ming (flash)
getattr | domxml_get_attribute() | DOM XML
getdescent | swffont_getDescent() | Ming (flash)
getdescent | swftext_getDescent() | Ming (flash)
getheight | swfbitmap_getHeight() | Ming (flash)
getleading | swffont_getLeading() | Ming (flash)
getleading | swftext_getLeading() | Ming (flash)
getshape1 | swfmorph_getShape1() | Ming (flash)
getshape2 | swfmorph_getShape2() | Ming (flash)
getwidth | swfbitmap_getWidth() | Ming (flash)
getwidth | swffont_getWidth() | Ming (flash)
getwidth | swftext_getWidth() | Ming (flash)
gzputs | gzwrite() | Zlib
i18n_convert | mb_convert_encoding() | Multi-bytes Strings
i18n_discover_encoding | mb_detect_encoding() | Multi-bytes Strings
i18n_http_input | mb_http_input() | Multi-bytes Strings
i18n_http_output | mb_http_output() | Multi-bytes Strings
i18n_internal_encoding | mb_internal_encoding() | Multi-bytes Strings
i18n_ja_jp_hantozen | mb_convert_kana() | Multi-bytes Strings
i18n_mime_header_decode | mb_decode_mimeheader() | Multi-bytes Strings
i18n_mime_header_encode | mb_encode_mimeheader() | Multi-bytes Strings
imap_create | imap_createmailbox() | IMAP
imap_fetchtext | imap_body() | IMAP
imap_getmailboxes | imap_list_full() | IMAP
imap_getsubscribed | imap_lsub_full() | IMAP
imap_header | imap_headerinfo() | IMAP
imap_listmailbox | imap_list() | IMAP
imap_listsubscribed | imap_lsub() | IMAP
imap_rename | imap_renamemailbox() | IMAP
imap_scan | imap_listscan() | IMAP
imap_scanmailbox | imap_listscan() | IMAP
ini_alter | ini_set() | Base syntax
is_double | is_float() | Base syntax
is_integer | is_int() | Base syntax
is_long | is_int() | Base syntax
is_real | is_float() | Base syntax
is_writeable | is_writable() | Base syntax
join | implode() | Base syntax
labelframe | swfmovie_labelFrame() | Ming (flash)
labelframe | swfsprite_labelFrame() | Ming (flash)
last_child | domxml_last_child() | DOM XML
lastchild | domxml_last_child() | DOM XML
ldap_close | ldap_unbind() | LDAP
magic_quotes_runtime | set_magic_quotes_runtime() | Base syntax
mbstrcut | mb_strcut() | Multi-bytes Strings
mbstrlen | mb_strlen() | Multi-bytes Strings
mbstrpos | mb_strpos() | Multi-bytes Strings
mbstrrpos | mb_strrpos() | Multi-bytes Strings
mbsubstr | mb_substr() | Multi-bytes Strings
ming_setcubicthreshold | ming_setCubicThreshold() | Ming (flash)
ming_setscale | ming_setScale() | Ming (flash)
move | swfdisplayitem_move() | Ming (flash)
movepen | swfshape_movepen() | Ming (flash)
movepento | swfshape_movepento() | Ming (flash)
moveto | swfdisplayitem_moveTo() | Ming (flash)
moveto | swffill_moveTo() | Ming (flash)
moveto | swftext_moveTo() | Ming (flash)
msql | msql_db_query() | mSQL
msql_createdb | msql_create_db() | mSQL
msql_dbname | msql_result() | mSQL
msql_dropdb | msql_drop_db() | mSQL
msql_fieldflags | msql_field_flags() | mSQL
msql_fieldlen | msql_field_len() | mSQL
msql_fieldname | msql_field_name() | mSQL
msql_fieldtable | msql_field_table() | mSQL
msql_fieldtype | msql_field_type() | mSQL
msql_freeresult | msql_free_result() | mSQL
msql_listdbs | msql_list_dbs() | mSQL
msql_listfields | msql_list_fields() | mSQL
msql_listtables | msql_list_tables() | mSQL
msql_numfields | msql_num_fields() | mSQL
msql_numrows | msql_num_rows() | mSQL
msql_regcase | sql_regcase() | mSQL
msql_selectdb | msql_select_db() | mSQL
msql_tablename | msql_result() | mSQL
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_affected_rows | sybase_affected_rows() | Sybase
mssql_close | sybase_close() | Sybase
mssql_close | sybase_close() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_connect | sybase_connect() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_data_seek | sybase_data_seek() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_array | sybase_fetch_array() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_field | sybase_fetch_field() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_object | sybase_fetch_object() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_fetch_row | sybase_fetch_row() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_field_seek | sybase_field_seek() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_free_result | sybase_free_result() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_get_last_message | sybase_get_last_message() | Sybase
mssql_min_client_severity | sybase_min_client_severity() | Sybase
mssql_min_error_severity | sybase_min_error_severity() | Sybase
mssql_min_message_severity | sybase_min_message_severity() | Sybase
mssql_min_server_severity | sybase_min_server_severity() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_fields | sybase_num_fields() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_num_rows | sybase_num_rows() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_pconnect | sybase_pconnect() | Sybase
mssql_query | sybase_query() | Sybase
mssql_query | sybase_query() | Sybase
mssql_result | sybase_result() | Sybase
mssql_result | sybase_result() | Sybase
mssql_select_db | sybase_select_db() | Sybase
mssql_select_db | sybase_select_db() | Sybase
multcolor | swfdisplayitem_multColor() | Ming (flash)
mysql | mysql_db_query() | MySQL
mysql_createdb | mysql_create_db() | MySQL
mysql_db_name | mysql_result() | MySQL
mysql_dbname | mysql_result() | MySQL
mysql_dropdb | mysql_drop_db() | MySQL
mysql_fieldflags | mysql_field_flags() | MySQL
mysql_fieldlen | mysql_field_len() | MySQL
mysql_fieldname | mysql_field_name() | MySQL
mysql_fieldtable | mysql_field_table() | MySQL
mysql_fieldtype | mysql_field_type() | MySQL
mysql_freeresult | mysql_free_result() | MySQL
mysql_listdbs | mysql_list_dbs() | MySQL
mysql_listfields | mysql_list_fields() | MySQL
mysql_listtables | mysql_list_tables() | MySQL
mysql_numfields | mysql_num_fields() | MySQL
mysql_numrows | mysql_num_rows() | MySQL
mysql_selectdb | mysql_select_db() | MySQL
mysql_tablename | mysql_result() | MySQL
name | domxml_attrname() | DOM XML
new_child | domxml_new_child() | DOM XML
new_xmldoc | domxml_new_xmldoc() | DOM XML
nextframe | swfmovie_nextFrame() | Ming (flash)
nextframe | swfsprite_nextFrame() | Ming (flash)
node | domxml_node() | DOM XML
oci8append | ocicollappend() | OCI8
oci8assign | ocicollassign() | OCI8
oci8assignelem | ocicollassignelem() | OCI8
oci8close | ocicloselob() | OCI8
oci8free | ocifreecoll() | OCI8
oci8free | ocifreedesc() | OCI8
oci8getelem | ocicollgetelem() | OCI8
oci8load | ociloadlob() | OCI8
oci8max | ocicollmax() | OCI8
oci8ocifreecursor | ocifreestatement() | OCI8
oci8save | ocisavelob() | OCI8
oci8savefile | ocisavelobfile() | OCI8
oci8size | ocicollsize() | OCI8
oci8trim | ocicolltrim() | OCI8
oci8writetemporary | ociwritetemporarylob() | OCI8
oci8writetofile | ociwritelobtofile() | OCI8
odbc_do | odbc_exec() | OCI8
odbc_field_precision | odbc_field_len() | OCI8
output | swfmovie_output() | Ming (flash)
parent | domxml_parent() | DOM XML
pdf_add_outline | pdf_add_bookmark() | PDF
pg_clientencoding | pg_client_encoding() | PostgreSQL
pg_setclientencoding | pg_set_client_encoding() | PostgreSQL
pos | current() | Base syntax
recode | recode_string() | Recode
remove | swfmovie_remove() | Ming (flash)
remove | swfsprite_remove() | Ming (flash)
rewind | rewinddir() | Base syntax
root | domxml_root() | DOM XML
rotate | swfdisplayitem_rotate() | Ming (flash)
rotateto | swfdisplayitem_rotateTo() | Ming (flash)
rotateto | swffill_rotateTo() | Ming (flash)
save | swfmovie_save() | Ming (flash)
savetofile | swfmovie_saveToFile() | Ming (flash)
scale | swfdisplayitem_scale() | Ming (flash)
scaleto | swfdisplayitem_scaleTo() | Ming (flash)
scaleto | swffill_scaleTo() | Ming (flash)
set_attribute | domxml_set_attribute() | DOM XML
set_content | domxml_set_content() | DOM XML
setaction | swfbutton_setAction() | Ming (flash)
setattr | domxml_set_attribute() | DOM XML
setbackground | swfmovie_setBackground() | Ming (flash)
setbounds | swftextfield_setBounds() | Ming (flash)
setcolor | swftext_setColor() | Ming (flash)
setcolor | swftextfield_setColor() | Ming (flash)
setdepth | swfdisplayitem_setDepth() | Ming (flash)
setdimension | swfmovie_setDimension() | Ming (flash)
setdown | swfbutton_setDown() | Ming (flash)
setfont | swftext_setFont() | Ming (flash)
setfont | swftextfield_setFont() | Ming (flash)
setframes | swfmovie_setFrames() | Ming (flash)
setframes | swfsprite_setFrames() | Ming (flash)
setheight | swftext_setHeight() | Ming (flash)
setheight | swftextfield_setHeight() | Ming (flash)
sethit | swfbutton_setHit() | Ming (flash)
setindentation | swftextfield_setIndentation() | Ming (flash)
setleftfill | swfshape_setleftfill() | Ming (flash)
setleftmargin | swftextfield_setLeftMargin() | Ming (flash)
setline | swfshape_setline() | Ming (flash)
setlinespacing | swftextfield_setLineSpacing() | Ming (flash)
setmargins | swftextfield_setMargins() | Ming (flash)
setmatrix | swfdisplayitem_setMatrix() | Ming (flash)
setname | swfdisplayitem_setName() | Ming (flash)
setname | swftextfield_setName() | Ming (flash)
setover | swfbutton_setOver() | Ming (flash)
setrate | swfmovie_setRate() | Ming (flash)
setratio | swfdisplayitem_setRatio() | Ming (flash)
setrightfill | swfshape_setrightfill() | Ming (flash)
setrightmargin | swftextfield_setRightMargin() | Ming (flash)
setspacing | swftext_setSpacing() | Ming (flash)
setup | swfbutton_setUp() | Ming (flash)
show_source | highlight_file () | Base syntax
sizeof | count() | Base syntax
skewx | swfdisplayitem_skewX() | Ming (flash)
skewxto | swfdisplayitem_skewXTo() | Ming (flash)
skewxto | swffill_skewXTo() | Ming (flash)
skewy | swfdisplayitem_skewY() | Ming (flash)
skewyto | swfdisplayitem_skewYTo() | Ming (flash)
skewyto | swffill_skewYTo() | Ming (flash)
snmpwalkoid | snmprealwalk() | SNMP
strchr | strstr() | Base syntax
streammp3 | swfmovie_streamMp3() | Ming (flash)
swfaction | swfaction_init() | Ming (flash)
swfbitmap | swfbitmap_init() | Ming (flash)
swfbutton | swfbutton_init() | Ming (flash)
swffill | swffill_init() | Ming (flash)
swffont | swffont_init() | Ming (flash)
swfgradient | swfgradient_init() | Ming (flash)
swfmorph | swfmorph_init() | Ming (flash)
swfmovie | swfmovie_init() | Ming (flash)
swfshape | swfshape_init() | Ming (flash)
swfsprite | swfsprite_init() | Ming (flash)
swftext | swftext_init() | Ming (flash)
swftextfield | swftextfield_init() | Ming (flash)
unlink | domxml_unlink_node() | DOM XML
xptr_new_context | xpath_new_context() | DOM XML

이전 | 위로 | 다음
상태 | 처음으로 | M. 예약어 목록


부록 M. 예약어 목록

차례

키워드 목록
기선언 변수
기선언 클래스
예약 상수

다음은 PHP에서 기선언된 식별자 목록이다. 이 식별자 목록 중 어느것도 스크립트에서 식별자로 사용될수 없다. 이 목록은 키워드와 기선언 변수, 상수, 클래스 명도 포함한다. 이 목록은 철저하지도 완벽하지도 않다.

키워드 목록

이 단어들은 PHP에서 특별한 의미를 갖는다. 이중 일부는 함수처럼 보여지기도하고 상수나 기타 등등 으로 보여질것이다-그러나 그렇지 않다. 실제로: 그들은 언어 구조이다. 다음 단어를 상수, 클래스명, 함수명으로 사용할수 없다. 이들을 변수명으로 사용하는 것은 괜찮을수도 있지만, 혼란스럽게 될것이다.

표 M.1. PHP 키워드

and | or | xor | __FILE__ | exception | php_user_filter
__LINE__ | array() | as | break | case |
cfunction | class | const | continue | declare |
default | die() | do | echo() | else |
elseif | empty() | enddeclare | endfor | endforeach |
endif | endswitch | endwhile | eval | exit() |
extends | for | foreach | function | global |
if | include() | include_once() | isset() | list() |
new | old_function | print() | require() | require_once() |
return() | static | switch | unset() | use |
var | while | __FUNCTION__ | __CLASS__ | __METHOD__ |

이전 | 위로 | 다음
L. 함수 별칭 목록 | 처음으로 | 기선언 변수


기선언 변수

PHP 4.1.0이후부터 외부 변수를 가져오는 가장 선호되는 방법은 아래에서 설명하는 슈퍼전역을 사용하는것이다. 그 이전버전에서는 register_globals이나 긴형태의 기선언 PHP 배열($HTTP_*_VARS)을 사용한다. PHP 5.0.0부터, 긴 형태의 PHP 예약 변수 배열을 register_long_arrays 지시어로 제거할 수 있습니다.

서버 변수: $_SERVER

참고: 4.1.0부터 지원됨. 이전 버전은 $HTTP_SERVER_VARS을 사용함

$_SERVER는 헤더, 경로, 스크립트 위치와 같은 정보를 포함하는 배열이다. 이 배열 안의 엔트리는 웹서버에 의해 생성된다. 모든 웹서버가 이런 것들을 제공한다는 보장은 없다. 서버는 어떤것은 빠뜨리거나 여기에서 목록화된 것 외의 것을 제공할수 도 있다. 이런 많은 수의 변수들은 » CGI 1.1 specification에 기반하므로, 그런 변수들은 기대할수 있을것이다.

이 변수는 '슈퍼전역', 또는 자동 전역, 변수이다. 즉 스크립트내의 모든 유효영역안에서 사용가능하다는 의미를 갖는다. $HTTP_SERVER_VARS를 사용할때와 같이 함수나 메소드 안에서 사용하기 위해 global $_SERVER;를 할 필요는 없다.

$HTTP_SERVER_VARS는 동일한 초기 정보를 포함하지만, 자동전역은 아니다. ($HTTP_SERVER_VARS 와 $_SERVER는 다른 변수이고 PHP는 그변수들을 따로 다루게 된다는 것에 주의한다)

register_globals 디렉티브가 설정되어있으면, 이 변수들은 스크립트의 전역 유효영역에서 사용이 가능해 진다. 즉 $_SERVER 와 $HTTP_SERVER_VARS 배열과 분리된다. 관련정보는 전역 등록 사용하기라는 이름의 보안 챕터를 참고한다. 이들 각각의 전역은 자동전역이 아니다.

$_SERVER에서는 다음 구성요소를 확인할수도 있고 그렇지 않은수있다. 이 변수중 일부(심지어 모두)는 PHP가 커맨드 라인에서 수행되고 있을때에는 보여지지 않을것이다.

'PHP_SELF'

현재 실행중인 스크립트의 파일명이고, 도규먼트 루트에 상대적인 경로를 갖는다. 예를 들면, 주소 http://example.com/test.php/foo.bar의 스크립트에서 $_SERVER['PHP_SELF']은 /test.php/foo.bar이 될것이다.

PHP가 커맨드 라인 프로세서로 실행중이면, 이 변수는 나타나지 않는다.

'argv'
스크립트로 전달되는 인자의 배열. 스크립트가 커맨드 라인에서 실행중이면, 이 변수는 C-스타일의 커맨드 라인 인자로 제공된다. GET 메소드에 의해 호출될때에는 이 변수는 질의 문자열(query string)을 포함할것이다.
'argc'
스크립트로 전달되는 커맨드 라인 인자의 갯수 (커맨드 라인에서 실행중일때)
'GATEWAY_INTERFACE'
서버가 사용하는 CGI 사양(specification)의 버전: 예를 들면, 'CGI/1.1'.
'SERVER_NAME'
현재 스크립트가 수행되고 있는 서버 호스트의 이름. 스크립트가 가상 호스트에서 수행중이면, 이 변수는 그 가상 호스트를 위해 정의된 값이 될것이다.
'SERVER_SOFTWARE'
서버 식별 문자열. 요구(ruquest)에 응답할때 헤더안에서 보여준다.
'SERVER_PROTOCOL'
페이지가 요청되어진 정보 프로토콜의 이름과 버전: 예를 들면, 'HTTP/1.0';
'REQUEST_METHOD'
페이지에 접근할때 사용된 요청 메소드 종류. 예를 들면,'GET', 'HEAD', 'POST', 'PUT'.
'QUERY_STRING'
페이지가 접근될때의 질의 문자열
'DOCUMENT_ROOT'
현재 스크립트가 수행중인 다큐먼트 루트 디렉토리. 서버 설정 파일에서 정의된다.
'HTTP_ACCEPT'
현재 요청에 대한 Accept: 헤더의 내용.
'HTTP_ACCEPT_CHARSET'
현재 요청에 대한 Accept-Charset: 헤더의 내용. 예를 들면'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
현재 요청에 대한 Accept-Encoding: 헤더의 내용. 예를 들면: 'gzip'.
'HTTP_ACCEPT_LANGUAGE'
현재 요청에 대한 Accept-Language: 헤더의 내용. 예를 들면: 'en'.
'HTTP_CONNECTION'
현재 요청에 대한 Connection: 헤더의 내용. 예를 들면: 'Keep-Alive'.
'HTTP_HOST'
현재 요청에 대한 Host: 헤더의 내용.
'HTTP_REFERER'
현재 페이지에 대한 유저 에이전트를 참조하는 페이지의 주소. 모든 에이전트가 이 값을 갖지 않는다. 일부 에이전트는 HTTP_REFERER를 각 특성에 맞게 변경하는 기능을 제공한다. 간단히 말해서, 이 값은 신뢰할수 없다.
'HTTP_USER_AGENT'
현재 요청에 대한 User-Agent: 헤더 내용. 이 값은 페이지에 접근 중인 유저 에이전트를 표시하는 문자열이다. 표준적인 예로는: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). get_browser()로 이 값을 사용하여 유저 에이전트의 능력에 맞게 페이지의 출력을 조절할수 있다.
'REMOTE_ADDR'
현재 페이지를 보고있는 유저의 IP 주소.
'REMOTE_HOST'

현재 페이지를 보고있는 유저의 호스트명. 역방향 dns 검색이 유저의 REMOTE_ADDR를 위해 사용된다.

참고: 웹서버는 이 변수를 생성할수 있도록 설정되어야 한다. 예를 들면 아파치에서는 httpd.conf안에서 HostnameLookups On 이 필요할것이다. gethostbyaddr()도 참고.

'REMOTE_PORT'
웹서버와 통신중인 유저 머신이 사용중인 포트.
'SCRIPT_FILENAME'

현재 수행되는 스크립트의 절대 경로명.

참고: file.php, ../file.php처럼 스크립트를 상대 경로로 지정하여 CLI로 실행할 경우, $_SERVER['SCRIPT_FILENAME']은 사용자가 지정한 상대 경로를 포함합니다.

'SERVER_ADMIN'
웹서버 설정 파일안의 SERVER_ADMIN (아파치용) 디렉티브에 주어지는 값. 스크립트가 가상 호스트에서 수행중이면, 이 값은 그 가상호스트를 위해 정의되는 값이 될것이다.
'SERVER_PORT'
웹서버가 통신을 위해 사용중인 서버 머신의 포트. 초기 설정값으로 '80';이 될것이다. 예를 들어, SSL을 사용중이면, 안전한 HTTP 포트로 정의된 어떤 값으로도 변경할수 있다.
'SERVER_SIGNATURE'
활설화되어있다면, 서버가 생성하는 페이지에 추가되는 서버 버전과 가상 호스트명을 갖는 문자열.
'PATH_TRANSLATED'
현재 스크립트에 대한 파일시스템(다큐먼트 루트가 아님) 기반의 경로 서버가 virtual-to-real 매핑으로 설정되면 보인다.
'SCRIPT_NAME'
현재 스크립트의 경로를 갖는다. 이 값은 가리킬 필요가 있는 페이지에 유용하다.
'REQUEST_URI'
이 페이지에 접근하기 위해 주어지는 URI; 예를 들면,'/index.html'.
'PHP_AUTH_USER'
HTTP 인증을 사용하는 모듈로서 아파치에서 수행될때, 이 변수는 유저에 의해 제공되는 username으로 설정된다.
'PHP_AUTH_PW'
HTTP 인증을 사용하는 모듈로서 아파치에서 수행될때, 이 변수는 유저가 제공하는 password로 설정된다.
'AUTH_TYPE'
HTTP 인증을 사용하는 모듈로서 아파치에서 수행될때, 이 변수는 인증 타입으로 설정된다.

환경 변수: $_ENV

참고: 4.1.0부터 지원됨. 그 이전 버전에서는, $HTTP_ENV_VARS이 사용되었다.

이 변수들은 PHP 해석기가 실행중인 환경에서 PHP의 전역 네임스페이스로 포함된다. PHP가 실행중인 셀과 다른 종류의 셀을 수행하는 시스템에 의해서 많은 변수가 제공된다. 확정적인 변수 목록을 제공하는것은 불가능 하다. 선언된 환경변수 목록에 대한 셀의 문서를 참고하라.

다른 환경 변수는 CGI 변수를 포함한다. PHP가 서버 모듈로 실행중인지 또는 CGI 프로세서로 실행중인지에 따라 달라진다.

이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_ENV_VARS를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_ENV;를 사용할 필요는 없다.

$HTTP_ENV_VARS는 동일한 초기치 정보를 갖는다. 그러나 자동전역이 아니다. (HTTP_ENV_VARS 와 $_ENV는 다른 변수이며 PHP가 따로 다루게 된다는 것에 주의한다)

register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_ENV과 $HTTP_ENV_VARS 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.

HTTP 쿠키: $_COOKIE

참고: 4.1.0부터 지원됨. 이전 버전에서는 $HTTP_COOKIE_VARS를 사용했슴.

HTTP 쿠키를 통해 현재 스크립트로 전달되는 변수의 연관 배열. 어떤 영역에서는 자동으로 전역화된다.

이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_COOKIE_VARS를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_COOKIE;를 사용할 필요는 없다.

$HTTP_COOKIE_VARS는 동일한 초기치 정보를 갖는다. 그러나 자동전역이 아니다. (HTTP_COOKIE_VARS 와 $_COOKIE는 다른 변수이며 PHP가 따로 다루게 된다는 것에 주의한다)

register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_COOKIE와 $HTTP_COOKIE_VARS 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.

HTTP GET 변수: $_GET

참고: 4.1.0부터 지원됨. 이전 버전에서는 $HTTP_GET_VARS를 사용했슴.

HTTP GET 메소드를 통해 현재 스크립트에 전달되는 변수의 연관 배열. 어떤 영역에서는 자동으로 전역화된다.

이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_GET_VARS를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_GET;를 사용할 필요는 없다.

$HTTP_GET_VARS는 동일한 초기치 정보를 갖는다. 그러나 자동전역이 아니다. (HTTP_GET_VARS 와 $_GET는 다른 변수이며 PHP가 따로 다루게 된다는 것에 주의한다)

register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_GET와 $HTTP_GET_VARS 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.

HTTP POST 변수: $_POST

참고: 4.1.0부터 지원됨. 이전 버전에서는 $HTTP_POST_VARS를 사용했슴.

HTTP POST 메소드를 통해 현재 스크립트에 전달되는 변수의 연관 배열. 어떤 영역에서는 자동으로 전역화된다.

이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_POST_VARS를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_POST;를 사용할 필요는 없다.

$HTTP_POST_VARS는 동일한 초기치 정보를 갖는다. 그러나 자동전역이 아니다. (HTTP_POST_VARS 와 $_POST는 다른 변수이며 PHP가 따로 다루게 된다는 것에 주의한다)

register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_POST와 $HTTP_POST_VARS 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.

HTTP File 업로드 변수: $_FILES

참고: 4.1.0부터 지원됨. 이전 버전에서는 $HTTP_POST_FILES를 사용했슴.

HTTP POST 메소드를 통해 현재 스크립트에 업로드되는 아이템의 연관 배열. 어떤 영역에서는 자동으로 전역화된다.

이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_POST_FILES를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_FILES;를 사용할 필요는 없다.

$HTTP_POST_FILES는 같은 정보를 갖고 있지만, 자동 전역 변수가 아니다.

register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_FILES와 $HTTP_POST_FILES 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.

Request 변수: $_REQUEST

참고: 4.1.0부터 지원됨. 이전 버전에서는 관련된 배열이 없다.

참고: PHP 4.3.0 이전에는 $_REQUEST 안에도 $_FILES 정보가 포함되어 있었다.

$_GET, $_POST, $_COOKIE의 내용물로 구성된 연관 배열.

이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. 함수나 메소드에서 이 변수에 접근하기 위해 global $_REQUEST;를 사용할 필요는 없다.

register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_REQUEST 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.

세션 변수: $_SESSION

참고: 4.1.0부터 지원됨. 이전 버전에서는 $HTTP_SESSION_VARS를 사용했슴.

현재 스크립트에서 사용가능한 세션 변수를 포함하는 연관배열. 이 변수를 사용하는 방법에 대한 자세한 정보는 Session functions 문서를 참고.

이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. $HTTP_SESSION_VARS를 사용할때와 마찬가지로, 함수나 메소드에서 이 변수에 접근하기 위해 global $_SESSION;를 사용할 필요는 없다.

$HTTP_SESSION_VARS는 같은 정보를 갖고 있지만, 자동 전역 변수가 아니다.

register_globals 디렉티브가 설정되어있으면, 이변수는 스크립트의 전역 유효영역에서 사용가능해진다. 즉,$_SESSION와 $HTTP_SESSION_FILES 배열에서 독립적으로 사용된다. 관련 정보는, 전역 등록 사용하기라는 보안 챕터를 참고한다. 이들 각각의 전역변수는 자동전역이 아니다.

Global 변수: $GLOBALS

참고: $GLOBALS PHP 3.0.0부터 지원되었다.

현재 스크립트의 전역 유효영역내에서 선언되어있는 모든변수에 대한 참조를 포함하는 연관배열이다. 변수명은 배열의 키로 사용된다.

이변수는 '슈퍼전역', 도는 자동 전역, 변수이다. 이 말의 의미는 스크립트 내의 모든 영역에서 사용가능하다는 것이다. 함수나 메소드에서 이 변수에 접근하기 위해 global $GLOBALS;를 사용할 필요는 없다.

이전 에러 메시지: $php_errormsg

$php_errormsg는 PHP에 의해 생성되는 가장 최근의 에러 메시지 텍스트를 포함하는 변수이다. 이변수는 에러가 발생한 영역내에서만 유효하다. 그리고, track_errors 설정 옵션이 on되어있어야 한다(초기값은 off이다)

이전 | 위로 | 다음
M. 예약어 목록 | 처음으로 | 기선언 클래스


기선언 클래스

기본적인 선언 클래스

이 클래스는 PHP 빌드에 포함되어있는 표준 함수 모음에 선언된다.

Directory
The class from which dir is instantiated.
stdClass
__PHP_Incomplete_Class

PHP 5의 기선언 클래스

여기 추가된 기선언 클래스는 PHP 5.0.0에서 소개되었다.

exception
php_user_filter

Ming 선언 클래스

이 클래스는 Ming 확장에서 정의되었다. 그래서 이 확장이 PHP와 같이 컴파일되었거나 런타임에서 동적으로 로드되야만 사용가능하다.

swfshape
swffill
swfgradient
swfbitmap
swftext
swftextfield
swffont
swfdisplayitem
swfmovie
swfbutton
swfaction
swfmorph
swfsprite

Oracle 8 선언 클래스

이 클래스는 Oracle 8 확장에서 정의되었다. 그래서 이 확장이 PHP와 같이 컴파일되었거나 런타임에서 동적으로 로드되야만 사용가능하다.

OCI-Lob
OCI-Collection

qtdom 선언 클래스

이 클래스는 qtdom 확장에서 정의되었다. 그래서 이 확장이 PHP와 같이 컴파일되었거나 런타임에서 동적으로 로드되야만 사용가능하다.

QDomDocument
QDomNode
이전 | 위로 | 다음
기선언 변수 | 처음으로 | 예약 상수


예약 상수

코어 예약 상수

이 상수들은 PHP 코어에 의해 선언된다. 이 상수들은 PHP, 젠드 엔진, SAPI 모듈에도 포함된다.

PHP_VERSION (string)
PHP_OS (string)
PHP_SAPI (string)
PHP 4.2.0부터 사용할 수 있습니다. 참고: php_sapi_name()
PHP_EOL (string)
PHP 4.3.10과 PHP 5.0.2부터 사용할 수 있습니다.
PHP_INT_MAX (integer)
PHP 4.4.0과 PHP 5.0.5부터 사용할 수 있습니다.
PHP_INT_SIZE (integer)
PHP 4.4.0과 PHP 5.0.5부터 사용할 수 있습니다.
DEFAULT_INCLUDE_PATH (string)
PEAR_INSTALL_DIR (string)
PEAR_EXTENSION_DIR (string)
PHP_EXTENSION_DIR (string)
PHP_PREFIX (string)
PHP 4.3.0부터 사용할 수 있습니다.
PHP_BINDIR (string)
PHP_LIBDIR (string)
PHP_DATADIR (string)
PHP_SYSCONFDIR (string)
PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)
PHP_CONFIG_FILE_SCAN_DIR (string)
PHP_SHLIB_SUFFIX (string)
PHP 4.3.0부터 사용할 수 있습니다.
PHP_OUTPUT_HANDLER_START (integer)
PHP_OUTPUT_HANDLER_CONT (integer)
PHP_OUTPUT_HANDLER_END (integer)
E_ERROR (integer)
E_WARNING (integer)
E_PARSE (integer)
E_NOTICE (integer)
E_CORE_ERROR (integer)
E_CORE_WARNING (integer)
E_COMPILE_ERROR (integer)
E_COMPILE_WARNING (integer)
E_USER_ERROR (integer)
E_USER_WARNING (integer)
E_USER_NOTICE (integer)
E_ALL (integer)
E_STRICT (integer)
PHP 5.0.0부터 사용할 수 있습니다.
__CONPILER_HALT_OFFSET__ (integer)
PHP 5.1.0부터 사용할 수 있습니다.

참고: 마법 상수.

표준 예약 상수

이 상수는 기본적으로 PHP에서 선언된다.

EXTR_OVERWRITE (integer)
EXTR_SKIP (integer)
EXTR_PREFIX_SAME (integer)
EXTR_PREFIX_ALL (integer)
EXTR_PREFIX_INVALID (integer)
EXTR_PREFIX_IF_EXISTS (integer)
EXTR_IF_EXISTS (integer)
SORT_ASC (integer)
SORT_DESC (integer)
SORT_REGULAR (integer)
SORT_NUMERIC (integer)
SORT_STRING (integer)
CASE_LOWER (integer)
CASE_UPPER (integer)
COUNT_NORMAL (integer)
COUNT_RECURSIVE (integer)
ASSERT_ACTIVE (integer)
ASSERT_CALLBACK (integer)
ASSERT_BAIL (integer)
ASSERT_WARNING (integer)
ASSERT_QUIET_EVAL (integer)
CONNECTION_ABORTED (integer)
CONNECTION_NORMAL (integer)
CONNECTION_TIMEOUT (integer)
INI_USER (integer)
INI_PERDIR (integer)
INI_SYSTEM (integer)
INI_ALL (integer)
M_E (float)
M_LOG2E (float)
M_LOG10E (float)
M_LN2 (float)
M_LN10 (float)
M_PI (float)
M_PI_2 (float)
M_PI_4 (float)
M_1_PI (float)
M_2_PI (float)
M_2_SQRTPI (float)
M_SQRT2 (float)
M_SQRT1_2 (float)
CRYPT_SALT_LENGTH (integer)
CRYPT_STD_DES (integer)
CRYPT_EXT_DES (integer)
CRYPT_MD5 (integer)
CRYPT_BLOWFISH (integer)
DIRECTORY_SEPARATOR (string)
SEEK_SET (integer)
SEEK_CUR (integer)
SEEK_END (integer)
LOCK_SH (integer)
LOCK_EX (integer)
LOCK_UN (integer)
LOCK_NB (integer)
HTML_SPECIALCHARS (integer)
HTML_ENTITIES (integer)
ENT_COMPAT (integer)
ENT_QUOTES (integer)
ENT_NOQUOTES (integer)
INFO_GENERAL (integer)
INFO_CREDITS (integer)
INFO_CONFIGURATION (integer)
INFO_MODULES (integer)
INFO_ENVIRONMENT (integer)
INFO_VARIABLES (integer)
INFO_LICENSE (integer)
INFO_ALL (integer)
CREDITS_GROUP (integer)
CREDITS_GENERAL (integer)
CREDITS_SAPI (integer)
CREDITS_MODULES (integer)
CREDITS_DOCS (integer)
CREDITS_FULLPAGE (integer)
CREDITS_QA (integer)
CREDITS_ALL (integer)
STR_PAD_LEFT (integer)
STR_PAD_RIGHT (integer)
STR_PAD_BOTH (integer)
PATHINFO_DIRNAME (integer)
PATHINFO_BASENAME (integer)
PATHINFO_EXTENSION (integer)
PATH_SEPARATOR (string)
CHAR_MAX (integer)
LC_CTYPE (integer)
LC_NUMERIC (integer)
LC_TIME (integer)
LC_COLLATE (integer)
LC_MONETARY (integer)
LC_ALL (integer)
LC_MESSAGES (integer)
ABDAY_1 (integer)
ABDAY_2 (integer)
ABDAY_3 (integer)
ABDAY_4 (integer)
ABDAY_5 (integer)
ABDAY_6 (integer)
ABDAY_7 (integer)
DAY_1 (integer)
DAY_2 (integer)
DAY_3 (integer)
DAY_4 (integer)
DAY_5 (integer)
DAY_6 (integer)
DAY_7 (integer)
ABMON_1 (integer)
ABMON_2 (integer)
ABMON_3 (integer)
ABMON_4 (integer)
ABMON_5 (integer)
ABMON_6 (integer)
ABMON_7 (integer)
ABMON_8 (integer)
ABMON_9 (integer)
ABMON_10 (integer)
ABMON_11 (integer)
ABMON_12 (integer)
MON_1 (integer)
MON_2 (integer)
MON_3 (integer)
MON_4 (integer)
MON_5 (integer)
MON_6 (integer)
MON_7 (integer)
MON_8 (integer)
MON_9 (integer)
MON_10 (integer)
MON_11 (integer)
MON_12 (integer)
AM_STR (integer)
PM_STR (integer)
D_T_FMT (integer)
D_FMT (integer)
T_FMT (integer)
T_FMT_AMPM (integer)
ERA (integer)
ERA_YEAR (integer)
ERA_D_T_FMT (integer)
ERA_D_FMT (integer)
ERA_T_FMT (integer)
ALT_DIGITS (integer)
INT_CURR_SYMBOL (integer)
CURRENCY_SYMBOL (integer)
CRNCYSTR (integer)
MON_DECIMAL_POINT (integer)
MON_THOUSANDS_SEP (integer)
MON_GROUPING (integer)
POSITIVE_SIGN (integer)
NEGATIVE_SIGN (integer)
INT_FRAC_DIGITS (integer)
FRAC_DIGITS (integer)
P_CS_PRECEDES (integer)
P_SEP_BY_SPACE (integer)
N_CS_PRECEDES (integer)
N_SEP_BY_SPACE (integer)
P_SIGN_POSN (integer)
N_SIGN_POSN (integer)
DECIMAL_POINT (integer)
RADIXCHAR (integer)
THOUSANDS_SEP (integer)
THOUSEP (integer)
GROUPING (integer)
YESEXPR (integer)
NOEXPR (integer)
YESSTR (integer)
NOSTR (integer)
CODESET (integer)
LOG_EMERG (integer)
LOG_ALERT (integer)
LOG_CRIT (integer)
LOG_ERR (integer)
LOG_WARNING (integer)
LOG_NOTICE (integer)
LOG_INFO (integer)
LOG_DEBUG (integer)
LOG_KERN (integer)
LOG_USER (integer)
LOG_MAIL (integer)
LOG_DAEMON (integer)
LOG_AUTH (integer)
LOG_SYSLOG (integer)
LOG_LPR (integer)
LOG_NEWS (integer)
LOG_UUCP (integer)
LOG_CRON (integer)
LOG_AUTHPRIV (integer)
LOG_LOCAL0 (integer)
LOG_LOCAL1 (integer)
LOG_LOCAL2 (integer)
LOG_LOCAL3 (integer)
LOG_LOCAL4 (integer)
LOG_LOCAL5 (integer)
LOG_LOCAL6 (integer)
LOG_LOCAL7 (integer)
LOG_PID (integer)
LOG_CONS (integer)
LOG_ODELAY (integer)
LOG_NDELAY (integer)
LOG_NOWAIT (integer)
LOG_PERROR (integer)
이전 | 위로 | 다음
기선언 클래스 | 처음으로 | N. 리소스 타입 목록


부록 N. 리소스 타입 목록

다음은 PHP 리소스를 생성, 사용, 파괴하는 함수 목록이다. 함수 is_resource()는 특정 변수가 리소스인지 확인하기 위해 사용될수 있고 get_resource_type()은 변수의 리소스 타입을 리턴할것이다.

표 N.1. 리소스 타입

리소스 타입명 | 생성 함수 | 사용 함수 | 파괴 함수 | 선언
aspell | aspell_new() | aspell_check(), aspell_check_raw(), aspell_suggest() | None | Aspell dictionary
bzip2 | bzopen() | bzerrno(), bzerror(), bzerrstr(), bzflush(), bzread(), bzwrite() | bzclose() | Bzip2 file
COM | com_load() | com_invoke(), com_propget(), com_get(), com_propput(), com_set(), com_propput() | None | COM 객체 레퍼런스
VARIANT
cpdf | cpdf_open() | cpdf_page_init(), cpdf_finalize_page(), cpdf_finalize(), cpdf_output_buffer(), cpdf_save_to_file(), cpdf_set_current_page(), cpdf_begin_text(), cpdf_end_text(), cpdf_show(), cpdf_show_xy(), cpdf_text(), cpdf_set_font(), cpdf_set_leading(), cpdf_set_text_rendering(), cpdf_set_horiz_scaling(), cpdf_set_text_rise(), cpdf_set_text_matrix(), cpdf_set_text_pos(), cpdf_set_text_pos(), cpdf_set_word_spacing(), cpdf_continue_text(), cpdf_stringwidth(), cpdf_save(), cpdf_translate(), cpdf_restore(), cpdf_scale(), cpdf_rotate(), cpdf_setflat(), cpdf_setlinejoin(), cpdf_setlinecap(), cpdf_setmiterlimit(), cpdf_setlinewidth(), cpdf_setdash(), cpdf_moveto(), cpdf_rmoveto(), cpdf_curveto(), cpdf_lineto(), cpdf_rlineto(), cpdf_circle(), cpdf_arc(), cpdf_rect(), cpdf_closepath(), cpdf_stroke(), cpdf_closepath_fill_stroke(), cpdf_fill_stroke(), cpdf_clip(), cpdf_fill(), cpdf_setgray_fill(), cpdf_setgray_stroke(), cpdf_setgray(), cpdf_setrgbcolor_fill(), cpdf_setrgbcolor_stroke(), cpdf_setrgbcolor(), cpdf_add_outline(), cpdf_set_page_animation(), cpdf_import_jpeg(), cpdf_place_inline_image(), cpdf_add_annotation() | cpdf_close() | CPDF lib에 의한 PDF 문서
cpdf outline
curl | curl_init() | curl_init(), curl_exec() | curl_close() | Curl session
dbm | dbmopen() | dbmexists(), dbmfetch(), dbminsert(), dbmreplace(), dbmdelete(), dbmfirstkey(), dbmnextkey() | dbmclose() | DBM database로의 연결
dba | dba_open() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | dba_close() | Link to DBA database
dba persistent | dba_popen() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | None | Persistent link to DBA database
dbase | dbase_open() | dbase_pack(), dbase_add_record(), dbase_replace_record(), dbase_delete_record(), dbase_get_record(), dbase_get_record_with_names(), dbase_numfields(), dbase_numrecords() | dbase_close() | Link to Dbase database
dbx_link_object | dbx_connect() | dbx_query() | dbx_close() | dbx connection
dbx_result_object | dbx_query() | None | dbx result
domxml attribute
domxml document
domxml node
xpath context
xpath object
fbsql database | fbsql_select_db() | None | fbsql database
fbsql link | fbsql_change_user(), fbsql_connect() | fbsql_autocommit(), fbsql_change_user(), fbsql_create_db(), fbsql_data_seek(), fbsql_db_query(), fbsql_drop_db(), (), fbsql_select_db(), fbsql_errno(), fbsql_error(), fbsql_insert_id(), fbsql_list_dbs() | fbsql_close() | Link to fbsql database
fbsql plink | fbsql_change_user(), fbsql_pconnect() | fbsql_autocommit(), fbsql_change_user(), fbsql_create_db(), fbsql_data_seek(), fbsql_db_query(), fbsql_drop_db(), (), fbsql_select_db(), fbsql_errno(), fbsql_error(), fbsql_insert_id(), fbsql_list_dbs() | None | Persistent link to fbsql database
fbsql result | fbsql_db_query(), fbsql_list_dbs(), fbsql_query(), fbsql_list_fields(), fbsql_list_tables(), fbsql_tablename() | fbsql_affected_rows(), fbsql_fetch_array(), fbsql_fetch_assoc(), fbsql_fetch_field(), fbsql_fetch_lengths(), fbsql_fetch_object(), fbsql_fetch_row(), fbsql_field_flags(), fbsql_field_name(), fbsql_field_len(), fbsql_field_seek(), fbsql_field_table(), fbsql_field_type(), fbsql_next_result(), fbsql_num_fields(), fbsql_num_rows(), fbsql_result(), fbsql_num_rows() | fbsql_free_result() | fbsql result
fdf | fdf_open() | fdf_create(), fdf_save(), fdf_get_value(), fdf_set_value(), fdf_next_field_name(), fdf_set_ap(), fdf_set_status(), fdf_get_status(), fdf_set_file(), fdf_get_file(), fdf_set_flags(), fdf_set_opt(), fdf_set_submit_form_action(), fdf_set_javascript_action() | fdf_close() | FDF File
ftp | ftp_connect() | ftp_login(), ftp_pwd(), ftp_cdup(), ftp_chdir(), ftp_mkdir(), ftp_rmdir(), ftp_nlist(), ftp_rawlist(), ftp_systype(), ftp_pasv(), ftp_get(), ftp_fget(), ftp_put(), ftp_fput(), ftp_size(), ftp_mdtm(), ftp_rename(), ftp_delete(), ftp_site() | ftp_quit() | FTP stream
gd | imagecreate(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromwbmp(), imagecreatefromstring(), imagecreatetruecolor() | imagearc(), imagechar(), imagecharup(), imagecolorallocate(), imagecolorat(), imagecolorclosest(), imagecolorexact(), imagecolorresolve(), imagegammacorrect(), imagegammacorrect(), imagecolorset(), imagecolorsforindex(), imagecolorstotal(), imagecolortransparent(), imagecopy(), imagecopyresized(), imagedashedline(), imagefill(), imagefilledpolygon(), imagefilledrectangle(), imagefilltoborder(), imagegif(), imagepng(), imagejpeg(), imagewbmp(), imageinterlace(), imageline(), imagepolygon(), imagepstext(), imagerectangle(), imagesetpixel(), imagestring(), imagestringup(), imagesx(), imagesy(), imagettftext(), imagefilledarc(), imageellipse(), imagefilledellipse(), imagecolorclosestalpha(), imagecolorexactalpha(), imagecolorresolvealpha(), imagecopymerge(), imagecopymergegray(), imagecopyresampled(), imagetruecolortopalette(), imagesetbrush(), imagesettile(), imagesetthickness() | imagedestroy() | GD Image
gd font | imageloadfont() | imagechar(), imagecharup(), imagefontheight() | None | Font for GD
gd PS encoding
gd PS font | imagepsloadfont() | imagepstext(), imagepsslantfont(), imagepsextendfont(), imagepsencodefont(), imagepsbbox() | imagepsfreefont() | PS font for GD
GMP integer | gmp_init() | gmp_intval(), gmp_strval(), gmp_add(), gmp_sub(), gmp_mul(), gmp_div_q(), gmp_div_r(), gmp_div_qr(), gmp_div(), gmp_mod(), gmp_divexact(), gmp_cmp(), gmp_neg(), gmp_abs(), gmp_sign(), gmp_fact(), gmp_sqrt(), gmp_sqrtrm(), gmp_perfect_square(), gmp_pow(), gmp_powm(), gmp_prob_prime(), gmp_gcd(), gmp_gcdext(), gmp_invert(), gmp_legendre(), gmp_jacobi(), gmp_random(), gmp_and(), gmp_or(), gmp_xor(), gmp_setbit(), gmp_clrbit(), gmp_scan0(), gmp_scan1(), gmp_popcount(), gmp_hamdist() | None | GMP Number
hyperwave document | hw_cp(), hw_docbyanchor(), hw_getremote(), hw_getremotechildren() | hw_children(), hw_childrenobj(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getsrcbydestobj(), hw_getandlock(), hw_gettext(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_inscoll(), hw_pipedocument(), hw_unlock() | hw_deleteobject() | Hyperwave object
hyperwave link | hw_connect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | hw_close(), hw_free_document() | Link to Hyperwave server
hyperwave link persistent | hw_pconnect() | hw_children(), hw_childrenobj(), hw_cp(), hw_deleteobject(), hw_docbyanchor(), hw_docbyanchorobj(), hw_errormsg(), hw_edittext(), hw_error(), hw_getparents(), hw_getparentsobj(), hw_getchildcoll(), hw_getchildcollobj(), hw_getremote(), hw_getremotechildren(), hw_getsrcbydestobj(), hw_getobject(), hw_getandlock(), hw_gettext(), hw_getobjectbyquery(), hw_getobjectbyqueryobj(), hw_getobjectbyquerycoll(), hw_getobjectbyquerycollobj(), hw_getchilddoccoll(), hw_getchilddoccollobj(), hw_getanchors(), hw_getanchorsobj(), hw_mv(), hw_incollections(), hw_info(), hw_inscoll(), hw_insdoc(), hw_insertdocument(), hw_insertobject(), hw_mapid(), hw_modifyobject(), hw_pipedocument(), hw_unlock(), hw_who(), hw_getusername() | None | Persistent link to Hyperwave server
icap | icap_open() | icap_fetch_event(), icap_list_events(), icap_store_event(), icap_snooze(), icap_list_alarms(), icap_delete_event() | icap_close() | Link to icap server
imap | imap_open() | imap_append(), imap_body(), imap_check(), imap_createmailbox(), imap_delete(), imap_deletemailbox(), imap_expunge(), imap_fetchbody(), imap_fetchstructure(), imap_headerinfo(), imap_header(), imap_headers(), imap_listmailbox(), imap_getmailboxes(), imap_get_quota(), imap_status(), imap_listsubscribed(), imap_set_quota(), imap_set_quota(), imap_getsubscribed(), imap_mail_copy(), imap_mail_move(), imap_num_msg(), imap_num_recent(), imap_ping(), imap_renamemailbox(), imap_reopen(), imap_subscribe(), imap_undelete(), imap_unsubscribe(), imap_scanmailbox(), imap_mailboxmsginfo(), imap_fetchheader(), imap_uid(), imap_msgno(), imap_search(), imap_fetch_overview() | imap_close() | Link to IMAP, POP3 server
imap chain persistent
imap persistent
ingres | ingres_connect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | ingres_close() | Link to ingresII base
ingres persistent | ingres_pconnect() | ingres_query(), ingres_num_rows(), ingres_num_fields(), ingres_field_name(), ingres_field_type(), ingres_field_nullable(), ingres_field_length(), ingres_field_precision(), ingres_field_scale(), ingres_fetch_array(), ingres_fetch_row(), ingres_fetch_object(), ingres_rollback(), ingres_commit(), ingres_autocommit() | None | Persistent link to ingresII base
interbase blob
interbase link | ibase_connect() | ibase_query(), ibase_prepare(), ibase_trans() | ibase_close() | Link to Interbase database
interbase link persistent | ibase_pconnect() | ibase_query(), ibase_prepare(), ibase_trans() | None | Persistent link to Interbase database
interbase query | ibase_prepare() | ibase_execute() | ibase_free_query() | Interbase query
interbase result | ibase_query() | ibase_fetch_row(), ibase_fetch_object(), ibase_field_info(), ibase_num_fields() | ibase_free_result() | Interbase Result
interbase transaction | ibase_trans() | ibase_commit() | ibase_rollback() | Interbase transaction
java
ldap link | ldap_connect(), ldap_search() | ldap_count_entries(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_next_attribute(), ldap_next_entry() | ldap_close() | ldap connection
ldap result | ldap_read() | ldap_add(), ldap_compare(), ldap_bind(), ldap_count_entries(), ldap_delete(), ldap_errno(), ldap_error(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_get_option(), ldap_list(), ldap_modify(), ldap_mod_add(), ldap_mod_replace(), ldap_next_attribute(), ldap_next_entry(), ldap_mod_del(), ldap_set_option(), ldap_unbind() | ldap_free_result() | ldap search result
ldap result entry
mcal | mcal_open(), mcal_popen() | mcal_create_calendar(), mcal_rename_calendar(), mcal_rename_calendar(), mcal_delete_calendar(), mcal_fetch_event(), mcal_list_events(), mcal_append_event(), mcal_store_event(), mcal_delete_event(), mcal_list_alarms(), mcal_event_init(), mcal_event_set_category(), mcal_event_set_title(), mcal_event_set_description(), mcal_event_set_start(), mcal_event_set_end(), mcal_event_set_alarm(), mcal_event_set_class(), mcal_next_recurrence(), mcal_event_set_recur_none(), mcal_event_set_recur_daily(), mcal_event_set_recur_weekly(), mcal_event_set_recur_monthly_mday(), mcal_event_set_recur_monthly_wday(), mcal_event_set_recur_yearly(), mcal_fetch_current_stream_event(), mcal_event_add_attribute(), mcal_expunge() | mcal_close() | Link to calendar server
SWFAction
SWFBitmap
SWFButton
SWFDisplayItem
SWFFill
SWFFont
SWFGradient
SWFMorph
SWFMovie
SWFShape
SWFSprite
SWFText
SWFTextField
mnogosearch agent
mnogosearch result
msql link | msql_connect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | msql_close() | Link to mSQL database
msql link persistent | msql_pconnect() | msql(), msql_create_db(), msql_createdb(), msql_drop_db(), msql_drop_db(), msql_select_db(), msql_select_db() | None | Persistent link to mSQL
msql query | msql_query() | msql(), msql_affected_rows(), msql_data_seek(), msql_dbname(), msql_fetch_array(), msql_fetch_field(), msql_fetch_object(), msql_fetch_row(), msql_fieldname(), msql_field_seek(), msql_fieldtable(), msql_fieldtype(), msql_fieldflags(), msql_fieldlen(), msql_num_fields(), msql_num_rows(), msql_numfields(), msql_numrows(), msql_result() | msql_free_result(), msql_free_result() | mSQL result
mssql link | mssql_connect() | mssql_query(), mssql_select_db() | mssql_close() | Link to Microsft SQL Server database
mssql link persistent | mssql_pconnect() | mssql_query(), mssql_select_db() | None | Persistent link to Microsft SQL Server
mssql result | mssql_query() | mssql_data_seek(), mssql_fetch_array(), mssql_fetch_field(), mssql_fetch_object(), mssql_fetch_row(), mssql_field_length(), mssql_field_name(), mssql_field_seek(), mssql_field_type(), mssql_num_fields(), mssql_num_rows(), mssql_result() | mssql_free_result() | Microsft SQL Server result
mysql link | mysql_connect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | mysql_close() | Link to MySQL database
mysql link persistent | mysql_pconnect() | mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | None | Persistent link to MySQL database
mysql result | mysql_db_query(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query() | mysql_data_seek(), mysql_db_name(), mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_field(), mysql_fetch_lengths(), mysql_fetch_object(), mysql_fetch_row(), mysql_fetch_row(), mysql_field_flags(), mysql_field_name(), mysql_field_len(), mysql_field_seek(), mysql_field_table(), mysql_field_type(), mysql_num_fields(), mysql_num_rows(), mysql_result(), mysql_tablename() | mysql_free_result() | MySQL result
oci8 collection
oci8 connection | ocilogon(), ociplogon(), ocinlogon() | ocicommit(), ociserverversion(), ocinewcursor(), ociparse(), ocierror() | ocilogoff() | Link to Oracle database
oci8 descriptor
oci8 server
oci8 session
oci8 statement | ocinewdescriptor() | ocirollback(), ocinewdescriptor(), ocirowcount(), ocidefinebyname(), ocibindbyname(), ociexecute(), ocinumcols(), ociresult(), ocifetch(), ocifetchinto(), ocifetchstatement(), ocicolumnisnull(), ocicolumnname(), ocicolumnsize(), ocicolumntype(), ocistatementtype(), ocierror() | ocifreestatement() | Oracle Cursor
odbc link | odbc_connect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | odbc_close() | Link to ODBC database
odbc link persistent | odbc_connect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | None | Persistent link to ODBC database
odbc result | odbc_prepare() | odbc_binmode(), odbc_cursor(), odbc_execute(), odbc_fetch_into(), odbc_fetch_row(), odbc_field_name(), odbc_field_num(), odbc_field_type(), odbc_field_len(), odbc_field_precision(), odbc_field_scale(), odbc_longreadlen(), odbc_num_fields(), odbc_num_rows(), odbc_result(), odbc_result_all(), odbc_setoption() | odbc_free_result() | ODBC result
birdstep link
birdstep result
OpenSSL key | openssl_get_privatekey(), openssl_get_publickey() | openssl_sign(), openssl_seal(), openssl_open(), openssl_verify() | openssl_free_key() | OpenSSL key
OpenSSL X.509 | openssl_x509_read() | openssl_x509_parse(), openssl_x509_checkpurpose() | openssl_x509_free() | Public Key
oracle Cursor | ora_open() | ora_bind(), ora_columnname(), ora_columnsize(), ora_columntype(), ora_error(), ora_errorcode(), ora_exec(), ora_fetch(), ora_fetch_into(), ora_getcolumn(), ora_numcols(), ora_numrows(), ora_parse() | ora_close() | Oracle cursor
oracle link | ora_logon() | ora_do(), ora_error(), ora_errorcode(), ora_rollback(), ora_commitoff(), ora_commiton(), ora_open(), ora_commit() | ora_logoff() | Link to oracle database
oracle link persistent | ora_plogon() | ora_do(), ora_error(), ora_errorcode(), ora_rollback(), ora_commitoff(), ora_commiton(), ora_open(), ora_commit() | None | Persistent link to oracle database
pdf document | pdf_new() | pdf_add_bookmark(), pdf_add_launchlink(), pdf_add_locallink(), pdf_add_note(), pdf_add_pdflink(), pdf_add_weblink(), pdf_arc(), pdf_attach_file(), pdf_begin_page(), pdf_circle(), pdf_clip(), pdf_closepath(), pdf_closepath_fill_stroke(), pdf_closepath_stroke(), pdf_concat(), pdf_continue_text(), pdf_curveto(), pdf_end_page(), pdf_endpath(), pdf_fill(), pdf_fill_stroke(), pdf_findfont(), pdf_get_buffer(), pdf_get_image_height(), pdf_get_image_width(), pdf_get_parameter(), pdf_get_value(), pdf_lineto(), pdf_moveto(), pdf_open_ccitt(), pdf_open_file(), pdf_open_image_file(), pdf_place_image(), pdf_rect(), pdf_restore(), pdf_rotate(), pdf_save(), pdf_scale(), pdf_setdash(), pdf_setflat(), pdf_setfont(), pdf_setgray(), pdf_setgray_fill(), pdf_setgray_stroke(), pdf_setlinecap(), pdf_setlinejoin(), pdf_setlinewidth(), pdf_setmiterlimit(), pdf_setpolydash(), pdf_setrgbcolor(), pdf_setrgbcolor_fill(), pdf_setrgbcolor_stroke(), pdf_set_border_color(), pdf_set_border_dash(), pdf_set_border_style(), pdf_set_char_spacing(), pdf_set_duration(), pdf_set_font(), pdf_set_horiz_scaling(), pdf_set_parameter(), pdf_set_text_pos(), pdf_set_text_rendering(), pdf_set_value(), pdf_set_word_spacing(), pdf_show(), pdf_show_boxed(), pdf_show_xy(), pdf_skew(), pdf_stringwidth(), pdf_stroke(), pdf_translate(), pdf_open_memory_image() | pdf_close(), pdf_delete() | PDF document
pdf image | pdf_open_image(), pdf_open_image_file(), pdf_open_memory_image() | pdf_get_image_height(), pdf_get_image_width(), pdf_open_CCITT(), pdf_place_image() | pdf_close_image() | Image in PDF file
pdf object
pdf outline
pgsql large object | pg_lo_open() | pg_lo_open(), pg_lo_create(), pg_lo_read(), pg_lo_read_all(), pg_lo_seek(), pg_lo_tell(), pg_lo_unlink(), pg_lo_write() | pg_lo_close() | PostgreSQL Large Object
pgsql link | pg_connect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | pg_close() | Link to PostgreSQL database
pgsql link persistent | pg_pconnect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_metadata(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | None | Persistent link to PostgreSQL database
pgsql result | pg_query(), pg_get_result() | pg_fetch_array(), pg_fetch_object(), pg_fetch_result(), pg_fetch_row(), pg_field_is_null(), pg_field_name(), pg_field_num(), pg_field_prtlen(), pg_field_size(), pg_field_type(), pg_last_oid(), pg_num_fields(), pg_num_rows(), pg_result_error(), pg_result_status() | pg_free_result() | PostgreSQL result
pgsql string
printer
printer brush
printer font
printer pen
pspell | pspell_new(), pspell_new_config(), pspell_new_personal() | pspell_add_to_personal(), pspell_add_to_session(), pspell_check(), pspell_clear_session(), pspell_config_ignore(), pspell_config_mode(), pspell_config_personal(), pspell_config_repl(), pspell_config_runtogether(), pspell_config_save_repl(), pspell_save_wordlist(), pspell_store_replacement(), pspell_suggest() | None | pspell dictionary
pspell config | pspell_config_create() | pspell_new_config() | None | pspell configuration
Sablotron XSLT | xslt_create() | xslt_closelog(), xslt_openlog(), xslt_run(), xslt_set_sax_handler(), xslt_errno(), xslt_error(), xslt_fetch_result(), xslt_free() | xslt_free() | XSLT parser
shmop | shmop_open() | shmop_read(), shmop_write(), shmop_size(), shmop_delete() | shmop_close()
sockets file descriptor set | socket() | accept_connect(), bind(), connect(), listen(), read(), write() | close() | Socket
sockets i/o vector
dir | dir() | readdir(), rewinddir() | closedir() | Dir handle
file | fopen() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), flock(), fpassthru(), fputs(), fwrite(), fread(), fseek(), ftell(), fstat(), ftruncate(), set_file_buffer(), rewind() | fclose() | File handle
pipe | popen() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | pclose() | Process handle
socket | fsockopen() | fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | fclose() | Socket handle
stream
sybase-db link | sybase_connect() | sybase_query(), sybase_select_db() | sybase_close() | Link to Sybase database using DB library
sybase-db link persistent | sybase_pconnect() | sybase_query(), sybase_select_db() | None | Persistent link to Sybase database using DB library
sybase-db result | sybase_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Sybase result using DB library
sybase-ct link | sybase_connect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | sybase_close() | Link to Sybase database using CT library
sybase-ct link persistent | sybase_pconnect() | sybase_affected_rows(), sybase_query(), sybase_select_db() | None | Persistent link to Sybase database using CT library
sybase-ct result | sybase_query() | sybase_data_seek(), sybase_fetch_array(), sybase_fetch_field(), sybase_fetch_object(), sybase_fetch_row(), sybase_field_seek(), sybase_num_fields(), sybase_num_rows(), sybase_result() | sybase_free_result() | Sybase result using CT library
sysvsem | sem_get() | sem_acquire() | sem_release() | System V Semaphore
sysvshm | shm_attach() | shm_remove(), shm_put_var(), shm_get_var(), shm_remove_var() | shm_detach() | System V Shared Memory
wddx | wddx_packet_start() | wddx_add_vars() | wddx_packet_end() | WDDX packet
xml | xml_parser_create() | xml_set_object(), xml_set_element_handler(), xml_set_character_data_handler(), xml_set_processing_instruction_handler(), xml_set_default_handler(), xml_set_unparsed_entity_decl_handler(), xml_set_notation_decl_handler(), xml_set_external_entity_ref_handler(), xml_parse(), xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number(), xml_get_current_byte_index(), xml_parse_into_struct(), xml_parser_set_option(), xml_parser_get_option() | xml_parser_free() | XML parser
zlib | gzopen() | gzeof(), gzgetc(), gzgets(), gzgetss(), gzpassthru(), gzputs(), gzread(), gzrewind(), gzseek(), gztell(), gzwrite() | gzclose() | gz-compressed file

이전 | 위로 | 다음
예약 상수 | 처음으로 | O. 지원 프로토콜/래퍼 목록


부록 O. 지원 프로토콜/래퍼 목록

차례

파일시스템
HTTP 와 HTTPS
FTP 와 FTPS
PHP 입력/출력(input/output) 스트림
압축 스트림

다음은 fopen()과 copy() 등의 파일시스템 함수용으로 내장된 PHP의 다양한 URL 스타일 프로토콜의 목록이다. 이런 래퍼들은 물론, PHP 4.3.0에서는, PHP 스크립트와 stream_wrapper_register()를 사용하여 자신의 래퍼를 작성할 수 있다.

파일시스템

PHP의 모든 버전. 특히 PHP 4.3.0부터는 file:// 사용.

  • /path/to/file.ext
  • relative/path/to/file.ext
  • fileInCwd.ext
  • C:/path/to/winfile.ext
  • C:\path\to\winfile.ext
  • \\smbserver\share\path\to\winfile.ext
  • file:///path/to/file.ext

file://은 PHP에서 사용하는 기본 래퍼로, 로컬 파일시스템을 표현합니다. 상대 경로(/, \, \\, 윈도우 드라이브 문자로 시작하지 않는 경로)를 지정하면, 경로는 현재 작업 디렉토리로부터 적용합니다. 대부분의 경우에, 변경하지 않는 한 이는 스크립트가 존재하는 디렉토리입니다. CLI sapi를 사용할 때, 디렉토리의 기본값은 스크립트를 호출한 위치입니다.

fopen()과 file_get_contents() 등의 몇몇 함수는 include_path의 상대 경로도 검색합니다.

표 O.1. 래퍼 요약

속성 | 지원
allow_url_fopen으로 제한 | No
읽기 허용 | Yes
쓰기 허용 | Yes
추가 허용 | Yes
동시 읽기/쓰기 허용 | Yes
stat() 지원 | Yes
unlink() 지원 | Yes
rename() 지원 | Yes
mkdir() 지원 | Yes
rmdir() 지원 | Yes

이전 | 위로 | 다음
N. 리소스 타입 목록 | 처음으로 | HTTP 와 HTTPS


HTTP 와 HTTPS

PHP 3, PHP 4. PHP 4.3.0 이후의 https://

  • http://example.com
  • http://user:password@example.com
  • https://example.com
  • https://user:password@example.com

HTTP GET 방식을 사용하여, HTTP 1.0으로 파일/자원에 읽기 전용 권한을 허용합니다. 이름 기반 가상 호스트를 처리하기 위해서 Host: 헤더를 전송합니다. ini 파일이나 스트림 환경을 사용하여 user_agent 문자열을 설정하면, 요청에 같이 포함합니다.

주의

SSL을 사용할 때, 마이크로소프트 IIS는 close_notify 식별자를 보내지 않은채 접속을 종료하는 프로토콜 오류가 있습니다. PHP는 데이터의 마지막에 도달했을때, 이를 "SSL: Fatal Protocol Error"로 보고합니다. 이를 다루기 위해서는 error_reporting 레벨에 경고를 포함하지 않도록 해야합니다. PHP 4.3.7 이후는 https:// 래퍼를 통해 스트림을 열 때, 문제가 있는 IIS 서버 소프트웨어를 검출하여 경고를 하지 않습니다. ssl:// 소켓을 만들기 위해 fsockopen()을 사용한다면, 경고를 직접 검출하여 없애야 합니다.

리다이렉트(Redirect)는 PHP 4.0.5부터 지원합니다; 이전 버전을 사용한다면 URL의 마지막에 슬래쉬를 포함해야 합니다. (모든 리다이렉트를 처리한 에후) 문서가 어떤 URL 오는지 파악해야 한다면, 스트림을 통해 반환하는 응답 헤더를 처리해야 합니다.

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

/* PHP 4.3.0 이전에서는 stream_get_meta_data()
   대신 $http_response_header를 사용하십시오 */
foreach(stream_get_meta_data($fp) as $response) {

  /* 어디로 리다이렉트합니까? */
  if (substr(strtolower($response), 0, 10) == 'location: ') {
    /* 리다이렉트 되는 곳으로 $url을 갱신합니다 */
    $url = substr($response, 10);
  }

}

?>

스트림은 리소스의 body에 접속할 권한이 있다; 헤더는 $http_response_header 변수에 저장된다. PHP 4.3.0 이후부터, 헤더는 stream_get_meta_data()를 사용하여 이용가능하다.

HTTP 접속은 읽기-전용이다; HTTP 리소스에 데이터를 쓰거나 파일을 복사할수 없다.

참고: HTTPS는 PHP 4.3.0부터 지원되었다. OpenSSL에 대한 지원 옵션으로 컴파일해야 한다.

표 O.2. 래퍼 요약

속성 | 지원
allow_url_fopen으로 제한 | Yes
읽기 허용 | Yes
쓰기 허용 | No
추가 허용 | No
동시 읽기/쓰기 허용 | N/A
stat() 지원 | No
unlink() 지원 | No
rename() 지원 | No
mkdir() 지원 | No
rmdir() 지원 | No

표 O.3. 컨텍스트 옵션(PHP 5.0.0의)

이름 | 사용 | 기본값
method | 원격 서버에 의해 지원되는 GET, POST과 다른 모든 HTTP 메소드 | GET
header | 요청시 전송되는 추가적인 헤더. 이 옵션 값은 다른 값들(User-agent:, Host:, Authentication:)에 의해 오버라이드될것이다. |
user_agent | User-Agent: 헤더에 의해 전송되는 값. 이 값은 user-agent가 header 컨텍스트 옵션에서 설정되지 않을때만 사용될것이다. | php.ini setting: user_agent
content | 헤더 다음에 전송되는 추가데이터. 표준적으로 POST나 PUT 요청에서 사용된다. |
proxy | 프록시 서버를 지정하는 URI. (예. tcp://proxy.example.com:5100) |
request_fulluri | TRUE로 설정하면, 전체 URI를 사용하여 요청을 작성합니다. (예. GET http://www.example.com/path/to/file.html HTTP/1.0) 이는 비표준 요청 형식이지만, 몇몇 프록시 서버는 이를 요구합니다. | FALSE

기저(Underlying) 소켓 스트림 컨텍스트 옵션: http:// 스트림에 대한 기저(underlying) 전송에 의해 지원될수 있는 추가 컨텍스트 옵션이고, tcp:// 전송 컨텍스트 옵션으로 참조된다. https:// 스트림에 대해서는 ssl:// 전송 컨텍스트 옵션으로 참조된다.

이전 | 위로 | 다음
O. 지원 프로토콜/래퍼 목록 | 처음으로 | FTP 와 FTPS


FTP 와 FTPS

PHP 3, PHP 4. PHP 4.3.0이후부터 ftps://

  • ftp://example.com/pub/file.txt
  • ftp://user:password@example.com/pub/file.txt
  • ftps://example.com/pub/file.txt
  • ftps://user:password@example.com/pub/file.txt

FTP를 통해 기존 파일에 대한 읽기 권한과 새로운 파일의 생성 권한을 허용한다. 서버가 패시브 모드(passive mode) ftp를 지원하지않으면, 접속이 실패할것이다.

읽거나 쓰기 위해 파일을 열수 있다. 그러나 동시에 읽기/쓰기를 할수 없다. 원격 파일이 ftp 서버에 이미 존재하고 그 파일에 쓰기를 시도하려하는데 컨텍스트 옵션 overwrite 를 설정하지 않았다면, 접속이 실패할것이다. 차선책으로 FTP extension을 사용할수 있다.

덧붙이기: PHP 5.0.0부터 ftp:// URL 래퍼를 통해서 파일을 덧붙일 수 있습니다. 이전 버전에서, ftp://를 통한 파일 덧붙이기는 실패합니다.

PHP 4.3.0부터 ftps://를 지원한다. ftp://와 동일하지만, ftp 서버를 통해 안전한 접속 협상(negotiate)을 시도하려 한다. 서버가 SSL을 지원하지 않으면, 접속은 원래의 인코딩되지 않는 ftp로 되돌아간다.

참고: FTPS는 PHP 4.3.0부터 지원되었다. OpenSSL을 지원하도록 컴파일되어야 한다.

표 O.4. 래퍼 요약

속성 | PHP 4 | PHP 5
allow_url_fopen으로 제한 | Yes | Yes
읽기 허용 | Yes | Yes
쓰기 허용 | Yes (새 파일만) | Yes (새 파일/overwrite로 기존 파일)
추가 허용 | No | Yes
동시 읽기/쓰기 허용 | No | No
stat() 지원 | No | filesize(), filetype(), file_exists(), is_file(), is_dir() 요소만.
unlink() 지원 | No | Yes
rename() 지원 | No | Yes
mkdir() 지원 | No | Yes
rmdir() 지원 | No | Yes

표 O.5. 컨텍스트 옵션(PHP 5.0.0의)

이름 | 사용 | 기본값
overwrite | 원격 서버에 이미 존재하는 파일 덮어쓰기를 허용. 쓰기 모드(업로딩)에만 적용. | FALSE (Disabled)
resume_pos | 전송을 시작할 파일 위치. 읽기 모드(다운로딩)에만 적용. | 0 (파일 처음)

기저(Underlying) 소켓 스트림 컨텍스트 옵션: 기저(underlying) 전송에 ftp:// 스트림을 지원할수 있는 추가 컨텍스트 옵션이며 tcp:// 전송에 대한 컨텍스트 옵션으로 참조된다. ftps:// 스트림에 대해서는 ssl:// 전송에 대한 컨텍스트 옵션으로 참조된다.

이전 | 위로 | 다음
HTTP 와 HTTPS | 처음으로 | PHP 입력/출력(input/output) 스트림


PHP 입력/출력(input/output) 스트림

PHP 3.0.13 이후의, php://output PHP 4.3.0 이후의 php://input, PHP 5.0.0 이후의 php://filter

  • php://stdin
  • php://stdout
  • php://stderr
  • php://output
  • php://input
  • php://filter

php://stdin, php://stdout php://stderr은 PHP 프로세스의 입력이나 출력 스트림에 대한 접속 권한을 허용한다.

php://output은 print() 와 echo() 같은 출력 버퍼 메카니즘에 대한 쓰기 권한을 허용한다.

php://input은 raw POST 데이터를 읽을수 있는 권한을 허용한다. $HTTP_RAW_POST_DATA에 대한 메모리 집적에 대한 차선책이고, 특별한 php.ini 디렉티브 설정이 필요치 않다.

php://stdin 과 php://input 은 읽기 전용, 반면에 php://stdout, php://stderr 은 php://output 쓰기 전용이다.

php://filter는 스트림을 열때 필터의 응용을 허용하도록 설계된 메타-래퍼(meta-wrapper)의 한 종류이다. 컨텐츠를 읽기전에 스트림에 대한 필터를 적용할 기회가 전혀 없는 readfile(), file(), file_get_contents() 같은 올-인-원(all-in-one) 함수에 대한 가용성을 갖는다.

php://filter 타겟은 그 'path'의 부분으로서 다음 'parameters'를 취한다.

  • /resource=<필터링되는 스트림> (필수) 이 인자는 php://filter 사양의 끝부분에 위치해야 하고 필터링을 원하는 스트림을 가리켜야 한다.

    <?php
    /* This is equivalent to simply:
       readfile("http://www.example.com");
       since no filters are actually specified */

    readfile("php://filter/resource=http://www.example.com");
    ?>

  • /read=<읽기 체인에 적용되는 필터 리스트> (선택적) 이 인자는 | 파이프 문자로 구분되는 하나이상의 필터명이 적용된다.

    <?php
    /* This will output the contents of
       www.example.com entirely in uppercase */
    readfile("php://filter/read=string.toupper/resource=http://www.example.com");

    /* This will do the same as above
       but will also ROT13 encode it */
    readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
    ?>

  • /write=<쓰기 체인에 적용되는 필터 리스트> (선택적) 이 인자는 | 파이프 문자로 구분하는 하나이상의 필터명을 적용합니다.

    <?php
    /* This will filter the string "Hello World"
       through the rot13 filter, then write to
       example.txt in the current directory */
    file_set_contents("php://filter/write=string.rot13/resource=example.txt","Hello World");
    ?>

  • <양쪽 체인에 적용되는 필터 리스트> (선택적) read=나 write=에 선행하지 않는 모든 필터 목록은 읽기와 쓰기 양쪽 모두의 체인에 (적절하게) 적용합니다.

표 O.6. 래퍼(Wrapper) 요약(php://filter에 대한, 필터링 되는 래퍼의 요약으로 참조됨.)

속성 | 지원
allow_url_fopen으로 제한 | No
읽기 허용 | php://stdin, php://input 전용.
쓰기 허용 | php://stdout, php://stderr, php://output 전용.
추가 허용 | php://stdout, php://stderr, php://output only. (쓰기와 동일)
동시 읽기/쓰기 허용 | No. 이 래퍼는 방향성을 갖지 않는다.
stat() 지원 | No
unlink() 지원 | No
rename() 지원 | No
mkdir() 지원 | No
rmdir() 지원 | No

이전 | 위로 | 다음
FTP 와 FTPS | 처음으로 | 압축 스트림


압축 스트림

zlib: PHP 4.0.4 - PHP 4.2.3 (fopencookie만 갖는 시스템)

compress.zlib://과 compress.bzip2:// PHP 4.3.0 이상

  • zlib:
  • compress.zlib://
  • compress.bzip2://

zlib:는 gzopen()처럼 동작한다, fread()와 다른 파일시스템 함수와 함께 사용할수 없다. ':' 문자를 포함하는 파일명이 갖는 모호함때문에 PHP 4.3.0이후부터 사용되지 않는다. 대신 compress.zlib://를 사용한다.

compress.zlib:// 와 compress.bzip2:// 은 각각 gzopen() , bzopen()와 동일하게 동작하고, fopencookie를 지원하지 않는 시스템에서도 사용할수 있다.

표 O.7. 래퍼(Wrapper) 요약

속성 | 지원
allow_url_fopen으로 제한 | No
읽기 허용 | Yes
쓰기 허용 | Yes
추가 허용 | Yes
동시 읽기/쓰기 허용 | No
stat()지원 | No, 압축된 파일을 stat하기 위해서 보통의 file:// 래퍼를 사용한다.
unlink()지원 | No, 압축된 파일을 unlink하기 위해서 보통의 file:// 래퍼를 사용한다.
rename() 지원 | No
mkdir() 지원 | No
rmdir() 지원 | No

이전 | 위로 | 다음
PHP 입력/출력(input/output) 스트림 | 처음으로 | P. List of Available Filters


부록 P. List of Available Filters

차례

String Filters
Conversion Filters
Compression Filters
Encryption Filters

The following is a list of a few built-in stream filters for use with stream_filter_append(). Your version of PHP may have more filters (or fewer) than those listed here.

It is worth noting a slight asymmetry between stream_filter_append() and stream_filter_prepend(). Every PHP stream contains a small read buffer where it stores blocks of data retrieved from the filesystem or other resource in order to process data in the most efficient manner. As soon as data is pulled from the resource into the stream's internal buffer, it is immediately processed through any attached filters whether the PHP application is actually ready for the data or not. If data is sitting in the read buffer when a filter is appended, this data will be immediately processed through that filter making the fact that it was sitting in the buffer seem transparent. However, if data is sitting in the read buffer when a filter is prepended, this data will NOT be processed through that filter. It will instead wait until the next block of data is retrieved from the resource.

For a list of filters installed in your version of PHP use stream_get_filters().

String Filters

Each of these filters does precisely what their name implies and correspond to the behavior of a built-in php string handling function. For more information on a given filter, refer to the manual page for the corresponding function.

string.rot13 (since PHP 4.3.0) Use of this filter is equivalent to processing all stream data through the str_rot13() function.

예 P.1. string.rot13

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.rot13');
fwrite($fp, "This is a test.\n");
/* Outputs:  Guvf vf n grfg.   */
?>

string.toupper (since PHP 5.0.0) Use of this filter is equivalent to processing all stream data through the strtoupper() function.

예 P.2. string.toupper

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.toupper');
fwrite($fp, "This is a test.\n");
/* Outputs:  THIS IS A TEST.   */
?>

string.tolower (since PHP 5.0.0) Use of this filter is equivalent to processing all stream data through the strtolower() function.

예 P.3. string.tolower

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.tolower');
fwrite($fp, "This is a test.\n");
/* Outputs:  this is a test.   */
?>

string.strip_tags (since PHP 5.0.0) Use of this filter is equivalent to processing all stream data through the strip_tags() function. It accepts parameters in one of two forms: Either as a string containing a list of tags similar to the second parameter of the strip_tags() function, or as an array of tag names.

예 P.4. string.strip_tags

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($fp, "<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs:  <b>bolded text</b> enlarged to a level 1 heading   */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($fp, "<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs:  <b>bolded text</b> enlarged to a level 1 heading   */
?>

이전 | 위로 | 다음
압축 스트림 | 처음으로 | Conversion Filters


Conversion Filters

Like the string.* filters, the convert.* filters perform actions similar to their names. The convert filters were added with PHP 5.0.0. For more information on a given filter, refer to the manual page for the corresponding function.

convert.base64-encode and convert.base64-decode Use of these filters are equivalent to processing all stream data through the base64_encode() and base64_decode() functions respectively. convert.base64-encode supports parameters given as an associative array. If line-length is given, the base64 output will be split into chunks of line-length characters each. If line-break-chars is given, each chunk will be delimited by the characters given. These parameters give the same effect as using base64_encode() with chunk_split().

예 P.5. convert.base64-encode & convert.base64-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode');
fwrite($fp, "This is a test.\n");
fclose($fp);
/* Outputs:  VGhpcyBpcyBhIHRlc3QuCg==  */

$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($fp, "This is a test.\n");
fclose($fp);
/* Outputs:  VGhpcyBp
          :  cyBhIHRl
          :  c3QuCg==  */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* Outputs:  This is a test.  */
?>

convert.quoted-printable-encode and convert.quoted-printable-decode Use of the decode version of this filter is equivalent to processing all stream data through the quoted_printable_decode() functions. There is no function equivalent to convert.quoted-printable-encode. convert.quoted-printable-encode supports parameters given as an associative array. In addition to the parameters supported by convert.base64-encode, convert.quoted-printable-encode also supports boolean arguments binary and force-encode-first. convert.base64-decode only supports the line-break-chars parameter as a type-hint for striping from the encoded payload.

예 P.6. convert.quoted-printable-encode & convert.quoted-printable-decode

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.quoted-printable-encode');
fwrite($fp, "This is a test.\n");
/* Outputs:  =This is a test.=0A  */
?>

이전 | 위로 | 다음
P. List of Available Filters | 처음으로 | Compression Filters


Compression Filters

While the Compression Wrappers provide a way of creating gzip and bz2 compatible files on the local filesystem, they do not provide a means for generalized compression over network streams, nor do they provide a means to begin with a non-compressed stream and transition to a compressed one. For this, a compression filter may be applied to any stream resource at any time.

참고: Compression filters do not generate headers and trailers used by command line utilities such as gzip. They only compress and decompress the payload portions of compressed data streams.

zlib.deflate (compression) and zlib.inflate (decompression) are implementations of the compression methods described in » RFC 1951. The deflate filter takes up to three parameters passed as an associative array. level describes the compression strength to use (1-9). Higher numbers will generally yield smaller payloads at the cost of additional processing time. Two special compression levels also exist: 0 (for no compression at all), and -1 (zlib internal default -- currently 6). window is the base-2 log of the compression loopback window size. Higher values (up to 15 -- 32768 bytes) yield better compression at a cost of memory, while lower values (down to 9 -- 512 bytes) yield worse compression in a smaller memory footprint. Default window size is currently 15. memory is a scale indicating how much work memory should be allocated. Valid values range from 1 (minimal allocation) to 9 (maximum allocation). This memory allocation affects speed only and does not impact the size of the generated payload.

참고: Because compression level is the most commonly used parameter, it may be alternatively provided as a simple integer value (rather than an array element).

zlib.* compression filters are available with PHP as of version 5.1.0 if zlib support is enabled. They are also available as a backport in version 5.0.x by installing the » zlib_filter package from » PECL. These filters are not available for PHP 4.

예 P.7. zlib.deflate and zlib.inflate

<?php
$params = array('level' => 6, 'window' => 15, 'memory' => 9);

$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "The original text is " . strlen($original_text) . " characters long.\n";

$fp = fopen('test.deflated', 'w');
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, $params);
fwrite($fp, $original_text);
fclose($fp);

echo "The compressed file is " . filesize('test.deflated') . " bytes long.\n";
echo "The original text was:\n";
/* Use readfile and zlib.inflate to decompress on the fly */
readfile('php://filter/zlib.inflate/resource=test.deflated');

/* Generates output:

The original text is 70 characters long.
The compressed file is 56 bytes long.
The original text was:
This is a test.
This is only a test.
This is not an important string.

 */
?>

예 P.8. zlib.deflate simple

<?php
$original_text = "This is a test.\nThis is only a test.\nThis is not an important string.\n";
echo "The original text is " . strlen($original_text) . " characters long.\n";

$fp = fopen('test.deflated', 'w');
/* Here "6" indicates compression level 6 */
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, 6);
fwrite($fp, $original_text);
fclose($fp);

echo "The compressed file is " . filesize('test.deflated') . " bytes long.\n";

/* Generates output:

The original text is 70 characters long.
The compressed file is 56 bytes long.

 */
?>

bzip2.compress and bzip2.decompress work in the same manner as the zlib filters described above. The bzip2.compress filter accepts up to two parameters given as elements of an associative array: blocks is an integer value from 1 to 9 specifying the number of 100kbyte blocks of memory to allocate for workspace. work is also an integer value ranging from 0 to 250 indicating how much effort to expend using the normal compression method before falling back on a slower, but more reliable method. Tuning this parameter effects only compression speed. Neither size of compressed output nor memory usage are changed by this setting. A work factor of 0 instructs the bzip library to use an internal default. The bzip2.decompress filter only accepts one parameter, which can be passed as either an ordinary boolean value, or as the small element of an associative array. small, when set to a TRUE value, instructs the bzip library to perform decompression in a minimal memory footprint at the cost of speed.

bzip2.* compression filters are available with PHP as of version 5.1.0 if bz2 support is enabled. They are also available as a backport in version 5.0.x by installing the » bz2_filter package from » PECL. These filters are not available for PHP 4.

예 P.9. bzip2.compress and bzip2.decompress

<?php
$param = array('blocks' => 9, 'work' => 0);

echo "The original file is " . filesize('LICENSE') . " bytes long.\n";

$fp = fopen('LICENSE.compressed', 'w');
stream_filter_append($fp, 'bzip2.compress', STREAM_FILTER_WRITE, $param);
fwrite($fp, file_get_contents('LICENSE'));
fclose($fp);

echo "The compressed file is " . filesize('LICENSE.compressed') . " bytes long.\n";

/* Generates output:

The original text is 3288 characters long.
The compressed file is 1488 bytes long.

 */
?>

이전 | 위로 | 다음
Conversion Filters | 처음으로 | Encryption Filters


부록 Q. 지원되는 소켓 전송 목록

차례

인터넷 도메인: TCP, UDP, SSL, TLS
유닉스 도메인: UNIX와 UDG

다음은 fsockopen()과 stream_socket_client()같은 스트림 기반 소켓 함수를 사용하기 위해 PHP가 내장하고 있는 다양한 URL 스타일의 소켓 전송 목록이다. 이런 전송들은 Sockets Extension에 적용되지 않는다.

설치된 PHP 버전안에 사용가능한 전송 리스트를 보려면 stream_get_transports()를 사용하라.

인터넷 도메인: TCP, UDP, SSL, TLS

PHP 3, PHP 4. ssl:// & PHP 4.3이후의 tls://

참고: 전송이 표시되지 않으면 tcp://라고 가정할것이다.

  • 127.0.0.1
  • fe80::1
  • www.example.com
  • tcp://127.0.0.1
  • tcp://fe80::1
  • tcp://www.example.com
  • udp://www.example.com
  • ssl://www.example.com
  • tls://www.example.com

인터넷 도메인 소켓은 목표 주소에 더하여 포트 번호가 올것을 예상할수 있다. fsockopen()의 경우 이것은 두번째 인수에서 설정되고 따라서 전송 url의 구성에 영향을 주지 않는다. stream_socket_client()와 이와 관련된 함수는 전통적인 URL을 갖는다. 포트 번호는 전송 URL의 끝에 콜론으로 구분되어 덧붙여진다.

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://www.example.com:80

포트 번호를 갖는 IPv6 숫자 주소: 위 예제중 두번째는, IPv4의 호스트명 예제가 콜른과 포트번호의 추가와는 별개로 남겨져있는데 반하여, IPv6 주소는 대괄호: [fe80::1]에 둘러쌓여 있다. 이것은 IPv6 주소에서 사용되는 콜론과 포트번호를 구분하기 위해 사용되는 콜론을 구별하기 위한 것이다.

ssl:// 과 tls:// 전송은 (openssl 지원이 PHP안에 컴파일되었을때만 가용) SSL 암호화를 포함하는 tcp:// 전송의 확장이다. PHP 4.3.0이후에 OpenSSL 지원은 PHP와 정적으로 컴파일되어야 한다. PHP 5.0.0 이후부터는 모듈이건 정적이건 아무거나 컴파일 되어 사용될수 있을것이다.

표 Q.1. ssl://와 tls://에 대한 환경 옵션 (PHP 4.3.2 이후 버전)

이름 | 용도 | 기본값
verify_peer | TRUE or FALSE. 사용되는 SSL 인증의 조회를 요구 | FALSE
allow_self_signed | TRUE or FALSE. 자체-사인된 인증을 허용 | FALSE
cafile | 원격단의 신원을 인증하기 위한 verify_peer 환경 옵션으로 사용될수 있는 로컬 파일시스템상의 인증 증명서 파일의 위치 |
capath | cafile에서 설정되지 않거나 인증서를 거기서 찾을수 없다면, capath에 의해 지정된 디렉토리에서 적절한 인증서를 검색한다. capath는 정확하게 해쉬된 인증서 디렉토리여야 한다. |
local_cert | 파일시스템 상의 로컬 인증서 파일로의 경로. 인증과 개인키를 포함하는 인코딩된 PEM 파일이 되어야 한다. 이것은 요구자의 인증 체인을 선택적으로 포함할수 있다. |
passphrase | 인코딩된 local_cert파일의 패스구절(passphrase). |
CN_match | Common Name 이 와야 함. PHP는 제한된 와일드카드 비교를 수행할것이다. Common Name이 이와 일치하지 않으면, 접속시도가 실패할것이다. |

참고: ssl://은 https://와 ftps:// 래퍼를 위한 중요한 전송이기 때문에, ssl://에 적용되는 환경 옵션은 https://와 ftps://에도 적용된다.

이전 | 위로 | 다음
Encryption Filters | 처음으로 | 유닉스 도메인: UNIX와 UDG


유닉스 도메인: UNIX와 UDG

PHP 3 이후의 unix://, PHP 5 이후의 udg://

  • unix:///tmp/mysock
  • udg:///tmp/mysock

unix://는 유닉스 도메인에 대한 소켓 스트림 접속 시도를 제공한다. udg://는 user datagram protocol을 사용하는 유닉스 도메인 소켓에 대한 대체 전송을 제공한다.

유닉스 도메인 소켓은 인터넷 도메인 소켓과는 달리 포트 번호를 쓰지 않는다. fsockopen()에서 portno 인자는 0이 되어야 한다.

이전 | 위로 | 다음
Q. 지원되는 소켓 전송 목록 | 처음으로 | R. PHP 타입 비교 테이블


부록 R. PHP 타입 비교 테이블

다음 테이블은 PHP 타입 과 느슨한 비교와 엄격한 비교를 위한 비교 연산자의 동작을 설명한다. 이 부록은 타입 저글링에 관한 매뉴얼 섹션과도 관련이 있다. 다양한 유저 주석과 » BlueShoes의 보고서를 통해 영감을 얻을수 있다.

이 테이블을 이용하기 전에, 타입과 각 타입의 의미를 이해해야 한다. 예를 들면, "42"는 string타입이고, 반면에 42는 integer타입이다. FALSE는 boolean타입이고, "false"는 string타입이 되는것이다.

참고: HTML 폼은 정수, 부동소수점, 논리 타입으로 전달하지 않는다. 문자열 타입으로 전달한다. 문자열이 숫자값인지 확인하기 위해서는 is_numeric()를 사용할수 있다.

참고: $x가 선언되지 않았는데 단순히 if ($x)를 수행하면 E_NOTICE 레벨의 에러가 발생할것이다. 대신 empty()나 isset()을 사용하고 그 변수를 초기화시키도록 한다.

표 R.1. PHP 함수로 $x 비교하기

Expression | gettype() | empty() | is_null() | isset() | boolean : if($x)
$x = ""; | string | TRUE | FALSE | TRUE | FALSE
$x = NULL | NULL | TRUE | TRUE | FALSE | FALSE
var $x; | NULL | TRUE | TRUE | FALSE | FALSE
$x is undefined | NULL | TRUE | TRUE | FALSE | FALSE
$x = array(); | array | TRUE | FALSE | TRUE | FALSE
$x = false; | boolean | TRUE | FALSE | TRUE | FALSE
$x = true; | boolean | FALSE | FALSE | TRUE | TRUE
$x = 1; | integer | FALSE | FALSE | TRUE | TRUE
$x = 42; | integer | FALSE | FALSE | TRUE | TRUE
$x = 0; | integer | TRUE | FALSE | TRUE | FALSE
$x = -1; | integer | FALSE | FALSE | TRUE | TRUE
$x = "1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "0"; | string | TRUE | FALSE | TRUE | FALSE
$x = "-1"; | string | FALSE | FALSE | TRUE | TRUE
$x = "php"; | string | FALSE | FALSE | TRUE | TRUE
$x = "true"; | string | FALSE | FALSE | TRUE | TRUE
$x = "false"; | string | FALSE | FALSE | TRUE | TRUE

표 R.2. ==로 느슨한 비교

 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php"
TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE
FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE
1 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE
-1 | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
"1" | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
"-1" | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
NULL | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE
array() | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"php" | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE

표 R.3. ===로 엄격한 비교

 | TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php"
TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
1 | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
-1 | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"1" | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
"-1" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
NULL | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE
array() | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"php" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE

PHP 3.0 주의 사항: 문자열 값 "0"은 PHP 3에서 비어있다고 처리되지 않는다. 이런 동작은 PHP 4에서 비어있다고 처리되도록 변경되었다.

이전 | 위로 | 다음
유닉스 도메인: UNIX와 UDG | 처음으로 | S. 해석기 토큰 목록


부록 S. 해석기 토큰 목록

PHP 언어의 많은 부분은 내부적으로 T_SR같은 타입으로 표현된다. PHP는 해석 에러에서 이와 같은 식별자를 출력한다. 다음과 같은 형태이다. "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10."

위는 T_SR이 무슨 의미인지 안다고 가정한다. 그 의미를 알지못하는 모든 사람을 위해 그런 식별자,PHP-문법,매뉴얼에 위치한 적절한 레퍼런스의 테이블을 보인다.

표 S.1. 토큰

토큰 | 문법 | 레퍼런스
T_AND_EQUAL | &= | assignment operators
T_ARRAY | array() | array(), array syntax
T_ARRAY_CAST | (array) | type-casting
T_AS | as | foreach
T_BAD_CHARACTER |  | anything below ASCII 32 except \t (0x09), \n (0x0a) and \r (0x0d)
T_BOOLEAN_AND | && | logical operators
T_BOOLEAN_OR | || | logical operators
T_BOOL_CAST | (bool) or (boolean) | type-casting
T_BREAK | break | break
T_CASE | case | switch
T_CHARACTER |  |
T_CLASS | class | classes and objects
T_CLOSE_TAG | ?> or %> |
T_COMMENT | // or # | comments
T_CONCAT_EQUAL | .= | assignment operators
T_CONST | const |
T_CONSTANT_ENCAPSED_STRING | "foo" or 'bar' | string syntax
T_CONTINUE | continue |
T_CURLY_OPEN |  |
T_DEC | -- | incrementing/decrementing operators
T_DECLARE | declare | declare
T_DEFAULT | default | switch
T_DIV_EQUAL | /= | assignment operators
T_DNUMBER | 0.12, etc | floating point numbers
T_DO | do | do..while
T_DOLLAR_OPEN_CURLY_BRACES | ${ | complex variable parsed syntax
T_DOUBLE_ARROW | => | array syntax
T_DOUBLE_CAST | (real), (double) or (float) | type-casting
T_ECHO | echo | echo()
T_ELSE | else | else
T_ELSEIF | elseif | elseif
T_EMPTY | empty | empty()
T_ENCAPSED_AND_WHITESPACE |  |
T_ENDDECLARE | enddeclare | declare, alternative syntax
T_ENDFOR | endfor | for, alternative syntax
T_ENDFOREACH | endforeach | foreach, alternative syntax
T_ENDIF | endif | if, alternative syntax
T_ENDSWITCH | endswitch | switch, alternative syntax
T_ENDWHILE | endwhile | while, alternative syntax
T_END_HEREDOC |  | heredoc syntax
T_EVAL | eval() | eval()
T_EXIT | exit or die | exit(), die()
T_EXTENDS | extends | extends, classes and objects
T_FILE | __FILE__ | constants
T_FOR | for | for
T_FOREACH | foreach | foreach
T_FUNCTION | function or cfunction | functions
T_GLOBAL | global | variable scope
T_IF | if | if
T_INC | ++ | incrementing/decrementing operators
T_INCLUDE | include() | include()
T_INCLUDE_ONCE | include_once() | include_once()
T_INLINE_HTML |  |
T_INT_CAST | (int) or (integer) | type-casting
T_ISSET | isset() | isset()
T_IS_EQUAL | == | comparison operators
T_IS_GREATER_OR_EQUAL | >= | comparison operators
T_IS_IDENTICAL | === | comparison operators
T_IS_NOT_EQUAL | != or <> | comparison operators
T_IS_NOT_IDENTICAL | !== | comparison operators
T_SMALLER_OR_EQUAL | <= | comparison operators
T_LINE | __LINE__ | constants
T_LIST | list() | list()
T_LNUMBER | 123, 012, 0x1ac, etc | integers
T_LOGICAL_AND | and | logical operators
T_LOGICAL_OR | or | logical operators
T_LOGICAL_XOR | xor | logical operators
T_MINUS_EQUAL | -= | assignment operators
T_ML_COMMENT | /* and */ | comments
T_MOD_EQUAL | %= | assignment operators
T_MUL_EQUAL | *= | assignment operators
T_NEW | new | classes and objects
T_NUM_STRING |  |
T_OBJECT_CAST | (object) | type-casting
T_OBJECT_OPERATOR | -> | classes and objects
T_OLD_FUNCTION | old_function | old_function
T_OPEN_TAG | <?php, <? or <% | escaping from HTML
T_OPEN_TAG_WITH_ECHO | <?= or <%= | escaping from HTML
T_OR_EQUAL | |= | assignment operators
T_PAAMAYIM_NEKUDOTAYIM | :: | ::
T_PLUS_EQUAL | += | assignment operators
T_PRINT | print() | print()
T_REQUIRE | require() | require()
T_REQUIRE_ONCE | require_once() | require_once()
T_RETURN | return | returning values
T_SL | << | bitwise operators
T_SL_EQUAL | <<= | assignment operators
T_SR | >> | bitwise operators
T_SR_EQUAL | >>= | assignment operators
T_START_HEREDOC | <<< | heredoc syntax
T_STATIC | static | variable scope
T_STRING |  |
T_STRING_CAST | (string) | type-casting
T_STRING_VARNAME |  |
T_SWITCH | switch | switch
T_UNSET | unset() | unset()
T_UNSET_CAST | (unset) | (not documented; casts to NULL)
T_USE | use | (not implemented)
T_VAR | var | classes and objects
T_VARIABLE | $foo | variables
T_WHILE | while | while, do..while
T_WHITESPACE |  |
T_XOR_EQUAL | ^= | assignment operators
T_FUNC_C | __FUNCTION__ | constants, since PHP 4.3.0
T_CLASS_C | __CLASS__ | constants, since PHP 4.3.0

이전 | 위로 | 다음
R. PHP 타입 비교 테이블 | 처음으로 | T. Userland Naming Guide


부록 U. 매뉴얼에 대하여

차례

형식
사용자 주석에 대하여
함수 선언(prototype)을 읽는 법
매뉴얼에 문서화한 PHP 버전
PHP에 대한 더 많은 정보 찾는 법
문서 향상을 돕는 법
형식을 어떻게 만들었는가
번역

형식

PHP 매뉴얼은 여러 형식으로 제공됩니다. 제공하는 형식은 두가지 그룹으로 나눌 수 있습니다: 온라인에서 읽을 수 있는 형식, 내려받을 수 있는 패키지.

참고: 이 매뉴얼의 출력판을 만들 수 있지만, 추천하지 않습니다. 이런 출력물은 최신판에서 빠르게 뒤쳐지기 때문입니다.

매뉴얼은 » PHP.net 웹사이트와 여러 미러 사이트를 통하여 온라인으로 읽을 수 있습니다. 빠른 속도를 위해서는 가장 가까운 미러 사이트를 선택하십시오. PHP 매뉴얼 온라인판은 웹용과 출력용, 두가지 CSS 스타일 시트를 제공합니다:

오프라인 형식에 비해 온라인 매뉴얼이 가지는 장점은, 사용자 공헌 주석을 제공하고 원하는 매뉴얼 부분을 빠르게 찾을 수 있는 » URL 단축을 제공하는 점입니다. 확실한 단점은 온라인이여야 한다는 점입니다.

오프라인 매뉴얼은 몇가지 형식으로 제공됩니다. 가장 적합한 형식은 사용중인 운영체제와 개인적인 독서 방식에 따라 다릅니다. 어떻게 매뉴얼이 이렇게 많은 형식으로 만들어지는지 알고 싶다면, 이 부록의 '어떻게 우리가 형식을 만드는가' 섹션을 읽어보십시오.

매뉴얼에서 가장 호환성이 높은 형식은 HTML판입니다. HTML판은 하나의 HTML 파일로 만들어진 것과, 각 섹션을 개별 파일로 나눈 패키지(수천개 파일의 모음)를 제공합니다. HTML 형식은 압축판으로도 제공합니다. 압축판에서 파일을 꺼내려면 압축 해제 유틸리티가 필요합니다.

윈도우 플랫폼을 위해서, 개량한 HTML 형식을 사용하는 윈도우 HTML 도움말판을 제공합니다. 이 형식은 문서전체 검색, 전체 목차, 북마크를 제공합니다. 많은 유명한 윈도우 PHP 개발 환경이 쉬운 접근을 위하여 이 형식의 문서를 탑재하고 있습니다. 리눅스 데스크탑을 위한 CHM 뷰어도 있습니다. » xCHM이나 » GnoCHM을 확인해 보십시오.

자주 갱신되진 않지만, 추가적인 기능을 제공하는 » 개량 CHM판도 제공합니다. 도움말 페이지를 만드는데 사용하는 기술로 인하여 마이크로소프트 윈도우에서만 작동합니다.

이전 | 위로 | 다음
Tips | 처음으로 | 사용자 주석에 대하여


사용자 주석에 대하여

사용자 공헌 주석은 매뉴얼을 개발하는 데 중요한 역할을 합니다. 독자가 브라우저에서 예제, 경고, 자세한 설명을 제공해줌으로써, 매뉴얼에 대한 피드백을 받아 매뉴얼 본문을 수정할 수 있습니다. 주석이 매뉴얼 본문에 포함되기 전에는 제공한 내용을 온라인이나, 몇몇 오프라인 형식에서 확인할 수 있습니다.

참고: 사용자 공헌 주석은 온라인에 보여지기 전에 수정을 거치지 않기 때문에, 내용 및 예제 코드의 질, 심지어 내용의 정확성마저도 보장할 수 없습니다. (물론 매뉴얼 자체의 질이나 정확성에 대해서 보장을 하진 않습니다)

참고: 라이센스를 보호하기 위해서 사용자 공헌 주석은 PHP 매뉴얼의 부속물로 봅니다. 따라서 이 문서를 보호하는 라이센스와 동일한 보호를 받습니다. (현재 Open Publication License) 자세한 사항은 매뉴얼 저작권을 참고하십시오.

이전 | 위로 | 다음
U. 매뉴얼에 대하여 | 처음으로 | 함수 선언(prototype)을 읽는 법


함수 선언(prototype)을 읽는 법

각 함수는 빠른 레퍼런스를 위해 문서화되어있다. 매뉴얼을 읽고 이해하는 법을 알면 PHP 학습이 더욱 쉬워질 것이다. 예제나 복사/붙여넣기에 의지하기 보다는, 함수 선언(prototypes)을 읽는 법을 알아야 합니다. 시작해 봅시다:

필요 조건: 타입에 대한 기본적인 이해 : PHP가 느슨한 타입 언어임에도 불구하고, 타입에 대한 기본적인 이해는 중요합니다. 타입은 중요한 의미를 가지고 있기 때문입니다.

함수 선언은 어떤 타입의 값이 반환되는지 알려줍니다. 첫번째 예제로 strlen()에 대한 선언을 사용합시다:

strlen

(PHP 3, PHP 4, PHP 5)
strlen -- 문자열의 길이를 구합니다.

설명
int strlen ( string $string )

문자열의 길이를 반환합니다.

표 U.1. 함수 선언 해설

부분 | 설명
strlen | 함수 이름입니다.
(PHP 3, PHP 4, PHP 5) | strlen()은 PHP 3, PHP 4, PHP 5의 모든 버전에 있습니다.
int | 이 함수가 반환하는 값은 integer형입니다. (즉, 문자열의 길이가 숫자로 측정됩니다)
( string $string ) | 이 함수의 처음 (이 경우는 하나뿐인) 매개변수는 string이라는 이름을 가지는 string형입니다.

위 함수 선언을 일반적인 방법으로 다시 작성할 수 있습니다:

      반환형    함수이름    ( 매개변수형   매개변수이름 )

in_array()처럼, 많은 함수는 여러 매개변수를 가집니다. 프로토타입은 다음과 같습니다:

      bool in_array ( mixed $needle, array $haystack [, bool $strict])

이것이 무엇을 의미할까요? in_array()는 불값을 반환합니다. 성공시(haystack에서 needle을 찾았을 때)에는 TRUE를, 실패시(haystack에서 needle을 찾지 못했을 때)에는 FALSE입니다. 첫번째 매개변수는 needle이라는 이름을 가지고, 여러 타입이 될 수 있기 때문에, "mixed"라고 불립니다. (찾을 목표인) mixed needle은 스칼라 값(문자열, 정수, 실수)이나 배열이 될 수 있습니다. (찾아볼 배열) haystack은 두번째 매개변수입니다. 세번째 선택적인 매개변수 이름은 strict입니다. 모든 선택적인 매개변수는 [ 브라켓 ] 사이에 들어갑니다. 매뉴얼에 strict 매개변수의 기본값은 불 FALSE로 나와 있습니다. 매개변수가 어떻게 동작하는지에 대한 자세한 사항은 각 함수의 매뉴얼 페이지를 참고하십시오.

조금 복잡한 PHP 버전 정보를 가지는 함수도 있습니다. 예를 들어 html_entity_decode()를 봅시다:

(PHP 4 >= 4.3.0, PHP 5)

이 함수는 PHP 3에 없고, PHP 4.3.0부터만 사용할 수 있음을 나타냅니다.

이전 | 위로 | 다음
사용자 주석에 대하여 | 처음으로 | 매뉴얼에 문서화한 PHP 버전


매뉴얼에 문서화한 PHP 버전

이 문서는 현재와 미래의 PHP 버전에 대한 정보를 가지고 있습니다. 상위 버전으로 업그레이드하는 방법과 호환성 정보는 PHP 3부터 제공합니다. PHP 버전에 따른 작동, 매개변수, 반환값, 기타 변경 사항은 주석이나 매뉴얼안에 문서화되어 있습니다.

가장 최근 개발 버전인 PHP CVS 버전에 대한 문서가 존재하기도 합니다. 이는 아직 릴리즈되지 않아 CVS 버전 관리 시스템이나 » 스냅샷을 통해서만 사용할 수 있습니다. 그러므로 "available in CVS"라고 나온 기능은 보통 사용할 수 없는 것입니다. 그러나, 이런 기능은 다음 PHP 안정 버전에서 사용할 수 있게 될 것입니다. CVS 버전을 받으려면, » 익명사용자 CVS 접근 페이지를 참고하십시오.

또한, 존재하지 않는 PHP 버전에 대한 문서도 있을 수 있습니다. (최종 안정판이 5.x.x인데 PHP 6.x.x로 표시된 것 등) 이들은 대부분, 문서 오류가 아닙니다. 매뉴얼에는 현재 PHP 릴리즈에서 사용할 수 없지만, 다음 PHP 버전에서 추가될 것으로 알려진 기능에 대한 설명이 자주 추가됩니다. 보통, PHP는 메이저 릴리즈에서만 새 기능을 추가하고, 나머지는 버그 수정판입니다. A.B.C 버전 형식을 사용하여, 메이저 릴리즈는 A나 B를 증가시키고, 마이너 릴리즈는 C를 증가시킵니다. 그러므로 최종 릴리즈가 PHP x.0.x일 때 PHP x.1.x부터 사용할 수 있다고 써 있는 경우가 자주 있습니다. 문서는 미래 시제가 아닌 현재 시제로 쓰여진다는 점에 주의하십시오.

이전 | 위로 | 다음
함수 선언(prototype)을 읽는 법 | 처음으로 | PHP에 대한 더 많은 정보 찾는 법


PHP에 대한 더 많은 정보 찾는 법

이 매뉴얼에서 일반적인 프로그래밍 연습을 위한 설명은 제공하지 않습니다. 초보 프로그래며는 이 매뉴얼만으로는 PHP 프로그램을 작성하는 방법을 배우기 어려울 것입니다. 대신, 초보자를 위한 기초 문서를 찾아보십시오.

PHP 프로그래밍을 위한 모든 부문의 많은 수의 토론용 메일링 리스트가 활성화되어 있습니다. 해결책을 찾을수 없는 문제에 빠져있다면, 이러한 메일링 리스트를 사용해 보십시오. 메일링 리스트를 포함한 지원 정보는 » PHP.net 지원 페이지를 참고하십시오. 또한, » PHP.net 링크 페이지에 PHP에 관련된 문서, 포럼, 코드를 제공하는 웹사이트 목록이 있습니다.

이전 | 위로 | 다음
매뉴얼에 문서화한 PHP 버전 | 처음으로 | 문서 향상을 돕는 법


문서 향상을 돕는 법

모두가 문서 향상을 돕는 세가지 방법이 있습니다.

어떤 언어던지 매뉴얼에서 오류를 발견한다면, » http://bugs.php.net/에 있는 버그 시스템을 사용하여 보고해 주십시오. 버그 분류는 "Documentation Problem"입니다. 매뉴얼 형식을 포함한 모든 문서 관련 문제를 버그로 보고할 수 있습니다.

참고: 버그 시스템에 도움을 요청하지 마십시오. 대신, 많은 » 지원 옵션을 사용하십시오.

공헌 주석으로 사용자가 다른 독자를 위한 추가적인 예제, 경고, 자세한 설명을 제공할 수 있습니다. 그러나 주석 시스템에 버그를 신고하지 말아주십시오. 자세한 사항은 '사용자 주석에 대하여'를 참고하십시오.

PHP 매뉴얼은 많은 언어로 번역되어 있습니다. 영어와 그 외의 외국어를 안다면 PHP 매뉴얼 번역팀의 작업을 도울 수 있습니다. 새로운 번역을 시작하거나, 현재 번역판을 돕고 싶다면 » http://doc.php.net/php/dochowto/를 읽어보십시오.

PHP 문서 프로젝트는 많은 매뉴얼 작성자가 상주하는 IRC 채널을 가지고 있습니다. irc.efnet.org의 #php.doc에서 PHP 문서를 향상하기 위한 대화를 할 수 있습니다.

이전 | 위로 | 다음
PHP에 대한 더 많은 정보 찾는 법 | 처음으로 | 형식을 어떻게 만들었는가


형식을 어떻게 만들었는가

이 매뉴얼은 » DocBook XML DTD를 사용하여 XML로 쓰여져 있고, 관리와 형식을 위해 » XSLT(확장 스타일시트 언어 변환)를 사용합니다.

원본 형식에 XML을 사용하여 원본 파일에서 많은 출력 형식을 만들어냄으로써, 모든 형식에 대하여 하나의 원본 문서만 관리할 수 있습니다. 온라인 문서 형식을 위해 사용하는 툴은 » xsltproc과 » DocBook XSL 스타일시트입니다. HTML과 TeX판은 » James Clark이 만든 » Jade와 » Norman Walsh가 만든 » 모듈화 DocBook 스타일시트를 사용합니다. 윈도우 HTML 도움말 형식을 작성하기 위해 » 마이크로소프트 HTML 도움말 워크샵을 사용합니다. 물론, 추가적인 변환과 형식화를 위해 PHP도 사용합니다.

PHP 매뉴얼은 다양한 언어와 형식으로 작성됩니다. 자세한 사항은 » http://www.php.net/docs.php을 참고하십시오. XML 원본 코드는 CVS에서 내려 받을 수 있고, » http://cvs.php.net/에서 볼 수 있습니다. 문서는 phpdco 모듈에 저장되어 있습니다.

이전 | 위로 | 다음
문서 향상을 돕는 법 | 처음으로 | 번역


번역

PHP 매뉴얼은 다양한 형식뿐 아니라, 다양한 언어로도 제공됩니다. 매뉴얼 내용은 우선 영어로 씌여지고, 전세계에 있는 팀원이 모국어로 번역합니다. 특정 함수나 장에 대해 아직 번역이 되지 않았다면, 빌드 시스템이 그 문서에 대한 영어 버전을 연결합니다.

번역하는 사람은 » http://cvs.php.net/에 있는 XML 소스 코드를 모국어로 번역합니다. 빌드 시스템이 XML을 읽기 쉬운 형식으로 변환하기 때문에 생성된 형식(HTML이나 일반 텍스트 등)은 사용하지 않습니다.

참고: 문서 번역에 도움을 주려면, phpdoc 메일링 리스트에 가입하여 번역/문서팀을 만나보십시오; 빈 메일을 » phpdoc-subscribe@lists.php.net로 보내십시오. 메일링 리스트 주소는 phpdoc@lists.php.net입니다. 매뉴얼 번역에 관심이 있다는 메세지를 보내면 누군가가 새로운 언어 번역을 시작하거나, 해당 언어의 기존 팀을 만날 수 있도록 답장을 줄 것입니다.

현재 매뉴얼은 전체적으로, 또는 부분적으로 다음 언어로 제공됩니다: Brazilian Portuguese, Chinese (Simplified), Chinese (Hong Kong Cantonese), Chinese (Traditional), Czech, Dutch, Finnish, French, German, Greek, Hebrew, Hungarian, Italian, Japanese, Korean, Polish, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Turkish.

모두 여기에서 받을 수 있습니다: » http://www.php.net/docs.php.

이전 | 위로 | 다음
형식을 어떻게 만들었는가 | 처음으로 | V. Open Publication License


부록 V. Open Publication License

차례

I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS
II. COPYRIGHT
III. SCOPE OF LICENSE
IV. REQUIREMENTS ON MODIFIED WORKS
V. GOOD-PRACTICE RECOMMENDATIONS
VI. LICENSE OPTIONS

v1.0, 8 June 1999

I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS

The Open Publication works may be reproduced and distributed in whole or in part, in any medium physical or electronic, provided that the terms of this license are adhered to, and that this license or an incorporation of it by reference (with any options elected by the author(s) and/or publisher) is displayed in the reproduction.

Proper form for an incorporation by reference is as follows:

Copyright (c) <year> by <author's name or designee>. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, vX.Y or later (the latest version is presently available at » http://www.opencontent.org/openpub/

The reference must be immediately followed with any options elected by the author(s) and/or publisher of the document (see section VI). Commercial redistribution of Open Publication-licensed material is permitted. Any publication in standard (paper) book form shall require the citation of the original publisher and author. The publisher and author's names shall appear on all outer surfaces of the book. On all outer surfaces of the book the original publisher's name shall be as large as the title of the work and cited as possessive with respect to the title.

이전 | 위로 | 다음
번역 | 처음으로 | II. COPYRIGHT


II. COPYRIGHT

The copyright to each Open Publication is owned by its author(s) or designee.

이전 | 위로 | 다음
V. Open Publication License | 처음으로 | III. SCOPE OF LICENSE


III. SCOPE OF LICENSE

The following license terms apply to all Open Publication works, unless otherwise explicitly stated in the document.

Mere aggregation of Open Publication works or a portion of an Open Publication work with other works or programs on the same media shall not cause this license to apply to those other works. The aggregate work shall contain a notice specifying the inclusion of the Open Publication material and appropriate copyright notice.

SEVERABILITY. If any part of this license is found to be unenforceable in any jurisdiction, the remaining portions of the license remain in force.

NO WARRANTY. Open Publication works are licensed and provided "as is" without warranty of any kind, express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose or a warranty of non-infringement.

이전 | 위로 | 다음
II. COPYRIGHT | 처음으로 | IV. REQUIREMENTS ON MODIFIED WORKS


IV. REQUIREMENTS ON MODIFIED WORKS

All modified versions of documents covered by this license, including translations, anthologies, compilations and partial documents, must meet the following requirements:

  1. The modified version must be labeled as such.
  2. The person making the modifications must be identified and the modifications dated.
  3. Acknowledgement of the original author and publisher if applicable must be retained according to normal academic citation practices.
  4. The location of the original unmodified document must be identified.
  5. The original author's (or authors') name(s) may not be used to assert or imply endorsement of the resulting document without the original author's (or authors') permission.

이전 | 위로 | 다음
III. SCOPE OF LICENSE | 처음으로 | V. GOOD-PRACTICE RECOMMENDATIONS


V. GOOD-PRACTICE RECOMMENDATIONS

In addition to the requirements of this license, it is requested from and strongly recommended of redistributors that:

  1. If you are distributing Open Publication works on hardcopy or CD-ROM, you provide email notification to the authors of your intent to redistribute at least thirty days before your manuscript or media freeze, to give the authors time to provide updated documents. This notification should describe modifications, if any, made to the document.
  2. All substantive modifications (including deletions) be either clearly marked up in the document or else described in an attachment to the document.
  3. Finally, while it is not mandatory under this license, it is considered good form to offer a free copy of any hardcopy and CD-ROM expression of an Open Publication-licensed work to its author(s).

이전 | 위로 | 다음
IV. REQUIREMENTS ON MODIFIED WORKS | 처음으로 | VI. LICENSE OPTIONS


VI. LICENSE OPTIONS

The author(s) and/or publisher of an Open Publication-licensed document may elect certain options by appending language to the reference to or copy of the license. These options are considered part of the license instance and must be included with the license (or its incorporation by reference) in derived works.

A. To prohibit distribution of substantively modified versions without the explicit permission of the author(s). "Substantive modification" is defined as a change to the semantic content of the document, and excludes mere changes in format or typographical corrections.

To accomplish this, add the phrase `Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.' to the license reference or copy.

B. To prohibit any publication of this work or derivative works in whole or in part in standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder.

To accomplish this, add the phrase 'Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.' to the license reference or copy.

이전 | 위로 | 다음
V. GOOD-PRACTICE RECOMMENDATIONS | 처음으로 | W. 함수 인덱스


부록 W. 함수 인덱스

차례

함수 인덱스

함수 인덱스

_

__halt_compiler()

A

abs()
acos()
acosh()
addcslashes()
addslashes()
aggregate()
aggregate_info()
aggregate_methods()
aggregate_methods_by_list()
aggregate_methods_by_regexp()
aggregate_properties()
aggregate_properties_by_list()
aggregate_properties_by_regexp()
aggregation_info()
apache_child_terminate()
apache_get_modules()
apache_get_version()
apache_getenv()
apache_lookup_uri()
apache_note()
apache_request_headers()
apache_reset_timeout()
apache_response_headers()
apache_setenv()
apc_add()
apc_cache_info()
apc_clear_cache()
apc_compile_file()
apc_define_constants()
apc_delete()
apc_fetch()
apc_load_constants()
apc_sma_info()
apc_store()
apd_breakpoint()
apd_callstack()
apd_clunk()
apd_continue()
apd_croak()
apd_dump_function_table()
apd_dump_persistent_resources()
apd_dump_regular_resources()
apd_echo()
apd_get_active_symbols()
apd_set_pprof_trace()
apd_set_session()
apd_set_session_trace()
apd_set_socket_session_trace()
array()
array_change_key_case()
array_chunk()
array_combine()
array_count_values()
array_diff()
array_diff_assoc()
array_diff_key()
array_diff_uassoc()
array_diff_ukey()
array_fill()
array_fill_keys()
array_filter()
array_flip()
array_intersect()
array_intersect_assoc()
array_intersect_key()
array_intersect_uassoc()
array_intersect_ukey()
array_key_exists()
array_keys()
array_map()
array_merge()
array_merge_recursive()
array_multisort()
array_pad()
array_pop()
array_product()
array_push()
array_rand()
array_reduce()
array_reverse()
array_search()
array_shift()
array_slice()
array_splice()
array_sum()
array_udiff()
array_udiff_assoc()
array_udiff_uassoc()
array_uintersect()
array_uintersect_assoc()
array_uintersect_uassoc()
array_unique()
array_unshift()
array_values()
array_walk()
array_walk_recursive()
ArrayIterator::current()
ArrayIterator::key()
ArrayIterator::next()
ArrayIterator::rewind()
ArrayIterator::seek()
ArrayIterator::valid()
ArrayObject::__construct()
ArrayObject::append()
ArrayObject::count()
ArrayObject::getIterator()
ArrayObject::offsetExists()
ArrayObject::offsetGet()
ArrayObject::offsetSet()
ArrayObject::offsetUnset()
arsort()
ascii2ebcdic()
asin()
asinh()
asort()
aspell_check()
aspell_check_raw()
aspell_new()
aspell_suggest()
assert()
assert_options()
atan()
atan2()
atanh()

B

base64_decode()
base64_encode()
base_convert()
basename()
bbcode_add_element()
bbcode_create()
bbcode_destroy()
bbcode_parse()
bcadd()
bccomp()
bcdiv()
bcmod()
bcmul()
bcompiler_load()
bcompiler_load_exe()
bcompiler_parse_class()
bcompiler_read()
bcompiler_write_class()
bcompiler_write_constant()
bcompiler_write_exe_footer()
bcompiler_write_file()
bcompiler_write_footer()
bcompiler_write_function()
bcompiler_write_functions_from_file()
bcompiler_write_header()
bcompiler_write_included_filename()
bcpow()
bcpowmod()
bcscale()
bcsqrt()
bcsub()
bin2hex()
bind_textdomain_codeset()
bindec()
bindtextdomain()
bzclose()
bzcompress()
bzdecompress()
bzerrno()
bzerror()
bzerrstr()
bzflush()
bzopen()
bzread()
bzwrite()

C

CachingIterator::__toString()
CachingIterator::hasNext()
CachingIterator::next()
CachingIterator::rewind()
CachingIterator::valid()
CachingRecursiveIterator::getChildren()
CachingRecursiveIterator::hasChildren()
cal_days_in_month()
cal_from_jd()
cal_info()
cal_to_jd()
call_user_func()
call_user_func_array()
call_user_method()
call_user_method_array()
ccvs_add()
ccvs_auth()
ccvs_command()
ccvs_count()
ccvs_delete()
ccvs_done()
ccvs_init()
ccvs_lookup()
ccvs_new()
ccvs_report()
ccvs_return()
ccvs_reverse()
ccvs_sale()
ccvs_status()
ccvs_textvalue()
ccvs_void()
ceil()
chdir()
checkdate()
checkdnsrr()
chgrp()
chmod()
chop()
chown()
chr()
chroot()
chunk_split()
class_exists()
class_implements()
class_parents()
classkit_import()
classkit_method_add()
classkit_method_copy()
classkit_method_redefine()
classkit_method_remove()
classkit_method_rename()
clearstatcache()
closedir()
closelog()
com()
com_addref()
com_create_guid()
com_event_sink()
com_get()
com_get_active_object()
com_invoke()
com_isenum()
com_load()
com_load_typelib()
com_message_pump()
com_print_typeinfo()
com_propget()
com_propput()
com_propset()
com_release()
com_set()
compact()
configuration()
connection_aborted()
connection_status()
connection_timeout()
constant()
constants()
constants()
constants()
convert_cyr_string()
convert_uudecode()
convert_uuencode()
copy()
cos()
cosh()
count()
count_chars()
cpdf_add_annotation()
cpdf_add_outline()
cpdf_arc()
cpdf_begin_text()
cpdf_circle()
cpdf_clip()
cpdf_close()
cpdf_closepath()
cpdf_closepath_fill_stroke()
cpdf_closepath_stroke()
cpdf_continue_text()
cpdf_curveto()
cpdf_end_text()
cpdf_fill()
cpdf_fill_stroke()
cpdf_finalize()
cpdf_finalize_page()
cpdf_global_set_document_limits()
cpdf_import_jpeg()
cpdf_lineto()
cpdf_moveto()
cpdf_newpath()
cpdf_open()
cpdf_output_buffer()
cpdf_page_init()
cpdf_place_inline_image()
cpdf_rect()
cpdf_restore()
cpdf_rlineto()
cpdf_rmoveto()
cpdf_rotate()
cpdf_rotate_text()
cpdf_save()
cpdf_save_to_file()
cpdf_scale()
cpdf_set_action_url()
cpdf_set_char_spacing()
cpdf_set_creator()
cpdf_set_current_page()
cpdf_set_font()
cpdf_set_font_directories()
cpdf_set_font_map_file()
cpdf_set_horiz_scaling()
cpdf_set_keywords()
cpdf_set_leading()
cpdf_set_page_animation()
cpdf_set_subject()
cpdf_set_text_matrix()
cpdf_set_text_pos()
cpdf_set_text_rendering()
cpdf_set_text_rise()
cpdf_set_title()
cpdf_set_viewer_preferences()
cpdf_set_word_spacing()
cpdf_setdash()
cpdf_setflat()
cpdf_setgray()
cpdf_setgray_fill()
cpdf_setgray_stroke()
cpdf_setlinecap()
cpdf_setlinejoin()
cpdf_setlinewidth()
cpdf_setmiterlimit()
cpdf_setrgbcolor()
cpdf_setrgbcolor_fill()
cpdf_setrgbcolor_stroke()
cpdf_show()
cpdf_show_xy()
cpdf_stringwidth()
cpdf_stroke()
cpdf_text()
cpdf_translate()
crack_check()
crack_closedict()
crack_getlastmessage()
crack_opendict()
crc32()
create_function()
crypt()
ctype_alnum()
ctype_alpha()
ctype_cntrl()
ctype_digit()
ctype_graph()
ctype_lower()
ctype_print()
ctype_punct()
ctype_space()
ctype_upper()
ctype_xdigit()
curl_close()
curl_copy_handle()
curl_errno()
curl_error()
curl_exec()
curl_getinfo()
curl_init()
curl_multi_add_handle()
curl_multi_close()
curl_multi_exec()
curl_multi_getcontent()
curl_multi_info_read()
curl_multi_init()
curl_multi_remove_handle()
curl_multi_select()
curl_setopt()
curl_setopt_array()
curl_version()
current()
cybercash_base64_decode()
cybercash_base64_encode()
cybercash_decr()
cybercash_encr()
cybermut_creerformulairecm()
cybermut_creerreponsecm()
cybermut_testmac()
cyrus_authenticate()
cyrus_bind()
cyrus_close()
cyrus_connect()
cyrus_query()
cyrus_unbind()

D

date()
date_create()
date_date_set()
date_default_timezone_get()
date_default_timezone_set()
date_format()
date_isodate_set()
date_modify()
date_offset_get()
date_parse()
date_sun_info()
date_sunrise()
date_sunset()
date_time_set()
date_timezone_get()
date_timezone_set()
db2_autocommit()
db2_bind_param()
db2_client_info()
db2_close()
db2_column_privileges()
db2_columns()
db2_commit()
db2_conn_error()
db2_conn_errormsg()
db2_connect()
db2_cursor_type()
db2_escape_string()
db2_exec()
db2_execute()
db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_object()
db2_fetch_row()
db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()
db2_foreign_keys()
db2_free_result()
db2_free_stmt()
db2_get_option()
db2_lob_read()
db2_next_result()
db2_num_fields()
db2_num_rows()
db2_pconnect()
db2_prepare()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_result()
db2_rollback()
db2_server_info()
db2_set_option()
db2_special_columns()
db2_statistics()
db2_stmt_error()
db2_stmt_errormsg()
db2_table_privileges()
db2_tables()
dba_close()
dba_delete()
dba_exists()
dba_fetch()
dba_firstkey()
dba_handlers()
dba_insert()
dba_key_split()
dba_list()
dba_nextkey()
dba_open()
dba_optimize()
dba_popen()
dba_replace()
dba_sync()
dbase_add_record()
dbase_close()
dbase_create()
dbase_delete_record()
dbase_get_header_info()
dbase_get_record()
dbase_get_record_with_names()
dbase_numfields()
dbase_numrecords()
dbase_open()
dbase_pack()
dbase_replace_record()
dblist()
dbmclose()
dbmdelete()
dbmexists()
dbmfetch()
dbmfirstkey()
dbminsert()
dbmnextkey()
dbmopen()
dbmreplace()
dbplus_add()
dbplus_aql()
dbplus_chdir()
dbplus_close()
dbplus_curr()
dbplus_errcode()
dbplus_errno()
dbplus_find()
dbplus_first()
dbplus_flush()
dbplus_freealllocks()
dbplus_freelock()
dbplus_freerlocks()
dbplus_getlock()
dbplus_getunique()
dbplus_info()
dbplus_last()
dbplus_lockrel()
dbplus_next()
dbplus_open()
dbplus_prev()
dbplus_rchperm()
dbplus_rcreate()
dbplus_rcrtexact()
dbplus_rcrtlike()
dbplus_resolve()
dbplus_restorepos()
dbplus_rkeys()
dbplus_ropen()
dbplus_rquery()
dbplus_rrename()
dbplus_rsecindex()
dbplus_runlink()
dbplus_rzap()
dbplus_savepos()
dbplus_setindex()
dbplus_setindexbynumber()
dbplus_sql()
dbplus_tcl()
dbplus_tremove()
dbplus_undo()
dbplus_undoprepare()
dbplus_unlockrel()
dbplus_unselect()
dbplus_update()
dbplus_xlockrel()
dbplus_xunlockrel()
dbx_close()
dbx_compare()
dbx_connect()
dbx_error()
dbx_escape_string()
dbx_fetch_row()
dbx_query()
dbx_sort()
dcgettext()
dcngettext()
deaggregate()
debug_backtrace()
debug_print_backtrace()
debug_zval_dump()
debugger_off()
debugger_on()
decbin()
dechex()
decoct()
define()
define_syslog_variables()
defined()
deg2rad()
delete()
dgettext()
die()
dio_close()
dio_fcntl()
dio_open()
dio_read()
dio_seek()
dio_stat()
dio_tcsetattr()
dio_truncate()
dio_write()
dir()
DirectoryIterator::__construct()
DirectoryIterator::current()
DirectoryIterator::getATime()
DirectoryIterator::getCTime()
DirectoryIterator::getFilename()
DirectoryIterator::getGroup()
DirectoryIterator::getInode()
DirectoryIterator::getMTime()
DirectoryIterator::getOwner()
DirectoryIterator::getPath()
DirectoryIterator::getPathname()
DirectoryIterator::getPerms()
DirectoryIterator::getSize()
DirectoryIterator::getType()
DirectoryIterator::isDir()
DirectoryIterator::isDot()
DirectoryIterator::isExecutable()
DirectoryIterator::isFile()
DirectoryIterator::isLink()
DirectoryIterator::isReadable()
DirectoryIterator::isWritable()
DirectoryIterator::key()
DirectoryIterator::next()
DirectoryIterator::rewind()
DirectoryIterator::valid()
dirname()
disk_free_space()
disk_total_space()
diskfreespace()
dl()
dngettext()
dns_check_record()
dns_get_mx()
dns_get_record()
dom_import_simplexml()
DOMAttr->__construct()()
DOMAttr->isId()()
DomAttribute->name()
DomAttribute->set_value()
DomAttribute->specified()
DomAttribute->value()
DOMCharacterData->appendData()()
DOMCharacterData->deleteData()()
DOMCharacterData->insertData()()
DOMCharacterData->replaceData()()
DOMCharacterData->substringData()()
DOMComment->__construct()()
DOMDocument->__construct()()
DomDocument->add_root()
DomDocument->create_attribute()
DomDocument->create_cdata_section()
DomDocument->create_comment()
DomDocument->create_element()
DomDocument->create_element_ns()
DomDocument->create_entity_reference()
DomDocument->create_processing_instruction()
DomDocument->create_text_node()
DOMDocument->createAttribute()()
DOMDocument->createAttributeNS()()
DOMDocument->createCDATASection()()
DOMDocument->createComment()()
DOMDocument->createDocumentFragment()()
DOMDocument->createElement()()
DOMDocument->createElementNS()()
DOMDocument->createEntityReference()()
DOMDocument->createProcessingInstruction()()
DOMDocument->createTextNode()()
DomDocument->doctype()
DomDocument->document_element()
DomDocument->dump_file()
DomDocument->dump_mem()
DomDocument->get_element_by_id()
DomDocument->get_elements_by_tagname()
DOMDocument->getElementById()()
DOMDocument->getElementsByTagName()()
DOMDocument->getElementsByTagNameNS()()
DomDocument->html_dump_mem()
DOMDocument->importNode()()
DOMDocument->load()()
DOMDocument->loadHTML()()
DOMDocument->loadHTMLFile()()
DOMDocument->loadXML()()
DOMDocument->normalizeDocument()()
DOMDocument->registerNodeClass()()
DOMDocument->relaxNGValidate()()
DOMDocument->relaxNGValidateSource()()
DOMDocument->save()()
DOMDocument->saveHTML()()
DOMDocument->saveHTMLFile()()
DOMDocument->saveXML()()
DOMDocument->schemaValidate()()
DOMDocument->schemaValidateSource()()
DOMDocument->validate()()
DomDocument->xinclude()
DOMDocument->xinclude()()
DOMDocumentFragment->appendXML()()
DomDocumentType->entities()()
DomDocumentType->internal_subset()()
DomDocumentType->name()()
DomDocumentType->notations()()
DomDocumentType->public_id()()
DomDocumentType->system_id()()
DOMElement->__construct()()
DomElement->get_attribute()()
DomElement->get_attribute_node()()
DomElement->get_elements_by_tagname()()
DOMElement->getAttribute()()
DOMElement->getAttributeNode()()
DOMElement->getAttributeNodeNS()()
DOMElement->getAttributeNS()()
DOMElement->getElementsByTagName()()
DOMElement->getElementsByTagNameNS()()
DomElement->has_attribute()()
DOMElement->hasAttribute()()
DOMElement->hasAttributeNS()()
DomElement->remove_attribute()()
DOMElement->removeAttribute()()
DOMElement->removeAttributeNode()()
DOMElement->removeAttributeNS()()
DomElement->set_attribute()()
DomElement->set_attribute_node()()
DOMElement->setAttribute()()
DOMElement->setAttributeNode()()
DOMElement->setAttributeNodeNS()()
DOMElement->setAttributeNS()()
DOMElement->setIdAttribute()()
DOMElement->setIdAttributeNode()()
DOMElement->setIdAttributeNS()()
DomElement->tagname()()
DOMEntityReference->__construct()()
DOMImplementation->__construct()()
DOMImplementation->createDocument()()
DOMImplementation->createDocumentType()()
DOMImplementation->hasFeature()()
DOMNamedNodeMap->getNamedItem()()
DOMNamedNodeMap->getNamedItemNS()()
DOMNamedNodeMap->item()()
DomNode->add_namespace()
DomNode->append_child()
DomNode->append_sibling()
DOMNode->appendChild()()
DomNode->attributes()
DomNode->child_nodes()
DomNode->clone_node()
DOMNode->cloneNode()()
DomNode->dump_node()
DomNode->first_child()
DomNode->get_content()
DomNode->has_attributes()
DomNode->has_child_nodes()
DOMNode->hasAttributes()()
DOMNode->hasChildNodes()()
DomNode->insert_before()
DOMNode->insertBefore()()
DomNode->is_blank_node()
DOMNode->isDefaultNamespace()()
DOMNode->isSameNode()()
DOMNode->isSupported()()
DomNode->last_child()
DOMNode->lookupNamespaceURI()()
DOMNode->lookupPrefix()()
DomNode->next_sibling()
DomNode->node_name()
DomNode->node_type()
DomNode->node_value()
DOMNode->normalize()()
DomNode->owner_document()
DomNode->parent_node()
DomNode->prefix()
DomNode->previous_sibling()
DomNode->remove_child()
DOMNode->removeChild()()
DomNode->replace_child()
DomNode->replace_node()
DOMNode->replaceChild()()
DomNode->set_content()
DomNode->set_name()
DomNode->set_namespace()
DomNode->unlink_node()
DOMNodelist->item()()
DOMProcessingInstruction->__construct()()
DomProcessingInstruction->data()
DomProcessingInstruction->target()
DOMText->__construct()()
DOMText->isWhitespaceInElementContent()()
DOMText->splitText()()
domxml_new_doc()
domxml_open_file()
domxml_open_mem()
domxml_version()
domxml_xmltree()
domxml_xslt_stylesheet()
domxml_xslt_stylesheet_doc()
domxml_xslt_stylesheet_file()
domxml_xslt_version()
DOMXPath->__construct()()
DOMXPath->evaluate()()
DOMXPath->query()()
DOMXPath->registerNamespace()()
DomXsltStylesheet->process()()
DomXsltStylesheet->result_dump_file()()
DomXsltStylesheet->result_dump_mem()()
dotnet()
dotnet_load()
doubleval()

E

each()
easter_date()
easter_days()
ebcdic2ascii()
echo()
empty()
enchant_broker_describe()
enchant_broker_dict_exists()
enchant_broker_free()
enchant_broker_free_dict()
enchant_broker_get_error()
enchant_broker_init()
enchant_broker_list_dicts()
enchant_broker_request_dict()
enchant_broker_request_pwl_dict()
enchant_broker_set_ordering()
enchant_dict_add_to_personal()
enchant_dict_add_to_session()
enchant_dict_check()
enchant_dict_describe()
enchant_dict_get_error()
enchant_dict_is_in_session()
enchant_dict_quick_check()
enchant_dict_store_replacement()
enchant_dict_suggest()
end()
ereg()
ereg_replace()
eregi()
eregi_replace()
error_get_last()
error_log()
error_reporting()
escapeshellarg()
escapeshellcmd()
eval()
exec()
exif_imagetype()
exif_read_data()
exif_tagname()
exif_thumbnail()
exit()
exp()
expect_expectl()
expect_popen()
explode()
expm1()
extension_loaded()
extract()
ezmlm_hash()

F

fam_cancel_monitor()
fam_close()
fam_monitor_collection()
fam_monitor_directory()
fam_monitor_file()
fam_next_event()
fam_open()
fam_pending()
fam_resume_monitor()
fam_suspend_monitor()
fbsql_affected_rows()
fbsql_autocommit()
fbsql_blob_size()
fbsql_change_user()
fbsql_clob_size()
fbsql_close()
fbsql_commit()
fbsql_connect()
fbsql_create_blob()
fbsql_create_clob()
fbsql_create_db()
fbsql_data_seek()
fbsql_database()
fbsql_database_password()
fbsql_db_query()
fbsql_db_status()
fbsql_drop_db()
fbsql_errno()
fbsql_error()
fbsql_fetch_array()
fbsql_fetch_assoc()
fbsql_fetch_field()
fbsql_fetch_lengths()
fbsql_fetch_object()
fbsql_fetch_row()
fbsql_field_flags()
fbsql_field_len()
fbsql_field_name()
fbsql_field_seek()
fbsql_field_table()
fbsql_field_type()
fbsql_free_result()
fbsql_get_autostart_info()
fbsql_hostname()
fbsql_insert_id()
fbsql_list_dbs()
fbsql_list_fields()
fbsql_list_tables()
fbsql_next_result()
fbsql_num_fields()
fbsql_num_rows()
fbsql_password()
fbsql_pconnect()
fbsql_query()
fbsql_read_blob()
fbsql_read_clob()
fbsql_result()
fbsql_rollback()
fbsql_rows_fetched()
fbsql_select_db()
fbsql_set_characterset()
fbsql_set_lob_mode()
fbsql_set_password()
fbsql_set_transaction()
fbsql_start_db()
fbsql_stop_db()
fbsql_table_name()
fbsql_tablename()
fbsql_username()
fbsql_warnings()
fclose()
fdf_add_doc_javascript()
fdf_add_template()
fdf_close()
fdf_create()
fdf_enum_values()
fdf_errno()
fdf_error()
fdf_get_ap()
fdf_get_attachment()
fdf_get_encoding()
fdf_get_file()
fdf_get_flags()
fdf_get_opt()
fdf_get_status()
fdf_get_value()
fdf_get_version()
fdf_header()
fdf_next_field_name()
fdf_open()
fdf_open_string()
fdf_remove_item()
fdf_save()
fdf_save_string()
fdf_set_ap()
fdf_set_encoding()
fdf_set_file()
fdf_set_flags()
fdf_set_javascript_action()
fdf_set_on_import_javascript()
fdf_set_opt()
fdf_set_status()
fdf_set_submit_form_action()
fdf_set_target_frame()
fdf_set_value()
fdf_set_version()
feof()
fflush()
fgetc()
fgetcsv()
fgets()
fgetss()
file()
file_exists()
file_get_contents()
file_put_contents()
fileatime()
filectime()
filegroup()
fileinode()
filemtime()
fileowner()
fileperms()
filepro()
filepro_fieldcount()
filepro_fieldname()
filepro_fieldtype()
filepro_fieldwidth()
filepro_retrieve()
filepro_rowcount()
filesize()
filetype()
filter_has_var()
filter_id()
filter_input()
filter_input_array()
filter_list()
filter_var()
filter_var_array()
FilterIterator::current()
FilterIterator::getInnerIterator()
FilterIterator::key()
FilterIterator::next()
FilterIterator::rewind()
FilterIterator::valid()
finfo->__construct()()
finfo_buffer()
finfo_close()
finfo_file()
finfo_open()
finfo_set_flags()
floatval()
flock()
floor()
flush()
fmod()
fnmatch()
fopen()
fpassthru()
fprintf()
fputcsv()
fputs()
fread()
frenchtojd()
fribidi_log2vis()
fscanf()
fseek()
fsockopen()
fstat()
ftell()
ftok()
ftp_alloc()
ftp_cdup()
ftp_chdir()
ftp_chmod()
ftp_close()
ftp_connect()
ftp_delete()
ftp_exec()
ftp_fget()
ftp_fput()
ftp_get()
ftp_get_option()
ftp_login()
ftp_mdtm()
ftp_mkdir()
ftp_nb_continue()
ftp_nb_fget()
ftp_nb_fput()
ftp_nb_get()
ftp_nb_put()
ftp_nlist()
ftp_pasv()
ftp_put()
ftp_pwd()
ftp_quit()
ftp_raw()
ftp_rawlist()
ftp_rename()
ftp_rmdir()
ftp_set_option()
ftp_site()
ftp_size()
ftp_ssl_connect()
ftp_systype()
ftruncate()
func_get_arg()
func_get_args()
func_num_args()
function_exists()
fwrite()

G

gd_info()
geoip_country_code3_by_name()
geoip_country_code_by_name()
geoip_country_name_by_name()
geoip_database_info()
geoip_db_avail()
geoip_db_filename()
geoip_db_get_all_info()
geoip_id_by_name()
geoip_org_by_name()
geoip_record_by_name()
geoip_region_by_name()
get_browser()
get_cfg_var()
get_class()
get_class_methods()
get_class_vars()
get_current_user()
get_declared_classes()
get_declared_interfaces()
get_defined_constants()
get_defined_functions()
get_defined_vars()
get_extension_funcs()
get_headers()
get_html_translation_table()
get_include_path()
get_included_files()
get_loaded_extensions()
get_magic_quotes_gpc()
get_magic_quotes_runtime()
get_meta_tags()
get_object_vars()
get_parent_class()
get_required_files()
get_resource_type()
getallheaders()
getcwd()
getdate()
getenv()
gethostbyaddr()
gethostbyname()
gethostbynamel()
getimagesize()
getlastmod()
getmxrr()
getmygid()
getmyinode()
getmypid()
getmyuid()
getopt()
getprotobyname()
getprotobynumber()
getrandmax()
getrusage()
getservbyname()
getservbyport()
gettext()
gettimeofday()
gettype()
glob()
gmdate()
gmmktime()
gmp_abs()
gmp_add()
gmp_and()
gmp_clrbit()
gmp_cmp()
gmp_com()
gmp_div()
gmp_div_q()
gmp_div_qr()
gmp_div_r()
gmp_divexact()
gmp_fact()
gmp_gcd()
gmp_gcdext()
gmp_hamdist()
gmp_init()
gmp_intval()
gmp_invert()
gmp_jacobi()
gmp_legendre()
gmp_mod()
gmp_mul()
gmp_neg()
gmp_nextprime()
gmp_or()
gmp_perfect_square()
gmp_popcount()
gmp_pow()
gmp_powm()
gmp_prob_prime()
gmp_random()
gmp_scan0()
gmp_scan1()
gmp_setbit()
gmp_sign()
gmp_sqrt()
gmp_sqrtrem()
gmp_strval()
gmp_sub()
gmp_testbit()
gmp_xor()
gmstrftime()
gnupg_adddecryptkey()
gnupg_addencryptkey()
gnupg_addsignkey()
gnupg_cleardecryptkeys()
gnupg_clearencryptkeys()
gnupg_clearsignkeys()
gnupg_decrypt()
gnupg_decryptverify()
gnupg_encrypt()
gnupg_encryptsign()
gnupg_export()
gnupg_geterror()
gnupg_getprotocol()
gnupg_import()
gnupg_keyinfo()
gnupg_setarmor()
gnupg_seterrormode()
gnupg_setsignmode()
gnupg_sign()
gnupg_verify()
gopher_parsedir()
gregoriantojd()
gzclose()
gzcompress()
gzdecode()
gzdeflate()
gzencode()
gzeof()
gzfile()
gzgetc()
gzgets()
gzgetss()
gzinflate()
gzopen()
gzpassthru()
gzputs()
gzread()
gzrewind()
gzseek()
gztell()
gzuncompress()
gzwrite()

H

haruannotation()
HaruAnnotation::setBorderStyle()
HaruAnnotation::setHighlightMode()
HaruAnnotation::setIcon()
HaruAnnotation::setOpened()
harudestination()
HaruDestination::setFit()
HaruDestination::setFitB()
HaruDestination::setFitBH()
HaruDestination::setFitBV()
HaruDestination::setFitH()
HaruDestination::setFitR()
HaruDestination::setFitV()
HaruDestination::setXYZ()
harudoc()
HaruDoc::__construct()
HaruDoc::addPage()
HaruDoc::addPageLabel()
HaruDoc::createOutline()
HaruDoc::getCurrentEncoder()
HaruDoc::getCurrentPage()
HaruDoc::getEncoder()
HaruDoc::getFont()
HaruDoc::getInfoAttr()
HaruDoc::getPageLayout()
HaruDoc::getPageMode()
HaruDoc::getStreamSize()
HaruDoc::insertPage()
HaruDoc::loadJPEG()
HaruDoc::loadPNG()
HaruDoc::loadRaw()
HaruDoc::loadTTC()
HaruDoc::loadTTF()
HaruDoc::loadType1()
HaruDoc::output()
HaruDoc::readFromStream()
HaruDoc::resetError()
HaruDoc::resetStream()
HaruDoc::save()
HaruDoc::saveToStream()
HaruDoc::setCompressionMode()
HaruDoc::setCurrentEncoder()
HaruDoc::setEncryptionMode()
HaruDoc::setInfoAttr()
HaruDoc::setInfoDateAttr()
HaruDoc::setOpenAction()
HaruDoc::setPageLayout()
HaruDoc::setPageMode()
HaruDoc::setPagesConfiguration()
HaruDoc::setPassword()
HaruDoc::setPermission()
HaruDoc::useCNSEncodings()
HaruDoc::useCNSFonts()
HaruDoc::useCNTEncodings()
HaruDoc::useCNTFonts()
HaruDoc::useJPEncodings()
HaruDoc::useJPFonts()
HaruDoc::useKREncodings()
HaruDoc::useKRFonts()
haruencoder()
HaruEncoder::getByteType()
HaruEncoder::getType()
HaruEncoder::getUnicode()
HaruEncoder::getWritingMode()
haruexception()
harufont()
HaruFont::getAscent()
HaruFont::getCapHeight()
HaruFont::getDescent()
HaruFont::getEncodingName()
HaruFont::getFontName()
HaruFont::getTextWidth()
HaruFont::getUnicodeWidth()
HaruFont::getXHeight()
HaruFont::measureText()
haruimage()
HaruImage::getBitsPerComponent()
HaruImage::getColorSpace()
HaruImage::getHeight()
HaruImage::getSize()
HaruImage::getWidth()
HaruImage::setColorMask()
HaruImage::setMaskImage()
haruoutline()
HaruOutline::setDestination()
HaruOutline::setOpened()
harupage()
HaruPage::arc()
HaruPage::beginText()
HaruPage::circle()
HaruPage::closePath()
HaruPage::concat()
HaruPage::createDestination()
HaruPage::createLinkAnnotation()
HaruPage::createTextAnnotation()
HaruPage::createURLAnnotation()
HaruPage::curveTo()
HaruPage::curveTo2()
HaruPage::curveTo3()
HaruPage::drawImage()
HaruPage::ellipse()
HaruPage::endPath()
HaruPage::endText()
HaruPage::eofill()
HaruPage::eoFillStroke()
HaruPage::fill()
HaruPage::fillStroke()
HaruPage::getCharSpace()
HaruPage::getCMYKFill()
HaruPage::getCMYKStroke()
HaruPage::getCurrentFont()
HaruPage::getCurrentFontSize()
HaruPage::getCurrentPos()
HaruPage::getCurrentTextPos()
HaruPage::getDash()
HaruPage::getFillingColorSpace()
HaruPage::getFlatness()
HaruPage::getGMode()
HaruPage::getGrayFill()
HaruPage::getGrayStroke()
HaruPage::getHeight()
HaruPage::getHorizontalScaling()
HaruPage::getLineCap()
HaruPage::getLineJoin()
HaruPage::getLineWidth()
HaruPage::getMiterLimit()
HaruPage::getRGBFill()
HaruPage::getRGBStroke()
HaruPage::getStrokingColorSpace()
HaruPage::getTextLeading()
HaruPage::getTextMatrix()
HaruPage::getTextRenderingMode()
HaruPage::getTextRise()
HaruPage::getTextWidth()
HaruPage::getTransMatrix()
HaruPage::getWidth()
HaruPage::getWordSpace()
HaruPage::lineTo()
HaruPage::measureText()
HaruPage::moveTextPos()
HaruPage::moveTo()
HaruPage::moveToNextLine()
HaruPage::rectangle()
HaruPage::setCharSpace()
HaruPage::setCMYKFill()
HaruPage::setCMYKStroke()
HaruPage::setDash()
HaruPage::setFlatness()
HaruPage::setFontAndSize()
HaruPage::setGrayFill()
HaruPage::setGrayStroke()
HaruPage::setHeight()
HaruPage::setHorizontalScaling()
HaruPage::setLineCap()
HaruPage::setLineJoin()
HaruPage::setLineWidth()
HaruPage::setMiterLimit()
HaruPage::setRGBFill()
HaruPage::setRGBStroke()
HaruPage::setRotate()
HaruPage::setSize()
HaruPage::setSlideShow()
HaruPage::setTextLeading()
HaruPage::setTextMatrix()
HaruPage::setTextRenderingMode()
HaruPage::setTextRise()
HaruPage::setWidth()
HaruPage::setWordSpace()
HaruPage::showText()
HaruPage::showTextNextLine()
HaruPage::stroke()
HaruPage::textOut()
HaruPage::textRect()
hash()
hash_algos()
hash_file()
hash_final()
hash_hmac()
hash_hmac_file()
hash_init()
hash_update()
hash_update_file()
hash_update_stream()
header()
headers_list()
headers_sent()
hebrev()
hebrevc()
hexdec()
highlight_file()
highlight_string()
html_entity_decode()
htmlentities()
htmlspecialchars()
htmlspecialchars_decode()
http_build_cookie()
http_build_query()
http_build_str()
http_build_url()
http_cache_etag()
http_cache_last_modified()
http_chunked_decode()
http_date()
http_deflate()
http_get()
http_get_request_body()
http_get_request_body_stream()
http_get_request_headers()
http_head()
http_inflate()
http_match_etag()
http_match_modified()
http_match_request_header()
http_negotiate_charset()
http_negotiate_content_type()
http_negotiate_language()
http_parse_cookie()
http_parse_headers()
http_parse_message()
http_parse_params()
http_persistent_handles_clean()
http_persistent_handles_count()
http_persistent_handles_ident()
http_post_data()
http_post_fields()
http_put_data()
http_put_file()
http_put_stream()
http_redirect()
http_request()
http_request_body_encode()
http_request_method_exists()
http_request_method_name()
http_request_method_register()
http_request_method_unregister()
http_send_content_disposition()
http_send_content_type()
http_send_data()
http_send_file()
http_send_last_modified()
http_send_status()
http_send_stream()
http_support()
http_throttle()
httpdeflatestream()
HttpDeflateStream::__construct()
HttpDeflateStream::factory()
HttpDeflateStream::finish()
HttpDeflateStream::flush()
HttpDeflateStream::update()
httpinflatestream()
HttpInflateStream::__construct()
HttpInflateStream::factory()
HttpInflateStream::finish()
HttpInflateStream::flush()
HttpInflateStream::update()
httpmessage()
HttpMessage::__construct()
HttpMessage::addHeaders()
HttpMessage::detach()
HttpMessage::factory()
HttpMessage::fromEnv()
HttpMessage::fromString()
HttpMessage::getBody()
HttpMessage::getHeader()
HttpMessage::getHeaders()
HttpMessage::getHttpVersion()
HttpMessage::getParentMessage()
HttpMessage::getRequestMethod()
HttpMessage::getRequestUrl()
HttpMessage::getResponseCode()
HttpMessage::getResponseStatus()
HttpMessage::getType()
HttpMessage::guessContentType()
HttpMessage::prepend()
HttpMessage::reverse()
HttpMessage::send()
HttpMessage::setBody()
HttpMessage::setHeaders()
HttpMessage::setHttpVersion()
HttpMessage::setRequestMethod()
HttpMessage::setRequestUrl()
HttpMessage::setResponseCode()
HttpMessage::setResponseStatus()
HttpMessage::setType()
HttpMessage::toMessageTypeObject()
HttpMessage::toString()
httpquerystring()
HttpQueryString::__construct()
HttpQueryString::get()
HttpQueryString::mod()
HttpQueryString::set()
HttpQueryString::singleton()
HttpQueryString::toArray()
HttpQueryString::toString()
HttpQueryString::xlate()
httprequest()
HttpRequest::__construct()
HttpRequest::addCookies()
HttpRequest::addHeaders()
HttpRequest::addPostFields()
HttpRequest::addPostFile()
HttpRequest::addPutData()
HttpRequest::addQueryData()
HttpRequest::addRawPostData()
HttpRequest::addSslOptions()
HttpRequest::clearHistory()
HttpRequest::enableCookies()
HttpRequest::getContentType()
HttpRequest::getCookies()
HttpRequest::getHeaders()
HttpRequest::getHistory()
HttpRequest::getMethod()
HttpRequest::getOptions()
HttpRequest::getPostFields()
HttpRequest::getPostFiles()
HttpRequest::getPutData()
HttpRequest::getPutFile()
HttpRequest::getQueryData()
HttpRequest::getRawPostData()
HttpRequest::getRawRequestMessage()
HttpRequest::getRawResponseMessage()
HttpRequest::getRequestMessage()
HttpRequest::getResponseBody()
HttpRequest::getResponseCode()
HttpRequest::getResponseCookies()
HttpRequest::getResponseData()
HttpRequest::getResponseHeader()
HttpRequest::getResponseInfo()
HttpRequest::getResponseMessage()
HttpRequest::getResponseStatus()
HttpRequest::getSslOptions()
HttpRequest::getUrl()
HttpRequest::resetCookies()
HttpRequest::send()
HttpRequest::setContentType()
HttpRequest::setCookies()
HttpRequest::setHeaders()
HttpRequest::setMethod()
HttpRequest::setOptions()
HttpRequest::setPostFields()
HttpRequest::setPostFiles()
HttpRequest::setPutData()
HttpRequest::setPutFile()
HttpRequest::setQueryData()
HttpRequest::setRawPostData()
HttpRequest::setSslOptions()
HttpRequest::setUrl()
httprequestpool()
HttpRequestPool::__construct()
HttpRequestPool::__destruct()
HttpRequestPool::attach()
HttpRequestPool::detach()
HttpRequestPool::getAttachedRequests()
HttpRequestPool::getFinishedRequests()
HttpRequestPool::reset()
HttpRequestPool::send()
HttpRequestPool::socketPerform()
HttpRequestPool::socketSelect()
httpresponse()
HttpResponse::capture()
HttpResponse::getBufferSize()
HttpResponse::getCache()
HttpResponse::getCacheControl()
HttpResponse::getContentDisposition()
HttpResponse::getContentType()
HttpResponse::getData()
HttpResponse::getETag()
HttpResponse::getFile()
HttpResponse::getGzip()
HttpResponse::getHeader()
HttpResponse::getLastModified()
HttpResponse::getRequestBody()
HttpResponse::getRequestBodyStream()
HttpResponse::getRequestHeaders()
HttpResponse::getStream()
HttpResponse::getThrottleDelay()
HttpResponse::guessContentType()
HttpResponse::redirect()
HttpResponse::send()
HttpResponse::setBufferSize()
HttpResponse::setCache()
HttpResponse::setCacheControl()
HttpResponse::setContentDisposition()
HttpResponse::setContentType()
HttpResponse::setData()
HttpResponse::setETag()
HttpResponse::setFile()
HttpResponse::setGzip()
HttpResponse::setHeader()
HttpResponse::setLastModified()
HttpResponse::setStream()
HttpResponse::setThrottleDelay()
HttpResponse::status()
hw_api->checkin()
hw_api->checkout()
hw_api->children()
hw_api->content()
hw_api->copy()
hw_api->dbstat()
hw_api->dcstat()
hw_api->dstanchors()
hw_api->dstofsrcanchor()
hw_api->find()
hw_api->ftstat()
hw_api->hwstat()
hw_api->identify()
hw_api->info()
hw_api->insert()
hw_api->insertanchor()
hw_api->insertcollection()
hw_api->insertdocument()
hw_api->link()
hw_api->lock()
hw_api->move()
hw_api->object()
hw_api->objectbyanchor()
hw_api->parents()
hw_api->remove()
hw_api->replace()
hw_api->setcommittedversion()
hw_api->srcanchors()
hw_api->srcsofdst()
hw_api->unlock()
hw_api->user()
hw_api->userlist()
hw_api_attribute()
hw_api_attribute->key()
hw_api_attribute->langdepvalue()
hw_api_attribute->value()
hw_api_attribute->values()
hw_api_content()
hw_api_content->mimetype()
hw_api_content->read()
hw_api_error->count()
hw_api_error->reason()
hw_api_object()
hw_api_object->assign()
hw_api_object->attreditable()
hw_api_object->count()
hw_api_object->insert()
hw_api_object->remove()
hw_api_object->title()
hw_api_object->value()
hw_api_reason->description()
hw_api_reason->type()
hw_array2objrec()
hw_changeobject()
hw_children()
hw_childrenobj()
hw_close()
hw_connect()
hw_connection_info()
hw_cp()
hw_deleteobject()
hw_docbyanchor()
hw_docbyanchorobj()
hw_document_attributes()
hw_document_bodytag()
hw_document_content()
hw_document_setcontent()
hw_document_size()
hw_dummy()
hw_edittext()
hw_error()
hw_errormsg()
hw_free_document()
hw_getanchors()
hw_getanchorsobj()
hw_getandlock()
hw_getchildcoll()
hw_getchildcollobj()
hw_getchilddoccoll()
hw_getchilddoccollobj()
hw_getobject()
hw_getobjectbyquery()
hw_getobjectbyquerycoll()
hw_getobjectbyquerycollobj()
hw_getobjectbyqueryobj()
hw_getparents()
hw_getparentsobj()
hw_getrellink()
hw_getremote()
hw_getremotechildren()
hw_getsrcbydestobj()
hw_gettext()
hw_getusername()
hw_identify()
hw_incollections()
hw_info()
hw_inscoll()
hw_insdoc()
hw_insertanchors()
hw_insertdocument()
hw_insertobject()
hw_mapid()
hw_modifyobject()
hw_mv()
hw_new_document()
hw_objrec2array()
hw_output_document()
hw_pconnect()
hw_pipedocument()
hw_root()
hw_setlinkroot()
hw_stat()
hw_unlock()
hw_who()
hwapi_hgcsp()
hypot()

I

ibase_add_user()
ibase_affected_rows()
ibase_backup()
ibase_blob_add()
ibase_blob_cancel()
ibase_blob_close()
ibase_blob_create()
ibase_blob_echo()
ibase_blob_get()
ibase_blob_import()
ibase_blob_info()
ibase_blob_open()
ibase_close()
ibase_commit()
ibase_commit_ret()
ibase_connect()
ibase_db_info()
ibase_delete_user()
ibase_drop_db()
ibase_errcode()
ibase_errmsg()
ibase_execute()
ibase_fetch_assoc()
ibase_fetch_object()
ibase_fetch_row()
ibase_field_info()
ibase_free_event_handler()
ibase_free_query()
ibase_free_result()
ibase_gen_id()
ibase_maintain_db()
ibase_modify_user()
ibase_name_result()
ibase_num_fields()
ibase_num_params()
ibase_param_info()
ibase_pconnect()
ibase_prepare()
ibase_query()
ibase_restore()
ibase_rollback()
ibase_rollback_ret()
ibase_server_info()
ibase_service_attach()
ibase_service_detach()
ibase_set_event_handler()
ibase_timefmt()
ibase_trans()
ibase_wait_event()
iconv()
iconv_get_encoding()
iconv_mime_decode()
iconv_mime_decode_headers()
iconv_mime_encode()
iconv_set_encoding()
iconv_strlen()
iconv_strpos()
iconv_strrpos()
iconv_substr()
id3_get_frame_long_name()
id3_get_frame_short_name()
id3_get_genre_id()
id3_get_genre_list()
id3_get_genre_name()
id3_get_tag()
id3_get_version()
id3_remove_tag()
id3_set_tag()
idate()
ifx_affected_rows()
ifx_blobinfile_mode()
ifx_byteasvarchar()
ifx_close()
ifx_connect()
ifx_copy_blob()
ifx_create_blob()
ifx_create_char()
ifx_do()
ifx_error()
ifx_errormsg()
ifx_fetch_row()
ifx_fieldproperties()
ifx_fieldtypes()
ifx_free_blob()
ifx_free_char()
ifx_free_result()
ifx_get_blob()
ifx_get_char()
ifx_getsqlca()
ifx_htmltbl_result()
ifx_nullformat()
ifx_num_fields()
ifx_num_rows()
ifx_pconnect()
ifx_prepare()
ifx_query()
ifx_textasvarchar()
ifx_update_blob()
ifx_update_char()
ifxus_close_slob()
ifxus_create_slob()
ifxus_free_slob()
ifxus_open_slob()
ifxus_read_slob()
ifxus_seek_slob()
ifxus_tell_slob()
ifxus_write_slob()
ignore_user_abort()
iis_add_server()
iis_get_dir_security()
iis_get_script_map()
iis_get_server_by_comment()
iis_get_server_by_path()
iis_get_server_rights()
iis_get_service_state()
iis_remove_server()
iis_set_app_settings()
iis_set_dir_security()
iis_set_script_map()
iis_set_server_rights()
iis_start_server()
iis_start_service()
iis_stop_server()
iis_stop_service()
image2wbmp()
image_type_to_extension()
image_type_to_mime_type()
imagealphablending()
imageantialias()
imagearc()
imagechar()
imagecharup()
imagecolorallocate()
imagecolorallocatealpha()
imagecolorat()
imagecolorclosest()
imagecolorclosestalpha()
imagecolorclosesthwb()
imagecolordeallocate()
imagecolorexact()
imagecolorexactalpha()
imagecolormatch()
imagecolorresolve()
imagecolorresolvealpha()
imagecolorset()
imagecolorsforindex()
imagecolorstotal()
imagecolortransparent()
imageconvolution()
imagecopy()
imagecopymerge()
imagecopymergegray()
imagecopyresampled()
imagecopyresized()
imagecreate()
imagecreatefromgd()
imagecreatefromgd2()
imagecreatefromgd2part()
imagecreatefromgif()
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromstring()
imagecreatefromwbmp()
imagecreatefromxbm()
imagecreatefromxpm()
imagecreatetruecolor()
imagedashedline()
imagedestroy()
imageellipse()
imagefill()
imagefilledarc()
imagefilledellipse()
imagefilledpolygon()
imagefilledrectangle()
imagefilltoborder()
imagefilter()
imagefontheight()
imagefontwidth()
imageftbbox()
imagefttext()
imagegammacorrect()
imagegd()
imagegd2()
imagegif()
imagegrabscreen()
imagegrabwindow()
imageinterlace()
imageistruecolor()
imagejpeg()
imagelayereffect()
imageline()
imageloadfont()
imagepalettecopy()
imagepng()
imagepolygon()
imagepsbbox()
imagepsencodefont()
imagepsextendfont()
imagepsfreefont()
imagepsloadfont()
imagepsslantfont()
imagepstext()
imagerectangle()
imagerotate()
imagesavealpha()
imagesetbrush()
imagesetpixel()
imagesetstyle()
imagesetthickness()
imagesettile()
imagestring()
imagestringup()
imagesx()
imagesy()
imagetruecolortopalette()
imagettfbbox()
imagettftext()
imagetypes()
imagewbmp()
imagexbm()
imagick()
Imagick::__construct()
Imagick::adaptiveBlurImage()
Imagick::adaptiveResizeImage()
Imagick::adaptiveSharpenImage()
Imagick::adaptiveThresholdImage()
Imagick::addImage()
Imagick::addNoiseImage()
Imagick::affineTransformImage()
Imagick::annotateImage()
Imagick::appendImages()
Imagick::averageImages()
Imagick::blackThresholdImage()
Imagick::blurImage()
Imagick::borderImage()
Imagick::charcoalImage()
Imagick::chopImage()
Imagick::clear()
Imagick::clipImage()
Imagick::clipPathImage()
Imagick::clone()
Imagick::coalesceImages()
Imagick::colorFloodfillImage()
Imagick::colorizeImage()
Imagick::combineImages()
Imagick::commentImage()
Imagick::compareImageChannels()
Imagick::compareImageLayers()
Imagick::compositeImage()
Imagick::contrastImage()
Imagick::contrastStretchImage()
Imagick::convolveImage()
Imagick::cropImage()
Imagick::cropThumbnailImage()
Imagick::current()
Imagick::cycleColormapImage()
Imagick::deconstructImages()
Imagick::despeckleImage()
Imagick::destroy()
Imagick::displayImage()
Imagick::displayImages()
Imagick::drawImage()
Imagick::edgeImage()
Imagick::embossImage()
Imagick::enhanceImage()
Imagick::equalizeImage()
Imagick::evaluateImage()
Imagick::flattenImages()
Imagick::flipImage()
Imagick::flopImage()
Imagick::frameImage()
Imagick::fxImage()
Imagick::gammaImage()
Imagick::gaussianBlurImage()
Imagick::getCompression()
Imagick::getCompressionQuality()
Imagick::getCopyright()
Imagick::getFilename()
Imagick::getFormat()
Imagick::getHomeURL()
Imagick::getImage()
Imagick::getImageBackgroundColor()
Imagick::getImageBlob()
Imagick::getImageBluePrimary()
Imagick::getImageBorderColor()
Imagick::getImageChannelDepth()
Imagick::getImageChannelDistortion()
Imagick::getImageChannelExtrema()
Imagick::getImageChannelMean()
Imagick::getImageChannelStatistics()
Imagick::getImageColormapColor()
Imagick::getImageColors()
Imagick::getImageColorspace()
Imagick::getImageCompose()
Imagick::getImageDelay()
Imagick::getImageDepth()
Imagick::getImageDispose()
Imagick::getImageDistortion()
Imagick::getImageExtrema()
Imagick::getImageFilename()
Imagick::getImageFormat()
Imagick::getImageGamma()
Imagick::getImageGeometry()
Imagick::getImageGreenPrimary()
Imagick::getImageHeight()
Imagick::getImageHistogram()
Imagick::getImageIndex()
Imagick::getImageInterlaceScheme()
Imagick::getImageInterpolateMethod()
Imagick::getImageIterations()
Imagick::getImageMatte()
Imagick::getImageMatteColor()
Imagick::getImagePage()
Imagick::getImagePixelColor()
Imagick::getImageProfile()
Imagick::getImageProperty()
Imagick::getImageRedPrimary()
Imagick::getImageRegion()
Imagick::getImageRenderingIntent()
Imagick::getImageResolution()
Imagick::getImageScene()
Imagick::getImageSignature()
Imagick::getImageSize()
Imagick::getImageTicksPerSecond()
Imagick::getImageTotalInkDensity()
Imagick::getImageType()
Imagick::getImageUnits()
Imagick::getImageVirtualPixelMethod()
Imagick::getImageWhitePoint()
Imagick::getImageWidth()
Imagick::getInterlaceScheme()
Imagick::getNumberImages()
Imagick::getOption()
Imagick::getPackageName()
Imagick::getPage()
Imagick::getPixelIterator()
Imagick::getPixelRegionIterator()
Imagick::getQuantumDepth()
Imagick::getQuantumRange()
Imagick::getReleaseDate()
Imagick::getResource()
Imagick::getResourceLimit()
Imagick::getSamplingFactors()
Imagick::getSize()
Imagick::getSizeOffset()
Imagick::getVersion()
Imagick::hasNextImage()
Imagick::hasPreviousImage()
Imagick::identifyImage()
Imagick::implodeImage()
Imagick::labelImage()
Imagick::levelImage()
Imagick::linearStretchImage()
Imagick::magnifyImage()
Imagick::matteFloodfillImage()
Imagick::medianFilterImage()
Imagick::minifyImage()
Imagick::modulateImage()
Imagick::montageImage()
Imagick::morphImages()
Imagick::mosaicImages()
Imagick::motionBlurImage()
Imagick::negateImage()
Imagick::newImage()
Imagick::newPseudoImage()
Imagick::nextImage()
Imagick::normalizeImage()
Imagick::oilPaintImage()
Imagick::optimizeImageLayers()
Imagick::paintOpaqueImage()
Imagick::paintTransparentImage()
Imagick::pingImage()
Imagick::pingImageBlob()
Imagick::pingImageFile()
Imagick::polaroidImage()
Imagick::posterizeImage()
Imagick::previousImage()
Imagick::profileImage()
Imagick::queryFontMetrics()
Imagick::queryFonts()
Imagick::queryFormats()
Imagick::radialBlurImage()
Imagick::raiseImage()
Imagick::randomThresholdImage()
Imagick::readImage()
Imagick::readImageBlob()
Imagick::readImageFile()
Imagick::reduceNoiseImage()
Imagick::removeImage()
Imagick::removeImageProfile()
Imagick::render()
Imagick::resampleImage()
Imagick::resizeImage()
Imagick::rollImage()
Imagick::rotateImage()
Imagick::roundCorners()
Imagick::sampleImage()
Imagick::scaleImage()
Imagick::separateImageChannel()
Imagick::sepiaToneImage()
Imagick::setBackgroundColor()
Imagick::setCompression()
Imagick::setCompressionQuality()
Imagick::setFilename()
Imagick::setFirstIterator()
Imagick::setFormat()
Imagick::setImageBackgroundColor()
Imagick::setImageBias()
Imagick::setImageBluePrimary()
Imagick::setImageBorderColor()
Imagick::setImageChannelDepth()
Imagick::setImageColormapColor()
Imagick::setImageColorspace()
Imagick::setImageCompose()
Imagick::setImageCompression()
Imagick::setImageDelay()
Imagick::setImageDepth()
Imagick::setImageDispose()
Imagick::setImageExtent()
Imagick::setImageFilename()
Imagick::setImageFormat()
Imagick::setImageGamma()
Imagick::setImageGreenPrimary()
Imagick::setImageIndex()
Imagick::setImageInterlaceScheme()
Imagick::setImageInterpolateMethod()
Imagick::setImageIterations()
Imagick::setImageMatte()
Imagick::setImageMatteColor()
Imagick::setImagePage()
Imagick::setImageProfile()
Imagick::setImageProperty()
Imagick::setImageRedPrimary()
Imagick::setImageRenderingIntent()
Imagick::setImageResolution()
Imagick::setImageScene()
Imagick::setImageTicksPerSecond()
Imagick::setImageType()
Imagick::setImageUnits()
Imagick::setImageVirtualPixelMethod()
Imagick::setImageWhitePoint()
Imagick::setInterlaceScheme()
Imagick::setOption()
Imagick::setPage()
Imagick::setResolution()
Imagick::setResourceLimit()
Imagick::setSamplingFactors()
Imagick::setSize()
Imagick::setSizeOffset()
Imagick::setType()
Imagick::shadeImage()
Imagick::shadowImage()
Imagick::sharpenImage()
Imagick::shaveImage()
Imagick::shearImage()
Imagick::sigmoidalContrastImage()
Imagick::sketchImage()
Imagick::solarizeImage()
Imagick::spliceImage()
Imagick::spreadImage()
Imagick::steganoImage()
Imagick::stereoImage()
Imagick::stripImage()
Imagick::swirlImage()
Imagick::textureImage()
Imagick::thresholdImage()
Imagick::thumbnailImage()
Imagick::tintImage()
Imagick::transverseImage()
Imagick::trimImage()
Imagick::uniqueImageColors()
Imagick::unsharpMaskImage()
Imagick::valid()
Imagick::vignetteImage()
Imagick::waveImage()
Imagick::whiteThresholdImage()
Imagick::writeImage()
Imagick::writeImages()
ImagickDraw::__construct()
ImagickDraw::affine()
ImagickDraw::annotation()
ImagickDraw::arc()
ImagickDraw::bezier()
ImagickDraw::circle()
ImagickDraw::clear()
ImagickDraw::clone()
ImagickDraw::color()
ImagickDraw::comment()
ImagickDraw::composite()
ImagickDraw::destroy()
ImagickDraw::ellipse()
ImagickDraw::getClipPath()
ImagickDraw::getClipRule()
ImagickDraw::getClipUnits()
ImagickDraw::getFillColor()
ImagickDraw::getFillOpacity()
ImagickDraw::getFillRule()
ImagickDraw::getFont()
ImagickDraw::getFontFamily()
ImagickDraw::getFontSize()
ImagickDraw::getFontStyle()
ImagickDraw::getFontWeight()
ImagickDraw::getGravity()
ImagickDraw::getStrokeAntialias()
ImagickDraw::getStrokeColor()
ImagickDraw::getStrokeDashArray()
ImagickDraw::getStrokeDashOffset()
ImagickDraw::getStrokeLineCap()
ImagickDraw::getStrokeLineJoin()
ImagickDraw::getStrokeMiterLimit()
ImagickDraw::getStrokeOpacity()
ImagickDraw::getStrokeWidth()
ImagickDraw::getTextAlignment()
ImagickDraw::getTextAntialias()
ImagickDraw::getTextDecoration()
ImagickDraw::getTextEncoding()
ImagickDraw::getTextUnderColor()
ImagickDraw::getVectorGraphics()
ImagickDraw::line()
ImagickDraw::matte()
ImagickDraw::pathClose()
ImagickDraw::pathCurveToAbsolute()
ImagickDraw::pathCurveToQuadraticBezierAbsolute()
ImagickDraw::pathCurveToQuadraticBezierRelative()
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute()
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative()
ImagickDraw::pathCurveToRelative()
ImagickDraw::pathCurveToSmoothAbsolute()
ImagickDraw::pathCurveToSmoothRelative()
ImagickDraw::pathEllipticArcAbsolute()
ImagickDraw::pathEllipticArcRelative()
ImagickDraw::pathFinish()
ImagickDraw::pathLineToAbsolute()
ImagickDraw::pathLineToHorizontalAbsolute()
ImagickDraw::pathLineToHorizontalRelative()
ImagickDraw::pathLineToRelative()
ImagickDraw::pathLineToVerticalAbsolute()
ImagickDraw::pathLineToVerticalRelative()
ImagickDraw::pathMoveToAbsolute()
ImagickDraw::pathMoveToRelative()
ImagickDraw::pathStart()
ImagickDraw::point()
ImagickDraw::polygon()
ImagickDraw::polyline()
ImagickDraw::pop()
ImagickDraw::popClipPath()
ImagickDraw::popDefs()
ImagickDraw::popPattern()
ImagickDraw::push()
ImagickDraw::pushClipPath()
ImagickDraw::pushDefs()
ImagickDraw::pushPattern()
ImagickDraw::rectangle()
ImagickDraw::render()
ImagickDraw::rotate()
ImagickDraw::roundRectangle()
ImagickDraw::scale()
ImagickDraw::setClipPath()
ImagickDraw::setClipRule()
ImagickDraw::setClipUnits()
ImagickDraw::setFillAlpha()
ImagickDraw::setFillColor()
ImagickDraw::setFillOpacity()
ImagickDraw::setFillPatternURL()
ImagickDraw::setFillRule()
ImagickDraw::setFont()
ImagickDraw::setFontFamily()
ImagickDraw::setFontSize()
ImagickDraw::setFontStretch()
ImagickDraw::setFontStyle()
ImagickDraw::setFontWeight()
ImagickDraw::setGravity()
ImagickDraw::setStrokeAlpha()
ImagickDraw::setStrokeAntialias()
ImagickDraw::setStrokeColor()
ImagickDraw::setStrokeDashArray()
ImagickDraw::setStrokeDashOffset()
ImagickDraw::setStrokeLineCap()
ImagickDraw::setStrokeLineJoin()
ImagickDraw::setStrokeMiterLimit()
ImagickDraw::setStrokeOpacity()
ImagickDraw::setStrokePatternURL()
ImagickDraw::setStrokeWidth()
ImagickDraw::setTextAlignment()
ImagickDraw::setTextAntialias()
ImagickDraw::setTextDecoration()
ImagickDraw::setTextEncoding()
ImagickDraw::setTextUnderColor()
ImagickDraw::setVectorGraphics()
ImagickDraw::setViewbox()
ImagickDraw::skewX()
ImagickDraw::skewY()
ImagickDraw::translate()
ImagickPixel::__construct()
ImagickPixel::clear()
ImagickPixel::destroy()
ImagickPixel::getColor()
ImagickPixel::getColorCount()
ImagickPixel::getColorValue()
ImagickPixel::getHSL()
ImagickPixel::isSimilar()
ImagickPixel::setColor()
ImagickPixel::setColorValue()
ImagickPixel::setHSL()
ImagickPixelIterator::__construct()
ImagickPixelIterator::clear()
ImagickPixelIterator::destroy()
ImagickPixelIterator::getCurrentIteratorRow()
ImagickPixelIterator::getIteratorRow()
ImagickPixelIterator::getNextIteratorRow()
ImagickPixelIterator::getPreviousIteratorRow()
ImagickPixelIterator::newPixelIterator()
ImagickPixelIterator::newPixelRegionIterator()
ImagickPixelIterator::resetIterator()
ImagickPixelIterator::setIteratorFirstRow()
ImagickPixelIterator::setIteratorLastRow()
ImagickPixelIterator::setIteratorRow()
ImagickPixelIterator::syncIterator()
imap_8bit()
imap_alerts()
imap_append()
imap_base64()
imap_binary()
imap_body()
imap_bodystruct()
imap_check()
imap_clearflag_full()
imap_close()
imap_createmailbox()
imap_delete()
imap_deletemailbox()
imap_errors()
imap_expunge()
imap_fetch_overview()
imap_fetchbody()
imap_fetchheader()
imap_fetchstructure()
imap_get_quota()
imap_get_quotaroot()
imap_getacl()
imap_getmailboxes()
imap_getsubscribed()
imap_header()
imap_headerinfo()
imap_headers()
imap_last_error()
imap_list()
imap_listmailbox()
imap_listscan()
imap_listsubscribed()
imap_lsub()
imap_mail()
imap_mail_compose()
imap_mail_copy()
imap_mail_move()
imap_mailboxmsginfo()
imap_mime_header_decode()
imap_msgno()
imap_num_msg()
imap_num_recent()
imap_open()
imap_ping()
imap_qprint()
imap_renamemailbox()
imap_reopen()
imap_rfc822_parse_adrlist()
imap_rfc822_parse_headers()
imap_rfc822_write_address()
imap_savebody()
imap_scanmailbox()
imap_search()
imap_set_quota()
imap_setacl()
imap_setflag_full()
imap_sort()
imap_status()
imap_subscribe()
imap_thread()
imap_timeout()
imap_uid()
imap_undelete()
imap_unsubscribe()
imap_utf7_decode()
imap_utf7_encode()
imap_utf8()
implode()
import_request_variables()
in_array()
inet_ntop()
inet_pton()
ingres_autocommit()
ingres_close()
ingres_commit()
ingres_connect()
ingres_cursor()
ingres_errno()
ingres_error()
ingres_errsqlstate()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()
ingres_field_length()
ingres_field_name()
ingres_field_nullable()
ingres_field_precision()
ingres_field_scale()
ingres_field_type()
ingres_num_fields()
ingres_num_rows()
ingres_pconnect()
ingres_query()
ingres_rollback()
ini_alter()
ini_get()
ini_get_all()
ini_restore()
ini_set()
installation()
installation()
interface_exists()
intval()
ip2long()
iptcembed()
iptcparse()
ircg_channel_mode()
ircg_disconnect()
ircg_eval_ecmascript_params()
ircg_fetch_error_msg()
ircg_get_username()
ircg_html_encode()
ircg_ignore_add()
ircg_ignore_del()
ircg_invite()
ircg_is_conn_alive()
ircg_join()
ircg_kick()
ircg_list()
ircg_lookup_format_messages()
ircg_lusers()
ircg_msg()
ircg_names()
ircg_nick()
ircg_nickname_escape()
ircg_nickname_unescape()
ircg_notice()
ircg_oper()
ircg_part()
ircg_pconnect()
ircg_register_format_messages()
ircg_set_current()
ircg_set_file()
ircg_set_on_die()
ircg_topic()
ircg_who()
ircg_whois()
is_a()
is_array()
is_binary()
is_bool()
is_buffer()
is_callable()
is_dir()
is_double()
is_executable()
is_file()
is_finite()
is_float()
is_infinite()
is_int()
is_integer()
is_link()
is_long()
is_nan()
is_null()
is_numeric()
is_object()
is_readable()
is_real()
is_resource()
is_scalar()
is_soap_fault()
is_string()
is_subclass_of()
is_unicode()
is_uploaded_file()
is_writable()
is_writeable()
isset()
iterator_count()
iterator_to_array()

J

java_last_exception_clear()
java_last_exception_get()
jddayofweek()
jdmonthname()
jdtofrench()
jdtogregorian()
jdtojewish()
jdtojulian()
jdtounix()
jewishtojd()
join()
jpeg2wbmp()
json_decode()
json_encode()
juliantojd()

K

kadm5_chpass_principal()
kadm5_create_principal()
kadm5_delete_principal()
kadm5_destroy()
kadm5_flush()
kadm5_get_policies()
kadm5_get_principal()
kadm5_get_principals()
kadm5_init_with_password()
kadm5_modify_principal()
key()
krsort()
ksort()

L

lcg_value()
lchgrp()
lchown()
ldap_8859_to_t61()
ldap_add()
ldap_bind()
ldap_close()
ldap_compare()
ldap_connect()
ldap_count_entries()
ldap_delete()
ldap_dn2ufn()
ldap_err2str()
ldap_errno()
ldap_error()
ldap_explode_dn()
ldap_first_attribute()
ldap_first_entry()
ldap_first_reference()
ldap_free_result()
ldap_get_attributes()
ldap_get_dn()
ldap_get_entries()
ldap_get_option()
ldap_get_values()
ldap_get_values_len()
ldap_list()
ldap_mod_add()
ldap_mod_del()
ldap_mod_replace()
ldap_modify()
ldap_next_attribute()
ldap_next_entry()
ldap_next_reference()
ldap_parse_reference()
ldap_parse_result()
ldap_read()
ldap_rename()
ldap_sasl_bind()
ldap_search()
ldap_set_option()
ldap_set_rebind_proc()
ldap_sort()
ldap_start_tls()
ldap_t61_to_8859()
ldap_unbind()
levenshtein()
libxml_clear_errors()
libxml_get_errors()
libxml_get_last_error()
libxml_set_streams_context()
libxml_use_internal_errors()
LimitIterator::getPosition()
LimitIterator::next()
LimitIterator::rewind()
LimitIterator::seek()
LimitIterator::valid()
link()
linkinfo()
list()
locale_get_default()
locale_set_default()
localeconv()
localtime()
log()
log10()
log1p()
long2ip()
lstat()
ltrim()
lzf_compress()
lzf_decompress()
lzf_optimized_for()

M

m_checkstatus()
m_completeauthorizations()
m_connect()
m_connectionerror()
m_deletetrans()
m_destroyconn()
m_destroyengine()
m_getcell()
m_getcellbynum()
m_getcommadelimited()
m_getheader()
m_initconn()
m_initengine()
m_iscommadelimited()
m_maxconntimeout()
m_monitor()
m_numcolumns()
m_numrows()
m_parsecommadelimited()
m_responsekeys()
m_responseparam()
m_returnstatus()
m_setblocking()
m_setdropfile()
m_setip()
m_setssl()
m_setssl_cafile()
m_setssl_files()
m_settimeout()
m_sslcert_gen_hash()
m_transactionssent()
m_transinqueue()
m_transkeyval()
m_transnew()
m_transsend()
m_uwait()
m_validateidentifier()
m_verifyconnection()
m_verifysslcert()
mail()
mailparse_determine_best_xfer_encoding()
mailparse_msg_create()
mailparse_msg_extract_part()
mailparse_msg_extract_part_file()
mailparse_msg_extract_whole_part_file()
mailparse_msg_free()
mailparse_msg_get_part()
mailparse_msg_get_part_data()
mailparse_msg_get_structure()
mailparse_msg_parse()
mailparse_msg_parse_file()
mailparse_rfc822_parse_addresses()
mailparse_stream_encode()
mailparse_uudecode_all()
main()
max()
maxdb()()
maxdb->affected_rows()
maxdb->auto_commit()
maxdb->change_user()
maxdb->character_set_name()
maxdb->close()
maxdb->close_long_data()
maxdb->commit()
maxdb->disable_reads_from_master()
maxdb->errno()
maxdb->fetch_assoc()
maxdb->field_count()
maxdb->get_host_info()
maxdb->info()
maxdb->insert_id()
maxdb->kill()
maxdb->more_results()
maxdb->multi_query()
maxdb->next_result()
maxdb->options()
maxdb->ping()
maxdb->prepare()
maxdb->protocol_version()
maxdb->query()
maxdb->real_connect()
maxdb->real_escape_string()
maxdb->real_query()
maxdb->rollback()
maxdb->rpl_query_type()
maxdb->select_db()
maxdb->send_query()
maxdb->server_info()
maxdb->sqlstate()
maxdb->ssl_set()
maxdb->stat()
maxdb->stmt_init()
maxdb->store_result()
maxdb->store_result()
maxdb->thread_id()
maxdb->use_result()
maxdb->warning_count()
maxdb_affected_rows()
maxdb_autocommit()
maxdb_bind_param()
maxdb_bind_result()
maxdb_change_user()
maxdb_character_set_name()
maxdb_client_encoding()
maxdb_close()
maxdb_close_long_data()
maxdb_commit()
maxdb_connect()
maxdb_connect_errno()
maxdb_connect_error()
maxdb_data_seek()
maxdb_debug()
maxdb_disable_reads_from_master()
maxdb_disable_rpl_parse()
maxdb_dump_debug_info()
maxdb_embedded_connect()
maxdb_enable_reads_from_master()
maxdb_enable_rpl_parse()
maxdb_errno()
maxdb_error()
maxdb_escape_string()
maxdb_execute()
maxdb_fetch()
maxdb_fetch_array()
maxdb_fetch_assoc()
maxdb_fetch_field()
maxdb_fetch_field_direct()
maxdb_fetch_fields()
maxdb_fetch_lengths()
maxdb_fetch_object()
maxdb_fetch_row()
maxdb_field_count()
maxdb_field_seek()
maxdb_field_tell()
maxdb_free_result()
maxdb_get_client_info()
maxdb_get_client_version()
maxdb_get_host_info()
maxdb_get_metadata()
maxdb_get_proto_info()
maxdb_get_server_info()
maxdb_get_server_version()
maxdb_info()
maxdb_init()
maxdb_insert_id()
maxdb_kill()
maxdb_master_query()
maxdb_more_results()
maxdb_multi_query()
maxdb_next_result()
maxdb_num_fields()
maxdb_num_rows()
maxdb_options()
maxdb_param_count()
maxdb_ping()
maxdb_prepare()
maxdb_query()
maxdb_real_connect()
maxdb_real_escape_string()
maxdb_real_query()
maxdb_report()
maxdb_rollback()
maxdb_rpl_parse_enabled()
maxdb_rpl_probe()
maxdb_rpl_query_type()
maxdb_select_db()
maxdb_send_long_data()
maxdb_send_query()
maxdb_server_end()
maxdb_server_init()
maxdb_set_opt()
maxdb_sqlstate()
maxdb_ssl_set()
maxdb_stat()
maxdb_stmt->affected_rows()
maxdb_stmt->close()
maxdb_stmt->errno()
maxdb_stmt->error()
maxdb_stmt_affected_rows()
maxdb_stmt_bind_param()
maxdb_stmt_bind_result()
maxdb_stmt_close()
maxdb_stmt_close_long_data()
maxdb_stmt_data_seek()
maxdb_stmt_errno()
maxdb_stmt_error()
maxdb_stmt_execute()
maxdb_stmt_fetch()
maxdb_stmt_free_result()
maxdb_stmt_init()
maxdb_stmt_num_rows()
maxdb_stmt_param_count()
maxdb_stmt_prepare()
maxdb_stmt_reset()
maxdb_stmt_result_metadata()
maxdb_stmt_send_long_data()
maxdb_stmt_sqlstate()
maxdb_stmt_store_result()
maxdb_store_result()
maxdb_thread_id()
maxdb_thread_safe()
maxdb_use_result()
maxdb_warning_count()
mb_check_encoding()
mb_convert_case()
mb_convert_encoding()
mb_convert_kana()
mb_convert_variables()
mb_decode_mimeheader()
mb_decode_numericentity()
mb_detect_encoding()
mb_detect_order()
mb_encode_mimeheader()
mb_encode_numericentity()
mb_ereg()
mb_ereg_match()
mb_ereg_replace()
mb_ereg_search()
mb_ereg_search_getpos()
mb_ereg_search_getregs()
mb_ereg_search_init()
mb_ereg_search_pos()
mb_ereg_search_regs()
mb_ereg_search_setpos()
mb_eregi()
mb_eregi_replace()
mb_get_info()
mb_http_input()
mb_http_output()
mb_internal_encoding()
mb_language()
mb_output_handler()
mb_parse_str()
mb_preferred_mime_name()
mb_regex_encoding()
mb_regex_set_options()
mb_send_mail()
mb_split()
mb_strcut()
mb_strimwidth()
mb_stripos()
mb_stristr()
mb_strlen()
mb_strpos()
mb_strrchr()
mb_strrichr()
mb_strripos()
mb_strrpos()
mb_strstr()
mb_strtolower()
mb_strtoupper()
mb_strwidth()
mb_substitute_character()
mb_substr()
mb_substr_count()
mcal_append_event()
mcal_close()
mcal_create_calendar()
mcal_date_compare()
mcal_date_valid()
mcal_day_of_week()
mcal_day_of_year()
mcal_days_in_month()
mcal_delete_calendar()
mcal_delete_event()
mcal_event_add_attribute()
mcal_event_init()
mcal_event_set_alarm()
mcal_event_set_category()
mcal_event_set_class()
mcal_event_set_description()
mcal_event_set_end()
mcal_event_set_recur_daily()
mcal_event_set_recur_monthly_mday()
mcal_event_set_recur_monthly_wday()
mcal_event_set_recur_none()
mcal_event_set_recur_weekly()
mcal_event_set_recur_yearly()
mcal_event_set_start()
mcal_event_set_title()
mcal_expunge()
mcal_fetch_current_stream_event()
mcal_fetch_event()
mcal_is_leap_year()
mcal_list_alarms()
mcal_list_events()
mcal_next_recurrence()
mcal_open()
mcal_popen()
mcal_rename_calendar()
mcal_reopen()
mcal_snooze()
mcal_store_event()
mcal_time_valid()
mcal_week_of_year()
mcrypt_cbc()
mcrypt_cfb()
mcrypt_create_iv()
mcrypt_decrypt()
mcrypt_ecb()
mcrypt_enc_get_algorithms_name()
mcrypt_enc_get_block_size()
mcrypt_enc_get_iv_size()
mcrypt_enc_get_key_size()
mcrypt_enc_get_modes_name()
mcrypt_enc_get_supported_key_sizes()
mcrypt_enc_is_block_algorithm()
mcrypt_enc_is_block_algorithm_mode()
mcrypt_enc_is_block_mode()
mcrypt_enc_self_test()
mcrypt_encrypt()
mcrypt_generic()
mcrypt_generic_deinit()
mcrypt_generic_end()
mcrypt_generic_init()
mcrypt_get_block_size()
mcrypt_get_cipher_name()
mcrypt_get_iv_size()
mcrypt_get_key_size()
mcrypt_list_algorithms()
mcrypt_list_modes()
mcrypt_module_close()
mcrypt_module_get_algo_block_size()
mcrypt_module_get_algo_key_size()
mcrypt_module_get_supported_key_sizes()
mcrypt_module_is_block_algorithm()
mcrypt_module_is_block_algorithm_mode()
mcrypt_module_is_block_mode()
mcrypt_module_open()
mcrypt_module_self_test()
mcrypt_ofb()
md5()
md5_file()
mdecrypt_generic()
Memcache::add()
Memcache::addServer()
Memcache::close()
Memcache::connect()
Memcache::decrement()
Memcache::delete()
Memcache::flush()
Memcache::get()
Memcache::getExtendedStats()
Memcache::getServerStatus()
Memcache::getStats()
Memcache::getVersion()
Memcache::increment()
Memcache::pconnect()
Memcache::replace()
Memcache::set()
Memcache::setCompressThreshold()
Memcache::setServerParams()
memcache_debug()
memory_get_peak_usage()
memory_get_usage()
metaphone()
method_exists()
mhash()
mhash_count()
mhash_get_block_size()
mhash_get_hash_name()
mhash_keygen_s2k()
microtime()
mime_content_type()
min()
ming_keypress()
ming_setcubicthreshold()
ming_setscale()
ming_setswfcompression()
ming_useconstants()
ming_useswfversion()
mkdir()
mktime()
money_format()
move_uploaded_file()
msession_connect()
msession_count()
msession_create()
msession_destroy()
msession_disconnect()
msession_find()
msession_get()
msession_get_array()
msession_get_data()
msession_inc()
msession_list()
msession_listvar()
msession_lock()
msession_plugin()
msession_randstr()
msession_set()
msession_set_array()
msession_set_data()
msession_timeout()
msession_uniq()
msession_unlock()
msg_get_queue()
msg_receive()
msg_remove_queue()
msg_send()
msg_set_queue()
msg_stat_queue()
msql()
msql_affected_rows()
msql_close()
msql_connect()
msql_create_db()
msql_createdb()
msql_data_seek()
msql_db_query()
msql_dbname()
msql_drop_db()
msql_error()
msql_fetch_array()
msql_fetch_field()
msql_fetch_object()
msql_fetch_row()
msql_field_flags()
msql_field_len()
msql_field_name()
msql_field_seek()
msql_field_table()
msql_field_type()
msql_fieldflags()
msql_fieldlen()
msql_fieldname()
msql_fieldtable()
msql_fieldtype()
msql_free_result()
msql_list_dbs()
msql_list_fields()
msql_list_tables()
msql_num_fields()
msql_num_rows()
msql_numfields()
msql_numrows()
msql_pconnect()
msql_query()
msql_regcase()
msql_result()
msql_select_db()
msql_tablename()
mssql_bind()
mssql_close()
mssql_connect()
mssql_data_seek()
mssql_execute()
mssql_fetch_array()
mssql_fetch_assoc()
mssql_fetch_batch()
mssql_fetch_field()
mssql_fetch_object()
mssql_fetch_row()
mssql_field_length()
mssql_field_name()
mssql_field_seek()
mssql_field_type()
mssql_free_result()
mssql_free_statement()
mssql_get_last_message()
mssql_guid_string()
mssql_init()
mssql_min_error_severity()
mssql_min_message_severity()
mssql_next_result()
mssql_num_fields()
mssql_num_rows()
mssql_pconnect()
mssql_query()
mssql_result()
mssql_rows_affected()
mssql_select_db()
mt_getrandmax()
mt_rand()
mt_srand()
muscat_close()
muscat_get()
muscat_give()
muscat_setup()
muscat_setup_net()
mysql_affected_rows()
mysql_change_user()
mysql_client_encoding()
mysql_close()
mysql_connect()
mysql_create_db()
mysql_data_seek()
mysql_db_name()
mysql_db_query()
mysql_drop_db()
mysql_errno()
mysql_error()
mysql_escape_string()
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_field()
mysql_fetch_lengths()
mysql_fetch_object()
mysql_fetch_row()
mysql_field_flags()
mysql_field_len()
mysql_field_name()
mysql_field_seek()
mysql_field_table()
mysql_field_type()
mysql_free_result()
mysql_get_client_info()
mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()
mysql_info()
mysql_insert_id()
mysql_list_dbs()
mysql_list_fields()
mysql_list_processes()
mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_pconnect()
mysql_ping()
mysql_query()
mysql_real_escape_string()
mysql_result()
mysql_select_db()
mysql_set_charset()
mysql_stat()
mysql_tablename()
mysql_thread_id()
mysql_unbuffered_query()
mysqli->__construct()()
mysqli->affected_rows()
mysqli->autocommit()()
mysqli->change_user()()
mysqli->character_set_name()()
mysqli->close()()
mysqli->commit()()
mysqli->debug()()
mysqli->disable_reads_from_master()()
mysqli->dump_debug_info()()
mysqli->errno()
mysqli->fetch_assoc()()
mysqli->field_count()()
mysqli->host_info()
mysqli->info()
mysqli->insert_id()
mysqli->kill()()
mysqli->more_results()
mysqli->multi_query()()
mysqli->next_result()()
mysqli->options()()
mysqli->ping()()
mysqli->prepare()()
mysqli->protocol_version()
mysqli->query()()
mysqli->real_connect()()
mysqli->real_escape_string()()
mysqli->real_query()()
mysqli->rollback()()
mysqli->rpl_query_type()()
mysqli->select_db()()
mysqli->send_query()()
mysqli->server_info()
mysqli->server_version()
mysqli->set_charset()
mysqli->sqlstate()
mysqli->ssl_set()()
mysqli->stat()()
mysqli->stmt_init()()
mysqli->store_result()()
mysqli->thread_id()
mysqli->use_result()()
mysqli->warning_count()
mysqli_affected_rows()
mysqli_autocommit()
mysqli_bind_param()
mysqli_bind_result()
mysqli_change_user()
mysqli_character_set_name()
mysqli_client_encoding()
mysqli_close()
mysqli_commit()
mysqli_connect()
mysqli_connect_errno()
mysqli_connect_error()
mysqli_data_seek()
mysqli_debug()
mysqli_disable_reads_from_master()
mysqli_disable_rpl_parse()
mysqli_dump_debug_info()
mysqli_embedded_server_end()
mysqli_embedded_server_start()
mysqli_enable_reads_from_master()
mysqli_enable_rpl_parse()
mysqli_errno()
mysqli_error()
mysqli_escape_string()
mysqli_execute()
mysqli_fetch()
mysqli_fetch_array()
mysqli_fetch_assoc()
mysqli_fetch_field()
mysqli_fetch_field_direct()
mysqli_fetch_fields()
mysqli_fetch_lengths()
mysqli_fetch_object()
mysqli_fetch_row()
mysqli_field_count()
mysqli_field_seek()
mysqli_field_tell()
mysqli_free_result()
mysqli_get_charset()
mysqli_get_client_info()
mysqli_get_client_version()
mysqli_get_host_info()
mysqli_get_metadata()
mysqli_get_proto_info()
mysqli_get_server_info()
mysqli_get_server_version()
mysqli_get_warnings()
mysqli_info()
mysqli_init()
mysqli_insert_id()
mysqli_kill()
mysqli_master_query()
mysqli_more_results()
mysqli_multi_query()
mysqli_next_result()
mysqli_num_fields()
mysqli_num_rows()
mysqli_options()
mysqli_param_count()
mysqli_ping()
mysqli_prepare()
mysqli_query()
mysqli_real_connect()
mysqli_real_escape_string()
mysqli_real_query()
mysqli_report()
mysqli_rollback()
mysqli_rpl_parse_enabled()
mysqli_rpl_probe()
mysqli_rpl_query_type()
mysqli_select_db()
mysqli_send_long_data()
mysqli_send_query()
mysqli_server_end()
mysqli_server_init()
mysqli_set_charset()
mysqli_set_local_infile_default()
mysqli_set_local_infile_handler()
mysqli_set_opt()
mysqli_slave_query()
mysqli_sqlstate()
mysqli_ssl_set()
mysqli_stat()
mysqli_stmt->affected_rows()
mysqli_stmt->close()()
mysqli_stmt->errno()
mysqli_stmt->error()
mysqli_stmt->sqlstate()()
mysqli_stmt->store_result()()
mysqli_stmt_affected_rows()
mysqli_stmt_attr_get()
mysqli_stmt_attr_set()
mysqli_stmt_bind_param()
mysqli_stmt_bind_result()
mysqli_stmt_close()
mysqli_stmt_data_seek()
mysqli_stmt_errno()
mysqli_stmt_error()
mysqli_stmt_execute()
mysqli_stmt_fetch()
mysqli_stmt_field_count()
mysqli_stmt_free_result()
mysqli_stmt_get_warnings()
mysqli_stmt_init()
mysqli_stmt_insert_id()
mysqli_stmt_num_rows()
mysqli_stmt_param_count()
mysqli_stmt_prepare()
mysqli_stmt_reset()
mysqli_stmt_result_metadata()
mysqli_stmt_send_long_data()
mysqli_stmt_sqlstate()
mysqli_stmt_store_result()
mysqli_store_result()
mysqli_thread_id()
mysqli_thread_safe()
mysqli_use_result()
mysqli_warning_count()

N

natcasesort()
natsort()
ncurses_addch()
ncurses_addchnstr()
ncurses_addchstr()
ncurses_addnstr()
ncurses_addstr()
ncurses_assume_default_colors()
ncurses_attroff()
ncurses_attron()
ncurses_attrset()
ncurses_baudrate()
ncurses_beep()
ncurses_bkgd()
ncurses_bkgdset()
ncurses_border()
ncurses_bottom_panel()
ncurses_can_change_color()
ncurses_cbreak()
ncurses_clear()
ncurses_clrtobot()
ncurses_clrtoeol()
ncurses_color_content()
ncurses_color_set()
ncurses_curs_set()
ncurses_def_prog_mode()
ncurses_def_shell_mode()
ncurses_define_key()
ncurses_del_panel()
ncurses_delay_output()
ncurses_delch()
ncurses_deleteln()
ncurses_delwin()
ncurses_doupdate()
ncurses_echo()
ncurses_echochar()
ncurses_end()
ncurses_erase()
ncurses_erasechar()
ncurses_filter()
ncurses_flash()
ncurses_flushinp()
ncurses_getch()
ncurses_getmaxyx()
ncurses_getmouse()
ncurses_getyx()
ncurses_halfdelay()
ncurses_has_colors()
ncurses_has_ic()
ncurses_has_il()
ncurses_has_key()
ncurses_hide_panel()
ncurses_hline()
ncurses_inch()
ncurses_init()
ncurses_init_color()
ncurses_init_pair()
ncurses_insch()
ncurses_insdelln()
ncurses_insertln()
ncurses_insstr()
ncurses_instr()
ncurses_isendwin()
ncurses_keyok()
ncurses_keypad()
ncurses_killchar()
ncurses_longname()
ncurses_meta()
ncurses_mouse_trafo()
ncurses_mouseinterval()
ncurses_mousemask()
ncurses_move()
ncurses_move_panel()
ncurses_mvaddch()
ncurses_mvaddchnstr()
ncurses_mvaddchstr()
ncurses_mvaddnstr()
ncurses_mvaddstr()
ncurses_mvcur()
ncurses_mvdelch()
ncurses_mvgetch()
ncurses_mvhline()
ncurses_mvinch()
ncurses_mvvline()
ncurses_mvwaddstr()
ncurses_napms()
ncurses_new_panel()
ncurses_newpad()
ncurses_newwin()
ncurses_nl()
ncurses_nocbreak()
ncurses_noecho()
ncurses_nonl()
ncurses_noqiflush()
ncurses_noraw()
ncurses_pair_content()
ncurses_panel_above()
ncurses_panel_below()
ncurses_panel_window()
ncurses_pnoutrefresh()
ncurses_prefresh()
ncurses_putp()
ncurses_qiflush()
ncurses_raw()
ncurses_refresh()
ncurses_replace_panel()
ncurses_reset_prog_mode()
ncurses_reset_shell_mode()
ncurses_resetty()
ncurses_savetty()
ncurses_scr_dump()
ncurses_scr_init()
ncurses_scr_restore()
ncurses_scr_set()
ncurses_scrl()
ncurses_show_panel()
ncurses_slk_attr()
ncurses_slk_attroff()
ncurses_slk_attron()
ncurses_slk_attrset()
ncurses_slk_clear()
ncurses_slk_color()
ncurses_slk_init()
ncurses_slk_noutrefresh()
ncurses_slk_refresh()
ncurses_slk_restore()
ncurses_slk_set()
ncurses_slk_touch()
ncurses_standend()
ncurses_standout()
ncurses_start_color()
ncurses_termattrs()
ncurses_termname()
ncurses_timeout()
ncurses_top_panel()
ncurses_typeahead()
ncurses_ungetch()
ncurses_ungetmouse()
ncurses_update_panels()
ncurses_use_default_colors()
ncurses_use_env()
ncurses_use_extended_names()
ncurses_vidattr()
ncurses_vline()
ncurses_waddch()
ncurses_waddstr()
ncurses_wattroff()
ncurses_wattron()
ncurses_wattrset()
ncurses_wborder()
ncurses_wclear()
ncurses_wcolor_set()
ncurses_werase()
ncurses_wgetch()
ncurses_whline()
ncurses_wmouse_trafo()
ncurses_wmove()
ncurses_wnoutrefresh()
ncurses_wrefresh()
ncurses_wstandend()
ncurses_wstandout()
ncurses_wvline()
newt_bell()
newt_button()
newt_button_bar()
newt_centered_window()
newt_checkbox()
newt_checkbox_get_value()
newt_checkbox_set_flags()
newt_checkbox_set_value()
newt_checkbox_tree()
newt_checkbox_tree_add_item()
newt_checkbox_tree_find_item()
newt_checkbox_tree_get_current()
newt_checkbox_tree_get_entry_value()
newt_checkbox_tree_get_multi_selection()
newt_checkbox_tree_get_selection()
newt_checkbox_tree_multi()
newt_checkbox_tree_set_current()
newt_checkbox_tree_set_entry()
newt_checkbox_tree_set_entry_value()
newt_checkbox_tree_set_width()
newt_clear_key_buffer()
newt_cls()
newt_compact_button()
newt_component_add_callback()
newt_component_takes_focus()
newt_create_grid()
newt_cursor_off()
newt_cursor_on()
newt_delay()
newt_draw_form()
newt_draw_root_text()
newt_entry()
newt_entry_get_value()
newt_entry_set()
newt_entry_set_filter()
newt_entry_set_flags()
newt_finished()
newt_form()
newt_form_add_component()
newt_form_add_components()
newt_form_add_hot_key()
newt_form_destroy()
newt_form_get_current()
newt_form_run()
newt_form_set_background()
newt_form_set_height()
newt_form_set_size()
newt_form_set_timer()
newt_form_set_width()
newt_form_watch_fd()
newt_get_screen_size()
newt_grid_add_components_to_form()
newt_grid_basic_window()
newt_grid_free()
newt_grid_get_size()
newt_grid_h_close_stacked()
newt_grid_h_stacked()
newt_grid_place()
newt_grid_set_field()
newt_grid_simple_window()
newt_grid_v_close_stacked()
newt_grid_v_stacked()
newt_grid_wrapped_window()
newt_grid_wrapped_window_at()
newt_init()
newt_label()
newt_label_set_text()
newt_listbox()
newt_listbox_append_entry()
newt_listbox_clear()
newt_listbox_clear_selection()
newt_listbox_delete_entry()
newt_listbox_get_current()
newt_listbox_get_selection()
newt_listbox_insert_entry()
newt_listbox_item_count()
newt_listbox_select_item()
newt_listbox_set_current()
newt_listbox_set_current_by_key()
newt_listbox_set_data()
newt_listbox_set_entry()
newt_listbox_set_width()
newt_listitem()
newt_listitem_get_data()
newt_listitem_set()
newt_open_window()
newt_pop_help_line()
newt_pop_window()
newt_push_help_line()
newt_radio_get_current()
newt_radiobutton()
newt_redraw_help_line()
newt_reflow_text()
newt_refresh()
newt_resize_screen()
newt_resume()
newt_run_form()
newt_scale()
newt_scale_set()
newt_scrollbar_set()
newt_set_help_callback()
newt_set_suspend_callback()
newt_suspend()
newt_textbox()
newt_textbox_get_num_lines()
newt_textbox_reflowed()
newt_textbox_set_height()
newt_textbox_set_text()
newt_vertical_scrollbar()
newt_wait_for_key()
newt_win_choice()
newt_win_entries()
newt_win_menu()
newt_win_message()
newt_win_messagev()
newt_win_ternary()
next()
ngettext()
nl2br()
nl_langinfo()
notes_body()
notes_copy_db()
notes_create_db()
notes_create_note()
notes_drop_db()
notes_find_note()
notes_header_info()
notes_list_msgs()
notes_mark_read()
notes_mark_unread()
notes_nav_create()
notes_search()
notes_unread()
notes_version()
nsapi_request_headers()
nsapi_response_headers()
nsapi_virtual()
number_format()

O

ob_clean()
ob_deflatehandler()
ob_end_clean()
ob_end_flush()
ob_etaghandler()
ob_flush()
ob_get_clean()
ob_get_contents()
ob_get_flush()
ob_get_length()
ob_get_level()
ob_get_status()
ob_gzhandler()
ob_iconv_handler()
ob_implicit_flush()
ob_inflatehandler()
ob_list_handlers()
ob_start()
ob_tidyhandler()
OCI-Collection->append()
OCI-Collection->assign()
OCI-Collection->assignElem()
OCI-Collection->free()
OCI-Collection->getElem()
OCI-Collection->max()
OCI-Collection->size()
OCI-Collection->trim()
OCI-Lob->append()
OCI-Lob->close()
OCI-Lob->eof()
OCI-Lob->erase()
OCI-Lob->export()
OCI-Lob->flush()
OCI-Lob->free()
OCI-Lob->getBuffering()
OCI-Lob->import()
OCI-Lob->load()
OCI-Lob->read()
OCI-Lob->rewind()
OCI-Lob->save()
OCI-Lob->saveFile()
OCI-Lob->seek()
OCI-Lob->setBuffering()
OCI-Lob->size()
OCI-Lob->tell()
OCI-Lob->truncate()
OCI-Lob->write()
OCI-Lob->writeTemporary()
OCI-Lob->writeToFile()
oci_bind_array_by_name()
oci_bind_by_name()
oci_cancel()
oci_close()
oci_commit()
oci_connect()
oci_define_by_name()
oci_error()
oci_execute()
oci_fetch()
oci_fetch_all()
oci_fetch_array()
oci_fetch_assoc()
oci_fetch_object()
oci_fetch_row()
oci_field_is_null()
oci_field_name()
oci_field_precision()
oci_field_scale()
oci_field_size()
oci_field_type()
oci_field_type_raw()
oci_free_statement()
oci_internal_debug()
oci_lob_copy()
oci_lob_is_equal()
oci_new_collection()
oci_new_connect()
oci_new_cursor()
oci_new_descriptor()
oci_num_fields()
oci_num_rows()
oci_parse()
oci_password_change()
oci_pconnect()
oci_result()
oci_rollback()
oci_server_version()
oci_set_prefetch()
oci_statement_type()
ocibindbyname()
ocicancel()
ocicloselob()
ocicollappend()
ocicollassign()
ocicollassignelem()
ocicollgetelem()
ocicollmax()
ocicollsize()
ocicolltrim()
ocicolumnisnull()
ocicolumnname()
ocicolumnprecision()
ocicolumnscale()
ocicolumnsize()
ocicolumntype()
ocicolumntyperaw()
ocicommit()
ocidefinebyname()
ocierror()
ociexecute()
ocifetch()
ocifetchinto()
ocifetchstatement()
ocifreecollection()
ocifreecursor()
ocifreedesc()
ocifreestatement()
ociinternaldebug()
ociloadlob()
ocilogoff()
ocilogon()
ocinewcollection()
ocinewcursor()
ocinewdescriptor()
ocinlogon()
ocinumcols()
ociparse()
ociplogon()
ociresult()
ocirollback()
ocirowcount()
ocisavelob()
ocisavelobfile()
ociserverversion()
ocisetprefetch()
ocistatementtype()
ociwritelobtofile()
ociwritetemporarylob()
octdec()
odbc_autocommit()
odbc_binmode()
odbc_close()
odbc_close_all()
odbc_columnprivileges()
odbc_columns()
odbc_commit()
odbc_connect()
odbc_cursor()
odbc_data_source()
odbc_do()
odbc_error()
odbc_errormsg()
odbc_exec()
odbc_execute()
odbc_fetch_array()
odbc_fetch_into()
odbc_fetch_object()
odbc_fetch_row()
odbc_field_len()
odbc_field_name()
odbc_field_num()
odbc_field_precision()
odbc_field_scale()
odbc_field_type()
odbc_foreignkeys()
odbc_free_result()
odbc_gettypeinfo()
odbc_longreadlen()
odbc_next_result()
odbc_num_fields()
odbc_num_rows()
odbc_pconnect()
odbc_prepare()
odbc_primarykeys()
odbc_procedurecolumns()
odbc_procedures()
odbc_result()
odbc_result_all()
odbc_rollback()
odbc_setoption()
odbc_specialcolumns()
odbc_statistics()
odbc_tableprivileges()
odbc_tables()
openal_buffer_create()
openal_buffer_data()
openal_buffer_destroy()
openal_buffer_get()
openal_buffer_loadwav()
openal_context_create()
openal_context_current()
openal_context_destroy()
openal_context_process()
openal_context_suspend()
openal_device_close()
openal_device_open()
openal_listener_get()
openal_listener_set()
openal_source_create()
openal_source_destroy()
openal_source_get()
openal_source_pause()
openal_source_play()
openal_source_rewind()
openal_source_set()
openal_source_stop()
openal_stream()
opendir()
openlog()
openssl_csr_export()
openssl_csr_export_to_file()
openssl_csr_get_public_key()
openssl_csr_get_subject()
openssl_csr_new()
openssl_csr_sign()
openssl_error_string()
openssl_free_key()
openssl_get_privatekey()
openssl_get_publickey()
openssl_open()
openssl_pkcs7_decrypt()
openssl_pkcs7_encrypt()
openssl_pkcs7_sign()
openssl_pkcs7_verify()
openssl_pkey_export()
openssl_pkey_export_to_file()
openssl_pkey_free()
openssl_pkey_get_details()
openssl_pkey_get_private()
openssl_pkey_get_public()
openssl_pkey_new()
openssl_private_decrypt()
openssl_private_encrypt()
openssl_public_decrypt()
openssl_public_encrypt()
openssl_seal()
openssl_sign()
openssl_verify()
openssl_x509_check_private_key()
openssl_x509_checkpurpose()
openssl_x509_export()
openssl_x509_export_to_file()
openssl_x509_free()
openssl_x509_parse()
openssl_x509_read()
ora_bind()
ora_close()
ora_columnname()
ora_columnsize()
ora_columntype()
ora_commit()
ora_commitoff()
ora_commiton()
ora_do()
ora_error()
ora_errorcode()
ora_exec()
ora_fetch()
ora_fetch_into()
ora_getcolumn()
ora_logoff()
ora_logon()
ora_numcols()
ora_numrows()
ora_open()
ora_parse()
ora_plogon()
ora_rollback()
orbitenum()
orbitobject()
orbitstruct()
ord()
output_add_rewrite_var()
output_reset_rewrite_vars()
overload()
override_function()
ovrimos_close()
ovrimos_commit()
ovrimos_connect()
ovrimos_cursor()
ovrimos_exec()
ovrimos_execute()
ovrimos_fetch_into()
ovrimos_fetch_row()
ovrimos_field_len()
ovrimos_field_name()
ovrimos_field_num()
ovrimos_field_type()
ovrimos_free_result()
ovrimos_longreadlen()
ovrimos_num_fields()
ovrimos_num_rows()
ovrimos_prepare()
ovrimos_result()
ovrimos_result_all()
ovrimos_rollback()

P

pack()
ParentIterator::getChildren()
ParentIterator::hasChildren()
ParentIterator::next()
ParentIterator::rewind()
parse_ini_file()
parse_str()
parse_url()
parsekit_compile_file()
parsekit_compile_string()
parsekit_func_arginfo()
passthru()
pathinfo()
pclose()
pcntl_alarm()
pcntl_exec()
pcntl_fork()
pcntl_getpriority()
pcntl_setpriority()
pcntl_signal()
pcntl_wait()
pcntl_waitpid()
pcntl_wexitstatus()
pcntl_wifexited()
pcntl_wifsignaled()
pcntl_wifstopped()
pcntl_wstopsig()
pcntl_wtermsig()
pdf_activate_item()
pdf_add_annotation()
pdf_add_bookmark()
pdf_add_launchlink()
pdf_add_locallink()
pdf_add_nameddest()
pdf_add_note()
pdf_add_outline()
pdf_add_pdflink()
pdf_add_table_cell()
pdf_add_textflow()
pdf_add_thumbnail()
pdf_add_weblink()
pdf_arc()
pdf_arcn()
pdf_attach_file()
pdf_begin_document()
pdf_begin_font()
pdf_begin_glyph()
pdf_begin_item()
pdf_begin_layer()
pdf_begin_page()
pdf_begin_page_ext()
pdf_begin_pattern()
pdf_begin_template()
pdf_begin_template_ext()
pdf_circle()
pdf_clip()
pdf_close()
pdf_close_image()
pdf_close_pdi()
pdf_close_pdi_page()
pdf_closepath()
pdf_closepath_fill_stroke()
pdf_closepath_stroke()
pdf_concat()
pdf_continue_text()
pdf_create_3dview()
pdf_create_action()
pdf_create_annotation()
pdf_create_bookmark()
pdf_create_field()
pdf_create_fieldgroup()
pdf_create_gstate()
pdf_create_pvf()
pdf_create_textflow()
pdf_curveto()
pdf_define_layer()
pdf_delete()
pdf_delete_pvf()
pdf_delete_table()
pdf_delete_textflow()
pdf_encoding_set_char()
pdf_end_document()
pdf_end_font()
pdf_end_glyph()
pdf_end_item()
pdf_end_layer()
pdf_end_page()
pdf_end_page_ext()
pdf_end_pattern()
pdf_end_template()
pdf_endpath()
pdf_fill()
pdf_fill_imageblock()
pdf_fill_pdfblock()
pdf_fill_stroke()
pdf_fill_textblock()
pdf_findfont()
pdf_fit_image()
pdf_fit_pdi_page()
pdf_fit_table()
pdf_fit_textflow()
pdf_fit_textline()
pdf_get_apiname()
pdf_get_buffer()
pdf_get_errmsg()
pdf_get_errnum()
pdf_get_font()
pdf_get_fontname()
pdf_get_fontsize()
pdf_get_image_height()
pdf_get_image_width()
pdf_get_majorversion()
pdf_get_minorversion()
pdf_get_parameter()
pdf_get_pdi_parameter()
pdf_get_pdi_value()
pdf_get_value()
pdf_info_font()
pdf_info_matchbox()
pdf_info_table()
pdf_info_textflow()
pdf_info_textline()
pdf_initgraphics()
pdf_lineto()
pdf_load_3ddata()
pdf_load_font()
pdf_load_iccprofile()
pdf_load_image()
pdf_makespotcolor()
pdf_moveto()
pdf_new()
pdf_open_ccitt()
pdf_open_file()
pdf_open_gif()
pdf_open_image()
pdf_open_image_file()
pdf_open_jpeg()
pdf_open_memory_image()
pdf_open_pdi()
pdf_open_pdi_page()
pdf_open_tiff()
pdf_pcos_get_number()
pdf_pcos_get_stream()
pdf_pcos_get_string()
pdf_place_image()
pdf_place_pdi_page()
pdf_process_pdi()
pdf_rect()
pdf_restore()
pdf_resume_page()
pdf_rotate()
pdf_save()
pdf_scale()
pdf_set_border_color()
pdf_set_border_dash()
pdf_set_border_style()
pdf_set_char_spacing()
pdf_set_duration()
pdf_set_gstate()
pdf_set_horiz_scaling()
pdf_set_info()
pdf_set_info_author()
pdf_set_info_creator()
pdf_set_info_keywords()
pdf_set_info_subject()
pdf_set_info_title()
pdf_set_layer_dependency()
pdf_set_leading()
pdf_set_parameter()
pdf_set_text_matrix()
pdf_set_text_pos()
pdf_set_text_rendering()
pdf_set_text_rise()
pdf_set_value()
pdf_set_word_spacing()
pdf_setcolor()
pdf_setdash()
pdf_setdashpattern()
pdf_setflat()
pdf_setfont()
pdf_setgray()
pdf_setgray_fill()
pdf_setgray_stroke()
pdf_setlinecap()
pdf_setlinejoin()
pdf_setlinewidth()
pdf_setmatrix()
pdf_setmiterlimit()
pdf_setpolydash()
pdf_setrgbcolor()
pdf_setrgbcolor_fill()
pdf_setrgbcolor_stroke()
pdf_shading()
pdf_shading_pattern()
pdf_shfill()
pdf_show()
pdf_show_boxed()
pdf_show_xy()
pdf_skew()
pdf_stringwidth()
pdf_stroke()
pdf_suspend_page()
pdf_translate()
pdf_utf16_to_utf8()
pdf_utf32_to_utf16()
pdf_utf8_to_utf16()
PDO->__construct()()
PDO->beginTransaction()()
PDO->commit()()
PDO->errorCode()()
PDO->errorInfo()()
PDO->exec()()
PDO->getAttribute()()
PDO->getAvailableDrivers()()
PDO->lastInsertId()()
PDO->prepare()()
PDO->query()()
PDO->quote()()
PDO->rollBack()()
PDO->setAttribute()()
PDO->sqliteCreateAggregate()()
PDO->sqliteCreateFunction()()
PDO::pgsqlLOBCreate()
PDO::pgsqlLOBOpen()
PDO::pgsqlLOBUnlink()
PDOStatement->bindColumn()()
PDOStatement->bindParam()()
PDOStatement->bindValue()()
PDOStatement->closeCursor()()
PDOStatement->columnCount()()
PDOStatement->errorCode()()
PDOStatement->errorInfo()()
PDOStatement->execute()()
PDOStatement->fetch()()
PDOStatement->fetchAll()()
PDOStatement->fetchColumn()()
PDOStatement->fetchObject()()
PDOStatement->getAttribute()()
PDOStatement->getColumnMeta()()
PDOStatement->nextRowset()()
PDOStatement->rowCount()()
PDOStatement->setAttribute()()
PDOStatement->setFetchMode()()
pfpro_cleanup()
pfpro_init()
pfpro_process()
pfpro_process_raw()
pfpro_version()
pfsockopen()
pg_affected_rows()
pg_cancel_query()
pg_client_encoding()
pg_close()
pg_connect()
pg_connection_busy()
pg_connection_reset()
pg_connection_status()
pg_convert()
pg_copy_from()
pg_copy_to()
pg_dbname()
pg_delete()
pg_end_copy()
pg_escape_bytea()
pg_escape_string()
pg_execute()
pg_fetch_all()
pg_fetch_all_columns()
pg_fetch_array()
pg_fetch_assoc()
pg_fetch_object()
pg_fetch_result()
pg_fetch_row()
pg_field_is_null()
pg_field_name()
pg_field_num()
pg_field_prtlen()
pg_field_size()
pg_field_table()
pg_field_type()
pg_field_type_oid()
pg_free_result()
pg_get_notify()
pg_get_pid()
pg_get_result()
pg_host()
pg_insert()
pg_last_error()
pg_last_notice()
pg_last_oid()
pg_lo_close()
pg_lo_create()
pg_lo_export()
pg_lo_import()
pg_lo_open()
pg_lo_read()
pg_lo_read_all()
pg_lo_seek()
pg_lo_tell()
pg_lo_unlink()
pg_lo_write()
pg_meta_data()
pg_num_fields()
pg_num_rows()
pg_options()
pg_parameter_status()
pg_pconnect()
pg_ping()
pg_port()
pg_prepare()
pg_put_line()
pg_query()
pg_query_params()
pg_result_error()
pg_result_error_field()
pg_result_seek()
pg_result_status()
pg_select()
pg_send_execute()
pg_send_prepare()
pg_send_query()
pg_send_query_params()
pg_set_client_encoding()
pg_set_error_verbosity()
pg_trace()
pg_transaction_status()
pg_tty()
pg_unescape_bytea()
pg_untrace()
pg_update()
pg_version()
Phar->compressAllFilesBZIP2()
Phar->compressAllFilesGZ()
Phar->count()
Phar->getMetaData()
Phar->getModified()
Phar->getSignature()
Phar->getStub()
Phar->getVersion()
Phar->isBuffering()
Phar->setMetaData()
Phar->setStub()
Phar->startBuffering()
Phar->stopBuffering()
Phar->uncompressAllFiles()
Phar::__construct()
Phar::apiVersion()
Phar::canCompress()
Phar::canWrite()
Phar::loadPhar()
Phar::mapPhar()
Phar::offsetExists()
Phar::offsetGet()
Phar::offsetSet()
Phar::offsetUnset()
PharFileInfo->chmod()
PharFileInfo->getCompressedSize()
PharFileInfo->getCRC32()
PharFileInfo->getMetaData()
PharFileInfo->getPharFlags()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCRCChecked()
PharFileInfo->setCompressedBZIP2()
PharFileInfo->setCompressedGZ()
PharFileInfo->setMetaData()
PharFileInfo->setUncompressed()
PharFileInfo::__construct()
php_check_syntax()
php_ini_scanned_files()
php_logo_guid()
php_sapi_name()
php_strip_whitespace()
php_uname()
phpcredits()
phpinfo()
phpversion()
pi()
png2wbmp()
popen()
pos()
posix_access()
posix_ctermid()
posix_get_last_error()
posix_getcwd()
posix_getegid()
posix_geteuid()
posix_getgid()
posix_getgrgid()
posix_getgrnam()
posix_getgroups()
posix_getlogin()
posix_getpgid()
posix_getpgrp()
posix_getpid()
posix_getppid()
posix_getpwnam()
posix_getpwuid()
posix_getrlimit()
posix_getsid()
posix_getuid()
posix_initgroups()
posix_isatty()
posix_kill()
posix_mkfifo()
posix_mknod()
posix_setegid()
posix_seteuid()
posix_setgid()
posix_setpgid()
posix_setsid()
posix_setuid()
posix_strerror()
posix_times()
posix_ttyname()
posix_uname()
pow()
preg_grep()
preg_last_error()
preg_match()
preg_match_all()
preg_quote()
preg_replace()
preg_replace_callback()
preg_split()
prev()
print()
print_r()
printer_abort()
printer_close()
printer_create_brush()
printer_create_dc()
printer_create_font()
printer_create_pen()
printer_delete_brush()
printer_delete_dc()
printer_delete_font()
printer_delete_pen()
printer_draw_bmp()
printer_draw_chord()
printer_draw_elipse()
printer_draw_line()
printer_draw_pie()
printer_draw_rectangle()
printer_draw_roundrect()
printer_draw_text()
printer_end_doc()
printer_end_page()
printer_get_option()
printer_list()
printer_logical_fontheight()
printer_open()
printer_select_brush()
printer_select_font()
printer_select_pen()
printer_set_option()
printer_start_doc()
printer_start_page()
printer_write()
printf()
proc_close()
proc_get_status()
proc_nice()
proc_open()
proc_terminate()
property_exists()
ps_add_bookmark()
ps_add_launchlink()
ps_add_locallink()
ps_add_note()
ps_add_pdflink()
ps_add_weblink()
ps_arc()
ps_arcn()
ps_begin_page()
ps_begin_pattern()
ps_begin_template()
ps_circle()
ps_clip()
ps_close()
ps_close_image()
ps_closepath()
ps_closepath_stroke()
ps_continue_text()
ps_curveto()
ps_delete()
ps_end_page()
ps_end_pattern()
ps_end_template()
ps_fill()
ps_fill_stroke()
ps_findfont()
ps_get_buffer()
ps_get_parameter()
ps_get_value()
ps_hyphenate()
ps_include_file()
ps_lineto()
ps_makespotcolor()
ps_moveto()
ps_new()
ps_open_file()
ps_open_image()
ps_open_image_file()
ps_open_memory_image()
ps_place_image()
ps_rect()
ps_restore()
ps_rotate()
ps_save()
ps_scale()
ps_set_border_color()
ps_set_border_dash()
ps_set_border_style()
ps_set_info()
ps_set_parameter()
ps_set_text_pos()
ps_set_value()
ps_setcolor()
ps_setdash()
ps_setflat()
ps_setfont()
ps_setgray()
ps_setlinecap()
ps_setlinejoin()
ps_setlinewidth()
ps_setmiterlimit()
ps_setoverprintmode()
ps_setpolydash()
ps_shading()
ps_shading_pattern()
ps_shfill()
ps_show()
ps_show2()
ps_show_boxed()
ps_show_xy()
ps_show_xy2()
ps_string_geometry()
ps_stringwidth()
ps_stroke()
ps_symbol()
ps_symbol_name()
ps_symbol_width()
ps_translate()
pspell_add_to_personal()
pspell_add_to_session()
pspell_check()
pspell_clear_session()
pspell_config_create()
pspell_config_data_dir()
pspell_config_dict_dir()
pspell_config_ignore()
pspell_config_mode()
pspell_config_personal()
pspell_config_repl()
pspell_config_runtogether()
pspell_config_save_repl()
pspell_new()
pspell_new_config()
pspell_new_personal()
pspell_save_wordlist()
pspell_store_replacement()
pspell_suggest()
putenv()
px_close()
px_create_fp()
px_date2string()
px_delete()
px_delete_record()
px_get_field()
px_get_info()
px_get_parameter()
px_get_record()
px_get_schema()
px_get_value()
px_insert_record()
px_new()
px_numfields()
px_numrecords()
px_open_fp()
px_put_record()
px_retrieve_record()
px_set_blob_file()
px_set_parameter()
px_set_tablename()
px_set_targetencoding()
px_set_value()
px_timestamp2string()
px_update_record()

Q

qdom_error()
qdom_tree()
quoted_printable_decode()
quotemeta()

R

rad2deg()
radius_acct_open()
radius_add_server()
radius_auth_open()
radius_close()
radius_config()
radius_create_request()
radius_cvt_addr()
radius_cvt_int()
radius_cvt_string()
radius_demangle()
radius_demangle_mppe_key()
radius_get_attr()
radius_get_vendor_attr()
radius_put_addr()
radius_put_attr()
radius_put_int()
radius_put_string()
radius_put_vendor_addr()
radius_put_vendor_attr()
radius_put_vendor_int()
radius_put_vendor_string()
radius_request_authenticator()
radius_send_request()
radius_server_secret()
radius_strerror()
rand()
range()
Rar::extract()
Rar::getAttr()
Rar::getCrc()
Rar::getFileTime()
Rar::getHostOs()
Rar::getMethod()
Rar::getName()
Rar::getPackedSize()
Rar::getUnpackedSize()
Rar::getVersion()
rar_close()
rar_entry_get()
rar_list()
rar_open()
rawurldecode()
rawurlencode()
read_exif_data()
readdir()
readfile()
readgzfile()
readline()
readline_add_history()
readline_callback_handler_install()
readline_callback_handler_remove()
readline_callback_read_char()
readline_clear_history()
readline_completion_function()
readline_info()
readline_list_history()
readline_on_new_line()
readline_read_history()
readline_redisplay()
readline_write_history()
readlink()
realpath()
recode()
recode_file()
recode_string()
RecursiveDirectoryIterator::getChildren()
RecursiveDirectoryIterator::hasChildren()
RecursiveDirectoryIterator::key()
RecursiveDirectoryIterator::next()
RecursiveDirectoryIterator::rewind()
RecursiveIteratorIterator::current()
RecursiveIteratorIterator::getDepth()
RecursiveIteratorIterator::getSubIterator()
RecursiveIteratorIterator::key()
RecursiveIteratorIterator::next()
RecursiveIteratorIterator::rewind()
RecursiveIteratorIterator::valid()
register_shutdown_function()
register_tick_function()
rename()
rename_function()
reset()
resources()
restore_error_handler()
restore_exception_handler()
restore_include_path()
result->current_field()
result->current_field()
result->data_seek()
result->data_seek()()
result->fetch_array()
result->fetch_array()()
result->fetch_field()
result->fetch_field()()
result->fetch_field_direct()
result->fetch_field_direct()()
result->fetch_fields()
result->fetch_fields()()
result->fetch_object()
result->fetch_object()()
result->fetch_row()
result->fetch_row()()
result->field_count()
result->field_count()
result->field_seek()
result->field_seek()()
result->free()
result->free()()
result->lengths()
result->lengths()()
result->num_rows()
rewind()
rewinddir()
rmdir()
round()
rpm_close()
rpm_get_tag()
rpm_is_valid()
rpm_open()
rpm_version()
rsort()
rtrim()
runkit_class_adopt()
runkit_class_emancipate()
runkit_constant_add()
runkit_constant_redefine()
runkit_constant_remove()
runkit_function_add()
runkit_function_copy()
runkit_function_redefine()
runkit_function_remove()
runkit_function_rename()
runkit_import()
runkit_lint()
runkit_lint_file()
runkit_method_add()
runkit_method_copy()
runkit_method_redefine()
runkit_method_remove()
runkit_method_rename()
runkit_return_value_used()
runkit_sandbox()
runkit_sandbox_output_handler()
runkit_sandbox_parent()
runkit_superglobals()

S

SAMConnection->__construct()()
SAMConnection->commit()()
SAMConnection->connect()()
SAMConnection->disconnect()()
SAMConnection->errno()
SAMConnection->error()
SAMConnection->isConnected()()
SAMConnection->peek()()
SAMConnection->peekAll()()
SAMConnection->receive()()
SAMConnection->remove()()
SAMConnection->rollback()()
SAMConnection->send()()
SAMConnection->subscribe()()
SAMConnection->unsubscribe()()
SAMConnection::setDebug()()
SAMMessage->__construct()()
SAMMessage->body()
SAMMessage->header()
satellite_caught_exception()
satellite_exception_id()
satellite_exception_value()
satellite_get_repository_id()
satellite_load_idl()
satellite_object_to_string()
SCA::createDataObject()
SCA::getService()
SCA_LocalProxy::createDataObject()
SCA_SoapProxy::createDataObject()
scandir()
SDO_DAS_ChangeSummary::beginLogging()
SDO_DAS_ChangeSummary::endLogging()
SDO_DAS_ChangeSummary::getChangedDataObjects()
SDO_DAS_ChangeSummary::getChangeType()
SDO_DAS_ChangeSummary::getOldContainer()
SDO_DAS_ChangeSummary::getOldValues()
SDO_DAS_ChangeSummary::isLogging()
SDO_DAS_DataFactory::addPropertyToType()
SDO_DAS_DataFactory::addType()
SDO_DAS_DataFactory::getDataFactory()
SDO_DAS_DataObject::getChangeSummary()
SDO_DAS_Relational::__construct()
SDO_DAS_Relational::applyChanges()
SDO_DAS_Relational::createRootDataObject()
SDO_DAS_Relational::executePreparedQuery()
SDO_DAS_Relational::executeQuery()
SDO_DAS_Setting::getListIndex()
SDO_DAS_Setting::getPropertyIndex()
SDO_DAS_Setting::getPropertyName()
SDO_DAS_Setting::getValue()
SDO_DAS_Setting::isSet()
SDO_DAS_XML::addTypes()
SDO_DAS_XML::create()
SDO_DAS_XML::createDataObject()
SDO_DAS_XML::createDocument()
SDO_DAS_XML::loadFile()
SDO_DAS_XML::loadString()
SDO_DAS_XML::saveFile()
SDO_DAS_XML::saveString()
SDO_DAS_XML_Document::getRootDataObject()
SDO_DAS_XML_Document::getRootElementName()
SDO_DAS_XML_Document::getRootElementURI()
SDO_DAS_XML_Document::setEncoding()
SDO_DAS_XML_Document::setXMLDeclaration()
SDO_DAS_XML_Document::setXMLVersion()
SDO_DataFactory::create()
SDO_DataObject::clear()
SDO_DataObject::createDataObject()
SDO_DataObject::getContainer()
SDO_DataObject::getSequence()
SDO_DataObject::getTypeName()
SDO_DataObject::getTypeNamespaceURI()
SDO_Exception::getCause()
SDO_List::insert()
SDO_Model_Property::getContainingType()
SDO_Model_Property::getDefault()
SDO_Model_Property::getName()
SDO_Model_Property::getType()
SDO_Model_Property::isContainment()
SDO_Model_Property::isMany()
SDO_Model_ReflectionDataObject::__construct()
SDO_Model_ReflectionDataObject::export()
SDO_Model_ReflectionDataObject::getContainmentProperty()
SDO_Model_ReflectionDataObject::getInstanceProperties()
SDO_Model_ReflectionDataObject::getType()
SDO_Model_Type::getBaseType()
SDO_Model_Type::getName()
SDO_Model_Type::getNamespaceURI()
SDO_Model_Type::getProperties()
SDO_Model_Type::getProperty()
SDO_Model_Type::isAbstractType()
SDO_Model_Type::isDataType()
SDO_Model_Type::isInstance()
SDO_Model_Type::isOpenType()
SDO_Model_Type::isSequencedType()
SDO_Sequence::getProperty()
SDO_Sequence::insert()
SDO_Sequence::move()
sem_acquire()
sem_get()
sem_release()
sem_remove()
serialize()
sesam_affected_rows()
sesam_commit()
sesam_connect()
sesam_diagnostic()
sesam_disconnect()
sesam_errormsg()
sesam_execimm()
sesam_fetch_array()
sesam_fetch_result()
sesam_fetch_row()
sesam_field_array()
sesam_field_name()
sesam_free_result()
sesam_num_fields()
sesam_query()
sesam_rollback()
sesam_seek_row()
sesam_settransaction()
session_cache_expire()
session_cache_limiter()
session_commit()
session_decode()
session_destroy()
session_encode()
session_get_cookie_params()
session_id()
session_is_registered()
session_module_name()
session_name()
session_pgsql_add_error()
session_pgsql_get_error()
session_pgsql_get_field()
session_pgsql_reset()
session_pgsql_set_field()
session_pgsql_status()
session_regenerate_id()
session_register()
session_save_path()
session_set_cookie_params()
session_set_save_handler()
session_start()
session_unregister()
session_unset()
session_write_close()
set_error_handler()
set_exception_handler()
set_file_buffer()
set_include_path()
set_magic_quotes_runtime()
set_time_limit()
setcookie()
setlocale()
setrawcookie()
settype()
sha1()
sha1_file()
shell_exec()
shm_attach()
shm_detach()
shm_get_var()
shm_put_var()
shm_remove()
shm_remove_var()
shmop_close()
shmop_delete()
shmop_open()
shmop_read()
shmop_size()
shmop_write()
show_source()
shuffle()
similar_text()
simplexml_import_dom()
simplexml_load_file()
simplexml_load_string()
SimpleXMLElement->__construct()()
SimpleXMLElement->addAttribute()()
SimpleXMLElement->addChild()()
SimpleXMLElement->asXML()()
SimpleXMLElement->attributes()()
SimpleXMLElement->children()()
SimpleXMLElement->getDocNamespaces()()
SimpleXMLElement->getName()()
SimpleXMLElement->getNamespaces()()
SimpleXMLElement->registerXPathNamespace()()
SimpleXMLElement->xpath()()
SimpleXMLIterator::current()
SimpleXMLIterator::getChildren()
SimpleXMLIterator::hasChildren()
SimpleXMLIterator::key()
SimpleXMLIterator::next()
SimpleXMLIterator::rewind()
SimpleXMLIterator::valid()
sin()
sinh()
sizeof()
sleep()
snmp_get_quick_print()
snmp_get_valueretrieval()
snmp_read_mib()
snmp_set_enum_print()
snmp_set_oid_numeric_print()
snmp_set_oid_output_format()
snmp_set_quick_print()
snmp_set_valueretrieval()
snmpget()
snmpgetnext()
snmprealwalk()
snmpset()
snmpwalk()
snmpwalkoid()
SoapClient->__call()()
SoapClient->__construct()()
SoapClient->__doRequest()()
SoapClient->__getFunctions()()
SoapClient->__getLastRequest()()
SoapClient->__getLastRequestHeaders()()
SoapClient->__getLastResponse()()
SoapClient->__getLastResponseHeaders()()
SoapClient->__getTypes()()
SoapClient->__setCookie()()
SoapClient->__soapCall()()
SoapFault->__construct()()
SoapHeader->__construct()()
SoapParam->__construct()()
SoapServer->__construct()()
SoapServer->addFunction()()
SoapServer->fault()()
SoapServer->getFunctions()()
SoapServer->handle()()
SoapServer->setClass()()
SoapServer->setPersistence()()
SoapVar->__construct()()
socket_accept()
socket_bind()
socket_clear_error()
socket_close()
socket_connect()
socket_create()
socket_create_listen()
socket_create_pair()
socket_get_option()
socket_get_status()
socket_getpeername()
socket_getsockname()
socket_last_error()
socket_listen()
socket_read()
socket_recv()
socket_recvfrom()
socket_select()
socket_send()
socket_sendto()
socket_set_block()
socket_set_blocking()
socket_set_nonblock()
socket_set_option()
socket_set_timeout()
socket_shutdown()
socket_strerror()
socket_write()
sort()
soundex()
spl_autoload()
spl_autoload_call()
spl_autoload_extensions()
spl_autoload_functions()
spl_autoload_register()
spl_autoload_unregister()
spl_classes()
spl_object_hash()
split()
spliti()
sprintf()
sql_regcase()
sqlite_array_query()
sqlite_busy_timeout()
sqlite_changes()
sqlite_close()
sqlite_column()
sqlite_create_aggregate()
sqlite_create_function()
sqlite_current()
sqlite_error_string()
sqlite_escape_string()
sqlite_exec()
sqlite_factory()
sqlite_fetch_all()
sqlite_fetch_array()
sqlite_fetch_column_types()
sqlite_fetch_object()
sqlite_fetch_single()
sqlite_fetch_string()
sqlite_field_name()
sqlite_has_more()
sqlite_has_prev()
sqlite_key()
sqlite_last_error()
sqlite_last_insert_rowid()
sqlite_libencoding()
sqlite_libversion()
sqlite_next()
sqlite_num_fields()
sqlite_num_rows()
sqlite_open()
sqlite_popen()
sqlite_prev()
sqlite_query()
sqlite_rewind()
sqlite_seek()
sqlite_single_query()
sqlite_udf_decode_binary()
sqlite_udf_encode_binary()
sqlite_unbuffered_query()
sqlite_valid()
SQLiteDatabase->arrayQuery()
SQLiteDatabase->busyTimeout()
SQLiteDatabase->changes()
SQLiteDatabase->createAggregate()
SQLiteDatabase->createFunction()
SQLiteDatabase->exec()
SQLiteDatabase->fetchColumnTypes()
SQLiteDatabase->lastError()
SQLiteDatabase->lastInsertRowid()
SQLiteDatabase->query()
SQLiteDatabase->singleQuery()
SQLiteDatabase->unbufferedQuery()
SQLiteResult->column()
SQLiteResult->current()
SQLiteResult->fetch()
SQLiteResult->fetchAll()
SQLiteResult->fetchObject()
SQLiteResult->fetchSingle()
SQLiteResult->fieldName()
SQLiteResult->hasPrev()
SQLiteResult->key()
SQLiteResult->next()
SQLiteResult->numFields()
SQLiteResult->numRows()
SQLiteResult->prev()
SQLiteResult->rewind()
SQLiteResult->seek()
SQLiteResult->valid()
SQLiteUnbuffered->column()
SQLiteUnbuffered->current()
SQLiteUnbuffered->fetch()
SQLiteUnbuffered->fetchAll()
SQLiteUnbuffered->fetchObject()
SQLiteUnbuffered->fetchSingle()
SQLiteUnbuffered->fieldName()
SQLiteUnbuffered->next()
SQLiteUnbuffered->numFields()
SQLiteUnbuffered->valid()
sqrt()
srand()
sscanf()
ssh2_auth_hostbased_file()
ssh2_auth_none()
ssh2_auth_password()
ssh2_auth_pubkey_file()
ssh2_connect()
ssh2_exec()
ssh2_fetch_stream()
ssh2_fingerprint()
ssh2_methods_negotiated()
ssh2_publickey_add()
ssh2_publickey_init()
ssh2_publickey_list()
ssh2_publickey_remove()
ssh2_scp_recv()
ssh2_scp_send()
ssh2_sftp()
ssh2_sftp_lstat()
ssh2_sftp_mkdir()
ssh2_sftp_readlink()
ssh2_sftp_realpath()
ssh2_sftp_rename()
ssh2_sftp_rmdir()
ssh2_sftp_stat()
ssh2_sftp_symlink()
ssh2_sftp_unlink()
ssh2_shell()
ssh2_tunnel()
stat()
stats_absolute_deviation()
stats_cdf_beta()
stats_cdf_binomial()
stats_cdf_cauchy()
stats_cdf_chisquare()
stats_cdf_exponential()
stats_cdf_f()
stats_cdf_gamma()
stats_cdf_laplace()
stats_cdf_logistic()
stats_cdf_negative_binomial()
stats_cdf_noncentral_chisquare()
stats_cdf_noncentral_f()
stats_cdf_poisson()
stats_cdf_t()
stats_cdf_uniform()
stats_cdf_weibull()
stats_covariance()
stats_den_uniform()
stats_dens_beta()
stats_dens_cauchy()
stats_dens_chisquare()
stats_dens_exponential()
stats_dens_f()
stats_dens_gamma()
stats_dens_laplace()
stats_dens_logistic()
stats_dens_negative_binomial()
stats_dens_normal()
stats_dens_pmf_binomial()
stats_dens_pmf_hypergeometric()
stats_dens_pmf_poisson()
stats_dens_t()
stats_dens_weibull()
stats_harmonic_mean()
stats_kurtosis()
stats_rand_gen_beta()
stats_rand_gen_chisquare()
stats_rand_gen_exponential()
stats_rand_gen_f()
stats_rand_gen_funiform()
stats_rand_gen_gamma()
stats_rand_gen_ibinomial()
stats_rand_gen_ibinomial_negative()
stats_rand_gen_int()
stats_rand_gen_ipoisson()
stats_rand_gen_iuniform()
stats_rand_gen_noncenral_chisquare()
stats_rand_gen_noncentral_f()
stats_rand_gen_noncentral_t()
stats_rand_gen_normal()
stats_rand_gen_t()
stats_rand_get_seeds()
stats_rand_phrase_to_seeds()
stats_rand_ranf()
stats_rand_setall()
stats_skew()
stats_standard_deviation()
stats_stat_binomial_coef()
stats_stat_correlation()
stats_stat_gennch()
stats_stat_independent_t()
stats_stat_innerproduct()
stats_stat_noncentral_t()
stats_stat_paired_t()
stats_stat_percentile()
stats_stat_powersum()
stats_variance()
stmt->bind_param()
stmt->bind_param()()
stmt->bind_result()
stmt->bind_result()()
stmt->close_long_data()
stmt->data_seek()
stmt->data_seek()()
stmt->execute()
stmt->execute()()
stmt->fetch()
stmt->fetch()()
stmt->free_result()
stmt->free_result()()
stmt->num_rows()
stmt->num_rows()
stmt->param_count()
stmt->param_count()
stmt->prepare()
stmt->prepare()()
stmt->reset()
stmt->reset()()
stmt->result_metadata()()
stmt->send_long_data()
stmt->send_long_data()()
str_getcsv()
str_ireplace()
str_pad()
str_repeat()
str_replace()
str_rot13()
str_shuffle()
str_split()
str_word_count()
strcasecmp()
strchr()
strcmp()
strcoll()
strcspn()
stream_bucket_append()
stream_bucket_make_writeable()
stream_bucket_new()
stream_bucket_prepend()
stream_context_create()
stream_context_get_default()
stream_context_get_options()
stream_context_set_option()
stream_context_set_params()
stream_copy_to_stream()
stream_encoding()
stream_filter_append()
stream_filter_prepend()
stream_filter_register()
stream_filter_remove()
stream_get_contents()
stream_get_filters()
stream_get_line()
stream_get_meta_data()
stream_get_transports()
stream_get_wrappers()
stream_register_wrapper()
stream_resolve_include_path()
stream_select()
stream_set_blocking()
stream_set_timeout()
stream_set_write_buffer()
stream_socket_accept()
stream_socket_client()
stream_socket_enable_crypto()
stream_socket_get_name()
stream_socket_pair()
stream_socket_recvfrom()
stream_socket_sendto()
stream_socket_server()
stream_socket_shutdown()
stream_wrapper_register()
stream_wrapper_restore()
stream_wrapper_unregister()
strftime()
strip_tags()
stripcslashes()
stripos()
stripslashes()
stristr()
strlen()
strnatcasecmp()
strnatcmp()
strncasecmp()
strncmp()
strpbrk()
strpos()
strptime()
strrchr()
strrev()
strripos()
strrpos()
strspn()
strstr()
strtok()
strtolower()
strtotime()
strtoupper()
strtr()
strval()
substr()
substr_compare()
substr_count()
substr_replace()
svn_add()
svn_auth_get_parameter()
svn_auth_set_parameter()
svn_cat()
svn_checkout()
svn_cleanup()
svn_client_version()
svn_commit()
svn_diff()
svn_fs_abort_txn()
svn_fs_apply_text()
svn_fs_begin_txn2()
svn_fs_change_node_prop()
svn_fs_check_path()
svn_fs_contents_changed()
svn_fs_copy()
svn_fs_delete()
svn_fs_dir_entries()
svn_fs_file_contents()
svn_fs_file_length()
svn_fs_is_dir()
svn_fs_is_file()
svn_fs_make_dir()
svn_fs_make_file()
svn_fs_node_created_rev()
svn_fs_node_prop()
svn_fs_props_changed()
svn_fs_revision_prop()
svn_fs_revision_root()
svn_fs_txn_root()
svn_fs_youngest_rev()
svn_import()
svn_log()
svn_ls()
svn_repos_create()
svn_repos_fs()
svn_repos_fs_begin_txn_for_commit()
svn_repos_fs_commit_txn()
svn_repos_hotcopy()
svn_repos_open()
svn_repos_recover()
svn_status()
svn_update()
swf_actiongeturl()
swf_actiongotoframe()
swf_actiongotolabel()
swf_actionnextframe()
swf_actionplay()
swf_actionprevframe()
swf_actionsettarget()
swf_actionstop()
swf_actiontogglequality()
swf_actionwaitforframe()
swf_addbuttonrecord()
swf_addcolor()
swf_closefile()
swf_definebitmap()
swf_definefont()
swf_defineline()
swf_definepoly()
swf_definerect()
swf_definetext()
swf_endbutton()
swf_enddoaction()
swf_endshape()
swf_endsymbol()
swf_fontsize()
swf_fontslant()
swf_fonttracking()
swf_getbitmapinfo()
swf_getfontinfo()
swf_getframe()
swf_labelframe()
swf_lookat()
swf_modifyobject()
swf_mulcolor()
swf_nextid()
swf_oncondition()
swf_openfile()
swf_ortho()
swf_ortho2()
swf_perspective()
swf_placeobject()
swf_polarview()
swf_popmatrix()
swf_posround()
swf_pushmatrix()
swf_removeobject()
swf_rotate()
swf_scale()
swf_setfont()
swf_setframe()
swf_shapearc()
swf_shapecurveto()
swf_shapecurveto3()
swf_shapefillbitmapclip()
swf_shapefillbitmaptile()
swf_shapefilloff()
swf_shapefillsolid()
swf_shapelinesolid()
swf_shapelineto()
swf_shapemoveto()
swf_showframe()
swf_startbutton()
swf_startdoaction()
swf_startshape()
swf_startsymbol()
swf_textwidth()
swf_translate()
swf_viewport()
swfaction()
SWFAction->__construct()()
swfbitmap()
SWFBitmap->__construct()()
SWFBitmap->getHeight()()
SWFBitmap->getWidth()()
swfbutton()
SWFButton->__construct()()
SWFButton->addAction()()
SWFButton->addASound()()
SWFButton->addShape()()
SWFButton->setAction()()
SWFButton->setDown()()
SWFButton->setHit()()
SWFButton->setMenu()()
SWFButton->setOver()()
SWFButton->setUp()()
swfdisplayitem()
SWFDisplayItem->addAction()()
SWFDisplayItem->addColor()()
SWFDisplayItem->endMask()()
SWFDisplayItem->getRot()()
SWFDisplayItem->getX()()
SWFDisplayItem->getXScale()()
SWFDisplayItem->getXSkew()()
SWFDisplayItem->getY()()
SWFDisplayItem->getYScale()()
SWFDisplayItem->getYSkew()()
SWFDisplayItem->move()()
SWFDisplayItem->moveTo()()
SWFDisplayItem->multColor()()
SWFDisplayItem->remove()()
SWFDisplayItem->rotate()()
SWFDisplayItem->rotateTo()()
SWFDisplayItem->scale()()
SWFDisplayItem->scaleTo()()
SWFDisplayItem->setDepth()()
SWFDisplayItem->setMaskLevel()()
SWFDisplayItem->setMatrix()()
SWFDisplayItem->setName()()
SWFDisplayItem->setRatio()()
SWFDisplayItem->skewX()()
SWFDisplayItem->skewXTo()()
SWFDisplayItem->skewY()()
SWFDisplayItem->skewYTo()()
swffill()
SWFFill->moveTo()()
SWFFill->rotateTo()()
SWFFill->scaleTo()()
SWFFill->skewXTo()()
SWFFill->skewYTo()()
swffont()
SWFFont->__construct()()
SWFFont->getAscent()()
SWFFont->getDescent()()
SWFFont->getLeading()()
SWFFont->getShape()()
SWFFont->getUTF8Width()()
SWFFont->getWidth()()
swffontchar()
SWFFontChar->addChars()()
SWFFontChar->addUTF8Chars()()
swfgradient()
SWFGradient->__construct()()
SWFGradient->addEntry()()
swfmorph()
SWFMorph->__construct()()
SWFMorph->getShape1()()
SWFMorph->getShape2()()
swfmovie()
SWFMovie->__construct()()
SWFMovie->add()()
SWFMovie->addExport()()
SWFMovie->addFont()()
SWFMovie->importChar()()
SWFMovie->importFont()()
SWFMovie->labelFrame()()
SWFMovie->nextFrame()()
SWFMovie->output()()
SWFMovie->remove()()
SWFMovie->save()()
SWFMovie->saveToFile()()
SWFMovie->setbackground()()
SWFMovie->setDimension()()
SWFMovie->setFrames()()
SWFMovie->setRate()()
SWFMovie->startSound()()
SWFMovie->stopSound()()
SWFMovie->streamMP3()()
SWFMovie->writeExports()()
swfprebuiltclip()
SWFPrebuiltClip->__construct()()
swfshape()
SWFShape->__construct()()
SWFShape->addFill()()
SWFShape->drawArc()()
SWFShape->drawCircle()()
SWFShape->drawCubic()()
SWFShape->drawCubicTo()()
SWFShape->drawCurve()()
SWFShape->drawCurveTo()()
SWFShape->drawGlyph()()
SWFShape->drawLine()()
SWFShape->drawLineTo()()
SWFShape->movePen()()
SWFShape->movePenTo()()
SWFShape->setLeftFill()()
SWFShape->setLine()()
SWFShape->setRightFill()()
swfsound()
swfsound()
swfsoundinstance()
SWFSoundInstance->loopCount()()
SWFSoundInstance->loopInPoint()()
SWFSoundInstance->loopOutPoint()()
SWFSoundInstance->noMultiple()()
swfsprite()
SWFSprite->__construct()()
SWFSprite->add()()
SWFSprite->labelFrame()()
SWFSprite->nextFrame()()
SWFSprite->remove()()
SWFSprite->setFrames()()
SWFSprite->startSound()()
SWFSprite->stopSound()()
swftext()
SWFText->__construct()()
SWFText->addString()()
SWFText->addUTF8String()()
SWFText->getAscent()()
SWFText->getDescent()()
SWFText->getLeading()()
SWFText->getUTF8Width()()
SWFText->getWidth()()
SWFText->moveTo()()
SWFText->setColor()()
SWFText->setFont()()
SWFText->setHeight()()
SWFText->setSpacing()()
swftextfield()
SWFTextField->__construct()()
SWFTextField->addChars()()
SWFTextField->addString()()
SWFTextField->align()()
SWFTextField->setBounds()()
SWFTextField->setColor()()
SWFTextField->setFont()()
SWFTextField->setHeight()()
SWFTextField->setIndentation()()
SWFTextField->setLeftMargin()()
SWFTextField->setLineSpacing()()
SWFTextField->setMargins()()
SWFTextField->setName()()
SWFTextField->setPadding()()
SWFTextField->setRightMargin()()
swfvideostream()
SWFVideoStream->__construct()()
SWFVideoStream->getNumFrames()()
SWFVideoStream->setDimension()()
Swish->getMetaList()
Swish->getPropertyList()
Swish->prepare()
Swish->query()
Swish::__construct()
SwishResult->getMetaList()
SwishResult->stem()
SwishResults->getParsedWords()
SwishResults->getRemovedStopwords()
SwishResults->nextResult()
SwishResults->seekResult()
SwishSearch->execute()
SwishSearch->resetLimit()
SwishSearch->setLimit()
SwishSearch->setPhraseDelimiter()
SwishSearch->setSort()
SwishSearch->setStructure()
sybase_affected_rows()
sybase_close()
sybase_connect()
sybase_data_seek()
sybase_deadlock_retry_count()
sybase_fetch_array()
sybase_fetch_assoc()
sybase_fetch_field()
sybase_fetch_object()
sybase_fetch_row()
sybase_field_seek()
sybase_free_result()
sybase_get_last_message()
sybase_min_client_severity()
sybase_min_error_severity()
sybase_min_message_severity()
sybase_min_server_severity()
sybase_num_fields()
sybase_num_rows()
sybase_pconnect()
sybase_query()
sybase_result()
sybase_select_db()
sybase_set_message_handler()
sybase_unbuffered_query()
symlink()
sys_get_temp_dir()
sys_getloadavg()
syslog()
system()

T

tan()
tanh()
tcpwrap_check()
tempnam()
textdomain()
tidy::__construct()
tidy_access_count()
tidy_clean_repair()
tidy_config_count()
tidy_diagnose()
tidy_error_count()
tidy_get_body()
tidy_get_config()
tidy_get_error_buffer()
tidy_get_head()
tidy_get_html()
tidy_get_html_ver()
tidy_get_opt_doc()
tidy_get_output()
tidy_get_release()
tidy_get_root()
tidy_get_status()
tidy_getopt()
tidy_is_xhtml()
tidy_is_xml()
tidy_load_config()
tidy_node->get_attr()
tidy_node->get_nodes()
tidy_node->next()
tidy_node->prev()
tidy_parse_file()
tidy_parse_string()
tidy_repair_file()
tidy_repair_string()
tidy_reset_config()
tidy_save_config()
tidy_set_encoding()
tidy_setopt()
tidy_warning_count()
tidyNode->hasChildren()
tidyNode->hasSiblings()
tidyNode->isAsp()
tidyNode->isComment()
tidyNode->isHtml()
tidyNode->isJste()
tidyNode->isPhp()
tidyNode->isText()
tidyNode::getParent()
time()
time_nanosleep()
time_sleep_until()
timezone_abbreviations_list()
timezone_identifiers_list()
timezone_name_from_abbr()
timezone_name_get()
timezone_offset_get()
timezone_open()
timezone_transitions_get()
tmpfile()
token_get_all()
token_name()
touch()
trigger_error()
trim()

U

uasort()
ucfirst()
ucwords()
udm_add_search_limit()
udm_alloc_agent()
udm_alloc_agent_array()
udm_api_version()
udm_cat_list()
udm_cat_path()
udm_check_charset()
udm_check_stored()
udm_clear_search_limits()
udm_close_stored()
udm_crc32()
udm_errno()
udm_error()
udm_find()
udm_free_agent()
udm_free_ispell_data()
udm_free_res()
udm_get_doc_count()
udm_get_res_field()
udm_get_res_param()
udm_hash32()
udm_load_ispell_data()
udm_open_stored()
udm_set_agent_param()
uksort()
umask()
unicode_decode()
unicode_encode()
unicode_get_error_mode()
unicode_get_subst_char()
unicode_semantics()
unicode_set_error_mode()
unicode_set_subst_char()
uniqid()
unixtojd()
unlink()
unpack()
unregister_tick_function()
unserialize()
unset()
urldecode()
urlencode()
usage()
use_soap_error_handler()
user_error()
usleep()
usort()
utf8_decode()
utf8_encode()

V

var_dump()
var_export()
variant()
variant_abs()
variant_add()
variant_and()
variant_cast()
variant_cat()
variant_cmp()
variant_date_from_timestamp()
variant_date_to_timestamp()
variant_div()
variant_eqv()
variant_fix()
variant_get_type()
variant_idiv()
variant_imp()
variant_int()
variant_mod()
variant_mul()
variant_neg()
variant_not()
variant_or()
variant_pow()
variant_round()
variant_set()
variant_set_type()
variant_sub()
variant_xor()
version_compare()
vfprintf()
virtual()
vpopmail_add_alias_domain()
vpopmail_add_alias_domain_ex()
vpopmail_add_domain()
vpopmail_add_domain_ex()
vpopmail_add_user()
vpopmail_alias_add()
vpopmail_alias_del()
vpopmail_alias_del_domain()
vpopmail_alias_get()
vpopmail_alias_get_all()
vpopmail_auth_user()
vpopmail_del_domain()
vpopmail_del_domain_ex()
vpopmail_del_user()
vpopmail_error()
vpopmail_passwd()
vpopmail_set_user_quota()
vprintf()
vsprintf()

W

w32api_deftype()
w32api_init_dtype()
w32api_invoke_function()
w32api_register_function()
w32api_set_call_method()
wddx_add_vars()
wddx_deserialize()
wddx_packet_end()
wddx_packet_start()
wddx_serialize_value()
wddx_serialize_vars()
wddx_unserialize()
win32_create_service()
win32_delete_service()
win32_get_last_control_message()
win32_ps_list_procs()
win32_ps_stat_mem()
win32_ps_stat_proc()
win32_query_service_status()
win32_set_service_status()
win32_start_service()
win32_start_service_ctrl_dispatcher()
win32_stop_service()
wordwrap()

X

xattr_get()
xattr_list()
xattr_remove()
xattr_set()
xattr_supported()
xdiff_file_diff()
xdiff_file_diff_binary()
xdiff_file_merge3()
xdiff_file_patch()
xdiff_file_patch_binary()
xdiff_string_diff()
xdiff_string_diff_binary()
xdiff_string_merge3()
xdiff_string_patch()
xdiff_string_patch_binary()
xml_error_string()
xml_get_current_byte_index()
xml_get_current_column_number()
xml_get_current_line_number()
xml_get_error_code()
xml_parse()
xml_parse_into_struct()
xml_parser_create()
xml_parser_create_ns()
xml_parser_free()
xml_parser_get_option()
xml_parser_set_option()
xml_set_character_data_handler()
xml_set_default_handler()
xml_set_element_handler()
xml_set_end_namespace_decl_handler()
xml_set_external_entity_ref_handler()
xml_set_notation_decl_handler()
xml_set_object()
xml_set_processing_instruction_handler()
xml_set_start_namespace_decl_handler()
xml_set_unparsed_entity_decl_handler()
XMLReader::close()
XMLReader::expand()
XMLReader::getAttribute()
XMLReader::getAttributeNo()
XMLReader::getAttributeNs()
XMLReader::getParserProperty()
XMLReader::isValid()
XMLReader::lookupNamespace()
XMLReader::moveToAttribute()
XMLReader::moveToAttributeNo()
XMLReader::moveToAttributeNs()
XMLReader::moveToElement()
XMLReader::moveToFirstAttribute()
XMLReader::moveToNextAttribute()
XMLReader::next()
XMLReader::open()
XMLReader::read()
XMLReader::setParserProperty()
XMLReader::setRelaxNGSchema()
XMLReader::setRelaxNGSchemaSource()
XMLReader::XML()
xmlrpc_decode()
xmlrpc_decode_request()
xmlrpc_encode()
xmlrpc_encode_request()
xmlrpc_get_type()
xmlrpc_is_fault()
xmlrpc_parse_method_descriptions()
xmlrpc_server_add_introspection_data()
xmlrpc_server_call_method()
xmlrpc_server_create()
xmlrpc_server_destroy()
xmlrpc_server_register_introspection_callback()
xmlrpc_server_register_method()
xmlrpc_set_type()
XMLWriter::endAttribute()
XMLWriter::endCData()
XMLWriter::endComment()
XMLWriter::endDocument()
XMLWriter::endDTD()
XMLWriter::endDTDAttlist()
XMLWriter::endDTDElement()
XMLWriter::endDTDEntity()
XMLWriter::endElement()
XMLWriter::endPI()
XMLWriter::flush()
XMLWriter::fullEndElement()
XMLWriter::openMemory()
XMLWriter::openURI()
XMLWriter::outputMemory()
XMLWriter::setIndent()
XMLWriter::setIndentString()
XMLWriter::startAttribute()
XMLWriter::startAttributeNS()
XMLWriter::startCData()
XMLWriter::startComment()
XMLWriter::startDocument()
XMLWriter::startDTD()
XMLWriter::startDTDAttlist()
XMLWriter::startDTDElement()
XMLWriter::startDTDEntity()
XMLWriter::startElement()
XMLWriter::startElementNS()
XMLWriter::startPI()
XMLWriter::text()
XMLWriter::writeAttribute()
XMLWriter::writeAttributeNS()
XMLWriter::writeCData()
XMLWriter::writeComment()
XMLWriter::writeDTD()
XMLWriter::writeDTDAttlist()
XMLWriter::writeDTDElement()
XMLWriter::writeDTDEntity()
XMLWriter::writeElement()
XMLWriter::writeElementNS()
XMLWriter::writePI()
XMLWriter::writeRaw()
xpath_eval()
xpath_eval_expression()
xpath_new_context()
xpath_register_ns()
xpath_register_ns_auto()
xptr_eval()
xptr_new_context()
xslt_backend_info()
xslt_backend_name()
xslt_backend_version()
xslt_create()
xslt_errno()
xslt_error()
xslt_free()
xslt_getopt()
xslt_process()
xslt_set_base()
xslt_set_encoding()
xslt_set_error_handler()
xslt_set_log()
xslt_set_object()
xslt_set_sax_handler()
xslt_set_sax_handlers()
xslt_set_scheme_handler()
xslt_set_scheme_handlers()
xslt_setopt()
XSLTProcessor::__construct()
XSLTProcessor::getParameter()
XSLTProcessor::hasExsltSupport()
XSLTProcessor::importStylesheet()
XSLTProcessor::registerPHPFunctions()
XSLTProcessor::removeParameter()
XSLTProcessor::setParameter()
XSLTProcessor::transformToDoc()
XSLTProcessor::transformToURI()
XSLTProcessor::transformToXML()

Y

yaz_addinfo()
yaz_ccl_conf()
yaz_ccl_parse()
yaz_close()
yaz_connect()
yaz_database()
yaz_element()
yaz_errno()
yaz_error()
yaz_es()
yaz_es_result()
yaz_get_option()
yaz_hits()
yaz_itemorder()
yaz_present()
yaz_range()
yaz_record()
yaz_scan()
yaz_scan_result()
yaz_schema()
yaz_search()
yaz_set_option()
yaz_sort()
yaz_syntax()
yaz_wait()
yp_all()
yp_cat()
yp_err_string()
yp_errno()
yp_first()
yp_get_default_domain()
yp_master()
yp_match()
yp_next()
yp_order()

Z

zend_logo_guid()
zend_thread_id()
zend_version()
zip_close()
zip_entry_close()
zip_entry_compressedsize()
zip_entry_compressionmethod()
zip_entry_filesize()
zip_entry_name()
zip_entry_open()
zip_entry_read()
zip_open()
zip_read()
ZipArchive::addEmptyDir()
ZipArchive::addFile()
ZipArchive::addFromString()
ZipArchive::close()
ZipArchive::deleteIndex()
ZipArchive::deleteName()
ZipArchive::extractTo()
ZipArchive::getArchiveComment()
ZipArchive::getCommentIndex()
ZipArchive::getCommentName()
ZipArchive::getFromIndex()
ZipArchive::getFromName()
ZipArchive::getNameIndex()
ZipArchive::getStream()
ZipArchive::locateName()
ZipArchive::open()
ZipArchive::renameIndex()
ZipArchive::renameName()
ZipArchive::setArchiveComment()
ZipArchive::setCommentIndex()
ZipArchive::setCommentName()
ZipArchive::statIndex()
ZipArchive::statName()
ZipArchive::unchangeAll()
ZipArchive::unchangeArchive()
ZipArchive::unchangeIndex()
ZipArchive::unchangeName()
zlib_get_coding_type()

이전 | 위로 | 다음
VI. LICENSE OPTIONS | 처음으로 | X. 빠진 내용


저작권

PHP 매뉴얼

저작권

Copyright (C) 1997 - 2007 by the PHP Documentation Group. 이 저작물은 Open Publication License v1.0 이상의 조항 및 제약에 따를 경우에 재배포할 수 있습니다. Open Publication License는 이 매뉴얼에 포함되어 있으며, 최신 버전은 » http://www.opencontent.org/openpub/에서 찾을 수 있습니다.

저작권자의 명시적 동의 없이, 이 문서를 변경한 버전에 대한 재배포를 금합니다.

저작권자의 허가를 얻지 않은, 모든 일반적인 (종이)책 형태 작업이나 재배포 작업을 금합니다.

변경 여부에 관계 없이, 이 문서의 전체나 부분에 대해 재배포나 재출판에 관심이 있거나 질문이 있을 경우 » doc-license@lists.php.net로 저작권자에게 문의하십시오. 주의: 이 주소는 공개적으로 기록되는 메일링 리스트입니다.

문서의 57장. Zend Engine 1 절은 Zend Technologies의 공헌에 기반하고 있습니다.

위로
처음으로


부 IX. Appendices

차례

A. PHP와 PHP 관련 프로젝트의 역사
B. Migrating from PHP 5.1.x to PHP 5.2.x
C. Migrating from PHP 5.0.x to PHP 5.1.x
D. PHP 4에서 PHP 5로 이행
E. PHP 3 에서 PHP 4로 이주
F. PHP/FI 2 에서 PHP 3로 이주하기
G. PHP 디버깅하기
H. Configure options
I. php.ini directives
J. List of Supported Timezones
K. 확장 분류
L. 함수 별칭 목록
M. 예약어 목록
N. 리소스 타입 목록
O. 지원 프로토콜/래퍼 목록
P. List of Available Filters
Q. 지원되는 소켓 전송 목록
R. PHP 타입 비교 테이블
S. 해석기 토큰 목록
T. Userland Naming Guide
U. 매뉴얼에 대하여
V. Open Publication License
W. 함수 인덱스
X. 빠진 내용
이전 | 위로 | 다음
72. Miscellaneous Questions | 처음으로 | A. PHP와 PHP 관련 프로젝트의 역사


73장. About This Edition

The Windows HTML Help Edition of the PHP Manual is aimed at developers, who want the manual at hand every time, and would like to read manual pages and user notes without waiting for a remote web page to download. This edition gives you the full content of the manual plus the user notes, with some great features provided by the viewer application by the scripts we use to generate this format and by other contributors in the form of skins.

This distribution of the PHP Manual contains many files, including the main manual file php_manual_en.chm. You can view the manual by double clicking on this file (as you already guessed). The user notes are in php_manual_notes.chm. You only need to have one copy of this file on your computer, regardless of how many languages you use to read the PHP Manual. The only requirement is that you need to have all php_manual_LANG.chm files in one directory with php_manual_notes.chm. You may also see a php_manual_en.chw file in the directory, it's generated the first time you use the index tab, and it contains an index with the manual's pages.

For those interested in technical details about Microsoft HTML Help, » http://www.helpware.net/ is a great resource. For more information and positioning of Windows HTML Help in the Microsoft help formats and services history, see this » WinWriters article.

이전 | 위로 | 다음
X. HTML 도움말 에디션 | 처음으로 | 74. Using PHP Manual CHM Edition


79장. CHM Edition Credits

This enhanced version of the PHP Manual would never come to existence, if the following people would not help with their contribution to the project (in no particular order):

  • Holger Eggert, who created the two default designs, and provided many usability tips
  • Gonzalo De la Pena Andreu, who added many comments on how it would be ideal to provide the skinnable interface
  • Olexandr Vynnychenko added countless comments and testing all the time
  • Brendan Ferguson, who provided many optimizations, improvements to the HTML and JS codes behind the manual pages
  • Sandor Hojtsy, who coded the manual preferences desktop application
  • And at last but not least, everybody, who provided feedback through our mailing list, and in the user survey

이전 | 위로
CSS classes | 처음으로


77장. Integrating the PHP Manual

참고: The information provided here is mainly aimed at IDE authors, or advanced users who would like to integrate this CHM file to their favorite IDEs or other production environment components.

There are several editors out there with support for CHM integration, but you may need to know a few things about what the CHM contains to successfully integrate the manual into your environment.

The CHM is built using XSL style sheets from XML sources. This is unique currently in the PHP Manual family, as all other versions are generated using DSSSL style sheets. This also means, that non-intentional rendering differences may come up. A special conversion script is run on the XSLT output, adding several cute features, and packing up the manual with the preferences files and skin examples.

If you never worked with CHMs, you can think of them as compressed files with OS supported access for files inside and some added search and index support. However CHMs can only be viewed using the HTML Help Viewer, you can directly access files inside them using a special URL prefix, the CHM file name and the file you request from inside. As all the help content is stored in HTML files, you can show pages of the CHM in Internet Explorer.

Assume that you placed your php_manual_en.chm to c:\phpmanual the index file in the manual (which you see the first time) can be accessed with the following URL: mk:@MSITStore:C:\phpmanual\php_manual_en.chm::/_index.html. Here mk:@MSITStore: is the special "protocol", C:\phpmanual\php_manual_en.chm is the CHM with it's full path. The /_index.html part is the path to the index file inside the CHM and :: is just what you need to put between the CHM path and this file path.

참고: All files are in the root directory of the CHM, unlike the previous CHM versions which included a language directory. Images, style sheets and other supplemental files have names starting with an underscore (like the main index shown above), to avoid name collisions.

The names of generated files follow the same rules as the online manual, except that the extension is .html and not .php. The most important is that function documentation files are named function.FUNCNAME.html where FUNCNAME is the function name, with all underscores converted to hyphens. Some examples are function.echo.html, function.mysql-close.html, function.imagecopy.html.

Using all this information, you can show a manual page for a function requested by a user. A simple example is included in the distribution, named php_quickref.hta. This is a » HTML Application to demonstrate the simple process of showing a manual page for a function. The quickRef() function defined therein does the job.

If you would like to integrate the manual into an IDE without direct support for the PHP manual (actually the underscore to hyphen conversion), you can use the included _function.html file to access a function page. This file is simply a redirector, and can be parameterized via the URL, as _function.html#mysql_close. This page will redirect you to the mysql_close function page (function.mysql-close.html) automatically. You can provide the full path of this file if your IDE supports context sensitive help, and provide the IDE specified string as the parameter. An example for this is the UltraEdit 9 intergation (see the edition's website).

The index of the manual (accessible via the index tab on the navigation pane) can also be used for integrational purposes. All the HTML pages are included in the index with their titles as index terms (including function description pages).

If you are a desktop application developer and would like to tightly integrate the CHM into your program (such as displaying the TOC tree in your IDE's help box), you can find more information at » http://www.helpware.net/, as well as links to other useful resources. The official site for HTML Help is at » http://msdn.microsoft.com/library/en-us/htmlhelp/html/vsconhh1start.asp.

이전 | 위로 | 다음
Presentational Specialities | 처음으로 | 78. Skin development


75장. The Full Text Search

차례

General searching rules
Searching for words or phrases
Defining search terms
Using nested expressions when searching
Manual Content and User Note Separation

This edition of the PHP Manual includes an advanced full text search possibility provided by the viewer application. This enables users to search through every word in the help file to find a match. For example, if a user does a full-text search on the word "Apache", every topic that contains the word "Apache" will be listed. Advanced full-text search allows a user to search using boolean, wildcard, and nested expressions. A user can also limit the search to previous results, match similar words, or search topic titles only.

The usage of the search feature is fairly straightforward. Click on the search tab, type in the desired words and press ENTER (or click on "List Topics"). Then you'll receive a list of matches from the PHP Manual (and the notes). You can use the button with a right arrow on it to add boolean operators to your search (or you can type them in). As you see the results, you can use the column headings (Title, Location and Rank) to sort the topic list. The default order is by Rank. You can also adjust some parameters at the bottom of this tab.

The words found are highlighted on the current page in the Topic pane by default. You can turn off this feature by choosing the "Search Highlight Off" menu item in the Options menu. To can get this feature back similarly. If you are viewing a long topic, only the first 500 instances of a search word or phrase will be highlighted, due to a limitation of the viewer.

General searching rules

A basic search consists of the word or phrase you want to find. You can use wildcard expressions, nested expressions, boolean operators, similar word matches, a previous results list, or topic titles to further define your search.

The basic rules for formulating queries are as follows:

  • Searches are not case-sensitive, so you can type your search in uppercase or lowercase characters.
  • You may search for any combination of letters (a-z) and numbers (0-9). You cannot search for single letters (a, b, c, etc.) and common words, like: an, and, as, at, be, but, by, do, for, from, have, he, in, it, not, of, on, or, she, that, the, there, they, this, to, we, which, with, you.
  • Punctuation marks such as the period (.), colon (:), semicolon (;), comma (,), and hyphen (-) are ignored during a search.
  • Group the elements of your search using double quotes or parentheses to set apart each element. You cannot search for quotation marks.

참고: If you are searching for a file name with an extension, you should group the entire string in double quotes, ("filename.ext"). Otherwise, the period will break the file name into two separate terms. The default operation between terms is AND, so you will create the logical equivalent to "filename AND ext."

이전 | 위로 | 다음
Keyboard Shortcuts | 처음으로 | Searching for words or phrases


Using nested expressions when searching

Nested expressions allow you to create complex searches for information. For example, "html AND ((smtp OR pop3) NEAR mail)" finds topics containing the word "html" along with the words "smtp" and "mail" close together, or containing "html" along with the words "pop3" and "mail" close together.

The basic rules for searching help topics using nested expressions are as follows:

  • You can use parentheses to nest expressions within a query. The expressions in parentheses are evaluated before the rest of the query.
  • If a query does not contain a nested expression, it is evaluated from left to right. For example: "mail NOT pop3 OR smtp" finds topics containing the word "mail" without the word "pop3" or topics containing the word "smtp". On the other hand, "mail NOT (pop3 OR smtp)" finds topics containing the word "mail" without either of the words "pop3" or "smtp".
  • You cannot nest expressions more than five levels deep.

이전 | 위로 | 다음
Defining search terms | 처음으로 | Manual Content and User Note Separation


Manual Content and User Note Separation

The manual content and the user notes are separated to php_manual_LANG.chm and php_manual_notes.chm. There were several resons to do this, including:

  • This way you can update the user notes and the manual independently as you need.
  • You can have more than one language of the manual, while only need to have one notes file. All the CHM files need to be in the same directory, and all translations need to share the same preferences if you would not like to have more then one notes file.
  • You can bookmark manual pages with notes, or just a notes part of a page separately.
  • You can "turn off" user note display and user note search results by simply deleting php_manual_notes.chm, moving it out of the directory or renaming it.
All these benefits lead us to provide the manual the way you can see it right now. This distribution had the effect on the full text search that you get search results from the manual content and from the user notes as separate ones. The "Location" column shows the source of the result, also enabling you to "add precedence" to manual content results with ordering the results by "Location". User note page titles are also prefixed with "N:" to make them easily distinguishable in the favorites list (there's no location info in the favorites list).

이전 | 위로 | 다음
Using nested expressions when searching | 처음으로 | 76. Specialities of this Edition


Defining search terms

The AND, OR, NOT, and NEAR operators enable you to precisely define your search by creating a relationship between search terms. The following table shows how you can use each of these operators. If no operator is specified, AND is used. For example, the query "server cgi security" is equivalent to "server AND cgi AND security".

표 75.2. Search operators

Search for | Example | Results
Both terms in the same topic | http AND apache | Topics containing both the words "http" and "apache".
Either term in a topic | ming OR swflib | Topics containing either the word "ming" or the word "swflib" or both.
The first term without the second term | xml NOT expat | Topics containing the word "xml" but not the word "expat".
Both terms in the same topic, close together | database NEAR security | Topics containing the word "database" within eight words of the word "security".

참고: The |, &, and ! characters can also be used in place of OR AND and NOT respectively. This may not work if you use a very old version of the viewer.

이전 | 위로 | 다음
Searching for words or phrases | 처음으로 | Using nested expressions when searching


Searching for words or phrases

You can search for words or phrases and use wildcard expressions. Wildcard expressions allow you to search for one or more characters using a question mark or asterisk. The table below describes the results of these different kinds of searches.

표 75.1. Word and phrase searches

Search for | Example | Results
A single word | select | Topics that contain the word "select". (You will also find its grammatical variations, such as "selector" and "selection".)
A phrase "new operator" or new operator

Topics that contain the literal phrase "new operator" and all its grammatical variations.

Without the quotation marks, the query is equivalent to specifying "new AND operator," which will find topics containing both of the individual words, instead of the phrase.

Wildcard expressions esc* or HT??

Results for the first example include topics that contain the terms "ESC", "escape", "escalation", and so on. The asterisk cannot be the only character in the term.

Results for the second example include topics that contain the terms "HTTP", "HTML" and so on. The question mark cannot be the only character in the term.

참고: Select the Match similar words check box to include minor grammatical variations for the phrase you search. This feature only locates variations of the word with common suffixes. For example, a search on the word "add" will find "added," but it will not find "additive". This option is independent of other options or syntax. If you do a titles-only search, variations in titles will be matched. If you use quotes (or any other query operator) any variation of the word can appear; for example, "stemmed search" will also match "stemming search".

이전 | 위로 | 다음
75. The Full Text Search | 처음으로 | Defining search terms


78장. Skin development

차례

Page Display Process
Page Elements
CSS classes

This edition of the PHP Manual allows users to choose from skins to display the contents, as well as develop custom skins to meet some special needs. We decided to support skins because we realized that one skin cannot satisfy everybody's needs in a such heavily used edition.

We included two skins by default inside the CHM. These cannot be modified or removed, so if you have the CHM, you have these two skins inside. The Low skin is optimized for small window display, the High skin is a variation of the Low one with some graphics added to spice it up.

A skin must have at least two files, a skin loader JavaScript file and a CSS file. The two inline skins have these files inside the CHM. The skin loader JS should at least load in the CSS file and display the page contents to the viewer. Theoretically there are two kinds of skins: CSS skins and Full skins. CSS skins only modify the CSS and does not amend the page layout. Full skins also modify the page layout. We have included sample skins for both the CSS skin type and the Full skin type ("greenlinks" and "headernostalgia" respectively).

주의

Note that though the current skin development methods are quite final, there may be heavy changes in used CSS classes or page elements while we refine the skin development ideas. As this edition is currently in development stage, the information described herein is not to be considered completely stable.

Page Display Process

If you are going to develop your own skin, you should know how one page is loaded and displayed to the user, and how a skin fits in this process. For these paragraphs, we assume that you have put your CHM into c:\phpmanual, so it's accessible as c:\phpmanual\php_manual_LANG.chm (where LANG is the language code), and you would like to see the function page of "echo", which is function.echo.html inside the CHM. See the sections about integration for more information on CHM contents.

  • First of all the HTML content is loaded in from function.echo.html from inside the CHM.
  • At the top of this file, there is a HTML <script> tag, which loads in the _script.js file from the CHM. This file contains all the JS code needed to move on with the process. Most importantly this JS defines many variables (like where the CHM is, or what is the actual page viewed) and many functions to print out the context menu or handle online functions.
  • At last _script.js loads in the preferences file from outside the CHM (c:\phpmanual\php_manual_prefs.js in our example). This JS file defines the preference variables, and calls back prefHandler() which is also defined in _script.js.
  • That function loads in the skin JS file as the preferences dictate. The skin JS file should load in the needed CSS file, and define a displayPage() function, which displays the page if called.
  • The HTML file (function.echo.html in this example) also contains a function call to load in the user notes, which simply puts the notes into this HTML file using DHTML to be displayed as if they were here before...
  • The HTML file also contains a body onload attribute which calls the skin-defined displayPage() function to show the page to the user. This is the last function called, it should present the page in it's complete form to the user.
Every action is synchronized with calling back a function in the previously loaded file when the JS is in memory. The notes loading and skin JS loading is only synchronized with the page's onload event (which as the Microsoft documentation says only fires if the page is completely loaded).

This load and callback chain may seem to be too complicated, but so far this seemed to be the best way to do as many things as possible parallel, while also synchronize some calls.

As you can see your skin JavaScript file is loaded in by _script.js and it's displayPage() function is called by the body onload event.

이전 | 위로 | 다음
77. Integrating the PHP Manual | 처음으로 | Page Elements


CSS classes

We cannot provide accurate documentation currently on usable CSS classes, as some of the DocBook XSL sheets classes are not used and some classes are added. Please see the sample CSS files included for first time reference.

이전 | 위로 | 다음
Page Elements | 처음으로 | 79. CHM Edition Credits


Page Elements

The PHP Manual pages are all HTML files with several HTML tags in them for both presentational and divisional purposes. The HTML pages contain divisions to be used for skinning purposes and misc divisions added by the DocBook XSL sheets.

A HTML page can be either a function reference page or another kind of page (like a feature description). Skins should get ready to skin these two kinds of pages separately most of the time (depending on the actual design).

The pages are structured using <div> tags with appropriate IDs to ease the skin writers work. A page consists of these parts:

  • <div id="pageContent"></div> contains all the page contents. This begins right after <body> and ends just before </body>. This division is hidden by default, you need to show it after you are ready with the page rewriting process.
  • <div id="pageHeaders"></div> contains the page header parts. This includes the text only main title (in a <span id="pageTitle"></span>) and function properties, in case this is a function page (contained in <span id="funcPurpose"></span>, <span id="funcAvail"></span> and <span id="funcUsage"></span>). In case one of these three is not available, the current page is not a function page.
  • <div id="pageText"></div> contains the majority of the page contents, including examples, manual notes, warnings, etc. This also includes see also parts for now, as we still cannot differentiate between see also and normal text parts (may be a thing to change in the future).
  • <div id="pageNotes"></div> contains the user notes (itself loaded in from another HTML file by JS). It contains a heading, and then a <div> without ID for every user note and spans in that divs for every element of a user note (with "email", "date" and "text" IDs respectively).
  • <div id="pageNav"></div> contains the
navigation table, which is further divided into spans (<span
id="navPrev"></span>, <span
id="navPath"></span>, <span
id="navNext"></span>, <span
id="navOnline"></span>, <span
id="navThisOnline"></span> and <span
id="navReportBug"></span>), where navThisOnline
and navReportBug is inside navOnline.
If you would like to rewrite the page, you should first read in the parts you need from the page to JS variables, then clear the contents of pageContent (or just the part you would like to rewrite), write in the new content and show the pageContent div for the user. If you would not like to make any structural changes, you can simply display the pageContent div and only specify a special style sheet in your skin JS file (see the "greenlinks" skin for an example).

You can find a "Full skin" developed to show you how to make skins built on top of this structure. The skin name is "headernostalgia". It rewrites the header part and removes the footer navigational table.

이전 | 위로 | 다음
78. Skin development | 처음으로 | CSS classes


76장. Specialities of this Edition

차례

User Preferences
Presentational Specialities

The Windows HTML Help Edition of the PHP Manual over-performs the presentational and interactive capabilities offered by other editions (including the online manual). This was possible because currently CHMs can only be viewed on Windows using Internet explorer, so we can develop for one browser family and one operating system. Viewers for other OSes may be developed in the future by third parties.

User Preferences

Most of the interactive features of this manual are provided by the viewer application (including full text search, index, favorites list), but we extended this list with PHP Manual specific tools. All these can be adjusted to your needs using a simple desktop application named php_manual_prefs.exe. If you run this program you can see three groups of settings: Online Functions, Context Menu, and Skin. All your settings are stored in php_manual_prefs.js.

Online functions enable you to have elements connected to websites. The two ones you can see on all manual pages are "This page online" and "Report a bug". As you can figure out the first one shows you the same page in the online manual, the second one opens a page from » http://bugs.php.net/ and prefills some bug data for you. You need to select a mirror site to use for "php.net sensitive" online functions. We recommend choosing a close mirror site to get the best speed. Other components that may be limited by this online functions setting include context menu items opening new websites ("Google search selection" for example). Custom designs may also include elements restricted by this setting.

The context menu settings enables you to choose which context menu you prefer. This application provides you with an option to define your own context menu adding elements to it from a predefined set. You can have this custom context menu for the right click of your mouse, and have the original menu for CTRL+right click, or the opposite way. Three special types of custom context menu items exist:

표 76.1. Context menu items

Type | Examples | Comments
Page Jump | Function Reference, Function Index | These items jump to a specific page in the CHM. Page Jump options are not restricted to point inside the CHM though. They can point to websites or other resources. Page jump options with a protocol part in the URL open in new window.
Function Call | Print page, Select all, Copy selection to clipboard, Google Search Selection | These are "function calls" for internally defined context menu functions. The last two examples have the speciality that they only show up in the menu if you rightclicked on a selection. Currently there is no way to extend the context menu with skin defined functions.
Special display | Google SearchBox, AlltheWeb SearchBox | These are displayed as HTML forms, where you can enter search keywords, press ENTER, and receive a new window with the search issued in the appropriate search engine. Currently there is no way to extend the set of specially displayed context menu items.

Possible context menu elements and their "abstract implementations" are stored in context.ini. You have the ability to add possible page jump options there, but there is no way currently to extend the context menu system with user (skin) defined functions. The possible mirror sites are listed in mirrors.ini. Feel free to suggest more bundled context menu items to us at » php-doc-chm@lists.php.net.

The skins setting enables you to choose from the two bundled default skins, or from any user defined skins. The Low skin is optimized to display correctly at any small size, the High skin is optimized for your viewing pleasure. Other skins may be developed according to our skins development guide. The recommended place for skins on the file system is the skins/SKINNAME subfolder of the PHP Manual directory. Though this is not required, some skins may define other rules (not recommended). We included sample skins for you to see examples of how to develop skins for the PHP Manual.

You have three buttons to choose from at the bottom. The Apply button applies your changes without exiting, the OK button applies and closes the application, the Cancel button does not modify your settings and closes the program.

이전 | 위로 | 다음
Manual Content and User Note Separation | 처음으로 | Presentational Specialities


Presentational Specialities

This edition of the PHP Manual is highly optimized for screen presentation. Skins may be developed to better support printing, as this was not the goal of the included skins. This approach allowed us to make many modifications to the presentation of different parts of the manual.

The first thing you'll notice is that all examples are color coded, using the PHP function show_source(). The actual colors used are defined by CSS classes. Examples also have links to PHP functions used in them to provide quick access to reference material. All code examples have a "copy to clipboard" link by the side of them with which you can copy the text contents of the example to the clipboard.

External links are marked with a special >> sign, and open in a new browser window. We also included the "path to this page" information on all pages for you to easily identify where you are and navigate as needed.

Other parts of the manual are quite similar to the online ones by default, though custom skins can modify many elements on the pages.

이전 | 위로 | 다음
76. Specialities of this Edition | 처음으로 | 77. Integrating the PHP Manual


74장. Using PHP Manual CHM Edition

차례

The HTML Help Toolbar
The Navigation Pane
Keyboard Shortcuts

When you double click on a CHM, a HTML Help Viewer window opens with three panes. On the left side of the window is the Navigation pane. It contains four navigational tabs: the Contents, Index, Search and Favorites tabs. On the right side of the window is the Topic pane. It displays the selected help topic, or the default help topic on startup. The help pages are all separate HTML files, your Internet Explorer displays the pages in the Topic pane. The third pane is the toolbar, which is located below the help window title bar. You can adjust the horizontal layout with dragging the vertical border between the Navigation pane and the Topic pane.

Note, that when you open the CHM the first time, it may appear in a strange position and size. From then, Windows remembers the window position, size and the last opened tab. All these including your favorites are stored in a file named hh.dat. If you move your file to another directory, all these remembered settings will be lost (including your favorites listing!). If you replace your CHM file with a new one, with the same name, this is not a problem though. The file names and path values are stored in hh.dat.

The HTML Help Toolbar

The HTML Help Toolbar contains the following icons, when you view the PHP Manual:

  • Hide/Show - Hides/shows the navigation pane.
  • Locate - Locates a topic in the contents tab (in case you reached a topic with search, index or favorites, and would like to see where it is in the table of contents tree view).
  • Back - Goes back in the history.
  • Forward - Goes forward in the history.
  • Refresh - Reloads the current page.
  • Home - Opens the startup page of the CHM.
  • Print - Opens the print dialog box.
  • Options - Provides a dropdown with more options.
Using this toolbar is really easy, many of the toolbar icons are strongly related to their Internet Explorer equivalents.

이전 | 위로 | 다음
73. About This Edition | 처음으로 | The Navigation Pane


Keyboard Shortcuts

There are many keyboard shortcuts you can use to increase your productivity. Many users find it more appropriate to use these keyboard shortcuts to access topics, instead of clicking.

표 74.1. General Help Viewer Shortcuts

To | Press
Close the Help Viewer | ALT+F4
Display the Options menu | ALT+O
Hide or show the Navigation pane | ALT+O, and then T
Print a topic | ALT+O, and then P
Move back to the previous topic | ALT+LEFT ARROW
Move forward to the next topic (provided you have viewed it just previously) | ALT+RIGHT ARROW
Turn on or off search highlighting. | ALT+O, and then O
Return to the help file home page | ALT+O, and then H
Switch between the Navigation pane and the Topic pane | F6
Scroll through all the links in a topic or through all the options on a Navigation pane tab | TAB
Display context (right click) menu [see the User Preferences section] | SHIFT+F10

표 74.2. Contents Tab Shortcuts

To | Press
Display the Contents tab | ALT+C
Open and close a book or folder | PLUS SIGN and MINUS SIGN, or LEFT ARROW and RIGHT ARROW
Select a topic | DOWN ARROW and UP ARROW
Display the selected topic | ENTER

표 74.3. Index Tab Shortcuts

To | Press
Display the Index tab | ALT+N
Type a keyword to search for | ALT+W, and then type the word
Select a keyword in the list | UP ARROW and DOWN ARROW
Display the associated topic | ENTER or ALT+D

표 74.4. Search Tab shortcuts

To | Press
Display the Search tab | ALT+S
Type a keyword to search for | ALT+W, and then type the word
Start a search | ALT+L
Select a topic in the results list | ALT+T, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Search for a keyword in the result list of a prior search | ALT+U
Search for words similar to the keyword. For example, to find words like "running" and "runs" for the keyword "run" | ALT+M
Only search through topic titles | ALT+R

표 74.5. Favorites Tab Shortcuts

To | Press
Display the Favorites tab | ALT+I
Add the currently displayed topic to the Favorites list | ALT+A
Select a topic in the Favorites list | ALT+P, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Remove the selected topic from the list | ALT+R

표 74.6. Topic Pane Shortcuts

To | Press
Index Lookup | Select the words you would like to look up and press F1
Find on page | CTRL+F, and then adjust options
Refresh page | F5

이전 | 위로 | 다음
The Navigation Pane | 처음으로 | 75. The Full Text Search


The Navigation Pane

The Navigation Pane contains four navigational tabs: the Contents, Index, Search and Favorites tabs. These all provide different methods to access a topic in the help file.

  • The contents tab reveals a tree like table of contents, where you can navigate to the desired topic by opening and closing parts of the tree. You can even access the deepest sections using this TOC. If you right click on an item here and choose "Print...", you'll have the option to print the selected topic or the selected topic and all subtopics. However printing is not the initial goal of this representation of the manual (the PDF version is suitable for printing).
  • The index tab lists a huge number of "keywords" (actually manual page titles). You can pick one, or start to type a keyword, see the list adjusting to your input, and then click on a topic, or press enter if the selected topic is the one you would like to see.
  • The search tab shows one of the most powerful features of the HTML Help Viewer, the full text search (also known as FTS). Here you can type in your search expression, optionally connecting words with AND/OR/NEAR/NOT. Before you click 'List topics', you can also set some options at the bottom. After the search results are displayed, you'll realize that manual text and user note results are separated. To sort out the two types, click on the 'Location' column header. Now from the search results list, you can pick a topic, and see it's page. The keywords you searched for are highlighted on the page.
  • The favorites tab enables you to store your most used topics in a list, easily accessible. Here you can see the list, add the current topic to it, remove one, or display a selected item. You can also specify your own title for the favorite, by typing it into the 'Current topic:' box. The user note page titles are prepended with a 'N:' string so you can distinguish them from normal manual pages in the favorites listing.

이전 | 위로 | 다음
74. Using PHP Manual CHM Edition | 처음으로 | Keyboard Shortcuts


부 X. HTML 도움말 에디션

차례

73. About This Edition
74. Using PHP Manual CHM Edition
75. The Full Text Search
76. Specialities of this Edition
77. Integrating the PHP Manual
78. Skin development
79. CHM Edition Credits
이전 | 위로 | 다음
X. 빠진 내용 | 처음으로 | 73. About This Edition


9장. Runtime Configuration

차례

The configuration file
How to change configuration settings

The configuration file

The configuration file (called php3.ini in PHP 3, and simply php.ini as of PHP 4) is read when PHP starts up. For the server module versions of PHP, this happens only once when the web server is started. For the CGI and CLI version, it happens on every invocation.

php.ini is searched in these locations (in order):

  • SAPI module specific location (PHPIniDir directive in Apache 2, -c command line option in CGI and CLI, php_ini parameter in NSAPI, PHP_INI_PATH environment variable in THTTPD)

  • The PHPRC environment variable. Before PHP 5.2.0 this was checked after the registry key mentioned below.

  • As of PHP 5.2.0, the following registry locations are searched in order: HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z\IniFilePath, HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y\IniFilePath and HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x\IniFilePath, where x, y and z mean the PHP major, minor and release versions.

  • HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath (Windows Registry location)

  • Current working directory (except CLI)

  • The web server's directory (for SAPI modules), or directory of PHP (otherwise in Windows)

  • Windows directory (C:\windows or C:\winnt) (for Windows), or --with-config-file-path compile time option

If php-SAPI.ini exists (where SAPI is used SAPI, so the filename is e.g. php-cli.ini or php-apache.ini), it's used instead of php.ini. SAPI name can be determined by php_sapi_name().

참고: The Apache web server changes the directory to root at startup causing PHP to attempt to read php.ini from the root filesystem if it exists.

The php.ini directives handled by extensions are documented respectively on the pages of the extensions themselves. The list of the core directives is available in the appendix. Probably not all PHP directives are documented in the manual though. For a complete list of directives available in your PHP version, please read your well commented php.ini file. Alternatively, you may find the » the latest php.ini from CVS helpful too.

예 9.1. php.ini example

; any text on a line after an unquoted semicolon (;) is ignored
[php] ; section markers (text within square brackets) are also ignored
; Boolean values can be set to either:
;    true, on, yes
; or false, off, no, none
register_globals = off
track_errors = yes

; you can enclose strings in double-quotes
include_path = ".:/usr/local/lib/php"

; backslashes are treated the same as any other character
include_path = ".;c:\php\lib"

Since PHP 5.1.0, it is possible to refer to existing .ini variables from within .ini files. Example: open_basedir = ${open_basedir} ":/new/dir".

이전 | 위로 | 다음
Bug reports | 처음으로 | How to change configuration settings


How to change configuration settings

Running PHP as an Apache module

When using PHP as an Apache module, you can also change the configuration settings using directives in Apache configuration files (e.g. httpd.conf) and .htaccess files. You will need "AllowOverride Options" or "AllowOverride All" privileges to do so.

With PHP 4 and PHP 5, there are several Apache directives that allow you to change the PHP configuration from within the Apache configuration files. For a listing of which directives are PHP_INI_ALL, PHP_INI_PERDIR, or PHP_INI_SYSTEM, have a look at the List of php.ini directives appendix.

참고: With PHP 3, there are Apache directives that correspond to each configuration setting in the php3.ini name, except the name is prefixed by "php3_".

php_value name value

Sets the value of the specified directive. Can be used only with PHP_INI_ALL and PHP_INI_PERDIR type directives. To clear a previously set value use none as the value.

참고: Don't use php_value to set boolean values. php_flag (see below) should be used instead.

php_flag name on|off

Used to set a boolean configuration directive. Can be used only with PHP_INI_ALL and PHP_INI_PERDIR type directives.

php_admin_value name value

Sets the value of the specified directive. This can not be used in .htaccess files. Any directive type set with php_admin_value can not be overridden by .htaccess. To clear a previously set value use none as the value.

php_admin_flag name on|off

Used to set a boolean configuration directive. This can not be used in .htaccess files. Any directive type set with php_admin_flag can not be overridden by .htaccess.

예 9.2. Apache configuration example

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php3.c>
  php3_include_path ".:/usr/local/lib/php"
  php3_safe_mode on
</IfModule>

경고

PHP constants do not exist outside of PHP. For example, in httpd.conf you can not use PHP constants such as E_ALL or E_NOTICE to set the error_reporting directive as they will have no meaning and will evaluate to 0. Use the associated bitmask values instead. These constants can be used in php.ini

Changing PHP configuration via the Windows registry

When running PHP on Windows, the configuration values can be modified on a per-directory basis using the Windows registry. The configuration values are stored in the registry key HKLM\SOFTWARE\PHP\Per Directory Values, in the sub-keys corresponding to the path names. For example, configuration values for the directory c:\inetpub\wwwroot would be stored in the key HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot. The settings for the directory would be active for any script running from this directory or any subdirectory of it. The values under the key should have the name of the PHP configuration directive and the string value. PHP constants in the values are not parsed. However, only configuration values changeable in PHP_INI_USER can be set this way, PHP_INI_PERDIR values can not.

Other interfaces to PHP

Regardless of how you run PHP, you can change certain values at runtime of your scripts through ini_set(). See the documentation on the ini_set() page for more information.

If you are interested in a complete list of configuration settings on your system with their current values, you can execute the phpinfo() function, and review the resulting page. You can also access the values of individual configuration directives at runtime using ini_get() or get_cfg_var().

이전 | 위로 | 다음
9. Runtime Configuration | 처음으로 | III. 언어 레퍼런스


break

break는 현재 for, foreach, while, do-while 또는 switch절의 수행을 멈춘다.

break는 숫자 인자 옵션을 허용함으로써 내포된 구문구조의 깊이를 표시하고 거기서 빠져나올수 있게 해준다.

<?php
$arr = array('one', 'two', 'three', 'four', 'stop', 'five');
while (list (, $val) = each ($arr)) {
    if ($val == 'stop') {
        break;    /* 여기서는 'break 1;'으로 슬 수 있습니다. */
    }
    echo "$val<br />\n";
}

/* 옵션 인자 사용하기. */

$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "At 5<br />\n";
        break 1;  /* switch만 빠져나갑니다. */
    case 10:
        echo "At 10; quitting<br />\n";
        break 2;  /* switch와 while을 빠져나갑니다. */
    default:
        break;
    }
}
?>

이전 | 위로 | 다음
foreach | 처음으로 | continue


continue

continue는 루프 구조 내부에서 현재 루프 반복의 나머지 부분을 생략하고 조건 평가를 한 후 다음 반복 시작에서 실행을 지속하게 합니다.

참고: PHP에서 switch구문은 continue에 의해 루프 구조로 사용할수 있다는것을 참고할것.

continue는 숫자 인자 옵션을 사용하여 루프의 깊이를 표시할수 있고, 루프의 끝까지 건너뛸수 있다.

<?php
while (list($key, $value) = each($arr)) {
    if (!($key % 2)) { // skip odd members
        continue;
    }
    do_something_odd($value);
}

$i = 0;
while ($i++ < 5) {
    echo "Outer<br />\n";
    while (1) {
        echo "&nbsp;&nbsp;Middle<br />\n";
        while (1) {
            echo "&nbsp;&nbsp;Inner<br/ >\n";
            continue 3;
        }
        echo "This never gets output.<br />\n";
    }
    echo "Neither does this.<br />\n";
}
?>

continue 뒤의 세미콜론을 빼먹으면 혼란스러울 것입니다. 여기에 해서는 안되는 일의 예제입니다:

<?php
  for ($i = 0; $i < 5; ++$i) {
      if ($i == 2)
          continue
      print "$i\n";
  }
?>

기대했던 결과는:

0
1
3
4

하지만 스크립트의 출력은:

2

print() 호출의 반환값은 int(1)이기 때문에, 위에서 언급한 부수적인 수 인자로 보여집니다.

이전 | 위로 | 다음
break | 처음으로 | switch


declare

declare구문은 코드 블록의 수행 디렉티브(directive)를 활성화하기 위해 사용된다. declare문법은 다른 흐름 제어 구조의 문법과 비슷하다:

declare (directive) statement

directive부분은 declare블록의 동작이 활성화되도록 해준다. 현재는 오직 한 디렉티브만 인식된다: ticks 디렉티브. (더 자세한 정보는 ticks 디렉티브를 볼것)

declare블록의 statement부분이 수행될것이다 - 어떻게 수행이 되고 수행중에 어떤 사이드 이펙트가 발생할지는 directive블록의 디렉티브에 달려있다.

declare 구문은 전역 유효영역 안에서 사용할수 있다. 그래서 모든 코드가 그 디렉티브에 영향을 받는다.

<?php
// 이들은 동일합니다:

// 이를 사용할 수 있습니다:
declare(ticks=1) {
    // 여기에 전체 스크립트
}

// 또는 이렇게 사용할 수 있습니다:
declare(ticks=1);
// 여기에 전체 스크립트
?>

틱(Ticks)

틱은 declare블록에서 파서에 의해 수행되는 N 저레벨(low-level) 구문마다 발생하는 이벤트이다. N 값은 declare블록의 directive부분에서 ticks=N 으로 지정할수 있다.

각 틱에서 발생하는 이벤트(들)은 register_tick_function()함수 를 써서 지정한다. 자세한 것은 아래 예제를 볼것. 각 틱에서는 하나 이상의 이벤트가 발생할수 있음에 주의해야 한다.

예 16.3. PHP 각 코드 섹션의 분석표만들기(Profile)

<?php
// 호출될대의 시간을 기록하는 함수
function profile($dump = FALSE)
{
    static $profile;

    // Profile에 저장된 모든 시간 리턴하고, 삭제함
    if ($dump) {
        $temp = $profile;
        unset($profile);
        return $temp;
    }

    $profile[] = microtime();
}

// 틱 핸들러 설정
register_tick_function("profile");

// declare 블록 전에 함수를 초기화
profile();

// 코드 블록의 실행하고, 두번째 구문에 틱을 부여함
declare(ticks=2) {
    for ($x = 1; $x < 50; ++$x) {
        echo similar_text(md5($x), md5($x*$x)), "<br />;";
    }
}

// 분석표에 저장된 데이터를 출력
print_r(profile(TRUE));
?>

위 예제 코드는 실행 블록안의 두번째 저레벨(low-level) 구문의 시간에 따라 'declare'블록 안의 PHP코드를 분석한다. 이런 정보로 어느 코드 부분에서 느려지는지 알아볼 수 있다. 이런 처리방법은 다른 기법으로 수행할수있다: 틱을 이용하는 것은 좀더 편하고 좀더 구현하기 쉽다.

틱은 디버깅, 단순한 멀티태스킹 구현, 백그라운드 I/O와 다른 많은 작업 에 적합하게 이용할수 있다.

register_tick_function()함수와 unregister_tick_function()함수를 참고하세요.

이전 | 위로 | 다음
switch | 처음으로 | return


do-while

do-while 루프는 시작부분이 아니라 각 반복(iteration)의 끝부분에서 표현식이 참인지 체크한다는것을 제외하고 while루프와 매우 비슷하다. 일반적인 while문과의 주요한 차이점은 do-while문의 첫번째 반복이 반드시 수행된다는것이다 (반복의 끝부분에서 표현식이 참인지 체크한다), 이와 같은 경우는 일반 while루프로 수행시킬수 없을것이다. (while루프에서는 각 반복의 시작부분에서 표현식이 참인지 체크되고, 시작부터 바로 그 값이 FALSE이면 그 루프는 즉시 수행을 멈추게 된다)

다음에 do-while루프의 한가지 문법을 보인다:

<?php
$i = 0;
do {
   echo $i;
} while ($i > 0);
?>

위 루프는 정확히 한번 수행된다. 첫번째 반복(iteration) 이후에 표현식이 참인지 체크할때, FALSE가 되므로 ($i는 0보다 크지 않다) 루프 수행이 멈춘다.

고급 C 유저는 do-while루프의 다른 사용법에 익숙할것이다. 즉, do-while (0)으로 감싸고, break절을 사용하여 코드 블록의 중간에서 수행을 멈출수 있습니다. 다음 코드 예는 이런 경우를 보여준다:

<?php
do {
    if ($i < 5) {
        echo "i는 충분히 크지 않다";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
    echo "i is ok";

    /* process i */

} while (0);
?>

이 코드를 바로 또는 전혀 이해할수 없다고 걱정하지 마라. 이런 '기능'을 사용하지 않고도 일반스크립트나 심지어 굉장한 스크립트를 작성할 수 있다.

이전 | 위로 | 다음
while | 처음으로 | for


else

가끔은 특정 조건에 맞을때 구문을 수행하지 않고, 조건과 맞지 않을 때 다른 구문을 수행하게 하고 싶은 때가 있다. else 문은 이 목적을 위한 것이다. if문 다음의 else문은 if구문안의 표현식이 FALSE일때 수행된다. 예를 들면, 다음 코드는 $a가 $b보다 크다면 a는 b보다 크다 를 출력할것이고, 그렇지않다면 a는 b보다 크지 않다를 출력할것이다:

<?php
if ($a > $b) {
    echo "a는 b보다 크다";
} else {
    echo "a는 b보다 크지 않다";
}
?>
else문은 if문이 FALSE일때만 수행이 된다. 그리고 그들 모두 FALSE값이 될수있다면 elseif문 을 쓸수 있다. (elseif를 참고)

이전 | 위로 | 다음
16. 제어 구조 | 처음으로 | elseif


elseif

elseif, 이 이름에서 알수 있듯이, if와 else의 조합이다. else처럼 이 구문은 if절 다음에 와서 원래 if표현식이 FALSE와 같은 경우에 다른 구문을 수행한다. 그러나, else와는 달리 elseif조건 표현식이 TRUE일 때만 대체 표현식을 수행할것이다. 예를 들면 다음 코드는 a는 b보다 크다, a는 b와 같다나 a는 b보다 작다을 출력할것이다.

<?php
if ($a > $b) {
    echo "a는 b보다 크다";
} elseif ($a == $b) {
    echo "a는 b와 같다";
} else {
    echo "a는 b보다 작다";
}
?>

같은 if절 안에 몇개의 elseif절이 존재할수 있다. 가장 먼저 TRUE가 되는 elseif표현식이 수행될것이다. PHP에서는 'else if' (두 단어)로 쓸수 있고 'elseif' (한 단어) 와 방식은 같다. 문장적(syntactic)으로는 다르다 (C에 익숙하다면, 이것은 같은 방식이다) 그러나 그 둘 모두 완전히 같은 결과를 보여줄것이다.

elseif절은 선행 if 표현식과 다른 elseif표현식이 FALSE이고, 이 elseif표현식이 TRUE일때만 수행된다.

이전 | 위로 | 다음
else | 처음으로 | 제어 구조의 대체 문법


for

for루프는 PHP에서 제일 복잡한 루프이다. C와 똑같은 방식으로 동작한다. for루프의 문법은 다음과 같다:

for (expr1; expr2; expr3)
    statement

첫번째 표현식(expr1)은 루프의 시작에서 바로 조건없이 평가된다 (수행된다).

각 반복(iteration)의 시작부분에서 expr2이 평 가된다. 이 표현식이 TRUE이면 루프는 계속되고 내포된 구문(들)이 수행된다. FALSE이면, 루프 수행을 멈춘다.

expr3표현식은 각 반복의 끝부분에서 평가된다 (수행된다).

각 표현은 비어있거나 콤마로 구분한 여러 표현을 가질 수 있습니다. expr2에서 콤마로 구분한 표현은 || 연산자처럼 동작하지만, || 보다 우선권이 낮습니다. expr2이 비어있다는 것은 루프가 무제한 수행되어야 한다는 것을 의미한다 (PHP는 C처럼 TRUE로 인식) 이런 기법은 생각처럼 필요없지는 않다. 왜냐 하면 종종 for문의 표현식 대신에 break문으로 루프를 끝낼 필요가 있기 때문이다.

다음 예제 코드들을 보세요. 이 코드 모두 1부터 10까지의 숫자를 출력한다:

<?php
/* 예제 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* 예제 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 예제 3 */

$i = 1;
for (; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 예제 4 */

for ($i = 1, $j = 0; $i <= 10; $j += 1, print $i, $i++);
?>

물론, 첫번째 예제(혹은 네번째) 코드가 가장 좋은 방법이다. 그러나 for루프에서 빈 표현식을 사용해야 하는 경우도 부딪히게 될것이다.

PHP는 for루프에 대한 대체 "콜른 문법"을 지원한다.

for (expr1; expr2; expr3):
    statement
    ...
endfor;

이전 | 위로 | 다음
do-while | 처음으로 | foreach


foreach

PHP 4는 펄이나 다른 언어처럼 foreach구문을 지원합니다. 이런 구문은 간단하게 배열에 대한 작업을 수행하는 가장 쉬운 기법입니다. foreach는 배열에서만 작동하고 다른 데이터형을 갖는 변수나 초기화되지 않은 변수에 대해서 이 구문을 사용하려한다면 에러 메시지를 만날것입니다. 이 구문은 두가지 문법이 있습니다; 두번째보다는 첫번째문법이 더 유용한 사용법입니다:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

첫번째 형태는 array_expression에서 주어진 배열에 대해 루프를 돈다. 각 루프에서 현재 배열요소(element)의 값은 $value 로 지정되고 내부적인 배열 포인터는 하나씩 이동하게 된다 (그래서 다음 루프에서 다음 배열 요소를 보게 될것이다)

두번째 루프도 같은 일을 한다. 단 현재 배열요소의 키(key)값은 각 루프의 $key변수로 지정된다.

PHP 5부터 객체 순환도 할 수 있습니다.

참고: foreach문이 처음 실행할때, 내부적인 배열 포인터는 자동적으로 배열의 첫번째 요소(element)로 리셋된다. 따라서 foreach절 이전에 reset()함수를 호출할 필요는 없다.

참고: 배열이 참조되지 않는 이상, foreach는 지정한 배열 자체가 아닌 복사한 배열을 대상으로 작동합니다. 그러므로, each() 구문과 달리 배열 포인터는 변경되지 않으며, 반환된 배열 요소의 변경은 원 배열에 반영되지 않습니다. 그러나, 원 배열의 내부 포인터는 배열 처리에 따라 증가됩니다. foreach 루프가 끝까지 작동하면, 배열의 내부 포인터는 배열의 끝에 위치하게 됩니다.

PHP 5부터, $value 앞에 &를 붙여서 배열 원소를 쉽게 변경할 있습니다. 값을 복사하지 않고 참조합니다.

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr은 이제 array(2, 4, 6, 8)입니다.

이는 반복할 배열을 참조할 수 있을 때(즉, 변수)만 가능합니다.

참고: foreach는 '@'를 사용해서 에러메시지를 출력하지 못하도록 할수는 없다.

다음 예는 기능적으로 동일하다는것을 알 필요가 있다:

<?php
$arr = array("하나", "둘", "셋");
reset($arr);
while (list(, $value) = each($arr)) {
    echo "값: $value<br />\n";
}

foreach ($arr as $value) {
    echo "값: $value<br />\n";
}
?>
다음 예도 기능적으로 동일하다:
<?php
$arr = array("하나", "둘", "셋");
reset($arr);
while (list($key, $value) = each($arr)) {
    echo "키: $key; 값: $value<br />\n";
}

foreach ($arr as $key => $value) {
    echo "키: $key; 값: $value<br />\n";
}
?>

더 많은 예제 코드들이 사용법에 대해서 설명해준다:

<?php
/* foreach 예제 1: 값만 */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
   echo "\$a의 현재 값: $v.\n";
}

/* foreach 예제 2: 값 (키는 가상으로 출력) */

$a = array(1, 2, 3, 17);

$i = 0; /* 가상 목적으로만 사용 */

foreach ($a as $v) {
    echo "\$a[$i] => $v.\n";
    $i++;
}

/* foreach 예제 3: 키와 값 */

$a = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "seventeen" => 17
);

foreach ($a as $k => $v) {
    echo "\$a[$k] => $v.\n";
}

/* foreach 예제 4: 다차원 배열 */

$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2\n";
    }
}

/* foreach 예제 5: 동적 배열 */

foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v\n";
}
?>

이전 | 위로 | 다음
for | 처음으로 | break


switch

switch구문은 연속적인 같은 표현식을 갖는 연속적인 IF구문과 비슷하다. 많은 경우, 하나의 변수(또는 표현식)으로 다른 많은 값과 비교할 필요가 있으며, 그 값이 동일한 코드의 파편들을 수행할 필요가 생기게 된다. 정확히 이런 목적을 위해 switch구문이 사용된다.

참고: 다른 언어와는 달리 continue문은 switch문에서 사용할수 있고, break문과 비슷하게 동작한다. 루프 내에 switch문을 포함하고 있고 바깥 루프의 다음 반복문으로 진행하고 싶다면 continue 2를 사용한다.

다음 예제 코드들은 같은 일을 서로 다르게 표현한 것입니다. 하나는 if와 elseif문을 사용한 것이고, 다른 하나는 switch문을 사용했습니다:

예 16.1. switch 구조

<?php
if ($i == 0) {
    echo "i는 0";
} elseif ($i == 1) {
    echo "i는 1";
} elseif ($i == 2) {
    echo "i는 2";
}

switch ($i) {
case 0:
    echo "i는 0";
    break;
case 1:
    echo "i는 1";
    break;
case 2:
    echo "i는 2";
    break;
}
?>

예 16.2. 문자열을 사용하는 switch 구조

<?php
switch ($i) {
case "apple":
    echo "i는 apple";
    break;
case "bar"
    echo "i는 bar";
    break;
case "cake":
    echo "i는 cake";
    break;
}
?>

실수하지 않기 위해 switch문이 어떻게 동작하는지 이해할 필요가 있다. switch문은 한줄씩 수행된다 (실제는, 한구문씩). 처음에는 아무 코드도 수행되지 않는다. 오직 값을 갖는 case문이 발견될때에만 구문을 수행하기 시작한다. PHP는 switch블록의 끝부분이 될때까지, 또는 break문와 첫번째 조우를 할때까지 구문을 계속 수행해 간다. 만약 각 case 구문 목록의 끝부분에 break문을 쓰지않는다면 PHP는 다음 case문으로 계속 진행하게 된다. 예를 들면 다음과 같다:

<?php
switch ($i) {
case 0:
    echo "i는 0과 같다";
case 1:
    echo "i는 1과 같다";
case 2:
    echo "i는 2와 같다";
}
?>

여기에서, $i가 0이라면, PHP는 모든 echo문을 실행합니다! $i가 1이라면, PHP는 마지막 두 echo문을 실행합니다. $i가 2일 때만, 원하는 동작('i는 2와 같다' 표시)을 합니다. 따라서, break을 잊어서는 안됩니다. (어떤 경우에는 일부러 빠트릴 수 있어도, 잊지 마십시오)

switch구문에서, 조건문은 오직 한번만 평가되고 각 case문에서 결과가 비교되어진다. elseif문에서는 조건문은 다시 평가된다. 조건문이 한번 이상의 비교가 필요한 복잡한 것이거나 거친(tight) 루프안에 있다면 switch문 좀 더 빠를것이다.

case에 대한 구문 목록은 비어있을수 있다. 이것은 단순히 다음 case문으로 제어권을 넘겨줄 뿐이다.

<?php
switch ($i) {
case 0:
case 1:
case 2:
    echo "i는 3보다 작지만 음수는 아닙니다.";
    break;
case 3:
    echo "i는 3";
}
?>

특별한 case가 바로 default case문이다. 이것은 다른 case문과 모두 조건이 맞지 않을때의 경우를 위한것이고, case구문의 마지막에 위치해야 한다. 예제 코드는 다음과 같다:

<?php
switch ($i) {
case 0:
    echo "i는 0과 같다";
    break;
case 1:
    echo "i는 1과 같다";
    break;
case 2:
    echo "i는 2와 같다";
    break;
default:
    echo "i는 0, 1, 2 어느것도 아니다";
}
?>

case의 표현식은 정수나 부동소수점 수와 문자열같은 단순형으로 평가되는 어던 표현식도 될수 있다. 여기에 단순형으로 재참조(dereference)되지 않는 배열이나 객체를 사용할수는 없다.

switch문을 위한 제어 구조의 대체 문법이 지원된다. 더 자세한 정보는 제어 구조의 대체 문법을 참고.

<?php
switch ($i):
case 0:
    echo "i equals 0";
    break;
case 1:
    echo "i equals 1";
    break;
case 2:
    echo "i equals 2";
    break;
default:
    echo "i is not equal to 0, 1 or 2";
endswitch;
?>

이전 | 위로 | 다음
continue | 처음으로 | declare


while

while는 PHP에서 제일 간단한 루프형이다. C와 똑같은 방식으로 동작한다. while문의 기본적인 형태는 다음과 같다:

while (expr)
    statement

while문의 의미는 단순하다. while 표현식이 계속 TRUE이면, PHP에게 내포되어있는 구문(들)을 반복 수행하도 록 하라는것이다. 표현식의 값은 루프의 시작에서 매번 체크가 된다. 그래서 이 표현식 값이 내포된 구문(들)의 수행동안에 바뀔지라도 반복(iteration) 의 끝이 아니면 수행은 끝나지 않게 된다.(루프에서 PHP가 구문을 한번수행 할때 한번 반복(iteration)이다) 시작된지 얼마안되어 while표현식이 FALSE로 판명되면, 내포된 구문(들)은 즉시 수행을 멈출것이다.

if문과 마찬가지로 중괄호나 대체문법을 사용하여 구문의 그룹을 둘러쌉으로써 while루프 안에 여러 구문을 그룹화할수 있다

while (expr):
    statement
    ...
endwhile;

다음 예는 모두 동일하다. 둘다 1부터 10까지의 숫자를 출력한다:

<?php
/* example 1 */

$i = 1;
while ($i <= 10) {
    echo $i++;  /* 출력하는 값은 증가하기
                   전의 $i입니다.
                   (post-increment) */
}

/* example 2 */

$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
?>

이전 | 위로 | 다음
제어 구조의 대체 문법 | 처음으로 | do-while


Constants

(No version information available, might be only in CVS)

Constants -- Curl Predefined Constants

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Descriptions and uses for these constants are described within the curl_setopt() and curl_getinfo() documentation.

CURLOPT_AUTOREFERER (integer)
Available since PHP 5.1.0
CURLOPT_COOKIESESSION (integer)
Available since PHP 5.1.0
CURLOPT_DNS_USE_GLOBAL_CACHE (integer)
CURLOPT_DNS_CACHE_TIMEOUT (integer)
CURLOPT_FTP_SSL (integer)
Available since PHP 5.2.0
CURLFTPSSL_TRY (integer)
Available since PHP 5.2.0
CURLFTPSSL_ALL (integer)
Available since PHP 5.2.0
CURLFTPSSL_CONTROL (integer)
Available since PHP 5.2.0
CURLFTPSSL_NONE (integer)
Available since PHP 5.2.0
CURLOPT_PRIVATE (integer)
Available since PHP 5.2.4
CURLOPT_FTPSSLAUTH (integer)
Available since PHP 5.1.0
CURLOPT_PORT (integer)
CURLOPT_FILE (integer)
CURLOPT_INFILE (integer)
CURLOPT_INFILESIZE (integer)
CURLOPT_URL (integer)
CURLOPT_PROXY (integer)
CURLOPT_VERBOSE (integer)
CURLOPT_HEADER (integer)
CURLOPT_HTTPHEADER (integer)
CURLOPT_NOPROGRESS (integer)
CURLOPT_NOBODY (integer)
CURLOPT_FAILONERROR (integer)
CURLOPT_UPLOAD (integer)
CURLOPT_POST (integer)
CURLOPT_FTPLISTONLY (integer)
CURLOPT_FTPAPPEND (integer)
CURLOPT_FTP_CREATE_MISSING_DIRS (integer)
CURLOPT_NETRC (integer)
CURLOPT_FOLLOWLOCATION (integer)
This constant is not available when open_basedir or safe_mode are enabled.
CURLOPT_FTPASCII (integer)
CURLOPT_PUT (integer)
CURLOPT_MUTE (integer)
CURLOPT_USERPWD (integer)
CURLOPT_PROXYUSERPWD (integer)
CURLOPT_RANGE (integer)
CURLOPT_TIMEOUT (integer)
CURLOPT_TIMEOUT_MS (integer)
CURLOPT_TCP_NODELAY (integer)
Available since PHP 5.2.1
CURLOPT_POSTFIELDS (integer)
CURLOPT_REFERER (integer)
CURLOPT_USERAGENT (integer)
CURLOPT_FTPPORT (integer)
CURLOPT_FTP_USE_EPSV (integer)
CURLOPT_LOW_SPEED_LIMIT (integer)
CURLOPT_LOW_SPEED_TIME (integer)
CURLOPT_RESUME_FROM (integer)
CURLOPT_COOKIE (integer)
CURLOPT_SSLCERT (integer)
CURLOPT_SSLCERTPASSWD (integer)
CURLOPT_WRITEHEADER (integer)
CURLOPT_SSL_VERIFYHOST (integer)
CURLOPT_COOKIEFILE (integer)
CURLOPT_SSLVERSION (integer)
CURLOPT_TIMECONDITION (integer)
CURLOPT_TIMEVALUE (integer)
CURLOPT_CUSTOMREQUEST (integer)
CURLOPT_STDERR (integer)
CURLOPT_TRANSFERTEXT (integer)
CURLOPT_RETURNTRANSFER (integer)
CURLOPT_QUOTE (integer)
CURLOPT_POSTQUOTE (integer)
CURLOPT_INTERFACE (integer)
CURLOPT_KRB4LEVEL (integer)
CURLOPT_HTTPPROXYTUNNEL (integer)
CURLOPT_FILETIME (integer)
CURLOPT_WRITEFUNCTION (integer)
CURLOPT_READFUNCTION (integer)
CURLOPT_PASSWDFUNCTION (integer)
CURLOPT_HEADERFUNCTION (integer)
CURLOPT_MAXREDIRS (integer)
CURLOPT_MAXCONNECTS (integer)
CURLOPT_CLOSEPOLICY (integer)
CURLOPT_FRESH_CONNECT (integer)
CURLOPT_FORBID_REUSE (integer)
CURLOPT_RANDOM_FILE (integer)
CURLOPT_EGDSOCKET (integer)
CURLOPT_CONNECTTIMEOUT (integer)
CURLOPT_CONNECTTIMEOUT_MS (integer)
CURLOPT_SSL_VERIFYPEER (integer)
CURLOPT_CAINFO (integer)
CURLOPT_CAPATH (integer)
CURLOPT_COOKIEJAR (integer)
CURLOPT_SSL_CIPHER_LIST (integer)
CURLOPT_BINARYTRANSFER (integer)
CURLOPT_NOSIGNAL (integer)
CURLOPT_PROXYTYPE (integer)
CURLOPT_BUFFERSIZE (integer)
CURLOPT_HTTPGET (integer)
CURLOPT_HTTP_VERSION (integer)
CURLOPT_SSLKEY (integer)
CURLOPT_SSLKEYTYPE (integer)
CURLOPT_SSLKEYPASSWD (integer)
CURLOPT_SSLENGINE (integer)
CURLOPT_SSLENGINE_DEFAULT (integer)
CURLOPT_SSLCERTTYPE (integer)
CURLOPT_CRLF (integer)
CURLOPT_ENCODING (integer)
CURLOPT_PROXYPORT (integer)
CURLOPT_UNRESTRICTED_AUTH (integer)
CURLOPT_FTP_USE_EPRT (integer)
CURLOPT_HTTP200ALIASES (integer)
CURLOPT_HTTPAUTH (integer)
CURLAUTH_BASIC (integer)
CURLAUTH_DIGEST (integer)
CURLAUTH_GSSNEGOTIATE (integer)
CURLAUTH_NTLM (integer)
CURLAUTH_ANY (integer)
CURLAUTH_ANYSAFE (integer)
CURLOPT_PROXYAUTH (integer)
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (integer)
CURLCLOSEPOLICY_LEAST_TRAFFIC (integer)
CURLCLOSEPOLICY_SLOWEST (integer)
CURLCLOSEPOLICY_CALLBACK (integer)
CURLCLOSEPOLICY_OLDEST (integer)
CURLINFO_PRIVATE (integer)
Available since PHP 5.2.4
CURLINFO_EFFECTIVE_URL (integer)
CURLINFO_HTTP_CODE (integer)
CURLINFO_HEADER_OUT (integer)
Available since PHP 5.1.3
CURLINFO_HEADER_SIZE (integer)
CURLINFO_REQUEST_SIZE (integer)
CURLINFO_TOTAL_TIME (integer)
CURLINFO_NAMELOOKUP_TIME (integer)
CURLINFO_CONNECT_TIME (integer)
CURLINFO_PRETRANSFER_TIME (integer)
CURLINFO_SIZE_UPLOAD (integer)
CURLINFO_SIZE_DOWNLOAD (integer)
CURLINFO_SPEED_DOWNLOAD (integer)
CURLINFO_SPEED_UPLOAD (integer)
CURLINFO_FILETIME (integer)
CURLINFO_SSL_VERIFYRESULT (integer)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (integer)
CURLINFO_CONTENT_LENGTH_UPLOAD (integer)
CURLINFO_STARTTRANSFER_TIME (integer)
CURLINFO_CONTENT_TYPE (integer)
CURLINFO_REDIRECT_TIME (integer)
CURLINFO_REDIRECT_COUNT (integer)
CURL_TIMECOND_IFMODSINCE (integer)
CURL_TIMECOND_IFUNMODSINCE (integer)
CURL_TIMECOND_LASTMOD (integer)
CURL_VERSION_IPV6 (integer)
CURL_VERSION_KERBEROS4 (integer)
CURL_VERSION_SSL (integer)
CURL_VERSION_LIBZ (integer)
CURLVERSION_NOW (integer)
CURLE_OK (integer)
CURLE_UNSUPPORTED_PROTOCOL (integer)
CURLE_FAILED_INIT (integer)
CURLE_URL_MALFORMAT (integer)
CURLE_URL_MALFORMAT_USER (integer)
CURLE_COULDNT_RESOLVE_PROXY (integer)
CURLE_COULDNT_RESOLVE_HOST (integer)
CURLE_COULDNT_CONNECT (integer)
CURLE_FTP_WEIRD_SERVER_REPLY (integer)
CURLE_FTP_ACCESS_DENIED (integer)
CURLE_FTP_USER_PASSWORD_INCORRECT (integer)
CURLE_FTP_WEIRD_PASS_REPLY (integer)
CURLE_FTP_WEIRD_USER_REPLY (integer)
CURLE_FTP_WEIRD_PASV_REPLY (integer)
CURLE_FTP_WEIRD_227_FORMAT (integer)
CURLE_FTP_CANT_GET_HOST (integer)
CURLE_FTP_CANT_RECONNECT (integer)
CURLE_FTP_COULDNT_SET_BINARY (integer)
CURLE_PARTIAL_FILE (integer)
CURLE_FTP_COULDNT_RETR_FILE (integer)
CURLE_FTP_WRITE_ERROR (integer)
CURLE_FTP_QUOTE_ERROR (integer)
CURLE_HTTP_NOT_FOUND (integer)
CURLE_WRITE_ERROR (integer)
CURLE_MALFORMAT_USER (integer)
CURLE_FTP_COULDNT_STOR_FILE (integer)
CURLE_READ_ERROR (integer)
CURLE_OUT_OF_MEMORY (integer)
CURLE_OPERATION_TIMEOUTED (integer)
CURLE_FTP_COULDNT_SET_ASCII (integer)
CURLE_FTP_PORT_FAILED (integer)
CURLE_FTP_COULDNT_USE_REST (integer)
CURLE_FTP_COULDNT_GET_SIZE (integer)
CURLE_HTTP_RANGE_ERROR (integer)
CURLE_HTTP_POST_ERROR (integer)
CURLE_SSL_CONNECT_ERROR (integer)
CURLE_FTP_BAD_DOWNLOAD_RESUME (integer)
CURLE_FILE_COULDNT_READ_FILE (integer)
CURLE_LDAP_CANNOT_BIND (integer)
CURLE_LDAP_SEARCH_FAILED (integer)
CURLE_LIBRARY_NOT_FOUND (integer)
CURLE_FUNCTION_NOT_FOUND (integer)
CURLE_ABORTED_BY_CALLBACK (integer)
CURLE_BAD_FUNCTION_ARGUMENT (integer)
CURLE_BAD_CALLING_ORDER (integer)
CURLE_HTTP_PORT_FAILED (integer)
CURLE_BAD_PASSWORD_ENTERED (integer)
CURLE_TOO_MANY_REDIRECTS (integer)
CURLE_UNKNOWN_TELNET_OPTION (integer)
CURLE_TELNET_OPTION_SYNTAX (integer)
CURLE_OBSOLETE (integer)
CURLE_SSL_PEER_CERTIFICATE (integer)
CURLE_GOT_NOTHING (integer)
CURLE_SSL_ENGINE_NOTFOUND (integer)
CURLE_SSL_ENGINE_SETFAILED (integer)
CURLE_SEND_ERROR (integer)
CURLE_RECV_ERROR (integer)
CURLE_SHARE_IN_USE (integer)
CURLE_SSL_CERTPROBLEM (integer)
CURLE_SSL_CIPHER (integer)
CURLE_SSL_CACERT (integer)
CURLE_BAD_CONTENT_ENCODING (integer)
CURLE_LDAP_INVALID_URL (integer)
CURLE_FILESIZE_EXCEEDED (integer)
CURLE_FTP_SSL_FAILED (integer)
CURLFTPAUTH_DEFAULT (integer)
Available since PHP 5.1.0
CURLFTPAUTH_SSL (integer)
Available since PHP 5.1.0
CURLFTPAUTH_TLS (integer)
Available since PHP 5.1.0
CURLPROXY_HTTP (integer)
CURLPROXY_SOCKS5 (integer)
CURL_NETRC_OPTIONAL (integer)
CURL_NETRC_IGNORED (integer)
CURL_NETRC_REQUIRED (integer)
CURL_HTTP_VERSION_NONE (integer)
CURL_HTTP_VERSION_1_0 (integer)
CURL_HTTP_VERSION_1_1 (integer)
CURLM_CALL_MULTI_PERFORM (integer)
CURLM_OK (integer)
CURLM_BAD_HANDLE (integer)
CURLM_BAD_EASY_HANDLE (integer)
CURLM_OUT_OF_MEMORY (integer)
CURLM_INTERNAL_ERROR (integer)
CURLMSG_DONE (integer)
이전 | 위로 | 다음
XIX. CURL, Client URL Library Functions | 처음으로 | curl_close


부록 K. 확장 분류

차례

목적
자격
상태

이 부록은 PHP 매뉴얼에 문서화된 150개가 넘는 확장을 몇몇 기준에 따라 분류한 것입니다.

목적

기본 PHP 확장

확장에 관련된 변수와 형

  • 배열

  • Classkit

  • 클래스/객체

  • ctype

  • Filter

  • Function handling

  • Object Aggregation

  • 변수

텍스트 처리

  • PCRE

  • POSIX Regex

  • 문자열

  • xdiff

PHP 동작에 영향을 줌

  • APC

  • APD

  • bcompiler

  • Errors and Logging

  • http

  • PHP 옵션/정보

  • 출력 제어

  • runkit

세션 확장

  • Msession

  • muscat

  • Sessions

  • Session PgSQL

기타 기본 확장

  • GeoIP

  • JSON

  • Misc.

  • Parsekit

  • SPL

  • tidy

  • Tokenizer

  • URLs

데이터베이스 확장

추상 레이어

  • dba

  • dbx

  • PDO

  • SDO-DAS-Relational

  • ODBC

벤더 한정 데이터베이스 확장

  • dBase

  • DB++

  • FrontBase

  • filePro

  • Firebird/InterBase

  • ibm_db2

  • Informix

  • Ingres II

  • MaxDB

  • mSQL

  • MS SQL Server

  • MySQL

  • mysqli

  • OCI8

  • Oracle

  • OvrimosSQL

  • Paradox

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • PostgreSQL

  • SQLite

  • Sybase

XML 조작

  • DOM

  • DOM XML

  • libxml

  • qtdom

  • SCA

  • SDO

  • SDO DAS XML

  • SimpleXML

  • XML

  • XMLReader

  • XMLWriter

  • XSL

  • XSLT

웹 서비스

  • SOAP

  • WDDX

  • XML-RPC

신용카드 처리

  • Cybercash

  • CyberMUT

  • MCVE

  • Verisign Payflow Pro

수학과 암호화

수학 확장

  • BC math

  • GMP

  • 수학

  • Statistics

암호화 확장

  • Crack

  • hash

  • mcrypt

  • mhash

  • OpenSSL

자연어와 문자 인코딩 지원

  • enchant

  • FriBiDi

  • gettext

  • i18n

  • iconv

  • Multibyte String

  • Pspell

  • Recode

  • Unicode

파일 시스템과 프로세스 제어

파일 시스템 관련 확장

  • Direct IO

  • 디렉토리

  • fam

  • Fileinfo

  • 파일시스템

  • Mimetype

  • xattr

프로세세 제어 확장

  • Program Execution

  • Expect

  • PCNTL

  • POSIX

  • 세마포어

  • shmop

접근 서비스

메일 관련 확장

  • Cyrus IMAP

  • IMAP

  • 메일

  • Mailparse

  • vpopmail

인증 서비스

  • kadm5

  • radius

기타 서비스

  • CURL

  • FTP

  • Hyperwave

  • Hyperwave API

  • IRC Gateway

  • Java

  • LDAP

  • Memcache

  • mnoGoSearch

  • gopher

  • 네트워크

  • YP/NIS

  • Lotus Notes

  • SAM

  • SNMP

  • Sockets

  • ssh2

  • Streams

  • SVN

  • TCP Wrappers

  • YAZ

압축 확장

  • Bzip2

  • LZF

  • phar

  • Rar

  • Zip

  • Zlib

달력과 이벤트 관련 확장

  • Calendar

  • 날짜/시간

  • MCAL

특정 용도 한정 확장

텍스트가 아닌 MIME 출력

  • ClibPDF

  • FDF

  • gnupg

  • haru

  • Ming (flash)

  • PDF

  • PS

  • RPMReader

  • SWF

  • swish

이미지 처리와 생성

  • Exif

  • Image

  • Imagick Image Library

오디오 형식 조작

  • id3

  • OGG/Vorbis

  • openal

명령줄 한정 확장

  • Ncurses

  • Newt

  • Readline

윈도우 전용 확장

  • COM

  • .NET

  • Printer

  • W32api

  • win32ps

  • win32service

서버 한정 확장

  • 아파치

  • IIS Functions

  • NSAPI

이전 | 위로 | 다음
List of timezones in the group Others | 처음으로 | 자격


자격

코어 확장

이 확장은 실제 확장이 아닙니다. PHP 코어의 일부분이며 컴파일 옵션으로 PHP 바이너리에서 제외할 수 없습니다.

  • 배열

  • 클래스/객체

  • 날짜/시간

  • 디렉토리

  • Errors and Logging

  • Program Execution

  • 파일시스템

  • Function handling

  • i18n

  • PHP 옵션/정보

  • 메일

  • 수학

  • Misc.

  • 네트워크

  • 출력 제어

  • POSIX Regex

  • Sessions

  • Streams

  • 문자열

  • Tokenizer

  • Unicode

  • URLs

  • 변수

번들 확장

이 확장은 PHP에 번들됩니다.

  • 아파치

  • BC math

  • Bzip2

  • Calendar

  • COM

  • ctype

  • CURL

  • dba

  • dBase

  • DOM

  • .NET

  • Exif

  • FrontBase

  • FDF

  • FTP

  • gettext

  • GMP

  • hash

  • Firebird/InterBase

  • iconv

  • Informix

  • Image

  • IMAP

  • JSON

  • LDAP

  • libxml

  • Multibyte String

  • mcrypt

  • mhash

  • Mimetype

  • Ming (flash)

  • mSQL

  • MS SQL Server

  • MySQL

  • mysqli

  • Ncurses

  • NSAPI

  • Object Aggregation

  • OCI8

  • OpenSSL

  • PCNTL

  • PCRE

  • PDO

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • PostgreSQL

  • POSIX

  • Pspell

  • Readline

  • Recode

  • 세마포어

  • shmop

  • SimpleXML

  • SNMP

  • SOAP

  • Sockets

  • SPL

  • SQLite

  • SVN

  • Sybase

  • tidy

  • ODBC

  • WDDX

  • XML

  • XMLReader

  • XML-RPC

  • XSL

  • XSLT

  • Zip

  • Zlib

외부 확장

이 확장을 컴파일 하려면, 외부 라이브러리가 필요합니다.

  • BBCode

  • Bzip2

  • ClibPDF

  • Crack

  • CURL

  • dBase

  • DB++

  • dbx

  • DOM

  • DOM XML

  • enchant

  • fam

  • FrontBase

  • FDF

  • Fileinfo

  • FriBiDi

  • GeoIP

  • gettext

  • GMP

  • haru

  • Hyperwave

  • Hyperwave API

  • i18n

  • Firebird/InterBase

  • ibm_db2

  • Informix

  • Imagick Image Library

  • IMAP

  • Ingres II

  • IRC Gateway

  • Java

  • LDAP

  • libxml

  • MaxDB

  • MCAL

  • mcrypt

  • Memcache

  • mhash

  • Ming (flash)

  • mnoGoSearch

  • Msession

  • mSQL

  • MS SQL Server

  • muscat

  • MySQL

  • mysqli

  • Ncurses

  • Newt

  • OCI8

  • OGG/Vorbis

  • openal

  • OpenSSL

  • Oracle

  • OvrimosSQL

  • Paradox

  • PDF

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • Verisign Payflow Pro

  • PostgreSQL

  • PS

  • Pspell

  • qtdom

  • radius

  • Rar

  • Readline

  • Recode

  • Session PgSQL

  • SimpleXML

  • SNMP

  • SOAP

  • ssh2

  • SWF

  • swish

  • Sybase

  • tidy

  • Unicode

  • ODBC

  • vpopmail

  • WDDX

  • xattr

  • xdiff

  • XML

  • XMLReader

  • XSL

  • XSLT

  • YAZ

PECL 확장

이 확장은 » PECL에서 받을 수 있습니다. PHP 매뉴얼에 없는 더 많은 PECL 확장이 존재합니다.

  • APC

  • APD

  • BBCode

  • bcompiler

  • Classkit

  • ClibPDF

  • Crack

  • Cybercash

  • CyberMUT

  • Cyrus IMAP

  • DB++

  • dbx

  • Direct IO

  • DOM XML

  • enchant

  • Expect

  • fam

  • Fileinfo

  • filePro

  • Filter

  • FriBiDi

  • GeoIP

  • gnupg

  • haru

  • hash

  • http

  • Hyperwave

  • Hyperwave API

  • ibm_db2

  • id3

  • IIS Functions

  • Imagick Image Library

  • Ingres II

  • IRC Gateway

  • Java

  • JSON

  • kadm5

  • LZF

  • Mailparse

  • MaxDB

  • MCAL

  • MCVE

  • Memcache

  • mnoGoSearch

  • Msession

  • muscat

  • Ncurses

  • gopher

  • Newt

  • YP/NIS

  • Lotus Notes

  • OGG/Vorbis

  • openal

  • Oracle

  • OvrimosSQL

  • Paradox

  • Parsekit

  • PDF

  • PDO

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • Verisign Payflow Pro

  • phar

  • Printer

  • PS

  • qtdom

  • radius

  • Rar

  • RPMReader

  • runkit

  • SAM

  • SCA

  • SDO

  • SDO DAS XML

  • SDO-DAS-Relational

  • Session PgSQL

  • ssh2

  • Statistics

  • SVN

  • SWF

  • swish

  • TCP Wrappers

  • tidy

  • vpopmail

  • W32api

  • win32ps

  • win32service

  • xattr

  • xdiff

  • XMLReader

  • XMLWriter

  • YAZ

  • Zip

이전 | 위로 | 다음
K. 확장 분류 | 처음으로 | 상태


상태

여기 있는 확장은 제품에 사용하지 적합하지 않습니다 - 너무 "낡은"(배제된) 확장이거나, "새로운"(실험적인) 확장입니다.

배제된 확장

이 확장은 다른 확장의 기능으로 인하여 배제될 확장입니다.

  • Aspell

  • CCVS

  • ClibPDF

  • DBM

  • Mimetype

  • Oracle

  • Object overloading

  • Satellite

  • SESAM

실험적 확장

이 확장의 작동-함수 이름과 확장에 대한 문서를 포함한 모든 것-은 PHP 다음 버전에서 아무런 설명 없이 변경될 수 있습니다. 이 확장으로 인한 문제는 스스로 책임져야 합니다.

  • bcompiler

  • DB++

  • .NET

  • haru

  • hash

  • Imagick Image Library

  • Java

  • Ming (flash)

  • muscat

  • Ncurses

  • Newt

  • Lotus Notes

  • Object Aggregation

  • Paradox

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • Oracle (PDO)

  • PS

  • qtdom

  • SCA

  • SDO-DAS-Relational

  • swish

  • vpopmail

  • W32api

  • XML-RPC

이전 | 위로 | 다음
자격 | 처음으로 | L. 함수 별칭 목록


Encryption Filters

mcrypt.* and mdecrypt.* provide symmetric encryption and decryption using libmcrypt. Both sets of filters support the same algorithms available to mcrypt extension in the form of mcrypt.ciphername where ciphername is the name of the cipher as it would be passed to mcrypt_module_open(). The following five filter parameters are also available:

표 P.1. mcrypt filter parameters

Parameter | Required? | Default | Sample Values
mode | Optional | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | Optional | ini_get('mcrypt.algorithms_dir') | Location of algorithms modules
modes_dir | Optional | ini_get('mcrypt.modes_dir') | Location of modes modules
iv | Required | N/A | Typically 8, 16, or 32 bytes of binary data. Depends on cipher
key | Required | N/A | Typically 8, 16, or 32 bytes of binary data. Depends on cipher

예 P.10. Encrypting file output using 3DES

<?php
$passphrase = 'My secret';

/* Turn a human readable passphrase
 * into a reproducable iv/key pair
 */
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
               md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);

$fp = fopen('secert-file.enc', 'wb');
stream_filter_append($fp, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opts);
fwrite($fp, 'Secret secret secret data');
fclose($fp);
?>

예 P.11. Reading an encrypted file

<?php
$passphrase = 'My secret';

/* Turn a human readable passphrase
 * into a reproducable iv/key pair
 */
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
               md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);

$fp = fopen('secert-file.enc', 'rb');
stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_WRITE, $opts);
$data = rtrim(stream_get_contents($fp));
fclose($fp);

echo $data;
?>

이전 | 위로 | 다음
Compression Filters | 처음으로 | Q. 지원되는 소켓 전송 목록


apache_reset_timeout

(PHP 5 >= 5.1.0)

apache_reset_timeout -- Reset the Apache write timer

설명

bool apache_reset_timeout ( void )

apache_reset_timeout() resets the Apache write timer, which defaults to 300 seconds. With set_time_limit(0); ignore_user_abort(true) and periodic apache_reset_timeout() calls, Apache can theoretically run forever.

This function requires Apache 1.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 안전 모드에서 사용할 수 없습니다.

이전 | 위로 | 다음
apache_request_headers | 처음으로 | apache_response_headers


apc_add

(PECL apc:3.0.13-3.0.14)

apc_add -- Cache a variable in the data store (only if it's not stored)

설명

bool apc_add ( string $key, mixed $var [, int $ttl] )

참고: Unlike many other mechanisms in PHP, variables stored using apc_add() will persist between requests (until the value is removed from the cache).

매개변수

key

Store the variable using this name. keys are cache-unique, so attempting to use apc_add() to store data with a key that already exists will not overwrite the existing data, and will instead return FALSE. (This is the only difference between apc_add() and apc_store().)

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 169. A apc_add() example

<?php
$bar = 'BAR';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
$bar = 'NEVER GETS SET';
apc_add('foo', $bar);
var_dump(apc_fetch('foo'));
echo "\n";
?>

위 예제의 출력:

string(3) "BAR"
string(3) "BAR"

참고

apc_store()
apc_fetch()
apc_delete()

이전 | 위로 | 다음
III. Alternative PHP Cache | 처음으로 | apc_cache_info


apc_cache_info

(PECL apc:2.0-3.0.9)

apc_cache_info -- Retrieves cached information (and meta-data) from APC's data store

설명

array apc_cache_info ( [string $cache_type [, bool $limited]] )

반환값

Array of cached data (and meta-data), or FALSE on failure

참고: apc_cache_info() will raise a warning if it is unable to retrieve APC cache data. This typically occurs when APC is not enabled.

매개변수

cache_type

If cache_type is "user", information about the user cache will be returned; otherwise, information about the system cache (cached files) will be returned.

limited

If limited is TRUE, the return value will exclude the individual list of cache entries. This is usefull when trying to optimize calls for statistics gathering.

변경 기록

버전 | 설명
3.0.11 | The limited parameter was introduced.

예제

예 170. A apc_cache_info() example

<?php
print_r(apc_cache_info());
?>

위 예제의 출력 예:

Array
(
    [num_slots] => 2000
    [ttl] => 0
    [num_hits] => 9
    [num_misses] => 3
    [start_time] => 1123958803
    [cache_list] => Array
        (
            [0] => Array
                (
                    [filename] => /path/to/apc_test.php
                    [device] => 29954
                    [inode] => 1130511
                    [type] => file
                    [num_hits] => 1
                    [mtime] => 1123960686
                    [creation_time] => 1123960696
                    [deletion_time] => 0
                    [access_time] => 1123962864
                    [ref_count] => 1
                    [mem_size] => 677
                )
            [1] => Array (...iterates for each cached file)
)

참고

APC configuration directives

이전 | 위로 | 다음
apc_add | 처음으로 | apc_clear_cache


apc_clear_cache

(PECL apc:2.0-3.0.9)

apc_clear_cache -- Clears the APC cache

설명

bool apc_clear_cache ( [string $cache_type] )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

매개변수

cache_type

If cache_type is "user", the user cache will be cleared; otherwise, the system cache (cached files) will be cleared.

이전 | 위로 | 다음
apc_cache_info | 처음으로 | apc_compile_file


apc_compile_file

(PECL apc:3.0.13-3.0.14)

apc_compile_file -- Stores a file in the bytecode cache, bypassing all filters.

설명

bool apc_compile_file ( string $filename )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

매개변수

filename

Full or relative path to a PHP file that will be compiled and stored in the bytecode cache.

이전 | 위로 | 다음
apc_clear_cache | 처음으로 | apc_define_constants


apc_define_constants

(PECL apc:3.0.0-3.0.9)

apc_define_constants -- Defines a set of constants for retrieval and mass-definition

설명

bool apc_define_constants ( string $key, array $constants [, bool $case_sensitive] )

define() is notoriously slow. Since the main benefit of APC is to increase the performance of scripts/applications, this mechanism is provided to streamline the process of mass constant definition. However, this function does not perform as well as anticipated.

For a better-performing solution, try the » hidef extension from PECL.

참고: To remove a set of stored constants (without clearing the entire cache), an empty array may be passed as the constants parameter, effectively clearing the stored value(s).

매개변수

key

The key serves as the name of the constant set being stored. This key is used to retrieve the stored constants in apc_load_constants().

constants

An associative array of constant_name => value pairs. The constant_name must follow the normal constant naming rules. value must evaluate to a scalar value.

case_sensitive

The default behaviour for constants is to be declared case-sensitive; i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE the constants will be declared as case-insensitive symbols.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 171. apc_define_constants() example

<?php
$constants = array(
    'ONE'   => 1,
    'TWO'   => 2,
    'THREE' => 3,
);
apc_define_constants('numbers', $constants);
echo ONE, TWO, THREE;
?>

위 예제의 출력:

123

참고

apc_load_constants()
define()
constant()
Or the PHP constants reference

이전 | 위로 | 다음
apc_compile_file | 처음으로 | apc_delete


apc_delete

(PECL apc:3.0.0-3.0.9)

apc_delete -- Removes a stored variable from the cache

설명

bool apc_delete ( string $key )

매개변수

key

The key used to store the value (with apc_store()).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 172. A apc_delete() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
apc_delete('foo');
// this is obviously useless in this form
?>

참고

apc_store()
apc_fetch()

이전 | 위로 | 다음
apc_define_constants | 처음으로 | apc_fetch


apc_fetch

(PECL apc:3.0.0-3.0.9)

apc_fetch -- Fetch a stored variable from the cache

설명

mixed apc_fetch ( string $key )

매개변수

key

The key used to store the value (with apc_store()).

반환값

The stored variable on success; FALSE on failure

예제

예 173. A apc_fetch() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

위 예제의 출력:

string(3) "BAR"

참고

apc_store()
apc_delete()

이전 | 위로 | 다음
apc_delete | 처음으로 | apc_load_constants


apc_load_constants

(PECL apc:3.0.0-3.0.9)

apc_load_constants -- Loads a set of constants from the cache

설명

bool apc_load_constants ( string $key [, bool $case_sensitive] )

매개변수

key

The name of the constant set (that was stored with apc_define_constants()) to be retrieved.

case_sensitive

The default behaviour for constants is to be declared case-sensitive; i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE the constants will be declared as case-insensitive symbols.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 174. apc_load_constants() example

<?php
$constants = array(
    'ONE'   => 1,
    'TWO'   => 2,
    'THREE' => 3,
);
apc_define_constants('numbers', $constants);
apc_load_constants('numbers');
echo ONE, TWO, THREE;
?>

위 예제의 출력:

123

참고

apc_define_constants()
define()
constant()
Or the PHP constants reference

이전 | 위로 | 다음
apc_fetch | 처음으로 | apc_sma_info


apc_sma_info

(PECL apc:2.0-3.0.9)

apc_sma_info -- Retrieves APC's Shared Memory Allocation information

설명

array apc_sma_info ( [bool $limited] )

매개변수

limited

반환값

Array of Shared Memory Allocation data; FALSE on failure.

예제

예 175. A apc_sma_info() example

<?php
print_r(apc_sma_info());
?>

위 예제의 출력 예:

Array
(
    [num_seg] => 1
    [seg_size] => 31457280
    [avail_mem] => 31448408
    [block_lists] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [size] => 31448408
                            [offset] => 8864
                        )

                )

        )

)

참고

APC configuration directives

이전 | 위로 | 다음
apc_load_constants | 처음으로 | apc_store


apc_store

(PECL apc:3.0.0-3.0.9)

apc_store -- Cache a variable in the data store

설명

bool apc_store ( string $key, mixed $var [, int $ttl] )

참고: Unlike many other mechanisms in PHP, variables stored using apc_store() will persist between requests (until the value is removed from the cache).

매개변수

key

Store the variable using this name. keys are cache-unique, so storing a second value with the same key will overwrite the original value.

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 176. A apc_store() example

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

위 예제의 출력:

string(3) "BAR"

참고

apc_add()
apc_fetch()
apc_delete()

이전 | 위로 | 다음
apc_sma_info | 처음으로 | IV. Advanced PHP debugger


array_fill_keys

(PHP 5 >= 5.2.0)

array_fill_keys -- Fill an array with values, specifying keys

설명

array array_fill_keys ( array $keys, mixed $value )

Fills an array with the value of the value parameter, using the values of the keys array as keys.

매개변수

keys

Array of values that will be used as keys

value

Either an string or an array of values

반환값

Returns the filled array

예제

예 202. array_fill_keys() example

<?php
$keys = array('foo', 5, 10, 'bar');
$a = array_fill_keys($keys, 'banana');
print_r($a);
?>

위 예제의 출력:

Array
(
    [foo] => banana
    [5] => banana
    [10] => banana
    [bar] => banana
)

참고

array_fill()
array_combine()

이전 | 위로 | 다음
array_diff | 처음으로 | array_fill


array_product

(PHP 5 >= 5.1.0)

array_product -- Calculate the product of values in an array

Description

number array_product ( array $array )

array_product() returns the product of values in an array as an integer or float.

예 224. array_product() examples

<?php

$a = array(2, 4, 6, 8);
echo "product(a) = " . array_product($a) . "\n";

?>

위 예제의 출력:

product(a) = 384

이전 | 위로 | 다음
array_pop | 처음으로 | array_push


bbcode_add_element

(PECL bbcode:0.9.0-0.9.1)

bbcode_add_element -- Adds a bbcode element

설명

bool bbcode_add_element ( resource $bbcode_container, string $tag_name, array $tag_rules )

Adds a tag to an existing BBCode_Container tag_set using tag_rules.

매개변수

bbcode_container

BBCode_Container resource, returned by bbcode_create().

tag_name

The new tag to add to the BBCode_Container tag_set.

tag_rules

An associative array containing the parsing rules; see bbcode_create() for the available keys.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
VII. BBCode Functions | 처음으로 | bbcode_add_smiley


bbcode_add_smiley

(No version information available, might be only in CVS)

bbcode_add_smiley -- Adds a smiley to the parser

설명

bool bbcode_add_smiley ( resource $bbcode_container, string $smiley, string $replace_by )

Adds a smiley to the parser

매개변수

bbcode_container

BBCode_Container resource, returned by bbcode_create().

smiley

The string that will be replaced when found.

replace_by

The string that replace smiley when found.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 281. bbcode_add_smiley() usage example

<?php
/*
 * Prepare the rule set
 */
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,
                       'childs'=>'!i'),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>',
                       'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>',
                       'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>',
                       'close_tag'=>'</i>',
                       'childs'=>'b'),
);
/*
 * Parsed Text
 */
$text=<<<EOF
[i] No parse Test [/i] :)
[b] Parsed, with smiley :( [/b]
[u] Parsed, with no smiley :D [/u]
EOF;
/*
 * Init the parser
 */
$BBHandler=bbcode_create($arrayBBCode);
/*
 * Add Smiley rules to parser
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
bbcode_add_smiley($BBHandler, ":(", "<img src=\"sad.gif\" alt=\":(\" />");
bbcode_add_smiley($BBHandler, ":D", "<img src=\"happy.gif\" alt=\":D\" />");
bbcode_add_smiley($BBHandler, ":p", "<img src=\"tong.gif\" alt=\":p\" />");
bbcode_add_smiley($BBHandler, ":|", "<img src=\"special.gif\" alt=\":|\" />");
bbcode_add_smiley($BBHandler, ":6:", "<img src=\"six.gif\" alt=\":6:\" />");
/*
 * Parse the text
 */
echo bbcode_parse($BBHandler,$text);
?>

위 예제의 출력:

[i] No parse Test [/i] <img src="smiley.gif" alt=":)" />
<b> Parsed, with smiley <img src="sad.gif" alt=":(" /> </b>
<u> Parsed, with no smiley :D </u>

이전 | 위로 | 다음
bbcode_add_element | 처음으로 | bbcode_create


bbcode_create

(PECL bbcode:0.9.0-0.9.1)

bbcode_create -- Create a BBCode Resource

설명

resource bbcode_create ( [array $bbcode_initial_tags] )

This function returns a new BBCode Resource used to parse BBCode strings.

매개변수

bbcode_initial_tags

An associative array containing the tag names as keys and parameters required to correctly parse BBCode as their value. The following key/value pairs are supported:

  • flags optional - a flag set based on the BBCODE_FLAGS_* constants.
  • type required - an int indicating the type of tag. Use the BBCODE_TYPE_* constants.
  • open_tag required - the HTML replacement string for the open tag.
  • close_tag required - the HTML replacement string for the close tag.
  • default_arg optional - use this value as the default argument if none is provided and tag_type is of type OPTARG.
  • content_handling optional - Gives the callback used for modification of the content. Object Oriented Notation supported only since 0.10.1 callback prototype is string name(string $content, string $argument)
  • param_handling optional - Gives the callback used for modification of the argument. Object Oriented Notation supported only since 0.10.1 callback prototype is string name(string $content, string $argument)
  • childs optional - List of accepted child for the tag. The format of the list is a comma separated string. If the list starts with ! it will be the list of rejected child for the tag.
  • parent optional - List of accepted child for the tag. The format of the list is a comma separated string.

반환값

Returns a BBCode_Container

예제

예 282. bbcode_create() example

<?php
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,  'childs'=>'!i'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<i>',
                    'close_tag'=>'</i>', 'childs'=>'b'),
    'url'=>      array('type'=>BBCODE_TYPE_OPTARG,
                    'open_tag'=>'<a href="{PARAM}">', 'close_tag'=>'</a>',
                    'default_arg'=>'{CONTENT}',
                    'childs'=>'b,i'),
    'img'=>      array('type'=>BBCODE_TYPE_NOARG,
                    'open_tag'=>'<img src="', 'close_tag'=>'" />',
                    'childs'=>''),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<b>',
                    'close_tag'=>'</b>'),
);
$text=<<<EOF
[b]Bold Text[/b]
[i]Italic Text[/i]
[url]http://www.php.net/[/url]
[url=http://pecl.php.net/][b]Content Text[/b][/url]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[url=http://www.php.net/]
[img]http://static.php.net/www.php.net/images/php.gif[/img]
[/url]
EOF;
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
?>

위 예제의 출력:

<b>Bold Text</b>
<i>Italic Text</i>
<a href="http://www.php.net/">http://www.php.net/</a>
<a href="http://pecl.php.net/"><b>Content Text</b></a>
<img src="http://static.php.net/www.php.net/images/php.gif" />
<a href="http://www.php.net/">
[img]http://static.php.net/www.php.net/images/php.gif[/img]
</a>

이전 | 위로 | 다음
bbcode_add_smiley | 처음으로 | bbcode_destroy


bbcode_destroy

(PECL bbcode:0.9.0-0.9.1)

bbcode_destroy -- Close BBCode_container resource

설명

bool bbcode_destroy ( resource $bbcode_container )

This function closes the resource opened by bbcode_create().

매개변수

bbcode

BBCode_Container resource returned by bbcode_create().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
bbcode_create | 처음으로 | bbcode_parse


bbcode_parse

(PECL bbcode:0.9.0-0.9.1)

bbcode_parse -- Parse a string following a given rule set

설명

string bbcode_parse ( resource $bbcode_container, string $to_parse )

This function parse the string to_parse following the rules in the bbcode_container created by bbcode_create()

매개변수

bbcode_container

BBCode_Container resource returned by bbcode_create().

to_parse

The string we need to parse.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
bbcode_destroy | 처음으로 | bbcode_set_arg_parser


bbcode_set_arg_parser

(No version information available, might be only in CVS)

bbcode_set_arg_parser -- Attach another parser in order to use another rule set for argument parsing

설명

bool bbcode_set_arg_parser ( resource $bbcode_container, resource $bbcode_arg_parser )

Attaches another parser to the bbcode_container. This parser is used only when arguments must be parsed. If this function is not used, the default argument parser is the parser itself.

매개변수

bbcode_container

BBCode_Container resource, returned by bbcode_create().

bbcode_arg_parser

BBCode_Container resource, returned by bbcode_create(). It will be used only for parsed arguments

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 283. bbcode_set_arg_parser() usage example

<?php
/*
 * Generating bbcode ruleset for main parser
 */
$arrayBBCode=array(
    'quote'=>    array('type'=>BBCODE_TYPE_ARG,
                       'open_tag'=>'<quote><h4>Source: {PARAM}</h4>',
                       'close_tag'=>'</quote>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY|BBCODE_FLAGS_ARG_PARSING),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Generating bbcode ruleset for argument parser
 */
$arrayBBCode_arg=array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b class="sub">', 'close_tag'=>'</b>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>',
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>',
                       'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
 * Text we are going to parse
 */
$text=<<<EOF
[quote="[b]Test[/b]"]
Foo :)
[/quote]
[b]Bar example :)[/b] :)
EOF;
/*
 * Init the two parsers
 */
$BBHandler=bbcode_create($arrayBBCode);
$BBArgHandler=bbcode_create($arrayBBCode_arg);
/*
 * Setting Flags on the parsers
 */
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
bbcode_set_flags($BBArgHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
                 BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
/*
 * Setting $BBArgHandler as the BBHandler argument parser
 */
bbcode_set_arg_parser($BBHandler,$BBArgHandler);
/*
 * Adding Smileys handling rules to Main parser
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
/*
 * Use the main parser to parse text
 */
echo bbcode_parse($BBHandler,$text);
?>

위 예제의 출력:

<quote><h4>Source: <b class="sub">Test</b></h4>
Foo <img src="smiley.gif" alt=":)" />
</quote>
<b>Bar example :)</b> <img src="smiley.gif" alt=":)" />

이전 | 위로 | 다음
bbcode_parse | 처음으로 | bbcode_set_flags


bbcode_set_flags

(No version information available, might be only in CVS)

bbcode_set_flags -- Set or alter parser options

설명

bool bbcode_set_flags ( resource $bbcode_container, int $flags [, int $mode] )

Set or alter parser options

매개변수

bbcode_container

BBCode_Container resource, returned by bbcode_create().

flags

The flag set that must be applied to the bbcode_container options

mode

One of the BBCODE_SET_FLAGS_* constant to set, unset a specific flag set or to replace the flag set by flags.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 284. bbcode_set_flags() usage example

<?php
/*
 * Preparing RuleSet
 */
$arrayBBCode=array(
    'b'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<b>', 'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<u>', 'close_tag'=>'</u>'),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG,
                       'open_tag'=>'<i>', 'close_tag'=>'</i>'),
);
/*
 * Paired incorrectly nested BBCode
 */
$text="[i] Parser [b] Auto Correction [/i] at work [/b]\n";
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
// Enabling reopening of automaticaly closed elements
bbcode_set_flags($BBHandler,BBCODE_CORRECT_REOPEN_TAGS,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);

/*
 * Unpaired incorrectly nested BBCode
 */
$text="[i] Parser [b] Auto Correction [/i] at work\n";
echo bbcode_parse($BBHandler,$text);
// Enabling automatic close of pending tags
bbcode_set_flags($BBHandler,
                 BBCODE_CORRECT_REOPEN_TAGS|BBCODE_AUTO_CORRECT,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);
?>

위 예제의 출력:

<i> Parser <b> Auto Correction </b></i> at work
<i> Parser <b> Auto Correction </b></i><b> at work </b>
<i> Parser [b] Auto Correction </i> at work
<i> Parser <b> Auto Correction </b></i><b> at work
</b>

이전 | 위로 | 다음
bbcode_set_arg_parser | 처음으로 | VIII. BCMath 임의 정확도 수치연산 함수


bcompiler_load

(PECL bcompiler:0.4-0.8)

bcompiler_load -- Reads and creates classes from a bz compressed file

설명

bool bcompiler_load ( string $filename )

Reads data from a bzcompressed file and creates classes from the bytecodes.

매개변수

filename

The bzcompressed file path, as a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 286. bcompiler_load() example

<?php

bcompiler_load("/tmp/example");

print_r(get_defined_classes());

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고: Please use include or require statements to parse bytecodes, it's more portable and convenient way than using this function.

Please note that this function won't execute script body code contained in the bytecode file.

참고

bcompiler_load_exe()

이전 | 위로 | 다음
bcompiler_load_exe | 처음으로 | bcompiler_parse_class


bcompiler_load_exe

(PECL bcompiler:0.4-0.8)

bcompiler_load_exe -- Reads and creates classes from a bcompiler exe file

설명

bool bcompiler_load_exe ( string $filename )

Reads data from a bcompiler exe file and creates classes from the bytecodes.

매개변수

filename

The exe file path, as a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 285. bcompiler_load() example

<?php

bcompiler_load_exe("/tmp/example.exe");
print_r(get_defined_classes());

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

bcompiler_load()

이전 | 위로 | 다음
IX. PHP bytecode Compiler | 처음으로 | bcompiler_load


bcompiler_parse_class

(PECL bcompiler:0.4-0.8)

bcompiler_parse_class -- Reads the bytecodes of a class and calls back to a user function

설명

bool bcompiler_parse_class ( string $class, string $callback )

Reads the bytecodes of a class and calls back to a user function.

매개변수

class

The class name, as a string.

callback

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 287. bcompiler_parse_class() example

<?php

function readByteCodes($data) {
    print_r($data);
}

bcompiler_parse_class("DB","readByteCodes");

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고: This function has been removed from bcompiler and is no longer available as of bcompiler 0.5.

이전 | 위로 | 다음
bcompiler_load | 처음으로 | bcompiler_read


bcompiler_read

(PECL bcompiler:0.4-0.8)

bcompiler_read -- Reads and creates classes from a filehandle

설명

bool bcompiler_read ( resource $filehandle )

Reads data from a open file handle and creates classes from the bytecodes.

매개변수

filehandle

A file handle as returned by fopen().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 288. bcompiler_read() example

<?php
$fh = fopen("/tmp/example","r");
bcompiler_read($fh);
fclose($fh);
print_r(get_defined_classes());

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고: Please use include or require statements to parse bytecodes, it's more portable and convenient way than using this function.

Please note that this function won't execute script body code contained in the bytecode file.

이전 | 위로 | 다음
bcompiler_parse_class | 처음으로 | bcompiler_write_class


bcompiler_write_class

(PECL bcompiler:0.4-0.8)

bcompiler_write_class -- Writes an defined class as bytecodes

설명

bool bcompiler_write_class ( resource $filehandle, string $className [, string $extends] )

Reads the bytecodes from PHP for an existing class, and writes them to the open file handle.

매개변수

filehandle

A file handle as returned by fopen().

className

The class name, as a string.

extends

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 289. bcompiler_write_class() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
// you must write DB_common before DB_mysql, as DB_mysql extends DB_common.
bcompiler_write_class($fh,"DB_common");
bcompiler_write_class($fh,"DB_mysql");
bcompiler_write_footer($fh);
fclose($fh);

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고: This function does not perform dependency checking, so make sure you write the classes in an order that will not result in an undefined class error occurring when you load it.

참고

bcompiler_write_header()
bcompiler_write_footer()

이전 | 위로 | 다음
bcompiler_read | 처음으로 | bcompiler_write_constant


bcompiler_write_constant

(PECL bcompiler:0.5-0.8)

bcompiler_write_constant -- Writes a defined constant as bytecodes

설명

bool bcompiler_write_constant ( resource $filehandle, string $constantName )

Reads the bytecodes from PHP for an existing constant, and writes them to the open file handle.

매개변수

filehandle

A file handle as returned by fopen().

constantName

The name of the defined constant, as a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 290. bcompiler_write_constant() example

<?php
define("MODULE_MAX", 30);

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_constant($fh,"MODULE_MAX");
bcompiler_write_footer($fh);
fclose($fh);

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

bcompiler_write_header()
bcompiler_write_footer()

이전 | 위로 | 다음
bcompiler_write_class | 처음으로 | bcompiler_write_exe_footer


bcompiler_write_exe_footer

(PECL bcompiler:0.4-0.8)

bcompiler_write_exe_footer -- Writes the start pos, and sig to the end of a exe type file

설명

bool bcompiler_write_exe_footer ( resource $filehandle, int $startpos )

An EXE (or self executable) file consists of 3 parts:
The stub (executable code, e.g. a compiled C program) that loads PHP interpreter, bcompiler extension, stored Bytecodes and initiates a call for the specified function (e.g. main) or class method (e.g. main::main)
The Bytecodes (uncompressed only for the moment)
The bcompiler EXE footer

To obtain a suitable stub you can compile php_embed-based stub phpe.c located in the examples/embed directory on bcompiler's CVS.

매개변수

filehandle

A file handle as returned by fopen().

startpos

The file position at which the Bytecodes start, and can be obtained using ftell().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 291. bcompiler_write_footer() example

<?php

/* creating the output file (example.exe) */
$fh = fopen("example.exe", "w");

/* 1) writing a stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);

/* 2) writing bytecodes */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "myclass");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);

/* 3) writing EXE footer */
bcompiler_write_exe_footer($fh, $startpos);

/* closing the output file */
fclose($fh);
?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

bcompiler_write_header()
bcompiler_write_class()
bcompiler_write_footer()

이전 | 위로 | 다음
bcompiler_write_constant | 처음으로 | bcompiler_write_file


bcompiler_write_file

(PECL bcompiler:0.6-0.8)

bcompiler_write_file -- Writes a php source file as bytecodes

설명

bool bcompiler_write_file ( resource $filehandle, string $filename )

This function complies specified source file into bytecodes, and writes them to the open file handle.

매개변수

filehandle

A file handle as returned by fopen().

filename

The source file path, as a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 292. bcompiler_write_file() example

<?php
$fh = fopen("example.phb", "w");
bcompiler_write_header($fh);
bcompiler_write_file($fh, "example.php");
bcompiler_write_footer($fh);
fclose($fh);
/* the following should be equivalent:
include "example.php";
   and
include "example.phb";
*/
?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

bcompiler_write_header()
bcompiler_write_footer()

이전 | 위로 | 다음
bcompiler_write_exe_footer | 처음으로 | bcompiler_write_footer


bcompiler_write_footer

(PECL bcompiler:0.4-0.8)

bcompiler_write_footer -- Writes the single character \x00 to indicate End of compiled data

설명

bool bcompiler_write_footer ( resource $filehandle )

Writes the single character \x00 to indicate End of compiled data.

매개변수

filehandle

A file handle as returned by fopen().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 293. bcompiler_write_footer() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_class($fh,"DB_common");
bcompiler_write_footer($fh);
fclose($fh);

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

bcompiler_write_header()

이전 | 위로 | 다음
bcompiler_write_file | 처음으로 | bcompiler_write_function


bcompiler_write_function

(PECL bcompiler:0.5-0.8)

bcompiler_write_function -- Writes an defined function as bytecodes

설명

bool bcompiler_write_function ( resource $filehandle, string $functionName )

Reads the bytecodes from PHP for an existing function, and writes them to the open file handle. Order is not important, (eg. if function b uses function a, and you compile it like the example below, it will work perfectly OK).

매개변수

filehandle

A file handle as returned by fopen().

functionName

The function name, as a string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 294. bcompiler_write_function() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_function($fh,"my_function_a");
bcompiler_write_function($fh,"my_function_b");
bcompiler_write_footer($fh);
fclose($fh);

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

bcompiler_write_header()
bcompiler_write_footer()

이전 | 위로 | 다음
bcompiler_write_footer | 처음으로 | bcompiler_write_functions_from_file


bcompiler_write_functions_from_file

(PECL bcompiler:0.5-0.8)

bcompiler_write_functions_from_file -- Writes all functions defined in a file as bytecodes

설명

bool bcompiler_write_functions_from_file ( resource $filehandle, string $fileName )

Searches for all functions declared in the given file, and writes their correspondent bytecodes to the open file handle.

매개변수

filehandle

A file handle as returned by fopen().

fileName

The file to be compiled. You must always include or require the file you intend to compile.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 295. bcompiler_write_functions_from_file() example

<?php
require('module.php');

$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_functions_from_file($fh,'module.php');
bcompiler_write_footer($fh);
fclose($fh);

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

bcompiler_write_header()
bcompiler_write_footer()

이전 | 위로 | 다음
bcompiler_write_function | 처음으로 | bcompiler_write_header


bcompiler_write_header

(PECL bcompiler:0.3-0.8)

bcompiler_write_header -- Writes the bcompiler header

설명

bool bcompiler_write_header ( resource $filehandle [, string $write_ver] )

Writes the header part of a bcompiler file.

매개변수

filehandle

A file handle as returned by fopen().

write_ver

Can be used to write bytecode in a previously used format, so that you can use it with older versions of bcompiler.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 296. bcompiler_write_header() example

<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_footer($fh);
fclose($fh);

?>

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

bcompiler_write_footer()

이전 | 위로 | 다음
bcompiler_write_functions_from_file | 처음으로 | bcompiler_write_included_filename


bcompiler_write_included_filename

(PECL bcompiler:0.5-0.8)

bcompiler_write_included_filename -- Writes an included file as bytecodes

설명

bool bcompiler_write_included_filename ( resource $filehandle, string $filename )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
bcompiler_write_header | 처음으로 | X. Bzip2 압축 함수


curl_setopt_array

(PHP 5 >= 5.1.3)

curl_setopt_array -- Set multiple options for a cURL transfer

설명

bool curl_setopt_array ( resource $ch, array $options )

Sets multiple options for a cURL session. This function is useful for setting a large amount of cURL options without repetitively calling curl_setopt().

매개변수

ch

curl_init()가 반환한 cURL 핸들입니다.

options

An array specifying which options to set and their values. The keys should be valid curl_setopt() constants or their integer equivalents.

반환값

Returns TRUE if all options were successfully set. If an option could not be successfully set, FALSE is immediately returned, ignoring any future options in the options array.

예제

예 368. Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Prior to PHP 5.1.4 this function can be simulated with:

예 369. Our own implementation of curl_setopt_array()

<?php
if (!function_exists('curl_setopt_array')) {
   function curl_setopt_array(&$ch, $curl_options)
   {
       foreach ($curl_options as $option => $value) {
           if (!curl_setopt($ch, $option, $value)) {
               return false;
           }
       }
       return true;
   }
}
?>

참고

curl_setopt()

이전 | 위로 | 다음
curl_multi_select | 처음으로 | curl_setopt


cybermut_creerformulairecm

(PHP 4 >= 4.0.5, PECL cybermut:1.0-1.1)

cybermut_creerformulairecm -- Generate HTML form of request for payment

설명

string cybermut_creerformulairecm ( string $url_cm, string $version, string $tpe, string $price, string $ref_command, string $text_free, string $url_return, string $url_return_ok, string $url_return_err, string $language, string $code_company, string $text_button )

cybermut_creerformulairecm() is used to generate the HTML form of request for payment.

참고

cybermut_testmac()
cybermut_creerreponsecm()

이전 | 위로 | 다음
XXI. Credit Mutuel CyberMUT functions | 처음으로 | cybermut_creerreponsecm


cybermut_creerreponsecm

(PHP 4 >= 4.0.5, PECL cybermut:1.0-1.1)

cybermut_creerreponsecm -- Generate the delivery's acknowledgement of the payment's confirmation

설명

string cybermut_creerreponsecm ( string $sentence )

The parameter is "OK" if the message of confirmation of the payment were correctly authenticated by cybermut_testmac(). Any other chain is regarded as an error message.

반환값

Returns a string containing the message of acknowledgement of delivery.

참고

cybermut_creerformulairecm()
cybermut_testmac()

이전 | 위로 | 다음
cybermut_creerformulairecm | 처음으로 | cybermut_testmac


cybermut_testmac

(PHP 4 >= 4.0.5, PECL cybermut:1.0-1.1)

cybermut_testmac -- Make sure that there was no data diddling contained in the received message of confirmation

설명

bool cybermut_testmac ( string $code_mac, string $version, string $tpe, string $cdate, string $price, string $ref_command, string $text_free, string $code_return )

cybermut_testmac() is used to make sure that there was no data diddling contained in the received message of confirmation. Pay attention to parameters code_return and text_free, which cannot be evaluated as is, because of the dash.

참고

cybermut_creerformulairecm()
cybermut_creerreponsecm()

이전 | 위로 | 다음
cybermut_creerreponsecm | 처음으로 | XXII. Cyrus IMAP administration Functions


date_create

(PHP 5 >= 5.1.0)

date_create -- Returns new DateTime object

설명

DateTime date_create ( [string $time [, DateTimeZone $timezone]] )
DateTime DateTime::__construct ( [string $time [, DateTimeZone $timezone]] )

매개변수

time

String in a format accepted by strtotime(), defaults to "now".

timezone

Time zone of the time.

반환값

Returns DateTime object on success or FALSE on failure.

이전 | 위로 | 다음
checkdate | 처음으로 | date_date_set


date_date_set

(PHP 5 >= 5.1.0)

date_date_set -- Sets the date

설명

void date_date_set ( DateTime $object, int $year, int $month, int $day )
void DateTime::setDate ( int $year, int $month, int $day )

매개변수

object

DateTime object.

year

Year of the date.

month

Month of the date.

day

Day of the date.

반환값

Returns NULL on success or FALSE on failure.

참고

date_isodate_set()
date_time_set()

이전 | 위로 | 다음
date_create | 처음으로 | date_default_timezone_get


date_default_timezone_get

(PHP 5 >= 5.1.0)

date_default_timezone_get -- Gets the default timezone used by all date/time functions in a script

설명

string date_default_timezone_get ( void )

This functions returns the default timezone, using the following "guess" order:

  • The timezone set using the date_default_timezone_set() function (if any)

  • The TZ environment variable (if non empty)

  • The date.timezone ini option (if set)

  • "magical" guess (if the operating system supports it)

  • If none of the above options succeeds, return UTC

반환값

Returns a string.

참고

date_default_timezone_set()

이전 | 위로 | 다음
date_date_set | 처음으로 | date_default_timezone_set


date_default_timezone_set

(PHP 5 >= 5.1.0)

date_default_timezone_set -- Sets the default timezone used by all date/time functions in a script

설명

bool date_default_timezone_set ( string $timezone_identifier )

date_default_timezone_set() sets the default timezone used by all date/time functions.

참고: Since PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function will generate a E_NOTICE if the timezone isn't valid, and/or a E_STRICT message if using the system settings or the TZ environment variable.

Instead of using this function to set the default timezone in your script, you can also use the INI setting date.timezone to set the default timezone.

매개변수

timezone_identifier

The timezone identifier, like UTC or Europe/Lisbon. The list of valid identifiers is available in the 부록 J. List of Supported Timezones.

반환값

This function returns FALSE if the timezone_identifier isn't valid, or TRUE otherwise.

변경 기록

버전 | 설명
5.1.2 | The function started to validate the timezone_identifier parameter.

참고

date_default_timezone_get()

이전 | 위로 | 다음
date_default_timezone_get | 처음으로 | date_format


date_format

(PHP 5 >= 5.1.0)

date_format -- Returns date formatted according to given format

설명

string date_format ( DateTime $object, string $format )
string DateTime::format ( string $format )

매개변수

object

DateTime object.

format

Format accepted by date().

반환값

Returns formatted date on success or FALSE on failure.

참고

date()

이전 | 위로 | 다음
date_default_timezone_set | 처음으로 | date_isodate_set


date_isodate_set

(PHP 5 >= 5.1.0)

date_isodate_set -- Sets the ISO date

설명

void date_isodate_set ( DateTime $object, int $year, int $week [, int $day] )
void DateTime::setISODate ( int $year, int $week [, int $day] )

매개변수

object

DateTime object.

year

Year of the date.

week

Week of the date.

day

Day of the date.

반환값

Returns NULL on success or FALSE on failure.

참고

date_date_set()

이전 | 위로 | 다음
date_format | 처음으로 | date_modify


date_modify

(PHP 5 >= 5.1.0)

date_modify -- Alters the timestamp

설명

void date_modify ( DateTime $object, string $modify )
void DateTime::modify ( string $modify )

매개변수

object

DateTime object.

modify

String in a relative format accepted by strtotime().

반환값

Returns NULL on success or FALSE on failure.

예제

예 372. A date_modify() example

<?php
$date = new DateTime("2006-12-12");
$date->modify("+1 day");
echo $date->format("Y-m-d");
?>

위 예제의 출력:

2006-12-13

참고

strtotime()

이전 | 위로 | 다음
date_isodate_set | 처음으로 | date_offset_get


date_offset_get

(PHP 5 >= 5.1.0)

date_offset_get -- Returns the daylight saving time offset

설명

int date_offset_get ( DateTime $object )
int DateTime::getOffset ( void )

매개변수

object

DateTime object.

반환값

Returns DST offset in seconds on success or FALSE on failure.

이전 | 위로 | 다음
date_modify | 처음으로 | date_parse


date_parse

(PHP 5 >= 5.1.3)

date_parse -- Returns associative array with detailed info about given date

설명

array date_parse ( string $date )

매개변수

date

Date in format accepted by strtotime().

반환값

Returns array on success or FALSE on failure.

예제

예 373. A date_parse() example

<?php
print_r(date_parse("2006-12-12 10:00:00.5"));
?>

위 예제의 출력:

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] =>
)

참고

getdate()

이전 | 위로 | 다음
date_offset_get | 처음으로 | date_sun_info


date_sun_info

(PHP 5 >= 5.1.2)

date_sun_info -- Returns an array with information about sunset/sunrise and twilight begin/end

설명

array date_sun_info ( int $time, float $latitude, float $longitude )

매개변수

time

Timestamp.

latitude

Latitude in degrees.

longitude

Longitude in degrees.

반환값

Returns array on success or FALSE on failure.

예제

예 374. A date_sun_info() example

<?php
$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333);
foreach ($sun_info as $key => $val) {
    echo "$key: " . date("H:i:s", $val) . "\n";
}
?>

위 예제의 출력:

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

참고

date_sunrise()
date_sunset()

이전 | 위로 | 다음
date_parse | 처음으로 | date_sunrise


date_time_set

(PHP 5 >= 5.1.0)

date_time_set -- Sets the time

설명

void date_time_set ( DateTime $object, int $hour, int $minute [, int $second] )
void DateTime::setTime ( int $hour, int $minute [, int $second] )

매개변수

object

DateTime object.

hour

Hour of the time.

minute

Minute of the time.

second

Second of the time.

반환값

Returns NULL on success or FALSE on failure.

참고

date_date_set()

이전 | 위로 | 다음
date_sunset | 처음으로 | date_timezone_get


date_timezone_get

(PHP 5 >= 5.1.0)

date_timezone_get -- Return time zone relative to given DateTime

설명

DateTimeZone date_timezone_get ( DateTime $object )
DateTimeZone DateTime::getTimezone ( void )

매개변수

object

DateTime object.

반환값

Returns DateTimeZone object on success or FALSE on failure.

참고

date_timezone_set()

이전 | 위로 | 다음
date_time_set | 처음으로 | date_timezone_set


date_timezone_set

(PHP 5 >= 5.1.0)

date_timezone_set -- Sets the time zone for the DateTime object

설명

void date_timezone_set ( DateTime $object, DateTimeZone $timezone )
void DateTime::setTimezone ( DateTimeZone $timezone )

매개변수

object

DateTime object.

timezone

Desired time zone.

반환값

Returns NULL on success or FALSE on failure.

참고

date_timezone_get()

이전 | 위로 | 다음
date_timezone_get | 처음으로 | date


db2_autocommit

(PECL ibm_db2:1.0-1.6.2)

db2_autocommit -- Returns or sets the AUTOCOMMIT state for a database connection

설명

mixed db2_autocommit ( resource $connection [, bool $value] )

Sets or gets the AUTOCOMMIT behavior of the specified connection resource.

매개변수

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

value

One of the following constants:

DB2_AUTOCOMMIT_OFF

Turns AUTOCOMMIT off.

DB2_AUTOCOMMIT_ON

Turns AUTOCOMMIT on.

반환값

When db2_autocommit() receives only the connection parameter, it returns the current state of AUTOCOMMIT for the requested connection as an integer value. A value of 0 indicates that AUTOCOMMIT is off, while a value of 1 indicates that AUTOCOMMIT is on.

When db2_autocommit() receives both the connection parameter and autocommit parameter, it attempts to set the AUTOCOMMIT state of the requested connection to the corresponding state. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 809. Retrieving the AUTOCOMMIT value for a connection

In the following example, a connection which has been created with AUTOCOMMIT turned off is tested with the db2_autocommit() function.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

위 예제의 출력:

0 -- AUTOCOMMIT is off.

예 810. Setting the AUTOCOMMIT value for a connection

In the following example, a connection which was initially created with AUTOCOMMIT turned off has its behavior changed to turn AUTOCOMMIT on.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);

// Turn AUTOCOMMIT on
$rc = db2_autocommit($conn, DB2_AUTOCOMMIT_ON);
if ($rc) {
    print "Turning AUTOCOMMIT on succeeded.\n";
}

// Check AUTOCOMMIT state
$ac = db2_autocommit($conn);
if ($ac == 0) {
    print "$ac -- AUTOCOMMIT is off.";
} else {
    print "$ac -- AUTOCOMMIT is on.";
}
?>

위 예제의 출력:

Turning AUTOCOMMIT on succeeded.
1 -- AUTOCOMMIT is on.

참고

db2_connect()
db2_pconnect()

이전 | 위로 | 다음
LXI. IBM DB2, Cloudscape and Apache Derby Functions | 처음으로 | db2_bind_param


db2_bind_param

(PECL ibm_db2:1.0-1.6.2)

db2_bind_param -- Binds a PHP variable to an SQL statement parameter

설명

bool db2_bind_param ( resource $stmt, int $parameter-number, string $variable-name [, int $parameter-type [, int $data-type [, int $precision [, int $scale]]]] )

Binds a PHP variable to an SQL statement parameter in a statement resource returned by db2_prepare(). This function gives you more control over the parameter type, data type, precision, and scale for the parameter than simply passing the variable as part of the optional input array to db2_execute().

매개변수

stmt

A prepared statement returned from db2_prepare().

parameter-number

Specifies the 1-indexed position of the parameter in the prepared statement.

variable-name

A string specifying the name of the PHP variable to bind to the parameter specified by parameter-number.

parameter-type

A constant specifying whether the PHP variable should be bound to the SQL parameter as an input parameter (DB2_PARAM_IN), an output parameter (DB2_PARAM_OUT), or as a parameter that accepts input and returns output (DB2_PARAM_INOUT). To avoid memory overhead, you can also specify DB2_PARAM_FILE to bind the PHP variable to the name of a file that contains large object (BLOB, CLOB, or DBCLOB) data.

data-type

A constant specifying the SQL data type that the PHP variable should be bound as: one of DB2_BINARY, DB2_CHAR, DB2_DOUBLE, or DB2_LONG .

precision

Specifies the precision with which the variable should be bound to the database.

scale

Specifies the scale with which the variable should be bound to the database.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 811. Binding PHP variables to a prepared statement

The SQL statement in the following example uses two input parameters in the WHERE clause. We call db2_bind_param() to bind two PHP variables to the corresponding SQL parameters. Notice that the PHP variables do not have to be declared or assigned before the call to db2_bind_param(); in the example, $lower_limit is assigned a value before the call to db2_bind_param(), but $upper_limit is assigned a value after the call to db2_bind_param(). The variables must be bound and, for parameters that accept input, must have any value assigned, before calling db2_execute().

<?php

$sql = 'SELECT name, breed, weight FROM animals
    WHERE weight > ? AND weight < ?';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

// We can declare the variable before calling db2_bind_param()
$lower_limit = 1;

db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN);

// We can also declare the variable after calling db2_bind_param()
$upper_limit = 15.0;

if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
        print "{$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

위 예제의 출력:

Pook, cat, 3.2
Rickety Ride, goat, 9.7
Peaches, dog, 12.3

예 812. Calling stored procedures with IN and OUT parameters

The stored procedure match_animal in the following example accepts three different parameters:

  1. an input (IN) parameter that accepts the name of the first animal as input

  2. an input-output (INOUT) parameter that accepts the name of the second animal as input and returns the string TRUE if an animal in the database matches that name

  3. an output (OUT) parameter that returns the sum of the weight of the two identified animals

In addition, the stored procedure returns a result set consisting of the animals listed in alphabetic order starting at the animal corresponding to the input value of the first parameter and ending at the animal corresponding to the input value of the second parameter.

<?php

$sql = 'CALL match_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

$name = "Peaches";
$second_name = "Rickety Ride";
$weight = 0;

db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_name", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "weight", DB2_PARAM_OUT);

print "Values of bound parameters _before_ CALL:\n";
print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

if (db2_execute($stmt)) {
    print "Values of bound parameters _after_ CALL:\n";
    print "  1: {$name} 2: {$second_name} 3: {$weight}\n\n";

    print "Results:\n";
    while ($row = db2_fetch_array($stmt)) {
        print "  {$row[0]}, {$row[1]}, {$row[2]}\n";
    }
}
?>

위 예제의 출력:

Values of bound parameters _before_ CALL:
  1: Peaches 2: Rickety Ride 3: 0

Values of bound parameters _after_ CALL:
  1: Peaches 2: TRUE 3: 22

Results:
  Peaches, dog, 12.3
  Pook, cat, 3.2
  Rickety Ride, goat, 9.7

예 813. Inserting a binary large object (BLOB) directly from a file

The data for large objects are typically stored in files, such as XML documents or audio files. Rather than reading an entire file into a PHP variable, and then binding that PHP variable into an SQL statement, you can avoid some memory overhead by binding the file directly to the input parameter of your SQL statement. The following example demonstrates how to bind a file directly into a BLOB column.

<?php
$stmt = db2_prepare($conn, "INSERT INTO animal_pictures(picture) VALUES (?)");

$picture = "/opt/albums/spook/grooming.jpg";
$rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
?>

참고

db2_execute()
db2_prepare()

이전 | 위로 | 다음
db2_autocommit | 처음으로 | db2_client_info


db2_client_info

(PECL ibm_db2:1.1.1-1.6.2)

db2_client_info -- Returns an object with properties that describe the DB2 database client

설명

object db2_client_info ( resource $connection )

This function returns an object with read-only properties that return information about the DB2 database client. The following table lists the DB2 client properties:

표 121. DB2 client properties

Property name | Return type | Description
APPL_CODEPAGE | int | The application code page.
CONN_CODEPAGE | int | The code page for the current connection.
DATA_SOURCE_NAME | string | The data source name (DSN) used to create the current connection to the database.
DRIVER_NAME | string | The name of the library that implements the DB2 Call Level Interface (CLI) specification.
DRIVER_ODBC_VER | string | The version of ODBC that the DB2 client supports. This returns a string "MM.mm" where MM is the major version and mm is the minor version. The DB2 client always returns "03.51".
DRIVER_VER | string | The version of the client, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
ODBC_SQL_CONFORMANCE string

The level of ODBC SQL grammar supported by the client:

MINIMUM

Supports the minimum ODBC SQL grammar.

CORE

Supports the core ODBC SQL grammar.

EXTENDED

Supports extended ODBC SQL grammar.

ODBC_VER | string | The version of ODBC that the ODBC driver manager supports. This returns a string "MM.mm.rrrr" where MM is the major version, mm is the minor version, and rrrr is the release. The DB2 client always returns "03.01.0000".

매개변수

connection

Specifies an active DB2 client connection.

반환값

Returns an object on a successful call. Returns FALSE on failure.

예제

예 814. A db2_client_info() example

To retrieve information about the client, you must pass a valid database connection resource to db2_client_info().

<?php
$conn = db2_connect( 'SAMPLE', 'db2inst1', 'ibmdb2' );
$client = db2_client_info( $conn );

if ($client) {
    echo "DRIVER_NAME: ";           var_dump( $client->DRIVER_NAME );
    echo "DRIVER_VER: ";            var_dump( $client->DRIVER_VER );
    echo "DATA_SOURCE_NAME: ";      var_dump( $client->DATA_SOURCE_NAME );
    echo "DRIVER_ODBC_VER: ";       var_dump( $client->DRIVER_ODBC_VER );
    echo "ODBC_VER: ";              var_dump( $client->ODBC_VER );
    echo "ODBC_SQL_CONFORMANCE: ";  var_dump( $client->ODBC_SQL_CONFORMANCE );
    echo "APPL_CODEPAGE: ";         var_dump( $client->APPL_CODEPAGE );
    echo "CONN_CODEPAGE: ";         var_dump( $client->CONN_CODEPAGE );
}
else {
    echo "Error retrieving client information.
     Perhaps your database connection was invalid.";
}
db2_close($conn);

?>

위 예제의 출력:

DRIVER_NAME: string(8) "libdb2.a"
DRIVER_VER: string(10) "08.02.0001"
DATA_SOURCE_NAME: string(6) "SAMPLE"
DRIVER_ODBC_VER: string(5) "03.51"
ODBC_VER: string(10) "03.01.0000"
ODBC_SQL_CONFORMANCE: string(8) "EXTENDED"
APPL_CODEPAGE: int(819)
CONN_CODEPAGE: int(819)

참고

db2_server_info()

이전 | 위로 | 다음
db2_bind_param | 처음으로 | db2_close


db2_close

(PECL ibm_db2:1.0-1.6.2)

db2_close -- Closes a database connection

설명

bool db2_close ( resource $connection )

This function closes a DB2 client connection created with db2_connect() and returns the corresponding resources to the database server.

If you attempt to close a persistent DB2 client connection created with db2_pconnect(), the close request is ignored and the persistent DB2 client connection remains available for the next caller.

매개변수

connection

Specifies an active DB2 client connection.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 815. Closing a connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2, Cloudscape, or Apache Derby database.

<?php
$conn = db2_connect('SAMPLE', 'db2inst1', 'ibmdb2');
$rc = db2_close($conn);
if ($rc) {
    echo "Connection was successfully closed.";
}
?>

위 예제의 출력:

Connection was successfully closed.

참고

db2_connect()
db2_pconnect()

이전 | 위로 | 다음
db2_client_info | 처음으로 | db2_column_privileges


db2_column_privileges

(PECL ibm_db2:1.0-1.6.2)

db2_column_privileges -- Returns a result set listing the columns and associated privileges for a table

설명

resource db2_column_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name]]]] )

Returns a result set listing the columns and associated privileges for a table.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. To match all schemas, pass NULL or an empty string.

table-name

The name of the table or view. To match all tables in the database, pass NULL or an empty string.

column-name

The name of the column. To match all columns in the table, pass NULL or an empty string.

반환값

Returns a statement resource with a result set containing rows describing the column privileges for columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege for the column.
IS_GRANTABLE | Whether the GRANTEE is permitted to grant this privilege to other users.

참고

db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

이전 | 위로 | 다음
db2_close | 처음으로 | db2_columns


db2_columns

(PECL ibm_db2:1.0-1.6.2)

db2_columns -- Returns a result set listing the columns and associated metadata for a table

설명

resource db2_columns ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $column-name]]]] )

Returns a result set listing the columns and associated metadata for a table.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. To match all schemas, pass '%'.

table-name

The name of the table or view. To match all tables in the database, pass NULL or an empty string.

column-name

The name of the column. To match all columns in the table, pass NULL or an empty string.

반환값

Returns a statement resource with a result set containing rows describing the columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
DATA_TYPE | The SQL data type for the column represented as an integer value.
TYPE_NAME | A string representing the data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the column is nullable or not.
REMARKS | Description of the column.
COLUMN_DEF | Default value for the column.
SQL_DATA_TYPE | An integer value representing the size of the column.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or NULL for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type column, which matches COLUMN_SIZE for single-byte character set data, or NULL for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the column in the table.
IS_NULLABLE | A string value where 'YES' means that the column is nullable and 'NO' means that the column is not nullable.

참고

db2_column_privileges()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

이전 | 위로 | 다음
db2_column_privileges | 처음으로 | db2_commit


db2_commit

(PECL ibm_db2:1.0-1.6.2)

db2_commit -- Commits a transaction

설명

bool db2_commit ( resource $connection )

Commits an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_commit() is not necessary unless AUTOCOMMIT has been turned off for the connection resource.

참고: If the specified connection resource is a persistent connection, all transactions in progress for all applications using that persistent connection will be committed. For this reason, persistent connections are not recommended for use in applications that require transactions.

매개변수

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

db2_autocommit()
db2_rollback()

이전 | 위로 | 다음
db2_columns | 처음으로 | db2_conn_error


db2_conn_error

(PECL ibm_db2:1.0-1.6.2)

db2_conn_error -- Returns a string containing the SQLSTATE returned by the last connection attempt

설명

string db2_conn_error ( [resource $connection] )

db2_conn_error() returns an SQLSTATE value representing the reason the last attempt to connect to a database failed. As db2_connect() returns FALSE in the event of a failed connection attempt, you do not pass any parameters to db2_conn_error() to retrieve the SQLSTATE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the SQLSTATE value for a specific connection.

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_conn_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

매개변수

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

반환값

Returns the SQLSTATE value resulting from a failed connection attempt. Returns an empty string if there is no error associated with the last connection attempt.

예제

예 816. Retrieving an SQLSTATE value for a failed connection attempt

The following example demonstrates how to return an SQLSTATE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print "SQLSTATE value: " . db2_conn_error();
}
?>

위 예제의 출력:

SQLSTATE value: 08001

참고

db2_conn_errormsg()
db2_connect()
db2_stmt_error()
db2_stmt_errormsg()

이전 | 위로 | 다음
db2_commit | 처음으로 | db2_conn_errormsg


db2_conn_errormsg

(PECL ibm_db2:1.0-1.6.2)

db2_conn_errormsg -- Returns the last connection error message and SQLCODE value

설명

string db2_conn_errormsg ( [resource $connection] )

db2_conn_errormsg() returns an error message and SQLCODE value representing the reason the last database connection attempt failed. As db2_connect() returns FALSE in the event of a failed connection attempt, do not pass any parameters to db2_conn_errormsg() to retrieve the associated error message and SQLCODE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the associated error message and SQLCODE value for a specific connection.

매개변수

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

반환값

Returns a string containing the error message and SQLCODE value resulting from a failed connection attempt. If there is no error associated with the last connection attempt, db2_conn_errormsg() returns an empty string.

예제

예 817. Retrieving the error message returned by a failed connection attempt

The following example demonstrates how to return an error message and SQLCODE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
    print db2_conn_errormsg();
}
?>

위 예제의 출력:

[IBM][CLI Driver] SQL1013N  The database alias name
or database name "BADNAME" could not be found.  SQLSTATE=42705
 SQLCODE=-1013

참고

db2_conn_error()
db2_connect()
db2_stmt_error()
db2_stmt_errormsg()

이전 | 위로 | 다음
db2_conn_error | 처음으로 | db2_connect


db2_connect

(PECL ibm_db2:1.0-1.6.2)

db2_connect -- Returns a connection to a database

설명

resource db2_connect ( string $database, string $username, string $password [, array $options] )

Creates a new connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

매개변수

database

For a cataloged connection to a database, database represents the database alias in the DB2 client catalog.

For an uncataloged connection to a database, database represents a complete connection string in the following format:

DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;

where the parameters represent the following values:

database

The name of the database.

hostname

The hostname or IP address of the database server.

port

The TCP/IP port on which the database is listening for requests.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

username

The username with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

password

The password with which you are connecting to the database.

For uncataloged connections, you must pass a NULL value or empty string.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new i5/OS options are available as of ibm_db2 version 1.5.1. Note: prior versions of ibm_db2 do not support these new i5 options.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_connect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_connect() for the connection handle.

Note: php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Note: php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

SQL_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

반환값

Returns a connection handle resource if the connection attempt is successful. If the connection attempt fails, db2_connect() returns FALSE.

예제

예 818. Creating a cataloged connection

Cataloged connections require you to have previously cataloged the target database through the DB2 Command Line Processor (CLP) or DB2 Configuration Assistant.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$conn = db2_connect($database, $user, $password);

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

위 예제의 출력:

Connection succeeded.

예 819. Creating an uncataloged connection

An uncataloged connection enables you to dynamically connect to a database.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$hostname = 'localhost';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
  "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

if ($conn) {
    echo "Connection succeeded.";
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

위 예제의 출력:

Connection succeeded.

예 820. Creating a connection with autocommit off by default

Passing an array of options to db2_connect() enables you to modify the default behavior of the connection handle.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);

$conn = db2_connect($database, $user, $password, $options);

if ($conn) {
    echo "Connection succeeded.\n";
    if (db2_autocommit($conn)) {
         echo "Autocommit is on.\n";
    }
    else {
         echo "Autocommit is off.\n";
    }
    db2_close($conn);
}
else {
    echo "Connection failed.";
}
?>

위 예제의 출력:

Connection succeeded.
Autocommit is off.

예 821. i5/OS best performance

To achieve best performance for your i5/OS ibm_db2 1.5.1 PHP application use the default host, userid, and password for your db2_connect().

<?php
  $library = "ADC";
  $i5 = db2_connect("", "", "", array("i5_lib"=>"qsys2"));
  $result = db2_exec($i5,
       "select * from systables where table_schema = '$library'");
  while ($row = db2_fetch_both($result)) {
     echo $row['TABLE_NAME']."</br>";
  }
  db2_close($i5);
?>

위 예제의 출력:

ANIMALS
NAMES
PICTURES

참고

db2_close()
db2_pconnect()

이전 | 위로 | 다음
db2_conn_errormsg | 처음으로 | db2_cursor_type


db2_cursor_type

(PECL ibm_db2:1.0-1.6.2)

db2_cursor_type -- Returns the cursor type used by a statement resource

설명

int db2_cursor_type ( resource $stmt )

Returns the cursor type used by a statement resource. Use this to determine if you are working with a forward-only cursor or scrollable cursor.

매개변수

stmt

A valid statement resource.

반환값

Returns either DB2_FORWARD_ONLY if the statement resource uses a forward-only cursor or DB2_SCROLLABLE if the statement resource uses a scrollable cursor.

참고

db2_prepare()

이전 | 위로 | 다음
db2_connect | 처음으로 | db2_escape_string


db2_escape_string

(PECL ibm_db2:1.6.0-1.6.2)

db2_escape_string -- Used to escape certain characters.

설명

string db2_escape_string ( string $string_literal )

Prepends backslashes to special characters in the string argument.

매개변수

string_literal

The string that contains special characters that need to be modified. Characters that are prepended with a backslash are \x00, \n, \r, \, ', " and \x1a.

반환값

Returns string_literal with the special characters noted above prepended with backslashes.

예제

예 822. A db2_escape_string() example

Result of using the db2_escape_string() function

<?php

$conn = db2_connect($database, $user, $password);

if ($conn) {
    $str[0] = "All characters: \x00 , \n , \r , \ , ' , \" , \x1a .";
    $str[1] = "Backslash (\). Single quote ('). Double quote (\")";
    $str[2] = "The NULL character \0 must be quoted as well";
    $str[3] = "Intersting characters: \x1a , \x00 .";
    $str[4] = "Nothing to quote";
    $str[5] = 200676;
    $str[6] = "";

    foreach( $str as $string ) {
        echo "db2_escape_string: " . db2_escape_string($string). "\n";
    }
}
?>

위 예제의 출력:

db2_escape_string: All characters: \0 , \n , \r , \\ , \' , \" , \Z .
db2_escape_string: Backslash (\\). Single quote (\'). Double quote (\")
db2_escape_string: The NULL character \0 must be quoted as well
db2_escape_string: Intersting characters: \Z , \0 .
db2_escape_string: Nothing to quote
db2_escape_string: 200676
db2_escape_string:

참고

db2_prepare()

이전 | 위로 | 다음
db2_cursor_type | 처음으로 | db2_exec


db2_exec

(PECL ibm_db2:1.0-1.6.2)

db2_exec -- Executes an SQL statement directly

설명

resource db2_exec ( resource $connection, string $statement [, array $options] )

Executes an SQL statement directly.

If you plan to interpolate PHP variables into the SQL statement, understand that this is one of the more common security exposures. Consider calling db2_prepare() to prepare an SQL statement with parameter markers for input values. Then you can call db2_execute() to pass in the input values and avoid SQL injection attacks.

If you plan to repeatedly issue the same SQL statement with different parameters, consider calling db2_prepare() and db2_execute() to enable the database server to reuse its access plan and increase the efficiency of your database access.

매개변수

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement. The statement cannot contain any parameter markers.

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

cursor

Passing the DB2_FORWARD_ONLY value requests a forward-only cursor for this SQL statement. This is the default type of cursor, and it is supported by all database servers. It is also much faster than a scrollable cursor.

Passing the DB2_SCROLLABLE value requests a scrollable cursor for this SQL statement. This type of cursor enables you to fetch rows non-sequentially from the database server. However, it is only supported by DB2 servers, and is much slower than forward-only cursors.

반환값

Returns a statement resource if the SQL statement was issued successfully, or FALSE if the database failed to execute the SQL statement.

예제

예 823. Creating a table with db2_exec()

The following example uses db2_exec() to issue a set of DDL statements in the process of creating a table.

<?php
$conn = db2_connect($database, $user, $password);

// Create the test table
$create = 'CREATE TABLE animals (id INTEGER, breed VARCHAR(32),
    name CHAR(16), weight DECIMAL(7,2))';
$result = db2_exec($conn, $create);
if ($result) {
    print "Successfully created the table.\n";
}

// Populate the test table
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
    array(3, 'gold fish', 'Bubbles', 0.1),
    array(4, 'budgerigar', 'Gizmo', 0.2),
    array(5, 'goat', 'Rickety Ride', 9.7),
    array(6, 'llama', 'Sweater', 150)
);

foreach ($animals as $animal) {
    $rc = db2_exec($conn, "INSERT INTO animals (id, breed, name, weight)
      VALUES ({$animal[0]}, '{$animal[1]}', '{$animal[2]}', {$animal[3]})");
    if ($rc) {
        print "Insert... ";
    }
}
?>

위 예제의 출력:

Successfully created the table.
Insert... Insert... Insert... Insert... Insert... Insert... Insert...

예 824. Executing a SELECT statement with a scrollable cursor

The following example demonstrates how to request a scrollable cursor for an SQL statement issued by db2_exec().

<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT name FROM animals
    WHERE weight < 10.0
    ORDER BY name";
if ($conn) {
    require_once('prepare.inc');
    $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
    while ($row = db2_fetch_array($stmt)) {
        print "$row[0]\n";
    }
}
?>

위 예제의 출력:

Bubbles
Gizmo
Pook
Rickety Ride

예 825. Returning XML data as a SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in a SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = \'Kathy Smith\'
    ';
$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
}
db2_close($conn);

?>

위 예제의 출력:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

예 826. Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns a SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
    SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
    FROM
    XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" BIGINT PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) as A,
    PURCHASEORDER AS B,
    XMLTABLE (
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
    COLUMNS
    "PONUM"  BIGINT PATH \'@PoNum\',
    "STATUS" VARCHAR (50) PATH \'@Status\'
    ) as C
    WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = \'Kathy Smith\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
}

db2_close($conn);

?>

위 예제의 출력:

1001     Kathy Smith     905-555-7258     5002     Shipped

예 827. Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
        } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = \'100-100-01\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
}
db2_close($conn);

?>

위 예제의 출력:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

참고

db2_execute()
db2_prepare()

이전 | 위로 | 다음
db2_escape_string | 처음으로 | db2_execute


db2_execute

(PECL ibm_db2:1.0-1.6.2)

db2_execute -- Executes a prepared SQL statement

설명

bool db2_execute ( resource $stmt [, array $parameters] )

db2_execute() executes an SQL statement that was prepared by db2_prepare().

If the SQL statement returns a result set, for example, a SELECT statement or a CALL to a stored procedure that returns one or more result sets, you can retrieve a row as an array from the stmt resource using db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array(). Alternatively, you can use db2_fetch_row() to move the result set pointer to the next row and fetch a column at a time from that row with db2_result().

Refer to db2_prepare() for a brief discussion of the advantages of using db2_prepare() and db2_execute() rather than db2_exec().

매개변수

stmt

A prepared statement returned from db2_prepare().

parameters

An array of input parameters matching any parameter markers contained in the prepared statement.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 828. Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$pet = array(0, 'cat', 'Pook', 3.2);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';

$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    $result = db2_execute($stmt, $pet);
    if ($result) {
        print "Successfully added new pet.";
    }
}
?>

위 예제의 출력:

Successfully added new pet.

예 829. Calling a stored procedure with an OUT parameter

The following example prepares a CALL statement that accepts one parameter marker representing an OUT parameter, binds the PHP variable $my_pets to the parameter using db2_bind_param(), then issues db2_execute() to execute the CALL statement. After the CALL to the stored procedure has been made, the value of $num_pets changes to reflect the value returned by the stored procedure for that OUT parameter.

<?php
$num_pets = 0;
$res = db2_prepare($conn, "CALL count_my_pets(?)");
$rc = db2_bind_param($res, 1, "num_pets", DB2_PARAM_OUT);
$rc = db2_execute($res);
print "I have $num_pets pets!";
?>

위 예제의 출력:

I have 7 pets!

예 830. Returning XML data as a SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in a SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
    XMLNAMESPACES (DEFAULT \'http://posample.org\'),
    \'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
    COLUMNS
    "CID" VARCHAR (50) PATH \'@Cid\',
    "NAME" VARCHAR (50) PATH \'name\',
    "PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
    ) AS T
    WHERE NAME = ?
    ';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE\n");
    }
}
db2_close($conn);

?>

위 예제의 출력:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

예 831. Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns a SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
FROM
XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" BIGINT PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) as A,
PURCHASEORDER AS B,
XMLTABLE (
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
COLUMNS
"PONUM"  BIGINT PATH \'@PoNum\',
"STATUS" VARCHAR (50) PATH \'@Status\'
) as C
WHERE A.CID = B.CUSTID AND
    B.POID = C.PONUM AND
    A.NAME = ?
';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
    db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_object($stmt)){
    printf("$row->CID     $row->NAME     $row->PHONE     $row->PONUM     $row->STATUS\n");
    }
}

db2_close($conn);

?>

위 예제의 출력:

1001     Kathy Smith     905-555-7258     5002     Shipped

예 832. Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
    declare boundary-space strip;
    declare default element namespace "http://posample.org";
    <promoList> {
    for $prod in $doc/product
    where $prod/description/price < 10.00
    order by $prod/description/price ascending
    return(
        <promoitem> {
        $prod,
        <startdate> {$start} </startdate>,
        <enddate> {$end} </enddate>,
        <promoprice> {$promo} </promoprice>
            } </promoitem>
    )
    } </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = ?
';

$stmt = db2_prepare($conn, $query);

$pid = "100-100-01";

if ($stmt) {
    db2_bind_param($stmt, 1, "pid", DB2_PARAM_IN);
    db2_execute($stmt);

    while($row = db2_fetch_array($stmt)){
    printf("$row[0]\n");
    }
}

db2_close($conn);

?>

위 예제의 출력:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

참고

db2_exec()
db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_row()
db2_prepare()
db2_result()

이전 | 위로 | 다음
db2_exec | 처음으로 | db2_fetch_array


db2_fetch_array

(PECL ibm_db2:1.0.1-1.6.2)

db2_fetch_array -- Returns an array, indexed by column position, representing a row in a result set

설명

array db2_fetch_array ( resource $stmt [, int $row_number] )

Returns an array, indexed by column position, representing a row in a result set. The columns are 0-indexed.

매개변수

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

반환값

Returns a 0-indexed array with column values indexed by the column position representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

예제

예 833. Iterating through a forward-only cursor

If you call db2_fetch_array() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_array($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
}
?>

위 예제의 출력:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

예 834. Retrieving specific rows with db2_fetch_array() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_array() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_array($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row[1], $row[2], $row[3]);
    $i = $i + 2;
}
?>

위 예제의 출력:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

참고

db2_fetch_assoc()
db2_fetch_both()
db2_fetch_object()
db2_fetch_row()
db2_result()

이전 | 위로 | 다음
db2_execute | 처음으로 | db2_fetch_assoc


db2_fetch_assoc

(PECL ibm_db2:1.0-1.6.2)

db2_fetch_assoc -- Returns an array, indexed by column name, representing a row in a result set

설명

array db2_fetch_assoc ( resource $stmt [, int $row_number] )

Returns an array, indexed by column name, representing a row in a result set.

매개변수

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

반환값

Returns an associative array with column values indexed by the column name representing the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

예제

예 835. Iterating through a forward-only cursor

If you call db2_fetch_assoc() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_assoc($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
}
?>

위 예제의 출력:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

예 836. Retrieving specific rows with db2_fetch_assoc() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_assoc() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
    $i = $i + 2;
}
?>

위 예제의 출력:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

참고

db2_fetch_array()
db2_fetch_both()
db2_fetch_object()
db2_fetch_row()
db2_result()

이전 | 위로 | 다음
db2_fetch_array | 처음으로 | db2_fetch_both


db2_fetch_both

(PECL ibm_db2:1.0-1.6.2)

db2_fetch_both -- Returns an array, indexed by both column name and position, representing a row in a result set

설명

array db2_fetch_both ( resource $stmt [, int $row_number] )

Returns an array, indexed by both column name and position, representing a
row in a result set. Note that the row returned by
db2_fetch_both() requires more memory than the
single-indexed arrays returned by db2_fetch_assoc() or
db2_fetch_array().

매개변수

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

반환값

Returns an associative array with column values indexed by both the column name and 0-indexed column number. The array represents the next or requested row in the result set. Returns FALSE if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

예제

예 837. Iterating through a forward-only cursor

If you call db2_fetch_both() without a specific row number, it automatically retrieves the next row in the result set. The following example accesses columns in the returned array by both column name and by numeric index.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_both($stmt)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row['ID'], $row[0], $row['BREED'], $row[3]);
}
?>

위 예제의 출력:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

예 838. Retrieving specific rows with db2_fetch_both() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_both() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_both($result, $i)) {
    printf ("%-5d %-16s %-32s %10s\n",
        $row[0], $row['NAME'], $row[2], $row['WEIGHT']);
    $i = $i + 2;
}
?>

위 예제의 출력:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

참고

db2_fetch_array()
db2_fetch_assoc()
db2_fetch_object()
db2_fetch_row()
db2_result()

이전 | 위로 | 다음
db2_fetch_assoc | 처음으로 | db2_fetch_object


db2_fetch_object

(PECL ibm_db2:1.0-1.6.2)

db2_fetch_object -- Returns an object with properties representing columns in the fetched row

설명

object db2_fetch_object ( resource $stmt [, int $row_number] )

Returns an object in which each property represents a column returned in the row fetched from a result set.

매개변수

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

반환값

Returns an object representing a single row in the result set. The properties of the object map to the names of the columns in the result set.

The IBM DB2, Cloudscape, and Apache Derby database servers typically fold column names to upper-case, so the object properties will reflect that case.

If your SELECT statement calls a scalar function to modify the value of a column, the database servers return the column number as the name of the column in the result set. If you prefer a more descriptive column name and object property, you can use the AS clause to assign a name to the column in the result set.

Returns FALSE if no row was retrieved.

예제

예 839. A db2_fetch_object() example

The following example issues a SELECT statement with a scalar function, RTRIM, that removes whitespace from the end of the column. Rather than creating an object with the properties "BREED" and "2", we use the AS clause in the SELECT statement to assign the name "name" to the modified column. The database server folds the column names to upper-case, resulting in an object with the properties "BREED" and "NAME".

<?php
$conn = db2_connect($database, $user, $password);

$sql = "SELECT breed, RTRIM(name) AS name
    FROM animals
    WHERE id = ?";

if ($conn) {
    $stmt = db2_prepare($conn, $sql);
    db2_execute($stmt, array(0));

    while ($pet = db2_fetch_object($stmt)) {
        echo "Come here, {$pet->NAME}, my little {$pet->BREED}!";
    }
    db2_close($conn);
}
?>

위 예제의 출력:

Come here, Pook, my little cat!

참고

db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_row()
db2_result()

이전 | 위로 | 다음
db2_fetch_both | 처음으로 | db2_fetch_row


db2_fetch_row

(PECL ibm_db2:1.0-1.6.2)

db2_fetch_row -- Sets the result set pointer to the next row or requested row

설명

bool db2_fetch_row ( resource $stmt [, int $row_number] )

Use db2_fetch_row() to iterate through a result set, or to point to a specific row in a result set if you requested a scrollable cursor.

To retrieve individual fields from the result set, call the db2_result() function.

Rather than calling db2_fetch_row() and db2_result(), most applications will call one of db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array() to advance the result set pointer and return a complete row as an array.

매개변수

stmt

A valid stmt resource.

row_number

With scrollable cursors, you can request a specific row number in the result set. Row numbering is 1-indexed.

반환값

Returns TRUE if the requested row exists in the result set. Returns FALSE if the requested row does not exist in the result set.

예제

예 840. Iterating through a result set

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 1);
    print "$name $breed";
}
?>

위 예제의 출력:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

예 841. i5/OS recommended alternatives to db2_fetch_row/db2_result

On i5/OS it is recommended that you use db2_fetch_both(), db2_fetch_array(), or db2_fetch_object() over db2_fetch_row()/db2_result(). In general db2_fetch_row()/db2_result() have more issues with various column types in EBCIDIC to ASCII translation, including possible truncation in DBCS applications. You may also find the performance of db2_fetch_both(), db2_fetch_array(), and db2_fetch_object() to be superior to db2_fetch_row()/db2_result().

<?php
  $conn = db2_connect("","","");
  $sql = 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_both($stmt)){
    echo "<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_array($stmt)){
    echo "<br>db2_fetch_array {$row[1]}  {$row[5]}";
  }
  $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
  while ($row = db2_fetch_object($stmt)){
    echo "<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
  }
  db2_close($conn);
?>

위 예제의 출력:

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

참고

db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_object()
db2_result()

이전 | 위로 | 다음
db2_fetch_object | 처음으로 | db2_field_display_size


db2_field_display_size

(PECL ibm_db2:1.0-1.6.2)

db2_field_display_size -- Returns the maximum number of bytes required to display a column

설명

int db2_field_display_size ( resource $stmt, mixed $column )

Returns the maximum number of bytes required to display a column in a result set.

매개변수

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

반환값

Returns an integer value with the maximum number of bytes required to display the specified column. If the column does not exist in the result set, db2_field_display_size() returns FALSE.

참고

db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()

이전 | 위로 | 다음
db2_fetch_row | 처음으로 | db2_field_name


db2_field_name

(PECL ibm_db2:1.0-1.6.2)

db2_field_name -- Returns the name of the column in the result set

설명

string db2_field_name ( resource $stmt, mixed $column )

Returns the name of the specified column in the result set.

매개변수

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

반환값

Returns a string containing the name of the specified column. If the specified column does not exist in the result set, db2_field_name() returns FALSE.

참고

db2_field_display_size()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()

이전 | 위로 | 다음
db2_field_display_size | 처음으로 | db2_field_num


db2_field_num

(PECL ibm_db2:1.0-1.6.2)

db2_field_num -- Returns the position of the named column in a result set

설명

int db2_field_num ( resource $stmt, mixed $column )

Returns the position of the named column in a result set.

매개변수

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

반환값

Returns an integer containing the 0-indexed position of the named column in the result set. If the specified column does not exist in the result set, db2_field_num() returns FALSE.

참고

db2_field_display_size()
db2_field_name()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()

이전 | 위로 | 다음
db2_field_name | 처음으로 | db2_field_precision


db2_field_precision

(PECL ibm_db2:1.0-1.6.2)

db2_field_precision -- Returns the precision of the indicated column in a result set

설명

int db2_field_precision ( resource $stmt, mixed $column )

Returns the precision of the indicated column in a result set.

매개변수

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

반환값

Returns an integer containing the precision of the specified column. If the specified column does not exist in the result set, db2_field_precision() returns FALSE.

참고

db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_scale()
db2_field_type()
db2_field_width()

이전 | 위로 | 다음
db2_field_num | 처음으로 | db2_field_scale


db2_field_scale

(PECL ibm_db2:1.0-1.6.2)

db2_field_scale -- Returns the scale of the indicated column in a result set

설명

int db2_field_scale ( resource $stmt, mixed $column )

Returns the scale of the indicated column in a result set.

매개변수

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

반환값

Returns an integer containing the scale of the specified column. If the specified column does not exist in the result set, db2_field_scale() returns FALSE.

참고

db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_type()
db2_field_width()

이전 | 위로 | 다음
db2_field_precision | 처음으로 | db2_field_type


db2_field_type

(PECL ibm_db2:1.0-1.6.2)

db2_field_type -- Returns the data type of the indicated column in a result set

설명

string db2_field_type ( resource $stmt, mixed $column )

Returns the data type of the indicated column in a result set.

매개변수

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

반환값

Returns a string containing the defined data type of the specified column. If the specified column does not exist in the result set, db2_field_type() returns FALSE.

참고

db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_width()

이전 | 위로 | 다음
db2_field_scale | 처음으로 | db2_field_width


db2_field_width

(PECL ibm_db2:1.0-1.6.2)

db2_field_width -- Returns the width of the current value of the indicated column in a result set

설명

int db2_field_width ( resource $stmt, mixed $column )

Returns the width of the current value of the indicated column in a result set. This is the maximum width of the column for a fixed-length data type, or the actual width of the column for a variable-length data type.

매개변수

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

반환값

Returns an integer containing the width of the specified character or binary data type column in a result set. If the specified column does not exist in the result set, db2_field_width() returns FALSE.

참고

db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()

이전 | 위로 | 다음
db2_field_type | 처음으로 | db2_foreign_keys


db2_foreign_keys

(PECL ibm_db2:1.0-1.6.2)

db2_foreign_keys -- Returns a result set listing the foreign keys for a table

설명

resource db2_foreign_keys ( resource $connection, string $qualifier, string $schema, string $table-name )

Returns a result set listing the foreign keys for a table.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_foreign_keys() matches the schema for the current connection.

table-name

The name of the table.

반환값

Returns a statement resource with a result set containing rows describing the foreign keys for the specified table. The result set is composed of the following columns:

Column name | Description
PKTABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
PKTABLE_SCHEM | Name of the schema for the table containing the primary key.
PKTABLE_NAME | Name of the table containing the primary key.
PKCOLUMN_NAME | Name of the column containing the primary key.
FKTABLE_CAT | Name of the catalog for the table containing the foreign key. The value is NULL if this table does not have catalogs.
FKTABLE_SCHEM | Name of the schema for the table containing the foreign key.
FKTABLE_NAME | Name of the table containing the foreign key.
FKCOLUMN_NAME | Name of the column containing the foreign key.
KEY_SEQ | 1-indexed position of the column in the key.
UPDATE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is UPDATE.
DELETE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is DELETE.
FK_NAME | The name of the foreign key.
PK_NAME | The name of the primary key.
DEFERRABILITY | An integer value representing whether the foreign key deferrability is SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE, or SQL_NOT_DEFERRABLE.

참고

db2_column_privileges()
db2_columns()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

이전 | 위로 | 다음
db2_field_width | 처음으로 | db2_free_result


db2_free_result

(PECL ibm_db2:1.0-1.6.2)

db2_free_result -- Frees resources associated with a result set

설명

bool db2_free_result ( resource $stmt )

Frees the system and database resources that are associated with a result set. These resources are freed implicitly when a script finishes, but you can call db2_free_result() to explicitly free the result set resources before the end of the script.

매개변수

stmt

A valid statement resource.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

db2_free_stmt()

이전 | 위로 | 다음
db2_foreign_keys | 처음으로 | db2_free_stmt


db2_free_stmt

(PECL ibm_db2:1.0-1.6.2)

db2_free_stmt -- Frees resources associated with the indicated statement resource

설명

bool db2_free_stmt ( resource $stmt )

Frees the system and database resources that are associated with a statement resource. These resources are freed implicitly when a script finishes, but you can call db2_free_stmt() to explicitly free the statement resources before the end of the script.

매개변수

stmt

A valid statement resource.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

db2_free_result()

이전 | 위로 | 다음
db2_free_result | 처음으로 | db2_get_option


db2_get_option

(PECL ibm_db2:1.6.0-1.6.2)

db2_get_option -- Retrieves an option value for a statement resource or a connection resource

설명

string db2_get_option ( resource $resource, string $option )

Retrieves the value of a specified option value for a statement resource or a connection resource.

매개변수

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

option

A valid statement or connection options. The following new options are available as of ibm_db2 version 1.6.0. They provide useful tracking information that can be set during execution with db2_get_option().

Note: Prior versions of ibm_db2 do not support these new options.

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Note: DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Note: DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Note: DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Note: DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

The following table specifies which options are compatible with the available resource types:

표 122. Resource-Parameter Matrix

Key | Value | Resource Type
 |  | Connection | Statement | Result Set
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

반환값

Returns the current setting of the connection attribute provided on success or FALSE on failure.

예제

예 842. Setting and retrieving parameters through a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$user     = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($database, $user, $password);

echo "Client attributes passed through conection string:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes through connection string */
/* Access the options specified */
$options1 = array('userid' => 'db2inst1');
$conn1 = db2_connect($database, $user, $password, $options1);
$val = db2_get_option($conn1, 'userid');
echo $val . "\n";

$options2 = array('acctstr' => 'account');
$conn2 = db2_connect($database, $user, $password, $options2);
$val = db2_get_option($conn2, 'acctstr');
echo $val . "\n";

$options3 = array('applname' => 'myapp');
$conn3 = db2_connect($database, $user, $password, $options3);
$val = db2_get_option($conn3, 'applname');
echo $val . "\n";

$options4 = array('wrkstnname' => 'workstation');
$conn4 = db2_connect($database, $user, $password, $options4);
$val = db2_get_option($conn4, 'wrkstnname');
echo $val . "\n";

echo "Client attributes passed post-conection:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes after a connection is made */
/* Access the options specified */
$options5 = array('userid' => 'db2inst1');
$conn5 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn5, $options5, 1);
$val = db2_get_option($conn5, 'userid');
echo $val . "\n";

$options6 = array('acctstr' => 'account');
$conn6 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn6, $options6, 1);
$val = db2_get_option($conn6, 'acctstr');
echo $val . "\n";

$options7 = array('applname' => 'myapp');
$conn7 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn7, $options7, 1);
$val = db2_get_option($conn7, 'applname');
echo $val . "\n";

$options8 = array('wrkstnname' => 'workstation');
$conn8 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn8, $options8, 1);
$val = db2_get_option($conn8, 'wrkstnname');
echo $val . "\n";
?>

위 예제의 출력:

Client attributes passed through conection string:
db2inst1
account
myapp
workstation
Client attributes passed post-connection:
db2inst1
account
myapp
workstation

참고

db2_connect()
db2_cursor_type()
db2_exec()
db2_set_option()
db2_pconnect()
db2_prepare()

이전 | 위로 | 다음
db2_free_stmt | 처음으로 | db2_lob_read


db2_lob_read

(PECL ibm_db2:1.6.0-1.6.2)

db2_lob_read -- Gets a user defined size of LOB files with each invocation

설명

string db2_lob_read ( resource $stmt, int $colnum, int $length )

Use db2_lob_read() to iterate through a specified column of a result set and retrieve a user defined size of LOB data.

매개변수

stmt

A valid stmt resource containing LOB data.

colnum

A valid column number in the result set of the stmt resource.

length

The size of the LOB data to be retrieved from the stmt resource.

반환값

Returns the amount of data the user specifies. Returns FALSE if the data cannot be retrieved.

예제

예 843. Iterating through different types of data

<?php

/* Database Connection Parameters */
$db = 'SAMPLE';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($db,$username,$password);

if ($conn) {
    $drop = 'DROP TABLE clob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE clob_stream (id INTEGER, my_clob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO clob_stream (id,my_clob) VALUES (1, ?)");
    $variable = "THIS IS A CLOB TEST. THIS IS A CLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_clob FROM clob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }

    $drop = 'DROP TABLE blob_stream';
    $result = @db2_exec( $conn, $drop );

    $create = 'CREATE TABLE blob_stream (id INTEGER, my_blob CLOB)';
    $result = db2_exec( $conn, $create );

    $variable = "";
    $stmt = db2_prepare($conn, "INSERT INTO blob_stream (id,my_blob) VALUES (1, ?)");
    $variable = "THIS IS A BLOB TEST. THIS IS A BLOB TEST.";
    db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
    db2_execute($stmt);

    $sql = "SELECT id,my_blob FROM blob_stream";
    $result = db2_prepare($conn, $sql);
    db2_execute($result);
    db2_fetch_row($result);
    $i = 0;
    /* Read LOB data */
    while ($data = db2_lob_read($result, 2, 6)) {
        echo "Loop $i: $data\n";
        $i = $i + 1;
    }
} else {
    echo 'no connection: ' . db2_conn_errormsg();
}

?>

위 예제의 출력:

Loop 0: THIS I
Loop 1: S A CL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  CLOB
Loop 6: TEST.
Loop 0: THIS I
Loop 1: S A BL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  BLOB
Loop 6: TEST.

참고

db2_bind_param()
db2_exec()
db2_execute()
db2_fetch_row()
db2_prepare()
db2_result()

이전 | 위로 | 다음
db2_get_option | 처음으로 | db2_next_result


db2_next_result

(PECL ibm_db2:1.0-1.6.2)

db2_next_result -- Requests the next result set from a stored procedure

설명

resource db2_next_result ( resource $stmt )

A stored procedure can return zero or more result sets. While you handle the first result set in exactly the same way you would handle the results returned by a simple SELECT statement, to fetch the second and subsequent result sets from a stored procedure you must call the db2_next_result() function and return the result to a uniquely named PHP variable.

매개변수

stmt

A prepared statement returned from db2_exec() or db2_execute().

반환값

Returns a new statement resource containing the next result set if the stored procedure returned another result set. Returns FALSE if the stored procedure did not return another result set.

예제

예 844. Calling a stored procedure that returns multiple result sets

In the following example, we call a stored procedure that returns three result sets. The first result set is fetched directly from the same statement resource on which we invoked the CALL statement, while the second and third result sets are fetched from statement resources returned from our calls to the db2_next_result() function.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
  $stmt = db2_exec($conn, 'CALL multiResults()');

  print "Fetching first result set\n";
  while ($row = db2_fetch_array($stmt)) {
    var_dump($row);
  }

  print "\nFetching second result set\n";
  $res = db2_next_result($stmt);
  if ($res) {
    while ($row = db2_fetch_array($res)) {
      var_dump($row);
    }
  }

  print "\nFetching third result set\n";
  $res2 = db2_next_result($stmt);
  if ($res2) {
    while ($row = db2_fetch_array($res2)) {
      var_dump($row);
    }
  }

  db2_close($conn);
}
?>

위 예제의 출력:

Fetching first result set
array(2) {
  [0]=>
  string(16) "Bubbles         "
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  string(16) "Gizmo           "
  [1]=>
  int(4)
}

Fetching second result set
array(4) {
  [0]=>
  string(16) "Sweater         "
  [1]=>
  int(6)
  [2]=>
  string(5) "llama"
  [3]=>
  string(6) "150.00"
}
array(4) {
  [0]=>
  string(16) "Smarty          "
  [1]=>
  int(2)
  [2]=>
  string(5) "horse"
  [3]=>
  string(6) "350.00"
}

Fetching third result set
array(1) {
  [0]=>
  string(16) "Bubbles         "
}
array(1) {
  [0]=>
  string(16) "Gizmo           "
}

이전 | 위로 | 다음
db2_lob_read | 처음으로 | db2_num_fields


db2_num_fields

(PECL ibm_db2:1.0-1.6.2)

db2_num_fields -- Returns the number of fields contained in a result set

설명

int db2_num_fields ( resource $stmt )

Returns the number of fields contained in a result set. This is most useful for handling the result sets returned by dynamically generated queries, or for result sets returned by stored procedures, where your application cannot otherwise know how to retrieve and use the results.

매개변수

stmt

A valid statement resource containing a result set.

반환값

Returns an integer value representing the number of fields in the result set associated with the specified statement resource. Returns FALSE if the statement resource is not a valid input value.

예제

예 845. Retrieving the number of fields in a result set

The following example demonstrates how to retrieve the number of fields returned in a result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, $sql);
$columns = db2_num_fields($stmt);

echo "There are {$columns} columns in the result set.";
?>

위 예제의 출력:

There are 4 columns in the result set.

참고

db2_execute()
db2_field_display_size()
db2_field_name()
db2_field_num()
db2_field_precision()
db2_field_scale()
db2_field_type()
db2_field_width()

이전 | 위로 | 다음
db2_next_result | 처음으로 | db2_num_rows


db2_num_rows

(PECL ibm_db2:1.0-1.6.2)

db2_num_rows -- Returns the number of rows affected by an SQL statement

설명

int db2_num_rows ( resource $stmt )

Returns the number of rows deleted, inserted, or updated by an SQL statement.

To determine the number of rows that will be returned by a SELECT statement, issue SELECT COUNT(*) with the same predicates as your intended SELECT statement and retrieve the value.

If your application logic checks the number of rows returned by a SELECT statement and branches if the number of rows is 0, consider modifying your application to attempt to return the first row with one of db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array(), or db2_fetch_row(), and branch if the fetch function returns FALSE.

참고: If you issue a SELECT statement using a scrollable cursor, db2_num_rows() returns the number of rows returned by the SELECT statement. However, the overhead associated with scrollable cursors significantly degrades the performance of your application, so if this is the only reason you are considering using scrollable cursors, you should use a forward-only cursor and either call SELECT COUNT(*) or rely on the boolean return value of the fetch functions to achieve the equivalent functionality with much better performance.

매개변수

stmt

A valid stmt resource containing a result set.

반환값

Returns the number of rows affected by the last SQL statement issued by the specified statement handle.

이전 | 위로 | 다음
db2_num_fields | 처음으로 | db2_pconnect


db2_pconnect

(PECL ibm_db2:1.0-1.6.2)

db2_pconnect -- Returns a persistent connection to a database

설명

resource db2_pconnect ( string $database, string $username, string $password [, array $options] )

Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database. For more information on persistent connections, refer to 42장. 영구적인 데이터베이스 접속.

Calling db2_close() on a persistent connection always returns TRUE, but the underlying DB2 client connection remains open and waiting to serve the next matching db2_pconnect() request.

매개변수

database

The database alias in the DB2 client catalog.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

반환값

Returns a connection handle resource if the connection attempt is successful. db2_pconnect() tries to reuse an existing connection resource that exactly matches the database, username, and password parameters. If the connection attempt fails, db2_pconnect() returns FALSE.

예제

예 846. A db2_pconnect() example

In the following example, the first call to db2_pconnect() returns a new persistent connection resource. The second call to db2_pconnect() returns a persistent connection resource that simply reuses the first persistent connection resource.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$pconn = db2_pconnect($database, $user, $password);

if ($pconn) {
    echo "Persistent connection succeeded.";
}
else {
    echo "Persistent connection failed.";
}

$pconn2 = db2_pconnect($database, $user, $password);
if ($pconn) {
    echo "Second persistent connection succeeded.";
}
else {
    echo "Second persistent connection failed.";
}
?>

위 예제의 출력:

Persistent connection succeeded.
Second persistent connection succeeded.

참고

db2_connect()

이전 | 위로 | 다음
db2_num_rows | 처음으로 | db2_prepare


db2_prepare

(PECL ibm_db2:1.0-1.6.2)

db2_prepare -- Prepares an SQL statement to be executed

설명

resource db2_prepare ( resource $connection, string $statement [, array $options] )

db2_prepare() creates a prepared SQL statement which can include 0 or more parameter markers (? characters) representing parameters for input, output, or input/output. You can pass parameters to the prepared statement using db2_bind_param(), or for input values only, as an array passed to db2_execute().

There are three main advantages to using prepared statements in your application:

  • Performance: when you prepare a statement, the database server creates an optimized access plan for retrieving data with that statement. Subsequently issuing the prepared statement with db2_execute() enables the statements to reuse that access plan and avoids the overhead of dynamically creating a new access plan for every statement you issue.

  • Security: when you prepare a statement, you can include parameter markers for input values. When you execute a prepared statement with input values for placeholders, the database server checks each input value to ensure that the type matches the column definition or parameter definition.

  • Advanced functionality: Parameter markers not only enable you to pass input values to prepared SQL statements, they also enable you to retrieve OUT and INOUT parameters from stored procedures using db2_bind_param().

매개변수

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement, optionally containing one or more parameter markers..

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

cursor

Passing the DB2_FORWARD_ONLY value requests a forward-only cursor for this SQL statement. This is the default type of cursor, and it is supported by all database servers. It is also much faster than a scrollable cursor.

Passing the DB2_SCROLLABLE value requests a scrollable cursor for this SQL statement. This type of cursor enables you to fetch rows non-sequentially from the database server. However, it is only supported by DB2 servers, and is much slower than forward-only cursors.

반환값

Returns a statement resource if the SQL statement was successfully parsed and prepared by the database server. Returns FALSE if the database server returned an error. You can determine which error was returned by calling db2_stmt_error() or db2_stmt_errormsg().

예제

예 847. Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$animals = array(
    array(0, 'cat', 'Pook', 3.2),
    array(1, 'dog', 'Peaches', 12.3),
    array(2, 'horse', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animals (id, breed, name, weight)
    VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
    foreach ($animals as $animal) {
        $result = db2_execute($stmt, $animal);
    }
}
?>

참고

db2_bind_param()
db2_execute()
db2_stmt_error()
db2_stmt_errormsg()

이전 | 위로 | 다음
db2_pconnect | 처음으로 | db2_primary_keys


db2_primary_keys

(PECL ibm_db2:1.0-1.6.2)

db2_primary_keys -- Returns a result set listing primary keys for a table

설명

resource db2_primary_keys ( resource $connection, string $qualifier, string $schema, string $table-name )

Returns a result set listing the primary keys for a table.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. If schema is NULL, db2_primary_keys() matches the schema for the current connection.

table-name

The name of the table.

반환값

Returns a statement resource with a result set containing rows describing the primary keys for the specified table. The result set is composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema for the table containing the primary key.
TABLE_NAME | Name of the table containing the primary key.
COLUMN_NAME | Name of the column containing the primary key.
KEY_SEQ | 1-indexed position of the column in the key.
PK_NAME | The name of the primary key.

참고

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

이전 | 위로 | 다음
db2_prepare | 처음으로 | db2_procedure_columns


db2_procedure_columns

(PECL ibm_db2:1.0-1.6.2)

db2_procedure_columns -- Returns a result set listing stored procedure parameters

설명

resource db2_procedure_columns ( resource $connection, string $qualifier, string $schema, string $procedure, string $parameter )

Returns a result set listing the parameters for one or more stored procedures.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

parameter

The name of the parameter. This parameter accepts a search pattern containing _ and % as wildcards. If this parameter is NULL, all parameters for the specified stored procedures are returned.

반환값

Returns a statement resource with a result set containing rows describing the parameters for the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
COLUMN_NAME | Name of the parameter.
COLUMN_TYPE

An integer value representing the type of the parameter:

Return value | Parameter type
1 (SQL_PARAM_INPUT) | Input (IN) parameter.
2 (SQL_PARAM_INPUT_OUTPUT) | Input/output (INOUT) parameter.
3 (SQL_PARAM_OUTPUT) | Output (OUT) parameter.

DATA_TYPE | The SQL data type for the parameter represented as an integer value.
TYPE_NAME | A string representing the data type for the parameter.
COLUMN_SIZE | An integer value representing the size of the parameter.
BUFFER_LENGTH | Maximum number of bytes necessary to store data for this parameter.
DECIMAL_DIGITS | The scale of the parameter, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the parameter is nullable or not.
REMARKS | Description of the parameter.
COLUMN_DEF | Default value for the parameter.
SQL_DATA_TYPE | An integer value representing the size of the parameter.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or NULL for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type parameter, which matches COLUMN_SIZE for single-byte character set data, or NULL for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the parameter in the CALL statement.
IS_NULLABLE | A string value where 'YES' means that the parameter accepts or returns NULL values and 'NO' means that the parameter does not accept or return NULL values.

참고

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

이전 | 위로 | 다음
db2_primary_keys | 처음으로 | db2_procedures


db2_procedures

(PECL ibm_db2:1.0-1.6.2)

db2_procedures -- Returns a result set listing the stored procedures registered in a database

설명

resource db2_procedures ( resource $connection, string $qualifier, string $schema, string $procedure )

Returns a result set listing the stored procedures registered in a database.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

반환값

Returns a statement resource with a result set containing rows describing the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is NULL if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
NUM_INPUT_PARAMS | Number of input (IN) parameters for the stored procedure.
NUM_OUTPUT_PARAMS | Number of output (OUT) parameters for the stored procedure.
NUM_RESULT_SETS | Number of result sets returned by the stored procedure.
REMARKS | Any comments about the stored procedure.
PROCEDURE_TYPE | Always returns 1, indicating that the stored procedure does not return a return value.

참고

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_special_columns()
db2_statistics()
db2_table_privileges()
db2_tables()

이전 | 위로 | 다음
db2_procedure_columns | 처음으로 | db2_result


db2_result

(PECL ibm_db2:1.0-1.6.2)

db2_result -- Returns a single column from a row in the result set

설명

mixed db2_result ( resource $stmt, mixed $column )

Use db2_result() to return the value of a specified column in the current row of a result set. You must call db2_fetch_row() before calling db2_result() to set the location of the result set pointer.

매개변수

stmt

A valid stmt resource.

column

Either an integer mapping to the 0-indexed field in the result set, or a string matching the name of the column.

반환값

Returns the value of the requested field if the field exists in the result set. Returns NULL if the field does not exist, and issues a warning.

예제

예 848. A db2_result() example

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
    $name = db2_result($stmt, 0);
    $breed = db2_result($stmt, 'BREED');
    print "$name $breed";
}
?>

위 예제의 출력:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

참고

db2_fetch_array()
db2_fetch_assoc()
db2_fetch_both()
db2_fetch_object()
db2_fetch_row()

이전 | 위로 | 다음
db2_procedures | 처음으로 | db2_rollback


db2_rollback

(PECL ibm_db2:1.0-1.6.2)

db2_rollback -- Rolls back a transaction

설명

bool db2_rollback ( resource $connection )

Rolls back an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_rollback() normally has no effect unless AUTOCOMMIT has been turned off for the connection resource.

참고: If the specified connection resource is a persistent connection, all transactions in progress for all applications using that persistent connection will be rolled back. For this reason, persistent connections are not recommended for use in applications that require transactions.

매개변수

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 849. Rolling back a DELETE statement

In the following example, we count the number of rows in a table, turn off AUTOCOMMIT mode on a database connection, delete all of the rows in the table and return the count of 0 to prove that the rows have been removed. We then issue db2_rollback() and return the updated count of rows in the table to show that the number is the same as before we issued the DELETE statement. The return to the original state of the table demonstrates that the roll back of the transaction succeeded.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Turn AUTOCOMMIT off
    db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);

    // Delete all rows from ANIMALS
    db2_exec($conn, "DELETE FROM animals");

    $stmt = db2_exec($conn, "SELECT count(*) FROM animals");
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";

    // Roll back the DELETE statement
    db2_rollback( $conn );

    $stmt = db2_exec( $conn, "SELECT count(*) FROM animals" );
    $res = db2_fetch_array( $stmt );
    echo $res[0] . "\n";
    db2_close($conn);
}
?>

위 예제의 출력:

7
0
7

참고

db2_autocommit()
db2_commit()

이전 | 위로 | 다음
db2_result | 처음으로 | db2_server_info


db2_server_info

(PECL ibm_db2:1.1.1-1.6.2)

db2_server_info -- Returns an object with properties that describe the DB2 database server

설명

object db2_server_info ( resource $connection )

This function returns an object with read-only properties that return information about the IBM DB2, Cloudscape, or Apache Derby database server. The following table lists the database server properties:

표 123. Database server properties

Property name | Return type | Description
DBMS_NAME | string | The name of the database server to which you are connected. For DB2 servers this is a combination of DB2 followed by the operating system on which the database server is running.
DBMS_VER | string | The version of the database server, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
DB_CODEPAGE | int | The code page of the database to which you are connected.
DB_NAME | string | The name of the database to which you are connected.
DFT_ISOLATION string

The default transaction isolation level supported by the server:

UR

Uncommitted read: changes are immediately visible by all concurrent transactions.

CS

Cursor stability: a row read by one transaction can be altered and committed by a second concurrent transaction.

RS

Read stability: a transaction can add or remove rows matching a search condition or a pending transaction.

RR

Repeatable read: data affected by pending transaction is not available to other transactions.

NC

No commit: any changes are visible at the end of a successful operation. Explicit commits and rollbacks are not allowed.

IDENTIFIER_QUOTE_CHAR | string | The character used to delimit an identifier.
INST_NAME | string | The instance on the database server that contains the database.
ISOLATION_OPTION | array | An array of the isolation options supported by the database server. The isolation options are described in the DFT_ISOLATION property.
KEYWORDS | array | An array of the keywords reserved by the database server.
LIKE_ESCAPE_CLAUSE | bool | TRUE if the database server supports the use of % and _ wildcard characters. FALSE if the database server does not support these wildcard characters.
MAX_COL_NAME_LEN | int | Maximum length of a column name supported by the database server, expressed in bytes.
MAX_IDENTIFIER_LEN | int | Maximum length of an SQL identifier supported by the database server, expressed in characters.
MAX_INDEX_SIZE | int | Maximum size of columns combined in an index supported by the database server, expressed in bytes.
MAX_PROC_NAME_LEN | int | Maximum length of a procedure name supported by the database server, expressed in bytes.
MAX_ROW_SIZE | int | Maximum length of a row in a base table supported by the database server, expressed in bytes.
MAX_SCHEMA_NAME_LEN | int | Maximum length of a schema name supported by the database server, expressed in bytes.
MAX_STATEMENT_LEN | int | Maximum length of an SQL statement supported by the database server, expressed in bytes.
MAX_TABLE_NAME_LEN | int | Maximum length of a table name supported by the database server, expressed in bytes.
NON_NULLABLE_COLUMNS | bool | TRUE if the database server supports columns that can be defined as NOT NULL, FALSE if the database server does not support columns defined as NOT NULL.
PROCEDURES | bool | TRUE if the database server supports the use of the CALL statement to call stored procedures, FALSE if the database server does not support the CALL statement.
SPECIAL_CHARS | string | A string containing all of the characters other than a-Z, 0-9, and underscore that can be used in an identifier name.
SQL_CONFORMANCE string

The level of conformance to the ANSI/ISO SQL-92 specification offered by the database server:

ENTRY

Entry-level SQL-92 compliance.

FIPS127

FIPS-127-2 transitional compliance.

FULL

Full level SQL-92 compliance.

INTERMEDIATE

Intermediate level SQL-92 compliance.

매개변수

connection

Specifies an active DB2 client connection.

반환값

Returns an object on a successful call. Returns FALSE on failure.

예제

예 850. A db2_server_info() example

To retrieve information about the server, you must pass a valid database connection resource to db2_server_info().

<?php

$conn = db2_connect('sample', 'db2inst1', 'ibmdb2');

$server = db2_server_info( $conn );

if ($server) {
    echo "DBMS_NAME: ";                 var_dump( $server->DBMS_NAME );
    echo "DBMS_VER: ";                  var_dump( $server->DBMS_VER );
    echo "DB_CODEPAGE: ";               var_dump( $server->DB_CODEPAGE );
    echo "DB_NAME: ";                   var_dump( $server->DB_NAME );
    echo "INST_NAME: ";                 var_dump( $server->INST_NAME );
    echo "SPECIAL_CHARS: ";             var_dump( $server->SPECIAL_CHARS );
    echo "KEYWORDS: ";                  var_dump( sizeof($server->KEYWORDS) );
    echo "DFT_ISOLATION: ";             var_dump( $server->DFT_ISOLATION );
    echo "ISOLATION_OPTION: ";
    $il = '';
    foreach( $server->ISOLATION_OPTION as $opt )
    {
       $il .= $opt." ";
    }
    var_dump( $il );
    echo "SQL_CONFORMANCE: ";           var_dump( $server->SQL_CONFORMANCE );
    echo "PROCEDURES: ";                var_dump( $server->PROCEDURES );
    echo "IDENTIFIER_QUOTE_CHAR: ";     var_dump( $server->IDENTIFIER_QUOTE_CHAR );
    echo "LIKE_ESCAPE_CLAUSE: ";        var_dump( $server->LIKE_ESCAPE_CLAUSE );
    echo "MAX_COL_NAME_LEN: ";          var_dump( $server->MAX_COL_NAME_LEN );
    echo "MAX_ROW_SIZE: ";              var_dump( $server->MAX_ROW_SIZE );
    echo "MAX_IDENTIFIER_LEN: ";        var_dump( $server->MAX_IDENTIFIER_LEN );
    echo "MAX_INDEX_SIZE: ";            var_dump( $server->MAX_INDEX_SIZE );
    echo "MAX_PROC_NAME_LEN: ";         var_dump( $server->MAX_PROC_NAME_LEN );
    echo "MAX_SCHEMA_NAME_LEN: ";       var_dump( $server->MAX_SCHEMA_NAME_LEN );
    echo "MAX_STATEMENT_LEN: ";         var_dump( $server->MAX_STATEMENT_LEN );
    echo "MAX_TABLE_NAME_LEN: ";        var_dump( $server->MAX_TABLE_NAME_LEN );
    echo "NON_NULLABLE_COLUMNS: ";      var_dump( $server->NON_NULLABLE_COLUMNS );

    db2_close($conn);
}
?>

위 예제의 출력:

DBMS_NAME: string(9) "DB2/LINUX"
DBMS_VER: string(10) "08.02.0000"
DB_CODEPAGE: int(1208)
DB_NAME: string(6) "SAMPLE"
INST_NAME: string(8) "db2inst1"
SPECIAL_CHARS: string(2) "@#"
KEYWORDS: int(179)
DFT_ISOLATION: string(2) "CS"
ISOLATION_OPTION: string(12) "UR CS RS RR "
SQL_CONFORMANCE: string(7) "FIPS127"
PROCEDURES: bool(true)
IDENTIFIER_QUOTE_CHAR: string(1) """
LIKE_ESCAPE_CLAUSE: bool(true)
MAX_COL_NAME_LEN: int(30)
MAX_ROW_SIZE: int(32677)
MAX_IDENTIFIER_LEN: int(18)
MAX_INDEX_SIZE: int(1024)
MAX_PROC_NAME_LEN: int(128)
MAX_SCHEMA_NAME_LEN: int(30)
MAX_STATEMENT_LEN: int(2097152)
MAX_TABLE_NAME_LEN: int(128)
NON_NULLABLE_COLUMNS: bool(true)

참고

db2_client_info()

이전 | 위로 | 다음
db2_rollback | 처음으로 | db2_set_option


db2_set_option

(PECL ibm_db2:1.0-1.6.2)

db2_set_option -- Set options for connection or statement resources

설명

bool db2_set_option ( resource $resource, array $options, int $type )

Sets options for a statement resource or a connection resource. You cannot set options for result set resources.

매개변수

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

options

An associative array containing valid statement or connection options. This parameter can be used to change autocommit values, cursor types (scrollable or forward), and to specify the case of the column names (lower, upper, or natural) that will appear in a result set.

autocommit

Passing DB2_AUTOCOMMIT_ON turns autocommit on for the specified connection resource.

Passing DB2_AUTOCOMMIT_OFF turns autocommit off for the specified connection resource.

cursor

Passing DB2_FORWARD_ONLY specifies a forward-only cursor for a statement resource. This is the default cursor type, and is supported by all database servers.

Passing DB2_SCROLLABLE specifies a scrollable cursor for a statement resource. Scrollable cursors enable result set rows to be accessed in non-sequential order, but are only supported by IBM DB2 Universal Database databases.

binmode

Passing DB2_BINARY specifies that binary data will be returned as is. This is the default mode. This is the equivalent of setting ibm_db2.binmode=1 in php.ini.

Passing DB2_CONVERT specifies that binary data will be converted to hexadecimal encoding, and will be returned as such. This is the equivalent of setting ibm_db2.binmode=2 in php.ini.

Passing DB2_PASSTHRU specifies that binary data will be converted to NULL. This is the equivalent of setting ibm_db2.binmode=3 in php.ini.

db2_attr_case

Passing DB2_CASE_LOWER specifies that column names of the result set are returned in lower case.

Passing DB2_CASE_UPPER specifies that column names of the result set are returned in upper case.

Passing DB2_CASE_NATURAL specifies that column names of the result set are returned in natural case.

deferred_prepare

Passing DB2_DEFERRED_PREPARE_ON turns deferred prepare on for the specified statement resource.

Passing DB2_DEFERRED_PREPARE_OFF turns deferred prepare off for the specified statement resource.

The following new i5/OS options are available as of ibm_db2 version 1.5.1.

Note: Prior versions of ibm_db2 do not support these new i5 options.

i5_fetch_only

DB2_I5_FETCH_ON - Cursors are read-only and cannot be used for positioned updates or deletes. This is the default unless SQL_ATTR_FOR_FETCH_ONLY environment has been set to SQL_FALSE.

DB2_I5_FETCH_OFF - Cursors can be used for positioned updates and deletes.

The following new options are available as of ibm_db2 version 1.6.0. They provide useful tracking information that can be accessed during execution with db2_get_option().

Note: Prior versions of ibm_db2 do not support these new options.

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Note: DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Note: DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Note: DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Note: DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

type

An integer value that specifies the type of resource that was passed into the function. The type of resource and this value must correspond.

Passing 1 as the value specifies that a connection resource has been passed into the function.

Passing any integer not equal to 1 as the value specifies that a statement resource has been passed into the function.

The following table specifies which options are compatible with the available resource types:

표 124. Resource-Parameter Matrix

Key | Value | Resource Type
 |  | Connection | Statement | Result Set
autocommit | DB2_AUTOCOMMIT_ON | X | - | -
autocommit | DB2_AUTOCOMMIT_OFF | X | - | -
cursor | DB2_SCROLLABLE | - | X | -
cursor | DB2_FORWARD_ONLY | - | X | -
binmode | DB2_BINARY | X | X | -
binmode | DB2_CONVERT | X | X | -
binmode | DB2_PASSTHRU | X | X | -
db2_attr_case | DB2_CASE_LOWER | X | X | -
db2_attr_case | DB2_CASE_UPPER | X | X | -
db2_attr_case | DB2_CASE_NATURAL | X | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_ON | - | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_OFF | - | X | -
i5_fetch_only | DB2_I5_FETCH_ON | - | X | -
i5_fetch_only | DB2_I5_FETCH_OFF | - | X | -
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 851. Setting one parameter with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

위 예제의 출력:

Options Set Successfully

예 852. Setting multiple parameters with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

위 예제의 출력:

Options Set Successfully

예 853. Setting multiple parameters with an invalid key

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
             'MY_INVALID_KEY' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

위 예제의 출력:

Could Not Set Options

예 854. Setting multiple parameters with an invalid value

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => 'INVALID_VALUE',
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

위 예제의 출력:

Could Not Set Options

예 855. Setting multiple parameters with a connection resource and the wrong type

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and the wrong type value */
$result = db2_set_option($conn, $options, 2);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

위 예제의 출력:

Could Not Set Options

예 856. Setting multiple parameters with the wrong resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
                    'binmode' => DB2_PASSTHRU,
              'db2_attr_case' => DB2_CASE_UPPER,
                     'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');

/* Call the function using the wrong resource, and the correct options array, and type values */
$result = db2_set_option($stmt, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
  echo 'Options Set Successfully';
}
else
{
  echo 'Could Not Set Options';
}
?>

위 예제의 출력:

Could Not Set Options

예 857. Putting it all together

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('db2_attr_case' => DB2_CASE_LOWER,
                        'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');

/* Call the function using the correct resource, options array, and type values */
$option_result = db2_set_option($stmt, $options, 2);
$result = db2_execute($stmt, array('000130', '000140'));

/* Get Row 2 before Row 1 since Scrollable Cursor */
print_r(db2_fetch_assoc($stmt, 2));
print '<br /><br />';
print_r(db2_fetch_assoc($stmt, 1));

?>

위 예제의 출력:

Array
(
    [empno] => 000140
    [firstnme] => HEATHER
    [midinit] => A
    [lastname] => NICHOLLS
    [workdept] => C01
    [phoneno] => 1793
    [hiredate] => 1976-12-15
    [job] => ANALYST
    [edlevel] => 18
    [sex] => F
    [birthdate] => 1946-01-19
    [salary] => 28420.00
    [bonus] => 600.00
    [comm] => 2274.00
)

Array
(
    [empno] => 000130
    [firstnme] => DELORES
    [midinit] => M
    [lastname] => QUINTANA
    [workdept] => C01
    [phoneno] => 4578
    [hiredate] => 1971-07-28
    [job] => ANALYST
    [edlevel] => 16
    [sex] => F
    [birthdate] => 1925-09-15
    [salary] => 23800.00
    [bonus] => 500.00
    [comm] => 1904.00
)

예 858. i5/OS cursors are read-only

<?php
  $conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
  $stmt = db2_prepare($conn, 'select * from names where first = ?');
  $name = "first2";
  db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
  $options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
  db2_set_option($stmt,$options,0);
  if (db2_execute($stmt)) {
    while ($row = db2_fetch_array($stmt)) {
      echo "{$row[0]} {$row[1]}";
    }
  }
?>

위 예제의 출력:

first2 last2

참고

db2_connect()
db2_pconnect()
db2_exec()
db2_prepare()
db2_cursor_type()

이전 | 위로 | 다음
db2_server_info | 처음으로 | db2_special_columns


db2_special_columns

(PECL ibm_db2:1.0-1.6.2)

db2_special_columns -- Returns a result set listing the unique row identifier columns for a table

설명

resource db2_special_columns ( resource $connection, string $qualifier, string $schema, string $table_name, int $scope )

Returns a result set listing the unique row identifier columns for a table.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables.

table_name

The name of the table.

scope

Integer value representing the minimum duration for which the unique row identifier is valid. This can be one of the following values:

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.

반환값

Returns a statement resource with a result set containing rows with unique row identifier information for a table. The rows are composed of the following columns:

Column name | Description
SCOPE

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.

COLUMN_NAME | Name of the unique column.
DATA_TYPE | SQL data type for the column.
TYPE_NAME | Character string representation of the SQL data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or NULL where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or NULL (representing a data type for which radix is not applicable).
PSEUDO_COLUMN | Always returns 1.

참고

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_statistics()
db2_table_privileges()
db2_tables()

이전 | 위로 | 다음
db2_set_option | 처음으로 | db2_statistics


db2_statistics

(PECL ibm_db2:1.0-1.6.2)

db2_statistics -- Returns a result set listing the index and statistics for a table

설명

resource db2_statistics ( resource $connection, string $qualifier, string $schema, string $table-name, bool $unique )

Returns a result set listing the index and statistics for a table.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema that contains the targeted table. If this parameter is NULL, the statistics and indexes are returned for the schema of the current user.

table_name

The name of the table.

unique

An integer value representing the type of index information to return.

0

Return only the information for unique indexes on the table.

1

Return the information for all indexes on the table.

반환값

Returns a statement resource with a result set containing rows describing the statistics and indexes for the base tables matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
NON_UNIQUE

An integer value representing whether the index prohibits unique values, or whether the row represents statistics on the table itself:

Return value | Parameter type
0 (SQL_FALSE) | The index allows duplicate values.
1 (SQL_TRUE) | The index values must be unique.
NULL | This row is statistics information for the table itself.

INDEX_QUALIFIER | A string value representing the qualifier that would have to be prepended to INDEX_NAME to fully qualify the index.
INDEX_NAME | A string representing the name of the index.
TYPE

An integer value representing the type of information contained in this row of the result set:

Return value | Parameter type
0 (SQL_TABLE_STAT) | The row contains statistics about the table itself.
1 (SQL_INDEX_CLUSTERED) | The row contains information about a clustered index.
2 (SQL_INDEX_HASH) | The row contains information about a hashed index.
3 (SQL_INDEX_OTHER) | The row contains information about a type of index that is neither clustered nor hashed.

ORDINAL_POSITION | The 1-indexed position of the column in the index. NULL if the row contains statistics information about the table itself.
COLUMN_NAME | The name of the column in the index. NULL if the row contains statistics information about the table itself.
ASC_OR_DESC | A if the column is sorted in ascending order, D if the column is sorted in descending order, NULL if the row contains statistics information about the table itself.
CARDINALITY

If the row contains information about an index, this column contains an integer value representing the number of unique values in the index.

If the row contains information about the table itself, this column contains an integer value representing the number of rows in the table.

PAGES

If the row contains information about an index, this column contains an integer value representing the number of pages used to store the index.

If the row contains information about the table itself, this column contains an integer value representing the number of pages used to store the table.

FILTER_CONDITION | Always returns NULL.

참고

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_table_privileges()
db2_tables()

이전 | 위로 | 다음
db2_special_columns | 처음으로 | db2_stmt_error


db2_stmt_error

(PECL ibm_db2:1.0-1.6.2)

db2_stmt_error -- Returns a string containing the SQLSTATE returned by an SQL statement

설명

string db2_stmt_error ( [resource $stmt] )

Returns a string containing the SQLSTATE value returned by an SQL statement.

If you do not pass a statement resource as an argument to db2_stmt_error(), the driver returns the SQLSTATE value associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_stmt_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

매개변수

stmt

A valid statement resource.

반환값

Returns a string containing an SQLSTATE value.

참고

db2_conn_error()
db2_conn_errormsg()
db2_stmt_errormsg()

이전 | 위로 | 다음
db2_statistics | 처음으로 | db2_stmt_errormsg


db2_stmt_errormsg

(PECL ibm_db2:1.0-1.6.2)

db2_stmt_errormsg -- Returns a string containing the last SQL statement error message

설명

string db2_stmt_errormsg ( [resource $stmt] )

Returns a string containing the last SQL statement error message.

If you do not pass a statement resource as an argument to db2_stmt_errormsg(), the driver returns the error message associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

매개변수

stmt

A valid statement resource.

반환값

Returns a string containing the error message and SQLCODE value for the last error that occurred issuing an SQL statement.

참고

db2_conn_error()
db2_conn_errormsg()
db2_stmt_error()

이전 | 위로 | 다음
db2_stmt_error | 처음으로 | db2_table_privileges


db2_table_privileges

(PECL ibm_db2:1.0-1.6.2)

db2_table_privileges -- Returns a result set listing the tables and associated privileges in a database

설명

resource db2_table_privileges ( resource $connection [, string $qualifier [, string $schema [, string $table_name]]] )

Returns a result set listing the tables and associated privileges in a database.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table_name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

반환값

Returns a statement resource with a result set containing rows describing the privileges for the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege that has been granted. This can be one of ALTER, CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE.
IS_GRANTABLE | A string value of "YES" or "NO" indicating whether the grantee can grant the privilege to other users.

참고

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_tables()

이전 | 위로 | 다음
db2_stmt_errormsg | 처음으로 | db2_tables


db2_tables

(PECL ibm_db2:1.0-1.6.2)

db2_tables -- Returns a result set listing the tables and associated metadata in a database

설명

resource db2_tables ( resource $connection [, string $qualifier [, string $schema [, string $table-name [, string $table-type]]]] )

Returns a result set listing the tables and associated metadata in a database.

매개변수

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass NULL or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table-name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

table-type

A list of comma-delimited table type identifiers. To match all table types, pass NULL or an empty string. Valid table type identifiers include: ALIAS, HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE, SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW, and VIEW.

반환값

Returns a statement resource with a result set containing rows describing the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
TABLE_TYPE | Table type identifier for the table.
REMARKS | Description of the table.

참고

db2_column_privileges()
db2_columns()
db2_foreign_keys()
db2_primary_keys()
db2_procedure_columns()
db2_procedures()
db2_special_columns()
db2_statistics()
db2_table_privileges()

이전 | 위로 | 다음
db2_table_privileges | 처음으로 | LXII. iconv 함수


DOMAttr->__construct()

(PHP 5)

DOMAttr->__construct() -- Creates a new DOMAttr object

설명

class DOMAttr {
__construct ( string $name [, string $value] )
}

Creates a new DOMAttr object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument->createAttribute().

매개변수

name

The tag name of the attribute.

value

The value of the attribute.

예제

예 444. Creating a new DOMAttr

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$attr = $element->setAttributeNode(new DOMAttr('attr', 'attrvalue'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root attr="attrvalue" /> */

?>

참고

DOMDocument->createAttribute()

이전 | 위로 | 다음
XXXI. DOM Functions | 처음으로 | DOMAttr->isId()


DOMComment->__construct()

(PHP 5)

DOMComment->__construct() -- Creates a new DOMComment object

설명

class DOMComment {
__construct ( [string $value] )
}

Creates a new DOMComment object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument->createComment().

매개변수

value

The value of the comment.

예제

예 446. Creating a new DOMComment

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$comment = $element->appendChild(new DOMComment('root comment'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root><!--root comment--></root> */

?>

참고

DOMDocument->createComment()

이전 | 위로 | 다음
DOMCharacterData->substringData() | 처음으로 | DOMDocument->__construct()


DOMDocument->__construct()

(PHP 5)

DOMDocument->__construct() -- Creates a new DOMDocument object

설명

class DOMDocument {
__construct ( [string $version [, string $encoding]] )
}

Creates a new DOMDocument object.

매개변수

version

The version number of the document as part of the XML declaration.

encoding

The encoding of the document as part of the XML declaration.

예제

예 447. Creating a new DOMDocument

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?> */

?>

참고

DOMImplementation->createDocument()

이전 | 위로 | 다음
DOMComment->__construct() | 처음으로 | DOMDocument->createAttribute()


DOMDocument->normalizeDocument()

(No version information available, might be only in CVS)

DOMDocument->normalizeDocument() -- Normalizes the document

설명

class DOMDocument {
void normalizeDocument ( void )
}

This method acts as if you saved and then loaded the document, putting the document in a "normal" form.

반환값

값을 반환하지 않습니다.

참고

» The DOM Specification
DOMNode->normalize()

이전 | 위로 | 다음
DOMDocument->loadXML() | 처음으로 | DOMDocument->registerNodeClass()


DOMDocument->registerNodeClass()

(PHP 5 >= 5.2.0)

DOMDocument->registerNodeClass() -- Register extended class used to create base node type

설명

class DOMDocument {
bool registerNodeClass ( string $baseclass, string $extendedclass )
}

This method allows you to register your own extended DOM class to be used afterward by the PHP DOM extension.

This method is not part of the DOM standard.

매개변수

baseclass

The DOM class that you want to extend. You can find a list of these classes in the chapter introduction.

Of course, you won't be able to register a class extending DOMDocument but you can always start your document by instanciating your own extending class.

extendedclass

Your extended class name. If NULL is provided, any previously registered class extending baseclass will be removed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
PHP 5.2.2 | Prior to 5.2.2, a previously registered extendedclass had to be unregistered before being able to register a new class extending the same baseclass.

예제

예 457. Adding a new method to DOMElement to ease our code

<?php

class myElement extends DOMElement {
   function appendElement($name) {
      return $this->appendChild(new myElement($name));
   }
}

class myDocument extends DOMDocument {
   function setRoot($name) {
      return $this->appendChild(new myElement($name));
   }
}

$doc = new myDocument();
$doc->registerNodeClass('DOMElement', 'myElement');

// From now on, adding an element to another costs only one method call !
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');

echo $doc->saveXML();

?>

위 예제의 출력:

<?xml version="1.0" ?>
<root><child foo="bar"/></root>

이전 | 위로 | 다음
DOMDocument->normalizeDocument() | 처음으로 | DOMDocument->relaxNGValidate()


DOMDocumentFragment->appendXML()

(PHP 5 >= 5.1.0)

DOMDocumentFragment->appendXML() -- Append raw XML data

설명

class DOMDocumentFragment {
bool appendXML ( string $data )
}

Appends raw XML data to a DOMDocumentFragment.

This method is not part of the DOM standard. It was created as a simplier approach for appending an XML DocumentFragment in a DOMDocument.

If you want to stick to the standards, you will have to create a temporary DOMDocument with a dummy root and then loop through the child nodes of the root of your XML data to append them.

매개변수

data

XML to append.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 464. Appending XML data to your document

<?php
$doc = new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo $doc->saveXML();
?>

위 예제의 출력:

<?xml version="1.0" ?>
<root><foo>text</foo><bar>text2</bar></root>

이전 | 위로 | 다음
DOMDocument->xinclude() | 처음으로 | DOMElement->__construct()


DOMElement->__construct()

(PHP 5)

DOMElement->__construct() -- Creates a new DOMElement object

설명

class DOMElement {
__construct ( string $name [, string $value [, string $namespaceURI]] )
}

Creates a new DOMElement object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument->createElement() or DOMDocument->createElementNS().

매개변수

name

The tag name of the element. When also passing in namespaceURI, the element name may take a prefix to be associated with the URI.

value

The value of the element.

namespaceURI

A namespace URI to create the element within a specific namespace.

예제

예 465. Creating a new DOMElement

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$element_ns = new DOMElement('pr:node1', 'thisvalue', 'http://xyz');
$element->appendChild($element_ns);
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */

?>

참고

DOMDocument->createElement()
DOMDocument->createElementNS()

이전 | 위로 | 다음
DOMDocumentFragment->appendXML() | 처음으로 | DOMElement->getAttribute()


DOMElement->setIdAttribute()

(No version information available, might be only in CVS)

DOMElement->setIdAttribute() -- Declares the attribute specified by name to be of type ID

설명

class DOMElement {
void setIdAttribute ( string $name, bool $isId )
}

Declares the attribute name to be of type ID.

매개변수

name

The name of the attribute.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

반환값

값을 반환하지 않습니다.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

참고

DOMDocument->getElementById()
DOMElement->setIdAttributeNode()
DOMElement->setIdAttributeNS()

이전 | 위로 | 다음
DOMElement->setAttributeNS() | 처음으로 | DOMElement->setIdAttributeNode()


DOMElement->setIdAttributeNode()

(No version information available, might be only in CVS)

DOMElement->setIdAttributeNode() -- Declares the attribute specified by node to be of type ID

설명

class DOMElement {
void setIdAttributeNode ( DOMAttr $attr, bool $isId )
}

Declares the attribute specified by attr to be of type ID.

매개변수

attr

The attribute node.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

반환값

값을 반환하지 않습니다.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

참고

DOMDocument->getElementById()
DOMElement->setIdAttribute()
DOMElement->setIdAttributeNS()

이전 | 위로 | 다음
DOMElement->setIdAttribute() | 처음으로 | DOMElement->setIdAttributeNS()


DOMElement->setIdAttributeNS()

(No version information available, might be only in CVS)

DOMElement->setIdAttributeNS() -- Declares the attribute specified by local name and namespace URI to be of type ID

설명

class DOMElement {
void setIdAttributeNS ( string $namespaceURI, string $localName, bool $isId )
}

Declares the attribute specified by localName and namespaceURI to be of type ID.

매개변수

namespaceURI

The namespace URI of the attribute.

localName

The local name of the attribute, as prefix:tagname.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

반환값

값을 반환하지 않습니다.

오류/예외

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

참고

DOMDocument->getElementById()
DOMElement->setIdAttribute()
DOMElement->setIdAttributeNode()

이전 | 위로 | 다음
DOMElement->setIdAttributeNode() | 처음으로 | DOMEntityReference->__construct()


DOMEntityReference->__construct()

(PHP 5)

DOMEntityReference->__construct() -- Creates a new DOMEntityReference object

설명

class DOMEntityReference {
__construct ( string $name )
}

Creates a new DOMEntityReference object.

매개변수

name

The name of the entity reference.

예제

예 467. Creating a new DOMEntityReference

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$entity = $element->appendChild(new DOMEntityReference('nbsp'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>&nbsp;</root> */

?>

참고

DOMDocument->createEntityReference()

이전 | 위로 | 다음
DOMElement->setIdAttributeNS() | 처음으로 | DOMImplementation->__construct()


DOMImplementation->__construct()

(No version information available, might be only in CVS)

DOMImplementation->__construct() -- Creates a new DOMImplementation object

설명

class DOMImplementation {
__construct ( void )
}

Creates a new DOMImplementation object.

이전 | 위로 | 다음
DOMEntityReference->__construct() | 처음으로 | DOMImplementation->createDocument()


DOMNode->isDefaultNamespace()

(No version information available, might be only in CVS)

DOMNode->isDefaultNamespace() -- Checks if the specified namespaceURI is the default namespace or not

설명

class DOMNode {
bool isDefaultNamespace ( string $namespaceURI )
}

Tells whether namespaceURI is the default namespace.

매개변수

namespaceURI

The namespace URI to look for.

반환값

Return TRUE if namespaceURI is the default namespace, FALSE otherwise.

이전 | 위로 | 다음
DOMNode->insertBefore() | 처음으로 | DOMNode->isSameNode()


DOMProcessingInstruction->__construct()

(PHP 5)

DOMProcessingInstruction->__construct() -- Creates a new DOMProcessingInstruction object

설명

class DOMProcessingInstruction {
__construct ( string $name [, string $value] )
}

Creates a new DOMProcessingInstruction object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument->createProcessingInstruction().

매개변수

name

The tag name of the processing instruction.

value

The value of the processing instruction.

예제

예 473. Creating a new DOMProcessingInstruction

<?php

$dom = new DOMDocument('1.0', 'UTF-8');
$html = $dom->appendChild(new DOMElement('html'));
$body = $html->appendChild(new DOMElement('body'));
$pinode = new DOMProcessingInstruction('php', 'echo "Hello World"; ');
$body->appendChild($pinode);
echo $dom->saveXML();

?>

위 예제의 출력:

<?xml version="1.0" encoding="UTF-8" ?>
<html><body><?php echo "Hello World"; ?></body></html>

참고

DOMDocument->createProcessingInstruction()

이전 | 위로 | 다음
DOMNodelist->item() | 처음으로 | DOMText->__construct()


DOMText->__construct()

(PHP 5)

DOMText->__construct() -- Creates a new DOMText object

설명

class DOMText {
__construct ( [string $value] )
}

Creates a new DOMText object.

매개변수

value

The value of the text node. If not supplied an empty text node is created.

예제

예 474. Creating a new DOMText

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMText('root value'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?><root>root value</root> */

?>

참고

DOMDocument->createTextNode()

이전 | 위로 | 다음
DOMProcessingInstruction->__construct() | 처음으로 | DOMText->isWhitespaceInElementContent()


DOMXPath->__construct()

(PHP 5)

DOMXPath->__construct() -- Creates a new DOMXPath object

설명

class DOMXPath {
__construct ( DOMDocument $doc )
}

Creates a new DOMXPath object.

매개변수

doc

The DOMDocument associated with the DOMXPath.

이전 | 위로 | 다음
DOMText->splitText() | 처음으로 | DOMXPath->evaluate()


DOMXPath->evaluate()

(No version information available, might be only in CVS)

DOMXPath->evaluate() -- Evaluates the given XPath expression and returns a typed result if possible.

설명

class DOMXPath {
mixed evaluate ( string $expression [, DOMNode $contextnode] )
}

Executes the given XPath expression and returns a typed result if possible.

매개변수

expression

The XPath expression to execute.

contextnode

The optional contextnode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

반환값

Returns a typed result if possible or a DOMNodeList containing all nodes matching the given XPath expression.

예제

예 475. Getting the count of all the english books

<?php

$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo "There are $entries english books\n";

?>

위 예제의 출력:

There are 2 english books

참고

DOMXPath->query()

이전 | 위로 | 다음
DOMXPath->__construct() | 처음으로 | DOMXPath->query()


DomAttribute->set_value

(No version information available, might be only in CVS)

DomAttribute->set_value -- Sets the value of an attribute

설명

class DomAttribute {
bool set_value ( string $content )
}

This function sets the value of an attribute.

매개변수

content

The new value.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

Migrating to PHP 5

Set the value property of DOMAttr.

참고

DomAttribute->value

이전 | 위로 | 다음
DomAttribute->name | 처음으로 | DomAttribute->specified


DomElement->set_attribute_node()

(No version information available, might be only in CVS)

DomElement->set_attribute_node() -- Adds new attribute

설명

class DomElement {
DomNode set_attribute_node ( DomNode $attr )
}

주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
DomElement->remove_attribute() | 처음으로 | DomElement->set_attribute()


domxml_xslt_version

(PHP 4 >= 4.2.0)

domxml_xslt_version -- Gets the XSLT library version

설명

int domxml_xslt_version ( void )

Gets the XSLT library version.

반환값

Returns the version number of the XSLT library, as an integer.

예제

예 510. domxml_xslt_version() Example

<?php

echo domxml_xslt_version();

?>

위 예제의 출력 예:

10112

참고

domxml_version()

이전 | 위로 | 다음
domxml_xslt_stylesheet | 처음으로 | xpath_eval_expression


enchant_broker_describe

(PECL enchant:0.1-1.0.1)

enchant_broker_describe -- Enumerates the Enchant providers

설명

array enchant_broker_describe ( resource $broker )

Enumerates the Enchant providers and tells you some rudimentary information about them. The same info is provided through phpinfo().

매개변수

broker

Broker resource

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 513. List the backends provided by the given broker

<?php
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

?>

위 예제의 출력 예:

Current broker provides the following backend(s):
Array
(
    [0] => Array
        (
            [name] => aspell
            [desc] => Aspell Provider
            [file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [name] => hspell
            [desc] => Hspell Provider
            [file] => /usr/lib/enchant/libenchant_hspell.so
        )

    [2] => Array
        (
            [name] => ispell
            [desc] => Ispell Provider
            [file] => /usr/lib/enchant/libenchant_ispell.so
        )

    [3] => Array
        (
            [name] => myspell
            [desc] => Myspell Provider
            [file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

이전 | 위로 | 다음
XXXIII. enchant Functions | 처음으로 | enchant_broker_dict_exists


enchant_broker_dict_exists

(PECL enchant:0.1-1.0.1)

enchant_broker_dict_exists -- Whether a dictionary exists or not. Using non-empty tag

설명

bool enchant_broker_dict_exists ( resource $broker, string $tag )

Tells if a dictionary exists or not, using a non-empty tags

매개변수

broker

Broker resource

tag

non-empty tag in the LOCALE format, ex: us_US, ch_DE, etc.

반환값

Returns TRUE when the tag exist or FALSE when not.

예제

예 514. A enchant_broker_dict_exists() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    echo $tag . " dictionary found.\n";
}
?>

참고

enchant_broker_describe()

이전 | 위로 | 다음
enchant_broker_describe | 처음으로 | enchant_broker_free_dict


enchant_broker_free

(PECL enchant:0.1-1.0.1)

enchant_broker_free -- Free the broker resource and its dictionnaries

설명

bool enchant_broker_free ( resource $broker )

Free a broker resource with all its dictionaries.

매개변수

broker

Broker resource

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

enchant_broker_init()

이전 | 위로 | 다음
enchant_broker_free_dict | 처음으로 | enchant_broker_get_error


enchant_broker_free_dict

(PECL enchant:0.1-1.0.1)

enchant_broker_free_dict -- Free a dictionary resource

설명

bool enchant_broker_free_dict ( resource $dict )

Free a dictionary resource.

매개변수

dict

Dictionary resource.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

enchant_broker_request_dict()
enchant_broker_request_pwl_dict()

이전 | 위로 | 다음
enchant_broker_dict_exists | 처음으로 | enchant_broker_free


enchant_broker_get_error

(PECL enchant:0.1-1.0.1)

enchant_broker_get_error -- Returns the last error of the broker

설명

string enchant_broker_get_error ( resource $broker )

Returns the last error which occurred in this broker.

매개변수

broker

Broker resource.

반환값

Return the msg string if an error was found or FALSE

이전 | 위로 | 다음
enchant_broker_free | 처음으로 | enchant_broker_init


enchant_broker_init

(PECL enchant:0.1-1.0.1)

enchant_broker_init -- create a new broker object capable of requesting

설명

resource enchant_broker_init ( void )

매개변수

반환값

Returns a broker resource on success or FALSE.

참고

enchant_broker_free()

이전 | 위로 | 다음
enchant_broker_get_error | 처음으로 | enchant_broker_list_dicts


enchant_broker_list_dicts

(PECL enchant:1.0.1)

enchant_broker_list_dicts -- Returns a list of available dictionaries

설명

mixed enchant_broker_list_dicts ( resource $broker )

Returns a list of available dictionaries with their details.

매개변수

broker

Broker resource

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 515. List all available dictionaries for one broker

<?php
$r = enchant_broker_init();
$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
?>

위 예제의 출력 예:

Array
(
    [0] => Array
        (
            [lang_tag] => de
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [lang_tag] => de_DE
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [3] => Array
        (
            [lang_tag] => en
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [4] => Array
        (
            [lang_tag] => en_GB
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [5] => Array
        (
            [lang_tag] => en_US
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [6] => Array
        (
            [lang_tag] => hi_IN
            [provider_name] => myspell
            [provider_desc] => Myspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

참고

enchant_broker_describe ()

이전 | 위로 | 다음
enchant_broker_init | 처음으로 | enchant_broker_request_dict


enchant_broker_request_dict

(PECL enchant:0.1-1.0.1)

enchant_broker_request_dict -- create a new dictionary using a tag

설명

resource enchant_broker_request_dict ( resource $broker, string $tag )

create a new dictionary using tag, the non-empty language tag you wish to request a dictionary for ("en_US", "de_DE", ...)

매개변수

broker

Broker resource

tag

A tag describing the locale, for example en_US, de_DE

반환값

Returns a dictionary resource on success or FALSE on failure.

예제

예 516. A enchant_broker_request_dict() example

Check if a dictionary exists using enchant_broker_dict_exists() and request it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
}
?>

참고

enchant_dict_describe()
enchant_broker_dict_exists()
enchant_broker_dict_free()

이전 | 위로 | 다음
enchant_broker_list_dicts | 처음으로 | enchant_broker_request_pwl_dict


enchant_broker_request_pwl_dict

(PECL enchant:0.1-1.0.1)

enchant_broker_request_pwl_dict -- creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

설명

resource enchant_broker_request_pwl_dict ( resource $broker, string $filename )

creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

매개변수

broker

Broker resource

filename

Path to the PWL file.

반환값

Returns a dictionary resource on success or FALSE on failure.

참고

enchant_dict_describe()
enchant_broker_dict_exists()
enchant_broker_dict_free()

이전 | 위로 | 다음
enchant_broker_request_dict | 처음으로 | enchant_broker_set_ordering


enchant_broker_set_ordering

(PECL enchant:0.1-1.0.1)

enchant_broker_set_ordering -- Declares a preference of dictionaries to use for the language

설명

bool enchant_broker_set_ordering ( resource $broker, string $tag, string $ordering )

Declares a preference of dictionaries to use for the language described/referred to by 'tag'. The ordering is a comma delimited list of provider names. As a special exception, the "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

매개변수

broker

Broker resource

tag

Language tag. The special "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

ordering

Comma delimited list of provider names

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
enchant_broker_request_pwl_dict | 처음으로 | enchant_dict_add_to_personal


enchant_dict_add_to_personal

(PECL enchant:0.1-1.0.1)

enchant_dict_add_to_personal -- add a word to personal word list

설명

void enchant_dict_add_to_personal ( resource $dict, string $word )

Add a word to personal word list of the given dictionary.

매개변수

dict

Dictionary resource

word

The word to add

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

enchant_broker_request_pwl_dict()
enchant_broker_request_dict()

이전 | 위로 | 다음
enchant_broker_set_ordering | 처음으로 | enchant_dict_add_to_session


enchant_dict_add_to_session

(PECL enchant:0.1-1.0.1)

enchant_dict_add_to_session -- add 'word' to this spell-checking session

설명

void enchant_dict_add_to_session ( resource $dict, string $word )

Add a word to the given dictionary. It will be added only for the active spell-checking session.

매개변수

dict

Dictionary resource

word

The word to add

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

enchant_broker_request_dict()

이전 | 위로 | 다음
enchant_dict_add_to_personal | 처음으로 | enchant_dict_check


enchant_dict_check

(PECL enchant:0.1-1.0.1)

enchant_dict_check -- Check whether a word is correctly spelled or not.

설명

bool enchant_dict_check ( resource $dict, string $word )

If the word is correctly spelled return TRUE, otherwise return FALSE

매개변수

dict

Dictionary resource

word

The word to check

반환값

Returns TRUE if the word is spelled correctly, FALSE if not.

이전 | 위로 | 다음
enchant_dict_add_to_session | 처음으로 | enchant_dict_describe


enchant_dict_describe

(PECL enchant:0.1-1.0.1)

enchant_dict_describe -- Describes an individual dictionary

설명

mixed enchant_dict_describe ( resource $dict )

Returns the details of the dictionary.

매개변수

dict

Dictinaray resource

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 517. A enchant_dict_describe() example

Check if a dictionary exists using enchant_broker_dict_exists() and show the detail of it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
    $dict = enchant_broker_request_dict($r, $tag);
    $dict_details = enchant_dict_describe($dict);
    print_r($dict_details);
}
?>

위 예제의 출력 예:

Array
(
    [lang] => en_US
    [name] => aspell
    [desc] => Aspell Provider
    [file] => /usr/lib/enchant/libenchant_aspell.so
)

이전 | 위로 | 다음
enchant_dict_check | 처음으로 | enchant_dict_get_error


enchant_dict_get_error

(PECL enchant:0.1-1.0.1)

enchant_dict_get_error -- Returns the last error of the current spelling-session

설명

string enchant_dict_get_error ( resource $dict )

Returns the last error of the current spelling-session

매개변수

dict

Dictinaray resource

반환값

Returns the error message as string or FALSE if no error occurred.

이전 | 위로 | 다음
enchant_dict_describe | 처음으로 | enchant_dict_is_in_session


enchant_dict_is_in_session

(PECL enchant:0.1-1.0.1)

enchant_dict_is_in_session -- whether or not 'word' exists in this spelling-session

설명

bool enchant_dict_is_in_session ( resource $dict, string $word )

Tells whether or not a word already exists in the current session.

매개변수

dict

Dictionary resource

word

The word to lookup

반환값

Returns TRUE if the word exists or FALSE

참고

enchant_dict_add_to_session()

이전 | 위로 | 다음
enchant_dict_get_error | 처음으로 | enchant_dict_quick_check


enchant_dict_quick_check

(PECL enchant:0.2.0-1.0.1)

enchant_dict_quick_check -- Check the word is correctly spelled and provide suggestions

설명

bool enchant_dict_quick_check ( resource $dict, string $word [, array &$suggestions] )

If the word is correctly spelled return TRUE, otherwise return FALSE, if suggestions variable is provided, fill it with spelling alternatives.

매개변수

dict

Dictionary resource

word

The word to check

suggestions

If the word is not correctly spelled, this variable will contain an array of suggestions.

반환값

Returns TRUE if the word is correctly spelled or FALSE

예제

예 518. A enchant_dict_quick_check() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();

if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    enchant_dict_quick_check($d, 'soong', $suggs);
    print_r($suggs);
}
?>

위 예제의 출력 예:

Array
(
    [0] => song
    [1] => snog
    [2] => soon
    [3] => Sang
    [4] => Sung
    [5] => sang
    [6] => sung
    [7] => sponge
    [8] => spongy
    [9] => snag
    [10] => snug
    [11] => sonic
    [12] => sing
    [13] => songs
    [14] => Son
    [15] => Sonja
    [16] => Synge
    [17] => son
    [18] => Sejong
    [19] => sarong
    [20] => sooner
    [21] => Sony
    [22] => sown
    [23] => scone
    [24] => song's
)

참고

enchant_dict_check()
enchant_dict_suggest()

이전 | 위로 | 다음
enchant_dict_is_in_session | 처음으로 | enchant_dict_store_replacement


enchant_dict_store_replacement

(PECL enchant:0.1-1.0.1)

enchant_dict_store_replacement -- add a correction for a word.

설명

void enchant_dict_store_replacement ( resource $dict, string $mis, string $cor )

Add a correction for 'mis' using 'cor'. Notes that you replaced @mis with @cor, so it's possibly more likely that future occurrences of @mis will be replaced with @cor. So it might bump @cor up in the suggestion list.

매개변수

dict

Dictionary resource

mis

The work to fix

cor

The correct word

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
enchant_dict_quick_check | 처음으로 | enchant_dict_suggest


enchant_dict_suggest

(PECL enchant:0.1-1.0.1)

enchant_dict_suggest -- Will return a list of values if any of those pre-conditions are not met.

설명

array enchant_dict_suggest ( resource $dict, string $word )

매개변수

dict

Dictionary resource

word

Word to use for the suggestions.

반환값

Will returns an array of suggestions if the word is bad spelled.

예제

예 519. A enchant_dict_suggest() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);

    $spellerrors = enchant_dict_check($d, "soong");
    echo "found $spellerrors spell errors\n";
    if ($spellerrors) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
}
enchant_broker_free($r);
?>

참고

enchant_dict_check()
enchant_dict_quick_check()

이전 | 위로 | 다음
enchant_dict_store_replacement | 처음으로 | XXXIV. Error Handling and Logging Functions


error_get_last

(PHP 5 >= 5.2.0)

error_get_last -- Get the last occurred error

설명

array error_get_last ( void )

Gets information about the last error that occured.

반환값

Returns an associative array describing the last error with keys "type", "message", "file" and "line". Returns NULL if there hasn't been an error yet.

예제

예 523. An error_get_last() example

<?php
echo $a;
print_r(error_get_last());
?>

위 예제의 출력 예:

Array
(
    [type] => 8
    [message] => Undefined variable: a
    [file] => C:\WWW\index.php
    [line] => 2
)

참고

Error constants
Variable $php_errormsg
Directive display_errors

이전 | 위로 | 다음
debug_print_backtrace | 처음으로 | error_log


expect_expectl

(PECL expect:0.1-0.2.2)

expect_expectl -- Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

설명

int expect_expectl ( resource $expect, array $cases [, array &$match] )

Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen.

If match is provided, then it is filled with the result of search. The matched string can be found in match[0]. The match substrings (according to the parentheses) in the original pattern can be found in match[1], match[2], and so on, up to match[9] (the limitation of libexpect).

매개변수

expect

An Expect stream, previously opened with expect_popen().

cases

An array of expect cases. Each expect case is an indexed array, as described in the following table:

표 86. Expect Case Array

Index Key | Value Type | Description | Is Mandatory | Default Value
0 | string | pattern, that will be matched against the output from the stream | yes
1 | mixed | value, that will be returned by this function, if the pattern matches | yes
2 | integer | pattern type, one of: EXP_GLOB, EXP_EXACT or EXP_REGEXP | no | EXP_GLOB

반환값

Returns value associated with the pattern that was matched.

On failure this function returns: EXP_EOF, EXP_TIMEOUT or EXP_FULLBUFFER

변경 기록

버전 | 설명
0.2.1 | Prior to version 0.2.1, in match parameter a match string was returned, not an array of match substrings.

예제

예 535. expect_expectl() example

<?php
// Copies file from remote host:
ini_set ("expect.timeout", 30);

$stream = fopen ("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");

$cases = array (
  array (0 => "password:", 1 => PASSWORD),
  array (0 => "yes/no)?", 1 => YESNO)
);

while (true) {
 switch (expect_expectl ($stream, $cases))
 {
  case PASSWORD:
   fwrite ($stream, "password\n");
   break;

  case YESNO:
   fwrite ($stream, "yes\n");
   break;

  case EXP_TIMEOUT:
  case EXP_EOF:
   break 2;

  default:
   die ("Error has occurred!\n");
 }
}

fclose ($stream);
?>

참고

expect_popen()

이전 | 위로 | 다음
XXXVI. Expect Functions | 처음으로 | expect_popen


expect_popen

(PECL expect:0.1-0.2.2)

expect_popen -- Execute command via Bourne shell, and open the PTY stream to the process

설명

resource expect_popen ( string $command )

Execute command via Bourne shell, and open the PTY stream to the process.

매개변수

command

Command to execute.

반환값

Returns an open PTY stream to the process'es stdio, stdout and stderr.

On failure this function returns FALSE.

예제

예 536. expect_popen() example

<?php
// Login to the PHP.net CVS repository:
$stream = expect_popen ("cvs -d :pserver:anonymous@cvs.php.net:/repository login");
sleep (3);
fwrite ($stream, "phpfi\n");
fclose ($stream);
?>

참고

popen()

이전 | 위로 | 다음
expect_expectl | 처음으로 | XXXVII. File Alteration Monitor Functions


fbsql_rows_fetched

(PHP 5 >= 5.1.0)

fbsql_rows_fetched -- Get the number of rows affected by the last statement

설명

int fbsql_rows_fetched ( resource $result )

Gets the number of rows affected by the last statement.

매개변수

result

fbsql_query()나 fbsql_db_query()가 반환한 결과셋 식별자.

반환값

Returns the number of rows, as an integer.

이전 | 위로 | 다음
fbsql_rollback | 처음으로 | fbsql_select_db


fbsql_set_characterset

(PHP 5 >= 5.1.0)

fbsql_set_characterset -- Change input/output character set

설명

void fbsql_set_characterset ( resource $link_identifier, int $characterset [, int $in_out_both] )
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
fbsql_select_db | 처음으로 | fbsql_set_lob_mode


fbsql_table_name

(PHP 4 >= 4.2.0, PHP 5)

fbsql_table_name -- Get table name of field

설명

string fbsql_table_name ( resource $result, int $index )

fbsql_table_name() gets the name of the current table in the given result set.

The fbsql_num_rows() function may be used to determine the number of tables in the result pointer.

매개변수

result

A result pointer returned by fbsql_list_tables().

index

Integer index for the current table.

반환값

Returns the name of the table, as a string.

예제

예 611. fbsql_table_name() example

<?php
fbsql_connect("localhost", "_SYSTEM", "");
$result = fbsql_list_tables("wisconsin");
$i = 0;
while ($i < fbsql_num_rows($result)) {
    $tb_names[$i] = fbsql_table_name($result, $i);
    echo $tb_names[$i] . "<br />";
    $i++;
}
?>

이전 | 위로 | 다음
fbsql_stop_db | 처음으로 | fbsql_tablename


filter_has_var

(PHP 5 >= 5.2.0, PECL filter:0.11.0)

filter_has_var -- Checks if variable of specified type exists

설명

bool filter_has_var ( int $type, string $variable_name )

매개변수

type

One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV.

variable_name

Name of a variable to check.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
XLII. Filter Functions | 처음으로 | filter_id


filter_id

(PHP 5 >= 5.2.0, PECL filter:0.11.0)

filter_id -- Returns the filter ID belonging to a named filter

설명

int filter_id ( string $filtername )

매개변수

filtername

Name of a filter to get.

반환값

ID of a filter on success or NULL if filter doesn't exist.

참고

filter_list()

이전 | 위로 | 다음
filter_has_var | 처음으로 | filter_input_array


filter_input

(PHP 5 >= 5.2.0, PECL filter:0.11.0)

filter_input -- Gets variable from outside PHP and optionally filters it

설명

mixed filter_input ( int $type, string $variable_name [, int $filter [, mixed $options]] )

매개변수

type

One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION (not implemented yet) and INPUT_REQUEST (not implemented yet).

variable_name

Name of a variable to get.

filter

Filter to apply. Defaults to FILTER_DEFAULT.

options

Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in "flags" field of array.

반환값

Value of the requested variable on success, FALSE if the filter fails, or NULL if the variable_name variable is not set. If the flag FILTER_NULL_ON_FAILURE is used, it returns FALSE if the variable is not set and NULL if the filter fails.

예제

예 572. A filter_input() example

<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "You have searched for $search_html.\n";
echo "<a href='?search=$search_url'>Search again.</a>";
?>

위 예제의 출력 예:

You have searched for Me &#38; son.
<a href='?search=Me%20%26%20son'>Search again.</a>

참고

filter_var()
filter_input_array()
filter_var_array()

이전 | 위로 | 다음
filter_input_array | 처음으로 | filter_list


filter_input_array

(PHP 5 >= 5.2.0, PECL filter:0.11.0)

filter_input_array -- Gets multiple variables from outside PHP and optionally filters them

설명

mixed filter_input_array ( int $type [, mixed $definition] )

This function is useful for retrieving many values without repetitively calling filter_input().

매개변수

type

One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION, or INPUT_REQUEST.

definition

An array defining the arguments. A valid key is a string containing a variable name and a valid value is either a filter type, or an array optionally specifying the filter, flags and options. If the value is an array, valid keys are filter which specifies the filter type, flags which specifies any flags that apply to the filter, and options which specifies any options that apply to the filter. See the example below for a better understanding.

This parameter can be also an integer holding a filter constant. Then all values in the input array are filtered by this filter.

반환값

An array containing the values of the requested variables on success, or FALSE on failure. An array value will be FALSE if the filter fails, or NULL if the variable is not set. Or if the flag FILTER_NULL_ON_FAILURE is used, it returns FALSE if the variable is not set and NULL if the filter fails.

예제

예 571. A filter_input_array() example

<?php
error_reporting(E_ALL | E_STRICT);
/* data actually came from POST
$_POST = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);
*/

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_REQUIRE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_ARRAY,
                           )

);

$myinputs = filter_input_array(INPUT_POST, $args);

var_dump($myinputs);
echo "\n";
?>

위 예제의 출력:

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

참고

filter_input()
filter_var_array()

이전 | 위로 | 다음
filter_id | 처음으로 | filter_input


filter_list

(PHP 5 >= 5.2.0, PECL filter:0.11.0)

filter_list -- Returns a list of all supported filters

설명

array filter_list ( void )

반환값

Returns an array of names of all supported filters, empty array if there are no such filters. Indexes of this array are not filter IDs, they can be obtained with filter_id() from a name instead.

예제

예 573. A filter_list() example

<?php
print_r(filter_list());
?>

위 예제의 출력 예:

Array
(
    [0] => int
    [1] => boolean
    [2] => float
    [3] => validate_regexp
    [4] => validate_url
    [5] => validate_email
    [6] => validate_ip
    [7] => string
    [8] => stripped
    [9] => encoded
    [10] => special_chars
    [11] => unsafe_raw
    [12] => email
    [13] => url
    [14] => number_int
    [15] => number_float
    [16] => magic_quotes
    [17] => callback
)

이전 | 위로 | 다음
filter_input | 처음으로 | filter_var_array


filter_var

(PHP 5 >= 5.2.0, PECL filter:0.11.0)

filter_var -- Filters a variable with a specified filter

설명

mixed filter_var ( mixed $variable [, int $filter [, mixed $options]] )

매개변수

variable

Value to filter.

filter

ID of a filter to use. Defaults to FILTER_SANITIZE_STRING.

options

Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in "flags" field of array. For the "callback" filter, callback type should be passed.

반환값

Returns the filtered data, or FALSE if the filter fails.

예제

예 575. A filter_var() example

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
?>

위 예제의 출력:

string(15) "bob@example.com"
bool(false)

참고

filter_var_array()
filter_input()
filter_input_array()
callback 형에 대한 정보

이전 | 위로 | 다음
filter_var_array | 처음으로 | XLIII. Firebird/InterBase Functions


filter_var_array

(PHP 5 >= 5.2.0, PECL filter:0.11.0)

filter_var_array -- Gets multiple variables and optionally filters them

설명

mixed filter_var_array ( array $data [, mixed $definition] )

This function is useful for retrieving many values without repetitively calling filter_var().

매개변수

data

An array with string keys containing the data to filter.

definition

An array defining the arguments. A valid key is a string containing a variable name and a valid value is either a filter type, or an array optionally specifying the filter, flags and options. If the value is an array, valid keys are filter which specifies the filter type, flags which specifies any flags that apply to the filter, and options which specifies any options that apply to the filter. See the example below for a better understanding.

This parameter can be also an integer holding a filter constant. Then all values in the input array are filtered by this filter.

반환값

An array containing the values of the requested variables on success, or FALSE on failure. An array value will be FALSE if the filter fails, or NULL if the variable is not set.

예제

예 574. A filter_var_array() example

<?php
error_reporting(E_ALL | E_STRICT);
$data = array(
    'product_id'    => 'libgd<script>',
    'component'     => '10',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);

$args = array(
    'product_id'   => FILTER_SANITIZE_ENCODED,
    'component'    => array('filter'    => FILTER_VALIDATE_INT,
                            'flags'     => FILTER_FORCE_ARRAY,
                            'options'   => array('min_range' => 1, 'max_range' => 10)
                           ),
    'versions'     => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'   => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_REQUIRE_SCALAR,
                           ),
    'testarray'    => array(
                            'filter' => FILTER_VALIDATE_INT,
                            'flags'  => FILTER_FORCE_ARRAY,
                           )

);

$myinputs = filter_var_array($data, $args);

var_dump($myinputs);
echo "\n";
?>

위 예제의 출력:

array(6) {
  ["product_id"]=>
  array(1) {
    [0]=>
    string(17) "libgd%3Cscript%3E"
  }
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  array(1) {
    [0]=>
    string(6) "2.0.33"
  }
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

참고

filter_input_array()
filter_var()
filter_input()

이전 | 위로 | 다음
filter_list | 처음으로 | filter_var


finfo_buffer

(PECL fileinfo:0.1-1.0.4)

finfo_buffer -- Return information about a string buffer

설명

string finfo_buffer ( resource $finfo, string $string [, int $options [, resource $context]] )
class finfo {
string buffer ( string $string [, int $options [, resource $context]] )
}

This function is used to get information about binary data in a string.

매개변수

finfo

Fileinfo resource returned by finfo_open().

string

Content of a file to be checked.

options

One or disjunction of more Fileinfo constants.

context

반환값

Returns a textual description of the string argument, or FALSE if an error occurred.

예제

예 546. A finfo_buffer() example

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["script"]) . "\n";
?>

위 예제의 출력 예:

application/x-sh

참고

finfo_file()

이전 | 위로 | 다음
XXXIX. Fileinfo Functions | 처음으로 | finfo_close


finfo_close

(PECL fileinfo:0.1-1.0.4)

finfo_close -- Close fileinfo resource

설명

bool finfo_close ( resource $finfo )
class finfo {
__destruct();
}

This function closes the resource opened by finfo_open().

매개변수

finfo

Fileinfo resource returned by finfo_open().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
finfo_buffer | 처음으로 | finfo_file


finfo_file

(PECL fileinfo:0.1-1.0.4)

finfo_file -- Return information about a file

설명

string finfo_file ( resource $finfo, string $file_name [, int $options [, resource $context]] )
class finfo {
string file ( string $file_name [, int $options [, resource $context]] )
}

This function is used to get information about a file.

매개변수

finfo

Fileinfo resource returned by finfo_open().

file_name

Name of a file to be checked.

options

One or disjunction of more Fileinfo constants.

context

For a description of contexts, refer to Streams.

반환값

Returns a textual description of the contents of the filename argument, or FALSE if an error occurred.

예제

예 547. A finfo_file() example

<?php
$finfo = finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>

위 예제의 출력 예:

text/html
image/gif
application/vnd.ms-excel

참고

finfo_buffer()

이전 | 위로 | 다음
finfo_close | 처음으로 | finfo_open


finfo_open

이전 XXXIX. Fileinfo Functions 다음

finfo_open,

(PECL fileinfo:0.1-1.0.4)

finfo_open, finfo->__construct() -- Create a new fileinfo resource

설명

Procedural style

resource finfo_open ( [int $options [, string $arg]] )

Object oriented style (constructor):

class finfo {
__construct ( [int $options [, string $magic_file]] )
}

This function opens a magic database and returns its resource.

매개변수

options

One or disjunction of more Fileinfo constants.

magic_file

Name of a magic database file, usually something like /path/to/magic.mime. If not specified, the MAGIC environment variable is used. If this variable is not set either, /usr/share/misc/magic is used by default. A .mime and/or .mgc suffix is added if needed.

반환값

Returns a magic database resource on success or FALSE on failure.

예제

예 548. Object oriented style

<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
    echo "Opening fileinfo database failed";
    exit();
}

/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename);

/* close connection */
$finfo->close();
?>

예 549. Procedural style

<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
    echo "Opening fileinfo database failed";
    exit();
}

/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);

/* close connection */
finfo_close($finfo);
?>

위 예제의 출력:

text/plain

참고

finfo_close()

이전 | 위로 | 다음
finfo_file | 처음으로 | finfo_set_flags


finfo_set_flags

(PECL fileinfo:0.1-1.0.4)

finfo_set_flags -- Set libmagic configuration options

설명

bool finfo_set_flags ( resource $finfo, int $options )
class finfo {
bool set_flags ( int $options )
}

This function sets various Fileinfo options. Options can be set also directly in finfo_open() or other Fileinfo functions.

매개변수

finfo

Fileinfo resource returned by finfo_open().

options

One or disjunction of more Fileinfo constants.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
finfo_open | 처음으로 | XL. filePro Functions


geoip_country_code3_by_name

(PECL geoip:0.2.0-1.0.1)

geoip_country_code3_by_name -- Get the three letter country code

설명

string geoip_country_code3_by_name ( string $hostname )

The geoip_country_code3_by_name() function will return the three letter country code corresponding to a hostname or an IP address.

매개변수

hostname

The hostname or IP address whose location is to be looked-up.

반환값

Returns the three letter country code on success, or FALSE if the address cannot be found in the database.

예제

예 662. A geoip_country_code3_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code3_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

위 예제의 출력:

This host is located in: USA

참고

geoip_country_code_by_name()
geoip_country_name_by_name()

이전 | 위로 | 다음
geoip_country_code_by_name | 처음으로 | geoip_country_name_by_name


geoip_country_code_by_name

(PECL geoip:0.2.0-1.0.1)

geoip_country_code_by_name -- Get the two letter country code

설명

string geoip_country_code_by_name ( string $hostname )

The geoip_country_code_by_name() function will return the two letter country code corresponding to a hostname or an IP address.

매개변수

hostname

The hostname or IP address whose location is to be looked-up.

반환값

Returns the two letter ISO country code on success, or FALSE if the address cannot be found in the database.

예제

예 661. A geoip_country_code_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

위 예제의 출력:

This host is located in: US

참고

geoip_country_code3_by_name()
geoip_country_name_by_name()

이전 | 위로 | 다음
XLIX. GeoIP Functions | 처음으로 | geoip_country_code3_by_name


geoip_country_name_by_name

(PECL geoip:0.2.0-1.0.1)

geoip_country_name_by_name -- Get the full country name

설명

string geoip_country_name_by_name ( string $hostname )

The geoip_country_name_by_name() function will return the full country name corresponding to a hostname or an IP address.

매개변수

hostname

The hostname or IP address whose location is to be looked-up.

반환값

Returns the country name on success, or FALSE if the address cannot be found in the database.

예제

예 663. A geoip_country_name_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_name_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

위 예제의 출력:

 This host is located in: United States

참고

geoip_country_code_by_name()
geoip_country_code3_by_name()

이전 | 위로 | 다음
geoip_country_code3_by_name | 처음으로 | geoip_database_info


geoip_database_info

(PECL geoip:0.2.0-1.0.1)

geoip_database_info -- Get GeoIP Database information

설명

string geoip_database_info ( [int $database] )

The geoip_database_info() function returns the corresponding GeoIP Database version as it is defined inside the binary file.

If this function is called without arguments, it returns the version of the GeoIP Free Country Edition.

매개변수

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

반환값

Returns the corresponding database version, or NULL on error.

예제

예 664. A geoip_region_by_name() example

This will output the current database version string.

<?php
print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

위 예제의 출력:

GEO-106FREE 20060801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

이전 | 위로 | 다음
geoip_country_name_by_name | 처음으로 | geoip_db_avail


geoip_db_avail

(PECL geoip:1.0.1)

geoip_db_avail -- Determine if GeoIP Database is available

설명

bool geoip_db_avail ( int $database )

The geoip_db_avail() function returns if the corresponding GeoIP Database is available and can be opened on disk.

It does not indicate if the file is a proper database, only if it is readable.

매개변수

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

반환값

Returns TRUE is database exists, FALSE if not found, or NULL on error.

예제

예 665. A geoip_db_avail() example

This will output the current database version string.

<?php

if (geoip_db_avail(GEOIP_COUNTRY_EDITION))
    print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

위 예제의 출력:

GEO-106FREE 20080801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved

이전 | 위로 | 다음
geoip_database_info | 처음으로 | geoip_db_filename


geoip_db_filename

(PECL geoip:1.0.1)

geoip_db_filename -- Returns the filename of the corresponding GeoIP Database

설명

string geoip_db_filename ( int $database )

The geoip_db_filename() function returns the filename of the corresponding GeoIP Database.

It does not indicate if the file exists or not on disk, only where the library is looking for the database.

매개변수

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

반환값

Returns the filename of the corresponding database, or NULL on error.

예제

예 666. A geoip_db_filename() example

This will output the filename of the corresponding database.

<?php

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

위 예제의 출력:

/usr/share/GeoIP/GeoIP.dat

이전 | 위로 | 다음
geoip_db_avail | 처음으로 | geoip_db_get_all_info


geoip_db_get_all_info

(PECL geoip:1.0.1)

geoip_db_get_all_info -- Returns detailed informations about all GeoIP database types

설명

array geoip_db_get_all_info ( void )

The geoip_db_get_all_info() function will return detailed informations as a multi-dimensional array about all the GeoIP database types.

This function is available even if no databases are installed. It will simply list them as non-available.

The names of the different keys of the returning associative array are as follows:

  • "available" -- Boolean, indicate if DB is available (see geoip_db_avail())
  • "description" -- The database description
  • "filename" -- The database filename on disk (see geoip_db_filename())

반환값

Returns the associative array.

예제

예 667. A geoip_db_get_all_info() example

This will print the array containing all the informations.

<?php
$infos = geoip_db_get_all_info();
if (is_array($infos)) {
    var_dump($infos);
}
?>

위 예제의 출력:

array(11) {
  [1]=>
  array(3) {
    ["available"]=>
    bool(true)
    ["description"]=>
    string(21) "GeoIP Country Edition"
    ["filename"]=>
    string(32) "/usr/share/GeoIP/GeoIP.dat"
  }

[ ... ]

  [11]=>
  array(3) {
    ["available"]=>
    bool(false)
    ["description"]=>
    string(25) "GeoIP Domain Name Edition"
    ["filename"]=>
    string(38) "/usr/share/GeoIP/GeoIPDomain.dat"
  }
}

예 668. A geoip_db_get_all_info() example

You can use the various constants as keys to get only parts of the information.

<?php
$infos = geoip_db_get_all_info();
if ($infos[GEOIP_COUNTRY_EDITION]['available']) {
    echo $infos[GEOIP_COUNTRY_EDITION]['description'];
}
?>

위 예제의 출력:

GeoIP Country Edition

이전 | 위로 | 다음
geoip_db_filename | 처음으로 | geoip_id_by_name


geoip_id_by_name

(PECL geoip:0.2.0-1.0.1)

geoip_id_by_name -- Get the Internet connection speed

설명

int geoip_id_by_name ( string $hostname )

The geoip_id_by_name() function will return the country and region corresponding to a hostname or an IP address.

The return value is numeric and can be compared to the following constants:

  • GEOIP_UNKNOWN_SPEED
  • GEOIP_DIALUP_SPEED
  • GEOIP_CABLEDSL_SPEED
  • GEOIP_CORPORATE_SPEED

매개변수

hostname

The hostname or IP address whose net speed is to be looked-up.

반환값

Returns the net speed.

예제

예 669. A geoip_id_by_name() example

This will output the net speed of the host example.com.

<?php
$netspeed = geoip_id_by_name('www.example.com');

echo 'The connection type is ';

switch ($netspeed) {
    case GEOIP_DIALUP_SPEED:
        echo 'dial-up';
        break;
    case GEOIP_CABLEDSL_SPEED:
        echo 'cable or DSL';
        break;
    case GEOIP_CORPORATE_SPEED:
        echo 'corporate';
        break;
    case GEOIP_UNKNOWN_SPEED:
    default:
        echo 'unknown';
}
?>

위 예제의 출력:

The connection type is corporate

이전 | 위로 | 다음
geoip_db_get_all_info | 처음으로 | geoip_isp_by_name


geoip_isp_by_name

(No version information available, might be only in CVS)

geoip_isp_by_name -- Get the Internet Service Provider (ISP) name

설명

string geoip_isp_by_name ( string $hostname )

The geoip_isp_by_name() function will return the name of the Internet Service Provider (ISP) that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP ISP Edition. A warning will be issued if the proper database cannot be located.

매개변수

hostname

The hostname or IP address.

반환값

Returns the ISP name on success, or FALSE if the address cannot be found in the database.

예제

예 670. A geoip_isp_by_name() example

This will print the ISP name of host example.com.

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
    echo 'This host IP is from ISP: ' . $isp;
}
?>

위 예제의 출력:

This host IP is allocated to: ICANN c/o Internet Assigned Numbers Authority

이전 | 위로 | 다음
geoip_id_by_name | 처음으로 | geoip_org_by_name


geoip_org_by_name

(PECL geoip:0.2.0-1.0.1)

geoip_org_by_name -- Get the organization name

설명

string geoip_org_by_name ( string $hostname )

The geoip_org_by_name() function will return the name of the organization that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP Organization, ISP or AS Edition. A warning will be issued if the proper database cannot be located.

매개변수

hostname

The hostname or IP address.

반환값

Returns the organization name on success, or FALSE if the address cannot be found in the database.

예제

예 671. A geoip_org_by_name() example

This will print to whom the host example.com IP is allocated.

<?php
$org = geoip_country_code_by_name('www.example.com');
if ($org) {
    echo 'This host IP is allocated to: ' . $org;
}
?>

위 예제의 출력:

This host IP is allocated to: ICANN c/o Internet Assigned Numbers Authority

이전 | 위로 | 다음
geoip_isp_by_name | 처음으로 | geoip_record_by_name


geoip_record_by_name

(PECL geoip:0.2.0-1.0.1)

geoip_record_by_name -- Returns the detailed City information found in the GeoIP Database

설명

array geoip_record_by_name ( string $hostname )

The geoip_record_by_name() function will return the record information corresponding to a hostname or an IP address.

This function is available for both GeoLite City Edition and commercial GeoIP City Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "region" -- The region code (ex: CA for California)
  • "city" -- The city.
  • "postal_code" -- The Postal Code, FSA or Zip Code.
  • "latitude" -- The Latitude as signed double.
  • "longitude" -- The Longitude as signed double.
  • "dma_code"
  • "area_code" -- The PSTN area code (ex: 212)

매개변수

hostname

The hostname or IP address whose record is to be looked-up.

반환값

Returns the associative array on success, or FALSE if the address cannot be found in the database.

예제

예 672. A geoip_record_by_name() example

This will print the array containing the record of host example.com.

<?php
$record = geoip_record_by_name('www.example.com');
if ($record) {
    print_r($record);
}
?>

위 예제의 출력:

Array
(
    [country_code] => US
    [region] => CA
    [city] => Marina Del Rey
    [postal_code] =>
    [latitude] => 33.9776992798
    [longitude] => -118.435096741
    [dma_code] => 803
    [area_code] => 310
)

이전 | 위로 | 다음
geoip_org_by_name | 처음으로 | geoip_region_by_name


geoip_region_by_name

(PECL geoip:0.2.0-1.0.1)

geoip_region_by_name -- Get the country code and region

설명

array geoip_region_by_name ( string $hostname )

The geoip_region_by_name() function will return the country and region corresponding to a hostname or an IP address.

This function is currently only available to users who have bought a commercial GeoIP Region Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "region" -- The region code (ex: CA for California)

매개변수

hostname

The hostname or IP address whose region is to be looked-up.

반환값

Returns the associative array on success, or FALSE if the address cannot be found in the database.

예제

예 673. A geoip_region_by_name() example

This will print the array containing the country code and region of the host example.com.

<?php
$region = geoip_region_by_name('www.example.com');
if ($region) {
    print_r($region);
}
?>

위 예제의 출력:

Array
(
    [country_code] => US
    [region] => CA
)

이전 | 위로 | 다음
geoip_record_by_name | 처음으로 | L. Gettext Functions


gmp_nextprime

(PHP 5 >= 5.2.0)

gmp_nextprime -- Find next prime number

설명

resource gmp_nextprime ( int $a )

Find next prime number

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

반환값

Return the next prime number greater than a, as a GMP number.

예제

예 700. gmp_nextprime() example

<?php
$prime1 = gmp_nextprime(10); // next prime number greater than 10
$prime2 = gmp_nextprime(-1000); // next prime number greater than -1000

echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>

위 예제의 출력:

11
-997

주의

참고: This function uses a probabilistic algorithm to identify primes and chances to get a composite number are extremely small.

이전 | 위로 | 다음
gmp_neg | 처음으로 | gmp_or


gmp_testbit

(No version information available, might be only in CVS)

gmp_testbit -- Tests if a bit is set

설명

bool gmp_testbit ( resource $a, int $index )

Tests if the specified bit is set.

매개변수

a

GMP 수 resource나 수로 변환할 수 있는 문자열일 수 있습니다.

index

The bit to test

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

E_WARNING is issued when index is less than zero.

예제

예 716. gmp_testbit() example

<?php
$n = gmp_init("1000000");
var_dump(gmp_testbit($n, 1));
gmp_setbit($n, 1);
var_dump(gmp_testbit($n, 1));
?>

위 예제의 출력:

bool(false)
bool(true)

참고

gmp_setbit()
gmp_clrbit()

이전 | 위로 | 다음
gmp_sub | 처음으로 | gmp_xor


gnupg_adddecryptkey

(PECL gnupg:0.5-1.3.1)

gnupg_adddecryptkey -- Add a key for decryption

설명

bool gnupg_adddecryptkey ( resource $identifier, string $fingerprint, string $passphrase )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 720. Procedural gnupg_adddecryptkey() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

예 721. OO gnupg_adddecryptkey() example

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

이전 | 위로 | 다음
LII. gnupg 함수 | 처음으로 | gnupg_addencryptkey


gnupg_addencryptkey

(PECL gnupg:0.5-1.3.1)

gnupg_addencryptkey -- Add a key for encryption

설명

bool gnupg_addencryptkey ( resource $identifier, string $fingerprint )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 722. Procedural gnupg_addencryptkey() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
?>

예 723. OO gnupg_addencryptkey() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
?>

이전 | 위로 | 다음
gnupg_adddecryptkey | 처음으로 | gnupg_addsignkey


gnupg_addsignkey

(PECL gnupg:0.5-1.3.1)

gnupg_addsignkey -- Add a key for signing

설명

bool gnupg_addsignkey ( resource $identifier, string $fingerprint [, string $passphrase] )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 724. Procedural gnupg_addsignkey() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

예 725. OO gnupg_addsignkey() example

<?php
$gpg = new gnupg();
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

이전 | 위로 | 다음
gnupg_addencryptkey | 처음으로 | gnupg_cleardecryptkeys


gnupg_cleardecryptkeys

(No version information available, might be only in CVS)

gnupg_cleardecryptkeys -- Removes all keys which were set for decryption before

설명

bool gnupg_cleardecryptkeys ( resource $identifier )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 726. Procedural gnupg_cleardecryptkeys() example

<?php
$res = gnupg_init();
gnupg_cleardecryptkeys($res);
?>

예 727. OO gnupg_cleardecryptkeys() example

<?php
$gpg = new gnupg();
$gpg -> cleardecryptkeys();
?>

이전 | 위로 | 다음
gnupg_addsignkey | 처음으로 | gnupg_clearencryptkeys


gnupg_clearencryptkeys

(PECL gnupg:0.5-1.3.1)

gnupg_clearencryptkeys -- Removes all keys which were set for encryption before

설명

bool gnupg_clearencryptkeys ( resource $identifier )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 728. Procedural gnupg_clearencryptkeys() example

<?php
$res = gnupg_init();
gnupg_clearencryptkeys($res);
?>

예 729. OO gnupg_clearencryptkeys() example

<?php
$gpg = new gnupg();
$gpg -> clearencryptkeys();
?>

이전 | 위로 | 다음
gnupg_cleardecryptkeys | 처음으로 | gnupg_clearsignkeys


gnupg_clearsignkeys

(No version information available, might be only in CVS)

gnupg_clearsignkeys -- Removes all keys which were set for signing before

설명

bool gnupg_clearsignkeys ( resource $identifier )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 730. Procedural gnupg_clearsignkeys() example

<?php
$res = gnupg_init();
gnupg_clearsignkeys($res);
?>

예 731. OO gnupg_clearsignkeys() example

<?php
$gpg = new gnupg();
$gpg -> clearsignkeys();
?>

이전 | 위로 | 다음
gnupg_clearencryptkeys | 처음으로 | gnupg_decrypt


gnupg_decrypt

(PECL gnupg:0.1-1.3.1)

gnupg_decrypt -- Decrypts a given text

설명

string gnupg_decrypt ( resource $identifier, string $text )

Decrypts the given text with the keys, which were set with gnupg_adddecryptkey before.

반환값

On success, this function returns the decrypted text. On failure, this function returns FALSE.

예제

예 732. Procedural gnupg_decrypt() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>

예 733. OO gnupg_encrypt() example

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>

이전 | 위로 | 다음
gnupg_clearsignkeys | 처음으로 | gnupg_decryptverify


gnupg_decryptverify

(PECL gnupg:0.2-1.3.1)

gnupg_decryptverify -- Decrypts and verifies a given text

설명

array gnupg_decryptverify ( resource $identifier, string $text, string &$plaintext )

Decrypts and verifies a given text and returns information about the signature. The parameter plaintext gets filled with the decrypted text.

반환값

On success, this function returns information about the signature and fills the plaintext parameter with the decrypted text. On failure, this function returns FALSE.

예제

예 734. Procedural gnupg_decryptverify() example

<?php
$plaintext = "";
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = gnupg_decryptverify($res,$text,$plaintext);
print_r($info);
?>

예 735. OO gnupg_decryptverify() example

<?php
$plaintext = "";
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = $gpg -> decryptverify($text,$plaintext);
print_r($info);
?>

이전 | 위로 | 다음
gnupg_decrypt | 처음으로 | gnupg_encrypt


gnupg_encrypt

(PECL gnupg:0.1-1.3.1)

gnupg_encrypt -- Encrypts a given text

설명

string gnupg_encrypt ( resource $identifier, string $plaintext )

Encrypts the given plaintext with the keys, which were set with gnupg_addencryptkey before and returns the encrypted text.

반환값

On success, this function returns the encrypted text. On failure, this function returns FALSE.

예제

예 736. Procedural gnupg_encrypt() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
$enc = gnupg_encrypt($res, "just a test");
echo $enc;
?>

예 737. OO gnupg_encrypt() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$enc = $gpg -> encrypt("just a test");
echo $enc;
?>

이전 | 위로 | 다음
gnupg_decryptverify | 처음으로 | gnupg_encryptsign


gnupg_encryptsign

(No version information available, might be only in CVS)

gnupg_encryptsign -- Encrypts and signs a given text

설명

string gnupg_encryptsign ( resource $identifier, string $plaintext )

Encrypts and signs the given plaintext with the keys, which were set with gnupg_addsignkey and gnupg_addencryptkey before and returns the encrypted and signed text.

반환값

On success, this function returns the encrypted and signed text. On failure, this function returns FALSE.

예제

예 738. Procedural gnupg_encryptsign() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = gnupg_encryptsign($res, "just a test");
echo $enc;
?>

예 739. OO gnupg_encryptsign() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = $gpg -> encryptsign("just a test");
echo $enc;
?>

이전 | 위로 | 다음
gnupg_encrypt | 처음으로 | gnupg_export


gnupg_export

(PECL gnupg:0.1-1.3.1)

gnupg_export -- Exports a key

설명

string gnupg_export ( resource $identifier, string $fingerprint )

Exports the key fingerprint.

반환값

On success, this function returns the keydata. On failure, this function returns FALSE.

예제

예 740. Procedural gnupg_export() example

<?php
$res = gnupg_init();
$export = gnupg_export($res,"8660281B6051D071D94B5B230549F9DC851566DC");
echo $export;
?>

예 741. OO gnupg_export() example

<?php
$gpg = new gnupg();
$export = $gpg -> export("8660281B6051D071D94B5B230549F9DC851566DC");
?>

이전 | 위로 | 다음
gnupg_encryptsign | 처음으로 | gnupg_geterror


gnupg_geterror

(PECL gnupg:0.1-1.3.1)

gnupg_geterror -- Returns the errortext, if a function fails

설명

string gnupg_geterror ( resource $identifier )

반환값

Returns an errortext, if an error has occurred, otherwise FALSE.

예제

예 742. Procedural gnupg_geterror() example

<?php
$res = gnupg_init();
echo gnupg_geterror($res);
?>

예 743. OO gnupg_geterror() example

<?php
$gpg = new gnupg();
echo $gpg -> geterror();
?>

이전 | 위로 | 다음
gnupg_export | 처음으로 | gnupg_getprotocol


gnupg_getprotocol

(PECL gnupg:0.1-1.3.1)

gnupg_getprotocol -- Returns the currently active protocol for all operations

설명

int gnupg_getprotocol ( resource $identifier )

반환값

Returns the currently active protocol, which can be one of GNUPG_PROTOCOL_OpenPGP or GNUPG_PROTOCOL_CMS.

예제

예 744. Procedural gnupg_getprotocol() example

<?php
$res = gnupg_init();
echo gnupg_getprotocol($res);
?>

예 745. OO gnupg_getprotocol() example

<?php
$gpg = new gnupg();
echo $gpg -> getprotocol();
?>

이전 | 위로 | 다음
gnupg_geterror | 처음으로 | gnupg_import


gnupg_import

(PECL gnupg:0.3-1.3.1)

gnupg_import -- Imports a key

설명

array gnupg_import ( resource $identifier, string $keydata )

Imports the key keydata and returns an array with information about the importprocess.

반환값

On success, this function returns and info-array about the importprocess. On failure, this function returns FALSE.

예제

예 746. Procedural gnupg_import() example

<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>

예 747. OO gnupg_import() example

<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>

이전 | 위로 | 다음
gnupg_getprotocol | 처음으로 | gnupg_keyinfo


gnupg_keyinfo

(PECL gnupg:0.1-1.3.1)

gnupg_keyinfo -- Returns an array with information about all keys that matches the given pattern

설명

array gnupg_keyinfo ( resource $identifier, string $pattern )

반환값

Returns an array with information about all keys that matches the given pattern or FALSE, if an error has occurred.

예제

예 748. Procedural gnupg_keyinfo() example

<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

예 749. OO gnupg_keyinfo() example

<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo("test");
print_r($info);
?>

이전 | 위로 | 다음
gnupg_import | 처음으로 | gnupg_setarmor


gnupg_setarmor

(PECL gnupg:0.1-1.3.1)

gnupg_setarmor -- Toggle armored output

설명

bool gnupg_setarmor ( resource $identifier, int $armor )

Pass a non-zero integer-value to this function to enable armored-output (default). Pass 0 to disable armored output.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 750. Procedural gnupg_setarmor() example

<?php
$res = gnupg_init();
gnupg_setarmor($res,1); // enable armored output;
gnupg_setarmor($res,0); // disable armored output;
?>

예 751. OO gnupg_setarmor() example

<?php
$gpg = new gnupg();
$gpg -> setarmor(1); // enable armored output;
$gpg -> setarmor(0); // disable armored output;
?>

이전 | 위로 | 다음
gnupg_keyinfo | 처음으로 | gnupg_seterrormode


gnupg_seterrormode

(PECL gnupg:0.6-1.3.1)

gnupg_seterrormode -- Sets the mode for error_reporting

설명

void gnupg_seterrormode ( resource $identifier, int $errormode )

errormode takes a constant indicating what type of error_reporting should be used. The possible values are GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION and GNUPG_ERROR_SILENT. By default GNUPG_ERROR_SILENT is used.

반환값

값을 반환하지 않습니다.

예제

예 752. Procedural gnupg_seterrormode() example

<?php
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING); // raise a PHP-Warning in case of an error
?>

예 753. OO gnupg_seterrormode() example

<?php
$gpg = new gnupg();
$gpg -> seterrormode(gnupg::ERROR_EXCEPTION); // throw an exception in case of an error
?>

이전 | 위로 | 다음
gnupg_setarmor | 처음으로 | gnupg_setsignmode


gnupg_setsignmode

(PECL gnupg:0.1-1.3.1)

gnupg_setsignmode -- Sets the mode for signing

설명

bool gnupg_setsignmode ( resource $identifier, int $signmode )

signmode takes a constant indicating what type of signature should be produced. The possible values are GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH and GNUPG_SIG_MODE_CLEAR. By default GNUPG_SIG_MODE_CLEAR is used.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 754. Procedural gnupg_setsignmode() example

<?php
$res = gnupg_init();
gnupg_setsignmode($res,GNUPG_SIG_MODE_DETACH); // produce a detached signature
?>

예 755. OO gnupg_setsignmode() example

<?php
$gpg = new gnupg();
$gpg -> setsignmode(gnupg::SIG_MODE_DETACH); // produce a detached signature
?>

이전 | 위로 | 다음
gnupg_seterrormode | 처음으로 | gnupg_sign


gnupg_sign

(PECL gnupg:0.1-1.3.1)

gnupg_sign -- Signs a given text

설명

string gnupg_sign ( resource $identifier, string $plaintext )

Signs the given plaintext with the keys, which were set with gnupg_addsignkey before and returns the signed text or the signature, depending on what was set with gnupg_setsignmode.

반환값

On success, this function returns the signed text or the signature. On failure, this function returns FALSE.

예제

예 756. Procedural gnupg_sign() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = gnupg_sign($res, "just a test");
echo $signed;
?>

예 757. OO gnupg_sign() example

<?php
$gpg = new gnupg();
$gpg -> setsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg -> sign("just a test");
echo $signed;
?>

이전 | 위로 | 다음
gnupg_setsignmode | 처음으로 | gnupg_verify


gnupg_verify

(PECL gnupg:0.1-1.3.1)

gnupg_verify -- Verifies a signed text

설명

array gnupg_verify ( resource $identifier, string $signed_text, string $signature [, string &$plaintext] )

Verifies the given signed_text and returns information about the signature. To verify a clearsigned text, set signature to FALSE. If the optional parameter plaintext is passed, it is filled with the plaintext.

반환값

On success, this function returns informations about the signature. On failure, this function returns FALSE.

예제

예 758. Procedural gnupg_verify() example

<?php
$plaintext = "";
$res = gnupg_init();
// clearsigned
$info = gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

예 759. OO gnupg_verify() example

<?php
$plaintext = "";
$gpg = new gnupg();
// clearsigned
$info = $gpg -> verify($signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = $gpg -> verify($signed_text,$signature);
print_r($info);
?>

이전 | 위로 | 다음
gnupg_sign | 처음으로 | LIII. Net_Gopher


gopher_parsedir

(PECL net_gopher:0.1-1.0.0)

gopher_parsedir -- Translate a gopher formatted directory entry into an associative array.

설명

array gopher_parsedir ( string $dirent )

gopher_parsedir() parses a gopher formatted directory entry into an associative array.

While gopher returns text/plain documents for actual document requests. A request to a directory (such as /) will return specially encoded series of lines with each line being one directory entry or information line.

매개변수

dirent

The directory entry.

반환값

Returns an associative array whose components are:

  • type - One of the GOPHER_XXX constants.
  • title - The name of the resource.
  • path - The path of the resource.
  • host - The domain name of the host that has this document (or directory).
  • port - The port at which to connect on host.

Upon failure, the additional data entry of the returned array will hold the parsed line.

예제

예 760. Hypothetical output from gopher://gopher.example.com/

0All about my gopher site.               /allabout.txt               gopher.example.com    70
9A picture of my cat.                    /pics/cat.png               gopher.example.com    70
1A collection of my writings.            /stories                    gopher.example.com    70
hThe HTTP version of this site.          URL:http://www.example.com  gopher.example.com    70
1Mirror of this site in Spain.           /                           gopher.ejemplo.co.es  70
iWelcome to my gopher site.                                          error.host            1
iPlease select one of the options above                              error.host            1
iSend complaints to /dev/null                                        error.host            1
iLong live gopher!                                                   error.host            1

In the example above, the root directory at gopher.example.com knows about one DOCUMENT identified by 0 located at gopher://gopher.example.com:70/allabout.txt. It also knows about two other directory (which have their own listing files) at gopher://gopher.exmaple.com:70/stories and at gopher://gopher.ejemplo.co.es:70/. In addition there is a binary file, a link to an HTTP url, and several informative lines.

By passing each line of the directory listing into gopher_parsedir(), an associative array is formed containing a parsed out version of the data.

예 761. Using gopher_parsedir()

<?php
$directory = file("gopher://gopher.example.com");

foreach($directory as $dirent) {
    print_r(gopher_parsedir($dirent));
}
?>

위 예제의 출력:

Array (
  [type] => 0
  [title] => All about my gopher site.
  [path] => /allabout.txt
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 9
  [title] => A picture of my cat.
  [path] => /pics/cat.png
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => A collection of my writings.
  [path] => /stories
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 254
  [title] => The HTTP version of this site.
  [path] => URL:http://www.example.com
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => Mirror of this site in Spain.
  [path] => /
  [host] => gopher.ejemplo.co.es
  [port] => 70
)
Array (
  [type] => 255
  [title] => Welcome to my gopher site.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Please select one of the options above.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Send complaints to /dev/null
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Long live gopher!
  [path] =>
  [host] => error.host
  [port] => 1
)

이전 | 위로 | 다음
LIII. Net_Gopher | 처음으로 | LIV. Haru PDF Functions


gzdecode

(No version information available, might be only in CVS)

gzdecode -- Decodes a gzip compressed string

설명

string gzdecode ( string $data [, int $length] )

This function returns a decoded version of the input data.

매개변수

data

The data to decode, encoded by gzencode().

length

The maximum length of data to decode.

반환값

The decoded string, or FALSE if an error occurred.

참고

gzencode()

이전 | 위로 | 다음
gzcompress | 처음으로 | gzdeflate


__halt_compiler

(No version information available, might be only in CVS)

__halt_compiler -- Halts the compiler execution

설명

void __halt_compiler ( void )

Halts the execution of the compiler. This can be useful to embed data in PHP scripts, like the installation files.

Byte position of the data start can be determined by the __COMPILER_HALT_OFFSET__ constant which is defined only if there is a __halt_compiler() presented in the file.

반환값

값을 반환하지 않습니다.

예제

예 1252. A __halt_compiler() example

<?php

// open this file
$fp = fopen(__FILE__, 'r');

// seek file pointer to data
fseek($fp, __COMPILER_HALT_OFFSET__);

// and output it
var_dump(stream_get_contents($fp));

// the end of the script execution
__halt_compiler();the installation data (eg. tar, gz, PHP, etc.)

주의

참고: __halt_compiler() can only be used from the outermost scope.

이전 | 위로 | 다음
get_browser | 처음으로 | highlight_file


HaruAnnotation::setBorderStyle

(PECL haru:0.0.1)

HaruAnnotation::setBorderStyle -- Set the border style of the annotation

설명

bool HaruAnnotation::setBorderStyle ( float $width, int $dash_on, int $dash_off )

Defines the style of the border of the annotation. This function may be used with link annotations only.

매개변수

width

The width of the border line.

dash_on

The dash style.

dash_off

The dash style.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDestination | 처음으로 | HaruAnnotation::setHighlightMode


HaruAnnotation::setHighlightMode

(PECL haru:0.0.1)

HaruAnnotation::setHighlightMode -- Set the highlighting mode of the annotation

설명

bool HaruAnnotation::setHighlightMode ( int $mode )

Defines the appearance of the annotation when clicked. This function may be used with link annotations only.

매개변수

mode

The highlighting mode of the annotation. Can take only these values:

HaruAnnotation::NO_HIGHLIGHT - no highlighting.
HaruAnnotation::INVERT_BOX - invert the contents of the annotation.
HaruAnnotation::INVERT_BORDER - invert the border of the annotation.
HaruAnnotation::DOWN_APPEARANCE - dent the annotation.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruAnnotation::setBorderStyle | 처음으로 | HaruAnnotation::setIcon


HaruAnnotation::setIcon

(PECL haru:0.0.1)

HaruAnnotation::setIcon -- Set the icon style of the annotation

설명

bool HaruAnnotation::setIcon ( int $icon )

Defines the style of the annotation icon. This function may be used with text annotations only.

매개변수

icon

The style of the icon. Can take only these values:

HaruAnnotation::ICON_COMMENT
HaruAnnotation::ICON_KEY
HaruAnnotation::ICON_NOTE
HaruAnnotation::ICON_HELP
HaruAnnotation::ICON_NEW_PARAGRAPH
HaruAnnotation::ICON_PARAGRAPH
HaruAnnotation::ICON_INSERT

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruAnnotation::setHighlightMode | 처음으로 | HaruAnnotation::setOpened


HaruAnnotation::setOpened

(PECL haru:0.0.1)

HaruAnnotation::setOpened -- Set the initial state of the annotation

설명

bool HaruAnnotation::setOpened ( bool $opened )

Defines whether the annotation is initially displayed open. This function may be used with text annotations only.

매개변수

opened

TRUE means the annotation is initially displayed open, FALSE - means it's closed.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruAnnotation::setIcon | 처음으로 | HaruDestination::setFit


HaruDestination::setFit

(PECL haru:0.0.1)

HaruDestination::setFit -- Set the appearance of the page to fit the window

설명

bool HaruDestination::setFit ( void )

Defines the appearance of the page to fit the window.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruAnnotation::setOpened | 처음으로 | HaruDestination::setFitB


HaruDestination::setFitB

(PECL haru:0.0.1)

HaruDestination::setFitB -- Set the appearance of the page to fit the bounding box of the page within the window

설명

bool HaruDestination::setFitB ( void )

Defines the appearance of the page to fit the bounding box of the page within the window.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDestination::setFit | 처음으로 | HaruDestination::setFitBH


HaruDestination::setFitBH

(PECL haru:0.0.1)

HaruDestination::setFitBH -- Set the appearance of the page to fit the width of the bounding box

설명

bool HaruDestination::setFitBH ( float $top )

Defines the appearance of the page to magnifying to fit the width of the bounding box and setting the top position of the page to the value of top.

매개변수

top

The top coordinates of the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDestination::setFitB | 처음으로 | HaruDestination::setFitBV


HaruDestination::setFitBV

(PECL haru:0.0.1)

HaruDestination::setFitBV -- Set the appearance of the page to fit the height of the boudning box

설명

bool HaruDestination::setFitBV ( float $left )

Defines the appearance of the page to magnifying to fit the height of the bounding box and setting the left position of the page to the value of left.

매개변수

left

The left coordinates of the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDestination::setFitBH | 처음으로 | HaruDestination::setFitH


HaruDestination::setFitH

(PECL haru:0.0.1)

HaruDestination::setFitH -- Set the appearance of the page to fit the window width

설명

bool HaruDestination::setFitH ( float $top )

Defines the appearance of the page to fit the window width and sets the top position of the page to the value of top.

매개변수

top

The top position of the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDestination::setFitBV | 처음으로 | HaruDestination::setFitR


HaruDestination::setFitR

(PECL haru:0.0.1)

HaruDestination::setFitR -- Set the appearance of the page to fit the specified rectangle

설명

bool HaruDestination::setFitR ( float $left, float $bottom, float $right, float $top )

Defines the appearance of the page to fit the rectangle by the parameters.

매개변수

left

The left coordinates of the page.

bottom

The bottom coordinates of the page.

right

The right coordinates of the page.

top

The top coordinates of the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDestination::setFitH | 처음으로 | HaruDestination::setFitV


HaruDestination::setFitV

(PECL haru:0.0.1)

HaruDestination::setFitV -- Set the appearance of the page to fit the window height

설명

bool HaruDestination::setFitV ( float $left )

Defines the appearance of the page to fit the window height.

매개변수

left

The left position of the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDestination::setFitR | 처음으로 | HaruDestination::setXYZ


HaruDestination::setXYZ

(PECL haru:0.0.1)

HaruDestination::setXYZ -- Set the appearance of the page

설명

bool HaruDestination::setXYZ ( float $left, float $top, float $zoom )

Defines the appearance of the page using three parameters: left, top and zoom.

매개변수

left

The left position of the page.

top

The top position of the page.

zoom

The magnification factor. The value must be between 0.08 (8%) and 32 (3200%).

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDestination::setFitV | 처음으로 | HaruDoc::addPage


HaruDoc::addPage

(PECL haru:0.0.1)

HaruDoc::addPage -- Add new page to the document

설명

object HaruDoc::addPage ( void )

Adds new page to the document and returns new HaruPage instance.

오류/예외

Throws HaruException on error.

참고

HaruDoc::insertPage()

이전 | 위로 | 다음
HaruDestination::setXYZ | 처음으로 | HaruDoc::addPageLabel


HaruDoc::addPageLabel

(PECL haru:0.0.1)

HaruDoc::addPageLabel -- Set the numbering style for the specified range of pages

설명

bool HaruDoc::addPageLabel ( int $first_page, int $style, int $first_num [, string $prefix] )

Set the numbering style for the specified range of pages.

매개변수

first_page

The first page included into the labeling range.

style

The numbering style. The following values are allowed:

HaruPage::NUM_STYLE_DECIMAL - page label is displayed using decimal numerals.
HaruPage::NUM_STYLE_UPPER_ROMAN - page label is displayed using uppercase Roman numerals.
HaruPage::NUM_STYLE_LOWER_ROMAN - page label is displayed using lowercase Roman numerals.
HaruPage::NUM_STYLE_UPPER_LETTER - page label is displayed using uppercase letters (from A to Z).
HaruPage::NUM_STYLE_LOWER_LETTERS - page label is displayed using lowercase letters (from a to z).

first_num

The first page number in this range.

prefix

The prefix for the page label. Optional, empty by default.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDoc::addPage | 처음으로 | HaruDoc::__construct


HaruDoc::__construct

(PECL haru:0.0.1)

HaruDoc::__construct -- Construct new HaruDoc instance

설명

void HaruDoc::__construct ( void )

Constructs new HaruDoc instance.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDoc::addPageLabel | 처음으로 | HaruDoc::createOutline


HaruDoc::createOutline

(PECL haru:0.0.1)

HaruDoc::createOutline -- Create a HaruOutline instance

설명

object HaruDoc::createOutline ( string $title [, object $parent_outline [, object $encoder]] )

Creates and returns new HaruOutline instance.

매개변수

title

The caption of new outline object.

parent_outline

A valid HaruOutline instance or NULL.

encoder

A valid HaruEncoder instance or NULL.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDoc::__construct | 처음으로 | HaruDoc::getCurrentEncoder


HaruDoc::getCurrentEncoder

(PECL haru:0.0.1)

HaruDoc::getCurrentEncoder -- Get HaruEncoder currently used in the document

설명

object HaruDoc::getCurrentEncoder ( void )

Returns HaruEncoder currently used in the document or FALSE if encoder is not set.

오류/예외

Throws HaruException on error.

참고

HaruDoc::setCurrentEncoder()

이전 | 위로 | 다음
HaruDoc::createOutline | 처음으로 | HaruDoc::getCurrentPage


HaruDoc::getCurrentPage

(PECL haru:0.0.1)

HaruDoc::getCurrentPage -- Return current page of the document

설명

object HaruDoc::getCurrentPage ( void )

Get current page of the document. Returns HaruPage instance on success or FALSE if there is no current page at the moment.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDoc::getCurrentEncoder | 처음으로 | HaruDoc::getEncoder


HaruDoc::getEncoder

(PECL haru:0.0.1)

HaruDoc::getEncoder -- Get HaruEncoder instance for the specified encoding

설명

object HaruDoc::getEncoder ( string $encoding )

Returns HaruEncoder instance for the specified encoding.

매개변수

encoding

The encoding name. See Builtin Encodings for the list of allowed values.

오류/예외

Throws HaruException on error.

참고

HaruDoc::setCurrentEncoder()
HaruDoc::getCurrentEncoder()

이전 | 위로 | 다음
HaruDoc::getCurrentPage | 처음으로 | HaruDoc::getFont


HaruDoc::getFont

(PECL haru:0.0.1)

HaruDoc::getFont -- Get HaruFont instance

설명

object HaruDoc::getFont ( string $fontname [, string $encoding] )

Creates and returns HaruFont instance with the specified fontname and encoding.

매개변수

fontname

The name of the font. See Builtin Fonts for the list of builtin fonts. You can also use the name of a font loaded via HaruDoc::loadTTF(), HaruDoc::loadTTC() and HaruDoc::loadType1().

encoding

The encoding to use. See Builtin Encodings for the list of supported encodings.

오류/예외

Throws HaruException on error.

참고

HaruPage::setFontAndSize()
HaruPage::getCurrentFont()

이전 | 위로 | 다음
HaruDoc::getEncoder | 처음으로 | HaruDoc::getInfoAttr


HaruDoc::getInfoAttr

(PECL haru:0.0.1)

HaruDoc::getInfoAttr -- Get current value of the specified document attribute

설명

string HaruDoc::getInfoAttr ( int $type )

Returns the string value of the specified document attribute.

매개변수

type

The type of the attribute. The following values are available:

HaruDoc::INFO_AUTHOR
HaruDoc::INFO_CREATOR
HaruDoc::INFO_TITLE
HaruDoc::INFO_SUBJECT
HaruDoc::INFO_KEYWORDS
HaruDoc::INFO_CREATION_DATE
HaruDoc::INFO_MOD_DATE

오류/예외

Throws HaruException on error.

참고

HaruDoc::setInfoAttr()
HaruDoc::setInfoDateAttr()

이전 | 위로 | 다음
HaruDoc::getFont | 처음으로 | HaruDoc::getPageLayout


HaruDoc::getPageLayout

(PECL haru:0.0.1)

HaruDoc::getPageLayout -- Get current page layout

설명

int HaruDoc::getPageLayout ( void )

Returns the page layout currently set in the document or FALSE if page layout was not set. See HaruDoc::setPageLayout() for the list of possible values.

오류/예외

Throws HaruException on error.

참고

HaruDoc::setPageLayout()

이전 | 위로 | 다음
HaruDoc::getInfoAttr | 처음으로 | HaruDoc::getPageMode


HaruDoc::getPageMode

(PECL haru:0.0.1)

HaruDoc::getPageMode -- Get current page mode

설명

int HaruDoc::getPageMode ( void )

Returns the page mode currently set in the document. See HaruDoc::setPageMode() for the list of possible values.

오류/예외

Throws HaruException on error.

참고

HaruDoc::setPageMode()

이전 | 위로 | 다음
HaruDoc::getPageLayout | 처음으로 | HaruDoc::getStreamSize


HaruDoc::getStreamSize

(PECL haru:0.0.1)

HaruDoc::getStreamSize -- Get the size of the temporary stream

설명

int HaruDoc::getStreamSize ( void )

Returns the size of the data in the temporary stream of the document. The size is zero if the document was not saved to the temporary stream.

오류/예외

Throws HaruException on error.

참고

HaruDoc::saveToStream()
HaruDoc::resetStream()
HaruDoc::readFromStream()

이전 | 위로 | 다음
HaruDoc::getPageMode | 처음으로 | HaruDoc::insertPage


HaruDoc::insertPage

(PECL haru:0.0.1)

HaruDoc::insertPage -- Insert new page just before the specified page

설명

object HaruDoc::insertPage ( object $page )

Creates new page and inserts just before the specified page. Returns new HaruPage instance.

매개변수

page

A valid HaruPage instance.

오류/예외

Throws HaruException on error.

참고

HaruDoc::addPage()

이전 | 위로 | 다음
HaruDoc::getStreamSize | 처음으로 | HaruDoc::loadJPEG


HaruDoc::loadJPEG

(PECL haru:0.0.1)

HaruDoc::loadJPEG -- Load JPEG image and return new HaruImage instance

설명

object HaruDoc::loadJPEG ( string $filename )

Loads the specified JPEG image and returns new HaruImage instance.

매개변수

filename

A valid JPEG image file.

오류/예외

Throws HaruException on error.

참고

HaruDoc::loadPNG()
HaruDoc::loadRAW()

이전 | 위로 | 다음
HaruDoc::insertPage | 처음으로 | HaruDoc::loadPNG


HaruDoc::loadPNG

(PECL haru:0.0.1)

HaruDoc::loadPNG -- Load PNG image and return HaruImage instance

설명

object HaruDoc::loadPNG ( string $filename [, bool $deferred] )

Loads PNG image and returns HaruImage instance. You can set deferred parameter to TRUE for deferred data loading, in this case only size and color are loaded immediately. Default value of deferred is FALSE.

Libharu might be built without libpng support, in this case each call to this function would result in exception.

매개변수

filename

The name of a PNG image file.

deferred

Do not load data immediately. Defaults to FALSE.

오류/예외

Throws HaruException on error.

참고

HaruDoc::loadJPEG()
HaruDoc::loadRAW()

이전 | 위로 | 다음
HaruDoc::loadJPEG | 처음으로 | HaruDoc::loadRaw


HaruDoc::loadRaw

(PECL haru:0.0.1)

HaruDoc::loadRaw -- Load RAW image and return HaruImage instance

설명

object HaruDoc::loadRaw ( string $filename, int $width, int $height, int $color_space )

Loads RAW image and returns new HaruImage instance.

매개변수

filename

The name of a RAW image file.

width

The width of the image.

height

The height of the image.

color_space

The color space of the image. Can be one of the following values:

HaruDoc::CS_DEVICE_GRAY
HaruDoc::CS_DEVICE_RGB
HaruDoc::CS_DEVICE_CMYK

오류/예외

Throws HaruException on error.

참고

HaruDoc::loadJPEG()
HaruDoc::loadPNG()

이전 | 위로 | 다음
HaruDoc::loadPNG | 처음으로 | HaruDoc::loadTTC


HaruDoc::loadTTC

(PECL haru:0.0.1)

HaruDoc::loadTTC -- Load the font with the specified index from TTC file

설명

string HaruDoc::loadTTC ( string $fontfile, int $index [, bool $embed] )

Loads the TrueType font with the specified index from a TrueType collection file.

매개변수

fontfile

The TrueType collection file.

index

The index of the font in the collection file.

embed

When set to TRUE, the glyph data of the font is embedded into the PDF file, otherwise only the matrix data is included. Defaults to FALSE.

반환값

Returns the name of the loaded font on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::loadTTF()
HaruDoc::loadType1()

이전 | 위로 | 다음
HaruDoc::loadRaw | 처음으로 | HaruDoc::loadTTF


HaruDoc::loadTTF

(PECL haru:0.0.1)

HaruDoc::loadTTF -- Load TTF font file

설명

string HaruDoc::loadTTF ( string $fontfile [, bool $embed] )

Loads the given TTF file and (optionally) embed its data into the document.

매개변수

fontfile

The TTF file to load.

embed

When set to TRUE, the glyph data of the font is embedded into the PDF file, otherwise only the matrix data is included. Defaults to FALSE.

반환값

Returns the name of the loaded font on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::loadTTC()
HaruDoc::loadType1()

이전 | 위로 | 다음
HaruDoc::loadTTC | 처음으로 | HaruDoc::loadType1


HaruDoc::loadType1

(PECL haru:0.0.1)

HaruDoc::loadType1 -- Load Type1 font

설명

string HaruDoc::loadType1 ( string $afmfile [, string $pfmfile] )

Loads Type1 font from the given file and registers it in the PDF document.

매개변수

afmfile

Path to an AFM file.

pfmfile

Path to a PFA/PFB file, optional. If it's not set only the glyph data of the font is embedded into the PDF document.

반환값

Returns the name of the loaded font on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::loadTTC()
HaruDoc::loadTTF()

이전 | 위로 | 다음
HaruDoc::loadTTF | 처음으로 | HaruDoc::output


HaruDoc::output

(PECL haru:0.0.1)

HaruDoc::output -- Write the document data to the output buffer

설명

bool HaruDoc::output ( void )

Writes the document data into standard output.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::save()

이전 | 위로 | 다음
HaruDoc::loadType1 | 처음으로 | HaruDoc::readFromStream


HaruDoc::readFromStream

(PECL haru:0.0.1)

HaruDoc::readFromStream -- Read data from the temporary stream

설명

string HaruDoc::readFromStream ( int $bytes )

Returns data from the temporary stream. The bytes parameter specifies how much bytes to read, though the stream may contain less bytes than requested.

오류/예외

Throws HaruException on error.

참고

HaruDoc::saveToStream()
HaruDoc::resetStream()
HaruDoc::getStreamSize()

이전 | 위로 | 다음
HaruDoc::output | 처음으로 | HaruDoc::resetError


HaruDoc::resetError

(PECL haru:0.0.1)

HaruDoc::resetError -- Reset error state of the document handle

설명

bool HaruDoc::resetError ( void )

Once an error code is set, most of the operations, including I/O processing functions cannot be performed. In case if you want to continue after the cause of the error has been fixed, you have to invoke this function in order to reset the document error state.

반환값

Always succeedes and returns TRUE.

이전 | 위로 | 다음
HaruDoc::readFromStream | 처음으로 | HaruDoc::resetStream


HaruDoc::resetStream

(PECL haru:0.0.1)

HaruDoc::resetStream -- Rewind the temporary stream

설명

bool HaruDoc::resetStream ( void )

Rewinds the temporary stream of the document.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::saveToStream()
HaruDoc::getStreamSize()
HaruDoc::readFromStream()

이전 | 위로 | 다음
HaruDoc::resetError | 처음으로 | HaruDoc::save


HaruDoc::save

(PECL haru:0.0.1)

HaruDoc::save -- Save the document into the specified file

설명

bool HaruDoc::save ( string $file )

Saves the document into the specified file.

매개변수

file

The file to save the document to.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::output()

이전 | 위로 | 다음
HaruDoc::resetStream | 처음으로 | HaruDoc::saveToStream


HaruDoc::saveToStream

(PECL haru:0.0.1)

HaruDoc::saveToStream -- Save the document into a temporary stream

설명

bool HaruDoc::saveToStream ( void )

Saves the document data into a temporary stream.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::resetStream()
HaruDoc::getStreamSize()
HaruDoc::readFromStream()

이전 | 위로 | 다음
HaruDoc::save | 처음으로 | HaruDoc::setCompressionMode


HaruDoc::setCompressionMode

(PECL haru:0.0.1)

HaruDoc::setCompressionMode -- Set compression mode for the document

설명

bool HaruDoc::setCompressionMode ( int $mode )

Defines compression mode for the document. In case when libharu was compiled without Zlib support this function will always throw HaruException.

매개변수

mode

The compression mode to use. The value is a combination of the following flags:

HaruDoc::COMP_NONE - all contents is not compressed.
HaruDoc::COMP_TEXT - compress the text data.
HaruDoc::COMP_IMAGE - compress the image data.
HaruDoc::COMP_METADATA - compress other data (fonts, cmaps).
HaruDoc::COMP_ALL - compress all data.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDoc::saveToStream | 처음으로 | HaruDoc::setCurrentEncoder


HaruDoc::setCurrentEncoder

(PECL haru:0.0.1)

HaruDoc::setCurrentEncoder -- Set the current encoder for the document

설명

bool HaruDoc::setCurrentEncoder ( string $encoding )

Defines the encoder currently used in the document.

매개변수

encoding

The name of the encoding to use. See Builtin Encodings for the list of allowed values.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDoc::setCompressionMode | 처음으로 | HaruDoc::setEncryptionMode


HaruDoc::setEncryptionMode

(PECL haru:0.0.1)

HaruDoc::setEncryptionMode -- Set encryption mode for the document

설명

bool HaruDoc::setEncryptionMode ( int $mode [, int $key_len] )

Defines encryption mode for the document. The encryption mode cannot be set before setting the password.

매개변수

mode

The encryption mode to use. Can be one of the following:

HaruDoc::ENCRYPT_R2 - use "revision2" algorithm.
HaruDoc::ENCRYPT_R3 - use "revision3" algorithm. Using this value bumps the version of PDF to 1.4.

key_len

The encryption key length in bytes. This parameter is optional and used only when mode is HaruDoc::ENCRYPT_R3. The default value is 5 (40bit).

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::setPassword()
HaruDoc::setPermission()

이전 | 위로 | 다음
HaruDoc::setCurrentEncoder | 처음으로 | HaruDoc::setInfoAttr


HaruDoc::setInfoAttr

(PECL haru:0.0.1)

HaruDoc::setInfoAttr -- Set the info attribute of the document

설명

bool HaruDoc::setInfoAttr ( int $type, string $info )

Defines an info attribute. Uses the current encoding of the document.

매개변수

type

The type of the attribute. Can be one of the following:

HaruDoc::INFO_AUTHOR
HaruDoc::INFO_CREATOR
HaruDoc::INFO_TITLE
HaruDoc::INFO_SUBJECT
HaruDoc::INFO_KEYWORDS

info

The value of the attribute.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::setInfoDateAttr()

이전 | 위로 | 다음
HaruDoc::setEncryptionMode | 처음으로 | HaruDoc::setInfoDateAttr


HaruDoc::setInfoDateAttr

(PECL haru:0.0.1)

HaruDoc::setInfoDateAttr -- Set the datetime info attributes of the document

설명

bool HaruDoc::setInfoDateAttr ( int $type, int $year, int $month, int $day, int $hour, int $min, int $sec, string $ind, int $off_hour, int $off_min )

Sets the datetime info attributes of the document.

매개변수

type

The type of the attribute. Can be one of the following:

HaruDoc::INFO_CREATION_DATE
HaruDoc::INFO_MOD_DATE

year

month

Between 1 and 12.

day

Between 1 and 31, 30, 29 or 28 (different for each month).

hour

Between 0 and 23.

min

Between 0 and 59.

sec

Between 0 and 59.

ind

The timezone relation to UTC, can be "", " ", "+", "-" and "Z".

off_hour

If ind is not " " or "", values between 0 and 23 are valid. Otherwise, this parameter is ignored.

off_min

If ind is not " " or "", values between 0 and 59 are valid. Otherwise, this parameter is ignored.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::setInfoAttr()

이전 | 위로 | 다음
HaruDoc::setInfoAttr | 처음으로 | HaruDoc::setOpenAction


HaruDoc::setOpenAction

(PECL haru:0.0.1)

HaruDoc::setOpenAction -- Define which page is shown when the document is opened

설명

bool HaruDoc::setOpenAction ( object $destination )

Defines wich page should be shown when the document is opened.

매개변수

destination

A valid HaruDestination instance.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDoc::setInfoDateAttr | 처음으로 | HaruDoc::setPageLayout


HaruDoc::setPageLayout

(PECL haru:0.0.1)

HaruDoc::setPageLayout -- Set how pages should be displayed

설명

bool HaruDoc::setPageLayout ( int $layout )

Defines how pages should be displayed.

매개변수

layout

The following values are accepted:

HaruDoc::PAGE_LAYOUT_SINGLE - only one page is displayed.
HaruDoc::PAGE_LAYOUT_ONE_COLUMN - display the pages in one column.
HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT - display pages in two columns, first page left.
HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT - display pages in two columns, first page right.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::getPageLayout()

이전 | 위로 | 다음
HaruDoc::setOpenAction | 처음으로 | HaruDoc::setPageMode


HaruDoc::setPageMode

(PECL haru:0.0.1)

HaruDoc::setPageMode -- Set how the document should be displayed

설명

bool HaruDoc::setPageMode ( int $mode )

Defines how the document should be displayed.

매개변수

mode

The following values are accepted:

HaruDoc::PAGE_MODE_USE_NONE - display the document with neither outline nor thumbnail.
HaruDoc::PAGE_MODE_USE_OUTLINE - display the document with outline pane.
HaruDoc::PAGE_MODE_USE_THUMBS - display the document with thumbnail pane.
HaruDoc::PAGE_MODE_FULL_SCREEN - display the document with full screen mode.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::getPageMode()

이전 | 위로 | 다음
HaruDoc::setPageLayout | 처음으로 | HaruDoc::setPagesConfiguration


HaruDoc::setPagesConfiguration

(PECL haru:0.0.1)

HaruDoc::setPagesConfiguration -- Set the number of pages per set of pages

설명

bool HaruDoc::setPagesConfiguration ( int $page_per_pages )

By default the document has one pages object as a root for all pages. All page objects are create as branches of this object. One pages object can contain only 8191, therefore the maximum number of pages per document is 8191. But you can change that fact by setting page_per_pages parameter, so that the root pages object contains 8191 more pages (not page) objects, which in turn contain 8191 pages each. So the maximum number of pages in the document becomes 8191*page_per_pages.

매개변수

page_per_pages

The numbers of pages that a pages object can contain.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDoc::setPageMode | 처음으로 | HaruDoc::setPassword


HaruDoc::setPassword

(PECL haru:0.0.1)

HaruDoc::setPassword -- Set owner and user passwords for the document

설명

bool HaruDoc::setPassword ( string $owner_password, string $user_password )

Defines owner and user passwords for the document. Setting the passwords makes the document contents encrypted.

매개변수

owner_password

The password of the owner, which can change permissions of the document. Empty password is not accepted. Owner's password cannot be the same as the user's password.

user_password

The password of the user. Can be empty.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::setEncryptionMode()
HaruDoc::setPermission()

이전 | 위로 | 다음
HaruDoc::setPagesConfiguration | 처음으로 | HaruDoc::setPermission


HaruDoc::setPermission

(PECL haru:0.0.1)

HaruDoc::setPermission -- Set permissions for the document

설명

bool HaruDoc::setPermission ( int $permission )

Defines permissions for the document.

매개변수

permission

The values is a combination of these flags:

HaruDoc::ENABLE_READ - user can read the document.
HaruDoc::ENABLE_PRINT - user can print the document.
HaruDoc::ENABLE_EDIT_ALL - user can edit the contents of the document other than annotations and form fields.
HaruDoc::ENABLE_COPY - user can copy the text and the graphics of the document.
HaruDoc::ENABLE_EDIT - user can add or modify the annotations and form fields of the document.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::setPassword()
HaruDoc::setEncryptionMode()

이전 | 위로 | 다음
HaruDoc::setPassword | 처음으로 | HaruDoc::useCNSEncodings


HaruDoc::useCNSEncodings

(PECL haru:0.0.1)

HaruDoc::useCNSEncodings -- Enable Chinese simplified encodings

설명

bool HaruDoc::useCNSEncodings ( void )

Enables Chinese simplified encodings.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::useCNSFonts()

이전 | 위로 | 다음
HaruDoc::setPermission | 처음으로 | HaruDoc::useCNSFonts


HaruDoc::useCNSFonts

(PECL haru:0.0.1)

HaruDoc::useCNSFonts -- Enable builtin Chinese simplified fonts

설명

bool HaruDoc::useCNSFonts ( void )

Enableis builtin Chinese simplified fonts.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::useCNSEncodings()

이전 | 위로 | 다음
HaruDoc::useCNSEncodings | 처음으로 | HaruDoc::useCNTEncodings


HaruDoc::useCNTEncodings

(PECL haru:0.0.1)

HaruDoc::useCNTEncodings -- Enable Chinese traditional encodings

설명

bool HaruDoc::useCNTEncodings ( void )

Enables Chinese traditional encodings.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::useCNTFonts()

이전 | 위로 | 다음
HaruDoc::useCNSFonts | 처음으로 | HaruDoc::useCNTFonts


HaruDoc::useCNTFonts

(PECL haru:0.0.1)

HaruDoc::useCNTFonts -- Enable builtin Chinese traditional fonts

설명

bool HaruDoc::useCNTFonts ( void )

Enables builtin Chinese traditional fonts.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::useCNTEncodings()

이전 | 위로 | 다음
HaruDoc::useCNTEncodings | 처음으로 | HaruDoc::useJPEncodings


HaruDoc::useJPEncodings

(PECL haru:0.0.1)

HaruDoc::useJPEncodings -- Enable Japanese encodings

설명

bool HaruDoc::useJPEncodings ( void )

Enables Japanese encodings.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::useJPFonts()

이전 | 위로 | 다음
HaruDoc::useCNTFonts | 처음으로 | HaruDoc::useJPFonts


HaruDoc::useJPFonts

(PECL haru:0.0.1)

HaruDoc::useJPFonts -- Enable builtin Japanese fonts

설명

bool HaruDoc::useJPFonts ( void )

Enables builtin Japanese fonts.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::useJPEncodings()

이전 | 위로 | 다음
HaruDoc::useJPEncodings | 처음으로 | HaruDoc::useKREncodings


HaruDoc::useKREncodings

(PECL haru:0.0.1)

HaruDoc::useKREncodings -- Enable Korean encodings

설명

bool HaruDoc::useKREncodings ( void )

Enables Korean encodings.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::useKRFonts()

이전 | 위로 | 다음
HaruDoc::useJPFonts | 처음으로 | HaruDoc::useKRFonts


HaruDoc::useKRFonts

(PECL haru:0.0.1)

HaruDoc::useKRFonts -- Enable builtin Korean fonts

설명

bool HaruDoc::useKRFonts ( void )

Enables builtin Korean fonts.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::useKREncodings()

이전 | 위로 | 다음
HaruDoc::useKREncodings | 처음으로 | HaruEncoder::getByteType


HaruEncoder::getByteType

(PECL haru:0.0.1)

HaruEncoder::getByteType -- Get the type of the byte in the text

설명

int HaruEncoder::getByteType ( string $text, int $index )

Returns the type of the byte in the text on the specified position. The result is one of the following values:
HaruEncoder::BYTE_TYPE_SINGLE - single byte character.
HaruEncoder::BYTE_TYPE_LEAD - lead byte of a double-byte character.
HaruEncoder::BYTE_TYPE_TRAIL - trailing byte of a double-byte character.
HaruEncoder::BYTE_TYPE_UNKNOWN - invalid encoder or cannot detect the byte type.

매개변수

text

The text.

index

The position in the text.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruDoc::useKRFonts | 처음으로 | HaruEncoder::getType


HaruEncoder::getType

(PECL haru:0.0.1)

HaruEncoder::getType -- Get the type of the encoder

설명

int HaruEncoder::getType ( void )

Returns the type of the encoder. The result is one of the followin values:
HaruEncoder::TYPE_SINGLE_BYTE - the encoder is for single byte characters.
HaruEncoder::TYPE_DOUBLE_BYTE - the encoder is for multibyte characters.
HaruEncoder::TYPE_UNINITIALIZED - the encoder is not initialized.
HaruEncoder::UNKNOWN - the encoder is invalid.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruEncoder::getByteType | 처음으로 | HaruEncoder::getUnicode


HaruEncoder::getUnicode

(PECL haru:0.0.1)

HaruEncoder::getUnicode -- Convert the specified character to unicode

설명

int HaruEncoder::getUnicode ( int $character )

Converts the specified character to unicode.

매개변수

character

The character code to convert.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruEncoder::getType | 처음으로 | HaruEncoder::getWritingMode


HaruEncoder::getWritingMode

(PECL haru:0.0.1)

HaruEncoder::getWritingMode -- Get the writing mode of the encoder

설명

int HaruEncoder::getWritingMode ( void )

Returns the writing mode of the encoder. The result value is on of the following:
HaruEncoder::WMODE_HORIZONTAL - horizontal writing mode.
HaruEncoder::WMODE_VERTICAL - vertical writing mode.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruEncoder::getUnicode | 처음으로 | HaruFont::getAscent


HaruFont::getAscent

(PECL haru:0.0.1)

HaruFont::getAscent -- Get the vertical ascent of the font

설명

int HaruFont::getAscent ( void )

Returns the vertical ascent of the font.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruEncoder::getWritingMode | 처음으로 | HaruFont::getCapHeight


HaruFont::getCapHeight

(PECL haru:0.0.1)

HaruFont::getCapHeight -- Get the distance from the baseline of uppercase letters

설명

int HaruFont::getCapHeight ( void )

Returns the distance from the baseline of uppercase letters.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruFont::getAscent | 처음으로 | HaruFont::getDescent


HaruFont::getDescent

(PECL haru:0.0.1)

HaruFont::getDescent -- Get the vertical descent of the font

설명

int HaruFont::getDescent ( void )

Return the vertical descent of the font.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruFont::getCapHeight | 처음으로 | HaruFont::getEncodingName


HaruFont::getEncodingName

(PECL haru:0.0.1)

HaruFont::getEncodingName -- Get the name of the encoding

설명

string HaruFont::getEncodingName ( void )

Returns the name of the font encoding.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruFont::getDescent | 처음으로 | HaruFont::getFontName


HaruFont::getFontName

(PECL haru:0.0.1)

HaruFont::getFontName -- Get the name of the font

설명

string HaruFont::getFontName ( void )

Returns the name of the font.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruFont::getEncodingName | 처음으로 | HaruFont::getTextWidth


HaruFont::getTextWidth

(PECL haru:0.0.1)

HaruFont::getTextWidth -- Get the total width of the text, number of characters, number of words and number of spaces

설명

array HaruFont::getTextWidth ( string $text )

Returns the total width of the text, number of characters, number of words and number of spaces in the given text.

매개변수

text

The text to measure.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruFont::getFontName | 처음으로 | HaruFont::getUnicodeWidth


HaruFont::getUnicodeWidth

(PECL haru:0.0.1)

HaruFont::getUnicodeWidth -- Get the width of the character in the font

설명

int HaruFont::getUnicodeWidth ( int $character )

Returns the width of the character in the font.

매개변수

character

The code of the character.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruFont::getTextWidth | 처음으로 | HaruFont::getXHeight


HaruFont::getXHeight

(PECL haru:0.0.1)

HaruFont::getXHeight -- Get the distance from the baseline of lowercase letters

설명

int HaruFont::getXHeight ( void )

Returns the distance from the baseline of lowercase letters.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruFont::getUnicodeWidth | 처음으로 | HaruFont::measureText


HaruFont::measureText

(PECL haru:0.0.1)

HaruFont::measureText -- Calculate the number of characters which can be included within the specified width

설명

int HaruFont::measureText ( string $text, float $width, float $font_size, float $char_space, float $word_space [, bool $word_wrap] )

Returns the number of characters which can be included within the specified width.

매개변수

text

The text to fit the width.

width

The width of the area to put the text to.

font_size

The size of the font.

char_space

The character spacing.

word_space

The word spacing.

word_wrap

When this parameter is set to TRUE the function "emulates" word wrapping and doesn't include the part of the current word if reached the end of the area. Defaults to FALSE.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruFont::getXHeight | 처음으로 | HaruImage::getBitsPerComponent


HaruImage::getBitsPerComponent

(PECL haru:0.0.1)

HaruImage::getBitsPerComponent -- Get the number of bits used to describe each color component of the image

설명

int HaruImage::getBitsPerComponent ( void )

Returns the number of bits used to describe each color component of the image.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruFont::measureText | 처음으로 | HaruImage::getColorSpace


HaruImage::getColorSpace

(PECL haru:0.0.1)

HaruImage::getColorSpace -- Get the name of the color space

설명

string HaruImage::getColorSpace ( void )

Returns the name of the color space of the image. The name is one of the following values:
"DeviceGray"
"DeviceRGB"
"DeviceCMYK"
"Indexed"

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruImage::getBitsPerComponent | 처음으로 | HaruImage::getHeight


HaruImage::getHeight

(PECL haru:0.0.1)

HaruImage::getHeight -- Get the height of the image

설명

int HaruImage::getHeight ( void )

Returns the height of the image.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruImage::getColorSpace | 처음으로 | HaruImage::getSize


HaruImage::getSize

(PECL haru:0.0.1)

HaruImage::getSize -- Get size of the image

설명

array HaruImage::getSize ( void )

Returns an array with two elements: width and height, which contain appropriate dimensions of the image.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruImage::getHeight | 처음으로 | HaruImage::getWidth


HaruImage::getWidth

(PECL haru:0.0.1)

HaruImage::getWidth -- Get the width of the image

설명

int HaruImage::getWidth ( void )

Returns the width of the image.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruImage::getSize | 처음으로 | HaruImage::setColorMask


HaruImage::setColorMask

(PECL haru:0.0.1)

HaruImage::setColorMask -- Set the color mask of the image

설명

bool HaruImage::setColorMask ( int $rmin, int $rmax, int $gmin, int $gmax, int $bmin, int $bmax )

Defines the transparent color of the image using the RGB range values. The color within the range is displayed as a transparent color. The color space of the image must be RGB.

매개변수

rmin

The lower limit of red. Must be between 0 and 255.

rmax

The upper limit of red. Must be between 0 and 255.

gmin

The lower limit of green. Must be between 0 and 255.

gmax

The upper limit of green. Must be between 0 and 255.

bmin

The lower limit of blue. Must be between 0 and 255.

bmax

The upper limit of blue. Must be between 0 and 255.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruImage::getWidth | 처음으로 | HaruImage::setMaskImage


HaruImage::setMaskImage

(PECL haru:0.0.1)

HaruImage::setMaskImage -- Set the image mask

설명

bool HaruImage::setMaskImage ( object $mask_image )

Sets the image used as image-mask. It must be 1bit gray-scale color image.

매개변수

mask_image

A valid HaruImage instance.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruImage::setColorMask | 처음으로 | HaruOutline::setDestination


HaruOutline::setDestination

(PECL haru:0.0.1)

HaruOutline::setDestination -- Set the destination for the outline

설명

bool HaruOutline::setDestination ( object $destination )

Sets a destination object which becomes a target to jump to when the outline is clicked.

매개변수

destination

A valid HaruDestination instance.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruImage::setMaskImage | 처음으로 | HaruOutline::setOpened


HaruOutline::setOpened

(PECL haru:0.0.1)

HaruOutline::setOpened -- Set the initial state of the outline

설명

bool HaruOutline::setOpened ( bool $opened )

Defines whether this node is opened or not when the outline is displayed for the first time.

매개변수

opened

TRUE means open, FALSE - closed.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruOutline::setDestination | 처음으로 | HaruPage::arc


HaruPage::arc

(PECL haru:0.0.1)

HaruPage::arc -- Append an arc to the current path

설명

bool HaruPage::arc ( float $x, float $y, float $ray, float $ang1, float $ang2 )

Appends an arc to the current path.

매개변수

x

Horizontal coordinate of the center.

y

Vertical coordinate of the center.

ray

The ray of the arc.

ang1

The angle of the beginning.

ang2

The angle of the end. Must be greater than ang1.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruOutline::setOpened | 처음으로 | HaruPage::beginText


HaruPage::beginText

(PECL haru:0.0.1)

HaruPage::beginText -- Begin a text object and set the current text position to (0,0)

설명

bool HaruPage::beginText ( void )

Begins new text object and sets the current text position to (0,0).

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::arc | 처음으로 | HaruPage::circle


HaruPage::circle

(PECL haru:0.0.1)

HaruPage::circle -- Append a circle to the current path

설명

bool HaruPage::circle ( float $x, float $y, float $ray )

Appends a circle to the current path.

매개변수

x

Horizontal coordinate of the center point.

y

Vertical coordinate of the center point.

ray

The ray of the circle.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::beginText | 처음으로 | HaruPage::closePath


HaruPage::closePath

(PECL haru:0.0.1)

HaruPage::closePath -- Append a straight line from the current point to the start point of the path

설명

bool HaruPage::closePath ( void )

Appends a straight line from the current point to the start point of the path.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::circle | 처음으로 | HaruPage::concat


HaruPage::concat

(PECL haru:0.0.1)

HaruPage::concat -- Concatenate current transformation matrix of the page and the specified matrix

설명

bool HaruPage::concat ( float $a, float $b, float $c, float $d, float $x, float $y )

Concatenates current transformation matrix of the page and the specified matrix.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::closePath | 처음으로 | HaruPage::createDestination


HaruPage::createDestination

(PECL haru:0.0.1)

HaruPage::createDestination -- Create new HaruDestination instance

설명

object HaruPage::createDestination ( void )

Creates and returns new HaruDestination instance.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::concat | 처음으로 | HaruPage::createLinkAnnotation


HaruPage::createLinkAnnotation

(PECL haru:0.0.1)

HaruPage::createLinkAnnotation -- Create new HaruAnnotation instance

설명

object HaruPage::createLinkAnnotation ( array $rectangle, object $destination )

Creates and returns new HaruAnnotation instance.

매개변수

rectangle

An array with 4 coordinates of the clickable area.

destination

Valid HaruDestination instance.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::createDestination | 처음으로 | HaruPage::createTextAnnotation


HaruPage::createTextAnnotation

(PECL haru:0.0.1)

HaruPage::createTextAnnotation -- Create new HaruAnnotation instance

설명

object HaruPage::createTextAnnotation ( array $rectangle, string $text [, object $encoder] )

Creates and returns new HaruAnnotation instance.

매개변수

rectangle

An array with 4 coordinates of the annotation area.

text

The text to be displayed.

encoder

Optional HaruEncoder instance.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::createLinkAnnotation | 처음으로 | HaruPage::createURLAnnotation


HaruPage::createURLAnnotation

(PECL haru:0.0.1)

HaruPage::createURLAnnotation -- Create and return new HaruAnnotation instance

설명

object HaruPage::createURLAnnotation ( array $rectangle, string $url )

Creates and returns new HaruAnnotation instance.

매개변수

rectangle

An array with 4 coordinates of the clickable area.

url

The URL to open.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::createTextAnnotation | 처음으로 | HaruPage::curveTo2


HaruPage::curveTo

(PECL haru:0.0.1)

HaruPage::curveTo -- Append a Bezier curve to the current path

설명

bool HaruPage::curveTo ( float $x1, float $y1, float $x2, float $y2, float $x3, float $y3 )

Append a Bezier curve to the current path. The point (x1, y1) and the point (x2, y2) are used as the control points for a Bezier curve and current point is moved to the point (x3, y3).

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::curveTo3 | 처음으로 | HaruPage::drawImage


HaruPage::curveTo2

(PECL haru:0.0.1)

HaruPage::curveTo2 -- Append a Bezier curve to the current path

설명

bool HaruPage::curveTo2 ( float $x2, float $y2, float $x3, float $y3 )

Appends a Bezier curve to the current path. The current point and the point (x2, y2) are used as the control points for the Bezier curve and current point is moved to the point (x3, y3).

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::createURLAnnotation | 처음으로 | HaruPage::curveTo3


HaruPage::curveTo3

(PECL haru:0.0.1)

HaruPage::curveTo3 -- Append a Bezier curve to the current path

설명

bool HaruPage::curveTo3 ( float $x1, float $y1, float $x3, float $y3 )

Appends a Bezier curve to the current path. The point (x1, y1) and the point (x3, y3) are used as the control points for a Bezier curve and current point is moved to the point (x3, y3).

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::curveTo2 | 처음으로 | HaruPage::curveTo


HaruPage::drawImage

(PECL haru:0.0.1)

HaruPage::drawImage -- Show image at the page

설명

bool HaruPage::drawImage ( object $image, float $x, float $y, float $width, float $height )

Show image at the page.

매개변수

image

Valid HaruImage instance.

x

The left border of the area where the image is displayed.

y

The lower border of the area where the image is displayed.

width

The width of the image area.

height

The height of the image area.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::curveTo | 처음으로 | HaruPage::ellipse


HaruPage::ellipse

(PECL haru:0.0.1)

HaruPage::ellipse -- Append an ellipse to the current path

설명

bool HaruPage::ellipse ( float $x, float $y, float $xray, float $yray )

Appends an ellipse to the current path.

매개변수

x

Horizontal coordinate of the center.

y

Vertical coordinate of the center.

xray

The ray of the ellipse in the x direction.

yray

The ray of the ellipse in the y direction.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::drawImage | 처음으로 | HaruPage::endPath


HaruPage::endPath

(PECL haru:0.0.1)

HaruPage::endPath -- End current path object without filling and painting operations

설명

bool HaruPage::endPath ( void )

Ends current path object without performing filling and painting operations.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::ellipse | 처음으로 | HaruPage::endText


HaruPage::endText

(PECL haru:0.0.1)

HaruPage::endText -- End current text object

설명

bool HaruPage::endText ( void )

Finalizes current text object.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::endPath | 처음으로 | HaruPage::eofill


HaruPage::eofill

(PECL haru:0.0.1)

HaruPage::eofill -- Fill current path using even-odd rule

설명

bool HaruPage::eofill ( void )

Fills current path using even-odd rule.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::endText | 처음으로 | HaruPage::eoFillStroke


HaruPage::eoFillStroke

(PECL haru:0.0.1)

HaruPage::eoFillStroke -- Fill current path using even-odd rule, then paint the path

설명

bool HaruPage::eoFillStroke ( [bool $close_path] )

Fills current path using even-odd rule, then paints the path.

매개변수

close_path

Optional parameter. When set to TRUE, the function closes the current path. Default to FALSE.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::eofill | 처음으로 | HaruPage::fill


HaruPage::fill

(PECL haru:0.0.1)

HaruPage::fill -- Fill current path using nonzero winding number rule

설명

bool HaruPage::fill ( void )

Fills current path using nonzero winding number rule.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::eoFillStroke | 처음으로 | HaruPage::fillStroke


HaruPage::fillStroke

(PECL haru:0.0.1)

HaruPage::fillStroke -- Fill current path using nonzero winding number rule, then paint the path

설명

bool HaruPage::fillStroke ( [bool $close_path] )

Fills current path using nonzero winding number rule, then paints the path.

매개변수

close_path

Optional parameter. When set to TRUE, the function closes the current path. Default to FALSE.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::fill | 처음으로 | HaruPage::getCharSpace


HaruPage::getCharSpace

(PECL haru:0.0.1)

HaruPage::getCharSpace -- Get the current value of character spacing

설명

float HaruPage::getCharSpace ( void )

Returns the current value of character spacing.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::fillStroke | 처음으로 | HaruPage::getCMYKFill


HaruPage::getCMYKFill

(PECL haru:0.0.1)

HaruPage::getCMYKFill -- Get the current filling color

설명

array HaruPage::getCMYKFill ( void )

Returns the current filling color as an array with 4 elements ("c", "m", "y" and "k").

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::getCharSpace | 처음으로 | HaruPage::getCMYKStroke


HaruPage::getCMYKStroke

(PECL haru:0.0.1)

HaruPage::getCMYKStroke -- Get the current stroking color

설명

array HaruPage::getCMYKStroke ( void )

Returns the current stroking color as an array with 4 elements ("c", "m", "y" and "k").

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::getCMYKFill | 처음으로 | HaruPage::getCurrentFont


HaruPage::getCurrentFont

(PECL haru:0.0.1)

HaruPage::getCurrentFont -- Get the currently used font

설명

object HaruPage::getCurrentFont ( void )

Returns the currently used font as an instance of HaruFont.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::getCMYKStroke | 처음으로 | HaruPage::getCurrentFontSize


HaruPage::getCurrentFontSize

(PECL haru:0.0.1)

HaruPage::getCurrentFontSize -- Get the current font size

설명

float HaruPage::getCurrentFontSize ( void )

Returns the current font size.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::getCurrentFont | 처음으로 | HaruPage::getCurrentPos


HaruPage::getCurrentPos

(PECL haru:0.0.1)

HaruPage::getCurrentPos -- Get the current position for path painting

설명

array HaruPage::getCurrentPos ( void )

Returns the current position for path painting as an array of with two elements - "x" and "y".

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::getCurrentFontSize | 처음으로 | HaruPage::getCurrentTextPos


HaruPage::getCurrentTextPos

(PECL haru:0.0.1)

HaruPage::getCurrentTextPos -- Get the current position for text printing

설명

array HaruPage::getCurrentTextPos ( void )

Returns the current position for text printing as an array with 2 elements - "x" and "y".

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::getCurrentPos | 처음으로 | HaruPage::getDash


HaruPage::getDash

(PECL haru:0.0.1)

HaruPage::getDash -- Get the current dash pattern

설명

array HaruPage::getDash ( void )

Returns the current dash pattern as an array of two elements - "pattern" and "phase" or FALSE if dash pattern was not set. See HaruPage::setDash() for more information on dash patterns.

오류/예외

Throws HaruException on error.

참고

HaruPage::setDash()

이전 | 위로 | 다음
HaruPage::getCurrentTextPos | 처음으로 | HaruPage::getFillingColorSpace


HaruPage::getFillingColorSpace

(PECL haru:0.0.1)

HaruPage::getFillingColorSpace -- Get the current filling color space

설명

int HaruPage::getFillingColorSpace ( void )

Returns the current filling color space. The result value is one of the following:
HaruDoc::CS_DEVICE_GRAY
HaruDoc::CS_DEVICE_RGB
HaruDoc::CS_DEVICE_CMYK
HaruDoc::CS_CAL_GRAY
HaruDoc::CS_CAL_RGB
HaruDoc::CS_LAB
HaruDoc::CS_ICC_BASED
HaruDoc::CS_SEPARATION
HaruDoc::CS_DEVICE_N
HaruDoc::CS_INDEXED
HaruDoc::CS_PATTERN

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::getDash | 처음으로 | HaruPage::getFlatness


HaruPage::getFlatness

(PECL haru:0.0.1)

HaruPage::getFlatness -- Get the flatness of the page

설명

float HaruPage::getFlatness ( void )

Returns the flatness of the page.

오류/예외

Throws HaruException on error.

참고

HaruPage::setFlatness()

이전 | 위로 | 다음
HaruPage::getFillingColorSpace | 처음으로 | HaruPage::getGMode


HaruPage::getGMode

(PECL haru:0.0.1)

HaruPage::getGMode -- Get the current graphics mode

설명

int HaruPage::getGMode ( void )

Returns the current graphics mode. The result value is one of the following:
HaruPage::GMODE_PAGE_DESCRIPTION
HaruPage::GMODE_TEXT_OBJECT
HaruPage::GMODE_PATH_OBJECT
HaruPage::GMODE_CLIPPING_PATH
HaruPage::GMODE_SHADING
HaruPage::GMODE_INLINE_IMAGE
HaruPage::GMODE_EXTERNAL_OBJECT

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::getFlatness | 처음으로 | HaruPage::getGrayFill


HaruPage::getGrayFill

(PECL haru:0.0.1)

HaruPage::getGrayFill -- Get the current filling color

설명

float HaruPage::getGrayFill ( void )

Returns the current filling color.

오류/예외

Throws HaruException on error.

참고

HaruPage::setGrayFill()

이전 | 위로 | 다음
HaruPage::getGMode | 처음으로 | HaruPage::getGrayStroke


HaruPage::getGrayStroke

(PECL haru:0.0.1)

HaruPage::getGrayStroke -- Get the current stroking color

설명

float HaruPage::getGrayStroke ( void )

Returns the current stroking color.

오류/예외

Throws HaruException on error.

참고

HaruPage::setGrayStroke()

이전 | 위로 | 다음
HaruPage::getGrayFill | 처음으로 | HaruPage::getHeight


HaruPage::getHeight

(PECL haru:0.0.1)

HaruPage::getHeight -- Get the height of the page

설명

float HaruPage::getHeight ( void )

Returns the height of the page.

오류/예외

Throws HaruException on error.

참고

HaruPage::setHeight()

이전 | 위로 | 다음
HaruPage::getGrayStroke | 처음으로 | HaruPage::getHorizontalScaling


HaruPage::getHorizontalScaling

(PECL haru:0.0.1)

HaruPage::getHorizontalScaling -- Get the current value of horizontal scaling

설명

float HaruPage::getHorizontalScaling ( void )

Returns the current value of horizontal scaling.

오류/예외

Throws HaruException on error.

참고

HaruPage::setHorizontalScaling()

이전 | 위로 | 다음
HaruPage::getHeight | 처음으로 | HaruPage::getLineCap


HaruPage::getLineCap

(PECL haru:0.0.1)

HaruPage::getLineCap -- Get the current line cap style

설명

int HaruPage::getLineCap ( void )

Returns the current line cap style. The result value is one of the following:
HaruPage::BUTT_END - the line is squared off at the endpoint of the path.
HaruPage::ROUND_END - the end of the line becomes a semicircle with center in the end point of the path.
HaruPage::PROJECTING_SCUARE_END - the line continues to the point that exceeds half of the stroke width the end point.

오류/예외

Throws HaruException on error.

참고

HaruPage::setLineCap()

이전 | 위로 | 다음
HaruPage::getHorizontalScaling | 처음으로 | HaruPage::getLineJoin


HaruPage::getLineJoin

(PECL haru:0.0.1)

HaruPage::getLineJoin -- Get the current line join style

설명

int HaruPage::getLineJoin ( void )

Returns the current line join style. The result value is one of the following:
HaruPage::MITER_JOIN
HaruPage::ROUND_JOIN
HaruPage::BEVEL_JOIN

오류/예외

Throws HaruException on error.

참고

HaruPage::setLineJoin()

이전 | 위로 | 다음
HaruPage::getLineCap | 처음으로 | HaruPage::getLineWidth


HaruPage::getLineWidth

(PECL haru:0.0.1)

HaruPage::getLineWidth -- Get the current line width

설명

float HaruPage::getLineWidth ( void )

Returns the current line width.

오류/예외

Throws HaruException on error.

참고

HaruPage::setLineWidth()

이전 | 위로 | 다음
HaruPage::getLineJoin | 처음으로 | HaruPage::getMiterLimit


HaruPage::getMiterLimit

(PECL haru:0.0.1)

HaruPage::getMiterLimit -- Get the value of miter limit

설명

float HaruPage::getMiterLimit ( void )

Returns the value of miter limit.

오류/예외

Throws HaruException on error.

참고

HaruPage::setMiterLimit()

이전 | 위로 | 다음
HaruPage::getLineWidth | 처음으로 | HaruPage::getRGBFill


HaruPage::getRGBFill

(PECL haru:0.0.1)

HaruPage::getRGBFill -- Get the current filling color

설명

array HaruPage::getRGBFill ( void )

Returns the current filling color as an array with 3 elements: "r", "g" and "b".

오류/예외

Throws HaruException on error.

참고

HaruPage::setRGBFill()

이전 | 위로 | 다음
HaruPage::getMiterLimit | 처음으로 | HaruPage::getRGBStroke


HaruPage::getRGBStroke

(PECL haru:0.0.1)

HaruPage::getRGBStroke -- Get the current stroking color

설명

array HaruPage::getRGBStroke ( void )

Returns the current stroking color.

오류/예외

Throws HaruException on error.

참고

HaruPage::setRGBStroke()

이전 | 위로 | 다음
HaruPage::getRGBFill | 처음으로 | HaruPage::getStrokingColorSpace


HaruPage::getStrokingColorSpace

(PECL haru:0.0.1)

HaruPage::getStrokingColorSpace -- Get the current stroking color space

설명

int HaruPage::getStrokingColorSpace ( void )

Returns the current stroking color space. The list of return values is the same as for HaruPage::getFillingColorSpace().

오류/예외

Throws HaruException on error.

참고

HaruPage::getFillingColorSpace()

이전 | 위로 | 다음
HaruPage::getRGBStroke | 처음으로 | HaruPage::getTextLeading


HaruPage::getTextLeading

(PECL haru:0.0.1)

HaruPage::getTextLeading -- Get the current value of line spacing

설명

float HaruPage::getTextLeading ( void )

Returns the current value of line spacing.

오류/예외

Throws HaruException on error.

참고

HaruPage::setTextLeading()

이전 | 위로 | 다음
HaruPage::getStrokingColorSpace | 처음으로 | HaruPage::getTextMatrix


HaruPage::getTextMatrix

(PECL haru:0.0.1)

HaruPage::getTextMatrix -- Get the current text transformation matrix of the page

설명

array HaruPage::getTextMatrix ( void )

Returns the current text transformation matrix of the page as an array of 6 elements: "a", "b", "c", "d", "x" and "y".

오류/예외

Throws HaruException on error.

참고

HaruPage::setTextMatrix()

이전 | 위로 | 다음
HaruPage::getTextLeading | 처음으로 | HaruPage::getTextRenderingMode


HaruPage::getTextRenderingMode

(PECL haru:0.0.1)

HaruPage::getTextRenderingMode -- Get the current text rendering mode

설명

int HaruPage::getTextRenderingMode ( void )

Returns the current text rendering mode. The result value is one of the following:
HaruPage::FILL
HaruPage::STROKE
HaruPage::FILL_THEN_STROKE
HaruPage::INVISIBLE
HaruPage::FILL_CLIPPING
HaruPage::STROKE_CLIPPING
HaruPage::FILL_STROKE_CLIPPING
HaruPage::CLIPPING

오류/예외

Throws HaruException on error.

참고

HaruPage::setTextRenderingMode()

이전 | 위로 | 다음
HaruPage::getTextMatrix | 처음으로 | HaruPage::getTextRise


HaruPage::getTextRise

(PECL haru:0.0.1)

HaruPage::getTextRise -- Get the current value of text rising

설명

float HaruPage::getTextRise ( void )

Returns the current value of text rising.

오류/예외

Throws HaruException on error.

참고

HaruPage::setTextRise()

이전 | 위로 | 다음
HaruPage::getTextRenderingMode | 처음으로 | HaruPage::getTextWidth


HaruPage::getTextWidth

(PECL haru:0.0.1)

HaruPage::getTextWidth -- Get the width of the text using current fontsize, character spacing and word spacing

설명

float HaruPage::getTextWidth ( string $text )

Returns the width of the text using current fontsize, character spacing and word spacing.

매개변수

text

The text to measure.

오류/예외

Throws HaruException on error.

참고

HaruPage::measureText()

이전 | 위로 | 다음
HaruPage::getTextRise | 처음으로 | HaruPage::getTransMatrix


HaruPage::getTransMatrix

(PECL haru:0.0.1)

HaruPage::getTransMatrix -- Get the current transformation matrix of the page

설명

array HaruPage::getTransMatrix ( void )

Returns the current transformation matrix of the page as an array of 6 elements: "a", "b", "c", "d", "x" and "y".

오류/예외

Throws HaruException on error.

참고

HaruPage::concat()

이전 | 위로 | 다음
HaruPage::getTextWidth | 처음으로 | HaruPage::getWidth


HaruPage::getWidth

(PECL haru:0.0.1)

HaruPage::getWidth -- Get the width of the page

설명

float HaruPage::getWidth ( void )

Returns the width of the page.

오류/예외

Throws HaruException on error.

참고

HaruPage::setWidth()

이전 | 위로 | 다음
HaruPage::getTransMatrix | 처음으로 | HaruPage::getWordSpace


HaruPage::getWordSpace

(PECL haru:0.0.1)

HaruPage::getWordSpace -- Get the current value of word spacing

설명

float HaruPage::getWordSpace ( void )

Returns the current value of word spacing.

오류/예외

Throws HaruException on error.

참고

HaruPage::setWordSpace()

이전 | 위로 | 다음
HaruPage::getWidth | 처음으로 | HaruPage::lineTo


HaruPage::lineTo

(PECL haru:0.0.1)

HaruPage::lineTo -- Draw a line from the current point to the specified point

설명

bool HaruPage::lineTo ( float $x, float $y )

Draws a line from the current point to the specified point.

매개변수

x

y

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::curveTo()
HaruPage::curveTo2()
HaruPage::curveTo3()

이전 | 위로 | 다음
HaruPage::getWordSpace | 처음으로 | HaruPage::measureText


HaruPage::measureText

(PECL haru:0.0.1)

HaruPage::measureText -- Calculate the number of characters which can be included within the specified width

설명

int HaruPage::measureText ( string $text, float $width [, bool $wordwrap] )

Returns the number of characters which can be included within the specified width.

매개변수

text

The text to measure.

width

The width of the area to put the text to.

wordwrap

When this parameter is set to TRUE the function "emulates" word wrapping and doesn't include the part of the current word if reached the end of the area. Defaults to FALSE.

오류/예외

Throws HaruException on error.

참고

HaruFont::measureText()

이전 | 위로 | 다음
HaruPage::lineTo | 처음으로 | HaruPage::moveTextPos


HaruPage::moveTextPos

(PECL haru:0.0.1)

HaruPage::moveTextPos -- Move text position to the specified offset

설명

bool HaruPage::moveTextPos ( float $x, float $y [, bool $set_leading] )

Moves text position to the specified offset. If the start position of the current line is (x1, y1), the start of the next line is (x1 + x, y1 + y). If optional parameter set_leading is TRUE, the function sets the text leading to -y. The default value of set_leading is FALSE.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::moveToNextLine()

이전 | 위로 | 다음
HaruPage::measureText | 처음으로 | HaruPage::moveTo


HaruPage::moveTo

(PECL haru:0.0.1)

HaruPage::moveTo -- Set starting point for new drawing path

설명

bool HaruPage::moveTo ( float $x, float $y )

Defines starting point for new drawing path.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::moveTextPos | 처음으로 | HaruPage::moveToNextLine


HaruPage::moveToNextLine

(PECL haru:0.0.1)

HaruPage::moveToNextLine -- Move text position to the start of the next line

설명

bool HaruPage::moveToNextLine ( void )

Moves text position to the start of the next line.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::moveTextPos()

이전 | 위로 | 다음
HaruPage::moveTo | 처음으로 | HaruPage::rectangle


HaruPage::rectangle

(PECL haru:0.0.1)

HaruPage::rectangle -- Append a rectangle to the current path

설명

bool HaruPage::rectangle ( float $x, float $y, float $width, float $height )

Appends a rectangle to the current drawing path.

매개변수

x

The left border of the rectangle.

y

The lower border of the rectangle.

width

The width of the rectangle.

height

The height of the rectangle.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::moveToNextLine | 처음으로 | HaruPage::setCharSpace


HaruPage::setCharSpace

(PECL haru:0.0.1)

HaruPage::setCharSpace -- Set character spacing for the page

설명

bool HaruPage::setCharSpace ( float $char_space )

Defines character spacing for the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getCharSpace()

이전 | 위로 | 다음
HaruPage::rectangle | 처음으로 | HaruPage::setCMYKFill


HaruPage::setCMYKFill

(PECL haru:0.0.1)

HaruPage::setCMYKFill -- Set filling color for the page

설명

bool HaruPage::setCMYKFill ( float $c, float $m, float $y, float $k )

Defines filling color for the page.

매개변수

c

m

y

k

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getCMYKFill()

이전 | 위로 | 다음
HaruPage::setCharSpace | 처음으로 | HaruPage::setCMYKStroke


HaruPage::setCMYKStroke

(PECL haru:0.0.1)

HaruPage::setCMYKStroke -- Set stroking color for the page

설명

bool HaruPage::setCMYKStroke ( float $c, float $m, float $y, float $k )

Defines stroking color for the page.

매개변수

c

m

y

k

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getCMYKStroke()

이전 | 위로 | 다음
HaruPage::setCMYKFill | 처음으로 | HaruPage::setDash


HaruPage::setDash

(PECL haru:0.0.1)

HaruPage::setDash -- Set the dash pattern for the page

설명

bool HaruPage::setDash ( array $pattern, int $phase )

Defines the dash pattern for the page.

매개변수

pattern

An array (8 elements max) which contains a pattern of dashes and gaps used for lines on the page.

phase

The phase on which the pattern begins.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getDash()

이전 | 위로 | 다음
HaruPage::setCMYKStroke | 처음으로 | HaruPage::setFlatness


HaruPage::setFlatness

(PECL haru:0.0.1)

HaruPage::setFlatness -- Set flatness for the page

설명

bool HaruPage::setFlatness ( float $flatness )

Defines flatness for the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getFlatness()

이전 | 위로 | 다음
HaruPage::setDash | 처음으로 | HaruPage::setFontAndSize


HaruPage::setFontAndSize

(PECL haru:0.0.1)

HaruPage::setFontAndSize -- Set font and fontsize for the page

설명

bool HaruPage::setFontAndSize ( object $font, float $size )

Defines current font and its size for the page.

매개변수

font

A valid HaruFont instance.

size

The size of the font.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruDoc::getFont()

이전 | 위로 | 다음
HaruPage::setFlatness | 처음으로 | HaruPage::setGrayFill


HaruPage::setGrayFill

(PECL haru:0.0.1)

HaruPage::setGrayFill -- Set filling color for the page

설명

bool HaruPage::setGrayFill ( float $value )

Defines filling color for the page.

매개변수

value

The value of gray level between 0 and 1.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getGrayFill()

이전 | 위로 | 다음
HaruPage::setFontAndSize | 처음으로 | HaruPage::setGrayStroke


HaruPage::setGrayStroke

(PECL haru:0.0.1)

HaruPage::setGrayStroke -- Sets stroking color for the page

설명

bool HaruPage::setGrayStroke ( float $value )

Defines stroking color for the page.

매개변수

value

The value of gray level between 0 and 1.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getGrayStroke()

이전 | 위로 | 다음
HaruPage::setGrayFill | 처음으로 | HaruPage::setHeight


HaruPage::setHeight

(PECL haru:0.0.1)

HaruPage::setHeight -- Set height of the page

설명

bool HaruPage::setHeight ( float $height )

Defines height of the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getHeight()

이전 | 위로 | 다음
HaruPage::setGrayStroke | 처음으로 | HaruPage::setHorizontalScaling


HaruPage::setHorizontalScaling

(PECL haru:0.0.1)

HaruPage::setHorizontalScaling -- Set horizontal scaling for the page

설명

bool HaruPage::setHorizontalScaling ( float $scaling )

Defines horizontal scaling for text showing on the page. The initial value is 100.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getHorizontalScaling()

이전 | 위로 | 다음
HaruPage::setHeight | 처음으로 | HaruPage::setLineCap


HaruPage::setLineCap

(PECL haru:0.0.1)

HaruPage::setLineCap -- Set the shape to be used at the ends of lines

설명

bool HaruPage::setLineCap ( int $cap )

Defines the shape to be used at the ends of lines.

매개변수

cap

Must be one of the following values:

HaruPage::BUTT_END - the line is squared off at the endpoint of the path.
HaruPage::ROUND_END - the end of the line becomes a semicircle with center in the end point of the path.
HaruPage::PROJECTING_SCUARE_END - the line continues to the point that exceeds half of the stroke width the end point.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getLineCap()

이전 | 위로 | 다음
HaruPage::setHorizontalScaling | 처음으로 | HaruPage::setLineJoin


HaruPage::setLineJoin

(PECL haru:0.0.1)

HaruPage::setLineJoin -- Set line join style for the page

설명

bool HaruPage::setLineJoin ( int $join )

Defines line join style for the page.

매개변수

join

Must be one of the following values:

HaruPage::MITER_JOIN
HaruPage::ROUND_JOIN
HaruPage::BEVEL_JOIN

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getLineJoin()

이전 | 위로 | 다음
HaruPage::setLineCap | 처음으로 | HaruPage::setLineWidth


HaruPage::setLineWidth

(PECL haru:0.0.1)

HaruPage::setLineWidth -- Set line width for the page

설명

bool HaruPage::setLineWidth ( float $width )

Defines line width for the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getLineWidth()

이전 | 위로 | 다음
HaruPage::setLineJoin | 처음으로 | HaruPage::setMiterLimit


HaruPage::setMiterLimit

(PECL haru:0.0.1)

HaruPage::setMiterLimit -- Set the current value of the miter limit of the page

설명

bool HaruPage::setMiterLimit ( float $limit )

Defines the current value of the miter limit of the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getMiterLimit()

이전 | 위로 | 다음
HaruPage::setLineWidth | 처음으로 | HaruPage::setRGBFill


HaruPage::setRGBFill

(PECL haru:0.0.1)

HaruPage::setRGBFill -- Set filling color for the page

설명

bool HaruPage::setRGBFill ( float $r, float $g, float $b )

Defines filling color for the page. All values must be between 0 and 1.

매개변수

r

g

b

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getRGBFill()

이전 | 위로 | 다음
HaruPage::setMiterLimit | 처음으로 | HaruPage::setRGBStroke


HaruPage::setRGBStroke

(PECL haru:0.0.1)

HaruPage::setRGBStroke -- Set stroking color for the page

설명

bool HaruPage::setRGBStroke ( float $r, float $g, float $b )

Defines stroking color for the page. All values must be between 0 and 1.

매개변수

r

g

b

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getRGBStroke()

이전 | 위로 | 다음
HaruPage::setRGBFill | 처음으로 | HaruPage::setRotate


HaruPage::setRotate

(PECL haru:0.0.1)

HaruPage::setRotate -- Set rotation angle of the page

설명

bool HaruPage::setRotate ( int $angle )

Defines rotation angle of the page.

매개변수

angle

Must be a multiple of 90 degrees.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::setRGBStroke | 처음으로 | HaruPage::setSize


HaruPage::setSize

(PECL haru:0.0.1)

HaruPage::setSize -- Set size and direction of the page

설명

bool HaruPage::setSize ( int $size, int $direction )

Changes size and direction of the page to a predefined format.

매개변수

size

Must be one of the following values:

HaruPage::SIZE_LETTER
HaruPage::SIZE_LEGAL
HaruPage::SIZE_A3
HaruPage::SIZE_A4
HaruPage::SIZE_A5
HaruPage::SIZE_B4
HaruPage::SIZE_B5
HaruPage::SIZE_EXECUTIVE
HaruPage::SIZE_US4x6
HaruPage::SIZE_US4x8
HaruPage::SIZE_US5x7
HaruPage::SIZE_COMM10

direction

Must be one of the following values:

HaruPage::PORTRAIT
HaruPage::LANDSCAPE

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::setWidth()
HaruPage::setHeight()

이전 | 위로 | 다음
HaruPage::setRotate | 처음으로 | HaruPage::setSlideShow


HaruPage::setSlideShow

(PECL haru:0.0.1)

HaruPage::setSlideShow -- Set transition style for the page

설명

bool HaruPage::setSlideShow ( int $type, float $disp_time, float $trans_time )

Defines transition style for the page.

매개변수

type

Must be one of the following values:

HaruPage::TS_WIPE_RIGHT
HaruPage::TS_WIPE_LEFT
HaruPage::TS_WIPE_UP
HaruPage::TS_WIPE_DOWN
HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT
HaruPage::TS_BARN_DOORS_HORIZONTAL_IN
HaruPage::TS_BARN_DOORS_VERTICAL_OUT
HaruPage::TS_BARN_DOORS_VERTICAL_IN
HaruPage::TS_BOX_OUT
HaruPage::TS_BOX_IN
HaruPage::TS_BLINDS_HORIZONTAL
HaruPage::TS_BLINDS_VERTICAL
HaruPage::TS_DISSOLVE
HaruPage::TS_GLITTER_RIGHT
HaruPage::TS_GLITTER_DOWN
HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT
HaruPage::TS_REPLACE

disp_time

The display duration of the page in seconds.

trans_time

The duration of the transition effect in seconds.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::setSize | 처음으로 | HaruPage::setTextLeading


HaruPage::setTextLeading

(PECL haru:0.0.1)

HaruPage::setTextLeading -- Set text leading (line spacing) for the page

설명

bool HaruPage::setTextLeading ( float $text_leading )

Defines line spacing for the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getTextLeading()

이전 | 위로 | 다음
HaruPage::setSlideShow | 처음으로 | HaruPage::setTextMatrix


HaruPage::setTextMatrix

(PECL haru:0.0.1)

HaruPage::setTextMatrix -- Set the current text transformation matrix of the page

설명

bool HaruPage::setTextMatrix ( float $a, float $b, float $c, float $d, float $x, float $y )

Defines the text transformation matrix of the page.

매개변수

a

b

c

d

x

y

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getTextMatrix()

이전 | 위로 | 다음
HaruPage::setTextLeading | 처음으로 | HaruPage::setTextRenderingMode


HaruPage::setTextRenderingMode

(PECL haru:0.0.1)

HaruPage::setTextRenderingMode -- Set text rendering mode for the page

설명

bool HaruPage::setTextRenderingMode ( int $mode )

Defines text rendering mode for the page.

매개변수

mode

Must be one of the following values:

HaruPage::FILL
HaruPage::STROKE
HaruPage::FILL_THEN_STROKE
HaruPage::INVISIBLE
HaruPage::FILL_CLIPPING
HaruPage::STROKE_CLIPPING
HaruPage::FILL_STROKE_CLIPPING
HaruPage::CLIPPING

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getTextRenderingMode()

이전 | 위로 | 다음
HaruPage::setTextMatrix | 처음으로 | HaruPage::setTextRise


HaruPage::setTextRise

(PECL haru:0.0.1)

HaruPage::setTextRise -- Set the current value of text rising

설명

bool HaruPage::setTextRise ( float $rise )

Defines the current value of text rising.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getTextRise()

이전 | 위로 | 다음
HaruPage::setTextRenderingMode | 처음으로 | HaruPage::setWidth


HaruPage::setWidth

(PECL haru:0.0.1)

HaruPage::setWidth -- Set width of the page

설명

bool HaruPage::setWidth ( float $width )

Defines width of the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getWidth()

이전 | 위로 | 다음
HaruPage::setTextRise | 처음으로 | HaruPage::setWordSpace


HaruPage::setWordSpace

(PECL haru:0.0.1)

HaruPage::setWordSpace -- Set word spacing for the page

설명

bool HaruPage::setWordSpace ( float $word_space )

Defines word spacing for the page.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::getWordSpace()

이전 | 위로 | 다음
HaruPage::setWidth | 처음으로 | HaruPage::showText


HaruPage::showText

(PECL haru:0.0.1)

HaruPage::showText -- Print text at the current position of the page

설명

bool HaruPage::showText ( string $text )

Prints out the text at the current position of the page.

매개변수

text

The text to show.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::showTextNextLine()
HaruPage::textOut()

이전 | 위로 | 다음
HaruPage::setWordSpace | 처음으로 | HaruPage::showTextNextLine


HaruPage::showTextNextLine

(PECL haru:0.0.1)

HaruPage::showTextNextLine -- Move the current position to the start of the next line and print the text

설명

bool HaruPage::showTextNextLine ( string $text [, float $word_space [, float $char_space]] )

Moves the current position to the start of the next line and print out the text.

매개변수

text

The text to show.

word_space

The word spacing.

char_space

The character spacing.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::showText()
HaruPage::textOut()

이전 | 위로 | 다음
HaruPage::showText | 처음으로 | HaruPage::stroke


HaruPage::stroke

(PECL haru:0.0.1)

HaruPage::stroke -- Paint current path

설명

bool HaruPage::stroke ( [bool $close_path] )

Paints the current path.

매개변수

close_path

Closes the current path if set to TRUE. Defaults to FALSE.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

이전 | 위로 | 다음
HaruPage::showTextNextLine | 처음으로 | HaruPage::textOut


HaruPage::textOut

(PECL haru:0.0.1)

HaruPage::textOut -- Print the text on the specified position

설명

bool HaruPage::textOut ( float $x, float $y, string $text )

Prints the text on the specified position.

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::showTextNextLine()
HaruPage::showText()

이전 | 위로 | 다음
HaruPage::stroke | 처음으로 | HaruPage::textRect


HaruPage::textRect

(PECL haru:0.0.1)

HaruPage::textRect -- Print the text inside the specified region

설명

bool HaruPage::textRect ( float $left, float $top, float $right, float $bottom, string $text [, int $align] )

Prints the text inside the specified region.

매개변수

left

Left border of the text area.

top

Top border of the text area.

right

Right border of the text area.

bottom

Lower border of the text area.

text

The text to print.

align

Text alignment. Must be one of the following values:

HaruPage::TALING_LEFT
HaruPage::TALING_RIGHT
HaruPage::TALING_CENTER
HaruPage::TALING_JUSTIFY

반환값

Returns TRUE on success.

오류/예외

Throws HaruException on error.

참고

HaruPage::showTextNextLine()
HaruPage::showText()
HaruPage::textOut()

이전 | 위로 | 다음
HaruPage::textOut | 처음으로 | LV. hash Functions


hash

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash -- Generate a hash value (message digest)

설명

string hash ( string $algo, string $data [, bool $raw_output] )

매개변수

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

data

Message to be hashed.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

반환값

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

예제

예 770. A hash() example

<?php
echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.');
?>

위 예제의 출력:

ec457d0a974c48d5685a7efa03d137dc8bbde7e3

참고

hash_file()
hash_hmac()
hash_init()

이전 | 위로 | 다음
hash_update | 처음으로 | LVI. HTTP


hash_algos

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash_algos -- Return a list of registered hashing algorithms

설명

array hash_algos ( void )

반환값

Returns a numerically indexed array containing the list of supported hashing algorithms.

예제

예 763. hash_algos() example

As of PHP 5.1.2, hash_algos() will return the following list of algorithm names.

<?php
print_r(hash_algos());
?>

위 예제의 출력:

Array
(
    [0] => md4
    [1] => md5
    [2] => sha1
    [3] => sha256
    [4] => sha384
    [5] => sha512
    [6] => ripemd128
    [7] => ripemd160
    [8] => whirlpool
    [9] => tiger128,3
    [10] => tiger160,3
    [11] => tiger192,3
    [12] => tiger128,4
    [13] => tiger160,4
    [14] => tiger192,4
    [15] => snefru
    [16] => gost
    [17] => adler32
    [18] => crc32
    [19] => crc32b
    [20] => haval128,3
    [21] => haval160,3
    [22] => haval192,3
    [23] => haval224,3
    [24] => haval256,3
    [25] => haval128,4
    [26] => haval160,4
    [27] => haval192,4
    [28] => haval224,4
    [29] => haval256,4
    [30] => haval128,5
    [31] => haval160,5
    [32] => haval192,5
    [33] => haval224,5
    [34] => haval256,5
)

이전 | 위로 | 다음
LV. hash Functions | 처음으로 | hash_file


hash_file

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash_file -- Generate a hash value using the contents of a given file

설명

string hash_file ( string $algo, string $filename [, bool $raw_output] )

매개변수

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

filename

URL describing location of file to be hashed; Supports fopen wrappers.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

반환값

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

예제

예 764. Using hash_file()

<?php
/* Create a file to calculate hash of */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_file('md5', 'example.txt');
?>

위 예제의 출력:

5c6ffbdd40d9556b73a21e63c3e0e904

참고

hash()
hash_hmac_file()
hash_update_file()

이전 | 위로 | 다음
hash_algos | 처음으로 | hash_final


hash_final

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash_final -- Finalize an incremental hash and return resulting digest

설명

string hash_final ( resource $context [, bool $raw_output] )

매개변수

context

Hashing context returned by hash_init().

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

반환값

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

예제

예 765. hash_final() example

<?php
$ctx = hash_init('sha1');
hash_update($ctx, 'The quick brown fox jumped over the lazy dog.');
echo hash_final($ctx);
?>

위 예제의 출력:

c0854fb9fb03c41cce3802cb0d220529e6eef94e

참고

hash_init()
hash_update()
hash_update_stream()
hash_update_file()

이전 | 위로 | 다음
hash_file | 처음으로 | hash_hmac_file


hash_hmac

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash_hmac -- Generate a keyed hash value using the HMAC method

설명

string hash_hmac ( string $algo, string $data, string $key [, bool $raw_output] )

매개변수

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

data

Message to be hashed.

key

Shared secret key used for generating the HMAC variant of the message digest.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

반환값

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

예제

예 767. hash_hmac() example

<?php
echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>

위 예제의 출력:

b8e7ae12510bdfb1812e463a7f086122cf37e4f7

참고

hash()
hash_init()
hash_hmac_file()

이전 | 위로 | 다음
hash_hmac_file | 처음으로 | hash_init


hash_hmac_file

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash_hmac_file -- Generate a keyed hash value using the HMAC method and the contents of a given file

설명

string hash_hmac_file ( string $algo, string $filename, string $key [, bool $raw_output] )

매개변수

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

filename

URL describing location of file to be hashed; Supports fopen wrappers.

key

Shared secret key used for generating the HMAC variant of the message digest.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

반환값

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

예제

예 766. hash_hmac_file() example

<?php
/* Create a file to calculate hash of */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_hmac_file('md5', 'example.txt', 'secret');
?>

위 예제의 출력:

7eb2b5c37443418fc77c136dd20e859c

참고

hash_hmac()
hash_file()

이전 | 위로 | 다음
hash_final | 처음으로 | hash_hmac


hash_init

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash_init -- Initialize an incremental hashing context

설명

resource hash_init ( string $algo [, int $options, string $key] )

매개변수

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

options

Optional settings for hash generation, currently supports only one option: HASH_HMAC. When specified, the key must be specified.

key

When HASH_HMAC is specified for options, a shared secret key to be used with the HMAC hashing method must be supplied in this parameter.

반환값

Returns a Hashing Context resource for use with hash_update(), hash_update_stream(), hash_update_file(), and hash_final().

예제

예 768. Incremental hashing example

<?php
$ctx = hash_init('md5');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
echo hash_final($ctx);
?>

위 예제의 출력:

5c6ffbdd40d9556b73a21e63c3e0e904

참고

hash()
hash_file()
hash_hmac()
hash_hmac_file()

이전 | 위로 | 다음
hash_hmac | 처음으로 | hash_update_file


hash_update

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash_update -- Pump data into an active hashing context

설명

bool hash_update ( resource $context, string $data )

매개변수

context

Hashing context returned by hash_init().

data

Message to be included in the hash digest.

반환값

Returns TRUE.

참고

hash_init()
hash_update_file()
hash_update_stream()
hash_final()

이전 | 위로 | 다음
hash_update_stream | 처음으로 | hash


hash_update_file

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash_update_file -- Pump data into an active hashing context from a file

설명

bool hash_update_file ( resource $context, string $filename [, resource $context] )

매개변수

context

Hashing context returned by hash_init().

filename

URL describing location of file to be hashed; Supports fopen wrappers.

context

Stream context as returned by stream_context_create().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

hash_init()
hash_update()
hash_update_stream()
hash_final()
hash()
hash_file()

이전 | 위로 | 다음
hash_init | 처음으로 | hash_update_stream


hash_update_stream

(PHP 5 >= 5.1.2, PECL hash:1.1-1.5)

hash_update_stream -- Pump data into an active hashing context from an open stream

설명

int hash_update_stream ( resource $context, resource $handle [, int $length] )

매개변수

context

Hashing context returned by hash_init().

handle

Open file handle as returned by any stream creation function.

length

Maximum number of characters to copy from handle into the hashing context.

반환값

Actual number of bytes added to the hashing context from handle.

예제

예 769. hash_update_stream() example

<?php
$fp = tmpfile();
fwrite($fp, 'The quick brown fox jumped over the lazy dog.');
rewind($fp);

$ctx = hash_init('md5');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>

위 예제의 출력:

5c6ffbdd40d9556b73a21e63c3e0e904

참고

hash_init()
hash_update()
hash_final()
hash()
hash_file()

이전 | 위로 | 다음
hash_update_file | 처음으로 | hash_update


htmlspecialchars_decode

(PHP 5 >= 5.1.0)

htmlspecialchars_decode -- Convert special HTML entities back to characters

설명

string htmlspecialchars_decode ( string $string [, int $quote_style] )

This function is the opposite of htmlspecialchars(). It converts special HTML entities back to characters.

The converted entities are: &amp;, &quot; (when ENT_NOQUOTES is not set), &#039; (when ENT_QUOTES is set), &lt; and &gt;.

매개변수

string

The string to decode

quote_style

The quote style. One of the following constants:

표 306. quote_style constants

Constant Name | Description
ENT_COMPAT | Will convert double-quotes and leave single-quotes alone (default)
ENT_QUOTES | Will convert both double and single quotes
ENT_NOQUOTES | Will leave both double and single quotes unconverted

반환값

Returns the decoded string.

예제

예 2305. A htmlspecialchars_decode() example

<?php
$str = '<p>this -&gt; &quot;</p>';

echo htmlspecialchars_decode($str);

// note that here the quotes aren't converted
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

위 예제의 출력:

<p>this -> "</p>
<p>this -> &quot;</p>

참고

htmlspecialchars()
html_entity_decode()
get_html_translation_table()

이전 | 위로 | 다음
htmlentities | 처음으로 | htmlspecialchars


http_build_cookie

(PECL pecl_http:1.2.0-1.5.5)

http_build_cookie -- Build cookie string

설명

string http_build_cookie ( array $cookie )

Build a cookie string from an array/object like returned by http_parse_cookie().

매개변수

cookie

a cookie list like returned from http_parse_cookie()

반환값

Returns the cookie(s) as string.

참고

http_parse_cookie()

이전 | 위로 | 다음
http_match_request_header | 처음으로 | http_negotiate_charset


http_build_str

(PECL pecl_http:0.23.0-1.5.5)

http_build_str -- Build query string

설명

string http_build_str ( array $query [, string $prefix [, string $arg_separator]] )

Opponent to parse_str().

매개변수

query

associative array of query string parameters

prefix

top level prefix

arg_separator

argument separator to use (by default the INI setting arg_separator.output will be used, or "&" if neither is set

반환값

Returns the built query as string on success or FALSE on failure.

참고

standard http_build_query()
http_build_url()

이전 | 위로 | 다음
http_throttle | 처음으로 | http_build_url


http_build_url

(PECL pecl_http:0.21.0-1.5.5)

http_build_url -- Build an URL

설명

string http_build_url ( [mixed $url [, mixed $parts [, int $flags = HTTP_URL_REPLACE [, array &$new_url]]]] )

Build an URL.

The parts of the second URL will be merged into the first according to the flags argument.

매개변수

url

(part(s) of) an URL in form of a string or associative array like parse_url() returns

parts

same as the first argument

flags

a bitmask of binary or'ed HTTP_URL constants; HTTP_URL_REPLACE is the default

new_url

if set, it will be filled with the parts of the composed url like parse_url() would return

반환값

Returns the new URL as string on success or FALSE on failure.

예제

예 798. A http_build_url() example

<?php
echo http_build_url("http://user@www.example.com/pub/index.php?a=b#files",
    array(
        "scheme" => "ftp",
        "host" => "ftp.example.com",
        "path" => "files/current/",
        "query" => "a=c"
    ),
    HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
);
?>

위 예제의 출력:

ftp://ftp.example.com/pub/files/current/?a=b&a=c

참고

parse_url()
http_build_str()

이전 | 위로 | 다음
http_build_str | 처음으로 | LVII. Hyperwave Functions


http_cache_etag

(PECL pecl_http:0.1.0-1.5.5)

http_cache_etag -- Caching by ETag

설명

bool http_cache_etag ( [string $etag] )

Attempts to cache the sent entity by its ETag, either supplied or generated by the hash algorithm specified by the INI 설정 http.etag.mode.

If the clients If-None-Match header matches the supplied/calculated ETag, the body is considered cached on the clients side and a 304 Not Modified status code is issued.

A log entry is written to the cache log if the INI 설정 http.log.cache is set and the cache attempt was successful.

참고: 이 함수는 다음 함수와 함께
사용할 수 있습니다: http_send_data(),
http_seld_file()  그리고
http_send_stream().

If this function is used outside the http_send_*() API, it facilitates the ob_etaghandler().

매개변수

etag

custom ETag

반환값

성공시 FALSE를 반환하거나 종료합니다. with 304 Not Modified if the entity is cached. "exits"의 의미에 대해서 INI 설정 http.force_exit를 참고하십시오.

예제

예 780. A http_cache_etag() example

<?php
http_cache_etag();
http_send_data("data");
?>

참고

http_cache_last_modified()
ob_etaghandler()
http_match_etag()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
HttpResponse::status | 처음으로 | http_cache_last_modified


http_cache_last_modified

(PECL pecl_http:0.1.0-1.5.5)

http_cache_last_modified -- Caching by last modification

설명

bool http_cache_last_modified ( [int $timestamp_or_expires] )

Attempts to cache the sent entity by its last modification date.

If the supplied argument is greater than 0, it is handled as timestamp and will be sent as date of last modification. If it is 0 or omitted, the current time will be sent as Last-Modified date. If it's negative, it is handled as expiration time in seconds, which means that if the requested last modification date is not between the calculated timespan, the Last-Modified header is updated and the actual body will be sent.

A log entry will be written to the cache log if the INI 설정 http.log.cache is set and the cache attempt was successful.

참고: 이 함수는 다음 함수와 함께
사용할 수 있습니다: http_send_data(),
http_seld_file()  그리고
http_send_stream().

매개변수

timestamp_or_expires

Unix timestamp

반환값

성공시 FALSE를 반환하거나 종료합니다. with 304 Not Modified if the entity is cached. "exits"의 의미에 대해서 INI 설정 http.force_exit를 참고하십시오.

예제

예 781. A http_cache_last_modified() example

Caching for 5 seconds.

<?php
http_cache_last_modified(-5);
printf("%s\n", http_date());
?>

참고

http_cache_etag()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_cache_etag | 처음으로 | http_chunked_decode


http_chunked_decode

(PECL pecl_http:0.1.0-1.5.5)

http_chunked_decode -- Decode chunked-encoded data

설명

string http_chunked_decode ( string $encoded )

Decodes a string which is HTTP-chunked encoded.

매개변수

encoded

chunked encoded string

반환값

Returns the decoded string on success or FALSE on failure.

예제

예 782. A http_chunked_decode() example

<?php
$string = "".
    "05\r\n".
    "this \r\n".
    "07\r\n".
    "string \r\n".
    "12\r\n".
    "is chunked encoded\r\n".
    "01\n\r\n".
    "00";
echo http_chunked_decode($string);
?>

위 예제의 출력:

this string is chunked encoded

이전 | 위로 | 다음
http_cache_last_modified | 처음으로 | http_deflate


http_date

(PECL pecl_http:0.1.0-1.5.5)

http_date -- Compose HTTP RFC compliant date

설명

string http_date ( [int $timestamp] )

Compose a valid HTTP date regarding RFC 1123 looking like: Wed, 22 Dec 2004 11:34:47 GMT.

매개변수

timestamp

Unix timestamp; current time if omitted

반환값

Returns the HTTP date as string.

참고

date()

이전 | 위로 | 다음
http_get_request_headers | 처음으로 | http_support


http_deflate

(PECL pecl_http:0.15.0-1.5.5)

http_deflate -- Deflate data

설명

string http_deflate ( string $data [, int $flags = 0] )

Compress data with gzip, zlib AKA deflate or raw deflate encoding.

See the deflate constants table for possible values for the flags parameter.

매개변수

data

String containing the data that should be encoded

flags

deflate options

반환값

Returns the encoded string on success, or NULL on failure.

참고

http_inflate()
HttpDeflateStream

이전 | 위로 | 다음
http_chunked_decode | 처음으로 | http_inflate


http_get

(PECL pecl_http:0.1.0-1.5.5)

http_get -- Perform GET request

설명

string http_get ( string $url [, array $options [, array &$info]] )

Performs an HTTP GET request on the supplied url.

요청 옵션들의 전체 목록을 참고하십시오.

매개변수

url

URL

options

요청 옵션들

info

Will be filled with request/response information

반환값

성공시 HTTP 응답을 문자열로, 실패시 FALSE를 반환합니다.

예제

예 793. A http_get() example

<?php
$response = http_get("http://www.example.com/", array("timeout"=>1), $info);
print_r($info);
?>

위 예제의 출력:

array (
  'effective_url' => 'http://www.example.com/',
  'response_code' => 302,
  'connect_code' => 0,
  'filetime' => -1,
  'total_time' => 0.212348,
  'namelookup_time' => 0.038296,
  'connect_time' => 0.104144,
  'pretransfer_time' => 0.104307,
  'starttransfer_time' => 0.212077,
  'redirect_time' => 0,
  'redirect_count' => 0,
  'size_upload' => 0,
  'size_download' => 218,
  'speed_download' => 1026,
  'speed_upload' => 0,
  'header_size' => 307,
  'request_size' => 103,
  'ssl_verifyresult' => 0,
  'ssl_engines' =>
  array (
    0 => 'dynamic',
    1 => 'cswift',
    2 => 'chil',
    3 => 'atalla',
    4 => 'nuron',
    5 => 'ubsec',
    6 => 'aep',
    7 => 'sureware',
    8 => '4758cca',
  ),
  'content_length_download' => 218,
  'content_length_upload' => 0,
  'content_type' => 'text/html',
  'httpauth_avail' => 0,
  'proxyauth_avail' => 0,
  'num_connects' => 1,
  'os_errno' => 0,
  'error' => '',
)

이전 | 위로 | 다음
http_persistent_handles_clean | 처음으로 | http_head


http_get_request_body

(PECL pecl_http:0.10.0-1.5.5)

http_get_request_body -- Get request body as string

설명

string http_get_request_body ( void )

Get the raw request body (e.g. POST or PUT data).

This function can not be used after http_get_request_body_stream() if the request method was another than POST.

매개변수

반환값

Returns the raw request body as string on success or NULL on failure.

참고

http_get_request_body_stream()
http_get_request_headers()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_get_request_body_stream | 처음으로 | http_get_request_headers


http_get_request_body_stream

(PECL pecl_http:0.22.0-1.5.5)

http_get_request_body_stream -- Get request body as stream

설명

resource http_get_request_body_stream ( void )

Create a stream to read the raw request body (e.g. POST or PUT data).

This function can only be used once if the request method was another than POST.

매개변수

반환값

Returns the raw request body as stream on success or NULL on failure.

참고

http_get_request_body()
http_get_request_headers()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_inflate | 처음으로 | http_get_request_body


http_get_request_headers

(PECL pecl_http:0.10.0-1.5.5)

http_get_request_headers -- Get request headers as array

설명

array http_get_request_headers ( void )

Get a list of incoming HTTP headers.

매개변수

반환값

Returns an associative array of incoming request headers.

참고

http_get_request_body()
http_get_request_body_stream()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_get_request_body | 처음으로 | http_date


http_head

(PECL pecl_http:0.1.0-1.5.5)

http_head -- Perform HEAD request

설명

string http_head ( [string $url [, array $options [, array &$info]]] )

Performs an HTTP HEAD request on the supplied url.

요청 옵션들의 전체 목록을 참고하십시오.

매개변수

url

URL

options

요청 옵션들

info

요청/응답 정보

반환값

성공시 HTTP 응답을 문자열로, 실패시 FALSE를 반환합니다.

이전 | 위로 | 다음
http_get | 처음으로 | http_post_data


http_inflate

(PECL pecl_http:0.15.0-1.5.5)

http_inflate -- Inflate data

설명

string http_inflate ( string $data )

Decompress data compressed with either gzip, deflate AKA zlib or raw deflate encoding.

매개변수

data

string containing the compressed data

반환값

Returns the decoded string on success, or NULL on failure.

참고

http_deflate()
HttpInflateStream

이전 | 위로 | 다음
http_deflate | 처음으로 | http_get_request_body_stream


http_match_etag

(PECL pecl_http:0.1.0-1.5.5)

http_match_etag -- Match ETag

설명

bool http_match_etag ( string $etag [, bool $for_range = FALSE] )

Matches the given ETag against the clients If-Match resp. If-None-Match HTTP headers.

매개변수

etag

the ETag to match

for_range

if set to TRUE, the header usually used to validate HTTP ranges will be checked

반환값

Returns TRUE if ETag matches or the header contained the asterisk ("*"), else FALSE.

참고

http_match_last_modified()
http_match_request_header()
http_cache_etag()
http_cache_last_modified()
ob_etaghandler()

이전 | 위로 | 다음
http_support | 처음으로 | http_match_modified


http_match_modified

(PECL pecl_http:0.1.0-1.5.5)

http_match_modified -- Match last modification

설명

bool http_match_modified ( [int $timestamp [, bool $for_range = FALSE]] )

Matches the given Unix timestamp against the clients If-Modified-Since resp. If-Unmodified-Since HTTP headers.

매개변수

timestamp

Unix timestamp; current time, if omitted

for_range

if set to TRUE, the header usually used to validate HTTP ranges will be checked

반환값

Returns TRUE if timestamp represents an earlier date than the header, else FALSE.

참고

http_match_etag()
http_match_request_header()
http_cache_etag()
http_cache_last_modified()

이전 | 위로 | 다음
http_match_etag | 처음으로 | http_match_request_header


http_match_request_header

(PECL pecl_http:0.10.0-1.5.5)

http_match_request_header -- Match any header

설명

bool http_match_request_header ( string $header, string $value [, bool $match_case = FALSE] )

Match an incoming HTTP header.

매개변수

header

the header name (case-insensitive)

value

the header value that should be compared

match_case

whether the value should be compared case sensitively

반환값

Returns TRUE if header value matches, else FALSE.

참고

http_match_etag()
http_match_last_modified()

이전 | 위로 | 다음
http_match_modified | 처음으로 | http_build_cookie


http_negotiate_charset

(PECL pecl_http:0.1.0-1.5.5)

http_negotiate_charset -- Negotiate clients preferred character set

설명

string http_negotiate_charset ( array $supported [, array &$result] )

This function negotiates the clients preferred charset based on its Accept-Charset HTTP header. The qualifier is recognized and charsets without qualifier are rated highest.

매개변수

supported

array containing the supported charsets as values

result

will be filled with an array containing the negotiation results

반환값

Returns the negotiated charset or the default charset (i.e. first array entry) if none match.

예제

예 784. Using http_negotiate_charset()

<?php
$charsets = array(
        'iso-8859-1', // default
        'iso-8859-2',
        'iso-8859-15',
        'utf-8'
);

$pref = http_negotiate_charset($charsets, $result);

if (strcmp($pref, 'iso-8859-1')) {
        iconv_set_encoding('internal_encoding', 'iso-8859-1');
        iconv_set_encoding('output_encoding', $pref);
        ob_start('ob_iconv_handler');
}

print_r($result);
?>

이전 | 위로 | 다음
http_build_cookie | 처음으로 | http_negotiate_content_type


http_negotiate_content_type

(PECL pecl_http:0.19.0-1.5.5)

http_negotiate_content_type -- Negotiate clients preferred content type

설명

string http_negotiate_content_type ( array $supported [, array &$result] )

This function negotiates the clients preferred content type based on its Accept HTTP header. The qualifier is recognized and content types without qualifier are rated highest.

매개변수

supported

array containing the supported content types as values

result

will be filled with an array containing the negotiation results

반환값

Returns the negotiated content type or the default content type (i.e. first array entry) if none match.

예제

예 785. Using http_negotiate_content_type()

<?php
$content_types = array('application/xhtml+xml', 'text/html');
http_send_content_type(http_negotiate_content_type($content_types));
?>

이전 | 위로 | 다음
http_negotiate_charset | 처음으로 | http_negotiate_language


http_negotiate_language

(PECL pecl_http:0.1.0-1.5.5)

http_negotiate_language -- Negotiate clients preferred language

설명

string http_negotiate_language ( array $supported [, array &$result] )

This function negotiates the clients preferred language based on its Accept-Language HTTP header. The qualifier is recognized and languages without qualifier are rated highest. The qualifier will be decreased by 10% for partial matches (i.e. matching primary language).

매개변수

supported

array containing the supported languages as values

result

will be filled with an array containing the negotiation results

반환값

Returns the negotiated language or the default language (i.e. first array entry) if none match.

예제

예 786. Using http_negotiate_language()

<?php
$langs = array(
        'en-US',// default
        'fr',
        'fr-FR',
        'de',
        'de-DE',
        'de-AT',
        'de-CH',
);

include './langs/'. http_negotiate_language($langs, $result) .'.php';

print_r($result);
?>

이전 | 위로 | 다음
http_negotiate_content_type | 처음으로 | ob_deflatehandler


http_parse_cookie

(PECL pecl_http:0.20.0-1.5.5)

http_parse_cookie -- Parse HTTP cookie

설명

object http_parse_cookie ( string $cookie [, int $flags [, array $allowed_extras]] )

Parses HTTP cookies like sent in a response into a struct.

매개변수

cookie

string containing the value of a Set-Cookie response header

flags

parse flags (HTTP_COOKIE_PARSE_RAW)

allowed_extras

array containing recognized extra keys; by default all unknown keys will be treated as cookie names

반환값

Returns a stdClass object on success or FALSE on failure.

예제

예 787. Using http_parse_cookie()

<?php
print_r(http_parse_cookie("foo=bar; bar=baz; path=/; domain=example.com; comment=; secure", 0, array("comment")));
?>

위 예제의 출력:

stdClass Object
(
  [cookies] => Array
  (
    [foo] => bar
    [bar] => baz
  )

  [extras] => Array
  (
    [comment] =>
  )

  [flags] => 16
  [expires] => 0
  [path] => /
  [domain] => example.com
)

참고

http_parse_headers()
http_parse_message()
http_build_cookie()

이전 | 위로 | 다음
ob_inflatehandler | 처음으로 | http_parse_headers


http_parse_headers

(PECL pecl_http:0.10.0-1.5.5)

http_parse_headers -- Parse HTTP headers

설명

array http_parse_headers ( string $header )

Parses HTTP headers into an associative array.

매개변수

header

string containing HTTP headers

반환값

Returns an array on success, or FALSE on failure.

예제

예 788. Using http_parse_headers()

<?php
$headers = "content-type: text/html; charset=UTF-8\r\n".
  "Server: Funky/1.0\r\n".
  "Set-Cookie: foo=bar\r\n".
  "Set-Cookie: baz=quux\r\n".
  "Folded: works\r\n\ttoo\r\n";
print_r(http_parse_headers($headers));
?>

위 예제의 출력:

Array
(
  [Content-Type] => text/html; chatset=UTF-8
  [Server] => Funky/1.0
  [Set-Cookie] => Array
  (
    [0] => foo=bar
    [1] => baz=quux
  )
  [Folded] => works
    too
)

참고

http_parse_message()
http_parse_cookie()

이전 | 위로 | 다음
http_parse_cookie | 처음으로 | http_parse_message


http_parse_message

(PECL pecl_http:0.12.0-1.5.5)

http_parse_message -- Parse HTTP messages

설명

object http_parse_message ( string $message )

Parses the HTTP message into a simple recursive object.

매개변수

message

string containing a single HTTP message or several consecutive HTTP messages

반환값

Returns a hierarchical object structure of the parsed messages.

예제

예 789. Using http_parse_message()

<?php
define ('URL', 'http://www.example.com/');
print_r(http_parse_message(http_get(URL, array('redirect' => 3))));
?>

위 예제의 출력 예:

stdClass object
(
  [type] => 2
  [httpVersion] => 1.1
  [responseCode] => 200
  [headers] => Array
  (
    [Content-Length] => 3
    [Server] => Apache
  )
  [body] => Hi!
  [parentMessage] => stdClass object
  (
    [type] => 2
    [httpVersion] => 1.1
    [responseCode] => 302
    [headers] => Array
    (
      [Content-Length] => 0
      [Location] => ...
    )
    [body] =>
    [parentMessage] => ...
  )
)

참고

http_parse_headers()
the HttpMessage class

이전 | 위로 | 다음
http_parse_headers | 처음으로 | http_parse_params


http_parse_params

(PECL pecl_http:1.0.0-1.5.5)

http_parse_params -- Parse parameter list

설명

object http_parse_params ( string $param [, int $flags = HTTP_PARAMS_DEFAULT] )

Parse parameter list.

See the params parsing constants table for possible values of the flags argument.

매개변수

param

Parameters

flags

Parse flags

반환값

Returns parameter list as stdClass object.

예제

예 790. A http_parse_params() example

<?php
var_dump(http_parse_params("text/html; charset=\"utf8\""));
?>

위 예제의 출력:

object(stdClass)#1 (1) {
  ["params"]=>
  array(2) {
    [0]=>
    string(9) "text/html"
    [1]=>
    array(1) {
      ["charset"]=>
      string(4) "utf8"
    }
  }
}

참고

http_parse_headers()
http_parse_cookie()
http_parse_message()

이전 | 위로 | 다음
http_parse_message | 처음으로 | http_persistent_handles_count


http_persistent_handles_clean

(PECL pecl_http:1.5.0-1.5.5)

http_persistent_handles_clean -- Clean up persistent handles

설명

string http_persistent_handles_clean ( [string $ident] )

Clean up (close) persistent handles, optionally identified with ident.

매개변수

clean

the identification string

반환값

값을 반환하지 않습니다.

참고

http_persistent_handles_ident()
http_persistent_handles_count()

이전 | 위로 | 다음
http_persistent_handles_ident | 처음으로 | http_get


http_persistent_handles_count

(PECL pecl_http:1.5.0-1.5.5)

http_persistent_handles_count -- Stat persistent handles

설명

object http_persistent_handles_count ( void )

List statistics about persistent handles usage.

매개변수

반환값

Returns persistent handles statistics as stdClass object on success or FALSE on failure.

예제

예 791. A http_persistent_handles_count() example

<?php
print_r(http_persistent_handles_count());
?>

위 예제의 출력:

stdClass Object
(
    [http_request] => Array
        (
            [GLOBAL] => Array
                (
                    [used] => 0
                    [free] => 1
                )

        )

    [http_request_datashare] => Array
        (
            [GLOBAL] => Array
                (
                    [used] => 1
                    [free] => 0
                )

        )

    [http_request_pool] => Array
        (
        )

)

참고

http_persistent_handles_ident()
http_persistent_handles_clean()

이전 | 위로 | 다음
http_parse_params | 처음으로 | http_persistent_handles_ident


http_persistent_handles_ident

(PECL pecl_http:1.5.0-1.5.5)

http_persistent_handles_ident -- Get/set ident of persistent handles

설명

string http_persistent_handles_ident ( string $ident )

Query or define the ident of persistent handles.

매개변수

ident

the identification string

반환값

Returns the prior ident as string on success or FALSE on failure.

예제

예 792. A http_persistent_handles_ident() example

<?php
echo http_persistent_handles_ident("CUSTOM"), "\n";
echo http_persistent_handles_ident("MyApp1"), "\n";
http_get("http://www.example.com/");
print_r(http_persistent_handles_count());
?>

위 예제의 출력:

GLOBAL
CUSTOM
stdClass Object
(
    [http_request] => Array
        (
            [MyApp1] => Array
                (
                    [used] => 0
                    [free] => 1
                )

        )

    [http_request_datashare] => Array
        (
            [GLOBAL] => Array
                (
                    [used] => 1
                    [free] => 0
                )

        )

    [http_request_pool] => Array
        (
        )

)

참고

http_persistent_handles_count()
http_persistent_handles_clean()

이전 | 위로 | 다음
http_persistent_handles_count | 처음으로 | http_persistent_handles_clean


http_post_data

(PECL pecl_http:0.1.0-1.5.5)

http_post_data -- Perform POST request with pre-encoded data

설명

string http_post_data ( string $url [, string $data [, array $options [, array &$info]]] )

Performs an HTTP POST request on the supplied url.

요청 옵션들의 전체 목록을 참고하십시오.

매개변수

url

URL

data

String containing the pre-encoded post data

options

요청 옵션들

info

요청/응답 정보

반환값

성공시 HTTP 응답을 문자열로, 실패시 FALSE를 반환합니다.

이전 | 위로 | 다음
http_head | 처음으로 | http_post_fields


http_post_fields

(PECL pecl_http:0.10.0-1.5.5)

http_post_fields -- Perform POST request with data to be encoded

설명

string http_post_fields ( string $url [, array $data [, array $files [, array $options [, array &$info]]]] )

Performs an HTTP POST request on the supplied url.

요청 옵션들의 전체 목록을 참고하십시오.

매개변수

url

URL

data

Associative array of POST values

files

Array of files to post

options

요청 옵션들

info

요청/응답 정보

반환값

성공시 HTTP 응답을 문자열로, 실패시 FALSE를 반환합니다.

예제

예 794. A http_post_fields() example

<?php
$fields = array(
    'name' => 'mike',
    'pass' => 'se_ret'
);
$files = array(
    array(
        'name' => 'uimg',
        'type' => 'image/jpeg',
        'file' => './profile.jpg',
    )
);

$response = http_post_fields("http://www.example.com/", $fields, $files);
?>

이전 | 위로 | 다음
http_post_data | 처음으로 | http_put_data


http_put_data

(PECL pecl_http:0.25.0-1.5.5)

http_put_data -- Perform PUT request with data

설명

string http_put_data ( string $url [, string $data [, array $options [, array &$info]]] )

Performs an HTTP PUT request on the supplied url.

요청 옵션들의 전체 목록을 참고하십시오.

매개변수

url

URL

data

PUT request body

options

요청 옵션들

info

요청/응답 정보

반환값

성공시 HTTP 응답을 문자열로, 실패시 FALSE를 반환합니다.

이전 | 위로 | 다음
http_post_fields | 처음으로 | http_put_file


http_put_file

(PECL pecl_http:0.10.0-1.5.5)

http_put_file -- Perform PUT request with file

설명

string http_put_file ( string $url [, string $file [, array $options [, array &$info]]] )

Performs an HTTP PUT request on the supplied url.

요청 옵션들의 전체 목록을 참고하십시오.

매개변수

url

URL

file

The file to put

options

요청 옵션들

info

요청/응답 정보

반환값

성공시 HTTP 응답을 문자열로, 실패시 FALSE를 반환합니다.

이전 | 위로 | 다음
http_put_data | 처음으로 | http_put_stream


http_put_stream

(PECL pecl_http:0.10.0-1.5.5)

http_put_stream -- Perform PUT request with stream

설명

string http_put_stream ( string $url [, resource $stream [, array $options [, array &$info]]] )

Performs an HTTP PUT request on the supplied url.

요청 옵션들의 전체 목록을 참고하십시오.

매개변수

url

URL

stream

The stream to read the PUT request body from

options

요청 옵션들

info

요청/응답 정보

반환값

성공시 HTTP 응답을 문자열로, 실패시 FALSE를 반환합니다.

이전 | 위로 | 다음
http_put_file | 처음으로 | http_request_method_exists


http_redirect

(PECL pecl_http:0.1.0-1.5.5)

http_redirect -- Issue HTTP redirect

설명

void http_redirect ( [string $url [, array $params [, bool $session = FALSE [, int $status]]]] )

Redirect to the given url.

The supplied url will be expanded with http_build_url(), the params array will be treated with http_build_str() and the session identification will be appended if session is true. The HTTP response code will be set according to status. You can use one of the redirect constants for convenience. Please see » RFC 2616 for which redirect response code to use in which situation. By default PHP will decide which response status fits best.

To be RFC compliant, "Redirecting to <a>URL</a>." will be displayed, if the client doesn't redirect immediately, and the request method was another one than HEAD.

A log entry will be written to the redirect log, if the INI 설정 http.log.redirect is set and the redirect attempt was successful.

매개변수

url

the URL to redirect to

params

associative array of query parameters

session

whether to append session information

status

custom response status code

반환값

성공시 FALSE를 반환하거나 종료합니다. with the specified redirection status code. "exits"의 의미에 대해서 INI 설정 http.force_exit를 참고하십시오.

예제

예 795. A http_redirect() example

<?php
http_redirect("relpath", array("name" => "value"), true, HTTP_REDIRECT_PERM);
?>

위 예제의 출력:

HTTP/1.1 301 Moved Permanently
X-Powered-By: PHP/5.2.2
Content-Type: text/html
Location: http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc

Redirecting to <a href="http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc">http://www.example.com/curdir/relpath?name=value&PHPSESSID=abc</a>.

참고

PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_request_body_encode | 처음으로 | http_send_content_disposition


http_request

(PECL pecl_http:1.0.0-1.5.5)

http_request -- Perform custom request

설명

string http_request ( int $method [, string $url [, string $body [, array $options [, array &$info]]]] )

Performs a custom HTTP request on the supplied url.

요청 옵션들의 전체 목록을 참고하십시오.

매개변수

method

Request method

url

URL

body

Request body

options

요청 옵션들

info

요청/응답 정보

반환값

성공시 HTTP 응답을 문자열로, 실패시 FALSE를 반환합니다.

이전 | 위로 | 다음
http_request_method_unregister | 처음으로 | http_request_body_encode


http_request_body_encode

(PECL pecl_http:1.0.0-1.5.5)

http_request_body_encode -- Encode request body

설명

string http_request_body_encode ( array $fields, array $files )

Generate x-www-form-urlencoded resp. form-data encoded request body.

매개변수

fields

POST fields

files

POST files

반환값

Returns encoded string on success, or FALSE on failure

이전 | 위로 | 다음
http_request | 처음으로 | http_redirect


http_request_method_exists

(PECL pecl_http:0.10.0-1.5.5)

http_request_method_exists -- Check whether request method exists

설명

int http_request_method_exists ( mixed $method )

Check if a request method is registered (or available by default).

매개변수

method

request method name or ID

반환값

Returns TRUE if the request method is known, else FALSE.

이전 | 위로 | 다음
http_put_stream | 처음으로 | http_request_method_name


http_request_method_name

(PECL pecl_http:0.10.0-1.5.5)

http_request_method_name -- Get request method name

설명

string http_request_method_name ( int $method )

Get the literal string representation of a standard or registered request method.

매개변수

method

request method ID

반환값

Returns the request method name as string on success, or FALSE on failure.

이전 | 위로 | 다음
http_request_method_exists | 처음으로 | http_request_method_register


http_request_method_register

(PECL pecl_http:0.10.0-1.5.5)

http_request_method_register -- Register request method

설명

int http_request_method_register ( string $method )

Register a custom request method.

매개변수

method

the request method name to register

반환값

Returns the ID of the request method on success, or FALSE on failure.

이전 | 위로 | 다음
http_request_method_name | 처음으로 | http_request_method_unregister


http_request_method_unregister

(PECL pecl_http:0.10.0-1.5.5)

http_request_method_unregister -- Unregister request method

설명

bool http_request_method_unregister ( mixed $method )

Unregister a previously registered custom request method.

매개변수

method

The request method name or ID

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
http_request_method_register | 처음으로 | http_request


http_send_content_disposition

(PECL pecl_http:0.10.0-1.5.5)

http_send_content_disposition -- Send Content-Disposition

설명

bool http_send_content_disposition ( string $filename [, bool $inline = FALSE] )

Send the Content-Disposition. 데이터가 파일 등에서 전송해야 할 때 Content-Disposition 헤더가 매우 유용합니다. 반드시 클라이언트/사용자에 의해 "저장"됩니다. (브라우저에서 "다른 이름으로 저장" 창을 띄웁니다)

참고: 이 함수는 다음 함수와 함께
사용합니다: http_send_data(),
http_seld_file()  그리고
http_send_stream().

매개변수

filename

the file name the "Save as..." dialog should display

inline

if set to TRUE and the user agent knows how to handle the content type, it will probably not cause the popup window to be shown

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

http_send_data()
http_send_file()
http_send_stream()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_redirect | 처음으로 | http_send_content_type


http_send_content_type

(PECL pecl_http:0.10.0-1.5.5)

http_send_content_type -- Send Content-Type

설명

bool http_send_content_type ( [string $content_type = 'application/x-octetstream'] )

Send the Content-Type of the sent entity.

참고: 이 함수는 다음 함수와 함께
사용합니다: http_send_data(),
http_seld_file()  그리고
http_send_stream().

매개변수

content_type

the desired content type (primary/secondary)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

Raises an E_WARNING when the content_type doesn't seem to contain a primary and a secondary part.

참고

http_send_data()
http_send_file()
http_send_stream()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_send_content_disposition | 처음으로 | http_send_data


http_send_data

(PECL pecl_http:0.1.0-1.5.5)

http_send_data -- Send arbitrary data

설명

bool http_send_data ( string $data )

Sends raw data with support for (multiple) range requests.

매개변수

data

data to send

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

http_send_file()
http_send_stream()
http_throttle()
http_send_content_type()
http_send_content_disposition()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_send_content_type | 처음으로 | http_send_file


http_send_file

(PECL pecl_http:0.1.0-1.5.5)

http_send_file -- Send file

설명

bool http_send_file ( string $file )

Sends a file with support for (multiple) range requests.

This functions behaviour and further action is dependent on the following INI 설정s: http.send.not_found_404 그리고 http.log.not_found.

If the INI 설정 http.send.not_found_404 is enabled and the INI 설정 http.log.not_found points to a writable file, a log message is written when the file was not found.

매개변수

file

the file to send

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 796. A http_send_file() example

<?php
http_send_content_disposition("document.pdf", true);
http_send_content_type("application/pdf");
http_throttle(0.1, 2048);
http_send_file("../report.pdf");
?>

위 예제의 출력:

HTTP/1.1 206 Partial Content
X-Powered-By: PHP/5.2.2
Accept-Ranges: bytes
Content-Length: 12345
Content-Range: bytes 0-12344
Content-Type: application/pdf
Content-Disposition: inline; filename="document.pdf"

%PDF...

참고

http_send_data()
http_send_stream()
http_throttle()
http_send_content_type()
http_send_content_disposition()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_send_data | 처음으로 | http_send_last_modified


http_send_last_modified

(PECL pecl_http:0.1.0-1.5.5)

http_send_last_modified -- Send Last-Modified

설명

bool http_send_last_modified ( [int $timestamp] )

Send a Last-Modified header with a valid HTTP date.

참고: 이 함수는 다음 함수와 함께
사용합니다: http_send_data(),
http_seld_file()  그리고
http_send_stream().

매개변수

timestamp

a Unix timestamp, converted to a valid HTTP date; if omitted, the current time will be sent

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_send_file | 처음으로 | http_send_status


http_send_status

(PECL pecl_http:0.1.0-1.5.5)

http_send_status -- Send HTTP response status

설명

bool http_send_status ( int $status )

Send HTTP status code.

매개변수

status

HTTP status code (100-599)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_send_last_modified | 처음으로 | http_send_stream


http_send_stream

(PECL pecl_http:0.1.0-1.5.5)

http_send_stream -- Send stream

설명

bool http_send_stream ( resource $stream )

Sends an already opened stream with support for (multiple) range requests.

매개변수

stream

stream to read from (must be seekable)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

http_send_data()
http_send_file()
http_throttle()
http_send_content_type()
http_send_content_disposition()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_send_status | 처음으로 | http_throttle


http_support

(PECL pecl_http:0.15.0-1.5.5)

http_support -- Check built-in HTTP support

설명

int http_support ( [int $feature = 0] )

Check for features that require external libraries.

See the feature support constants table for possible values for the feature argument.

매개변수

feature

feature to probe for

반환값

Returns integer, whether requested feature is supported, or a bitmask with all supported features if feature was omitted.

예제

예 783. A http_support() example

<?php
if (!http_support(HTTP_SUPPORT_REQUESTS)) {
    die("Need HTTP request support!\n");
}
?>

이전 | 위로 | 다음
http_date | 처음으로 | http_match_etag


http_throttle

(PECL pecl_http:0.10.0-1.5.5)

http_throttle -- HTTP throttling

설명

void http_throttle ( [float $sec [, int $bytes = 40960]] )

Sets the throttle delay and send buffer size.

참고: 이 함수는 다음 함수와 함께
사용합니다: http_send_data(),
http_seld_file()  그리고
http_send_stream().

참고: 엔티티를 완전히 전송할 때까지 현재 프로세스의 각 쓰레드에 양보하는 간단한 속도제어를 제공합니다.

참고: 다음 SAPI에서는 정상 작동하지 않을 수 있습니다: FastCGI.

매개변수

sec

seconds to sleep after each chunk sent

bytes

the chunk size in bytes

예제

예 797. A http_throttle() example

Send file with approximately 20 kbyte/s.

<?php
// ~ 20 kbyte/s
# http_throttle(1, 20000);
# http_throttle(0.5, 10000);
http_throttle(0.1, 2000);
http_send_file('document.pdf');
?>
?>

참고

http_send_data()
http_send_file()
http_send_stream()
PHP-5.1 이상을 사용할 때 HttpResponse 클래스

이전 | 위로 | 다음
http_send_stream | 처음으로 | http_build_str


HttpDeflateStream::__construct

(PECL pecl_http:0.21.0-1.5.5)

HttpDeflateStream::__construct -- HttpDeflateStream class constructor

설명

public void HttpDeflateStream::__construct ( [int $flags = 0] )

Creates a new HttpDeflateStream object instance.

See the deflate stream constants table for possible flags.

매개변수

flags

initialization flags

참고

HttpDeflateStream::factory()

이전 | 위로 | 다음
HttpDeflateStream::factory | 처음으로 | HttpDeflateStream::update


HttpDeflateStream::factory

(PECL pecl_http:1.4.0-1.5.5)

HttpDeflateStream::factory -- HttpDeflateStream class factory

설명

public HttpDeflateStream HttpDeflateStream::factory ( [int $flags = 0 [, string $class_name = 'HttpDeflateStream']] )

Creates a new HttpDeflateStream object instance.

See the deflate stream constants table for possible flags.

매개변수

flags

initialization flags

class_name

name of a subclass of HttpDeflateStream

참고

HttpDeflateStream::__construct()

이전 | 위로 | 다음
HttpDeflateStream | 처음으로 | HttpDeflateStream::__construct


HttpDeflateStream::finish

(PECL pecl_http:0.21.0-1.5.5)

HttpDeflateStream::finish -- Finalize deflate stream

설명

public string HttpDeflateStream::finish ( [string $data] )

Finalizes the deflate stream. The deflate stream can be reused after finalizing.

매개변수

data

data to deflate

반환값

Returns the final part of deflated data.

이전 | 위로 | 다음
HttpDeflateStream::flush | 처음으로 | HttpInflateStream


HttpDeflateStream::flush

(PECL pecl_http:0.21.0-1.5.5)

HttpDeflateStream::flush -- Flush deflate stream

설명

public string HttpDeflateStream::flush ( [string $data] )

Flushes the deflate stream.

매개변수

data

more data to deflate

반환값

Returns some deflated data as string on success or FALSE on failure.

이전 | 위로 | 다음
HttpDeflateStream::update | 처음으로 | HttpDeflateStream::finish


HttpDeflateStream::update

(PECL pecl_http:0.21.0-1.5.5)

HttpDeflateStream::update -- Update deflate stream

설명

public string HttpDeflateStream::update ( string $data )

Passes more data through the deflate stream.

매개변수

data

data to deflate

반환값

Returns deflated data on success or FALSE on failure.

이전 | 위로 | 다음
HttpDeflateStream::__construct | 처음으로 | HttpDeflateStream::flush


HttpInflateStream::__construct

(PECL pecl_http:1.0.0-1.5.5)

HttpInflateStream::__construct -- HttpInflateStream class constructor

설명

public void HttpInflateStream::__construct ( [int $flags = 0] )

Creates a new HttpInflateStream object instance.

See the inflate constants table for possible flags.

매개변수

flags

initialization flags

참고

HttpInflateStream::factory()

이전 | 위로 | 다음
HttpInflateStream::factory | 처음으로 | HttpInflateStream::update


HttpInflateStream::factory

(PECL pecl_http:1.4.0-1.5.5)

HttpInflateStream::factory -- HttpInflateStream class factory

설명

public HttpInflateStream HttpInflateStream::factory ( [int $flags = 0 [, string $class_name = 'HttpInflateStream']] )

Creates a new HttpInflateStream object instance.

See the inflate constants table for possible flags.

매개변수

flags

initialization flags

class_name

name of a subclass of HttpInflateStream

참고

HttpInflateStream::__construct()

이전 | 위로 | 다음
HttpInflateStream | 처음으로 | HttpInflateStream::__construct


HttpInflateStream::finish

(PECL pecl_http:0.21.0-1.5.5)

HttpInflateStream::finish -- Finalize inflate stream

설명

public string HttpInflateStream::finish ( [string $data] )

Finalizes the inflate stream. The inflate stream can be reused after finalizing.

매개변수

data

data to inflate

반환값

Returns the final part of inflated data.

이전 | 위로 | 다음
HttpInflateStream::flush | 처음으로 | HttpRequest


HttpInflateStream::flush

(PECL pecl_http:0.21.0-1.5.5)

HttpInflateStream::flush -- Flush inflate stream

설명

public string HttpInflateStream::flush ( [string $data] )

Flushes the inflate stream.

참고: Flushing usually has no effect on inflate streams.

매개변수

data

more data to inflate

반환값

Returns some inflated data as string on success or FALSE on failure.

이전 | 위로 | 다음
HttpInflateStream::update | 처음으로 | HttpInflateStream::finish


HttpInflateStream::update

(PECL pecl_http:0.21.0-1.5.5)

HttpInflateStream::update -- Update inflate stream

설명

public string HttpInflateStream::update ( string $data )

Passes more data through the inflate stream.

매개변수

data

data to inflate

반환값

Returns inflated data on success or FALSE on failure.

이전 | 위로 | 다음
HttpInflateStream::__construct | 처음으로 | HttpInflateStream::flush


HttpMessage::addHeaders

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::addHeaders -- Add headers

설명

public void HttpMessage::addHeaders ( array $headers [, bool $append = FALSE] )

Add headers. If append is true, headers with the same name will be separated, else overwritten.

매개변수

headers

associative array containing the additional HTTP headers to add to the messages existing headers

append

if true, and a header with the same name of one to add exists already, this respective header will be converted to an array containing both header values, otherwise it will be overwritten with the new header value

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpMessage::getHeader | 처음으로 | HttpMessage::setHeaders


HttpMessage::__construct

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::__construct -- HttpMessage constructor

설명

public void HttpMessage::__construct ( [string $message] )

Instantiate a new HttpMessage object.

The constructed object will actually represent the last message of the passed string. If there were prior messages, those can be accessed by HttpMessage::getParentMessage().

매개변수

message

a single or several consecutive HTTP messages

오류/예외

Throws HttpMalformedHeaderException.

이전 | 위로 | 다음
HttpMessage | 처음으로 | HttpMessage::factory


HttpMessage::detach

(PECL pecl_http:0.22.0-1.5.5)

HttpMessage::detach -- Detach HttpMessage

설명

public HttpMessage HttpMessage::detach ( void )

Returns a clone of an HttpMessage object detached from any parent messages.

매개변수

반환값

Returns detached HttpMessage object copy.

이전 | 위로 | 다음
HttpMessage::guessContentType | 처음으로 | HttpMessage::prepend


HttpMessage::factory

(PECL pecl_http:1.4.0-1.5.5)

HttpMessage::factory -- Create HttpMessage from string

설명

static public HttpMessage HttpMessage::factory ( [string $raw_message [, string $class_name = 'HttpMessage']] )

Create an HttpMessage object from a string.

매개변수

raw_message

a single or several consecutive HTTP messages

class_name

a class extending HttpMessage

반환값

Returns an HttpMessage object on success or NULL on failure.

오류/예외

Throws HttpMalformedHeadersException.

참고

HttpMessage::fromEnv().

이전 | 위로 | 다음
HttpMessage::__construct | 처음으로 | HttpMessage::fromEnv


HttpMessage::fromEnv

(PECL pecl_http:1.5.0-1.5.5)

HttpMessage::fromEnv -- Create HttpMessage from environment

설명

static public HttpMessage HttpMessage::fromEnv ( int $message_type [, string $class_name = 'HttpMessage'] )

Create an HttpMessage object from script environment.

매개변수

message_type

The message type. See HttpMessage type constants.

class_name

a class extending HttpMessage

반환값

Returns an HttpMessage object on success or NULL on failure.

참고

HttpMessage::factory().

이전 | 위로 | 다음
HttpMessage::factory | 처음으로 | HttpMessage::fromString


HttpMessage::fromString

(PECL pecl_http:0.10.0-1.3.3)

HttpMessage::fromString -- Create HttpMessage from string

설명

static public HttpMessage HttpMessage::fromString ( [string $raw_message [, string $class_name = 'HttpMessage']] )

Create an HttpMessage object from a string.

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

매개변수

raw_message

a single or several consecutive HTTP messages

class_name

a class extending HttpMessage

반환값

Returns an HttpMessage object on success or NULL on failure.

오류/예외

Throws HttpMalformedHeadersException.

참고

HttpMessage::factory().

이전 | 위로 | 다음
HttpMessage::fromEnv | 처음으로 | HttpMessage::toString


HttpMessage::getBody

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::getBody -- Get message body

설명

public string HttpMessage::getBody ( void )

Get the body of the parsed HttpMessage.

반환값

Returns the message body as string.

이전 | 위로 | 다음
HttpMessage::setHeaders | 처음으로 | HttpMessage::setBody


HttpMessage::getHeader

(PECL pecl_http:1.1.0-1.5.5)

HttpMessage::getHeader -- Get header

설명

public string HttpMessage::getHeader ( string $header )

Get message header.

매개변수

header

header name

반환값

Returns the header value on success or NULL if the header does not exist.

이전 | 위로 | 다음
HttpMessage::getHeaders | 처음으로 | HttpMessage::addHeaders


HttpMessage::getHeaders

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::getHeaders -- Get message headers

설명

public array HttpMessage::getHeaders ( void )

Get message headers.

반환값

Returns an associative array containing the messages HTTP headers.

이전 | 위로 | 다음
HttpMessage::setHttpVersion | 처음으로 | HttpMessage::getHeader


HttpMessage::getHttpVersion

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::getHttpVersion -- Get HTTP version

설명

public string HttpMessage::getHttpVersion ( void )

Get the HTTP Protocol Version of the Message.

반환값

Returns the HTTP protocol version as string.

이전 | 위로 | 다음
HttpMessage::setType | 처음으로 | HttpMessage::setHttpVersion


HttpMessage::getParentMessage

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::getParentMessage -- Get parent message

설명

public HttpMessage HttpMessage::getParentMessage ( void )

Get parent Message.

반환값

Returns the parent HttpMessage object.

오류/예외

Throws HttpRuntimeException.

이전 | 위로 | 다음
HttpMessage::send | 처음으로 | HttpMessage::getType


HttpMessage::getRequestMethod

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::getRequestMethod -- Get request method

설명

public string HttpMessage::getRequestMethod ( void )

Get the Request Method of the Message.

반환값

Returns the request method name on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST.

이전 | 위로 | 다음
HttpMessage::setBody | 처음으로 | HttpMessage::setRequestMethod


HttpMessage::getRequestUrl

(PECL pecl_http:0.21.0-1.5.5)

HttpMessage::getRequestUrl -- Get request URL

설명

public string HttpMessage::getRequestUrl ( void )

Get the Request URL of the Message.

매개변수

반환값

Returns the request URL as string on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST.

이전 | 위로 | 다음
HttpMessage::setRequestMethod | 처음으로 | HttpMessage::setRequestUrl


HttpMessage::getResponseCode

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::getResponseCode -- Get response code

설명

public int HttpMessage::getResponseCode ( void )

Get the Response Code of the Message.

반환값

Returns the HTTP response code if the message is of type HttpMessage::TYPE_RESPONSE, else FALSE.

이전 | 위로 | 다음
HttpMessage::setRequestUrl | 처음으로 | HttpMessage::setResponseCode


HttpMessage::getResponseStatus

(PECL pecl_http:0.23.0-1.5.5)

HttpMessage::getResponseStatus -- Get response status

설명

public string HttpMessage::getResponseStatus ( void )

Get the Response Status of the message (i.e. the string following the response code).

반환값

Returns the HTTP response status string if the message is of type HttpMessage::TYPE_RESPONSE, else FALSE.

이전 | 위로 | 다음
HttpMessage::setResponseCode | 처음으로 | HttpMessage::setResponseStatus


HttpMessage::getType

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::getType -- Get message type

설명

public int HttpMessage::getType ( void )

Get Message Type. Either HTTP_MSG_NONE, HTTP_MSG_REQUEST or HTTP_MSG_RESPONSE.

반환값

Returns the HttpMessage::TYPE.

이전 | 위로 | 다음
HttpMessage::getParentMessage | 처음으로 | HttpMessage::setType


HttpMessage::guessContentType

(PECL pecl_http:1.0.0-1.5.5)

HttpMessage::guessContentType -- Guess content type

설명

public string HttpMessage::guessContentType ( string $magic_file [, int $magic_mode = MAGIC_MIME] )

Attempts to guess the content type of the message body through libmagic.

매개변수

magic_file

the magic.mime database to use

magic_mode

flags for libmagic

반환값

Returns the guessed content type on success, or FALSE on failure.

오류/예외

Throws HttpRuntimeException, HttpInvalidParamException.

이전 | 위로 | 다음
HttpMessage::toMessageTypeObject | 처음으로 | HttpMessage::detach


HttpMessage::prepend

(PECL pecl_http:0.22.0-1.5.5)

HttpMessage::prepend -- Prepend message(s)

설명

public void HttpMessage::prepend ( HttpMessage $message [, bool $top = TRUE] )

Prepends message(s) to the HTTP message.

매개변수

message

HttpMessage object to prepend

top

whether to prepend to the top most or right this message

오류/예외

Throws HttpInvalidParamException if the message is located within the same message chain.

이전 | 위로 | 다음
HttpMessage::detach | 처음으로 | HttpMessage::reverse


HttpMessage::reverse

(PECL pecl_http:0.23.0-1.5.5)

HttpMessage::reverse -- Reverse message chain

설명

public HttpMessage HttpMessage::reverse ( void )

Reorders the message chain in reverse order.

반환값

Returns the most parent HttpMessage object.

이전 | 위로 | 다음
HttpMessage::prepend | 처음으로 | HttpMessage::send


HttpMessage::send

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::send -- Send message

설명

public bool HttpMessage::send ( void )

Send the Message according to its type as Response or Request.

This provides limited functionality compared to HttpRequest and HttpResponse.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpMessage::reverse | 처음으로 | HttpMessage::getParentMessage


HttpMessage::setBody

(PECL pecl_http:0.14.0-1.5.5)

HttpMessage::setBody -- Set message body

설명

public void HttpMessage::setBody ( string $body )

Set the body of the HttpMessage.

참고: Don't forget to update any headers accordingly.

매개변수

body

the new body of the message

이전 | 위로 | 다음
HttpMessage::getBody | 처음으로 | HttpMessage::getRequestMethod


HttpMessage::setHeaders

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::setHeaders -- Set headers

설명

public void HttpMessage::setHeaders ( array $headers )

Sets new headers.

매개변수

headers

associative array containing the new HTTP headers, which will replace all previous HTTP headers of the message

이전 | 위로 | 다음
HttpMessage::addHeaders | 처음으로 | HttpMessage::getBody


HttpMessage::setHttpVersion

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::setHttpVersion -- Set HTTP version

설명

public bool HttpMessage::setHttpVersion ( string $version )

Set the HTTP Protocol version of the Message.

매개변수

version

the HTTP protocol version

반환값

Returns TRUE on success, or FALSE if supplied version is out of range (1.0/1.1).

이전 | 위로 | 다음
HttpMessage::getHttpVersion | 처음으로 | HttpMessage::getHeaders


HttpMessage::setRequestMethod

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::setRequestMethod -- Set request method

설명

public bool HttpMessage::setRequestMethod ( string $method )

Set the Request Method of the HTTP Message.

매개변수

method

the request method name

반환값

Returns TRUE on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST or an invalid request method was supplied.

이전 | 위로 | 다음
HttpMessage::getRequestMethod | 처음으로 | HttpMessage::getRequestUrl


HttpMessage::setRequestUrl

(PECL pecl_http:0.21.0-1.5.5)

HttpMessage::setRequestUrl -- Set request URL

설명

public bool HttpMessage::setRequestUrl ( string $url )

Set the Request URL of the HTTP Message.

매개변수

url

the request URL

반환값

Returns TRUE on success, or FALSE if the message is not of type HttpMessage::TYPE_REQUEST or supplied URL was empty.

이전 | 위로 | 다음
HttpMessage::getRequestUrl | 처음으로 | HttpMessage::getResponseCode


HttpMessage::setResponseCode

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::setResponseCode -- Set response code

설명

public bool HttpMessage::setResponseCode ( int $code )

Set the response code of an HTTP Response Message.

매개변수

code

HTTP response code

반환값

Returns TRUE on success, or FALSE if the message is not of type HttpMessage::TYPE_RESPONSE or the response code is out of range (100-510).

이전 | 위로 | 다음
HttpMessage::getResponseCode | 처음으로 | HttpMessage::getResponseStatus


HttpMessage::setResponseStatus

(PECL pecl_http:0.23.0-1.5.5)

HttpMessage::setResponseStatus -- Set response status

설명

public bool HttpMessage::setResponseStatus ( string $status )

Set the Response Status of the HTTP message (i.e. the string following the response code).

매개변수

status

the response status text

반환값

Returns TRUE on success or FALSE if the message is not of type HttpMessage::TYPE_RESPONSE.

이전 | 위로 | 다음
HttpMessage::getResponseStatus | 처음으로 | HttpQueryString


HttpMessage::setType

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::setType -- Set message type

설명

public void HttpMessage::setType ( int $type )

Set Message Type. Either HTTP_MSG_NONE, HTTP_MSG_REQUEST or HTTP_MSG_RESPONSE.

매개변수

type

the HttpMessage::TYPE

이전 | 위로 | 다음
HttpMessage::getType | 처음으로 | HttpMessage::getHttpVersion


HttpMessage::toMessageTypeObject

(PECL pecl_http:0.22.0-1.5.5)

HttpMessage::toMessageTypeObject -- Create HTTP object regarding message type

설명

public HttpRequest|HttpResponse HttpMessage::toMessageTypeObject ( void )

Creates an object regarding to the type of the message.

매개변수

반환값

Returns either an HttpRequest or HttpResponse object on success, or NULL on failure.

오류/예외

Throws HttpRuntimeException, HttpMessageTypeException, HttpHeaderException.

이전 | 위로 | 다음
HttpMessage::toString | 처음으로 | HttpMessage::guessContentType


HttpMessage::toString

(PECL pecl_http:0.10.0-1.5.5)

HttpMessage::toString -- Get string representation

설명

public string HttpMessage::toString ( [bool $include_parent = FALSE] )

Get the string representation of the Message.

매개변수

include_parent

specifies whether the returned string should also contain any parent messages

반환값

Returns the message as string.

이전 | 위로 | 다음
HttpMessage::fromString | 처음으로 | HttpMessage::toMessageTypeObject


HttpQueryString::__construct

(PECL pecl_http:0.22.0-1.5.5)

HttpQueryString::__construct -- HttpQueryString constructor

설명

final public void HttpQueryString::__construct ( [bool $global = TRUE [, mixed $add]] )

Creates a new HttpQueryString object instance.

Operates on and modifies $_GET and $_SERVER['QUERY_STRING'] if global is TRUE.

매개변수

global

whether to operate on $_GET and $_SERVER['QUERY_STRING']

add

additional/initial query string parameters

오류/예외

Throws HttpRuntimeException.

이전 | 위로 | 다음
HttpQueryString | 처음으로 | HttpQueryString::singleton


HttpQueryString::get

(PECL pecl_http:0.22.0-1.5.5)

HttpQueryString::get -- Get (part of) query string

설명

public mixed HttpQueryString::get ( [string $key [, mixed $type = 0 [, mixed $defval = NULL [, bool $delete = FALSE]]]] )

Get (part of) the query string.

The type parameter is either one of the HttpQueryString::TYPE_* constants or a type abbreviation like "b" for bool, "i" for int, "f" for float, "s" for string, "a" for array and "o" for a stdClass object.

매개변수

key

key of the query string param to retrieve

type

which variable type to enforce

defval

default value if key does not exist

delete

whether to remove the key/value pair from the query string

반환값

Returns the value of the query string param or the whole query string if no key was specified on success or defval if key does not exist.

이전 | 위로 | 다음
HttpQueryString::singleton | 처음으로 | HttpQueryString::mod


HttpQueryString::mod

(PECL pecl_http:1.1.0-1.5.5)

HttpQueryString::mod -- Modifiy query string copy

설명

public HttpQueryString HttpQueryString::mod ( mixed $params )

Copies the query string object and sets provided params at the clone.

매개변수

params

query string params to add

반환값

Returns a new HttpQueryString object

이전 | 위로 | 다음
HttpQueryString::get | 처음으로 | HttpQueryString::set


HttpQueryString::set

(PECL pecl_http:0.22.0-1.5.5)

HttpQueryString::set -- Set query string params

설명

public string HttpQueryString::set ( mixed $params )

Set query string entry/entries. NULL values will unset the variable.

매개변수

params

query string params to add

반환값

Returns the current query string.

이전 | 위로 | 다음
HttpQueryString::mod | 처음으로 | HttpQueryString::toArray


HttpQueryString::singleton

(PECL pecl_http:0.25.0-1.5.5)

HttpQueryString::singleton -- HttpQueryString singleton

설명

static public HttpQueryString HttpQueryString::singleton ( [bool $global = TRUE] )

Get a single instance (differentiates between the global setting).

매개변수

global

whether to operate on $_GET and $_SERVER['QUERY_STRING']

반환값

Returns always the same HttpQueryString instance regarding the global setting.

오류/예외

Throws HttpRuntimeException.

이전 | 위로 | 다음
HttpQueryString::__construct | 처음으로 | HttpQueryString::get


HttpQueryString::toArray

(PECL pecl_http:0.22.0-1.5.5)

HttpQueryString::toArray -- Get query string as array

설명

public array HttpQueryString::toArray ( void )

Get the query string represented as associative array.

반환값

Returns the array representation of the query string.

이전 | 위로 | 다음
HttpQueryString::set | 처음으로 | HttpQueryString::toString


HttpQueryString::toString

(PECL pecl_http:0.22.0-1.5.5)

HttpQueryString::toString -- Get query string

설명

public string HttpQueryString::toString ( void )

Get the query string.

매개변수

반환값

Returns the string representation of the query string.

이전 | 위로 | 다음
HttpQueryString::toArray | 처음으로 | HttpQueryString::xlate


HttpQueryString::xlate

(PECL pecl_http:0.25.0-1.5.5)

HttpQueryString::xlate -- Change query strings charset

설명

public bool HttpQueryString::xlate ( string $ie, string $oe )

Converts the query string from the source encoding ie to the target encoding oe.

주의

Don't use any character set that can contain NUL bytes like UTF-16.

참고: This method requires ext/iconv to be enabled and loaded.

매개변수

ie

input encoding

oe

output encoding

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpQueryString::toString | 처음으로 | HttpDeflateStream


HttpRequest::addCookies

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::addCookies -- Add cookies

설명

public bool HttpRequest::addCookies ( array $cookies )

Add custom cookies.

참고: 요청 옵션 encodecookies는 쿠키값이 urlencode()를 통할 지 여부를 제어합니다.

참고: 모든 요청 방식에 적용됩니다.

매개변수

cookies

an associative array containing any cookie name/value pairs to add

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 773. A HttpRequest::addCookies() example

<?php
$r = new HttpRequest;
$r->addCookies(
    array(
        "cookie_name" => "cookie value",
    )
);
?>

참고

HttpRequest::setCookies()

이전 | 위로 | 다음
HttpRequest | 처음으로 | HttpRequest::addHeaders


HttpRequest::addHeaders

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::addHeaders -- Add headers

설명

public bool HttpRequest::addHeaders ( array $headers )

Add request header name/value pairs.

매개변수

headers

an associative array as parameter containing additional header name/value pairs

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::addCookies | 처음으로 | HttpRequest::addPostFields


HttpRequest::addPostFields

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::addPostFields -- Add post fields

설명

public bool HttpRequest::addPostFields ( array $post_data )

Adds POST data entries, leaving previously set unchanged, unless a post entry with the same name already exists.

Affects only POST and custom requests.

매개변수

post_data

an associative array as parameter containing the post fields

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::addHeaders | 처음으로 | HttpRequest::addPostFile


HttpRequest::addPostFile

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::addPostFile -- Add post file

설명

public bool HttpRequest::addPostFile ( string $name, string $file [, string $content_type = 'application/x-octetstream'] )

Add a file to the POST request, leaving previously set files unchanged.

Affects only POST and custom requests. Cannot be used with raw post data.

매개변수

name

the form element name

file

the path to the file

content_type

the content type of the file

반환값

Returns TRUE on success, or FALSE if the content type seems not to contain a primary and a secondary content type part.

이전 | 위로 | 다음
HttpRequest::addPostFields | 처음으로 | HttpRequest::addPutData


HttpRequest::addPutData

(PECL pecl_http:0.25.0-1.5.5)

HttpRequest::addPutData -- Add put data

설명

public bool HttpRequest::addPutData ( string $put_data )

Add PUT data, leaving previously set PUT data unchanged.

Affects only PUT requests.

매개변수

put_data

the data to concatenate

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::addPostFile | 처음으로 | HttpRequest::addQueryData


HttpRequest::addQueryData

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::addQueryData -- Add query data

설명

public bool HttpRequest::addQueryData ( array $query_params )

Add parameters to the query parameter list, leaving previously set unchanged.

Affects any request type.

매개변수

query_params

an associative array as parameter containing the query fields to add

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::addPutData | 처음으로 | HttpRequest::addRawPostData


HttpRequest::addRawPostData

(PECL pecl_http:0.14.0-1.4.1)

HttpRequest::addRawPostData -- Add raw post data

설명

public bool HttpRequest::addRawPostData ( string $raw_post_data )

Add raw post data, leaving previously set raw post data unchanged.

Affects only POST and custom requests.

매개변수

raw_post_data

the raw post data to concatenate

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::addQueryData | 처음으로 | HttpRequest::addSslOptions


HttpRequest::addSslOptions

(PECL pecl_http:0.12.0-1.5.5)

HttpRequest::addSslOptions -- Add ssl options

설명

public bool HttpRequest::addSslOptions ( array $options )

Set additional SSL options.

매개변수

options

an associative array as parameter containing additional SSL specific options

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::addRawPostData | 처음으로 | HttpRequest::clearHistory


HttpRequest::clearHistory

(PECL pecl_http:0.15.0-1.5.5)

HttpRequest::clearHistory -- Clear history

설명

public void HttpRequest::clearHistory ( void )

Clears all history messages.

참고: History is only logged if recordHistory was enabled.

이전 | 위로 | 다음
HttpRequest::addSslOptions | 처음으로 | HttpRequest::__construct


HttpRequest::__construct

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::__construct -- HttpRequest constructor

설명

public void HttpRequest::__construct ( [string $url [, int $request_method = HTTP_METH_GET [, array $options]]] )

Instantiate a new HttpRequest object.

매개변수

url

the target request url

request_method

the request method to use

options

an associative array with request options

오류/예외

Throws HttpException.

이전 | 위로 | 다음
HttpRequest::clearHistory | 처음으로 | HttpRequest::enableCookies


HttpRequest::enableCookies

(PECL pecl_http:1.0.0-1.5.5)

HttpRequest::enableCookies -- Enable cookies

설명

public bool HttpRequest::enableCookies ( void )

Enable automatic sending of received cookies.

참고: Note that cuutomly set cookies will be sent anyway.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::__construct | 처음으로 | HttpRequest::getContentType


HttpRequest::getContentType

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getContentType -- Get content type

설명

public string HttpRequest::getContentType ( void )

Get the previously set content type.

반환값

Returns the previously set content type as string.

이전 | 위로 | 다음
HttpRequest::enableCookies | 처음으로 | HttpRequest::getCookies


HttpRequest::getCookies

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getCookies -- Get cookies

설명

public array HttpRequest::getCookies ( void )

Get previously set cookies.

반환값

Returns an associative array containing any previously set cookies.

이전 | 위로 | 다음
HttpRequest::getContentType | 처음으로 | HttpRequest::getHeaders


HttpRequest::getHeaders

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getHeaders -- Get headers

설명

public array HttpRequest::getHeaders ( void )

Get previously set request headers.

반환값

Returns an associative array containing all currently set headers.

이전 | 위로 | 다음
HttpRequest::getCookies | 처음으로 | HttpRequest::getHistory


HttpRequest::getHistory

(PECL pecl_http:0.15.0-1.5.5)

HttpRequest::getHistory -- Get history

설명

public HttpMessage HttpRequest::getHistory ( void )

Get all sent requests and received responses as an HttpMessage object.

If you want to record history, set the instance variable HttpRequest::recordHistory to TRUE.

The returned object references the last received response, use HttpMessage::getParentMessage()() to access the data of previously sent requests and received responses.

반환값

Returns an HttpMessage object representing the complete request/response history.

오류/예외

Throws HttpRuntimeException.

이전 | 위로 | 다음
HttpRequest::getHeaders | 처음으로 | HttpRequest::getMethod


HttpRequest::getMethod

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getMethod -- Get method

설명

public int HttpRequest::getMethod ( void )

Get the previously set request method.

반환값

Returns the currently set request method.

이전 | 위로 | 다음
HttpRequest::getHistory | 처음으로 | HttpRequest::getOptions


HttpRequest::getOptions

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getOptions -- Get options

설명

public array HttpRequest::getOptions ( void )

Get currently set options.

반환값

Returns an associative array containing currently set options.

이전 | 위로 | 다음
HttpRequest::getMethod | 처음으로 | HttpRequest::getPostFields


HttpRequest::getPostFields

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getPostFields -- Get post fields

설명

public array HttpRequest::getPostFields ( void )

Get previously set POST data.

매개변수

반환값

Returns the currently set post fields as associative array.

이전 | 위로 | 다음
HttpRequest::getOptions | 처음으로 | HttpRequest::getPostFiles


HttpRequest::getPostFiles

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getPostFiles -- Get post files

설명

public array HttpRequest::getPostFiles ( void )

Get all previously added POST files.

반환값

Returns an array containing currently set post files.

이전 | 위로 | 다음
HttpRequest::getPostFields | 처음으로 | HttpRequest::getPutData


HttpRequest::getPutData

(PECL pecl_http:0.25.0-1.5.5)

HttpRequest::getPutData -- Get put data

설명

public string HttpRequest::getPutData ( void )

Get previously set PUT data.

반환값

Returns a string containing the currently set PUT data.

이전 | 위로 | 다음
HttpRequest::getPostFiles | 처음으로 | HttpRequest::getPutFile


HttpRequest::getPutFile

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getPutFile -- Get put file

설명

public string HttpRequest::getPutFile ( void )

Get previously set put file.

반환값

Returns a string containing the path to the currently set put file.

이전 | 위로 | 다음
HttpRequest::getPutData | 처음으로 | HttpRequest::getQueryData


HttpRequest::getQueryData

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getQueryData -- Get query data

설명

public string HttpRequest::getQueryData ( void )

Get the current query data in form of an urlencoded query string.

반환값

Returns a string containing the urlencoded query.

이전 | 위로 | 다음
HttpRequest::getPutFile | 처음으로 | HttpRequest::getRawPostData


HttpRequest::getRawPostData

(PECL pecl_http:0.14.0-1.4.1)

HttpRequest::getRawPostData -- Get raw post data

설명

public string HttpRequest::getRawPostData ( void )

Get previously set raw post data.

매개변수

반환값

Returns a string containing the currently set raw post data.

이전 | 위로 | 다음
HttpRequest::getQueryData | 처음으로 | HttpRequest::getRawRequestMessage


HttpRequest::getRawRequestMessage

(PECL pecl_http:0.21.0-1.5.5)

HttpRequest::getRawRequestMessage -- Get raw request message

설명

public string HttpRequest::getRawRequestMessage ( void )

Get sent HTTP message.

매개변수

반환값

Returns an HttpMessage in a form of a string.

이전 | 위로 | 다음
HttpRequest::getRawPostData | 처음으로 | HttpRequest::getRawResponseMessage


HttpRequest::getRawResponseMessage

(PECL pecl_http:0.21.0-1.5.5)

HttpRequest::getRawResponseMessage -- Get raw response message

설명

public string HttpRequest::getRawResponseMessage ( void )

Get the entire HTTP response.

매개변수

반환값

Returns the complete web server response, including the headers in a form of a string.

이전 | 위로 | 다음
HttpRequest::getRawRequestMessage | 처음으로 | HttpRequest::getRequestMessage


HttpRequest::getRequestMessage

(PECL pecl_http:0.11.0-1.5.5)

HttpRequest::getRequestMessage -- Get request message

설명

public HttpMessage HttpRequest::getRequestMessage ( void )

Get sent HTTP message.

If redirects were allowed and several responses were received, the data references the last received response. Use HttpMessage::getParentMessage() to access the data of previously sent requests within this request cycle.

참고: Note that the internal request message is immutable, that means that the request message received through HttpRequest::getRequestMessage() will always look the same for the same request, regardless of any changes you may have made to the returned object.

반환값

Returns an HttpMessage object representing the sent request.

오류/예외

Throws HttpMalformedHeadersException, HttpEncodingException.

이전 | 위로 | 다음
HttpRequest::getRawResponseMessage | 처음으로 | HttpRequest::getResponseBody


HttpRequest::getResponseBody

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getResponseBody -- Get response body

설명

public string HttpRequest::getResponseBody ( void )

Get the response body after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

매개변수

반환값

Returns a string containing the response body.

이전 | 위로 | 다음
HttpRequest::getRequestMessage | 처음으로 | HttpRequest::getResponseCode


HttpRequest::getResponseCode

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getResponseCode -- Get response code

설명

public int HttpRequest::getResponseCode ( void )

Get the response code after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

반환값

Returns an int representing the response code.

이전 | 위로 | 다음
HttpRequest::getResponseBody | 처음으로 | HttpRequest::getResponseCookies


HttpRequest::getResponseCookies

(PECL pecl_http:0.23.0-1.5.5)

HttpRequest::getResponseCookies -- Get response cookie(s)

설명

public array HttpRequest::getResponseCookies ( [int $flags [, array $allowed_extras]] )

Get response cookie(s) after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

매개변수

flags

http_parse_cookie() flags

allowed_extras

allowed keys treated as extra information instead of cookie names

반환값

Returns an array of stdClass objects like http_parse_cookie() would return.

이전 | 위로 | 다음
HttpRequest::getResponseCode | 처음으로 | HttpRequest::getResponseData


HttpRequest::getResponseData

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getResponseData -- Get response data

설명

public array HttpRequest::getResponseData ( void )

* Get all response data after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

반환값

Returns an associative array with the key "headers" containing an associative array holding all response headers, as well as the key "body" containing a string with the response body.

이전 | 위로 | 다음
HttpRequest::getResponseCookies | 처음으로 | HttpRequest::getResponseHeader


HttpRequest::getResponseHeader

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getResponseHeader -- Get response header(s)

설명

public mixed HttpRequest::getResponseHeader ( [string $name] )

Get response header(s) after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response.

매개변수

name

header to read; if empty, all response headers will be returned

반환값

Returns either a string with the value of the header matching name if requested, FALSE on failure, or an associative array containing all response headers.

이전 | 위로 | 다음
HttpRequest::getResponseData | 처음으로 | HttpRequest::getResponseInfo


HttpRequest::getResponseInfo

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getResponseInfo -- Get response info

설명

public mixed HttpRequest::getResponseInfo ( [string $name] )

Get response info after the request has been sent.

See http_get() for a full list of returned info.

If redirects were allowed and several responses were received, the data references the last received response.

매개변수

name

the info to read; if empty or omitted, an associative array containing all available info will be returned

반환값

Returns either a scalar containing the value of the info matching name if requested, FALSE on failure, or an associative array containing all available info.

이전 | 위로 | 다음
HttpRequest::getResponseHeader | 처음으로 | HttpRequest::getResponseMessage


HttpRequest::getResponseMessage

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getResponseMessage -- Get response message

설명

public HttpMessage HttpRequest::getResponseMessage ( void )

Get the full response as HttpMessage object after the request has been sent.

If redirects were allowed and several responses were received, the data references the last received response. Use HttpMessage::getParentMessage() to access the data of previously received responses within this request cycle.

반환값

Returns an HttpMessage object of the response.

오류/예외

Throws HttpException, HttpRuntimeException.

이전 | 위로 | 다음
HttpRequest::getResponseInfo | 처음으로 | HttpRequest::getResponseStatus


HttpRequest::getResponseStatus

(PECL pecl_http:0.23.0-1.5.5)

HttpRequest::getResponseStatus -- Get response status

설명

public string HttpRequest::getResponseStatus ( void )

Get the response status (i.e. the string after the response code) after the message has been sent.

반환값

Returns a string containing the response status text.

이전 | 위로 | 다음
HttpRequest::getResponseMessage | 처음으로 | HttpRequest::getSslOptions


HttpRequest::getSslOptions

(No version information available, might be only in CVS)

HttpRequest::getSslOptions -- Get ssl options

설명

public array HttpRequest::getSslOptions ( void )

Get previously set SSL options.

반환값

Returns an associative array containing any previously set SSL options.

이전 | 위로 | 다음
HttpRequest::getResponseStatus | 처음으로 | HttpRequest::getUrl


HttpRequest::getUrl

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::getUrl -- Get url

설명

public string HttpRequest::getUrl ( void )

Get the previously set request URL.

반환값

Returns the currently set request url as string.

이전 | 위로 | 다음
HttpRequest::getSslOptions | 처음으로 | HttpRequest::resetCookies


HttpRequest::resetCookies

(PECL pecl_http:1.0.0-1.5.5)

HttpRequest::resetCookies -- Reset cookies

설명

public bool HttpRequest::resetCookies ( [bool $session_only = FALSE] )

Reset all automatically received/sent cookies.

참고: Note that customly set cookies are not affected.

매개변수

session_only

whether only session cookies should be reset (needs libcurl >= v7.15.4, else libcurl >= v7.14.1)

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::getUrl | 처음으로 | HttpRequest::send


HttpRequest::send

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::send -- Send request

설명

public HttpMessage HttpRequest::send ( void )

Send the HTTP request.

참고: While an exception may be thrown, the transfer could have succeeded at least partially, so you might want to check the return values of various HttpRequest::getResponse*() methods.

반환값

Returns the received response as HttpMessage object.

오류/예외

Throws HttpRuntimeException, HttpRequestException, HttpMalformedHeaderException, HttpEncodingException.

예제

예 774. GET example

<?php
$r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET);
$r->setOptions(array('lastmodified' => filemtime('local.rss')));
$r->addQueryData(array('category' => 3));
try {
    $r->send();
    if ($r->getResponseCode() == 200) {
        file_put_contents('local.rss', $r->getResponseBody());
    }
} catch (HttpException $ex) {
    echo $ex;
}
?>

예 775. POST example

<?php
$r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
$r->setOptions(array('cookies' => array('lang' => 'de')));
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
try {
    echo $r->send()->getBody();
} catch (HttpException $ex) {
    echo $ex;
}
?>

이전 | 위로 | 다음
HttpRequest::resetCookies | 처음으로 | HttpRequest::setContentType


HttpRequest::setContentType

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::setContentType -- Set content type

설명

public bool HttpRequest::setContentType ( string $content_type )

Set the content type the post request should have.

매개변수

content_type

the content type of the request (primary/secondary)

반환값

Returns TRUE on success, or FALSE if the content type does not seem to contain a primary and a secondary part.

이전 | 위로 | 다음
HttpRequest::send | 처음으로 | HttpRequest::setCookies


HttpRequest::setCookies

(PECL pecl_http:0.12.0-1.5.5)

HttpRequest::setCookies -- Set cookies

설명

public bool HttpRequest::setCookies ( [array $cookies] )

Set custom cookies.

매개변수

cookies

an associative array as parameter containing cookie name/value pairs; if empty or omitted, all previously set cookies will be unset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setContentType | 처음으로 | HttpRequest::setHeaders


HttpRequest::setHeaders

(PECL pecl_http:0.12.0-1.5.5)

HttpRequest::setHeaders -- Set headers

설명

public bool HttpRequest::setHeaders ( [array $headers] )

Set request header name/value pairs.

매개변수

headers

an associative array as parameter containing header name/value pairs; if empty or omitted, all previously set headers will be unset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setCookies | 처음으로 | HttpRequest::setMethod


HttpRequest::setMethod

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::setMethod -- Set method

설명

public bool HttpRequest::setMethod ( int $request_method )

Set the request method.

매개변수

request_method

the request method to use

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setHeaders | 처음으로 | HttpRequest::setOptions


HttpRequest::setOptions

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::setOptions -- Set options

설명

public bool HttpRequest::setOptions ( [array $options] )

Set the request options to use.

요청 옵션들의 전체 목록을 참고하십시오.

매개변수

options

an associative array, which values will overwrite the currently set request options; if empty or omitted, the options of the HttpRequest object will be reset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setMethod | 처음으로 | HttpRequest::setPostFields


HttpRequest::setPostFields

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::setPostFields -- Set post fields

설명

public bool HttpRequest::setPostFields ( array $post_data )

Set the POST data entries, overwriting previously set POST data.

Affects only POST and custom requests.

매개변수

post_data

an associative array containing the post fields; if empty, the post data will be unset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setOptions | 처음으로 | HttpRequest::setPostFiles


HttpRequest::setPostFiles

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::setPostFiles -- Set post files

설명

public bool HttpRequest::setPostFiles ( array $post_files )

Set files to post, overwriting previously set post files.

Affects only POST and requests. Cannot be used with raw post data.

매개변수

post_files

an array containing the files to post; if empty, the post files will be unset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setPostFields | 처음으로 | HttpRequest::setPutData


HttpRequest::setPutData

(PECL pecl_http:0.25.0-1.5.5)

HttpRequest::setPutData -- Set put data

설명

public bool HttpRequest::setPutData ( [string $put_data] )

Set PUT data to send, overwriting previously set PUT data.

Affects only PUT requests.

Only either PUT data or PUT file can be used for each request. PUT data has higher precedence and will be used even if a PUT file is set.

매개변수

put_data

the data to upload

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setPostFiles | 처음으로 | HttpRequest::setPutFile


HttpRequest::setPutFile

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::setPutFile -- Set put file

설명

public bool HttpRequest::setPutFile ( [string $file] )

Set file to put. Affects only PUT requests.

매개변수

file

the path to the file to send; if empty or omitted the put file will be unset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setPutData | 처음으로 | HttpRequest::setQueryData


HttpRequest::setQueryData

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::setQueryData -- Set query data

설명

public bool HttpRequest::setQueryData ( mixed $query_data )

Set the URL query parameters to use, overwriting previously set query parameters.

Affects any request types.

매개변수

query_data

a string or associative array parameter containing the pre-encoded query string or to be encoded query fields; if empty, the query data will be unset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setPutFile | 처음으로 | HttpRequest::setRawPostData


HttpRequest::setRawPostData

(PECL pecl_http:0.14.0-1.4.1)

HttpRequest::setRawPostData -- Set raw post data

설명

public bool HttpRequest::setRawPostData ( [string $raw_post_data] )

Set raw post data to send, overwriting previously set raw post data. Don't forget to specify a content type. Affects only POST and custom requests.

Only either post fields or raw post data can be used for each request. Raw post data has higher precedence and will be used even if post fields are set.

매개변수

raw_post_data

raw post data

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setQueryData | 처음으로 | HttpRequest::setSslOptions


HttpRequest::setSslOptions

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::setSslOptions -- Set ssl options

설명

public bool HttpRequest::setSslOptions ( [array $options] )

Set SSL options.

매개변수

options

an associative array containing any SSL specific options; if empty or omitted, the SSL options will be reset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setRawPostData | 처음으로 | HttpRequest::setUrl


HttpRequest::setUrl

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::setUrl -- Set URL

설명

public bool HttpRequest::setUrl ( string $url )

Set the request URL.

매개변수

url

the request url

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequest::setSslOptions | 처음으로 | HttpRequestPool


HttpRequestPool::attach

(PECL pecl_http:0.10.0-1.5.5)

HttpRequestPool::attach -- Attach HttpRequest

설명

public bool HttpRequestPool::attach ( HttpRequest $request )

Attach an HttpRequest object to this HttpRequestPool.

주의

Set all options prior attaching!

매개변수

request

an HttpRequest object not already attached to any HttpRequestPool object

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

Throws HttpInvalidParamException, HttpRequestException, HttpRequestPoolException, HttpEncodingException.

이전 | 위로 | 다음
HttpRequestPool | 처음으로 | HttpRequestPool::__construct


HttpRequestPool::__construct

(PECL pecl_http:0.10.0-1.5.5)

HttpRequestPool::__construct -- HttpRequestPool constructor

설명

void HttpRequestPool::__construct ( [HttpRequest $request] )

Instantiate a new HttpRequestPool object. An HttpRequestPool is able to send several HttpRequests in parallel.

Accepts virtually infinite optional parameters each referencing an HttpRequest object.

매개변수

request

HttpRequest object to attach

오류/예외

Throws HttpRequestPoolException (HttpRequestException, HttpInvalidParamException).

예제

예 776. A HttpRequestPool example

<?php
try {
    $pool = new HttpRequestPool(
        new HttpRequest('http://www.google.com/', HttpRequest::METH_HEAD),
        new HttpRequest('http://www.php.net/', HttpRequest::METH_HEAD)
    );
    $pool->send();
    foreach($pool as $request) {
        printf("%s is %s (%d)\n",
            $request->getUrl(),
            $request->getResponseCode() ? 'alive' : 'not alive',
            $request->getResponseCode()
        );
    }
} catch (HttpException $e) {
    echo $e;
}
?>

이전 | 위로 | 다음
HttpRequestPool::attach | 처음으로 | HttpRequestPool::__destruct


HttpRequestPool::__destruct

(PECL pecl_http:0.10.0-1.5.5)

HttpRequestPool::__destruct -- HttpRequestPool destructor

설명

void HttpRequestPool::__destruct ( void )

Clean up HttpRequestPool object.

이전 | 위로 | 다음
HttpRequestPool::__construct | 처음으로 | HttpRequestPool::detach


HttpRequestPool::detach

(PECL pecl_http:0.10.0-1.5.5)

HttpRequestPool::detach -- Detach HttpRequest

설명

bool HttpRequestPool::detach ( HttpRequest $request )

Detach an HttpRequest object from this HttpRequestPool.

매개변수

request

an HttpRequest object attached to this HttpRequestPool object

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

Throws HttpInvalidParamException, HttpRequestPoolException.

이전 | 위로 | 다음
HttpRequestPool::__destruct | 처음으로 | HttpRequestPool::getAttachedRequests


HttpRequestPool::getAttachedRequests

(PECL pecl_http:0.16.0-1.5.5)

HttpRequestPool::getAttachedRequests -- Get attached requests

설명

array HttpRequestPool::getAttachedRequests ( void )

Get attached HttpRequest objects.

매개변수

반환값

Returns an array containing all currently attached HttpRequest objects.

이전 | 위로 | 다음
HttpRequestPool::detach | 처음으로 | HttpRequestPool::getFinishedRequests


HttpRequestPool::getFinishedRequests

(PECL pecl_http:0.16.0-1.5.5)

HttpRequestPool::getFinishedRequests -- Get finished requests

설명

array HttpRequestPool::getFinishedRequests ( void )

Get attached HttpRequest objects that already have finished their work.

매개변수

반환값

Returns an array containing all attached HttpRequest objects that already have finished their work.

이전 | 위로 | 다음
HttpRequestPool::getAttachedRequests | 처음으로 | HttpRequestPool::reset


HttpRequestPool::reset

(PECL pecl_http:0.10.0-1.5.5)

HttpRequestPool::reset -- Reset request pool

설명

void HttpRequestPool::reset ( void )

Detach all attached HttpRequest objects.

이전 | 위로 | 다음
HttpRequestPool::getFinishedRequests | 처음으로 | HttpRequestPool::send


HttpRequestPool::send

(PECL pecl_http:0.10.0-1.5.5)

HttpRequestPool::send -- Send all requests

설명

bool HttpRequestPool::send ( void )

Send all attached HttpRequest objects in parallel.

매개변수

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

Throws HttpRequestPoolException (HttpSocketException, HttpRequestException, HttpMalformedHeaderException).

이전 | 위로 | 다음
HttpRequestPool::reset | 처음으로 | HttpRequestPool::socketPerform


HttpRequestPool::socketPerform

(PECL pecl_http:0.15.0-1.5.5)

HttpRequestPool::socketPerform -- Perform socket actions

설명

protected bool HttpRequestPool::socketPerform ( void )

Returns TRUE until each request has finished its transaction.

반환값

Returns TRUE until each request has finished its transaction.

예제

예 777. A HttpRequestPool::socketPerform() example

<?php
class MyPool extends HttpRequestPool
{
    public function send()
    {
        while ($this->socketPerform()) {
            if (!$this->socketSelect()) {
                throw new HttpSocketExcpetion;
            }
        }
    }

    protected final function socketPerform()
    {
        $result = parent::socketPerform();
        foreach ($this->getFinishedRequests() as $r) {
            $this->detach($r);
            // handle response of finished request
        }
        return $result;
    }
}
?>

이전 | 위로 | 다음
HttpRequestPool::send | 처음으로 | HttpRequestPool::socketSelect


HttpRequestPool::socketSelect

(PECL pecl_http:0.10.0-1.5.5)

HttpRequestPool::socketSelect -- Perform socket select

설명

protected bool HttpRequestPool::socketSelect ( void )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
HttpRequestPool::socketPerform | 처음으로 | HttpResponse


HttpResponse::capture

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::capture -- Capture script output

설명

static void HttpResponse::capture ( void )

Capture script output.

예제

예 778. A HttpResponse::capture() example

<?php
HttpResponse::setCache(true);
HttpResponse::capture();
// script follows
?>

참고

HttpResponse::send()

이전 | 위로 | 다음
HttpResponse | 처음으로 | HttpResponse::getBufferSize


HttpResponse::getBufferSize

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getBufferSize -- Get buffer size

설명

static int HttpResponse::getBufferSize ( void )

Get current buffer size.

반환값

Returns an int representing the current buffer size in bytes.

참고

HttpResponse::setBufferSize()
HttpResponse::getThrottleDelay()
HttpResponse::setThrottleDelay()

이전 | 위로 | 다음
HttpResponse::capture | 처음으로 | HttpResponse::getCacheControl


HttpResponse::getCache

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getCache -- Get cache

설명

static bool HttpResponse::getCache ( void )

Get current caching setting.

반환값

Returns TRUE if caching should be attempted, else FALSE.

참고

HttpResponse::setCacheControl()
HttpResponse::getCacheControl()
HttpResponse::setCache()

이전 | 위로 | 다음
HttpResponse::getCacheControl | 처음으로 | HttpResponse::getContentDisposition


HttpResponse::getCacheControl

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getCacheControl -- Get cache control

설명

static string HttpResponse::getCacheControl ( void )

Get current Cache-Control header setting.

반환값

Returns the current cache control setting as a string like sent in a header.

참고

HttpResponse::setCacheControl()
HttpResponse::setCache()
HttpResponse::getCachel()

이전 | 위로 | 다음
HttpResponse::getBufferSize | 처음으로 | HttpResponse::getCache


HttpResponse::getContentDisposition

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getContentDisposition -- Get content disposition

설명

static string HttpResponse::getContentDisposition ( void )

Get current Content-Disposition setting.

반환값

Returns the current content disposition as string like sent in a header.

참고

HttpResponse::setContentDisposition()
HttpResponse::getContentType()
HttpResponse::setContentType()

이전 | 위로 | 다음
HttpResponse::getCache | 처음으로 | HttpResponse::getContentType


HttpResponse::getContentType

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getContentType -- Get content type

설명

static string HttpResponse::getContentType ( void )

Get current Content-Type header setting.

반환값

Returns the currently set content type as string.

참고

HttpResponse::getContentDisposition()
HttpResponse::setContentDisposition()
HttpResponse::setContentType()
HttpResponse::guessContentType()

이전 | 위로 | 다음
HttpResponse::getContentDisposition | 처음으로 | HttpResponse::getData


HttpResponse::getData

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getData -- Get data

설명

static string HttpResponse::getData ( void )

Get the previously set data to be sent.

반환값

Returns a string containing the previously set data to send.

참고

HttpResponse::setData()
HttpResponse::getFile()
HttpResponse::setFile()
HttpResponse::getStream()
HttpResponse::setStream()

이전 | 위로 | 다음
HttpResponse::getContentType | 처음으로 | HttpResponse::getETag


HttpResponse::getETag

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getETag -- Get ETag

설명

static string HttpResponse::getETag ( void )

Get calculated or previously set custom ETag.

반환값

Returns the calculated or previously set ETag as unquoted string.

참고

HttpResponse::getLastModified()
HttpResponse::setLastModified()
HttpResponse::setETag()

이전 | 위로 | 다음
HttpResponse::getData | 처음으로 | HttpResponse::getFile


HttpResponse::getFile

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getFile -- Get file

설명

static string HttpResponse::getFile ( void )

Get the previously set file to be sent.

반환값

Returns the previously set path to the file to send as string.

참고

HttpResponse::getData()
HttpResponse::setData()
HttpResponse::setFile()
HttpResponse::getStream()
HttpResponse::setStream()

이전 | 위로 | 다음
HttpResponse::getETag | 처음으로 | HttpResponse::getGzip


HttpResponse::getGzip

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getGzip -- Get gzip

설명

static bool HttpResponse::getGzip ( void )

Get current gzip'ing setting.

반환값

Returns TRUE if GZip compression is enabled, else FALSE.

참고

HttpResponse::setGzip()

이전 | 위로 | 다음
HttpResponse::getFile | 처음으로 | HttpResponse::getHeader


HttpResponse::getHeader

(PECL pecl_http:0.12.0-1.5.5)

HttpResponse::getHeader -- Get header

설명

static mixed HttpResponse::getHeader ( [string $name] )

Get header(s) about to be sent.

참고: 다음 SAPI에서는 정상 작동하지 않을 수 있습니다: Apache2 w/PHP < 5.1.3.

매개변수

name

specifies the name of the header to read; if empty or omitted, an associative array with all headers will be returned

반환값

Returns either a string containing the value of the header matching name, FALSE on failure, or an associative array with all headers.

참고

HttpResponse::setHeader()

이전 | 위로 | 다음
HttpResponse::getGzip | 처음으로 | HttpResponse::getLastModified


HttpResponse::getLastModified

(PECL pecl_http:0.12.0-1.5.5)

HttpResponse::getLastModified -- Get last modified

설명

static int HttpResponse::getLastModified ( void )

Get calculated or previously set custom Last-Modified date.

반환값

Returns the calculated or previously set Unix timestamp.

참고

HttpResponse::setLastModified()
HttpResponse::getETag()
HttpResponse::setETag()

이전 | 위로 | 다음
HttpResponse::getHeader | 처음으로 | HttpResponse::getStream


HttpResponse::getRequestBody

(No version information available, might be only in CVS)

HttpResponse::getRequestBody -- Get request body

설명

static string HttpResponse::getRequestBody ( void )

이 함수는 다음 함수의 alias입니다: http_get_request_body().

이전 | 위로 | 다음
HttpResponse::getThrottleDelay | 처음으로 | HttpResponse::getRequestBodyStream


HttpResponse::getRequestBodyStream

(No version information available, might be only in CVS)

HttpResponse::getRequestBodyStream -- Get request body stream

설명

static resource HttpResponse::getRequestBodyStream ( void )

이 함수는 다음 함수의 alias입니다: http_get_request_body_stream().

이전 | 위로 | 다음
HttpResponse::getRequestBody | 처음으로 | HttpResponse::getRequestHeaders


HttpResponse::getRequestHeaders

(No version information available, might be only in CVS)

HttpResponse::getRequestHeaders -- Get request headers

설명

static array HttpResponse::getRequestHeaders ( void )

이 함수는 다음 함수의 alias입니다: http_get_request_headers().

이전 | 위로 | 다음
HttpResponse::getRequestBodyStream | 처음으로 | HttpResponse::guessContentType


HttpResponse::getStream

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getStream -- Get Stream

설명

static resource HttpResponse::getStream ( void )

Get the previously set resource to be sent.

매개변수

반환값

Returns the previously set resource.

참고

HttpResponse::getData()
HttpResponse::setData()
HttpResponse::getFile()
HttpResponse::setFile()
HttpResponse::setStream()

이전 | 위로 | 다음
HttpResponse::getLastModified | 처음으로 | HttpResponse::getThrottleDelay


HttpResponse::getThrottleDelay

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::getThrottleDelay -- Get throttle delay

설명

static double HttpResponse::getThrottleDelay ( void )

Get the current throttle delay.

반환값

Returns a double representing the throttle delay in seconds.

참고

HttpResponse::getBufferSize()
HttpResponse::setBufferSize()
HttpResponse::setThrottleDelay()

이전 | 위로 | 다음
HttpResponse::getStream | 처음으로 | HttpResponse::getRequestBody


HttpResponse::guessContentType

(PECL pecl_http:0.13.0-1.5.5)

HttpResponse::guessContentType -- Guess content type

설명

static string HttpResponse::guessContentType ( string $magic_file [, int $magic_mode=MAGIC_MIME] )

Attempts to guess the content type of supplied payload through libmagic.

If the attempt is successful, the guessed Content-Type will automatically be set as response Content-Type.

매개변수

magic_file

specifies the magic.mime database to use

magic_mode

flags for libmagic

반환값

Returns the guessed content type on success, or FALSE on failure.

오류/예외

Throws HttpRuntimeException, HttpInvalidParamException.

참고

HttpResponse::getContentType()
HttpResponse::setContentType()

이전 | 위로 | 다음
HttpResponse::getRequestHeaders | 처음으로 | HttpResponse::redirect


HttpResponse::redirect

(No version information available, might be only in CVS)

HttpResponse::redirect -- Redirect

설명

static void HttpResponse::redirect ( [string $url [, array $params [, bool $session = FALSE [, int $status]]]] )

이 함수는 다음 함수의 alias입니다: http_redirect().

이전 | 위로 | 다음
HttpResponse::guessContentType | 처음으로 | HttpResponse::send


HttpResponse::send

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::send -- Send response

설명

static bool HttpResponse::send ( [bool $clean_ob = TRUE] )

Finally send the entity.

A successful caching attempt will exit PHP, and write a log entry if the INI 설정 http.log.cache is set. "exits"의 의미에 대해서 INI 설정 http.force_exit를 참고하십시오.

매개변수

clean_ob

whether to destroy all previously started output handlers and their buffers

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 779. A HttpResponse::send() example

<?php
HttpResponse::setCache(true);
HttpResponse::setContentType('application/pdf');
HttpResponse::setContentDisposition("$user.pdf", false);
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>

참고

HttpResponse::capture()

이전 | 위로 | 다음
HttpResponse::redirect | 처음으로 | HttpResponse::setBufferSize


HttpResponse::setBufferSize

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setBufferSize -- Set buffer size

설명

static bool HttpResponse::setBufferSize ( int $bytes )

Sets the send buffer size of the throttling mechanism.

참고: 엔티티를 완전히 전송할 때까지 현재 프로세스의 각 쓰레드에 양보하는 간단한 속도제어를 제공합니다.

참고: 다음 SAPI에서는 정상 작동하지 않을 수 있습니다: FastCGI.

매개변수

bytes

the chunk size in bytes

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getBufferSize()
HttpResponse::getThrottleDelay()
HttpResponse::setThrottleDelay()

이전 | 위로 | 다음
HttpResponse::send | 처음으로 | HttpResponse::setCacheControl


HttpResponse::setCache

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setCache -- Set cache

설명

static bool HttpResponse::setCache ( bool $cache )

Whether it should be attempted to cache the entity.

This will result in necessary caching headers and checks of clients If-Modified-Since and If-None-Match headers. If one of those headers matches a 304 Not Modified status code will be issued.

참고: If you're using sessions, be sure that you set session.cache_limiter to something more appropriate than "no-cache"!

매개변수

cache

whether caching should be attempted

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::setCacheControl()
HttpResponse::getCacheControl()
HttpResponse::getCachel()

이전 | 위로 | 다음
HttpResponse::setCacheControl | 처음으로 | HttpResponse::setContentDisposition


HttpResponse::setCacheControl

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setCacheControl -- Set cache control

설명

static bool HttpResponse::setCacheControl ( string $control [, int $max_age = 0 [, bool $must_revalidate = TRUE]] )

Define a custom Cache-Control header, usually being private or public;

매개변수

control

the primary cache control setting

max_age

the max-age in seconds, suggesting how long the cache entry is valid on the client side

must_revalidate

whether the cached entity should be revalidated by the client for every request

반환값

Returns TRUE on success, or FALSE if control does not match one of public, private or no-cache.

참고

HttpResponse::getCacheControl()
HttpResponse::setCache()
HttpResponse::getCache()

이전 | 위로 | 다음
HttpResponse::setBufferSize | 처음으로 | HttpResponse::setCache


HttpResponse::setContentDisposition

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setContentDisposition -- Set content disposition

설명

static bool HttpResponse::setContentDisposition ( string $filename [, bool $inline = FALSE] )

Set the Content-Disposition. 데이터가 파일 등에서 전송해야 할 때 Content-Disposition 헤더가 매우 유용합니다. 반드시 클라이언트/사용자에 의해 "저장"됩니다. (브라우저에서 "다른 이름으로 저장" 창을 띄웁니다)

매개변수

filename

the file name the "Save as..." dialog should display

inline

if set to true and the user agent knows how to handle the content type, it will probably not cause the popup window to be shown

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getContentDisposition()
HttpResponse::getContentType()
HttpResponse::setContentType()

이전 | 위로 | 다음
HttpResponse::setCache | 처음으로 | HttpResponse::setContentType


HttpResponse::setContentType

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setContentType -- Set content type

설명

static bool HttpResponse::setContentType ( string $content_type )

Set the Content-Type of the sent entity.

매개변수

content_type

the content type of the sent entity (primary/secondary)

반환값

Returns TRUE on success, or FALSE if the content type does not seem to contain a primary and secondary content type part.

참고

HttpResponse::getContentDisposition()
HttpResponse::setContentDisposition()
HttpResponse::getContentType()
HttpResponse::guessContentType()

이전 | 위로 | 다음
HttpResponse::setContentDisposition | 처음으로 | HttpResponse::setData


HttpResponse::setData

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setData -- Set data

설명

static bool HttpResponse::setData ( mixed $data )

Set the data to be sent.

참고: 이전에 계산했거나 정의한 ETag와 Last-Modified은 다시 계산되어 적용될 수 있습니다.

매개변수

data

data to send

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getData()
HttpResponse::getFile()
HttpResponse::setFile()
HttpResponse::getStream()
HttpResponse::setStream()

이전 | 위로 | 다음
HttpResponse::setContentType | 처음으로 | HttpResponse::setETag


HttpResponse::setETag

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setETag -- Set ETag

설명

static bool HttpResponse::setETag ( string $etag )

Set a custom ETag. Use this only if you know what you're doing.

매개변수

etag

unquoted string as parameter containing the ETag

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getLastModified()
HttpResponse::setLastModified()
HttpResponse::getETag()

이전 | 위로 | 다음
HttpResponse::setData | 처음으로 | HttpResponse::setFile


HttpResponse::setFile

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setFile -- Set file

설명

static bool HttpResponse::setFile ( string $file )

Set the file to be sent.

참고: 이전에 계산했거나 정의한 ETag와 Last-Modified은 다시 계산되어 적용될 수 있습니다.

매개변수

file

the path to the file to send

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getData()
HttpResponse::setData()
HttpResponse::getFile()
HttpResponse::getStream()
HttpResponse::setStream()

이전 | 위로 | 다음
HttpResponse::setETag | 처음으로 | HttpResponse::setGzip


HttpResponse::setGzip

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setGzip -- Set gzip

설명

static bool HttpResponse::setGzip ( bool $gzip )

Enable on-thy-fly gzip'ing of the sent entity.

매개변수

gzip

whether GZip compression should be enabled

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getGzip()

이전 | 위로 | 다음
HttpResponse::setFile | 처음으로 | HttpResponse::setHeader


HttpResponse::setHeader

(PECL pecl_http:0.12.0-1.5.5)

HttpResponse::setHeader -- Set header

설명

static bool HttpResponse::setHeader ( string $name [, mixed $value [, bool $replace = TRUE]] )

Send an HTTP header.

매개변수

name

the name of the header

value

the value of the header; if not set, no header with this name will be sent

replace

whether an existing header should be replaced

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getHeader()

이전 | 위로 | 다음
HttpResponse::setGzip | 처음으로 | HttpResponse::setLastModified


HttpResponse::setLastModified

(PECL pecl_http:0.12.0-1.5.5)

HttpResponse::setLastModified -- Set last modified

설명

static bool HttpResponse::setLastModified ( int $timestamp )

Set a custom Last-Modified date.

매개변수

timestamp

Unix timestamp representing the last modification time of the sent entity

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getLastModified()
HttpResponse::getETag()
HttpResponse::setETag()

이전 | 위로 | 다음
HttpResponse::setHeader | 처음으로 | HttpResponse::setStream


HttpResponse::setStream

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setStream -- Set stream

설명

static bool HttpResponse::setStream ( resource $stream )

Set the resource to be sent.

참고: 이전에 계산했거나 정의한 ETag와 Last-Modified은 다시 계산되어 적용될 수 있습니다.

매개변수

stream

already opened stream from which the data to send will be read

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getData()
HttpResponse::setData()
HttpResponse::getFile()
HttpResponse::setFile()
HttpResponse::getStream()

이전 | 위로 | 다음
HttpResponse::setLastModified | 처음으로 | HttpResponse::setThrottleDelay


HttpResponse::setThrottleDelay

(PECL pecl_http:0.10.0-1.5.5)

HttpResponse::setThrottleDelay -- Set throttle delay

설명

static bool HttpResponse::setThrottleDelay ( float $seconds )

Sets the throttle delay.

참고: 엔티티를 완전히 전송할 때까지 현재 프로세스의 각 쓰레드에 양보하는 간단한 속도제어를 제공합니다.

참고: 다음 SAPI에서는 정상 작동하지 않을 수 있습니다: FastCGI.

매개변수

seconds

seconds to sleep after each chunk sent

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

HttpResponse::getBufferSize()
HttpResponse::setBufferSize()
HttpResponse::getThrottleDelay()

이전 | 위로 | 다음
HttpResponse::setStream | 처음으로 | HttpResponse::status


HttpResponse::status

(No version information available, might be only in CVS)

HttpResponse::status -- Send HTTP response status

설명

static bool HttpResponse::status ( int $status )

이 함수는 다음 함수의 alias입니다: http_send_status().

이전 | 위로 | 다음
HttpResponse::setThrottleDelay | 처음으로 | http_cache_etag


id3_get_frame_long_name

(PECL id3:0.2)

id3_get_frame_long_name -- Get the long name of an ID3v2 frame

설명

string id3_get_frame_long_name ( string $frameId )

id3_get_frame_long_name() returns the long name for an ID3v2 frame.

매개변수

frameId

An ID3v2 frame

반환값

Returns the frame long name or FALSE on errors.

예제

예 865. id3_get_frame_long_name() example

<?php
$longName = id3_get_frame_long_name("TOLY");
echo $longName;
?>

위 예제의 출력:

Original lyricist(s)/text writer(s)

참고

id3_get_frame_short_name()

이전 | 위로 | 다음
LXIII. ID3 Functions | 처음으로 | id3_get_frame_short_name


id3_get_frame_short_name

(PECL id3:0.2)

id3_get_frame_short_name -- Get the short name of an ID3v2 frame

설명

string id3_get_frame_short_name ( string $frameId )

id3_get_frame_short_name() returns the short name for an ID3v2 frame.

매개변수

frameId

An ID3v2 frame

반환값

Returns the frame short name or FALSE on errors.

The values returned by id3_get_short_name() are used in the array returned by id3_get_tag().

예제

예 866. id3_get_frame_short_name() example

<?php
$shortName = id3_get_frame_short_name("TOLY");
echo $shortName;
?>

위 예제의 출력:

originalLyricist

참고

id3_get_frame_long_name()

이전 | 위로 | 다음
id3_get_frame_long_name | 처음으로 | id3_get_genre_id


iis_add_server

(No version information available, might be only in CVS)

iis_add_server -- Creates a new virtual web server

설명

int iis_add_server ( string $path, string $comment, string $server_ip, int $port, string $host_name, int $rights, int $start_server )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
LXIV. IIS Administration Functions | 처음으로 | iis_get_dir_security


iis_get_dir_security

(No version information available, might be only in CVS)

iis_get_dir_security -- Gets Directory Security

설명

int iis_get_dir_security ( int $server_instance, string $virtual_path )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_add_server | 처음으로 | iis_get_script_map


iis_get_script_map

(No version information available, might be only in CVS)

iis_get_script_map -- Gets script mapping on a virtual directory for a specific extension

설명

string iis_get_script_map ( int $server_instance, string $virtual_path, string $script_extension )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_get_dir_security | 처음으로 | iis_get_server_by_comment


iis_get_server_by_comment

(No version information available, might be only in CVS)

iis_get_server_by_comment -- Return the instance number associated with the Comment

설명

int iis_get_server_by_comment ( string $comment )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_get_script_map | 처음으로 | iis_get_server_by_path


iis_get_server_by_path

(No version information available, might be only in CVS)

iis_get_server_by_path -- Return the instance number associated with the Path

설명

int iis_get_server_by_path ( string $path )

Each virtual server in IIS is associated with an instance number. iis_get_server_by_path() finds the instance number from the actual path to the root directory.

매개변수

path

The path to the root directory

반환값

Returns the server instance number.

이전 | 위로 | 다음
iis_get_server_by_comment | 처음으로 | iis_get_server_rights


iis_get_server_rights

(No version information available, might be only in CVS)

iis_get_server_rights -- Gets server rights

설명

int iis_get_server_rights ( int $server_instance, string $virtual_path )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_get_server_by_path | 처음으로 | iis_get_service_state


iis_get_service_state

(No version information available, might be only in CVS)

iis_get_service_state -- Returns the state for the service defined by ServiceId

설명

int iis_get_service_state ( string $service_id )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_get_server_rights | 처음으로 | iis_remove_server


iis_remove_server

(No version information available, might be only in CVS)

iis_remove_server -- Removes the virtual web server indicated by ServerInstance

설명

int iis_remove_server ( int $server_instance )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_get_service_state | 처음으로 | iis_set_app_settings


iis_set_app_settings

(No version information available, might be only in CVS)

iis_set_app_settings -- Creates application scope for a virtual directory

설명

int iis_set_app_settings ( int $server_instance, string $virtual_path, string $application_scope )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_remove_server | 처음으로 | iis_set_dir_security


iis_set_dir_security

(No version information available, might be only in CVS)

iis_set_dir_security -- Sets Directory Security

설명

int iis_set_dir_security ( int $server_instance, string $virtual_path, int $directory_flags )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_set_app_settings | 처음으로 | iis_set_script_map


iis_set_script_map

(No version information available, might be only in CVS)

iis_set_script_map -- Sets script mapping on a virtual directory

설명

int iis_set_script_map ( int $server_instance, string $virtual_path, string $script_extension, string $engine_path, int $allow_scripting )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_set_dir_security | 처음으로 | iis_set_server_rights


iis_set_server_rights

(No version information available, might be only in CVS)

iis_set_server_rights -- Sets server rights

설명

int iis_set_server_rights ( int $server_instance, string $virtual_path, int $directory_flags )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_set_script_map | 처음으로 | iis_start_server


iis_start_server

(No version information available, might be only in CVS)

iis_start_server -- Starts the virtual web server

설명

int iis_start_server ( int $server_instance )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_set_server_rights | 처음으로 | iis_start_service


iis_start_service

(No version information available, might be only in CVS)

iis_start_service -- Starts the service defined by ServiceId

설명

int iis_start_service ( string $service_id )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_start_server | 처음으로 | iis_stop_server


iis_stop_server

(No version information available, might be only in CVS)

iis_stop_server -- Stops the virtual web server

설명

int iis_stop_server ( int $server_instance )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_start_service | 처음으로 | iis_stop_service


iis_stop_service

(No version information available, might be only in CVS)

iis_stop_service -- Stops the service defined by ServiceId

설명

int iis_stop_service ( string $service_id )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
iis_stop_server | 처음으로 | LXV. Image Functions


imageconvolution

(PHP 5 >= 5.1.0)

imageconvolution -- Apply a 3x3 convolution matrix, using coefficient and offset

설명

bool imageconvolution ( resource $image, array $matrix, float $div, float $offset )

Applies a convolution matrix on the image, using the given coefficient and offset.

매개변수

font

내장 글꼴 1, 2, 3, 4, 5(큰 숫자가 큰 글꼴)나 imageloadfont()로 등록한 글꼴 식별자를 사용할 수 있습니다.

matrix

A 3x3 matrix: an array of three arrays of three floats.

div

The divisor of the result of the convolution, used for normalization.

offset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 891. Embossing the PHP.net logo

<?php
$image = imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($image, $emboss, 1, 127);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

위 예제의 출력:

예 892. Gaussian blur

<?php
$image = imagecreatetruecolor(180,40);

// Writes the text and apply a gaussian blur on the image
imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);

// Rewrites the text for comparison
imagestring($image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

위 예제의 출력:

주의

참고: 이 함수는 PHP에 포함된 GD 라이브러리를 사용하여 컴파일하였을 경우에만 사용할 수 있습니다.

참고

imagefilter()

이전 | 위로 | 다음
imagecolortransparent | 처음으로 | imagecopy


imagegrabscreen

(PHP 5 >= 5.2.2)

imagegrabscreen -- Captures the whole screen

설명

resource imagegrabscreen ( void )

Grabs a screenshot of the whole screen.

반환값

Returns an image resource identifier on success, FALSE on failure.

예제

예 911. imagegrabscreen() example

This example demonstrates how to take a screenshot of the current screen and save it as a png image.

<?php
$im = imagegrabscreen();
imagepng($im, "myscreenshot.png");
?>

주의

참고: This function is only available on Windows.

참고

imagegrabwindow()

이전 | 위로 | 다음
imagegif | 처음으로 | imagegrabwindow


imagegrabwindow

(PHP 5 >= 5.2.2)

imagegrabwindow -- Captures a window

설명

resource imagegrabwindow ( int $window [, int $client_area] )

Grabs a window or its client area using a windows handle (HWND property in COM instance)

매개변수

window

The HWND window ID

client_area

Include the client area of the application window

반환값

Returns an image resource identifier on success, FALSE on failure.

오류/예외

E_NOTICE is issued if window_handle is invalid window handle. E_WARNING is issued if the Windows API is too old.

예제

예 912. imagegrabwindow() example

Capture a window (IE for example)

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
?>

Capture a window (IE for example) but with its content

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");

/* Still working? */
while ($browser->Busy) {
    com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
?>

주의

참고: This function is only available on Windows.

참고

imagegrabscreen()

이전 | 위로 | 다음
imagegrabscreen | 처음으로 | imageinterlace


Imagick::adaptiveBlurImage

(No version information available, might be only in CVS)

Imagick::adaptiveBlurImage -- Adds adaptive blur filter to image

설명

bool Imagick::adaptiveBlurImage ( float $radius, float $sigma [, int $channel] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds an adaptive blur filter to image. The intensity of an adaptive blur depends is dramatically decreased at edge of the image, whereas a standard blur is uniform across the image.

매개변수

radius

The radius of the Gaussian, in pixels, not counting the center pixel. Provide a value of 0 and the radius will be chosen automagically.

sigma

The standard deviation of the Gaussian, in pixels.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

반환값

성공시에 TRUE를 반환합니다.

오류/예외

오류시에 ImagickException이 발생합니다.

예제

예 927. Using Imagick::adaptiveBlurImage():

Adaptively blur an image, then display to the browser.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->adaptiveBlurImage(5,3);
echo $image;

?>

참고

Imagick::blurImage()
Imagick::motionBlurImage()
Imagick::radialBlurImage()

이전 | 위로 | 다음
Imagick | 처음으로 | Imagick::adaptiveResizeImage


Imagick::adaptiveResizeImage

(No version information available, might be only in CVS)

Imagick::adaptiveResizeImage -- Adaptively resize image with data dependent triangulation

설명

bool Imagick::adaptiveResizeImage ( int $columns, int $rows )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adaptively resize image with data-dependent triangulation. Avoids blurring across sharp color changes. Most useful when used to shrink images slightly to a slightly smaller "web size"; may not look good when a full-sized image is adaptively resized to a thumbnail.

매개변수

columns

The number of columns in the scaled image.

rows

The number of rows in the scaled image.

반환값

성공시에 TRUE를 반환합니다.

오류/예외

오류시에 ImagickException이 발생합니다.

예제

예 928. Using Imagick::adaptiveResizeImage()

Resize an image to a standard size for the web. This method works best when resizing to a size only slightly smaller than the previous image size.

<?php
header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);

echo $image;
?>

참고

Imagick::chopImage()
Imagick::cropImage()
Imagick::magnifyImage()
Imagick::minifyImage()
Imagick::resizeImage()
Imagick::scaleImage()
Imagick::shaveImage()
Imagick::thumbnailImage()
Imagick::trimImage()

이전 | 위로 | 다음
Imagick::adaptiveBlurImage | 처음으로 | Imagick::adaptiveSharpenImage


Imagick::adaptiveSharpenImage

(No version information available, might be only in CVS)

Imagick::adaptiveSharpenImage -- Adaptively sharpen the image

설명

bool Imagick::adaptiveSharpenImage ( float $radius, float $sigma [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adaptively sharpen the image by sharpening more intensely near image edges and less intensely far from edges.

매개변수

radius

The radius of the Gaussian, in pixels, not counting the center pixel. Use 0 for auto-select.

sigma

The standard deviation of the Gaussian, in pixels.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

반환값

성공시에 TRUE를 반환합니다.

예제

예 929. A Imagick::adaptiveSharpenImage() example

Adaptively sharpen the image with radius 2 and sigma 1.

<?php
try {
    $image = new Imagick('image.png');
    $image->adaptiveSharpenImage(2,1);
} catch(ImagickException $e) {
    echo 'Error: ' , $e->getMessage();
    die();
}
header('Content-type: image/png');
echo $image;
?>

참고

Imagick::sharpenImage()

이전 | 위로 | 다음
Imagick::adaptiveResizeImage | 처음으로 | Imagick::adaptiveThresholdImage


Imagick::adaptiveThresholdImage

(No version information available, might be only in CVS)

Imagick::adaptiveThresholdImage -- Selects a threshold for each pixel based on a range of intensity

설명

bool Imagick::adaptiveThresholdImage ( int $width, int $height, int $offset )

Selects an individual threshold for each pixel based on the range of intensity values in its local neighborhood. This allows for thresholding of an image whose global intensity histogram doesn't contain distinctive peaks.

매개변수

width

Width of the local neighborhood.

height

Height of the local neighborhood.

offset

The mean offset

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::adaptiveSharpenImage | 처음으로 | Imagick::addImage


Imagick::addImage

(No version information available, might be only in CVS)

Imagick::addImage -- Adds new image to Imagick object image list

설명

bool Imagick::addImage ( Imagick $source )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds new image to Imagick object from the current position of the source object. After the operation iterator position is moved at the end of the list.

매개변수

source

The source Imagick object

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::adaptiveThresholdImage | 처음으로 | Imagick::addNoiseImage


Imagick::addNoiseImage

(No version information available, might be only in CVS)

Imagick::addNoiseImage -- Adds random noise to the image

설명

bool Imagick::addNoiseImage ( int $noise_type [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds random noise to the image.

매개변수

noise_type

The type of the noise. Refer to this list of noise constants.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::addImage | 처음으로 | Imagick::affineTransformImage


Imagick::affineTransformImage

(No version information available, might be only in CVS)

Imagick::affineTransformImage -- Transforms an image

설명

bool Imagick::affineTransformImage ( ImagickDraw $matrix )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Transforms an image as dictated by the affine matrix.

매개변수

matrix

The affine matrix

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::addNoiseImage | 처음으로 | Imagick::annotateImage


Imagick::annotateImage

(No version information available, might be only in CVS)

Imagick::annotateImage -- Annotates an image with text

설명

bool Imagick::annotateImage ( ImagickDraw $draw_settings, float $x, float $y, float $angle, string $text )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Annotates an image with text.

매개변수

draw_settings

The ImagickDraw object that contains settings for drawing the text

x

Horizontal offset in pixels to the left of text

y

Vertical offset in pixels to the baseline of text

angle

The angle at which to write the text

text

The string to draw

반환값

성공시에 TRUE를 반환합니다.

예제

예 930. Using Imagick::annotateImage():

Annotate text on an empty image

<?php
/* Create some objects */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(800, 75, $pixel);

/* Black text */
$pixel->setColor('black');

/* Font properties */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Create text */
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;

?>

참고

ImagickDraw::annotation()
ImagickDraw::setFont()

이전 | 위로 | 다음
Imagick::affineTransformImage | 처음으로 | Imagick::appendImages


Imagick::appendImages

(No version information available, might be only in CVS)

Imagick::appendImages -- Append a set of images

설명

Imagick Imagick::appendImages ( bool $stack )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Append a set of images.

매개변수

stack

The direction of the stack (top to bottom or bottom to top)

반환값

Returns Imagick instance on success, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::annotateImage | 처음으로 | Imagick::averageImages


Imagick::averageImages

(No version information available, might be only in CVS)

Imagick::averageImages -- Average a set of images

설명

Imagick Imagick::averageImages ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Average a set of images.

반환값

Returns a new Imagick object on success, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::appendImages | 처음으로 | Imagick::blackThresholdImage


Imagick::blackThresholdImage

(No version information available, might be only in CVS)

Imagick::blackThresholdImage -- Forces all pixels below the threshold into black

설명

bool Imagick::blackThresholdImage ( ImagickPixel $threshold )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Is like Imagick::thresholdImage() but forces all pixels below the threshold into black while leaving all pixels above the threshold unchanged.

매개변수

threshold

The threshold below which everything turns black

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::averageImages | 처음으로 | Imagick::blurImage


Imagick::blurImage

(No version information available, might be only in CVS)

Imagick::blurImage -- Adds blur filter to image

설명

bool Imagick::blurImage ( float $radius, float $sigma [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds blur filter to image. Optional third parameter to blur a specific channel.

매개변수

radius

Blur radius

sigma

Standard deviation

channel

The Channeltype constant. When not supplied, all channels are blurred.

반환값

성공시에 TRUE를 반환합니다.

예제

예 931. Using Imagick::blurImage():

Blur an image, then display to the browser.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->blurImage(5,3);
echo $image;

?>

참고

Imagick::adaptiveBlurImage()
Imagick::motionBlurImage()
Imagick::radialBlurImage()

이전 | 위로 | 다음
Imagick::blackThresholdImage | 처음으로 | Imagick::borderImage


Imagick::borderImage

(No version information available, might be only in CVS)

Imagick::borderImage -- Surrounds the image with a border

설명

bool Imagick::borderImage ( ImagickPixel $bordercolor, int $width, int $height )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Surrounds the image with a border of the color defined by the bordercolor ImagickPixel object.

매개변수

bordercolor

ImagickPixel object containing the border color

width

Border width

height

Border height

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::blurImage | 처음으로 | Imagick::charcoalImage


Imagick::charcoalImage

(No version information available, might be only in CVS)

Imagick::charcoalImage -- Simulates a charcoal drawing

설명

bool Imagick::charcoalImage ( float $radius, float $sigma )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Simulates a charcoal drawing.

매개변수

radius

The radius of the Gaussian, in pixels, not counting the center pixel

sigma

The standard deviation of the Gaussian, in pixels

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::borderImage | 처음으로 | Imagick::chopImage


Imagick::chopImage

(No version information available, might be only in CVS)

Imagick::chopImage -- Removes a region of an image and trims

설명

bool Imagick::chopImage ( int $width, int $height, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Removes a region of an image and collapses the image to occupy the removed portion.

매개변수

width

Width of the chopped area

height

Height of the chopped area

x

X origo of the chopped area

y

Y origo of the chopped area

반환값

성공시에 TRUE를 반환합니다.

예제

예 932. Using Imagick::chopImage():

Example of using Imagick::chopImage

<?php
/* Create some objects */
$image = new Imagick();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(400, 200, $pixel);

/* Chop image */
$image->chopImage(200, 200, 0, 0);

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;

?>

참고

Imagick::cropImage()

이전 | 위로 | 다음
Imagick::charcoalImage | 처음으로 | Imagick::clear


Imagick::clear

(No version information available, might be only in CVS)

Imagick::clear -- Clears all resources associated to Imagick object

설명

bool Imagick::clear ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Clears all resources associated to Imagick object

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::chopImage | 처음으로 | Imagick::clipImage


Imagick::clipImage

(No version information available, might be only in CVS)

Imagick::clipImage -- Clips along the first path from the 8BIM profile

설명

bool Imagick::clipImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Clips along the first path from the 8BIM profile, if present.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::clear | 처음으로 | Imagick::clipPathImage


Imagick::clipPathImage

(No version information available, might be only in CVS)

Imagick::clipPathImage -- Clips along the named paths from the 8BIM profile

설명

bool Imagick::clipPathImage ( string $pathname, bool $inside )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Clips along the named paths from the 8BIM profile, if present. Later operations take effect inside the path. It may be a number if preceded with #, to work on a numbered path, e.g., "#1" to use the first path.

매개변수

pathname

The name of the path

inside

If true later operations take effect inside clipping path. Otherwise later operations take effect outside clipping path.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::clipImage | 처음으로 | Imagick::clone


Imagick::clone

(No version information available, might be only in CVS)

Imagick::clone -- Makes an exact copy of the Imagick object

설명

Imagick Imagick::clone ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Makes an exact copy of the Imagick object.

매개변수

반환값

What the function returns, first on success, then on failure. See also the &return.success; entity

이전 | 위로 | 다음
Imagick::clipPathImage | 처음으로 | Imagick::coalesceImages


Imagick::clutImage

(No version information available, might be only in CVS)

Imagick::clutImage -- Replaces colors in the image from a color lookup table

설명

bool Imagick::clutImage ( Imagick $lookup_table [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Replaces colors in the image from a color lookup table. Optional second parameter to replace colors in a specific channel. This method is available if Imagick is compiled against ImageMagick 6.3.5-7 or newer.

매개변수

lookup_table

Imagick object containing the color lookup table

channel

The Channeltype constant. When not supplied, all channels are replaced.

반환값

성공시에 TRUE를 반환합니다.

예제

예 933. Using Imagick::clutImage():

Replace colors in the image from a color lookup table.

<?php
$image = new Imagick('test.jpg');
$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('black'));
$image->clutImage( $clut );
$image->writeImage( 'test_out.jpg' );
?>

참고

Imagick::adaptiveBlurImage()
Imagick::motionBlurImage()
Imagick::radialBlurImage()

이전 | 위로 | 다음
Imagick::colorizeImage | 처음으로 | Imagick::combineImages


Imagick::coalesceImages

(No version information available, might be only in CVS)

Imagick::coalesceImages -- Composites a set of images

설명

Imagick Imagick::coalesceImages ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Composites a set of images while respecting any page offsets and disposal methods. GIF, MIFF, and MNG animation sequences typically start with an image background and each subsequent image varies in size and offset. Returns a new Imagick object where each image in the sequence is the same size as the first and composited with the next image in the sequence.

매개변수

반환값

Returns a new Imagick object on success, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::clone | 처음으로 | Imagick::colorFloodfillImage


Imagick::colorFloodfillImage

(No version information available, might be only in CVS)

Imagick::colorFloodfillImage -- Changes the color value of any pixel that matches target

설명

bool Imagick::colorFloodfillImage ( ImagickPixel $fill, float $fuzz, ImagickPixel $bordercolor, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Changes the color value of any pixel that matches target and is an immediate neighbor.

매개변수

fill

ImagickPixel object containing the fill color

fuzz

The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color for the purposes of the floodfill.

bordercolor

ImagickPixel object containing the border color

x

X start position of the floodfill

y

Y start position of the floodfill

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::coalesceImages | 처음으로 | Imagick::colorizeImage


Imagick::colorizeImage

(No version information available, might be only in CVS)

Imagick::colorizeImage -- Blends the fill color with the image

설명

bool Imagick::colorizeImage ( ImagickPixel $colorize, ImagickPixel $opacity )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Blends the fill color with each pixel in the image.

매개변수

colorize

Colorize ImagickPixel object

opacity

Opacity ImagickPixel object

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::colorFloodfillImage | 처음으로 | Imagick::clutImage


Imagick::combineImages

(No version information available, might be only in CVS)

Imagick::combineImages -- Combines one or more images into a single image

설명

Imagick Imagick::combineImages ( int $channelType )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Combines one or more images into a single image. The grayscale value of the pixels of each image in the sequence is assigned in order to the specified channels of the combined image. The typical ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc.

매개변수

channelType

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::clutImage | 처음으로 | Imagick::commentImage


Imagick::commentImage

(No version information available, might be only in CVS)

Imagick::commentImage -- Adds a comment to your image

설명

bool Imagick::commentImage ( string $comment )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds a comment to your image.

매개변수

comment

The comment to add

반환값

성공시에 TRUE를 반환합니다.

예제

예 934. Using Imagick::commentImage():

Commenting an image and retrieving the comment:

<?php

/* Create new Imagick object */
$im = new imagick();

/* Create an empty image */
$im->newImage(100, 100, new ImagickPixel("red"));

/* Add comment to the image */
$im->commentImage("Hello World!");

/* Display the comment */
echo $im->getImageProperty("comment");

?>

이전 | 위로 | 다음
Imagick::combineImages | 처음으로 | Imagick::compareImageChannels


Imagick::compareImageChannels

(No version information available, might be only in CVS)

Imagick::compareImageChannels -- Returns the difference in one or more images

설명

Imagick Imagick::compareImageChannels ( Imagick $image, int $channelType, int $metricType )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Compares one or more images and returns the difference image.

매개변수

image

Imagick object containing the image to compare.

channelType

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

metricType

One of the metric type constants.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::commentImage | 처음으로 | Imagick::compareImageLayers


Imagick::compareImageLayers

(No version information available, might be only in CVS)

Imagick::compareImageLayers -- Returns the maximum bounding region between images

설명

Imagick Imagick::compareImageLayers ( int $method )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

매개변수

method

One of the layer method constants.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::compareImageChannels | 처음으로 | Imagick::compositeImage


Imagick::compareImages

(No version information available, might be only in CVS)

Imagick::compareImages -- Compares an image to a reconstructed image

설명

array Imagick::compareImages ( Imagick $compare, int $metric )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns an array containing a reconstructed image and the difference between images.

매개변수

compare

An image to compare to.

metric

Provide a valid metric type constant. Refer to this list of metic constants.

반환값

성공시에 TRUE를 반환합니다.

예제

예 936. Using Imagick::compareImages():

Compare images and display the reconstructed image

<?php

$image1 = new imagick("image1.png");
$image2 = new imagick("image2.png");

$result = $image1->compareImage($image2, Imagick::METRIC_MEANSQUAREERROR);
$result[0]->setImageFormat("png");

header("Content-Type: image/png");
echo $result[0];

?>

이전 | 위로 | 다음
Imagick::morphImages | 처음으로 | Imagick::mosaicImages


Imagick::compositeImage

(No version information available, might be only in CVS)

Imagick::compositeImage -- Composite one image onto another

설명

bool Imagick::compositeImage ( Imagick $composite_object, int $composite, int $x, int $y [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Composite one image onto another at the specified offset.

매개변수

composite_object

Imagick object which holds the composite image

compose

Composite operator. See Composite Operator Constants

x

The column offset of the composited image

y

The row offset of the composited image

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::compareImageLayers | 처음으로 | Imagick::__construct


Imagick::__construct

(No version information available, might be only in CVS)

Imagick::__construct -- The Imagick constructor

설명

Imagick Imagick::__construct ( [mixed $files] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

The Imagick constructor

매개변수

files

The path to an image to load or array of paths

반환값

Returns a new Imagick object on success, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::compositeImage | 처음으로 | Imagick::contrastImage


Imagick::contrastImage

(No version information available, might be only in CVS)

Imagick::contrastImage -- Change the contrast of the image

설명

bool Imagick::contrastImage ( bool $sharpen )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Enhances the intensity differences between the lighter and darker elements of the image. Set sharpen to a value other than 0 to increase the image contrast otherwise the contrast is reduced.

매개변수

sharpen

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::__construct | 처음으로 | Imagick::contrastStretchImage


Imagick::contrastStretchImage

(No version information available, might be only in CVS)

Imagick::contrastStretchImage -- Enhances the contrast of a color image

설명

bool Imagick::contrastStretchImage ( float $black_point, float $white_point [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available

매개변수

black_point

white_point

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::contrastImage | 처음으로 | Imagick::convolveImage


Imagick::convolveImage

(No version information available, might be only in CVS)

Imagick::convolveImage -- Applies a custom convolution kernel to the image

설명

bool Imagick::convolveImage ( array $kernel [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applies a custom convolution kernel to the image.

매개변수

kernel

The convolution kernel

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::contrastStretchImage | 처음으로 | Imagick::cropImage


Imagick::cropImage

(No version information available, might be only in CVS)

Imagick::cropImage -- Extracts a region of the image

설명

bool Imagick::cropImage ( int $width, int $height, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Extracts a region of the image.

매개변수

width

height

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::convolveImage | 처음으로 | Imagick::current


Imagick::cropThumbnailImage

(No version information available, might be only in CVS)

Imagick::cropThumbnailImage -- Creates a crop thumbnail

설명

bool Imagick::cropThumbnailImage ( int $width, int $height )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a fixed size thumbnail by first scaling the image down and cropping a specified area from the center.

매개변수

width

height of the thumbnail

height

height of the thumbnail

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::displayImages | 처음으로 | Imagick::roundCorners


Imagick::current

(No version information available, might be only in CVS)

Imagick::current -- Sets image pointer at the correct sequence

설명

Imagick Imagick::current ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns reference to the current imagick object with image pointer at the correct sequence.

매개변수

반환값

Returns self on success, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::cropImage | 처음으로 | Imagick::cycleColormapImage


Imagick::cycleColormapImage

(No version information available, might be only in CVS)

Imagick::cycleColormapImage -- Displaces an image's colormap

설명

bool Imagick::cycleColormapImage ( int $displace )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Displaces an image's colormap by a given number of positions. If you cycle the colormap a number of times you can produce a psychedelic effect.

매개변수

displace

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::current | 처음으로 | Imagick::deconstructImages


Imagick::deconstructImages

(No version information available, might be only in CVS)

Imagick::deconstructImages -- Returns certain pixel differences between images

설명

bool Imagick::deconstructImages ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::cycleColormapImage | 처음으로 | Imagick::despeckleImage


Imagick::despeckleImage

(No version information available, might be only in CVS)

Imagick::despeckleImage -- Reduces the speckle noise in an image

설명

bool Imagick::despeckleImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Reduces the speckle noise in an image while perserving the edges of the original image.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::deconstructImages | 처음으로 | Imagick::destroy


Imagick::destroy

(No version information available, might be only in CVS)

Imagick::destroy -- Destroys the Imagick object

설명

bool Imagick::destroy ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Destroys the Imagick object

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::despeckleImage | 처음으로 | Imagick::drawImage


Imagick::displayImage

(No version information available, might be only in CVS)

Imagick::displayImage -- Displays an image

설명

bool Imagick::displayImage ( string $servername )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This method displays an image on a X server.

매개변수

servername

The X server name

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::writeImage | 처음으로 | Imagick::displayImages


Imagick::displayImages

(No version information available, might be only in CVS)

Imagick::displayImages -- Displays an image or image sequence

설명

bool Imagick::displayImages ( string $servername )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Displays an image or image sequence on a X server.

매개변수

servername

The X server name

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::displayImage | 처음으로 | Imagick::cropThumbnailImage


Imagick::distortImage

(No version information available, might be only in CVS)

Imagick::distortImage -- Distorts an image using various distortion methods

설명

bool Imagick::distortImage ( int $method, array $arguments, bool $bestfit )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Distorts an image using various distortion methods, by mapping color lookups of the source image to a new destination image usally of the same size as the source image, unless 'bestfit' is set to true. If 'bestfit' is enabled, and distortion allows it, the destination image is adjusted to ensure the whole source 'image' will just fit within the final destination image, which will be sized and offset accordingly. Also in many cases the virtual offset of the source image will be taken into account in the mapping. This functionality is present if Imagick is compiled against ImageMagick 6.3.6 or later.

매개변수

method

The method of image distortion. See distortion constants

arguments

The arguments for this distortion method

bestfit

Attempt to resize destination to fit distorted source

반환값

성공시에 TRUE를 반환합니다.

오류/예외

오류시에 ImagickException이 발생합니다.

예제

예 937. Using Imagick::distortImage():

Distort an image and write it to the disk.

<?php

$im = new imagick( "example.jpg" );

$im->distortImage( Imagick::DISTORTION_PERSPECTIVE, array( 7,40, 4,30, 4,124, 4,123, 85,122, 100,123, 85,2, 100,30 ), true );

$im->writeImage( "example_out.jpg" );

?>

참고

Imagick::blurImage()
Imagick::motionBlurImage()
Imagick::radialBlurImage()

이전 | 위로 | 다음
Imagick::negateImage | 처음으로 | Imagick::newImage


Imagick::drawImage

(No version information available, might be only in CVS)

Imagick::drawImage -- Renders the ImagickDrawing object on the current image

설명

bool Imagick::drawImage ( ImagickDraw $drawing_wand )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Renders the ImagickDrawing object on the current image.

매개변수

drawing_wand

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::destroy | 처음으로 | Imagick::edgeImage


Imagick::edgeImage

(No version information available, might be only in CVS)

Imagick::edgeImage -- Enhance edges within the image

설명

bool Imagick::edgeImage ( float $radius )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Enhance edges within the image with a convolution filter of the given radius. Use a radius of 0 and Edge() selects a suitable radius for you.

매개변수

radius

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::drawImage | 처음으로 | Imagick::embossImage


Imagick::embossImage

(No version information available, might be only in CVS)

Imagick::embossImage -- Returns a grayscale image with a three-dimensional effect

설명

bool Imagick::embossImage ( float $radius, float $sigma )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and it will choose a suitable radius for you.

매개변수

radius

sigma

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::edgeImage | 처음으로 | Imagick::enhanceImage


Imagick::enhanceImage

(No version information available, might be only in CVS)

Imagick::enhanceImage -- Improves the quality of a noisy image

설명

bool Imagick::enhanceImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applies a digital filter that improves the quality of a noisy image.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::embossImage | 처음으로 | Imagick::equalizeImage


Imagick::equalizeImage

(No version information available, might be only in CVS)

Imagick::equalizeImage -- Equalizes the image histogram

설명

bool Imagick::equalizeImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Equalizes the image histogram.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::enhanceImage | 처음으로 | Imagick::evaluateImage


Imagick::evaluateImage

(No version information available, might be only in CVS)

Imagick::evaluateImage -- Applies an expression to an image

설명

bool Imagick::evaluateImage ( int $op, float $constant [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applys an arithmetic, relational, or logical expression to an image. Use these operators to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.

매개변수

op

constant

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::equalizeImage | 처음으로 | Imagick::flattenImages


Imagick::flattenImages

(No version information available, might be only in CVS)

Imagick::flattenImages -- Merges a sequence of images

설명

bool Imagick::flattenImages ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Merges a sequence of images. This is useful for combining Photoshop layers into a single image.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::evaluateImage | 처음으로 | Imagick::flipImage


Imagick::flipImage

(No version information available, might be only in CVS)

Imagick::flipImage -- Creates a vertical mirror image

설명

bool Imagick::flipImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a vertical mirror image by reflecting the pixels around the central x-axis.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::flattenImages | 처음으로 | Imagick::flopImage


Imagick::flopImage

(No version information available, might be only in CVS)

Imagick::flopImage -- Creates a horizontal mirror image

설명

bool Imagick::flopImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a horizontal mirror image by reflecting the pixels around the central y-axis.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::flipImage | 처음으로 | Imagick::frameImage


Imagick::frameImage

(No version information available, might be only in CVS)

Imagick::frameImage -- Adds a simulated three-dimensional border

설명

bool Imagick::frameImage ( ImagickPixel $matte_color, int $width, int $height, int $inner_bevel, int $outer_bevel )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds a simulated three-dimensional border around the image. The width and height specify the border width of the vertical and horizontal sides of the frame. The inner and outer bevels indicate the width of the inner and outer shadows of the frame.

매개변수

matte_color

width

height

inner_bevel

outer_bevel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::flopImage | 처음으로 | Imagick::fxImage


Imagick::fxImage

(No version information available, might be only in CVS)

Imagick::fxImage -- Evaluate expression for each pixel in the image

설명

bool Imagick::fxImage ( string $expression [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Evaluate expression for each pixel in the image.

매개변수

expression

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::frameImage | 처음으로 | Imagick::gammaImage


Imagick::gammaImage

(No version information available, might be only in CVS)

Imagick::gammaImage -- Gamma-corrects an image

설명

bool Imagick::gammaImage ( float $gamma [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gamma-corrects an image. The same image viewed on different devices will have perceptual differences in the way the image's intensities are represented on the screen. Specify individual gamma levels for the red, green, and blue channels, or adjust all three with the gamma parameter. Values typically range from 0.8 to 2.3.

매개변수

gamma

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::fxImage | 처음으로 | Imagick::gaussianBlurImage


Imagick::gaussianBlurImage

(No version information available, might be only in CVS)

Imagick::gaussianBlurImage -- Blurs an image

설명

bool Imagick::gaussianBlurImage ( float $radius, float $sigma [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and selects a suitable radius for you.

매개변수

radius

sigma

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::gammaImage | 처음으로 | Imagick::getCompressionQuality


Imagick::getCompression

(No version information available, might be only in CVS)

Imagick::getCompression -- Gets the object compression type

설명

int Imagick::getCompression ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the object compression type.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getCompressionQuality | 처음으로 | Imagick::getCopyright


Imagick::getCompressionQuality

(No version information available, might be only in CVS)

Imagick::getCompressionQuality -- Gets the object compression quality

설명

int Imagick::getCompressionQuality ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the object compression quality.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::gaussianBlurImage | 처음으로 | Imagick::getCompression


Imagick::getCopyright

(No version information available, might be only in CVS)

Imagick::getCopyright -- Returns the ImageMagick API copyright as a string constant

설명

string Imagick::getCopyright ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the ImageMagick API copyright as a string constant.

매개변수

반환값

Returns a string containing the copyright notice of Imagemagick and Magickwand C API.

이전 | 위로 | 다음
Imagick::getCompression | 처음으로 | Imagick::getFilename


Imagick::getFilename

(No version information available, might be only in CVS)

Imagick::getFilename -- The filename associated with an image sequence

설명

string Imagick::getFilename ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the filename associated with an image sequence.

매개변수

반환값

Returns a string on success, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::getCopyright | 처음으로 | Imagick::getFormat


Imagick::getFormat

(No version information available, might be only in CVS)

Imagick::getFormat -- Returns the format of the Imagick object

설명

string Imagick::getFormat ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the format of the Imagick object.

매개변수

반환값

Returns the format of the image and throwns an ImagickException on failure.

이전 | 위로 | 다음
Imagick::getFilename | 처음으로 | Imagick::getHomeURL


Imagick::getHomeURL

(No version information available, might be only in CVS)

Imagick::getHomeURL -- Returns the ImageMagick home URL

설명

string Imagick::getHomeURL ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the ImageMagick home URL.

매개변수

반환값

Returns a linke to the imagemagick homepage.

이전 | 위로 | 다음
Imagick::getFormat | 처음으로 | Imagick::getImageBackgroundColor


Imagick::getImage

(No version information available, might be only in CVS)

Imagick::getImage -- Returns a new Imagick object

설명

Imagick Imagick::getImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a new Imagick object with the current image sequence.

매개변수

반환값

Returns a new Imagick object with the current image sequence, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageWidth | 처음으로 | Imagick::getInterlaceScheme


Imagick::getImageBackgroundColor

(No version information available, might be only in CVS)

Imagick::getImageBackgroundColor -- Returns the image background color

설명

ImagickPixel Imagick::getImageBackgroundColor ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the image background color.

매개변수

반환값

Returns an ImagickPixel set to the background color of the image, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::getHomeURL | 처음으로 | Imagick::getImageBlob


Imagick::getImageBlob

(No version information available, might be only in CVS)

Imagick::getImageBlob -- Returns the image sequence as a blob

설명

string Imagick::getImageBlob ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Implements direct to memory image formats. It returns the image sequence as a string. The format of the image determines the format of the returned blob (GIF, JPEG, PNG, etc.). To return a different image format, use Imagick::SetImageFormat().

매개변수

반환값

Returns a string containing the image. On failure, throws ImagickException.

이전 | 위로 | 다음
Imagick::getImageBackgroundColor | 처음으로 | Imagick::getImageBluePrimary


Imagick::getImageBluePrimary

(No version information available, might be only in CVS)

Imagick::getImageBluePrimary -- Returns the chromaticy blue primary point

설명

ImagickPixel Imagick::getImageBluePrimary ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the chromaticy blue primary point for the image.

매개변수

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageBlob | 처음으로 | Imagick::getImageBorderColor


Imagick::getImageBorderColor

(No version information available, might be only in CVS)

Imagick::getImageBorderColor -- Returns the image border color

설명

ImagickPixel Imagick::getImageBorderColor ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the image border color.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageBluePrimary | 처음으로 | Imagick::getImageChannelDepth


Imagick::getImageChannelDepth

(No version information available, might be only in CVS)

Imagick::getImageChannelDepth -- Gets the depth for a particular image channel

설명

int Imagick::getImageChannelDepth ( int $channelType )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the depth for a particular image channel.

매개변수

expression

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageBorderColor | 처음으로 | Imagick::getImageChannelDistortion


Imagick::getImageChannelDistortion

(No version information available, might be only in CVS)

Imagick::getImageChannelDistortion -- Compares image channels of an image to a reconstructed image

설명

float Imagick::getImageChannelDistortion ( Imagick $reference, int $channel, int $metric )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.

매개변수

reference

channel

metric

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageChannelDepth | 처음으로 | Imagick::getImageChannelExtrema


Imagick::getImageChannelExtrema

(No version information available, might be only in CVS)

Imagick::getImageChannelExtrema -- Gets the extrema for one or more image channels

설명

array Imagick::getImageChannelExtrema ( int $channel )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the extrema for one or more image channels. Return value is an associative array with the keys "minima" and "maxima".

매개변수

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageChannelDistortion | 처음으로 | Imagick::getImageChannelMean


Imagick::getImageChannelMean

(No version information available, might be only in CVS)

Imagick::getImageChannelMean -- Gets the mean and standard deviation

설명

array Imagick::getImageChannelMean ( int $channel )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the mean and standard deviation of one or more image channels. Return value is an associative array with the keys "mean" and "standardDeviation".

매개변수

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageChannelExtrema | 처음으로 | Imagick::getImageChannelStatistics


Imagick::getImageChannelStatistics

(No version information available, might be only in CVS)

Imagick::getImageChannelStatistics -- Returns statistics for each channel in the image

설명

array Imagick::getImageChannelStatistics ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns statistics for each channel in the image. The statistics incude the channel depth, its minima and maxima, the mean, and the standard deviation. You can access the red channel mean, for example, like this:

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageChannelMean | 처음으로 | Imagick::getImageColormapColor


Imagick::getImageColormapColor

(No version information available, might be only in CVS)

Imagick::getImageColormapColor -- Returns the color of the specified colormap index

설명

ImagickPixel Imagick::getImageColormapColor ( int $index )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the color of the specified colormap index.

매개변수

index

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageChannelStatistics | 처음으로 | Imagick::getImageColorspace


Imagick::getImageColors

(No version information available, might be only in CVS)

Imagick::getImageColors -- Gets the number of unique colors in the image

설명

int Imagick::getImageColors ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the number of unique colors in the image.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageColorspace | 처음으로 | Imagick::getImageCompose


Imagick::getImageColorspace

(No version information available, might be only in CVS)

Imagick::getImageColorspace -- Gets the image colorspace

설명

int Imagick::getImageColorspace ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image colorspace.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageColormapColor | 처음으로 | Imagick::getImageColors


Imagick::getImageCompose

(No version information available, might be only in CVS)

Imagick::getImageCompose -- Returns the composite operator associated with the image

설명

int Imagick::getImageCompose ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the composite operator associated with the image.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageColors | 처음으로 | Imagick::getImageDelay


Imagick::getImageDelay

(No version information available, might be only in CVS)

Imagick::getImageDelay -- Gets the image delay

설명

int Imagick::getImageDelay ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image delay.

매개변수

반환값

Returns the image delay and throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageCompose | 처음으로 | Imagick::getImageDepth


Imagick::getImageDepth

(No version information available, might be only in CVS)

Imagick::getImageDepth -- Gets the image depth

설명

int Imagick::getImageDepth ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image depth.

매개변수

반환값

What the function returns, first on success, then on failure. See also the &return.success; entity

이전 | 위로 | 다음
Imagick::getImageDelay | 처음으로 | Imagick::getImageDispose


Imagick::getImageDispose

(No version information available, might be only in CVS)

Imagick::getImageDispose -- Gets the image disposal method

설명

int Imagick::getImageDispose ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image disposal method.

매개변수

반환값

Returns the dispose method on success, throws an ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageDepth | 처음으로 | Imagick::getImageDistortion


Imagick::getImageDistortion

(No version information available, might be only in CVS)

Imagick::getImageDistortion -- Compares an image to a reconstructed image

설명

float Imagick::getImageDistortion ( MagickWand $reference, int $metric )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Compares an image to a reconstructed image and returns the specified distortion metric.

매개변수

reference

metric

반환값

Returns the distortion metric used on the image (or the best guess thereof). Throws an exception on error.

이전 | 위로 | 다음
Imagick::getImageDispose | 처음으로 | Imagick::getImageExtrema


Imagick::getImageExtrema

(No version information available, might be only in CVS)

Imagick::getImageExtrema -- Gets the extrema for the image

설명

array Imagick::getImageExtrema ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the extrema for the image. Returns an associative array with the keys "min" and "max".

매개변수

반환값

Returns an associative array with the keys "min" and "max". Throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageDistortion | 처음으로 | Imagick::getImageFilename


Imagick::getImageFilename

(No version information available, might be only in CVS)

Imagick::getImageFilename -- Returns the filename of a particular image in a sequence

설명

string Imagick::getImageFilename ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the filename of a particular image in a sequence.

매개변수

반환값

Returns a string with the filename of the image. Throws an ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageExtrema | 처음으로 | Imagick::getImageSize


Imagick::getImageFormat

(No version information available, might be only in CVS)

Imagick::getImageFormat -- Returns the format of a particular image in a sequence

설명

string Imagick::getImageFormat ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the format of a particular image in a sequence.

매개변수

반환값

Returns a string containing the image format on success, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageLength | 처음으로 | Imagick::getImageGamma


Imagick::getImageGamma

(No version information available, might be only in CVS)

Imagick::getImageGamma -- Gets the image gamma

설명

float Imagick::getImageGamma ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image gamma.

매개변수

반환값

Returns the image gamma on success, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageFormat | 처음으로 | Imagick::getImageGeometry


Imagick::getImageGeometry

(No version information available, might be only in CVS)

Imagick::getImageGeometry -- Gets the width and height as an associative array

설명

array Imagick::getImageGeometry ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the width and height as an associative array.

매개변수

반환값

Returns an array with the width/height of the image, throws ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageGamma | 처음으로 | Imagick::getImageGreenPrimary


Imagick::getImageGreenPrimary

(No version information available, might be only in CVS)

Imagick::getImageGreenPrimary -- Returns the chromaticy green primary point

설명

array Imagick::getImageGreenPrimary ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the chromaticy green primary point. Returns an array with the keys "x" and "y".

매개변수

반환값

Returns an array with the keys "x" and "y" on success, throws an ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageGeometry | 처음으로 | Imagick::getImageHeight


Imagick::getImageHeight

(No version information available, might be only in CVS)

Imagick::getImageHeight -- Returns the image height

설명

int Imagick::getImageHeight ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the image height.

매개변수

반환값

Returns the image height in pixels, throws ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageGreenPrimary | 처음으로 | Imagick::getImageHistogram


Imagick::getImageHistogram

(No version information available, might be only in CVS)

Imagick::getImageHistogram -- Gets the image histogram

설명

array Imagick::getImageHistogram ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the image histogram as an array of ImagickPixel objects.

매개변수

반환값

Returns the image histogram as an array of ImagickPixel objects, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageHeight | 처음으로 | Imagick::getImageIndex


Imagick::getImageIndex

(No version information available, might be only in CVS)

Imagick::getImageIndex -- Gets the index of the current active image

설명

int Imagick::getImageIndex ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the index of the current active image within the Imagick object. This method has been deprecated. See Imagick::getIteratorIndex

매개변수

반환값

Returns an integer containing the index of the image in the stack, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageHistogram | 처음으로 | Imagick::getIteratorIndex


Imagick::getImageInterlaceScheme

(No version information available, might be only in CVS)

Imagick::getImageInterlaceScheme -- Gets the image interlace scheme

설명

int Imagick::getImageInterlaceScheme ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image interlace scheme.

매개변수

반환값

Returns the interlace scheme as an integer on success, throwing ImagickException on failure.

이전 | 위로 | 다음
Imagick::getIteratorIndex | 처음으로 | Imagick::getImageInterpolateMethod


Imagick::getImageInterpolateMethod

(No version information available, might be only in CVS)

Imagick::getImageInterpolateMethod -- Returns the interpolation method

설명

int Imagick::getImageInterpolateMethod ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the interpolation method for the sepcified image.

매개변수

반환값

Returns the interpolate method on success, throws ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageInterlaceScheme | 처음으로 | Imagick::getImageIterations


Imagick::getImageIterations

(No version information available, might be only in CVS)

Imagick::getImageIterations -- Gets the image iterations

설명

int Imagick::getImageIterations ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image iterations.

매개변수

반환값

Returns the image iterations as an integer, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageInterpolateMethod | 처음으로 | Imagick::getImageMatteColor


Imagick::getImageLength

(No version information available, might be only in CVS)

Imagick::getImageLength -- Returns the image length in bytes

설명

int Imagick::getImageLength ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the image length in bytes

매개변수

반환값

Returns an int containing the current image size.

이전 | 위로 | 다음
Imagick::getImageSize | 처음으로 | Imagick::getImageFormat


Imagick::getImageMatte

(No version information available, might be only in CVS)

Imagick::getImageMatte -- Return if the image has a matte channel

설명

int Imagick::getImageMatte ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns true if the image has a matte channel otherwise false.

매개변수

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
Imagick::getImageMatteColor | 처음으로 | Imagick::getImagePage


Imagick::getImageMatteColor

(No version information available, might be only in CVS)

Imagick::getImageMatteColor -- Returns the image matte color

설명

ImagickPixel Imagick::getImageMatteColor ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the image matte color.

매개변수

반환값

What the function returns, first on success, then on failure. See also the &return.success; entity

이전 | 위로 | 다음
Imagick::getImageIterations | 처음으로 | Imagick::getImageMatte


Imagick::getImageOrientation

(No version information available, might be only in CVS)

Imagick::getImageOrientation -- Gets the image orientation.

설명

int Imagick::getImageOrientation ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image orientation. The return value is one of the orientation constants.

매개변수

반환값

Returns an int on success, throws ImagickException on failure.

이전 | 위로 | 다음
Imagick::getInterlaceScheme | 처음으로 | Imagick::getNumberImages


Imagick::getImagePage

(No version information available, might be only in CVS)

Imagick::getImagePage -- Returns the page geometry

설명

array Imagick::getImagePage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the page geometry associated with the image in an array with the keys "width", "height", "x", and "y".

매개변수

반환값

Returns the page geometry associated with the image in an array with the keys "width", "height", "x", and "y".

이전 | 위로 | 다음
Imagick::getImageMatte | 처음으로 | Imagick::getImagePixelColor


Imagick::getImagePixelColor

(No version information available, might be only in CVS)

Imagick::getImagePixelColor -- Returns the color of the specified pixel

설명

ImagickPixel Imagick::getImagePixelColor ( int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the color of the specified pixel.

매개변수

x

y

반환값

Returns an ImagickPixel instance for the color at the coordinates given, throws ImagickException on error.

이전 | 위로 | 다음
Imagick::getImagePage | 처음으로 | Imagick::getImageProfile


Imagick::getImageProfile

(No version information available, might be only in CVS)

Imagick::getImageProfile -- Returns the named image profile

설명

string Imagick::getImageProfile ( string $name )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the named image profile.

매개변수

name

반환값

Returns a string containing the image profile, throws ImagickException on error.

이전 | 위로 | 다음
Imagick::getImagePixelColor | 처음으로 | Imagick::getImageProfiles


Imagick::getImageProfiles

(No version information available, might be only in CVS)

Imagick::getImageProfiles -- Returns the image profiles

설명

array Imagick::getImageProfiles ( [string $pattern [, bool $only_names]] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns all associated profiles that match the pattern. If true is passed as second parameter only the profile names are returned. This method is present if Imagick is compiled against ImageMagick 6.3.5-9 or later.

매개변수

pattern

The pattern for profile names. Defaults to "*"

only_names

Whether to return only profile names

반환값

Returns an array containing the image profiles or profile names.

이전 | 위로 | 다음
Imagick::getImageProfile | 처음으로 | Imagick::getImageProperty


Imagick::getImageProperties

(No version information available, might be only in CVS)

Imagick::getImageProperties -- Returns the image properties

설명

array Imagick::getImageProperties ( [string $pattern [, bool $only_names]] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns all associated properties that match the pattern. If true is passed as second parameter only the property names are returned. This method is present if Imagick is compiled against ImageMagick 6.3.5-9 or later.

매개변수

pattern

The pattern for property names. Defaults to "*"

only_names

Whether to return only property names

반환값

Returns an array containing the image properties or property names.

예제

예 935. Using Imagick::getImageProperties():

An example of extracting EXIF information.

<?php

/* Create the object */
$im = new imagick("/path/to/example.jpg");

/* Get the EXIF information */
$exifArray = $im->getImageProperties("exif:*");

/* Loop trough the exif properties */
foreach ($exifArray as $name => $property)
{
    echo "{$name} => {$property}<br />\n";
}

?>

이전 | 위로 | 다음
Imagick::getImageProperty | 처음으로 | Imagick::getImageRedPrimary


Imagick::getImageProperty

(No version information available, might be only in CVS)

Imagick::getImageProperty -- Returns the named image property

설명

string Imagick::getImageProperty ( string $name )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the named image profile.

매개변수

name

name of the property (for example Exif:DateTime)

반환값

Returns a string containing the image property, false if a property with the given name does not exist.

이전 | 위로 | 다음
Imagick::getImageProfiles | 처음으로 | Imagick::getImageProperties


Imagick::getImageRedPrimary

(No version information available, might be only in CVS)

Imagick::getImageRedPrimary -- Returns the chromaticy red primary point

설명

array Imagick::getImageRedPrimary ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the chromaticy red primary point as an array with the keys "x" and "y".

매개변수

반환값

Returns the chromaticy red primary point as an array with the keys "x" and "y", throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageProperties | 처음으로 | Imagick::getImageRegion


Imagick::getImageRegion

(No version information available, might be only in CVS)

Imagick::getImageRegion -- Extracts a region of the image

설명

bool Imagick::getImageRegion ( int $width, int $height, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Extracts a region of the image and returns it as a a new wand.

매개변수

width

height

x

y

반환값

Extracts a region of the image and returns it as a a new wand, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageRedPrimary | 처음으로 | Imagick::getImageRenderingIntent


Imagick::getImageRenderingIntent

(No version information available, might be only in CVS)

Imagick::getImageRenderingIntent -- Gets the image rendering intent

설명

int Imagick::getImageRenderingIntent ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image rendering intent.

매개변수

반환값

Returns the image rendering intent, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageRegion | 처음으로 | Imagick::getImageResolution


Imagick::getImageResolution

(No version information available, might be only in CVS)

Imagick::getImageResolution -- Gets the image X and Y resolution

설명

array Imagick::getImageResolution ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image X and Y resolution.

매개변수

반환값

Returns the resolution as an array and throws ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageRenderingIntent | 처음으로 | Imagick::getImageScene


Imagick::getImageScene

(No version information available, might be only in CVS)

Imagick::getImageScene -- Gets the image scene

설명

int Imagick::getImageScene ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image scene.

매개변수

반환값

Returns the image scene, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageResolution | 처음으로 | Imagick::getImageSignature


Imagick::getImageSignature

(No version information available, might be only in CVS)

Imagick::getImageSignature -- Generates an SHA-256 message digest

설명

string Imagick::getImageSignature ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Generates an SHA-256 message digest for the image pixel stream.

매개변수

반환값

Returns a string containing the SHA-256 hash of the file, throwing an ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageScene | 처음으로 | Imagick::getImageTicksPerSecond


Imagick::getImageSize

(No version information available, might be only in CVS)

Imagick::getImageSize -- Returns the image length in bytes

설명

int Imagick::getImageSize ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the image length in bytes

매개변수

반환값

Returns an int containing the current image size.

이전 | 위로 | 다음
Imagick::getImageFilename | 처음으로 | Imagick::getImageLength


Imagick::getImageTicksPerSecond

(No version information available, might be only in CVS)

Imagick::getImageTicksPerSecond -- Gets the image ticks-per-second

설명

int Imagick::getImageTicksPerSecond ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image ticks-per-second.

매개변수

반환값

Returns the image ticks-per-second, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageSignature | 처음으로 | Imagick::getImageTotalInkDensity


Imagick::getImageTotalInkDensity

(No version information available, might be only in CVS)

Imagick::getImageTotalInkDensity -- Gets the image total ink density

설명

float Imagick::getImageTotalInkDensity ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image total ink density.

매개변수

반환값

Returns the image total ink density of the image, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageTicksPerSecond | 처음으로 | Imagick::getImageType


Imagick::getImageType

(No version information available, might be only in CVS)

Imagick::getImageType -- Gets the potential image type

설명

int Imagick::getImageType ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the potential image type.

매개변수

반환값

Retruns the potential image type, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageTotalInkDensity | 처음으로 | Imagick::getImageUnits


Imagick::getImageUnits

(No version information available, might be only in CVS)

Imagick::getImageUnits -- Gets the image units of resolution

설명

int Imagick::getImageUnits ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the image units of resolution.

매개변수

반환값

Returns the image units of resolution, throwing ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageType | 처음으로 | Imagick::getImageVirtualPixelMethod


Imagick::getImageVirtualPixelMethod

(No version information available, might be only in CVS)

Imagick::getImageVirtualPixelMethod -- Returns the virtual pixel method

설명

int Imagick::getImageVirtualPixelMethod ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the virtual pixel method for the specified image.

매개변수

반환값

Returns the virtual pixel method on success, ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageUnits | 처음으로 | Imagick::getImageWhitePoint


Imagick::getImageWhitePoint

(No version information available, might be only in CVS)

Imagick::getImageWhitePoint -- Returns the chromaticy white point

설명

array Imagick::getImageWhitePoint ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the chromaticy white point as an associative array with the keys "x" and "y".

매개변수

반환값

Returns the chromaticy white point as an associative array with the keys "x" and "y", throws ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageVirtualPixelMethod | 처음으로 | Imagick::getImageWidth


Imagick::getImageWidth

(No version information available, might be only in CVS)

Imagick::getImageWidth -- Returns the image width

설명

int Imagick::getImageWidth ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the image width.

매개변수

반환값

Returns the image width, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageWhitePoint | 처음으로 | Imagick::getImage


Imagick::getInterlaceScheme

(No version information available, might be only in CVS)

Imagick::getInterlaceScheme -- Gets the object interlace scheme

설명

int Imagick::getInterlaceScheme ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the object interlace scheme.

매개변수

반환값

Gets the wand interlace scheme, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImage | 처음으로 | Imagick::getImageOrientation


Imagick::getIteratorIndex

(No version information available, might be only in CVS)

Imagick::getIteratorIndex -- Gets the index of the current active image

설명

int Imagick::getIteratorIndex ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the index of the current active image within the Imagick object.

매개변수

반환값

Returns an integer containing the index of the image in the stack, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getImageIndex | 처음으로 | Imagick::getImageInterlaceScheme


Imagick::getNumberImages

(No version information available, might be only in CVS)

Imagick::getNumberImages -- Returns the number of images in the object

설명

int Imagick::getNumberImages ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the number of images associated with Imagick object.

매개변수

반환값

Returns the number of images associated with Imagick object, throwing ImagickException on failure.

이전 | 위로 | 다음
Imagick::getImageOrientation | 처음으로 | Imagick::getOption


Imagick::getOption

(No version information available, might be only in CVS)

Imagick::getOption -- Returns a value associated with the specified key

설명

string Imagick::getOption ( string $key )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a value associated with a wand and the specified key.

매개변수

key

반환값

Returns a value associated with a wand and the specified key, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getNumberImages | 처음으로 | Imagick::getPackageName


Imagick::getPackageName

(No version information available, might be only in CVS)

Imagick::getPackageName -- Returns the ImageMagick package name

설명

string Imagick::getPackageName ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the ImageMagick package name.

매개변수

반환값

Returns the ImageMagick package name as a string, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getOption | 처음으로 | Imagick::getPage


Imagick::getPage

(No version information available, might be only in CVS)

Imagick::getPage -- Returns the page geometry

설명

array Imagick::getPage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the page geometry associated with the Imagick object in an associative array with the keys "width", "height", "x", and "y".

매개변수

반환값

Returns the page geometry associated with the Imagick object in an associative array with the keys "width", "height", "x", and "y", throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getPackageName | 처음으로 | Imagick::getPixelIterator


Imagick::getPixelIterator

(No version information available, might be only in CVS)

Imagick::getPixelIterator -- Returns a MagickPixelIterator

설명

ImagickPixelIterator Imagick::getPixelIterator ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a MagickPixelIterator.

매개변수

반환값

Returns an ImagickPixelIterator on success, throwing ImagickException on failure.

이전 | 위로 | 다음
Imagick::getPage | 처음으로 | Imagick::getPixelRegionIterator


Imagick::getPixelRegionIterator

(No version information available, might be only in CVS)

Imagick::getPixelRegionIterator -- Get an ImagickPixelIterator for an image section

설명

ImagickPixelIterator Imagick::getPixelRegionIterator ( int $x, int $y, int $columns, int $rows )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get an ImagickPixelIterator for an image section.

매개변수

x

y

columns

rows

반환값

Returns an ImagickPixelIterator for an image section, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getPixelIterator | 처음으로 | Imagick::getQuantumDepth


Imagick::getQuantumDepth

(No version information available, might be only in CVS)

Imagick::getQuantumDepth -- Gets the quantum depth

설명

array Imagick::getQuantumDepth ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the Imagick quantum depth as a string.

매개변수

반환값

Returns the Imagick quantum depth as a string, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getPixelRegionIterator | 처음으로 | Imagick::getQuantumRange


Imagick::getQuantumRange

(No version information available, might be only in CVS)

Imagick::getQuantumRange -- Returns the Imagick quantum range

설명

array Imagick::getQuantumRange ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the Imagick quantum range as a string.

매개변수

반환값

Returns the Imagick quantum range as a string, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getQuantumDepth | 처음으로 | Imagick::getReleaseDate


Imagick::getReleaseDate

(No version information available, might be only in CVS)

Imagick::getReleaseDate -- Returns the ImageMagick release date

설명

string Imagick::getReleaseDate ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the ImageMagick release date as a string.

매개변수

반환값

Returns the ImageMagick release date as a string, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getQuantumRange | 처음으로 | Imagick::getResourceLimit


Imagick::getResource

(No version information available, might be only in CVS)

Imagick::getResource -- Returns the specified resource's memory usage

설명

int Imagick::getResource ( int $type )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the specified resource's memory usage in megabytes.

매개변수

type

반환값

Returns the specified resource's memory usage in megabytes, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getResourceLimit | 처음으로 | Imagick::getSamplingFactors


Imagick::getResourceLimit

(No version information available, might be only in CVS)

Imagick::getResourceLimit -- Returns the specified resource limit

설명

int Imagick::getResourceLimit ( int $type )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the specified resource limit in megabytes.

매개변수

type

반환값

Returns the specified resource limit in megabytes, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getReleaseDate | 처음으로 | Imagick::getResource


Imagick::getSamplingFactors

(No version information available, might be only in CVS)

Imagick::getSamplingFactors -- Gets the horizontal and vertical sampling factor

설명

array Imagick::getSamplingFactors ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Gets the horizontal and vertical sampling factor.

매개변수

반환값

Returns an associative array with the horizontal and vertical sampling factors of the image. Throws ImagickException on error.

이전 | 위로 | 다음
Imagick::getResource | 처음으로 | Imagick::getSizeOffset


Imagick::getSize

(No version information available, might be only in CVS)

Imagick::getSize -- Returns the size associated with the Imagick object

설명

array Imagick::getSize ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the size associated with the Imagick object as an array with the keys "columns" and "rows".

매개변수

반환값

Returns the size associated with the Imagick object as an array with the keys "columns" and "rows".

이전 | 위로 | 다음
Imagick::getSizeOffset | 처음으로 | Imagick::getVersion


Imagick::getSizeOffset

(No version information available, might be only in CVS)

Imagick::getSizeOffset -- Returns the size offset

설명

int Imagick::getSizeOffset ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the size offset associated with the Imagick object.

매개변수

반환값

Returns the size offset associated with the Imagick object, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getSamplingFactors | 처음으로 | Imagick::getSize


Imagick::getVersion

(No version information available, might be only in CVS)

Imagick::getVersion -- Returns the ImageMagick API version

설명

array Imagick::getVersion ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the ImageMagick API version as a string and as a number.

매개변수

반환값

Returns the ImageMagick API version as a string and as a number, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getSize | 처음으로 | Imagick::hasNextImage


Imagick::hasNextImage

(No version information available, might be only in CVS)

Imagick::hasNextImage -- Checks if the object has more images

설명

bool Imagick::hasNextImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns true if the object has more images when traversing the list in the forward direction

매개변수

반환값

Returns true if the object has more images when traversing the list in the forward direction, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::getVersion | 처음으로 | Imagick::hasPreviousImage


Imagick::hasPreviousImage

(No version information available, might be only in CVS)

Imagick::hasPreviousImage -- Checks if the object has a previous image

설명

bool Imagick::hasPreviousImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns true if the object has more images when traversing the list in the reverse direction

매개변수

반환값

Returns true if the object has more images when traversing the list in the reverse direction, throwing ImagickException on failure.

이전 | 위로 | 다음
Imagick::hasNextImage | 처음으로 | Imagick::identifyImage


Imagick::identifyImage

(No version information available, might be only in CVS)

Imagick::identifyImage -- Identifies an image and fetches attributes

설명

string Imagick::identifyImage ( [bool $appendRawOutput] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Identifies an image and returns the attributes. Attributes include the image width, height, size, and others.

매개변수

appendRawOutput

반환값

Identifies an image and returns the attributes. Attributes include the image width, height, size, and others. Throws ImagickException on error.

이전 | 위로 | 다음
Imagick::hasPreviousImage | 처음으로 | Imagick::implodeImage


Imagick::implodeImage

(No version information available, might be only in CVS)

Imagick::implodeImage -- Creates a new image as a copy

설명

bool Imagick::implodeImage ( float $radius )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new image that is a copy of an existing one with the image pixels "imploded" by the specified percentage.

매개변수

radius

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::identifyImage | 처음으로 | Imagick::labelImage


Imagick::labelImage

(No version information available, might be only in CVS)

Imagick::labelImage -- Adds a label to an image

설명

bool Imagick::labelImage ( string $label )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds a label to an image

매개변수

label

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::implodeImage | 처음으로 | Imagick::levelImage


Imagick::levelImage

(No version information available, might be only in CVS)

Imagick::levelImage -- Adjusts the levels of an image

설명

bool Imagick::levelImage ( float $blackPoint, float $gamma, float $whitePoint [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

매개변수

blackPoint

gamma

whitePoint

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::labelImage | 처음으로 | Imagick::linearStretchImage


Imagick::linearStretchImage

(No version information available, might be only in CVS)

Imagick::linearStretchImage -- Stretches with saturation the image intensity

설명

bool Imagick::linearStretchImage ( float $blackPoint, float $whitePoint )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Stretches with saturation the image intensity.

매개변수

blackPoint

whitePoint

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::levelImage | 처음으로 | Imagick::magnifyImage


Imagick::magnifyImage

(No version information available, might be only in CVS)

Imagick::magnifyImage -- Scales an image proportionally 2x

설명

bool Imagick::magnifyImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Is a convenience method that scales an image proportionally to twice its original size.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::linearStretchImage | 처음으로 | Imagick::matteFloodfillImage


Imagick::matteFloodfillImage

(No version information available, might be only in CVS)

Imagick::matteFloodfillImage -- Changes the transparency value of a color

설명

bool Imagick::matteFloodfillImage ( float $alpha, float $fuzz, ImagickPixel $bordercolor, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Changes the transparency value of any pixel that matches target and is an immediate neighbor. If the method FillToBorderMethod is specified, the transparency value is changed for any neighbor pixel that does not match the bordercolor member of image.

매개변수

alpha

fuzz

bordercolor

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::magnifyImage | 처음으로 | Imagick::medianFilterImage


Imagick::medianFilterImage

(No version information available, might be only in CVS)

Imagick::medianFilterImage -- Applies a digital filter

설명

bool Imagick::medianFilterImage ( float $radius )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.

매개변수

radius

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::matteFloodfillImage | 처음으로 | Imagick::minifyImage


Imagick::minifyImage

(No version information available, might be only in CVS)

Imagick::minifyImage -- Scales an image proportionally to half its size

설명

bool Imagick::minifyImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Is a convenience method that scales an image proportionally to one-half its original size

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::medianFilterImage | 처음으로 | Imagick::modulateImage


Imagick::modulateImage

(No version information available, might be only in CVS)

Imagick::modulateImage -- Control the brightness, saturation, and hue

설명

bool Imagick::modulateImage ( float $brightness, float $saturation, float $hue )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Lets you control the brightness, saturation, and hue of an image. Hue is the percentage of absolute rotation from the current position. For example 50 results in a counter-clockwise rotation of 90 degrees, 150 results in a clockwise rotation of 90 degrees, with 0 and 200 both resulting in a rotation of 180 degrees.

매개변수

brightness

saturation

hue

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::minifyImage | 처음으로 | Imagick::montageImage


Imagick::montageImage

(No version information available, might be only in CVS)

Imagick::montageImage -- Creates a composite image

설명

Imagick Imagick::montageImage ( ImagickDraw $drawing_wand, string $tile_geometry, string $thumbnail_geometry, int $mode, string $frame )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a composite image by combining several separate images. he images are tiled on the composite image with the name of the image optionally appearing just below the individual tile.

매개변수

drawing_wand

tile_geometry

thumbnail_geometry

mode

frame

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::modulateImage | 처음으로 | Imagick::morphImages


Imagick::morphImages

(No version information available, might be only in CVS)

Imagick::morphImages -- Method morphs a set of images

설명

Imagick Imagick::morphImages ( int $number_frames )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Method morphs a set of images. Both the image pixels and size are linearly interpolated to give the appearance of a meta-morphosis from one image to the next.

매개변수

number_frames

반환값

This method returns a new Imagick object on success and throws an ImagickException on error.

이전 | 위로 | 다음
Imagick::montageImage | 처음으로 | Imagick::compareImages


Imagick::mosaicImages

(No version information available, might be only in CVS)

Imagick::mosaicImages -- Forms a mosaic from images

설명

Imagick Imagick::mosaicImages ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Inlays an image sequence to form a single coherent picture. It returns a wand with each image in the sequence composited at the location defined by the page offset of the image.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::compareImages | 처음으로 | Imagick::motionBlurImage


Imagick::motionBlurImage

(No version information available, might be only in CVS)

Imagick::motionBlurImage -- Simulates motion blur

설명

bool Imagick::motionBlurImage ( float $radius, float $sigma, float $angle )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

매개변수

radius

sigma

angle

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::mosaicImages | 처음으로 | Imagick::negateImage


Imagick::negateImage

(No version information available, might be only in CVS)

Imagick::negateImage -- Negates the colors in the reference image

설명

bool Imagick::negateImage ( bool $gray [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Negates the colors in the reference image. The Grayscale option means that only grayscale values within the image are negated.

매개변수

gray

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::motionBlurImage | 처음으로 | Imagick::distortImage


Imagick::newImage

(No version information available, might be only in CVS)

Imagick::newImage -- Creates a new image

설명

bool Imagick::newImage ( int $cols, int $rows, ImagickPixel $background [, string $format] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new image and associates ImagickPixel value as background color

매개변수

cols

Columns in the new image

rows

Rows in the new image

background

The background color used for this image

format

Image format. This parameter was added in Imagick version 2.0.1.

반환값

성공시에 TRUE를 반환합니다.

예제

예 938. Using Imagick::newImage():

Create a new image and display it.

<?php

$image = new Imagick();
$image->newImage(100, 100, new ImagickPixel('red'));
$image->setImageFormat('png');

header('Content-type: image/png');
echo $image;

?>

이전 | 위로 | 다음
Imagick::distortImage | 처음으로 | Imagick::setImage


Imagick::newPseudoImage

(No version information available, might be only in CVS)

Imagick::newPseudoImage -- Creates a new image

설명

bool Imagick::newPseudoImage ( int $columns, int $rows, string $pseudoString )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new image using ImageMagick pseudo-formats.

매개변수

columns

columns in the new image

rows

rows in the new image

pseudoString

string containing pseudo image defition.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageOpacity | 처음으로 | Imagick::nextImage


Imagick::nextImage

(No version information available, might be only in CVS)

Imagick::nextImage -- Moves to the next image

설명

bool Imagick::nextImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Associates the next image in the image list with an Imagick object.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::newPseudoImage | 처음으로 | Imagick::normalizeImage


Imagick::normalizeImage

(No version information available, might be only in CVS)

Imagick::normalizeImage -- Enhances the contrast of a color image

설명

bool Imagick::normalizeImage ( [int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.

매개변수

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::nextImage | 처음으로 | Imagick::oilPaintImage


Imagick::oilPaintImage

(No version information available, might be only in CVS)

Imagick::oilPaintImage -- Simulates an oil painting

설명

bool Imagick::oilPaintImage ( float $radius )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

매개변수

radius

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::normalizeImage | 처음으로 | Imagick::optimizeImageLayers


Imagick::optimizeImageLayers

(No version information available, might be only in CVS)

Imagick::optimizeImageLayers -- Removes repeated portions of images to optimize

설명

bool Imagick::optimizeImageLayers ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Compares each image the GIF disposed forms of the previous image in the sequence. From this it attempts to select the smallest cropped image to replace each frame, while preserving the results of the animation.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::oilPaintImage | 처음으로 | Imagick::paintOpaqueImage


Imagick::paintOpaqueImage

(No version information available, might be only in CVS)

Imagick::paintOpaqueImage -- Change any pixel that matches color

설명

bool Imagick::paintOpaqueImage ( ImagickPixel $target, ImagickPixel $fill, float $fuzz [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Changes any pixel that matches color with the color defined by fill.

매개변수

target

fill

fuzz

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::optimizeImageLayers | 처음으로 | Imagick::paintTransparentImage


Imagick::paintTransparentImage

(No version information available, might be only in CVS)

Imagick::paintTransparentImage -- Changes any pixel that matches color with the color defined by fill

설명

bool Imagick::paintTransparentImage ( Imagick $targetObj, float $alpha, float $fuzz )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

targetObj

alpha

fuzz

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::paintOpaqueImage | 처음으로 | Imagick::pingImageBlob


Imagick::pingImage

(No version information available, might be only in CVS)

Imagick::pingImage -- Fetch basic attributes about the image

설명

bool Imagick::pingImage ( string $filename )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This method can be used to query image width, height, size, and format without reading the whole image in to memory.

매개변수

filename

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::pingImageFile | 처음으로 | Imagick::posterizeImage


Imagick::pingImageBlob

(No version information available, might be only in CVS)

Imagick::pingImageBlob -- Quickly fetch attributes

설명

bool Imagick::pingImageBlob ( string $image )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This method can be used to query image width, height, size, and format without reading the whole image to memory.

매개변수

image

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::paintTransparentImage | 처음으로 | Imagick::pingImageFile


Imagick::pingImageFile

(No version information available, might be only in CVS)

Imagick::pingImageFile -- Get basic image attributes in a lightweight manner

설명

bool Imagick::pingImageFile ( resource $filehandle [, string $fileName] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This method can be used to query image width, height, size, and format without reading the whole image to memory.

매개변수

filehandle

fileName

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::pingImageBlob | 처음으로 | Imagick::pingImage


Imagick::polaroidImage

(No version information available, might be only in CVS)

Imagick::polaroidImage -- Simulates a Polaroid picture

설명

bool Imagick::polaroidImage ( ImagickDraw $properties, float $angle )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Simulates a Polaroid picture.

매개변수

properties

The polaroid properties

angle

The polaroid angle

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::roundCorners | 처음으로 | Imagick::queryFonts


Imagick::posterizeImage

(No version information available, might be only in CVS)

Imagick::posterizeImage -- Reduces the image to a limited number of color level

설명

bool Imagick::posterizeImage ( int $levels, bool $dither )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Reduces the image to a limited number of color level.

매개변수

levels

dither

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::pingImage | 처음으로 | Imagick::previousImage


Imagick::previousImage

(No version information available, might be only in CVS)

Imagick::previousImage -- Move to the previous image in the object

설명

bool Imagick::previousImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Assocates the previous image in an image list with the Imagick object.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::posterizeImage | 처음으로 | Imagick::profileImage


Imagick::profileImage

(No version information available, might be only in CVS)

Imagick::profileImage -- Adds or removes a profile from an image

설명

bool Imagick::profileImage ( string $name, string $profile )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is NULL, it is removed from the image otherwise added. Use a name of '*' and a profile of NULL to remove all profiles from the image.

매개변수

name

profile

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::previousImage | 처음으로 | Imagick::queryFormats


Imagick::queryFontMetrics

(No version information available, might be only in CVS)

Imagick::queryFontMetrics -- Returns an array representing the font metrics

설명

array Imagick::queryFontMetrics ( ImagickDraw $properties, string $text [, bool $multiline] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a 13 element array representing the font metrics.

매개변수

properties

ImagickDraw containing font properties

text

The text

multiline

Multiline parameter. If left empty it is autodetected

반환값

Returns an array containing the formats supported by Imagick, throws ImagickException on error.

이전 | 위로 | 다음
Imagick::queryFonts | 처음으로 | ImagickDraw::affine


Imagick::queryFonts

(No version information available, might be only in CVS)

Imagick::queryFonts -- Returns the configured fonts

설명

array Imagick::queryFonts ( [string $pattern] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns formats supported by Imagick.

매개변수

pattern

The query pattern

반환값

Returns an array containing the configured fonts, throws ImagickException on error.

이전 | 위로 | 다음
Imagick::polaroidImage | 처음으로 | Imagick::queryFontMetrics


Imagick::queryFormats

(No version information available, might be only in CVS)

Imagick::queryFormats -- Returns formats supported by Imagick

설명

array Imagick::queryFormats ( [string $pattern] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns formats supported by Imagick.

매개변수

pattern

반환값

Returns an array containing the formats supported by Imagick, throws ImagickException on error.

이전 | 위로 | 다음
Imagick::profileImage | 처음으로 | Imagick::radialBlurImage


Imagick::radialBlurImage

(No version information available, might be only in CVS)

Imagick::radialBlurImage -- Radial blurs an image

설명

bool Imagick::radialBlurImage ( float $angle [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Radial blurs an image.

매개변수

angle

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::queryFormats | 처음으로 | Imagick::raiseImage


Imagick::raiseImage

(No version information available, might be only in CVS)

Imagick::raiseImage -- Creates a simulated 3d button-like effect

설명

bool Imagick::raiseImage ( int $width, int $height, int $x, int $y, bool $raise )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

매개변수

width

height

x

y

raise

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::radialBlurImage | 처음으로 | Imagick::randomThresholdImage


Imagick::randomThresholdImage

(No version information available, might be only in CVS)

Imagick::randomThresholdImage -- Creates a high-contrast, two-color image

설명

bool Imagick::randomThresholdImage ( float $low, float $high [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image.

매개변수

low

high

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::raiseImage | 처음으로 | Imagick::readImageBlob


Imagick::readImage

(No version information available, might be only in CVS)

Imagick::readImage -- Reads image from filename

설명

bool Imagick::readImage ( string $filename )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Reads image from filename

매개변수

filename

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::readImageFile | 처음으로 | Imagick::reduceNoiseImage


Imagick::readImageBlob

(No version information available, might be only in CVS)

Imagick::readImageBlob -- Reads image from a binary string

설명

bool Imagick::readImageBlob ( string $image [, string $filename] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Reads image from a binary string

매개변수

image

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::randomThresholdImage | 처음으로 | Imagick::readImageFile


Imagick::readImageFile

(No version information available, might be only in CVS)

Imagick::readImageFile -- Reads image from open filehandle

설명

bool Imagick::readImageFile ( resource $filehandle [, string $fileName] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Reads image from open filehandle

매개변수

filehandle

fileName

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::readImageBlob | 처음으로 | Imagick::readImage


Imagick::reduceNoiseImage

(No version information available, might be only in CVS)

Imagick::reduceNoiseImage -- Smooths the contours of an image

설명

bool Imagick::reduceNoiseImage ( float $radius )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Imagick::reduceNoiseImage() selects a suitable radius for you.

매개변수

radius

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::readImage | 처음으로 | Imagick::removeImageProfile


Imagick::removeImage

(No version information available, might be only in CVS)

Imagick::removeImage -- Removes an image from the image list

설명

bool Imagick::removeImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Removes an image from the image list.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::removeImageProfile | 처음으로 | Imagick::render


Imagick::removeImageProfile

(No version information available, might be only in CVS)

Imagick::removeImageProfile -- Removes the named image profile and returns it

설명

string Imagick::removeImageProfile ( string $name )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Removes the named image profile and returns it.

매개변수

name

반환값

Returns a string containing the profile of the image, throwing ImagickException on error.

이전 | 위로 | 다음
Imagick::reduceNoiseImage | 처음으로 | Imagick::removeImage


Imagick::render

(No version information available, might be only in CVS)

Imagick::render -- Renders all preceding drawing commands

설명

bool Imagick::render ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Renders all preceding drawing commands.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::removeImage | 처음으로 | Imagick::resampleImage


Imagick::resampleImage

(No version information available, might be only in CVS)

Imagick::resampleImage -- Resample image to desired resolution

설명

bool Imagick::resampleImage ( float $x_resolution, float $y_resolution, int $filter, float $blur )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Resample image to desired resolution.

매개변수

x_resolution

y_resolution

filter

blur

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::render | 처음으로 | Imagick::resizeImage


Imagick::resizeImage

(No version information available, might be only in CVS)

Imagick::resizeImage -- Scales an image

설명

bool Imagick::resizeImage ( float $columns, float $rows, int $filter, float $blur )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Scales an image to the desired dimensions with a filter.

매개변수

columns

rows

filter

blur

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::resampleImage | 처음으로 | Imagick::rollImage


Imagick::rollImage

(No version information available, might be only in CVS)

Imagick::rollImage -- Offsets an image

설명

bool Imagick::rollImage ( int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Offsets an image as defined by x and y.

매개변수

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::resizeImage | 처음으로 | Imagick::rotateImage


Imagick::rotateImage

(No version information available, might be only in CVS)

Imagick::rotateImage -- Rotates an image

설명

bool Imagick::rotateImage ( ImagickPixel $background, float $degrees )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

매개변수

background

degrees

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::rollImage | 처음으로 | Imagick::sampleImage


Imagick::roundCorners

(No version information available, might be only in CVS)

Imagick::roundCorners -- Rounds image corners

설명

bool Imagick::roundCorners ( float $x_rounding, float $y_rounding [, float $stroke_width [, float $displace [, float $size_correction]]] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Rounds image corners. Three last parameters are optional and rarely needed.

매개변수

x_rounding

x rounding

y_rounding

y rounding

stroke_width

stroke width

displace

image displace

size_correction

sise correction

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::cropThumbnailImage | 처음으로 | Imagick::polaroidImage


Imagick::sampleImage

(No version information available, might be only in CVS)

Imagick::sampleImage -- Scales an image with pixel sampling

설명

bool Imagick::sampleImage ( int $columns, int $rows )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Scales an image to the desired dimensions with pixel sampling. Unlike other scaling methods, this method does not introduce any additional color into the scaled image.

매개변수

columns

rows

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::rotateImage | 처음으로 | Imagick::scaleImage


Imagick::scaleImage

(No version information available, might be only in CVS)

Imagick::scaleImage -- Scales the size of an image

설명

bool Imagick::scaleImage ( int $cols, int $rows )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

매개변수

cols

rows

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::sampleImage | 처음으로 | Imagick::separateImageChannel


Imagick::separateImageChannel

(No version information available, might be only in CVS)

Imagick::separateImageChannel -- Separates a channel from the image

설명

bool Imagick::separateImageChannel ( int $channel )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

매개변수

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::scaleImage | 처음으로 | Imagick::sepiaToneImage


Imagick::sepiaToneImage

(No version information available, might be only in CVS)

Imagick::sepiaToneImage -- Sepia tones an image

설명

bool Imagick::sepiaToneImage ( float $threshold )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the sepia toning. A threshold of 80 is a good starting point for a reasonable tone.

매개변수

threshold

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::separateImageChannel | 처음으로 | Imagick::setBackgroundColor


Imagick::setBackgroundColor

(No version information available, might be only in CVS)

Imagick::setBackgroundColor -- Sets the object's default background color

설명

bool Imagick::setBackgroundColor ( ImagickPixel $background )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the object's default background color.

매개변수

background

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::sepiaToneImage | 처음으로 | Imagick::setCompressionQuality


Imagick::setCompression

(No version information available, might be only in CVS)

Imagick::setCompression -- Sets the object's default compression type

설명

bool Imagick::setCompression ( int $compression )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the object's default compression type

매개변수

compression

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setCompressionQuality | 처음으로 | Imagick::setFilename


Imagick::setCompressionQuality

(No version information available, might be only in CVS)

Imagick::setCompressionQuality -- Sets the object's default compression quality

설명

bool Imagick::setCompressionQuality ( int $quality )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the object's default compression quality.

매개변수

quality

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setBackgroundColor | 처음으로 | Imagick::setCompression


Imagick::setFilename

(No version information available, might be only in CVS)

Imagick::setFilename -- Sets the filename before you read or write the image

설명

bool Imagick::setFilename ( string $filename )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the filename before you read or write an image file.

매개변수

filename

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setCompression | 처음으로 | Imagick::setFirstIterator


Imagick::setFirstIterator

(No version information available, might be only in CVS)

Imagick::setFirstIterator -- Sets the Imagick iterator to the first image

설명

bool Imagick::setFirstIterator ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the Imagick iterator to the first image.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setFilename | 처음으로 | Imagick::setLastIterator


Imagick::setFormat

(No version information available, might be only in CVS)

Imagick::setFormat -- Sets the format of the Imagick object

설명

bool Imagick::setFormat ( string $format )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the format of the Imagick object.

매개변수

format

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setLastIterator | 처음으로 | Imagick::setImageBackgroundColor


Imagick::setImage

(No version information available, might be only in CVS)

Imagick::setImage -- Replaces image in the object

설명

bool Imagick::setImage ( Imagick $replace )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Replaces the current image sequence with the image from replace object.

매개변수

replace

The replace Imagick object

반환값

성공시에 TRUE를 반환합니다.

예제

예 939. A Imagick::setImage() example

An example of using Imagick::setImage()

<?php
/* Create the objects */
$image = new Imagick('source.jpg');
$replace = new Imagick('replace.jpg');

/* source.jpg is replaced with replace.jpg */
$image->setImage($replace);

/* output the image */
header('Content-type: image/jpeg');
echo $image;

?>

이전 | 위로 | 다음
Imagick::newImage | 처음으로 | Imagick::setImageOpacity


Imagick::setImageBackgroundColor

(No version information available, might be only in CVS)

Imagick::setImageBackgroundColor -- Sets the image background color

설명

bool Imagick::setImageBackgroundColor ( ImagickPixel $background )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image background color.

매개변수

background

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setFormat | 처음으로 | Imagick::setImageBias


Imagick::setImageBias

(No version information available, might be only in CVS)

Imagick::setImageBias -- Sets the image bias for any method that convolves an image

설명

bool Imagick::setImageBias ( float $bias )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image bias for any method that convolves an image (e.g. Imagick::ConvolveImage()).

매개변수

bias

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageBackgroundColor | 처음으로 | Imagick::setImageBluePrimary


Imagick::setImageBluePrimary

(No version information available, might be only in CVS)

Imagick::setImageBluePrimary -- Sets the image chromaticity blue primary point

설명

bool Imagick::setImageBluePrimary ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image chromaticity blue primary point.

매개변수

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageBias | 처음으로 | Imagick::setImageBorderColor


Imagick::setImageBorderColor

(No version information available, might be only in CVS)

Imagick::setImageBorderColor -- Sets the image border color

설명

bool Imagick::setImageBorderColor ( ImagickPixel $border )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image border color.

매개변수

border

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageBluePrimary | 처음으로 | Imagick::setImageChannelDepth


Imagick::setImageChannelDepth

(No version information available, might be only in CVS)

Imagick::setImageChannelDepth -- Sets the depth of a particular image channel

설명

bool Imagick::setImageChannelDepth ( int $channel, int $depth )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the depth of a particular image channel.

매개변수

channel

depth

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageBorderColor | 처음으로 | Imagick::setImageColormapColor


Imagick::setImageColormapColor

(No version information available, might be only in CVS)

Imagick::setImageColormapColor -- Sets the color of the specified colormap index

설명

bool Imagick::setImageColormapColor ( int $index, ImagickPixel $color )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the color of the specified colormap index.

매개변수

index

color

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageChannelDepth | 처음으로 | Imagick::setImageColorspace


Imagick::setImageColorspace

(No version information available, might be only in CVS)

Imagick::setImageColorspace -- Sets the image colorspace

설명

bool Imagick::setImageColorspace ( int $colorspace )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image colorspace.

매개변수

colorspace

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageColormapColor | 처음으로 | Imagick::setImageCompose


Imagick::setImageCompose

(No version information available, might be only in CVS)

Imagick::setImageCompose -- Sets the image composite operator

설명

bool Imagick::setImageCompose ( int $compose )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image composite operator, useful for specifying how to composite the image thumbnail when using the Imagick::montageImage() method.

매개변수

compose

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageColorspace | 처음으로 | Imagick::setImageCompression


Imagick::setImageCompression

(No version information available, might be only in CVS)

Imagick::setImageCompression -- Sets the image compression

설명

bool Imagick::setImageCompression ( int $compression )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image compression.

매개변수

compression

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageCompose | 처음으로 | Imagick::setImageDelay


Imagick::setImageDelay

(No version information available, might be only in CVS)

Imagick::setImageDelay -- Sets the image delay

설명

bool Imagick::setImageDelay ( int $delay )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image delay.

매개변수

delay

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageCompression | 처음으로 | Imagick::setImageDepth


Imagick::setImageDepth

(No version information available, might be only in CVS)

Imagick::setImageDepth -- Sets the image depth

설명

bool Imagick::setImageDepth ( int $depth )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image depth.

매개변수

depth

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageDelay | 처음으로 | Imagick::setImageDispose


Imagick::setImageDispose

(No version information available, might be only in CVS)

Imagick::setImageDispose -- Sets the image disposal method

설명

bool Imagick::setImageDispose ( int $dispose )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image disposal method.

매개변수

dispose

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageDepth | 처음으로 | Imagick::setImageExtent


Imagick::setImageExtent

(No version information available, might be only in CVS)

Imagick::setImageExtent -- Sets the image size

설명

bool Imagick::setImageExtent ( int $columns, int $rows )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image size (i.e. columns & rows).

매개변수

columns

rows

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageDispose | 처음으로 | Imagick::setImageFilename


Imagick::setImageFilename

(No version information available, might be only in CVS)

Imagick::setImageFilename -- Sets the filename of a particular image

설명

bool Imagick::setImageFilename ( string $filename )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the filename of a particular image in a sequence.

매개변수

filename

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageExtent | 처음으로 | Imagick::setImageFormat


Imagick::setImageFormat

(No version information available, might be only in CVS)

Imagick::setImageFormat -- Sets the format of a particular image

설명

bool Imagick::setImageFormat ( string $format )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the format of a particular image in a sequence.

매개변수

format

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageFilename | 처음으로 | Imagick::setImageGamma


Imagick::setImageGamma

(No version information available, might be only in CVS)

Imagick::setImageGamma -- Sets the image gamma

설명

bool Imagick::setImageGamma ( float $gamma )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image gamma.

매개변수

gamma

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageFormat | 처음으로 | Imagick::setImageGreenPrimary


Imagick::setImageGreenPrimary

(No version information available, might be only in CVS)

Imagick::setImageGreenPrimary -- Sets the image chromaticity green primary point

설명

bool Imagick::setImageGreenPrimary ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image chromaticity green primary point.

매개변수

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageGamma | 처음으로 | Imagick::setImageIndex


Imagick::setImageIndex

(No version information available, might be only in CVS)

Imagick::setImageIndex -- Set the iterator position

설명

bool Imagick::setImageIndex ( int $index )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Set the iterator to the position in the image list specified with the index parameter. This method has been deprecated. See Imagick::setIteratorIndex

매개변수

index

The position to set the iterator to

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageGreenPrimary | 처음으로 | Imagick::setIteratorIndex


Imagick::setImageInterlaceScheme

(No version information available, might be only in CVS)

Imagick::setImageInterlaceScheme -- Sets the image compression

설명

bool Imagick::setImageInterlaceScheme ( int $interlace_scheme )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image compression.

매개변수

interlace_scheme

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setIteratorIndex | 처음으로 | Imagick::setImageInterpolateMethod


Imagick::setImageInterpolateMethod

(No version information available, might be only in CVS)

Imagick::setImageInterpolateMethod -- Sets the image interpolate pixel method

설명

bool Imagick::setImageInterpolateMethod ( int $method )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image interpolate pixel method.

매개변수

method

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageInterlaceScheme | 처음으로 | Imagick::setImageIterations


Imagick::setImageIterations

(No version information available, might be only in CVS)

Imagick::setImageIterations -- Sets the image iterations

설명

bool Imagick::setImageIterations ( int $iterations )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image iterations.

매개변수

iterations

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageInterpolateMethod | 처음으로 | Imagick::setImageMatteColor


Imagick::setImageMatte

(No version information available, might be only in CVS)

Imagick::setImageMatte -- Sets the image matte channel

설명

bool Imagick::setImageMatte ( bool $matte )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image matte channel.

매개변수

matte

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageMatteColor | 처음으로 | Imagick::setImagePage


Imagick::setImageMatteColor

(No version information available, might be only in CVS)

Imagick::setImageMatteColor -- Sets the image matte color

설명

bool Imagick::setImageMatteColor ( ImagickPixel $matte )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image matte color.

매개변수

matte

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageIterations | 처음으로 | Imagick::setImageMatte


Imagick::setImageOpacity

(No version information available, might be only in CVS)

Imagick::setImageOpacity -- Sets the image opacity level

설명

bool Imagick::setImageOpacity ( float $opacity )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image to the specified opacity level. This method is present if Imagick is compiled against ImageMagick 6.3.1 or later.

매개변수

opacity

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

반환값

성공시에 TRUE를 반환합니다.

예제

예 940. A Imagick::setImageOpacity() example

An example of using Imagick::setImageOpacity()

<?php
/* Create the object */
$image = new Imagick('source.png');

/* Set the opacity */
$image->setImageOpacity(0.7);

/* output the image */
header('Content-type: image/png');
echo $image;

?>

이전 | 위로 | 다음
Imagick::setImage | 처음으로 | Imagick::newPseudoImage


Imagick::setImageOrientation

(No version information available, might be only in CVS)

Imagick::setImageOrientation -- Sets the image orientation.

설명

bool Imagick::setImageOrientation ( int $orientation )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image orientation.

매개변수

orientation

One of the orientation constants

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setInterlaceScheme | 처음으로 | Imagick::setOption


Imagick::setImagePage

(No version information available, might be only in CVS)

Imagick::setImagePage -- Sets the page geometry of the image

설명

bool Imagick::setImagePage ( int $width, int $height, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the page geometry of the image.

매개변수

width

height

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageMatte | 처음으로 | Imagick::setImageProfile


Imagick::setImageProfile

(No version information available, might be only in CVS)

Imagick::setImageProfile -- Adds a named profile to the Imagick object

설명

bool Imagick::setImageProfile ( string $name, string $profile )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds a named profile to the Imagick object. If a profile with the same name already exists, it is replaced. This method differs from the Imagick::ProfileImage() method in that it does not apply any CMS color profiles.

매개변수

name

profile

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImagePage | 처음으로 | Imagick::setImageProperty


Imagick::setImageProperty

(No version information available, might be only in CVS)

Imagick::setImageProperty -- Sets an image property

설명

bool Imagick::setImageProperty ( string $name, string $value )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets a named property to the image.

매개변수

name

value

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageProfile | 처음으로 | Imagick::setImageRedPrimary


Imagick::setImageRedPrimary

(No version information available, might be only in CVS)

Imagick::setImageRedPrimary -- Sets the image chromaticity red primary point

설명

bool Imagick::setImageRedPrimary ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image chromaticity red primary point.

매개변수

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageProperty | 처음으로 | Imagick::setImageRenderingIntent


Imagick::setImageRenderingIntent

(No version information available, might be only in CVS)

Imagick::setImageRenderingIntent -- Sets the image rendering intent

설명

bool Imagick::setImageRenderingIntent ( int $rendering_intent )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image rendering intent.

매개변수

rendering_intent

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageRedPrimary | 처음으로 | Imagick::setImageResolution


Imagick::setImageResolution

(No version information available, might be only in CVS)

Imagick::setImageResolution -- Sets the image resolution

설명

bool Imagick::setImageResolution ( float $x_resolution, float $y_resolution )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image resolution.

매개변수

x_resolution

y_resolution

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageRenderingIntent | 처음으로 | Imagick::setImageScene


Imagick::setImageScene

(No version information available, might be only in CVS)

Imagick::setImageScene -- Sets the image scene

설명

bool Imagick::setImageScene ( int $scene )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image scene.

매개변수

scene

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageResolution | 처음으로 | Imagick::setImageTicksPerSecond


Imagick::setImageTicksPerSecond

(No version information available, might be only in CVS)

Imagick::setImageTicksPerSecond -- Sets the image ticks-per-second

설명

bool Imagick::setImageTicksPerSecond ( int $ticks_per-second )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image ticks-per-second.

매개변수

ticks_per-second

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageScene | 처음으로 | Imagick::setImageType


Imagick::setImageType

(No version information available, might be only in CVS)

Imagick::setImageType -- Sets the image type

설명

bool Imagick::setImageType ( int $image_type )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image type.

매개변수

image_type

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageTicksPerSecond | 처음으로 | Imagick::setImageUnits


Imagick::setImageUnits

(No version information available, might be only in CVS)

Imagick::setImageUnits -- Sets the image units of resolution

설명

bool Imagick::setImageUnits ( int $units )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image units of resolution.

매개변수

units

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageType | 처음으로 | Imagick::setImageVirtualPixelMethod


Imagick::setImageVirtualPixelMethod

(No version information available, might be only in CVS)

Imagick::setImageVirtualPixelMethod -- Sets the image virtual pixel method

설명

bool Imagick::setImageVirtualPixelMethod ( int $method )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image virtual pixel method.

매개변수

method

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageUnits | 처음으로 | Imagick::setImageWhitePoint


Imagick::setImageWhitePoint

(No version information available, might be only in CVS)

Imagick::setImageWhitePoint -- Sets the image chromaticity white point

설명

bool Imagick::setImageWhitePoint ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image chromaticity white point.

매개변수

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageVirtualPixelMethod | 처음으로 | Imagick::setInterlaceScheme


Imagick::setInterlaceScheme

(No version information available, might be only in CVS)

Imagick::setInterlaceScheme -- Sets the image compression

설명

bool Imagick::setInterlaceScheme ( int $interlace_scheme )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image compression.

매개변수

interlace_scheme

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageWhitePoint | 처음으로 | Imagick::setImageOrientation


Imagick::setIteratorIndex

(No version information available, might be only in CVS)

Imagick::setIteratorIndex -- Set the iterator position

설명

bool Imagick::setIteratorIndex ( int $index )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Set the iterator to the position in the image list specified with the index parameter

매개변수

index

The position to set the iterator to

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageIndex | 처음으로 | Imagick::setImageInterlaceScheme


Imagick::setLastIterator

(No version information available, might be only in CVS)

Imagick::setLastIterator -- Sets the Imagick iterator to the last image

설명

bool Imagick::setLastIterator ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the Imagick iterator to the last image.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setFirstIterator | 처음으로 | Imagick::setFormat


Imagick::setOption

(No version information available, might be only in CVS)

Imagick::setOption -- Set an option

설명

bool Imagick::setOption ( string $key, string $value )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Associates one or options with the wand.

매개변수

key

value

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setImageOrientation | 처음으로 | Imagick::setPage


Imagick::setPage

(No version information available, might be only in CVS)

Imagick::setPage -- Sets the page geometry of the Imagick object

설명

bool Imagick::setPage ( int $width, int $height, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the page geometry of the Imagick object.

매개변수

width

height

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setOption | 처음으로 | Imagick::setResolution


Imagick::setResolution

(No version information available, might be only in CVS)

Imagick::setResolution -- Sets the image resolution

설명

bool Imagick::setResolution ( float $x_resolution, float $y_resolution )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image resolution.

매개변수

x_resolution

y_resolution

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setPage | 처음으로 | Imagick::setResourceLimit


Imagick::setResourceLimit

(No version information available, might be only in CVS)

Imagick::setResourceLimit -- Sets the limit for a particular resource in megabytes

설명

bool Imagick::setResourceLimit ( int $type, int $limit )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the limit for a particular resource in megabytes.

매개변수

type

limit

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setResolution | 처음으로 | Imagick::setSamplingFactors


Imagick::setSamplingFactors

(No version information available, might be only in CVS)

Imagick::setSamplingFactors -- Sets the image sampling factors

설명

bool Imagick::setSamplingFactors ( array $factors )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image sampling factors.

매개변수

factors

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setResourceLimit | 처음으로 | Imagick::setSizeOffset


Imagick::setSize

(No version information available, might be only in CVS)

Imagick::setSize -- Sets the size of the Imagick object

설명

bool Imagick::setSize ( int $columns, int $rows )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the size of the Imagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK.

매개변수

columns

rows

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setSizeOffset | 처음으로 | Imagick::setType


Imagick::setSizeOffset

(No version information available, might be only in CVS)

Imagick::setSizeOffset -- Sets the size and offset of the Imagick object

설명

bool Imagick::setSizeOffset ( int $columns, int $rows, int $offset )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the size and offset of the Imagick object. Set it before you read a raw image format such as RGB, GRAY, or CMYK.

매개변수

columns

rows

offset

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setSamplingFactors | 처음으로 | Imagick::setSize


Imagick::setType

(No version information available, might be only in CVS)

Imagick::setType -- Sets the image type attribute

설명

bool Imagick::setType ( int $image_type )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the image type attribute.

매개변수

image_type

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setSize | 처음으로 | Imagick::shadeImage


Imagick::shadeImage

(No version information available, might be only in CVS)

Imagick::shadeImage -- Creates a 3D effect

설명

bool Imagick::shadeImage ( bool $gray, float $azimuth, float $elevation )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Shines a distant light on an image to create a three-dimensional effect. You control the positioning of the light with azimuth and elevation; azimuth is measured in degrees off the x axis and elevation is measured in pixels above the Z axis.

매개변수

gray

azimuth

elevation

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::setType | 처음으로 | Imagick::shadowImage


Imagick::shadowImage

(No version information available, might be only in CVS)

Imagick::shadowImage -- Simulates an image shadow

설명

bool Imagick::shadowImage ( float $opacity, float $sigma, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Simulates an image shadow.

매개변수

opacity

sigma

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::shadeImage | 처음으로 | Imagick::sharpenImage


Imagick::sharpenImage

(No version information available, might be only in CVS)

Imagick::sharpenImage -- Sharpens an image

설명

bool Imagick::sharpenImage ( float $radius, float $sigma [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and selects a suitable radius for you.

매개변수

radius

sigma

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::shadowImage | 처음으로 | Imagick::shaveImage


Imagick::shaveImage

(No version information available, might be only in CVS)

Imagick::shaveImage -- Shaves pixels from the image edges

설명

bool Imagick::shaveImage ( int $columns, int $rows )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Shaves pixels from the image edges. It allocates the memory necessary for the new Image structure and returns a pointer to the new image.

매개변수

columns

rows

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::sharpenImage | 처음으로 | Imagick::shearImage


Imagick::shearImage

(No version information available, might be only in CVS)

Imagick::shearImage -- Creating a parallelogram

설명

bool Imagick::shearImage ( ImagickPixel $background, float $x_shear, float $y_shear )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

매개변수

background

x_shear

y_shear

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::shaveImage | 처음으로 | Imagick::sigmoidalContrastImage


Imagick::sigmoidalContrastImage

(No version information available, might be only in CVS)

Imagick::sigmoidalContrastImage -- Adjusts the contrast of an image

설명

bool Imagick::sigmoidalContrastImage ( bool $sharpen, float $alpha, float $beta [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adjusts the contrast of an image with a non-linear sigmoidal contrast algorithm. Increase the contrast of the image using a sigmoidal transfer function without saturating highlights or shadows. Contrast indicates how much to increase the contrast (0 is none; 3 is typical; 20 is pushing it); mid-point indicates where midtones fall in the resultant image (0 is white; 50 is middle-gray; 100 is black). Set sharpen to true to increase the image contrast otherwise the contrast is reduced.

매개변수

sharpen

alpha

beta

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::shearImage | 처음으로 | Imagick::sketchImage


Imagick::sketchImage

(No version information available, might be only in CVS)

Imagick::sketchImage -- Simulates a pencil sketch

설명

bool Imagick::sketchImage ( float $radius, float $sigma, float $angle )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Simulates a pencil sketch. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Imagick::sketchImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

매개변수

radius

sigma

angle

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::sigmoidalContrastImage | 처음으로 | Imagick::solarizeImage


Imagick::solarizeImage

(No version information available, might be only in CVS)

Imagick::solarizeImage -- Applies a solarizing effect to the image

설명

bool Imagick::solarizeImage ( int $threshold )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

매개변수

threshold

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::sketchImage | 처음으로 | Imagick::spliceImage


Imagick::spliceImage

(No version information available, might be only in CVS)

Imagick::spliceImage -- Splices a solid color into the image

설명

bool Imagick::spliceImage ( int $width, int $height, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Splices a solid color into the image.

매개변수

width

height

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::solarizeImage | 처음으로 | Imagick::spreadImage


Imagick::spreadImage

(No version information available, might be only in CVS)

Imagick::spreadImage -- Randomly displaces each pixel in a block

설명

bool Imagick::spreadImage ( float $radius )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Special effects method that randomly displaces each pixel in a block defined by the radius parameter.

매개변수

radius

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::spliceImage | 처음으로 | Imagick::steganoImage


Imagick::steganoImage

(No version information available, might be only in CVS)

Imagick::steganoImage -- Hides a digital watermark within the image

설명

Imagick Imagick::steganoImage ( Imagick $watermark_wand, int $offset )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Hides a digital watermark within the image. Recover the hidden watermark later to prove that the authenticity of an image. Offset defines the start position within the image to hide the watermark.

매개변수

watermark_wand

offset

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::spreadImage | 처음으로 | Imagick::stereoImage


Imagick::stereoImage

(No version information available, might be only in CVS)

Imagick::stereoImage -- Composites two images

설명

bool Imagick::stereoImage ( Imagick $offset_wand )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Composites two images and produces a single image that is the composite of a left and right image of a stereo pair.

매개변수

offset_wand

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::steganoImage | 처음으로 | Imagick::stripImage


Imagick::stripImage

(No version information available, might be only in CVS)

Imagick::stripImage -- Strips an image of all profiles and comments

설명

bool Imagick::stripImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Strips an image of all profiles and comments.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::stereoImage | 처음으로 | Imagick::swirlImage


Imagick::swirlImage

(No version information available, might be only in CVS)

Imagick::swirlImage -- Swirls the pixels about the center of the image

설명

bool Imagick::swirlImage ( float $degrees )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

매개변수

degrees

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::stripImage | 처음으로 | Imagick::textureImage


Imagick::textureImage

(No version information available, might be only in CVS)

Imagick::textureImage -- Repeatedly tiles the texture image

설명

bool Imagick::textureImage ( Imagick $texture_wand )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Repeatedly tiles the texture image across and down the image canvas.

매개변수

texture_wand

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::swirlImage | 처음으로 | Imagick::thresholdImage


Imagick::thresholdImage

(No version information available, might be only in CVS)

Imagick::thresholdImage -- Changes the value of individual pixels based on a threshold

설명

bool Imagick::thresholdImage ( float $threshold [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image.

매개변수

threshold

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::textureImage | 처음으로 | Imagick::thumbnailImage


Imagick::thumbnailImage

(No version information available, might be only in CVS)

Imagick::thumbnailImage -- Changes the size of an image

설명

bool Imagick::thumbnailImage ( int $columns, int $rows [, bool $fit] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small low cost thumbnail images suited for display on the Web. If true is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until the match or are smaller than the parameter given for the side.

매개변수

columns

Image width

rows

Image height

fit

Whether to force maximum values

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::thresholdImage | 처음으로 | Imagick::tintImage


Imagick::tintImage

(No version information available, might be only in CVS)

Imagick::tintImage -- Applies a color vector to each pixel in the image

설명

bool Imagick::tintImage ( ImagickPixel $tint, ImagickPixel $opacity )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applies a color vector to each pixel in the image. The length of the vector is 0 for black and white and at its maximum for the midtones. The vector weighing function is f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).

매개변수

tint

opacity

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::thumbnailImage | 처음으로 | Imagick::transverseImage


Imagick::transverseImage

(No version information available, might be only in CVS)

Imagick::transverseImage -- Creates a horizontal mirror image

설명

bool Imagick::transverseImage ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a horizontal mirror image by reflecting the pixels around the central y-axis while rotating them 270-degrees.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::tintImage | 처음으로 | Imagick::trimImage


Imagick::trimImage

(No version information available, might be only in CVS)

Imagick::trimImage -- Remove edges from the image

설명

bool Imagick::trimImage ( float $fuzz )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Remove edges that are the background color from the image.

매개변수

fuzz

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::transverseImage | 처음으로 | Imagick::uniqueImageColors


Imagick::uniqueImageColors

(No version information available, might be only in CVS)

Imagick::uniqueImageColors -- Discards all but one of any pixel color

설명

bool Imagick::uniqueImageColors ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Discards all but one of any pixel color.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::trimImage | 처음으로 | Imagick::unsharpMaskImage


Imagick::unsharpMaskImage

(No version information available, might be only in CVS)

Imagick::unsharpMaskImage -- Sharpens an image

설명

bool Imagick::unsharpMaskImage ( float $radius, float $sigma, float $amount, float $threshold [, int $channel] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sharpens an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Imagick::UnsharpMaskImage() selects a suitable radius for you.

매개변수

radius

sigma

amount

threshold

channel

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::uniqueImageColors | 처음으로 | Imagick::valid


Imagick::valid

(No version information available, might be only in CVS)

Imagick::valid -- Checks if the current item is valid

설명

bool Imagick::valid ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Checks if the current item is valid.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::unsharpMaskImage | 처음으로 | Imagick::vignetteImage


Imagick::vignetteImage

(No version information available, might be only in CVS)

Imagick::vignetteImage -- Adds vignette filter to the image

설명

bool Imagick::vignetteImage ( float $blackPoint, float $whitePoint, int $x, int $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds vignette filter to the image.

매개변수

blackPoint

whitePoint

x

y

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::valid | 처음으로 | Imagick::waveImage


Imagick::waveImage

(No version information available, might be only in CVS)

Imagick::waveImage -- Adds wave filter to the image

설명

bool Imagick::waveImage ( float $amplitude, float $length )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds wave filter to the image.

매개변수

amplitude

length

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::vignetteImage | 처음으로 | Imagick::whiteThresholdImage


Imagick::whiteThresholdImage

(No version information available, might be only in CVS)

Imagick::whiteThresholdImage -- Force all pixels above the threshold into white

설명

bool Imagick::whiteThresholdImage ( ImagickPixel $threshold )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Is like Imagick::ThresholdImage() but force all pixels above the threshold into white while leaving all pixels below the threshold unchanged.

매개변수

threshold

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::waveImage | 처음으로 | Imagick::writeImages


Imagick::writeImage

(No version information available, might be only in CVS)

Imagick::writeImage -- Writes an image to the specified filename

설명

bool Imagick::writeImage ( [string $filename] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Writes an image to the specified filename. If the filename parameter is NULL, the image is written to the filename set by Imagick::ReadImage() or Imagick::SetImageFilename().

매개변수

filename

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::writeImages | 처음으로 | Imagick::displayImage


Imagick::writeImages

(No version information available, might be only in CVS)

Imagick::writeImages -- Writes an image or image sequence

설명

bool Imagick::writeImages ( string $filename, bool $adjoin )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Writes an image or image sequence.

매개변수

filename

adjoin

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
Imagick::whiteThresholdImage | 처음으로 | Imagick::writeImage


ImagickDraw::affine

(No version information available, might be only in CVS)

ImagickDraw::affine -- Adjusts the current affine transformation matrix

설명

bool ImagickDraw::affine ( array $affine )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adjusts the current affine transformation matrix with the specified affine transformation matrix.

매개변수

affine

Affine matrix parameters

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
Imagick::queryFontMetrics | 처음으로 | ImagickDraw::annotation


ImagickDraw::annotation

(No version information available, might be only in CVS)

ImagickDraw::annotation -- Draws text on the image

설명

bool ImagickDraw::annotation ( float $x, float $y, string $text )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws text on the image.

매개변수

x

The x coordinate where text is drawn

y

The y coordinate where text is drawn

text

The text to draw on the image

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::affine | 처음으로 | ImagickDraw::arc


ImagickDraw::arc

(No version information available, might be only in CVS)

ImagickDraw::arc -- Draws an arc

설명

bool ImagickDraw::arc ( float $sx, float $sy, float $ex, float $ey, float $sd, float $ed )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws an arc falling within a specified bounding rectangle on the image.

매개변수

sx

Starting x ordinate of bounding rectangle

sy

starting y ordinate of bounding rectangle

ex

ending x ordinate of bounding rectangle

ey

ending y ordinate of bounding rectangle

sd

starting degrees of rotation

ed

ending degrees of rotation

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::annotation | 처음으로 | ImagickDraw::bezier


ImagickDraw::bezier

(No version information available, might be only in CVS)

ImagickDraw::bezier -- Draws a bezier curve

설명

bool ImagickDraw::bezier ( array $coordinates )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a bezier curve through a set of points on the image.

매개변수

coordinates

Multidimensional array like array( array( 'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::arc | 처음으로 | ImagickDraw::circle


ImagickDraw::circle

(No version information available, might be only in CVS)

ImagickDraw::circle -- Draws a circle

설명

bool ImagickDraw::circle ( float $ox, float $oy, float $px, float $py )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a circle on the image.

매개변수

ox

origin x coordinate

oy

origin y coordinate

px

perimeter x coordinate

py

perimeter y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::bezier | 처음으로 | ImagickDraw::clear


ImagickDraw::clear

(No version information available, might be only in CVS)

ImagickDraw::clear -- Clears the ImagickDraw

설명

bool ImagickDraw::clear ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Clears the ImagickDraw object of any accumulated commands, and resets the settings it contains to their defaults.

매개변수

반환값

Returns an ImagickDraw object.

이전 | 위로 | 다음
ImagickDraw::circle | 처음으로 | ImagickDraw::clone


ImagickDraw::clone

(No version information available, might be only in CVS)

ImagickDraw::clone -- Makes an exact copy of the specified ImagickDraw object

설명

ImagickDraw ImagickDraw::clone ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Makes an exact copy of the specified ImagickDraw object.

매개변수

반환값

What the function returns, first on success, then on failure. See also the &return.success; entity

이전 | 위로 | 다음
ImagickDraw::clear | 처음으로 | ImagickDraw::color


ImagickDraw::color

(No version information available, might be only in CVS)

ImagickDraw::color -- Draws color on image

설명

bool ImagickDraw::color ( float $x, float $y, int $paintMethod )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws color on image using the current fill color, starting at specified position, and using specified paint method.

매개변수

x

x coordinate of the paint

y

y coordinate of the paint

paintMethod

one of the PAINT_ constants

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::clone | 처음으로 | ImagickDraw::comment


ImagickDraw::comment

(No version information available, might be only in CVS)

ImagickDraw::comment -- Adds a comment

설명

bool ImagickDraw::comment ( string $comment )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds a comment to a vector output stream.

매개변수

comment

The comment string to add to vector output stream

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::color | 처음으로 | ImagickDraw::composite


ImagickDraw::composite

(No version information available, might be only in CVS)

ImagickDraw::composite -- Composites an image onto the current image

설명

bool ImagickDraw::composite ( int $compose, float $x, float $y, float $width, float $height, Imagick $compositeWand )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Composites an image onto the current image, using the specified composition operator, specified position, and at the specified size.

매개변수

compose

composition operator. One of COMPOSITE_ constants

x

x coordinate of the top left corner

y

y coordinate of the top left corner

width

width of the composition image

height

height of the composition image

compositeWand

the Imagick object where composition image is taken from

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickDraw::comment | 처음으로 | ImagickDraw::__construct


ImagickDraw::__construct

(No version information available, might be only in CVS)

ImagickDraw::__construct -- The ImagickDraw constructor

설명

ImagickDraw ImagickDraw::__construct ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

The ImagickDraw constructor

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::composite | 처음으로 | ImagickDraw::destroy


ImagickDraw::destroy

(No version information available, might be only in CVS)

ImagickDraw::destroy -- Frees all associated resources

설명

bool ImagickDraw::destroy ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Frees all resources associated with the ImagickDraw object.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::__construct | 처음으로 | ImagickDraw::ellipse


ImagickDraw::ellipse

(No version information available, might be only in CVS)

ImagickDraw::ellipse -- Draws an ellipse on the image

설명

bool ImagickDraw::ellipse ( float $ox, float $oy, float $rx, float $ry, float $start, float $end )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws an ellipse on the image.

매개변수

ox

oy

rx

ry

start

end

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::destroy | 처음으로 | ImagickDraw::getClipPath


ImagickDraw::getClipPath

(No version information available, might be only in CVS)

ImagickDraw::getClipPath -- Obtains the current clipping path ID

설명

string ImagickDraw::getClipPath ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Obtains the current clipping path ID.

매개변수

반환값

Returns a string containing the clip path ID or false if no clip path exists.

이전 | 위로 | 다음
ImagickDraw::ellipse | 처음으로 | ImagickDraw::getClipRule


ImagickDraw::getClipRule

(No version information available, might be only in CVS)

ImagickDraw::getClipRule -- Returns the current polygon fill rule

설명

int ImagickDraw::getClipRule ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the current polygon fill rule to be used by the clipping path.

매개변수

반환값

Returns one of the FILLRULE_ constants.

이전 | 위로 | 다음
ImagickDraw::getClipPath | 처음으로 | ImagickDraw::getClipUnits


ImagickDraw::getClipUnits

(No version information available, might be only in CVS)

ImagickDraw::getClipUnits -- Returns the interpretation of clip path units

설명

int ImagickDraw::getClipUnits ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the interpretation of clip path units.

매개변수

반환값

Returns an int on success.

이전 | 위로 | 다음
ImagickDraw::getClipRule | 처음으로 | ImagickDraw::getFillColor


ImagickDraw::getFillColor

(No version information available, might be only in CVS)

ImagickDraw::getFillColor -- Returns the fill color

설명

ImagickPixel ImagickDraw::getFillColor ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the fill color used for drawing filled objects.

매개변수

반환값

Returns an ImagickPixel object.

이전 | 위로 | 다음
ImagickDraw::getClipUnits | 처음으로 | ImagickDraw::getFillOpacity


ImagickDraw::getFillOpacity

(No version information available, might be only in CVS)

ImagickDraw::getFillOpacity -- Returns the opacity used when drawing

설명

float ImagickDraw::getFillOpacity ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the opacity used when drawing using the fill color or fill texture. Fully opaque is 1.0.

매개변수

반환값

What the function returns, first on success, then on failure. See also the &return.success; entity

이전 | 위로 | 다음
ImagickDraw::getFillColor | 처음으로 | ImagickDraw::getFillRule


ImagickDraw::getFillRule

(No version information available, might be only in CVS)

ImagickDraw::getFillRule -- Returns the fill rule

설명

int ImagickDraw::getFillRule ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the fill rule used while drawing polygons.

매개변수

반환값

Returns a FILLRULE_ constant

이전 | 위로 | 다음
ImagickDraw::getFillOpacity | 처음으로 | ImagickDraw::getFontFamily


ImagickDraw::getFont

(No version information available, might be only in CVS)

ImagickDraw::getFont -- Returns the font

설명

string ImagickDraw::getFont ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a string specifying the font used when annotating with text.

매개변수

반환값

Returns a string on success and false if no font is set.

이전 | 위로 | 다음
ImagickDraw::getFontWeight | 처음으로 | ImagickDraw::getGravity


ImagickDraw::getFontFamily

(No version information available, might be only in CVS)

ImagickDraw::getFontFamily -- Returns the font family

설명

string ImagickDraw::getFontFamily ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the font family to use when annotating with text.

매개변수

반환값

Returns the font family currently selected or false if font family is not set.

이전 | 위로 | 다음
ImagickDraw::getFillRule | 처음으로 | ImagickDraw::getFontSize


ImagickDraw::getFontSize

(No version information available, might be only in CVS)

ImagickDraw::getFontSize -- Returns the font pointsize

설명

float ImagickDraw::getFontSize ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the font pointsize used when annotating with text.

매개변수

반환값

Returns the font size associated with the current ImagickDraw object.

이전 | 위로 | 다음
ImagickDraw::getFontFamily | 처음으로 | ImagickDraw::getFontStyle


ImagickDraw::getFontStyle

(No version information available, might be only in CVS)

ImagickDraw::getFontStyle -- Returns the font style

설명

int ImagickDraw::getFontStyle ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the font style used when annotating with text.

매개변수

반환값

Returns the font style constant (STYLE_) associated with the ImagickDraw object or 0 if no style is set.

이전 | 위로 | 다음
ImagickDraw::getFontSize | 처음으로 | ImagickDraw::getFontWeight


ImagickDraw::getFontWeight

(No version information available, might be only in CVS)

ImagickDraw::getFontWeight -- Returns the font weight

설명

int ImagickDraw::getFontWeight ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the font weight used when annotating with text.

매개변수

반환값

Returns an int on success and 0 if no weight is set.

이전 | 위로 | 다음
ImagickDraw::getFontStyle | 처음으로 | ImagickDraw::getFont


ImagickDraw::getGravity

(No version information available, might be only in CVS)

ImagickDraw::getGravity -- Returns the text placement gravity

설명

int ImagickDraw::getGravity ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the text placement gravity used when annotating with text.

매개변수

반환값

Returns a GRAVITY_ constant on success and 0 if no gravity is set.

이전 | 위로 | 다음
ImagickDraw::getFont | 처음으로 | ImagickDraw::getStrokeAntialias


ImagickDraw::getStrokeAntialias

(No version information available, might be only in CVS)

ImagickDraw::getStrokeAntialias -- Returns the current stroke antialias setting

설명

bool ImagickDraw::getStrokeAntialias ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the current stroke antialias setting. Stroked outlines are antialiased by default. When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color or underlying canvas color should be used.

매개변수

반환값

Returns true if antialiasing is on and false if it is off.

이전 | 위로 | 다음
ImagickDraw::getGravity | 처음으로 | ImagickDraw::getStrokeColor


ImagickDraw::getStrokeColor

(No version information available, might be only in CVS)

ImagickDraw::getStrokeColor -- Returns the color used for stroking object outlines

설명

ImagickPixel ImagickDraw::getStrokeColor ( ImagickPixel $stroke_color )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the color used for stroking object outlines.

매개변수

stroke_color

반환값

Returns an ImagickPixel object which describes the color.

이전 | 위로 | 다음
ImagickDraw::getStrokeAntialias | 처음으로 | ImagickDraw::getStrokeDashArray


ImagickDraw::getStrokeDashArray

(No version information available, might be only in CVS)

ImagickDraw::getStrokeDashArray -- Returns an array representing the pattern of dashes and gaps used to stroke paths

설명

array ImagickDraw::getStrokeDashArray ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns an array representing the pattern of dashes and gaps used to stroke paths.

매개변수

반환값

Returns an array on success and empty array if not set.

이전 | 위로 | 다음
ImagickDraw::getStrokeColor | 처음으로 | ImagickDraw::getStrokeDashOffset


ImagickDraw::getStrokeDashOffset

(No version information available, might be only in CVS)

ImagickDraw::getStrokeDashOffset -- Returns the offset into the dash pattern to start the dash

설명

float ImagickDraw::getStrokeDashOffset ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the offset into the dash pattern to start the dash.

매개변수

반환값

Returns a float representing the offset and 0 if it's not set.

이전 | 위로 | 다음
ImagickDraw::getStrokeDashArray | 처음으로 | ImagickDraw::getStrokeLineCap


ImagickDraw::getStrokeLineCap

(No version information available, might be only in CVS)

ImagickDraw::getStrokeLineCap -- Returns the shape to be used at the end of open subpaths when they are stroked

설명

int ImagickDraw::getStrokeLineCap ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the shape to be used at the end of open subpaths when they are stroked.

매개변수

반환값

Returns one of the LINECAP_ constants or 0 if stroke linecap is not set.

이전 | 위로 | 다음
ImagickDraw::getStrokeDashOffset | 처음으로 | ImagickDraw::getStrokeLineJoin


ImagickDraw::getStrokeLineJoin

(No version information available, might be only in CVS)

ImagickDraw::getStrokeLineJoin -- Returns the shape to be used at the corners of paths when they are stroked

설명

int ImagickDraw::getStrokeLineJoin ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the shape to be used at the corners of paths (or other vector shapes) when they are stroked.

매개변수

반환값

Returns one of the LINEJOIN_ constants or 0 if stroke line join is not set.

이전 | 위로 | 다음
ImagickDraw::getStrokeLineCap | 처음으로 | ImagickDraw::getStrokeMiterLimit


ImagickDraw::getStrokeMiterLimit

(No version information available, might be only in CVS)

ImagickDraw::getStrokeMiterLimit -- Returns the stroke miter limit

설명

int ImagickDraw::getStrokeMiterLimit ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the miter limit. When two line segments meet at a sharp angle and miter joins have been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path. The miterLimit' imposes a limit on the ratio of the miter length to the 'lineWidth'.

매개변수

반환값

Returns an int describing the miter limit and 0 if no miter limit is set.

이전 | 위로 | 다음
ImagickDraw::getStrokeLineJoin | 처음으로 | ImagickDraw::getStrokeOpacity


ImagickDraw::getStrokeOpacity

(No version information available, might be only in CVS)

ImagickDraw::getStrokeOpacity -- Returns the opacity of stroked object outlines

설명

float ImagickDraw::getStrokeOpacity ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the opacity of stroked object outlines.

매개변수

반환값

Returns a double describing the opacity.

이전 | 위로 | 다음
ImagickDraw::getStrokeMiterLimit | 처음으로 | ImagickDraw::getStrokeWidth


ImagickDraw::getStrokeWidth

(No version information available, might be only in CVS)

ImagickDraw::getStrokeWidth -- Returns the width of the stroke used to draw object outlines

설명

float ImagickDraw::getStrokeWidth ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the width of the stroke used to draw object outlines.

매개변수

반환값

Returns a double describing the stroke width.

이전 | 위로 | 다음
ImagickDraw::getStrokeOpacity | 처음으로 | ImagickDraw::getTextAlignment


ImagickDraw::getTextAlignment

(No version information available, might be only in CVS)

ImagickDraw::getTextAlignment -- Returns the text alignment

설명

int ImagickDraw::getTextAlignment ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the alignment applied when annotating with text.

매개변수

반환값

Returns one of the ALIGN_ constants and 0 if no align is set.

이전 | 위로 | 다음
ImagickDraw::getStrokeWidth | 처음으로 | ImagickDraw::getTextAntialias


ImagickDraw::getTextAntialias

(No version information available, might be only in CVS)

ImagickDraw::getTextAntialias -- Returns the current text antialias setting

설명

bool ImagickDraw::getTextAntialias ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the current text antialias setting, which determines whether text is antialiased. Text is antialiased by default.

매개변수

반환값

Returns true if text is antialiased and false if not.

이전 | 위로 | 다음
ImagickDraw::getTextAlignment | 처음으로 | ImagickDraw::getTextDecoration


ImagickDraw::getTextDecoration

(No version information available, might be only in CVS)

ImagickDraw::getTextDecoration -- Returns the text decoration

설명

int ImagickDraw::getTextDecoration ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the decoration applied when annotating with text.

매개변수

반환값

Returns one of the DECORATION_ constants and 0 if no decoration is set.

이전 | 위로 | 다음
ImagickDraw::getTextAntialias | 처음으로 | ImagickDraw::getTextEncoding


ImagickDraw::getTextEncoding

(No version information available, might be only in CVS)

ImagickDraw::getTextEncoding -- Returns the code set used for text annotations

설명

string ImagickDraw::getTextEncoding ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a string which specifies the code set used for text annotations.

매개변수

반환값

Returns a string specifying the code set or false if text encoding is not set.

이전 | 위로 | 다음
ImagickDraw::getTextDecoration | 처음으로 | ImagickDraw::getTextUnderColor


ImagickDraw::getTextUnderColor

(No version information available, might be only in CVS)

ImagickDraw::getTextUnderColor -- Returns the text under color

설명

ImagickPixel ImagickDraw::getTextUnderColor ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the color of a background rectangle to place under text annotations.

반환값

Returns an ImagickPixel object describing the color.

이전 | 위로 | 다음
ImagickDraw::getTextEncoding | 처음으로 | ImagickDraw::getVectorGraphics


ImagickDraw::getVectorGraphics

(No version information available, might be only in CVS)

ImagickDraw::getVectorGraphics -- Returns a string containing vector graphics

설명

string ImagickDraw::getVectorGraphics ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a string which specifies the vector graphics generated by any graphics calls made since the ImagickDraw object was instantiated.

매개변수

반환값

Returns a string containing the vector graphics.

이전 | 위로 | 다음
ImagickDraw::getTextUnderColor | 처음으로 | ImagickDraw::line


ImagickDraw::line

(No version information available, might be only in CVS)

ImagickDraw::line -- Draws a line

설명

bool ImagickDraw::line ( float $sx, float $sy, float $ex, float $ey )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

매개변수

sx

starting x coordinate

sy

starting y coordinate

ex

ending x coordinate

ey

ending y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::getVectorGraphics | 처음으로 | ImagickDraw::matte


ImagickDraw::matte

(No version information available, might be only in CVS)

ImagickDraw::matte -- Paints on the image's opacity channel

설명

bool ImagickDraw::matte ( float $x, float $y, int $paintMethod )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Paints on the image's opacity channel in order to set effected pixels to transparent. to influence the opacity of pixels.

매개변수

x

x coordinate of the matte

y

y coordinate of the matte

paintMethod

PAINT_ constant

반환값

What the function returns, first on success, then on failure. See also the &return.success; entity

이전 | 위로 | 다음
ImagickDraw::line | 처음으로 | ImagickDraw::pathClose


ImagickDraw::pathClose

(No version information available, might be only in CVS)

ImagickDraw::pathClose -- Adds a path element to the current path

설명

bool ImagickDraw::pathClose ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds a path element to the current path which closes the current subpath by drawing a straight line from the current point to the current subpath's most recent starting point (usually, the most recent moveto point).

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::matte | 처음으로 | ImagickDraw::pathCurveToAbsolute


ImagickDraw::pathCurveToAbsolute

(No version information available, might be only in CVS)

ImagickDraw::pathCurveToAbsolute -- Draws a cubic Bezier curve

설명

bool ImagickDraw::pathCurveToAbsolute ( float $x1, float $y1, float $x2, float $y2, float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a cubic Bezier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve using absolute coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

매개변수

x1

x coordinate of the first control point

y1

y coordinate of the first control point

x2

x coordinate of the second control point

y2

y coordinate of the first control point

x

x coordinate of the curve end

y

y coordinate of the curve end

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathClose | 처음으로 | ImagickDraw::pathCurveToQuadraticBezierAbsolute


ImagickDraw::pathCurveToQuadraticBezierAbsolute

(No version information available, might be only in CVS)

ImagickDraw::pathCurveToQuadraticBezierAbsolute -- Draws a quadratic Bezier curve

설명

bool ImagickDraw::pathCurveToQuadraticBezierAbsolute ( float $x1, float $y1, float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a quadratic Bezier curve from the current point to (x,y) using (x1,y1) as the control point using absolute coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

매개변수

x1

x coordinate of the control point

y1

y coordinate of the control point

x

x coordinate of the end point

y

y coordinate of the end point

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathCurveToAbsolute | 처음으로 | ImagickDraw::pathCurveToQuadraticBezierRelative


ImagickDraw::pathCurveToQuadraticBezierRelative

(No version information available, might be only in CVS)

ImagickDraw::pathCurveToQuadraticBezierRelative -- Draws a quadratic Bezier curve

설명

bool ImagickDraw::pathCurveToQuadraticBezierRelative ( float $x1, float $y1, float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a quadratic Bezier curve from the current point to (x,y) using (x1,y1) as the control point using relative coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

매개변수

x1

starting x coordinate

y1

starting y coordinate

x

ending x coordinate

y

ending y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathCurveToQuadraticBezierAbsolute | 처음으로 | ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute


ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute

(No version information available, might be only in CVS)

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute -- Draws a quadratic Bezier curve

설명

bool ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a quadratic Bezier curve (using relative coordinates) from the current point to (x,y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not a DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut or DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point is coincident with the current point.). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

매개변수

x

ending x coordinate

y

ending y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathCurveToQuadraticBezierRelative | 처음으로 | ImagickDraw::pathCurveToQuadraticBezierSmoothRelative


ImagickDraw::pathCurveToQuadraticBezierSmoothRelative

(No version information available, might be only in CVS)

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative -- Draws a quadratic Bezier curve

설명

bool ImagickDraw::pathCurveToQuadraticBezierSmoothRelative ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a quadratic Bezier curve (using relative coordinates) from the current point to (x, y). The control point is assumed to be the reflection of the control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not a DrawPathCurveToQuadraticBezierAbsolute, DrawPathCurveToQuadraticBezierRelative, DrawPathCurveToQuadraticBezierSmoothAbsolut or DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point is coincident with the current point). At the end of the command, the new current point becomes the final (x, y) coordinate pair used in the polybezier.

매개변수

x

ending x coordinate

y

ending y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute | 처음으로 | ImagickDraw::pathCurveToRelative


ImagickDraw::pathCurveToRelative

(No version information available, might be only in CVS)

ImagickDraw::pathCurveToRelative -- Draws a cubic Bezier curve

설명

bool ImagickDraw::pathCurveToRelative ( float $x1, float $y1, float $x2, float $y2, float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a cubic Bezier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve using relative coordinates. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

매개변수

x1

x coordinate of starting control point

y1

y coordinate of starting control point

x2

x coordinate of ending control point

y2

y coordinate of ending control point

x

ending x coordinate

y

ending y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative | 처음으로 | ImagickDraw::pathCurveToSmoothAbsolute


ImagickDraw::pathCurveToSmoothAbsolute

(No version information available, might be only in CVS)

ImagickDraw::pathCurveToSmoothAbsolute -- Draws a cubic Bezier curve

설명

bool ImagickDraw::pathCurveToSmoothAbsolute ( float $x2, float $y2, float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a cubic Bezier curve from the current point to (x,y) using absolute coordinates. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not an DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or DrawPathCurveToSmoothRelative, assume the first control point is coincident with the current point.) (x2,y2) is the second control point (i.e., the control point at the end of the curve). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

매개변수

x2

x coordinate of the second control point

y2

y coordinate of the second control point

x

x coordinate of the ending point

y

y coordinate of the ending point

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathCurveToRelative | 처음으로 | ImagickDraw::pathCurveToSmoothRelative


ImagickDraw::pathCurveToSmoothRelative

(No version information available, might be only in CVS)

ImagickDraw::pathCurveToSmoothRelative -- Draws a cubic Bezier curve

설명

bool ImagickDraw::pathCurveToSmoothRelative ( float $x2, float $y2, float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a cubic Bezier curve from the current point to (x,y) using relative coordinates. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point. (If there is no previous command or if the previous command was not an DrawPathCurveToAbsolute, DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or DrawPathCurveToSmoothRelative, assume the first control point is coincident with the current point.) (x2,y2) is the second control point (i.e., the control point at the end of the curve). At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybezier.

매개변수

x2

x coordinate of the second control point

y2

y coordinate of the second control point

x

x coordinate of the ending point

y

y coordinate of the ending point

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathCurveToSmoothAbsolute | 처음으로 | ImagickDraw::pathEllipticArcAbsolute


ImagickDraw::pathEllipticArcAbsolute

(No version information available, might be only in CVS)

ImagickDraw::pathEllipticArcAbsolute -- Draws an elliptical arc

설명

bool ImagickDraw::pathEllipticArcAbsolute ( float $rx, float $ry, float $x_axis_rotation, bool $large_arc_flag, bool $sweep_flag, float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws an elliptical arc from the current point to (x, y) using absolute coordinates. The size and orientation of the ellipse are defined by two radii (rx, ry) and an xAxisRotation, which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. largeArcFlag and sweepFlag contribute to the automatic calculations and help determine how the arc is drawn. If largeArcFlag is true then draw the larger of the available arcs. If sweepFlag is true, then draw the arc matching a clock-wise rotation.

매개변수

rx

x radius

ry

y radius

x_axis_rotation

x axis rotation

large_arc_flag

large arc flag

sweep_flag

sweep flag

x

x coordinate

y

y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathCurveToSmoothRelative | 처음으로 | ImagickDraw::pathEllipticArcRelative


ImagickDraw::pathEllipticArcRelative

(No version information available, might be only in CVS)

ImagickDraw::pathEllipticArcRelative -- Draws an elliptical arc

설명

bool ImagickDraw::pathEllipticArcRelative ( float $rx, float $ry, float $x_axis_rotation, bool $large_arc_flag, bool $sweep_flag, float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws an elliptical arc from the current point to (x, y) using relative coordinates. The size and orientation of the ellipse are defined by two radii (rx, ry) and an xAxisRotation, which indicates how the ellipse as a whole is rotated relative to the current coordinate system. The center (cx, cy) of the ellipse is calculated automatically to satisfy the constraints imposed by the other parameters. largeArcFlag and sweepFlag contribute to the automatic calculations and help determine how the arc is drawn. If largeArcFlag is true then draw the larger of the available arcs. If sweepFlag is true, then draw the arc matching a clock-wise rotation.

매개변수

rx

x radius

ry

y radius

x_axis_rotation

x axis rotation

large_arc_flag

large arc flag

sweep_flag

sweep flag

x

x coordinate

y

y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathEllipticArcAbsolute | 처음으로 | ImagickDraw::pathFinish


ImagickDraw::pathFinish

(No version information available, might be only in CVS)

ImagickDraw::pathFinish -- Terminates the current path

설명

bool ImagickDraw::pathFinish ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Terminates the current path.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathEllipticArcRelative | 처음으로 | ImagickDraw::pathLineToAbsolute


ImagickDraw::pathLineToAbsolute

(No version information available, might be only in CVS)

ImagickDraw::pathLineToAbsolute -- Draws a line path

설명

bool ImagickDraw::pathLineToAbsolute ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a line path from the current point to the given coordinate using absolute coordinates. The coordinate then becomes the new current point.

매개변수

x

starting x coordinate

y

ending x coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathFinish | 처음으로 | ImagickDraw::pathLineToHorizontalAbsolute


ImagickDraw::pathLineToHorizontalAbsolute

(No version information available, might be only in CVS)

ImagickDraw::pathLineToHorizontalAbsolute -- Draws a horizontal line path

설명

bool ImagickDraw::pathLineToHorizontalAbsolute ( float $x )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a horizontal line path from the current point to the target point using absolute coordinates. The target point then becomes the new current point.

매개변수

x

x coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathLineToAbsolute | 처음으로 | ImagickDraw::pathLineToHorizontalRelative


ImagickDraw::pathLineToHorizontalRelative

(No version information available, might be only in CVS)

ImagickDraw::pathLineToHorizontalRelative -- Draws a horizontal line

설명

bool ImagickDraw::pathLineToHorizontalRelative ( float $x )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a horizontal line path from the current point to the target point using relative coordinates. The target point then becomes the new current point.

매개변수

x

x coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathLineToHorizontalAbsolute | 처음으로 | ImagickDraw::pathLineToRelative


ImagickDraw::pathLineToRelative

(No version information available, might be only in CVS)

ImagickDraw::pathLineToRelative -- Draws a line path

설명

bool ImagickDraw::pathLineToRelative ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a line path from the current point to the given coordinate using relative coordinates. The coordinate then becomes the new current point.

매개변수

x

starting x coordinate

y

starting y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathLineToHorizontalRelative | 처음으로 | ImagickDraw::pathLineToVerticalAbsolute


ImagickDraw::pathLineToVerticalAbsolute

(No version information available, might be only in CVS)

ImagickDraw::pathLineToVerticalAbsolute -- Draws a vertical line

설명

bool ImagickDraw::pathLineToVerticalAbsolute ( float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a vertical line path from the current point to the target point using absolute coordinates. The target point then becomes the new current point.

매개변수

y

y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathLineToRelative | 처음으로 | ImagickDraw::pathLineToVerticalRelative


ImagickDraw::pathLineToVerticalRelative

(No version information available, might be only in CVS)

ImagickDraw::pathLineToVerticalRelative -- Draws a vertical line path

설명

bool ImagickDraw::pathLineToVerticalRelative ( float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a vertical line path from the current point to the target point using relative coordinates. The target point then becomes the new current point.

매개변수

y

y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathLineToVerticalAbsolute | 처음으로 | ImagickDraw::pathMoveToAbsolute


ImagickDraw::pathMoveToAbsolute

(No version information available, might be only in CVS)

ImagickDraw::pathMoveToAbsolute -- Starts a new sub-path

설명

bool ImagickDraw::pathMoveToAbsolute ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Starts a new sub-path at the given coordinate using absolute coordinates. The current point then becomes the specified coordinate.

매개변수

x

x coordinate of the starting point

y

y coordinate of the starting point

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathLineToVerticalRelative | 처음으로 | ImagickDraw::pathMoveToRelative


ImagickDraw::pathMoveToRelative

(No version information available, might be only in CVS)

ImagickDraw::pathMoveToRelative -- Starts a new sub-path

설명

bool ImagickDraw::pathMoveToRelative ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Starts a new sub-path at the given coordinate using relative coordinates. The current point then becomes the specified coordinate.

매개변수

x

target x coordinate

y

target y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathMoveToAbsolute | 처음으로 | ImagickDraw::pathStart


ImagickDraw::pathStart

(No version information available, might be only in CVS)

ImagickDraw::pathStart -- Declares the start of a path drawing list

설명

bool ImagickDraw::pathStart ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Declares the start of a path drawing list which is terminated by a matching DrawPathFinish() command. All other DrawPath commands must be enclosed between a and a DrawPathFinish() command. This is because path drawing commands are subordinate commands and they do not function by themselves.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathMoveToRelative | 처음으로 | ImagickDraw::point


ImagickDraw::point

(No version information available, might be only in CVS)

ImagickDraw::point -- Draws a point

설명

bool ImagickDraw::point ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a point using the current stroke color and stroke thickness at the specified coordinates.

매개변수

x

point's x coordinate

y

point's y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pathStart | 처음으로 | ImagickDraw::polygon


ImagickDraw::polygon

(No version information available, might be only in CVS)

ImagickDraw::polygon -- Draws a polygon

설명

bool ImagickDraw::polygon ( array $coordinates )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a polygon using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

매개변수

coordinates

multidimensional array like array( array( 'x' => 3, 'y' => 4 ), array( 'x' => 2, 'y' => 6 ) );

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickDraw::point | 처음으로 | ImagickDraw::polyline


ImagickDraw::polyline

(No version information available, might be only in CVS)

ImagickDraw::polyline -- Draws a polyline

설명

bool ImagickDraw::polyline ( array $coordinates )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

매개변수

coordinates

array of x and y coordinates: array( array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) )

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickDraw::polygon | 처음으로 | ImagickDraw::popClipPath


ImagickDraw::pop

(No version information available, might be only in CVS)

ImagickDraw::pop -- Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw

설명

bool ImagickDraw::pop ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw. Multiple ImagickDraws may exist. It is an error to attempt to pop more ImagickDraws than have been pushed, and it is proper form to pop all ImagickDraws which have been pushed.

매개변수

반환값

Returns true on success and false on failure.

이전 | 위로 | 다음
ImagickDraw::popDefs | 처음으로 | ImagickDraw::popPattern


ImagickDraw::popClipPath

(No version information available, might be only in CVS)

ImagickDraw::popClipPath -- Terminates a clip path definition

설명

bool ImagickDraw::popClipPath ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Terminates a clip path definition.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::polyline | 처음으로 | ImagickDraw::popDefs


ImagickDraw::popDefs

(No version information available, might be only in CVS)

ImagickDraw::popDefs -- Terminates a definition list

설명

bool ImagickDraw::popDefs ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Terminates a definition list.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::popClipPath | 처음으로 | ImagickDraw::pop


ImagickDraw::popPattern

(No version information available, might be only in CVS)

ImagickDraw::popPattern -- Terminates a pattern definition

설명

bool ImagickDraw::popPattern ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Terminates a pattern definition.

매개변수

반환값

Returns true on success and false on failure.

이전 | 위로 | 다음
ImagickDraw::pop | 처음으로 | ImagickDraw::pushClipPath


ImagickDraw::push

(No version information available, might be only in CVS)

ImagickDraw::push -- Clones the current ImagickDraw and pushes it to the stack

설명

bool ImagickDraw::push ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Clones the current ImagickDraw to create a new ImagickDraw, which is then added to the ImagickDraw stack. The original drawing ImagickDraw(s) may be returned to by invoking pop(). The ImagickDraws are stored on a ImagickDraw stack. For every Pop there must have already been an equivalent Push.

매개변수

반환값

Returns true on success and false on failure.

이전 | 위로 | 다음
ImagickDraw::pushDefs | 처음으로 | ImagickDraw::pushPattern


ImagickDraw::pushClipPath

(No version information available, might be only in CVS)

ImagickDraw::pushClipPath -- Starts a clip path definition

설명

bool ImagickDraw::pushClipPath ( string $clip_mask_id )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Starts a clip path definition which is comprized of any number of drawing commands and terminated by a ImagickDraw::popClipPath() command.

매개변수

clip_mask_id

Clip mask Id

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::popPattern | 처음으로 | ImagickDraw::pushDefs


ImagickDraw::pushDefs

(No version information available, might be only in CVS)

ImagickDraw::pushDefs -- Indicates that following commands create named elements for early processing

설명

bool ImagickDraw::pushDefs ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Indicates that commands up to a terminating ImagickDraw::popDefs() command create named elements (e.g. clip-paths, textures, etc.) which may safely be processed earlier for the sake of efficiency.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pushClipPath | 처음으로 | ImagickDraw::push


ImagickDraw::pushPattern

(No version information available, might be only in CVS)

ImagickDraw::pushPattern -- Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern

설명

bool ImagickDraw::pushPattern ( string $pattern_id, float $x, float $y, float $width, float $height )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Indicates that subsequent commands up to a DrawPopPattern() command comprise the definition of a named pattern. The pattern space is assigned top left corner coordinates, a width and height, and becomes its own drawing space. Anything which can be drawn may be used in a pattern definition. Named patterns may be used as stroke or brush definitions.

매개변수

pattern_id

the pattern Id

x

x coordinate of the top-left corner

y

y coordinate of the top-left corner

width

width of the pattern

height

height of the pattern

반환값

Returns true on success and false on failure.

이전 | 위로 | 다음
ImagickDraw::push | 처음으로 | ImagickDraw::rectangle


ImagickDraw::rectangle

(No version information available, might be only in CVS)

ImagickDraw::rectangle -- Draws a rectangle

설명

bool ImagickDraw::rectangle ( float $x1, float $y1, float $x2, float $y2 )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill settings.

매개변수

x1

x coordinate of the top left corner

y1

y coordinate of the top left corner

x2

x coordinate of the bottom right corner

y2

y coordinate of the bottom right corner

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::pushPattern | 처음으로 | ImagickDraw::render


ImagickDraw::render

(No version information available, might be only in CVS)

ImagickDraw::render -- Renders all preceding drawing commands onto the image

설명

bool ImagickDraw::render ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Renders all preceding drawing commands onto the image.

매개변수

반환값

Returns true on success and false on failure.

이전 | 위로 | 다음
ImagickDraw::rectangle | 처음으로 | ImagickDraw::rotate


ImagickDraw::rotate

(No version information available, might be only in CVS)

ImagickDraw::rotate -- Applies the specified rotation to the current coordinate space

설명

bool ImagickDraw::rotate ( float $degrees )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applies the specified rotation to the current coordinate space.

매개변수

degrees

degrees to rotate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::render | 처음으로 | ImagickDraw::roundRectangle


ImagickDraw::roundRectangle

(No version information available, might be only in CVS)

ImagickDraw::roundRectangle -- Draws a rounted rectangle

설명

bool ImagickDraw::roundRectangle ( float $x1, float $y1, float $x2, float $y2, float $rx, float $ry )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Draws a rounted rectangle given two coordinates, x & y corner radiuses and using the current stroke, stroke width, and fill settings.

매개변수

x1

x coordinate of the top left corner

y1

y coordinate of the top left corner

x2

x coordinate of the bottom right

y2

y coordinate of the bottom right

rx

x rounding

ry

y rounding

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::rotate | 처음으로 | ImagickDraw::scale


ImagickDraw::scale

(No version information available, might be only in CVS)

ImagickDraw::scale -- Adjusts the scaling factor

설명

bool ImagickDraw::scale ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adjusts the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.

매개변수

x

horizontal factor

y

vertical factor

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::roundRectangle | 처음으로 | ImagickDraw::setClipPath


ImagickDraw::setClipPath

(No version information available, might be only in CVS)

ImagickDraw::setClipPath -- Associates a named clipping path with the image

설명

bool ImagickDraw::setClipPath ( string $clip_mask )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Associates a named clipping path with the image. Only the areas drawn on by the clipping path will be modified as long as it remains in effect.

매개변수

clip_mask

the clipping path name

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::scale | 처음으로 | ImagickDraw::setClipRule


ImagickDraw::setClipRule

(No version information available, might be only in CVS)

ImagickDraw::setClipRule -- Set the polygon fill rule to be used by the clipping path

설명

bool ImagickDraw::setClipRule ( int $fill_rule )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Set the polygon fill rule to be used by the clipping path.

매개변수

fill_rule

FILLRULE_ constant

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setClipPath | 처음으로 | ImagickDraw::setClipUnits


ImagickDraw::setClipUnits

(No version information available, might be only in CVS)

ImagickDraw::setClipUnits -- Sets the interpretation of clip path units

설명

bool ImagickDraw::setClipUnits ( int $clip_units )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the interpretation of clip path units.

매개변수

clip_units

the number of clip units

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setClipRule | 처음으로 | ImagickDraw::setFillAlpha


ImagickDraw::setFillAlpha

(No version information available, might be only in CVS)

ImagickDraw::setFillAlpha -- Sets the opacity to use when drawing using the fill color or fill texture

설명

bool ImagickDraw::setFillAlpha ( float $opacity )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the opacity to use when drawing using the fill color or fill texture. Fully opaque is 1.0.

매개변수

opacity

fill alpha

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setClipUnits | 처음으로 | ImagickDraw::setFillColor


ImagickDraw::setFillColor

(No version information available, might be only in CVS)

ImagickDraw::setFillColor -- Sets the fill color to be used for drawing filled objects

설명

bool ImagickDraw::setFillColor ( ImagickPixel $fill_pixel )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the fill color to be used for drawing filled objects.

매개변수

fill_pixel

ImagickPixel to use to set the color

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setFillAlpha | 처음으로 | ImagickDraw::setFillOpacity


ImagickDraw::setFillOpacity

(No version information available, might be only in CVS)

ImagickDraw::setFillOpacity -- Sets the opacity to use when drawing using the fill color or fill texture

설명

bool ImagickDraw::setFillOpacity ( float $fillOpacity )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the opacity to use when drawing using the fill color or fill texture. Fully opaque is 1.0.

매개변수

fillOpacity

the fill opacity

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setFillColor | 처음으로 | ImagickDraw::setFillPatternURL


ImagickDraw::setFillPatternURL

(No version information available, might be only in CVS)

ImagickDraw::setFillPatternURL -- Sets the URL to use as a fill pattern for filling objects

설명

bool ImagickDraw::setFillPatternURL ( string $fill_url )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the URL to use as a fill pattern for filling objects. Only local URLs ("#identifier") are supported at this time. These local URLs are normally created by defining a named fill pattern with DrawPushPattern/DrawPopPattern.

매개변수

fill_url

URL to use to obtain fill pattern.

반환값

Returns true on success and false on failure.

이전 | 위로 | 다음
ImagickDraw::setFillOpacity | 처음으로 | ImagickDraw::setFillRule


ImagickDraw::setFillRule

(No version information available, might be only in CVS)

ImagickDraw::setFillRule -- Sets the fill rule to use while drawing polygons

설명

bool ImagickDraw::setFillRule ( int $fill_rule )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the fill rule to use while drawing polygons.

매개변수

fill_rule

FILLRULE_ constant

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setFillPatternURL | 처음으로 | ImagickDraw::setFontFamily


ImagickDraw::setFont

(No version information available, might be only in CVS)

ImagickDraw::setFont -- Sets the fully-specified font to use when annotating with text

설명

bool ImagickDraw::setFont ( string $font_name )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the fully-specified font to use when annotating with text.

매개변수

font_name

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickDraw::setFontWeight | 처음으로 | ImagickDraw::setGravity


ImagickDraw::setFontFamily

(No version information available, might be only in CVS)

ImagickDraw::setFontFamily -- Sets the font family to use when annotating with text

설명

bool ImagickDraw::setFontFamily ( string $font_family )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the font family to use when annotating with text.

매개변수

font_family

the font family

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickDraw::setFillRule | 처음으로 | ImagickDraw::setFontSize


ImagickDraw::setFontSize

(No version information available, might be only in CVS)

ImagickDraw::setFontSize -- Sets the font pointsize to use when annotating with text

설명

bool ImagickDraw::setFontSize ( float $pointsize )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the font pointsize to use when annotating with text.

매개변수

pointsize

the point size

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setFontFamily | 처음으로 | ImagickDraw::setFontStretch


ImagickDraw::setFontStretch

(No version information available, might be only in CVS)

ImagickDraw::setFontStretch -- Sets the font stretch to use when annotating with text

설명

bool ImagickDraw::setFontStretch ( int $fontStretch )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the font stretch to use when annotating with text. The AnyStretch enumeration acts as a wild-card "don't care" option.

매개변수

fontStretch

STRETCH_ constant

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setFontSize | 처음으로 | ImagickDraw::setFontStyle


ImagickDraw::setFontStyle

(No version information available, might be only in CVS)

ImagickDraw::setFontStyle -- Sets the font style to use when annotating with text

설명

bool ImagickDraw::setFontStyle ( int $style )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option.

매개변수

style

STYLETYPE_ constant

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setFontStretch | 처음으로 | ImagickDraw::setFontWeight


ImagickDraw::setFontWeight

(No version information available, might be only in CVS)

ImagickDraw::setFontWeight -- Sets the font weight

설명

bool ImagickDraw::setFontWeight ( int $font_weight )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the font weight to use when annotating with text.

매개변수

font_weight

반환값

이전 | 위로 | 다음
ImagickDraw::setFontStyle | 처음으로 | ImagickDraw::setFont


ImagickDraw::setGravity

(No version information available, might be only in CVS)

ImagickDraw::setGravity -- Sets the text placement gravity

설명

bool ImagickDraw::setGravity ( int $gravity )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the text placement gravity to use when annotating with text.

매개변수

gravity

GRAVITY_ constant

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setFont | 처음으로 | ImagickDraw::setStrokeAlpha


ImagickDraw::setStrokeAlpha

(No version information available, might be only in CVS)

ImagickDraw::setStrokeAlpha -- Specifies the opacity of stroked object outlines

설명

bool ImagickDraw::setStrokeAlpha ( float $opacity )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies the opacity of stroked object outlines.

매개변수

opacity

opacity

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setGravity | 처음으로 | ImagickDraw::setStrokeAntialias


ImagickDraw::setStrokeAntialias

(No version information available, might be only in CVS)

ImagickDraw::setStrokeAntialias -- Controls whether stroked outlines are antialiased

설명

bool ImagickDraw::setStrokeAntialias ( bool $stroke_antialias )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Controls whether stroked outlines are antialiased. Stroked outlines are antialiased by default. When antialiasing is disabled stroked pixels are thresholded to determine if the stroke color or underlying canvas color should be used.

매개변수

stroke_antialias

the antialias setting

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setStrokeAlpha | 처음으로 | ImagickDraw::setStrokeColor


ImagickDraw::setStrokeColor

(No version information available, might be only in CVS)

ImagickDraw::setStrokeColor -- Sets the color used for stroking object outlines

설명

bool ImagickDraw::setStrokeColor ( ImagickPixel $stroke_pixel )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the color used for stroking object outlines.

매개변수

stroke_pixel

the stroke color

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setStrokeAntialias | 처음으로 | ImagickDraw::setStrokeDashArray


ImagickDraw::setStrokeDashArray

(No version information available, might be only in CVS)

ImagickDraw::setStrokeDashArray -- Specifies the pattern of dashes and gaps used to stroke paths

설명

bool ImagickDraw::setStrokeDashArray ( array $dashArray )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies the pattern of dashes and gaps used to stroke paths. The strokeDashArray represents an array of numbers that specify the lengths of alternating dashes and gaps in pixels. If an odd number of values is provided, then the list of values is repeated to yield an even number of values. To remove an existing dash array, pass a zero number_elements argument and null dash_array. A typical strokeDashArray_ array might contain the members 5 3 2.

매개변수

dashArray

array of floats

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickDraw::setStrokeColor | 처음으로 | ImagickDraw::setStrokeDashOffset


ImagickDraw::setStrokeDashOffset

(No version information available, might be only in CVS)

ImagickDraw::setStrokeDashOffset -- Specifies the offset into the dash pattern to start the dash

설명

bool ImagickDraw::setStrokeDashOffset ( float $dash_offset )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies the offset into the dash pattern to start the dash.

매개변수

dash_offset

dash offset

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setStrokeDashArray | 처음으로 | ImagickDraw::setStrokeLineCap


ImagickDraw::setStrokeLineCap

(No version information available, might be only in CVS)

ImagickDraw::setStrokeLineCap -- Specifies the shape to be used at the end of open subpaths when they are stroked

설명

bool ImagickDraw::setStrokeLineCap ( int $linecap )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies the shape to be used at the end of open subpaths when they are stroked.

매개변수

linecap

LINECAP_ constant

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setStrokeDashOffset | 처음으로 | ImagickDraw::setStrokeLineJoin


ImagickDraw::setStrokeLineJoin

(No version information available, might be only in CVS)

ImagickDraw::setStrokeLineJoin -- Specifies the shape to be used at the corners of paths when they are stroked

설명

bool ImagickDraw::setStrokeLineJoin ( int $linejoin )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies the shape to be used at the corners of paths (or other vector shapes) when they are stroked.

매개변수

linejoin

LINEJOIN_ constant

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setStrokeLineCap | 처음으로 | ImagickDraw::setStrokeMiterLimit


ImagickDraw::setStrokeMiterLimit

(No version information available, might be only in CVS)

ImagickDraw::setStrokeMiterLimit -- Specifies the miter limit

설명

bool ImagickDraw::setStrokeMiterLimit ( int $miterlimit )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies the miter limit. When two line segments meet at a sharp angle and miter joins have been specified for 'lineJoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path. The miterLimit' imposes a limit on the ratio of the miter length to the 'lineWidth'.

매개변수

miterlimit

the miter limit

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setStrokeLineJoin | 처음으로 | ImagickDraw::setStrokeOpacity


ImagickDraw::setStrokeOpacity

(No version information available, might be only in CVS)

ImagickDraw::setStrokeOpacity -- Specifies the opacity of stroked object outlines

설명

bool ImagickDraw::setStrokeOpacity ( float $stroke_opacity )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies the opacity of stroked object outlines.

매개변수

stroke_opacity

stroke opacity. 1.0 is fully opaque

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setStrokeMiterLimit | 처음으로 | ImagickDraw::setStrokePatternURL


ImagickDraw::setStrokePatternURL

(No version information available, might be only in CVS)

ImagickDraw::setStrokePatternURL -- Sets the pattern used for stroking object outlines

설명

bool ImagickDraw::setStrokePatternURL ( string $stroke_url )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the pattern used for stroking object outlines.

매개변수

stroke_url

stroke URL

반환값

imagick.imagickdraw.return.success;

이전 | 위로 | 다음
ImagickDraw::setStrokeOpacity | 처음으로 | ImagickDraw::setStrokeWidth


ImagickDraw::setStrokeWidth

(No version information available, might be only in CVS)

ImagickDraw::setStrokeWidth -- Sets the width of the stroke used to draw object outlines

설명

bool ImagickDraw::setStrokeWidth ( float $stroke_width )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the width of the stroke used to draw object outlines.

매개변수

stroke_width

stroke width

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setStrokePatternURL | 처음으로 | ImagickDraw::setTextAlignment


ImagickDraw::setTextAlignment

(No version information available, might be only in CVS)

ImagickDraw::setTextAlignment -- Specifies a text alignment

설명

bool ImagickDraw::setTextAlignment ( int $alignment )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies a text alignment to be applied when annotating with text.

매개변수

alignment

ALIGN_ constant

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setStrokeWidth | 처음으로 | ImagickDraw::setTextAntialias


ImagickDraw::setTextAntialias

(No version information available, might be only in CVS)

ImagickDraw::setTextAntialias -- Controls whether text is antialiased

설명

bool ImagickDraw::setTextAntialias ( bool $antiAlias )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Controls whether text is antialiased. Text is antialiased by default.

매개변수

antiAlias

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setTextAlignment | 처음으로 | ImagickDraw::setTextDecoration


ImagickDraw::setTextDecoration

(No version information available, might be only in CVS)

ImagickDraw::setTextDecoration -- Specifies a decoration

설명

bool ImagickDraw::setTextDecoration ( int $decoration )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies a decoration to be applied when annotating with text.

매개변수

decoration

DECORATION_ constant

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setTextAntialias | 처음으로 | ImagickDraw::setTextEncoding


ImagickDraw::setTextEncoding

(No version information available, might be only in CVS)

ImagickDraw::setTextEncoding -- Specifies specifies the text code set

설명

bool ImagickDraw::setTextEncoding ( string $encoding )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies specifies the code set to use for text annotations. The only character encoding which may be specified at this time is "UTF-8" for representing Unicode as a sequence of bytes. Specify an empty string to set text encoding to the system's default. Successful text annotation using Unicode may require fonts designed to support Unicode.

매개변수

encoding

the encoding name

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setTextDecoration | 처음으로 | ImagickDraw::setTextUnderColor


ImagickDraw::setTextUnderColor

(No version information available, might be only in CVS)

ImagickDraw::setTextUnderColor -- Specifies the color of a background rectangle

설명

bool ImagickDraw::setTextUnderColor ( ImagickPixel $under_color )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Specifies the color of a background rectangle to place under text annotations.

매개변수

under_color

the under color

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setTextEncoding | 처음으로 | ImagickDraw::setVectorGraphics


ImagickDraw::setVectorGraphics

(No version information available, might be only in CVS)

ImagickDraw::setVectorGraphics -- Sets the vector graphics

설명

bool ImagickDraw::setVectorGraphics ( string $xml )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the vector graphics associated with the specified ImagickDraw object. Use this method with ImagickDraw::getVectorGraphics() as a method to persist the vector graphics state.

매개변수

xml

xml containing the vector graphics

반환값

Returns true on success and false on failure.

이전 | 위로 | 다음
ImagickDraw::setTextUnderColor | 처음으로 | ImagickDraw::setViewbox


ImagickDraw::setViewbox

(No version information available, might be only in CVS)

ImagickDraw::setViewbox -- Sets the overall canvas size

설명

bool ImagickDraw::setViewbox ( int $x1, int $y1, int $x2, int $y2 )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the overall canvas size to be recorded with the drawing vector data. Usually this will be specified using the same size as the canvas image. When the vector data is saved to SVG or MVG formats, the viewbox is use to specify the size of the canvas image that a viewer will render the vector data on.

매개변수

x1

left x coordinate

y1

left y coordinate

x2

right x coordinate

y2

right y coordinate

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setVectorGraphics | 처음으로 | ImagickDraw::skewX


ImagickDraw::skewX

(No version information available, might be only in CVS)

ImagickDraw::skewX -- Skews the current coordinate system in the horizontal direction

설명

bool ImagickDraw::skewX ( float $degrees )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Skews the current coordinate system in the horizontal direction.

매개변수

degrees

degrees to skew

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::setViewbox | 처음으로 | ImagickDraw::skewY


ImagickDraw::skewY

(No version information available, might be only in CVS)

ImagickDraw::skewY -- Skews the current coordinate system in the vertical direction

설명

bool ImagickDraw::skewY ( float $degrees )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Skews the current coordinate system in the vertical direction.

매개변수

degrees

degrees to skew

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::skewX | 처음으로 | ImagickDraw::translate


ImagickDraw::translate

(No version information available, might be only in CVS)

ImagickDraw::translate -- Applies a translation to the current coordinate system

설명

bool ImagickDraw::translate ( float $x, float $y )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Applies a translation to the current coordinate system which moves the coordinate system origin to the specified coordinate.

매개변수

x

horizontal translation

y

vertical translation

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ImagickDraw::skewY | 처음으로 | ImagickPixel::clear


ImagickPixel::clear

(No version information available, might be only in CVS)

ImagickPixel::clear -- Clears resources associated with this object

설명

bool ImagickPixel::clear ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Clears the ImagickPixel object, leaving it in a fresh state. This also unsets any color associated with the object.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickDraw::translate | 처음으로 | ImagickPixel::__construct


ImagickPixel::__construct

(No version information available, might be only in CVS)

ImagickPixel::__construct -- The ImagickPixel constructor

설명

ImagickPixel ImagickPixel::__construct ( [string $color] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Constructs an ImagickPixel object. If a color is specified, the object is constructed and then initialised with that color before being returned.

매개변수

color

The optional color string to use as the initial value of this object.

반환값

Returns an ImagickPixel object on success, throwing ImagickPixelException on failure.

이전 | 위로 | 다음
ImagickPixel::clear | 처음으로 | ImagickPixel::destroy


ImagickPixel::destroy

(No version information available, might be only in CVS)

ImagickPixel::destroy -- Deallocates resources associated with this object

설명

bool ImagickPixel::destroy ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Deallocates any resources used by the ImagickPixel object, and unsets any associated color. The object should not be used after the destroy function has been called.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixel::__construct | 처음으로 | ImagickPixel::getColor


ImagickPixel::getColor

(No version information available, might be only in CVS)

ImagickPixel::getColor -- Returns the color

설명

array ImagickPixel::getColor ( [bool $normalized] )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the color described by the ImagickPixel object, as an array. If the color has an opacity channel set, this is provided as a fourth value in the list.

매개변수

normalized

Normalize the color values

반환값

An array of channel values, each normalized if true is given as param. Throws ImagickPixelException on error.

이전 | 위로 | 다음
ImagickPixel::destroy | 처음으로 | ImagickPixel::getColorCount


ImagickPixel::getColorCount

(No version information available, might be only in CVS)

ImagickPixel::getColorCount -- Returns the color count associated with this color

설명

int ImagickPixel::getColorCount ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the color count associated with this color.

매개변수

반환값

Returns the color count as an integer on success, throws ImagickPixelException on failure.

이전 | 위로 | 다음
ImagickPixel::getColor | 처음으로 | ImagickPixel::getColorValue


ImagickPixel::getColorValue

(No version information available, might be only in CVS)

ImagickPixel::getColorValue -- Gets the normalized value of the provided color channel

설명

float ImagickPixel::getColorValue ( int $color )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Retrieves the value of the color channel specified, as a floating-point number between 0 and 1.

매개변수

color

The channel to check, specified as one of the Imagick channel constants.

반환값

The value of the channel, as a normalized floating-point number, throwing ImagickPixelException on error.

이전 | 위로 | 다음
ImagickPixel::getColorCount | 처음으로 | ImagickPixel::getHSL


ImagickPixel::getHSL

(No version information available, might be only in CVS)

ImagickPixel::getHSL -- Returns the normalized HSL color of the ImagickPixel object

설명

array ImagickPixel::getHSL ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the normalized HSL color described by the ImagickPixel object, with each of the three values as floating point numbers between 0.0 and 1.0.

매개변수

반환값

Returns the HSL value in an array with the keys "hue", "saturation", and "luminosity". Throws ImagickPixelException on failure.

이전 | 위로 | 다음
ImagickPixel::getColorValue | 처음으로 | ImagickPixel::isSimilar


ImagickPixel::isSimilar

(No version information available, might be only in CVS)

ImagickPixel::isSimilar -- Check the distance between this color and another

설명

bool ImagickPixel::isSimilar ( ImagickPixel $color, float $fuzz )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Checks the distance between the color described by this ImagickPixel object and that of the provided object, by plotting their RGB values on the color cube. If the distance between the two points is less than the fuzz value given, the colors are similar.

매개변수

color

The ImagickPixel object to compare this object against.

fuzz

The maximum distance within which to consider these colors as similar. The theoretical maximum for this value is the square root of three (1.732).

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixel::getHSL | 처음으로 | ImagickPixel::setColorValue


ImagickPixel::setColor

(No version information available, might be only in CVS)

ImagickPixel::setColor -- Sets the color

설명

bool ImagickPixel::setColor ( string $color )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the color described by the ImagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

매개변수

color

The color definition to use in order to initialise the ImagickPixel object.

반환값

Returns true if the specified color was set, false otherwise.

이전 | 위로 | 다음
ImagickPixel::setColorValue | 처음으로 | ImagickPixel::setHSL


ImagickPixel::setColorValue

(No version information available, might be only in CVS)

ImagickPixel::setColorValue -- Sets the normalized value of one of the channels

설명

bool ImagickPixel::setColorValue ( int $color, float $value )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. This function can be used to provide an opacity channel to an ImagickPixel object.

매개변수

color

One of the Imagick channel color constants.

value

The value to set this channel to, ranging from 0 to 1.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixel::isSimilar | 처음으로 | ImagickPixel::setColor


ImagickPixel::setHSL

(No version information available, might be only in CVS)

ImagickPixel::setHSL -- Sets the normalized HSL color

설명

bool ImagickPixel::setHSL ( float $hue, float $saturation, float $luminosity )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the color described by the ImagickPixel object using normalized values for hue, saturation and luminosity.

매개변수

hue

The normalized value for hue, described as a fractional arc (between 0 and 1) of the hue circle, where the zero value is red.

saturation

The normalized value for saturation, with 1 as full saturation.

luminosity

The normalized value for luminosity, on a scale from black at 0 to white at 1, with the full HS value at 0.5 luminosity.

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixel::setColor | 처음으로 | ImagickPixelIterator::clear


ImagickPixelIterator::clear

(No version information available, might be only in CVS)

ImagickPixelIterator::clear -- Clear resources associated with a PixelIterator

설명

bool ImagickPixelIterator::clear ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Clear resources associated with a PixelIterator.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixel::setHSL | 처음으로 | ImagickPixelIterator::__construct


ImagickPixelIterator::__construct

(No version information available, might be only in CVS)

ImagickPixelIterator::__construct -- The ImagickPixelIterator constructor

설명

ImagickPixelIterator ImagickPixelIterator::__construct ( Imagick $wand )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

The ImagickPixelIterator constructor

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixelIterator::clear | 처음으로 | ImagickPixelIterator::destroy


ImagickPixelIterator::destroy

(No version information available, might be only in CVS)

ImagickPixelIterator::destroy -- Deallocates resources associated with a PixelIterator

설명

bool ImagickPixelIterator::destroy ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Deallocates resources associated with a PixelIterator.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixelIterator::__construct | 처음으로 | ImagickPixelIterator::getCurrentIteratorRow


ImagickPixelIterator::getCurrentIteratorRow

(No version information available, might be only in CVS)

ImagickPixelIterator::getCurrentIteratorRow -- Returns the current row of ImagickPixel objects

설명

array ImagickPixelIterator::getCurrentIteratorRow ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the current row as an array of ImagickPixel objects from the pixel iterator.

매개변수

반환값

Returns a row as an array of ImagickPixel objects that can themselves be iterated.

이전 | 위로 | 다음
ImagickPixelIterator::destroy | 처음으로 | ImagickPixelIterator::getIteratorRow


ImagickPixelIterator::getIteratorRow

(No version information available, might be only in CVS)

ImagickPixelIterator::getIteratorRow -- Returns the current pixel iterator row

설명

int ImagickPixelIterator::getIteratorRow ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the current pixel iterator row.

매개변수

반환값

Returns the integer offset of the row, throwing ImagickPixelIteratorException on error.

이전 | 위로 | 다음
ImagickPixelIterator::getCurrentIteratorRow | 처음으로 | ImagickPixelIterator::getNextIteratorRow


ImagickPixelIterator::getNextIteratorRow

(No version information available, might be only in CVS)

ImagickPixelIterator::getNextIteratorRow -- Returns the next row of the pixel iterator

설명

array ImagickPixelIterator::getNextIteratorRow ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the next row as an array of pixel wands from the pixel iterator.

매개변수

반환값

Returns ana row as an array of ImagickPixel objects, throwing ImagickPixelIteratorException on error.

이전 | 위로 | 다음
ImagickPixelIterator::getIteratorRow | 처음으로 | ImagickPixelIterator::getPreviousIteratorRow


ImagickPixelIterator::getPreviousIteratorRow

(No version information available, might be only in CVS)

ImagickPixelIterator::getPreviousIteratorRow -- Returns the previous row

설명

array ImagickPixelIterator::getPreviousIteratorRow ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the previous row as an array of pixel wands from the pixel iterator.

매개변수

반환값

Returns the previous row as an array of ImagickPixelWand objects from the ImagickPixelIterator, throwing ImagickPixelIteratorException on error.

이전 | 위로 | 다음
ImagickPixelIterator::getNextIteratorRow | 처음으로 | ImagickPixelIterator::newPixelIterator


ImagickPixelIterator::newPixelIterator

(No version information available, might be only in CVS)

ImagickPixelIterator::newPixelIterator -- Returns a new pixel iterator

설명

bool ImagickPixelIterator::newPixelIterator ( Imagick $wand )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a new pixel iterator.

매개변수

반환값

성공시에 TRUE를 반환합니다. Throwing ImagickPixelIteratorException.

이전 | 위로 | 다음
ImagickPixelIterator::getPreviousIteratorRow | 처음으로 | ImagickPixelIterator::newPixelRegionIterator


ImagickPixelIterator::newPixelRegionIterator

(No version information available, might be only in CVS)

ImagickPixelIterator::newPixelRegionIterator -- Returns a new pixel iterator

설명

bool ImagickPixelIterator::newPixelRegionIterator ( Imagick $wand, int $x, int $y, int $columns, int $rows )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns a new pixel iterator.

매개변수

wand

x

y

columns

rows

반환값

Returns a new ImagickPixelIterator on success; on failure, throws ImagickPixelIteratorException.

이전 | 위로 | 다음
ImagickPixelIterator::newPixelIterator | 처음으로 | ImagickPixelIterator::resetIterator


ImagickPixelIterator::resetIterator

(No version information available, might be only in CVS)

ImagickPixelIterator::resetIterator -- Resets the pixel iterator

설명

bool ImagickPixelIterator::resetIterator ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Resets the pixel iterator. Use it in conjunction with ImagickPixelIterator::getNextIteratorRow() to iterate over all the pixels in a pixel container.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixelIterator::newPixelRegionIterator | 처음으로 | ImagickPixelIterator::setIteratorFirstRow


ImagickPixelIterator::setIteratorFirstRow

(No version information available, might be only in CVS)

ImagickPixelIterator::setIteratorFirstRow -- Sets the pixel iterator to the first pixel row

설명

bool ImagickPixelIterator::setIteratorFirstRow ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the pixel iterator to the first pixel row.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixelIterator::resetIterator | 처음으로 | ImagickPixelIterator::setIteratorLastRow


ImagickPixelIterator::setIteratorLastRow

(No version information available, might be only in CVS)

ImagickPixelIterator::setIteratorLastRow -- Sets the pixel iterator to the last pixel row

설명

bool ImagickPixelIterator::setIteratorLastRow ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Sets the pixel iterator to the last pixel row.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixelIterator::setIteratorFirstRow | 처음으로 | ImagickPixelIterator::setIteratorRow


ImagickPixelIterator::setIteratorRow

(No version information available, might be only in CVS)

ImagickPixelIterator::setIteratorRow -- Set the pixel iterator row

설명

bool ImagickPixelIterator::setIteratorRow ( int $row )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Set the pixel iterator row.

매개변수

row

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixelIterator::setIteratorLastRow | 처음으로 | ImagickPixelIterator::syncIterator


ImagickPixelIterator::syncIterator

(No version information available, might be only in CVS)

ImagickPixelIterator::syncIterator -- Syncs the pixel iterator

설명

bool ImagickPixelIterator::syncIterator ( void )
주의

This function is currently not documented; only the argument list is available.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Syncs the pixel iterator.

매개변수

반환값

성공시에 TRUE를 반환합니다.

이전 | 위로 | 다음
ImagickPixelIterator::setIteratorRow | 처음으로 | LXVII. IMAP, POP3, NNTP 함수


imap_savebody

(PHP 5 >= 5.1.3)

imap_savebody -- Save a specific body section to a file

설명

bool imap_savebody ( resource $imap_stream, mixed $file, int $msg_number [, string $part_number [, int $options]] )

Saves a part or the whole body of the specified message.

매개변수

imap_stream

imap_open()이 반환한 IMAP 스트림입니다.

file

The path to the saved file as a string, or a valid file descriptor returned by fopen().

msg_number

The message number

part_number

The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification

options

A bitmask with one or more of the following:

  • FT_UID - The msg_number is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

imap_fetchbody()

이전 | 위로 | 다음
imap_rfc822_write_address | 처음으로 | imap_scanmailbox


include

이전 16. 제어 구조 다음

include()

include()문은 특정 파일을 인클루드 하고, 적용시킨다.

아래 내용은 require()에도 적용됩니다. 두 구조는 수행 실패를 다루는 방법을 제외하고 완전히 동일합니다. 둘 모두 Warning을 발생시키지만, require()는 Fatal Error가 나타납니다. 즉, 파일이 없을 때 페이지 처리를 멈추고 싶으면 require()를 사용하면 됩니다. include()는 멈추지 않고 스크립트가 계속 실행됩니다. 또한, 적합한 include_path 설정인지 확인해야 합니다. PHP 4.3.5 이전에는 포함한 파일 안에서 해석 오류가 발생해도 수행을 멈추지 않는 점에 주의하십시오. 이 버전부터는 멈춥니다.

파일을 포함할 때는 먼저 현재 작업 디렉토리에서 상대 경로로 include_path를 찾고, 실행중인 스크립트가 있는 디렉토리를 찾습니다. 즉, include_path가 libraries이고, 현재 작업 디렉토리가 /www/이며, 포함한 파일 include/a.php에 include "b.php"가 있으면, b.php는 먼저 /www/libraries/에서 찾고, 그 후에 /www/include/을 찾습니다. 파일 이름이 ./이나 ../로 시작하면, 현재 작업 디렉토리에 상대적인 include_path 안에서만 찾습니다.

파일이 인클루드 되면, 그 코드를 포함하는 코드는 인클루드가 발생한 줄의 변수 유효 범위를 물려받는다. 호출하는 파일의 그 줄에서 사용되는 어떤 변수도 그 줄부터는 호출된 파일안에서 사용이 가능하다. 그러나, 포함한 파일에서 선언한 모든 함수와 클래스는 전역 영역에 들어갑니다.

예 16.5. 기본적인 include() 사용예

vars.php
<?php

$color = 'green';
$fruit = 'apple';

?>

test.php
<?php

echo "A $color $fruit"; // A

include 'vars.php';

echo "A $color $fruit"; // A green apple

?>

인클루드가 호출하는 파일안의 함수내에서 발생한다면, 호출된 파일안의 모든 코드가 그 함수에서 정의된것처럼 동작한다. 그래서, 그 함수의 변수 유효범위를 따를것이다.

예 16.6. 함수 내에서 인클루드하기

<?php

function foo()
{
    global $color;

    include 'vars.php';

    echo "A $color $fruit";
}

/* vars.php is in the scope of foo() so     *
 * $fruit is NOT available outside of this  *
 * scope.  $color is because we declared it *
 * as global.                               */

foo();                    // A green apple
echo "A $color $fruit";   // A green

?>

파일이 인클루드되면, 파싱은 PHP모드의 밖으로 나가서 목적 파일의 시작부분은 HTML모드로 들어가게 되고, 끝부분에서 원래대로 회복된다. 이때문에, 목적 파일에서 PHP코드로서 수행되어야 하는 코드는 유효한 PHP 시작과 마침 태그 로 막아줘야 한다.

PHP에서 "URL fopen wrappers"가 활성화되어 있으면 (디폴트 설정임), URL(HTTP나 다른 지원 래퍼(wrapper) - 프로토콜 목록은 부록 O. 지원 프로토콜/래퍼 목록을 참고)을 사용하여 파일을 인클루드 할수 있다. 목적 서버가 목적 파일을 PHP코드로 해석한다면, HTTP GET으로 사용된 URL 리퀘스트 문자열은 변수로서 넘겨지게 될것이다. 이와같은 일은 파일을 인크루드 하고 부모 파일의 변수 유효범위를 상속하는 것과 같은 경우가 되지는 않는다. 스크립트는 실질적으로 원격 서버에서 실행이 되고 나서 로컬 스크립트에 포함된다.

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

예 16.7. HTTP로 include()하기

<?php

/* This example assumes that www.example.com is configured to parse .php
 * files and not .txt files. Also, 'Works' here means that the variables
 * $foo and $bar are available within the included file. */

// Won't work; file.txt wasn't handled by www.example.com as PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Works.
include 'file.php';  // Works.

?>

보안 경고

원격 파일은 원격 서버에서 실행(파일 확장자와 원격 서버가 PHP를 실행하는가에 따라 다릅니다)되지만, 로컬 서버에서 실행할 수 있는 유효한 PHP 스크립트를 만들 수도 있습니다. 원격 서버에서만 실행한 결과를 그대로 출력해야 한다면, readfile() 함수가 더 적합합니다. 아니라면, 원격 스크립트가 유효하고 적합한 코드를 생성하도록 특별한 주의를 기울이십시오.

참고: 원격 파일, fopen(), file()에 관련 정보가 있습니다.

반환 다루기: include한 파일 안에서 그 파일의 수행을 종료하고, 호출한 스크립트로 돌아가기 위해서 return()문을 실행할 수 있습니다. 또한, 값을 반환하는 일도 가능합니다. include 호출을 일반 함수를 사용한 것처럼 값을 받을 수 있습니다. 그러나, 원격 파일을 포함하였을 때, 그 파일의 출력이 (다른 로컬 파일처럼) 유효한 PHP 시작과 끝 태그를 가지지 않는다면 이 값을 받을 수 없습니다. 이 태그들 안에 필요한 값을 정의하면, include한 파일의 어떤 위치에서라도 사용할 수 있습니다.

include()은 특별한 언어 구조이기 때문에, 인자를 괄호로 쌀 필요가 없습니다. 반환값을 비교할 때는 조심하십시오.

예 16.8. include의 반환값 비교하기

<?php
// include(('vars.php') == 'OK'), 즉 include('')로 인식하여 작동하지 않습니다.
if (include('vars.php') == 'OK') {
    echo 'OK';
}

// 작동합니다.
if ((include 'vars.php') == 'OK') {
    echo 'OK';
}
?>

참고: PHP 3에서 그 블록이 함수가 아니면 블록 안에 return이 보이지 않을것이다. 그런 경우에는 전체 파일이 아니고 그 함수로만 return()이 적용된다.

예 16.9. include()와 return()문

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // prints 'PHP'

$bar = include 'noreturn.php';

echo $bar; // prints 1

?>

include가 성공했기 때문에 $bar의 값은 1입니다. 위 예제 사이의 차이에 주목하십시오. 처음 것은 포함한 파일 안에서 return()을 사용하였지만, 다른 것은 하지 않았습니다. 파일을 포함할 수 없으면 FALSE를 반환하고 E_WARNING을 발생합니다.

포함한 파일에서 함수를 정의하면, 어디서 return()을 했는지에 관계 없이 메인 파일에서 사용할 수 있습니다. 파일이 두번 포함되면, PHP 5는 함수가 이미 정의되어 있기 때문에 치명적인 오류를 발생하지만, PHP 4는 return() 뒤에 정의했다면 불평하지 않습니다. 이미 포함한 파일을 확인하기 위해서는 포함한 파일 안에서 조건적으로 return하기 보다는 include_once()를 사용하는 것을 권합니다.

PHP 파일을 변수로 "포함"하는 또 다른 방법은 출력 제어 함수를 include()와 함께 사용하여 출력을 캡쳐하는 것입니다. 예를 들면:

예 16.10. PHP 파일을 포함하여 문자열로 변환하기 위해 출력 버퍼링 사용하기

<?php
$string = get_include_contents('somefile.php');

function get_include_constents($filename) {
    if (is_file($filename)) {
        ob_start();
        include $filename;
        $contents = ob_get_contents();
        ob_end_clean();
        return $contents;
    }
    return false;
}

?>

스크립트 안에 자동으로 파일을 포함하기 위해서는, php.ini의 auto_prepend_file과 auto_append_file 설정 옵션을 참고하십시오.

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

참고: require(), require_once(),
include_once(),
get_included_files(), readfile(),
virtual(), virtual(), include_path.

이전 | 위로 | 다음
require | 처음으로 | require_once


include_once

이전 16. 제어 구조 다음

include_once()

include_once()문은 스크립트 수행기간동안 특정파일을 인클루드하고 적용시킨다. 이것은 include()문과 비슷하게 동작한다. 단지 파일의 특정 코드가 이미 인클루되었다면 그 코드는 다시는 인클루드 될수 없다는 차이점만 있다. 이 이름이 제시하듯이 한번만 인클루드할것이다.

include_once()는 특정 스크립트 수행기간동안 동일한 파일이 한번 이상 인클루드되고 적용될지도 모르는 상황에서 사용해야 할것이다. 그리고 함수 중복정의, 변수값 중복 지정 등의 문제를 회피하려면 정확히 한번만 인클루드할 때가 있을것이다.

require_once()와 include_once()의 더 많은 사용예는, 최신 PHP소스 내의 » PEAR코드를 참고할것

반환값은 include()와 동일합니다. 파일이 이미 포함되었면, TRUE를 반환합니다.

참고: include_once()는 PHP 4.0.1에서 추가됨

참고: include_once()와 require_once()는 대소문자를 구별하지 않는 운영체제(윈도우같은)에서 기대와 다르게 작동할수도 있다.

예 16.12. include_once()는 윈도우에서 대소문자를 구별하지 못합니다.

<?php
include_once("a.php"); // a.php를 포함합니다.
include_once("A.php"); // 윈도우에서 또다시 a.php를 포함합니다. (PHP 4만)
?>

이 동작은 PHP 5에서 바뀌었습니다 - 경로가 먼저 표준화되기 때문에 C:\PROGRA~1\A.php은 C:\Program Files\a.php와 동일하게 인식하고, 파일은 딱 한번만 포함하게 됩니다.

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

참고: include(),
require(), require_once(),
get_required_files(),
get_included_files(), readfile(),
virtual().

이전 | 위로 | 다음
require_once | 처음으로 | 17. 함수


ingres_cursor

(PECL ingres:1.1-1.4.3)

ingres_cursor -- Gets a cursor name for a given link resource

설명

string ingres_cursor ( [resource $link] )

Returns an string containing the active cursor name. If no cursor is active then NULL is returned.

If a link resource is passed to ingres_cursor() it returns the cursor name recorded for the link. If no link is passed then ingres_cursor() returns the cursor name asssociated with the default link.

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns an string containing the active cursor name. If no cursor is active then NULL is returned.

예제

예 979. ingres_cursor() example

<?php
$link = ingres_connect($database, $user, $password);

ingres_prepare("select * from table", $link);

$cursor_name = ingres_cursor($link);

echo $cursor_name;

?>

참고

ingres_prepare()
ingres_execute()

이전 | 위로 | 다음
ingres_connect | 처음으로 | ingres_errno


ingres_errno

(PECL ingres:1.1-1.4.3)

ingres_errno -- Gets the last ingres error number generated

설명

int ingres_errno ( [resource $link] )

Returns an integer containing the last error number. If no error was reported 0 is returned.

If a link resource is passed to ingres_errno() it returns the last error recorded for the link. If no link is passed then ingres_errno() returns the last error reported using the default link.

The function, ingres_errno(), should always be called after executing a database query. Calling another function before ingres_errno() is called, will reset or change any error code from the last Ingres function call.

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns an integer containing the last error number. If no error was reported 0 is returned.

예제

예 980. ingres_errno() example

<?php
$link = ingres_connect($database, $user, $password);

ingres_query("select * from table", $link);

$error_code = ingres_errno($link);

if ( $error_code != 0 ) {
   echo "An error occured - " . $error_code;
}
?>

참고

ingres_error()
ingres_errsqlstate()

이전 | 위로 | 다음
ingres_cursor | 처음으로 | ingres_error


ingres_error

(PECL ingres:1.1-1.4.3)

ingres_error -- Gets a meaningful error message for the last error generated

설명

string ingres_error ( [resource $link] )

Returns a string containing the last error, or NULL if no error has occurred.

If a link resource is passed to ingres_error() it returns the last error recorded for the link. If no link is passed then ingres_error() returns the last error reported using the default link.

The function, ingres_error(), should always be called after executing any database query. Calling another function before ingres_error() is called will reset or change any error message from the last Ingres function call.

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns a string containing the last error, or NULL if no error has occurred.

예제

예 981. ingres_error() example

<?php
ingres_connect($database, $user, $password);

ingres_query("select * from table");

$error_text = ingres_error();

if (!is_null($error_text)) {
   echo "An error occured - " . $error_text;
}
?>

참고

ingres_errno()
ingres_errsqlstate()

이전 | 위로 | 다음
ingres_errno | 처음으로 | ingres_errsqlstate


ingres_errsqlstate

(PECL ingres:1.1-1.4.3)

ingres_errsqlstate -- Gets the last SQLSTATE error code generated

설명

string ingres_errsqlstate ( [resource $link] )

Returns a string containing the last SQLSTATE, or NULL if no error has occurred.

If a link resource is passed to ingres_errsqlstate() it returns the last error recorded for the link. If no link is passed then ingres_errsqlstate() returns the last error reported using the default link.

The function, ingres_errsqlstate(), should always be called after executing any database query. Calling another function before ingres_errsqlstate() is called will reset or change any error message from the last Ingres function call.

매개변수

link

The connection link identifier. If not specified, the last opened link is used.

반환값

Returns a string containing the last SQLSTATE, or NULL if no error has occurred.

예제

예 982. ingres_errsqlstate() example

<?php
ingres_connect($database, $user, $password);

ingres_query("select * from table");

$error_sqlstate = ingres_errsqlstate();

if (!is_null($error_sqlstate)) {
   echo "An error occured - " . $error_sqlstate;
}
?>

참고

ingres_errno()
ingres_error()

이전 | 위로 | 다음
ingres_error | 처음으로 | ingres_fetch_array


is_binary

(No version information available, might be only in CVS)

is_binary -- Finds whether a variable is a native binary string

설명

bool is_binary ( mixed $var )

Finds whether the given variable is a native binary string.

매개변수

var

The variable being evaluated.

반환값

Returns TRUE if var is a native binary string, FALSE otherwise.

참고

is_buffer()
is_string()
is_unicode()

이전 | 위로 | 다음
is_array | 처음으로 | is_bool


is_buffer

(No version information available, might be only in CVS)

is_buffer -- Finds whether a variable is a native unicode or binary string

설명

bool is_buffer ( mixed $var )

Finds whether the given variable is a native unicode or binary string.

매개변수

var

The variable being evaluated.

반환값

Returns TRUE if var is a native unicode or binary string, FALSE otherwise.

참고

is_binary()
is_string()
is_unicode()

이전 | 위로 | 다음
is_bool | 처음으로 | is_callable


is_unicode

(No version information available, might be only in CVS)

is_unicode -- Finds whether a variable is a unicode string

설명

bool is_unicode ( mixed $var )

Finds whether the given variable is a unicode string.

매개변수

var

The variable being evaluated.

반환값

Returns TRUE if var is a unicode string, FALSE otherwise.

참고

is_binary()
is_buffer()
is_string()
unicode_encode()

이전 | 위로 | 다음
is_string | 처음으로 | isset


json_decode

(PHP 5 >= 5.2.0, PECL json:1.2.0-1.2.1)

json_decode -- Decodes a JSON string

설명

mixed json_decode ( string $json [, bool $assoc] )

Takes a JSON encoded string and converts it into a PHP variable.

매개변수

json

The json string being decoded.

assoc

When TRUE, returned objects will be converted into associative arrays.

반환값

Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.

예제

예 992. json_decode() examples

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));

?>

위 예제의 출력:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

주의

경고

This function will return false if the JSON encoded data is deeper than 127 elements.

변경 기록

버전 | 설명
5.2.3 | The nesting limit was increased from 20 to 128

참고

json_encode()

이전 | 위로 | 다음
LXXIII. JSON Functions | 처음으로 | json_encode


json_encode

(PHP 5 >= 5.2.0, PECL json:1.2.0-1.2.1)

json_encode -- Returns the JSON representation of a value

설명

string json_encode ( mixed $value )

Returns a string containing the JSON representation of value.

매개변수

value

The value being encoded. Can be any type except a resource.

This function only works with UTF-8 encoded data.

반환값

Returns a JSON encoded string on success.

변경 기록

버전 | 설명
5.2.1 | Added support to JSON encode basic types

예제

예 993. A json_encode() example

<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);
?>

위 예제의 출력:

{"a":1,"b":2,"c":3,"d":4,"e":5}

참고

json_decode()

이전 | 위로 | 다음
json_decode | 처음으로 | LXXIV. KADM5


kadm5_chpass_principal

(PECL kadm5:0.2.3)

kadm5_chpass_principal -- Changes the principal's password

설명

bool kadm5_chpass_principal ( resource $handle, string $principal, string $password )

kadm5_chpass_principal() sets the new password password for the principal.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 995. Example of changing principal's password

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_chpass_principal($handle, "burbach@GONICUS.LOCAL", "newpassword");

kadm5_destroy($handle);
?>

이전 | 위로 | 다음
LXXIV. KADM5 | 처음으로 | kadm5_create_principal


kadm5_create_principal

(PECL kadm5:0.2.3)

kadm5_create_principal -- Creates a kerberos principal with the given parameters

설명

bool kadm5_create_principal ( resource $handle, string $principal [, string $password [, array $options]] )

kadm5_create_principal() creates a principal with the given password. If password is omitted or is NULL, a random key will be generated.

It is possible to specify several optional parameters within the array options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 996. Example of principal's creation

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

이전 | 위로 | 다음
kadm5_chpass_principal | 처음으로 | kadm5_delete_principal


kadm5_delete_principal

(PECL kadm5:0.2.3)

kadm5_delete_principal -- Deletes a kerberos principal

설명

bool kadm5_delete_principal ( resource $handle, string $principal )

kadm5_delete_principal() remove the principal from the Kerberos database.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 997. kadm5_delete_principal() example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

kadm5_delete_principal($handle, "burbach@GONICUS.LOCAL");

kadm5_destroy($handle);
?>

이전 | 위로 | 다음
kadm5_create_principal | 처음으로 | kadm5_destroy


kadm5_destroy

(PECL kadm5:0.2.3)

kadm5_destroy -- Closes the connection to the admin server and releases all related resources

설명

bool kadm5_destroy ( resource $handle )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
kadm5_delete_principal | 처음으로 | kadm5_flush


kadm5_flush

(PECL kadm5:0.2.3)

kadm5_flush -- Flush all changes to the Kerberos database, leaving the connection to the Kerberos admin server open

설명

bool kadm5_flush ( resource $handle )

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
kadm5_destroy | 처음으로 | kadm5_get_policies


kadm5_get_policies

(PECL kadm5:0.2.3)

kadm5_get_policies -- Gets all policies from the Kerberos database

설명

array kadm5_get_policies ( resource $handle )

kadm5_get_policies() returns an array containing the policies's names.

반환값

Returns array of policies on success, or FALSE on failure.

예제

예 998. kadm5_get_policies() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_policies</h1>\n";
foreach (kadm5_get_policies($handle) as $policy) {
    echo "$policy<br />\n";
}

kadm5_destroy($handle);
?>

이전 | 위로 | 다음
kadm5_flush | 처음으로 | kadm5_get_principal


kadm5_get_principal

(PECL kadm5:0.2.3)

kadm5_get_principal -- Gets the principal's entries from the Kerberos database

설명

array kadm5_get_principal ( resource $handle, string $principal )

kadm5_get_principal() returns an associative array containing the following keys: KADM5_PRINCIPAL, KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_MOD_NAME, KADM5_MOD_TIME, KADM5_KVNO, KADM5_POLICY, KADM5_MAX_RLIFE, KADM5_LAST_SUCCESS, KADM5_LAST_FAILED, KADM5_FAIL_AUTH_COUNT.

반환값

Returns array of options on success, or FALSE on failure.

예제

예 999. kadm5_get_principal() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

$options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );

foreach ($options as $key => $value) {
    echo "$key: $value<br />\n";
}

kadm5_destroy($handle);
?>

이전 | 위로 | 다음
kadm5_get_policies | 처음으로 | kadm5_get_principals


kadm5_get_principals

(PECL kadm5:0.2.3)

kadm5_get_principals -- Gets all principals from the Kerberos database

설명

array kadm5_get_principals ( resource $handle )

kadm5_get_principals() returns an array containing the principals's names.

반환값

Returns array of principals on success, or FALSE on failure.

예제

예 1000. kadm5_get_principals() example

<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

print "<h1>get_principals</h1>\n";
foreach (kadm5_get_principals($handle) as $principal) {
    echo "$principal<br />\n";
}

kadm5_destroy($handle);
?>

이전 | 위로 | 다음
kadm5_get_principal | 처음으로 | kadm5_init_with_password


kadm5_init_with_password

(PECL kadm5:0.2.3)

kadm5_init_with_password -- Opens a connection to the KADM5 library and initializes any neccessary state information

설명

resource kadm5_init_with_password ( string $admin_server, string $realm, string $principal, string $password )

kadm5_init_with_password() opens a connection with the KADM5 library using the principal and the given password to obtain initial credentials from the admin_server. The parameter realm defines the authentication domain for the connection.

반환값

Returns a KADM5 handle on success, or FALSE on failure.

예제

예 1001. KADM5 initialization example

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH | KRB5_KDB_DISALLOW_PROXIABLE;
$options = array(KADM5_PRINC_EXPIRE_TIME => 0,
                 KADM5_POLICY => "default",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_create_principal($handle, "burbach@GONICUS.LOCAL", "password", $options);

kadm5_destroy($handle);
?>

주의

참고: Connection should be closed after use with kadm5_destroy().

참고

kadm5_destroy()

이전 | 위로 | 다음
kadm5_get_principals | 처음으로 | kadm5_modify_principal


kadm5_modify_principal

(PECL kadm5:0.2.3)

kadm5_modify_principal -- Modifies a kerberos principal with the given parameters

설명

bool kadm5_modify_principal ( resource $handle, string $principal, array $options )

kadm5_modify_principal() modifies a principal according to the given options. Allowed are the following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION, KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY, KADM5_CLEARPOLICY, KADM5_MAX_RLIFE, KADM5_FAIL_AUTH_COUNT.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1002. Example of modifying principal

<?php

$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

$attributes = KRB5_KDB_REQUIRES_PRE_AUTH;
$options = array(KADM5_PRINC_EXPIRE_TIME => 3451234,
                 KADM5_POLICY => "gonicus",
                 KADM5_ATTRIBUTES => $attributes);

kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

kadm5_destroy($handle);
?>

이전 | 위로 | 다음
kadm5_init_with_password | 처음으로 | LXXV. LDAP Functions


lchgrp

(PHP 5 >= 5.1.2)

lchgrp -- Changes group ownership of symlink

설명

bool lchgrp ( string $filename, mixed $group )

Attempts to change the group of the symlink filename to group.

Only the superuser may change the group of a symlink arbitrarily; other users may change the group of a symlink to any group of which that user is a member.

매개변수

filename

Path to the symlink.

group

The group specified by name or number.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 원격 파일을 다루지 못합니다. 파일은 서버 파일시스템을 통해서 사용 가능해야만 합니다.

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

참고

chgrp()
lchown()
chown()
chmod()

이전 | 위로 | 다음
is_writeable | 처음으로 | lchown


lchown

(PHP 5 >= 5.1.2)

lchown -- Changes user ownership of symlink

설명

bool lchown ( string $filename, mixed $user )

Attempts to change the owner of the symlink filename to user user.

Only the superuser may change the owner of a symlink.

매개변수

filename

Path to the file.

user

User name or number.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 이 함수는 원격 파일을 다루지 못합니다. 파일은 서버 파일시스템을 통해서 사용 가능해야만 합니다.

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

참고

chgrp()
lchgrp()
chgrp()
chmod()

이전 | 위로 | 다음
lchgrp | 처음으로 | link


libxml_clear_errors

(PHP 5 >= 5.1.0)

libxml_clear_errors -- Clear libxml error buffer

설명

void libxml_clear_errors ( void )

libxml_clear_errors() clears the libxml error buffer.

반환값

값을 반환하지 않습니다.

참고

libxml_get_errors()
libxml_get_last_error()

이전 | 위로 | 다음
LXXVI. libxml Functions | 처음으로 | libxml_get_errors


libxml_get_errors

(PHP 5 >= 5.1.0)

libxml_get_errors -- Retrieve array of errors

설명

array libxml_get_errors ( void )

Retrieve array of errors.

반환값

Returns an array with LibXMLError objects if there are any errors in the buffer, or an empty array otherwise.

예제

예 1019. A libxml_get_errors() example

This example demonstrates how to build a simple libxml error handler.

<?php

libxml_use_internal_errors(true);

$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <titles>PHP: Behind the Parser</title>
 </movie>
</movies>
XML;

$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);

if (!$doc) {
    $errors = libxml_get_errors();

    foreach ($errors as $error) {
        echo display_xml_error($error, $xml);
    }

    libxml_clear_errors();
}

function display_xml_error($error, $xml)
{
    $return  = $xml[$error->line - 1] . "\n";
    $return .= str_repeat('-', $error->column) . "^\n";

    switch ($error->level) {
        case LIBXML_ERR_WARNING:
            $return .= "Warning $error->code: ";
            break;
         case LIBXML_ERR_ERROR:
            $return .= "Error $error->code: ";
            break;
        case LIBXML_ERR_FATAL:
            $return .= "Fatal Error $error->code: ";
            break;
    }

    $return .= trim($error->message) .
               "\n  Line: $error->line" .
               "\n  Column: $error->column";

    if ($error->file) {
        $return .= "\n  File: $error->file";
    }

    return "$return\n\n--------------------------------------------\n\n";
}

?>

위 예제의 출력:

  <titles>PHP: Behind the Parser</title>
^
Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title
  Line: 4
  Column: 0

--------------------------------------------

참고

libxml_get_last_error()
libxml_clear_errors()

이전 | 위로 | 다음
libxml_clear_errors | 처음으로 | libxml_get_last_error


libxml_get_last_error

(PHP 5 >= 5.1.0)

libxml_get_last_error -- Retrieve last error from libxml

설명

LibXMLError libxml_get_last_error ( void )

Retrieve last error from libxml.

반환값

Returns a LibXMLError object if there is any error in the buffer, FALSE otherwise.

참고

libxml_get_errors()
libxml_clear_errors()

이전 | 위로 | 다음
libxml_get_errors | 처음으로 | libxml_set_streams_context


libxml_set_streams_context

(PHP 5)

libxml_set_streams_context -- Set the streams context for the next libxml document load or write

설명

void libxml_set_streams_context ( resource $streams_context )

Sets the streams context for the next libxml document load or write.

매개변수

streams_context

The stream context resource (created with stream_context_create())

반환값

값을 반환하지 않습니다.

예제

예 1020. A libxml_set_streams_context() example

<?php

$opts = array(
    'http' => array(
        'user_agent' => 'PHP libxml agent',
    )
);

$context = stream_context_create($opts);
libxml_set_streams_context($context);

// request a file through HTTP
$doc = DOMDocument::load('http://www.example.com/file.xml');

?>

참고

stream_context_create()

이전 | 위로 | 다음
libxml_get_last_error | 처음으로 | libxml_use_internal_errors


libxml_use_internal_errors

(PHP 5 >= 5.1.0)

libxml_use_internal_errors -- Disable libxml errors and allow user to fetch error information as needed

설명

bool libxml_use_internal_errors ( [bool $use_errors] )

libxml_use_internal_errors() allows you to disable standard libxml errors and enable user error handling.

매개변수

use_errors

Whether to enable user error handling. Defaults to FALSE.

반환값

This function returns the previous value of use_errors.

예제

예 1021. A libxml_use_internal_errors() example

This example demonstrates the basic usage of libxml errors and the value returned by this function.

<?php

// enable user error handling
var_dump(libxml_use_internal_errors(true));

$doc = DOMDocument::load('file.xml');

if (!$doc) {
    $errors = libxml_get_errors();
    foreach ($errors as $error) {
        // handle errors here
    }

    libxml_clear_errors();
}

?>

위 예제의 출력:

bool(false)

참고

libxml_clear_errors()
libxml_get_errors()

이전 | 위로 | 다음
libxml_set_streams_context | 처음으로 | LXXVII. Lotus Notes Functions


locale_get_default

(No version information available, might be only in CVS)

locale_get_default -- Get the default Locale

설명

string locale_get_default ( void )

This function returns the default Locale, which is used by PHP to localize certain features. Please note that this isn't influenced by setlocale() or the system settings.

반환값

Returns a string with the current Locale.

예제

예 805. A locale_get_default() example

<?php

// get the default Locale
echo locale_get_default();

//set a new Locale...
locale_set_default('pt_PT');

// ... and print it
echo locale_get_default();

?>

위 예제의 출력:

en_US_POSIX
pt_PT

참고

locale_set_default()

이전 | 위로 | 다음
LIX. i18n 함수 | 처음으로 | locale_set_default


locale_set_default

(No version information available, might be only in CVS)

locale_set_default -- Set the default Locale

설명

bool locale_set_default ( string $name )

Sets the default Locale for PHP programs. Please note that this has nothing to do with setlocale() nor with the system locale.

매개변수

name

The new Locale name. A comprehensive list of the supported locales is available at » http://demo.icu-project.org/icu-bin/locexp.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 806. A locale_set_default() example

This example demonstrates a possible usage of locale_set_default() to localize the sort() functions.

<?php

// the list of the strings to sort
$array = array(
    'caramelo',
    'cacto',
    'ca?ada'
);

// set our locale (Portuguese, in this case)
locale_set_default('pt_PT');

// sort using the locale we previously set
sort($array, SORT_LOCALE_STRING);

print_r($array);
?>

위 예제의 출력:

Array
(
    [0] => ca?ada
    [1] => cacto
    [2] => caramelo
)

If we didn't use the locale, PHP would sort the string using the ASCII characters value, thus returning (wrongly):

Array
(
    [0] => cacto
    [1] => caramelo
    [2] => ca?ada
)

참고

locale_get_default()

이전 | 위로 | 다음
locale_get_default | 처음으로 | LX. IBM Functions (PDO_IBM)


m_checkstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_checkstatus -- Check to see if a transaction has completed

설명

int m_checkstatus ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
LXXXV. MCVE (Monetra) Payment Functions | 처음으로 | m_completeauthorizations


m_completeauthorizations

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_completeauthorizations -- Number of complete authorizations in queue, returning an array of their identifiers

설명

int m_completeauthorizations ( resource $conn, int &$array )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

array

Its description

반환값

What the function returns, first on success, then on failure. See also the &return.success; entity

이전 | 위로 | 다음
m_checkstatus | 처음으로 | m_connect


m_connect

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_connect -- Establish the connection to MCVE

설명

int m_connect ( resource $conn )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

반환값

이전 | 위로 | 다음
m_completeauthorizations | 처음으로 | m_connectionerror


m_connectionerror

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_connectionerror -- Get a textual representation of why a connection failed

설명

string m_connectionerror ( resource $conn )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

반환값

이전 | 위로 | 다음
m_connect | 처음으로 | m_deletetrans


m_deletetrans

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_deletetrans -- Delete specified transaction from MCVE_CONN structure

설명

bool m_deletetrans ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
m_connectionerror | 처음으로 | m_destroyconn


m_destroyconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_destroyconn -- Destroy the connection and MCVE_CONN structure

설명

bool m_destroyconn ( resource $conn )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

반환값

Returns TRUE.

참고

m_initconn()

이전 | 위로 | 다음
m_deletetrans | 처음으로 | m_destroyengine


m_destroyengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_destroyengine -- Free memory associated with IP/SSL connectivity

설명

void m_destroyengine ( void )
주의

This function is currently not documented; only the argument list is available.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
m_destroyconn | 처음으로 | m_getcell


m_getcell

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_getcell -- Get a specific cell from a comma delimited response by column name

설명

string m_getcell ( resource $conn, int $identifier, string $column, int $row )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

column

row

반환값

이전 | 위로 | 다음
m_destroyengine | 처음으로 | m_getcellbynum


m_getcellbynum

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_getcellbynum -- Get a specific cell from a comma delimited response by column number

설명

string m_getcellbynum ( resource $conn, int $identifier, int $column, int $row )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

column

row

반환값

이전 | 위로 | 다음
m_getcell | 처음으로 | m_getcommadelimited


m_getcommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_getcommadelimited -- Get the RAW comma delimited data returned from MCVE

설명

string m_getcommadelimited ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
m_getcellbynum | 처음으로 | m_getheader


m_getheader

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_getheader -- Get the name of the column in a comma-delimited response

설명

string m_getheader ( resource $conn, int $identifier, int $column_num )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

column_num

반환값

이전 | 위로 | 다음
m_getcommadelimited | 처음으로 | m_initconn


m_initconn

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_initconn -- Create and initialize an MCVE_CONN structure

설명

resource m_initconn ( void )
주의

This function is currently not documented; only the argument list is available.

반환값

Returns an MCVE_CONN resource.

참고

m_destroyconn()

이전 | 위로 | 다음
m_getheader | 처음으로 | m_initengine


m_initengine

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_initengine -- Ready the client for IP/SSL Communication

설명

int m_initengine ( string $location )
주의

This function is currently not documented; only the argument list is available.

매개변수

location

반환값

이전 | 위로 | 다음
m_initconn | 처음으로 | m_iscommadelimited


m_iscommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_iscommadelimited -- Checks to see if response is comma delimited

설명

int m_iscommadelimited ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
m_initengine | 처음으로 | m_maxconntimeout


m_maxconntimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_maxconntimeout -- The maximum amount of time the API will attempt a connection to MCVE

설명

bool m_maxconntimeout ( resource $conn, int $secs )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

secs

반환값

이전 | 위로 | 다음
m_iscommadelimited | 처음으로 | m_monitor


m_monitor

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_monitor -- Perform communication with MCVE (send/receive data) Non-blocking

설명

int m_monitor ( resource $conn )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

반환값

이전 | 위로 | 다음
m_maxconntimeout | 처음으로 | m_numcolumns


m_numcolumns

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_numcolumns -- Number of columns returned in a comma delimited response

설명

int m_numcolumns ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
m_monitor | 처음으로 | m_numrows


m_numrows

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_numrows -- Number of rows returned in a comma delimited response

설명

int m_numrows ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
m_numcolumns | 처음으로 | m_parsecommadelimited


m_parsecommadelimited

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_parsecommadelimited -- Parse the comma delimited response so m_getcell, etc will work

설명

int m_parsecommadelimited ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
m_numrows | 처음으로 | m_responsekeys


m_responsekeys

(PHP 5 >= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_responsekeys -- Returns array of strings which represents the keys that can be used for response parameters on this transaction

설명

array m_responsekeys ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
m_parsecommadelimited | 처음으로 | m_responseparam


m_responseparam

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_responseparam -- Get a custom response parameter

설명

string m_responseparam ( resource $conn, int $identifier, string $key )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

key

반환값

이전 | 위로 | 다음
m_responsekeys | 처음으로 | m_returnstatus


m_returnstatus

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_returnstatus -- Check to see if the transaction was successful

설명

int m_returnstatus ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
m_responseparam | 처음으로 | m_setblocking


m_setblocking

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_setblocking -- Set blocking/non-blocking mode for connection

설명

int m_setblocking ( resource $conn, int $tf )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

tf

반환값

이전 | 위로 | 다음
m_returnstatus | 처음으로 | m_setdropfile


m_setdropfile

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_setdropfile -- Set the connection method to Drop-File

설명

int m_setdropfile ( resource $conn, string $directory )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

directory

반환값

이전 | 위로 | 다음
m_setblocking | 처음으로 | m_setip


m_setip

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_setip -- Set the connection method to IP

설명

int m_setip ( resource $conn, string $host, int $port )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

host

port

반환값

이전 | 위로 | 다음
m_setdropfile | 처음으로 | m_setssl_cafile


m_setssl

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_setssl -- Set the connection method to SSL

설명

int m_setssl ( resource $conn, string $host, int $port )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

host

port

반환값

이전 | 위로 | 다음
m_setssl_files | 처음으로 | m_settimeout


m_setssl_cafile

(PHP 5 >= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_setssl_cafile -- Set SSL CA (Certificate Authority) file for verification of server certificate

설명

int m_setssl_cafile ( resource $conn, string $cafile )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

cafile

반환값

이전 | 위로 | 다음
m_setip | 처음으로 | m_setssl_files


m_setssl_files

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_setssl_files -- Set certificate key files and certificates if server requires client certificate verification

설명

int m_setssl_files ( resource $conn, string $sslkeyfile, string $sslcertfile )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

sslkeyfile

sslcertfile

반환값

이전 | 위로 | 다음
m_setssl_cafile | 처음으로 | m_setssl


m_settimeout

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_settimeout -- Set maximum transaction time (per trans)

설명

int m_settimeout ( resource $conn, int $seconds )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

seconds

반환값

이전 | 위로 | 다음
m_setssl | 처음으로 | m_sslcert_gen_hash


m_sslcert_gen_hash

(PECL mcve:5.2.0-5.2.2)

m_sslcert_gen_hash -- Generate hash for SSL client certificate verification

설명

string m_sslcert_gen_hash ( string $filename )
주의

This function is currently not documented; only the argument list is available.

매개변수

filename

반환값

이전 | 위로 | 다음
m_settimeout | 처음으로 | m_transactionssent


m_transactionssent

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_transactionssent -- Check to see if outgoing buffer is clear

설명

int m_transactionssent ( resource $conn )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

반환값

이전 | 위로 | 다음
m_sslcert_gen_hash | 처음으로 | m_transinqueue


m_transinqueue

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_transinqueue -- Number of transactions in client-queue

설명

int m_transinqueue ( resource $conn )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

반환값

이전 | 위로 | 다음
m_transactionssent | 처음으로 | m_transkeyval


m_transkeyval

(PHP 5 >= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_transkeyval -- Add key/value pair to a transaction. Replaces deprecated transparam()

설명

int m_transkeyval ( resource $conn, int $identifier, string $key, string $value )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

key

value

반환값

이전 | 위로 | 다음
m_transinqueue | 처음으로 | m_transnew


m_transnew

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_transnew -- Start a new transaction

설명

int m_transnew ( resource $conn )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

반환값

이전 | 위로 | 다음
m_transkeyval | 처음으로 | m_transsend


m_transsend

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_transsend -- Finalize and send the transaction

설명

int m_transsend ( resource $conn, int $identifier )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

identifier

반환값

이전 | 위로 | 다음
m_transnew | 처음으로 | m_uwait


m_uwait

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_uwait -- Wait x microsecs

설명

int m_uwait ( int $microsecs )
주의

This function is currently not documented; only the argument list is available.

매개변수

microsecs

반환값

이전 | 위로 | 다음
m_transsend | 처음으로 | m_validateidentifier


m_validateidentifier

(PHP 5 >= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_validateidentifier -- Whether or not to validate the passed identifier on any transaction it is passed to

설명

int m_validateidentifier ( resource $conn, int $tf )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

tf

반환값

이전 | 위로 | 다음
m_uwait | 처음으로 | m_verifyconnection


m_verifyconnection

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_verifyconnection -- Set whether or not to PING upon connect to verify connection

설명

bool m_verifyconnection ( resource $conn, int $tf )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

tf

반환값

이전 | 위로 | 다음
m_validateidentifier | 처음으로 | m_verifysslcert


m_verifysslcert

(PHP 4 >= 4.3.9, PHP 5 <= 5.0.5, PECL mcve:1.0.0-5.2.2)

m_verifysslcert -- Set whether or not to verify the server ssl certificate

설명

bool m_verifysslcert ( resource $conn, int $tf )
주의

This function is currently not documented; only the argument list is available.

매개변수

conn

m_initengine()이 반환한 MCVE_CONN 리소스입니다.

tf

반환값

이전 | 위로 | 다음
m_verifyconnection | 처음으로 | LXXXVI. Memcache Functions


mailparse_msg_extract_whole_part_file

(PECL mailparse:0.9-2.1.1)

mailparse_msg_extract_whole_part_file -- Extracts a message section including headers without decoding the transfer encoding

설명

string mailparse_msg_extract_whole_part_file ( resource $mimemail, string $filename [, callback $callbackfunc] )
주의

This function is currently not documented; only the argument list is available.

매개변수

mimemail

A valid MIME resource.

filename

callbackfunc

반환값

참고

mailparse_msg_extract_part()
mailparse_msg_extract_part_file()

이전 | 위로 | 다음
mailparse_msg_extract_part | 처음으로 | mailparse_msg_free


maxdb_affected_rows

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_affected_rows,

(PECL maxdb:1.0-7.6.00.38)

maxdb_affected_rows, maxdb->affected_rows -- Gets the number of affected rows in a previous MaxDB operation

설명

Procedural style:

int maxdb_affected_rows ( resource $link )

Object oriented style (property):

class maxdb {
int affected_rows
}

maxdb_affected_rows() returns the number of rows affected by the last INSERT, UPDATE, or DELETE query associated with the provided link parameter. If this number cannot be determined, this function will return -1.

참고: For SELECT statements maxdb_affected_rows() works like maxdb_num_rows().

The maxdb_affected_rows() function only works with queries which modify a table. In order to return the number of rows from a SELECT query, use the maxdb_num_rows() function instead.

반환값

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the number of rows affected can not be determined.

예제

예 1061. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
$maxdb->query("CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", $maxdb->affected_rows);

$maxdb->query("ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
$maxdb->query("UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", $maxdb->affected_rows);

/* delete rows */
$maxdb->query("DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", $maxdb->affected_rows);

/* select all rows */
$result = $maxdb->query("SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", $maxdb->affected_rows);

$result->close();

/* Delete table Language */
$maxdb->query("DROP TABLE mycustomer");

/* close connection */
$maxdb->close();
?>

예 1062. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

/* Insert rows */
maxdb_query($link, "CREATE TABLE mycustomer AS SELECT * from hotel.customer");
printf("Affected rows (INSERT): %d\n", maxdb_affected_rows($link));

maxdb_query($link, "ALTER TABLE mycustomer ADD Status int default 0");

/* update rows */
maxdb_query($link, "UPDATE mycustomer SET Status=1 WHERE cno > 50");
printf("Affected rows (UPDATE): %d\n", maxdb_affected_rows($link));

/* delete rows */
maxdb_query($link, "DELETE FROM mycustomer WHERE cno < 50");
printf("Affected rows (DELETE): %d\n", maxdb_affected_rows($link));

/* select all rows */
$result = maxdb_query($link, "SELECT title FROM mycustomer");
printf("Affected rows (SELECT): %d\n", maxdb_affected_rows($link));

maxdb_free_result($result);

/* Delete table Language */
maxdb_query($link, "DROP TABLE mycustomer");

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Affected rows (INSERT): 15
Affected rows (UPDATE): 15
Affected rows (DELETE): 0
Affected rows (SELECT): 15

참고

maxdb_num_rows()
maxdb_info()

이전 | 위로 | 다음
LXXXII. MaxDB PHP Extension | 처음으로 | maxdb_autocommit


maxdb_autocommit

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_autocommit,

(PECL maxdb:1.0-7.6.00.38)

maxdb_autocommit, maxdb->auto_commit -- Turns on or off auto-commiting database modifications

설명

Procedural style:

bool maxdb_autocommit ( resource $link, bool $mode )

Object oriented style (method)

class maxdb {
bool auto_commit ( bool $mode )
}

maxdb_autocommit() is used to turn on or off auto-commit mode on queries for the database connection represented by the link resource.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1063. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
$maxdb->autocommit(TRUE);

/* close connection */
$maxdb->close();
?>

예 1064. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
   exit();
}

/* turn autocommit on */
maxdb_autocommit($link, TRUE);

/* close connection */
maxdb_close($link);
?>

The above examples would produce no output.

참고

maxdb_commit()
maxdb_rollback()

이전 | 위로 | 다음
maxdb_affected_rows | 처음으로 | maxdb_bind_param


maxdb_bind_param

(PECL maxdb:1.0)

maxdb_bind_param -- Alias of maxdb_stmt_bind_param()

설명

이 함수는 다음 함수의 alias입니다: maxdb_stmt_bind_param()

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

이전 | 위로 | 다음
maxdb_autocommit | 처음으로 | maxdb_bind_result


maxdb_bind_result

(PECL maxdb:1.0)

maxdb_bind_result -- Alias of maxdb_stmt_bind_result()

설명

이 함수는 다음 함수의 alias입니다: maxdb_stmt_bind_result().

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

이전 | 위로 | 다음
maxdb_bind_param | 처음으로 | maxdb_change_user


maxdb_change_user

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_change_user,

(PECL maxdb:1.0-7.6.00.38)

maxdb_change_user, maxdb->change_user -- Changes the user of the specified database connection

설명

Procedural style:

bool maxdb_change_user ( resource $link, string $user, string $password, string $database )

Object oriented style (method):

class maxdb {
bool change_user ( string $user, string $password, string $database )
}

maxdb_change_user() is used to change the user of the specified database connection as given by the link parameter and to set the current database to that specified by the database parameter.

In order to successfully change users a valid username and password parameters must be provided and that user must have sufficient permissions to access the desired database. If for any reason authorization fails, the current user authentication will remain.

참고: Using this command will always cause the current database connection to behave as if was a completely new database connection, regardless of if the operation was completed successfully. This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1065. Object oriented style

<?php

/* connect database test */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM dual")) {
   $row = $result->fetch_row();
   printf("Result: %s\n", $row[0]);
   $result->free();
}

/* reset all and select a new database */
if (!$maxdb->change_user("DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
$maxdb->close();
?>

예 1066. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM dual")) {
   $row = maxdb_fetch_row($result);
   printf("Result: %s\n", $row[0]);
   maxdb_free_result($result);
}

/* reset all and select a new database */
if (!maxdb_change_user($link, "DBADMIN", "SECRET", "DEMODB")) {
  printf("Database not running\n");
} else {
  printf("Database running\n");
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Result: a
Database running

참고

maxdb_connect()
maxdb_select_db()

이전 | 위로 | 다음
maxdb_bind_result | 처음으로 | maxdb_character_set_name


maxdb_character_set_name

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_character_set_name,

(PECL maxdb:1.0-7.6.00.38)

maxdb_character_set_name, maxdb->character_set_name -- Returns the default character set for the database connection

설명

Procedural style:

string maxdb_character_set_name ( resource $link )

Object oriented style (method):

class maxdb {
string character_set_name ( void )
}

Returns the current character set for the database connection specified by the link parameter.

반환값

The default character set for the current connection, either ascii or unicode.

예제

예 1067. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = $maxdb->character_set_name();
printf ("Current character set is %s\n", $charset);

$maxdb->close();
?>

예 1068. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Print current character set */
$charset = maxdb_character_set_name($link);
printf ("Current character set is %s\n",$charset);

/* close connection */
maxdb_close($link);
?>

The above examples would be produce the following output:

Current character set is ascii

참고

maxdb_client_encoding()
maxdb_real_escape_string()

이전 | 위로 | 다음
maxdb_change_user | 처음으로 | maxdb_client_encoding


maxdb_client_encoding

(PECL maxdb:1.0)

maxdb_client_encoding -- Alias of maxdb_character_set_name()

설명

이 함수는 다음 함수의 alias입니다: maxdb_character_set_name().

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

이전 | 위로 | 다음
maxdb_character_set_name | 처음으로 | maxdb_close_long_data


maxdb_close

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_close,

(PECL maxdb:1.0-7.6.00.38)

maxdb_close, maxdb->close -- Closes a previously opened database connection

설명

Procedural style:

bool maxdb_close ( resource $link )

Object oriented style (method):

class maxdb {
bool close ( void )
}

The maxdb_close() function closes a previously opened database connection specified by the link parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

maxdb_connect()
maxdb_init()
maxdb_real_connect()

이전 | 위로 | 다음
maxdb_close_long_data | 처음으로 | maxdb_commit


maxdb_close_long_data

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_close_long_data,

(PECL maxdb:1.0-7.6.00.38)

maxdb_close_long_data, maxdb->close_long_data -- Alias of maxdb_stmt_close_long_data()

설명

이 함수는 다음 함수의 alias입니다: maxdb_stmt_close_long_data().

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

이전 | 위로 | 다음
maxdb_client_encoding | 처음으로 | maxdb_close


maxdb_commit

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_commit,

(PECL maxdb:1.0-7.6.00.38)

maxdb_commit, maxdb->commit -- Commits the current transaction

설명

Procedural style:

bool maxdb_commit ( resource $link )

Object oriented style (method)

class maxdb {
bool commit ( void )
}

Commits the current transaction for the database connection specified by the link parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1069. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
$maxdb->autocommit(FALSE);

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
$maxdb->query("INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
$maxdb->query("INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
$maxdb->commit();

/* close connection */
$maxdb->close();
?>

예 1070. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* set autocommit to off */
maxdb_autocommit($link, FALSE);

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycustomer");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycustomer LIKE hotel.customer");

/* Insert some values */
maxdb_query($link, "INSERT INTO mycustomer VALUES (3000,'Mrs','Jenny','Porter','10580','1340 N.Ash Street, #3')");
maxdb_query($link, "INSERT INTO mycustomer VALUES (3100,'Mr','Peter','Brown','48226','1001 34th Str., APT.3')");

/* commit transaction */
maxdb_commit($link);

/* close connection */
maxdb_close($link);
?>

The above examples produces no output.

참고

maxdb_autocommit()
maxdb_rollback()

이전 | 위로 | 다음
maxdb_close | 처음으로 | maxdb_connect_errno


maxdb_connect

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_connect,

(PECL maxdb:1.0-7.6.00.38)

maxdb_connect, maxdb() -- Open a new connection to the MaxDB server

설명

Procedural style

resource maxdb_connect ( [string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket]]]]]] )

Object oriented style (constructor):

class maxdb {
__construct ( [string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket]]]]]] )
}

The maxdb_connect() function attempts to open a connection to the MaxDB Server running on host which can be either a host name or an IP address. Passing the string "localhost" to this parameter, the local host is assumed. If successful, the maxdb_connect() will return an resource representing the connection to the database, or FALSE on failure.

The username and password parameters specify the username and password under which to connect to the MaxDB server. If the password is not provided (the NULL value is passed), the MaxDB server will attempt to authenticate the user against the maxdb.default_pw in php.ini.

The dbname parameter if provided will specify the default database to be used when performing queries. If not provied, the entry maxdb.default_db in php.ini is used.

The port and socket parameters are ignored for the MaxDB server.

반환값

Returns a resource which represents the connection to a MaxDB Server or FALSE if the connection failed.

예제

예 1073. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

예 1074. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("Host information: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Host information: localhost

이전 | 위로 | 다음
maxdb_connect_error | 처음으로 | maxdb_data_seek


maxdb_connect_errno

(PECL maxdb:1.0-7.6.00.38)

maxdb_connect_errno -- Returns the error code from last connect call

설명

int maxdb_connect_errno ( void )

The maxdb_connect_errno() function will return the last error code number for last call to maxdb_connect(). If no errors have occured, this function will return zero.

반환값

An error code value for the last call to maxdb_connect(), if it failed. zero means no error occurred.

예제

예 1071. maxdb_connect_errno sample

<?php
$link = maxdb_connect("localhost", "XXXXXXXX", "YYYYYYYYY");

if (!$link) {
   printf("Can't connect to localhost. Errorcode: %d\n", maxdb_connect_errno());
}
?>

The above example would produce the following output:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination [08004] <...>
Can't connect to localhost. Errorcode: -4008

참고

maxdb_connect()
maxdb_connect_error()
maxdb_errno()
maxdb_error()
maxdb_sqlstate()

이전 | 위로 | 다음
maxdb_commit | 처음으로 | maxdb_connect_error


maxdb_connect_error

(PECL maxdb:1.0-7.6.00.38)

maxdb_connect_error -- Returns a string description of the last connect error

설명

string maxdb_connect_error ( void )

The maxdb_connect_error() function is identical to the corresponding maxdb_connect_errno() function in every way, except instead of returning an integer error code the maxdb_connect_error() function will return a string representation of the last error to occur for the last maxdb_connect() call. If no error has occured, this function will return an empty string.

반환값

A string that describes the error. An empty string if no error occurred.

예제

예 1072. maxdb_connect_error sample

<?php

$link = maxdb_connect("localhost", "nonexisting_user", "");

if (!$link) {
   printf("Can't connect to localhost. Error: %s\n", maxdb_connect_error());
}
?>

The above example would produce the following output:

PHP Warning:  maxdb_connect(): -4008 POS(1) Unknown user name/password combination <...>
Can't connect to localhost. Error: POS(1) Unknown user name/password combination

참고

maxdb_connect()
maxdb_connect_errno()
maxdb_errno()
maxdb_error()
maxdb_sqlstate()

이전 | 위로 | 다음
maxdb_connect_errno | 처음으로 | maxdb_connect


maxdb_data_seek

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_data_seek,

(PECL maxdb:1.0-7.6.00.38)

maxdb_data_seek, result->data_seek -- Adjusts the result pointer to an arbitary row in the result

설명

Procedural style:

bool maxdb_data_seek ( resource $result, int $offset )

Object oriented style (method):

class result {
bool data_seek ( int $offset )
}

The maxdb_data_seek() function seeks to an arbitrary result pointer specified by the offset in the result set represented by result. The offset parameter must be between zero and the total number of rows minus one (0..maxdb_num_rows() - 1).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1075. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";
if ($result = $maxdb->query( $query)) {

   /* seek to row no. 10 */
   $result->data_seek(10);

   /* fetch row */
   $row = $result->fetch_row();

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1076. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* seek to row no. 400 */
   maxdb_data_seek($result, 10);

   /* fetch row */
   $row = maxdb_fetch_row($result);

   printf ("City: %s  State: %s\n", $row[0], $row[1]);

   /* free result set*/
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

City: Irvine  State: CA

참고

maxdb_store_result()
maxdb_fetch_row()
maxdb_num_rows()

이전 | 위로 | 다음
maxdb_connect | 처음으로 | maxdb_debug


maxdb_debug

(PECL maxdb:1.0-7.6.00.38)

maxdb_debug -- Performs debugging operations

설명

void maxdb_debug ( string $debug )

The maxdb_debug() can be used to trace the SQLDBC communication. The following strings can be used as a parameter to maxdb_debug():

TRACE SHORT ON|OFF - Enables/disables method call trace.
TRACE LONG ON|OFF - Enables/disables method argument and detail debug trace.
TRACE PACKET ON|OFF|<size> - Enables/disables packet trace, limiting the size of the traced object to the specified number of bytes, or 1000 if no size is specified.
TRACE SQL ON|OFF - Enables/disables high level api trace.
TRACE TIMESTAMP ON|OFF - Enables/disables a timestamp prefix on each line that is traced.
TRACE SIZE <size> - Limits the size of the trace file to <size> bytes, at least 8192 bytes are required.

반환값

maxdb_debug() doesn't return any value.

예제

예 1077. Procedural style

<?php

maxdb_debug("trace packet 200");

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

이전 | 위로 | 다음
maxdb_data_seek | 처음으로 | maxdb_disable_reads_from_master


maxdb_disable_reads_from_master

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_disable_reads_from_master,

(PECL maxdb:1.0-7.6.00.38)

maxdb_disable_reads_from_master, maxdb->disable_reads_from_master -- Disable reads from master

설명

Procedural style:

bool maxdb_disable_reads_from_master ( resource $link )

Object oriented style (method):

class maxdb {
void disable_reads_from_master ( void )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_debug | 처음으로 | maxdb_disable_rpl_parse


maxdb_disable_rpl_parse

(PECL maxdb:1.0-7.6.00.38)

maxdb_disable_rpl_parse -- Disable RPL parse

설명

bool maxdb_disable_rpl_parse ( resource $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_disable_reads_from_master | 처음으로 | maxdb_dump_debug_info


maxdb_dump_debug_info

(PECL maxdb:1.0-7.6.00.38)

maxdb_dump_debug_info -- Dump debugging information into the log

설명

bool maxdb_dump_debug_info ( resource $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_disable_rpl_parse | 처음으로 | maxdb_embedded_connect


maxdb_embedded_connect

(PECL maxdb:1.0-7.6.00.38)

maxdb_embedded_connect -- Open a connection to an embedded MaxDB server

설명

resource maxdb_embedded_connect ( [string $dbname] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_dump_debug_info | 처음으로 | maxdb_enable_reads_from_master


maxdb_enable_reads_from_master

(PECL maxdb:1.0-7.6.00.38)

maxdb_enable_reads_from_master -- Enable reads from master

설명

bool maxdb_enable_reads_from_master ( resource $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_embedded_connect | 처음으로 | maxdb_enable_rpl_parse


maxdb_enable_rpl_parse

(PECL maxdb:1.0-7.6.00.38)

maxdb_enable_rpl_parse -- Enable RPL parse

설명

bool maxdb_enable_rpl_parse ( resource $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_enable_reads_from_master | 처음으로 | maxdb_errno


maxdb_errno

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_errno,

(PECL maxdb:1.0-7.6.00.38)

maxdb_errno, maxdb->errno -- Returns the error code for the most recent function call

설명

Procedural style:

int maxdb_errno ( resource $link )

Object oriented style (property):

class maxdb {
int errno
}

The maxdb_errno() function will return the last error code for the most recent MaxDB function call that can succeed or fail with respect to the database link defined by the link parameter. If no errors have occured, this function will return zero.

반환값

An error code value for the last call, if it failed. zero means no error occurred.

예제

예 1078. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", $maxdb->errno);
}

/* close connection */
$maxdb->close();
?>

예 1079. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errorcode: %d\n", maxdb_errno($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000] <...>
Errorcode: -4005

참고

maxdb_connect_errno()
maxdb_connect_error()
maxdb_error()
maxdb_sqlstate()

이전 | 위로 | 다음
maxdb_enable_rpl_parse | 처음으로 | maxdb_error


maxdb_error

(PECL maxdb:1.0-7.6.00.38)

maxdb_error -- Returns a string description of the last error

설명

Procedural style:

string maxdb_error ( resource $link )

Object oriented style (property)

class maxdb {
string error
}

The maxdb_error() function is identical to the corresponding maxdb_errno() function in every way, except instead of returning an integer error code the maxdb_error() function will return a string representation of the last error to occur for the database connection represented by the link parameter. If no error has occured, this function will return an empty string.

반환값

A string that describes the error. An empty string if no error occurred.

예제

예 1080. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!$maxdb->query("SELECT xxx FROM hotel.city")) {
   printf("Errormessage: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

예 1081. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if (!maxdb_query($link, "SELECT xxx FROM hotel.city")) {
   printf("Errormessgae: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

PHP Warning:  maxdb_query(): -4005 POS(8) Unknown column name:XXX [42000]
Errormessgae: POS(8) Unknown column name:XXX

참고

maxdb_connect_errno()
maxdb_connect_error()
maxdb_errno()
maxdb_sqlstate()

이전 | 위로 | 다음
maxdb_errno | 처음으로 | maxdb_escape_string


maxdb_escape_string

(PECL maxdb:1.0)

maxdb_escape_string -- Alias of maxdb_real_escape_string()

설명

이 함수는 다음 함수의 alias입니다: maxdb_real_escape_string().

이전 | 위로 | 다음
maxdb_error | 처음으로 | maxdb_execute


maxdb_execute

(PECL maxdb:1.0)

maxdb_execute -- Alias of maxdb_stmt_execute()

설명

이 함수는 다음 함수의 alias입니다: maxdb_stmt_execute().

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

이전 | 위로 | 다음
maxdb_escape_string | 처음으로 | maxdb_fetch_array


maxdb_fetch

(PECL maxdb:1.0)

maxdb_fetch -- Alias of maxdb_stmt_fetch()

설명

이 함수는 다음 함수의 alias입니다: maxdb_stmt_fetch().

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

이전 | 위로 | 다음
maxdb_fetch_row | 처음으로 | maxdb_field_count


maxdb_fetch_array

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_fetch_array,

(PECL maxdb:1.0-7.6.00.38)

maxdb_fetch_array, result->fetch_array -- Fetch a result row as an associative, a numeric array, or both

설명

Procedural style:

mixed maxdb_fetch_array ( resource $result [, int $resulttype] )

Object oriented style (method):

class result {
mixed fetch_array ( [int $resulttype] )
}

Returns an array that corresponds to the fetched row or NULL if there are no more rows for the resultset represented by the result parameter.

maxdb_fetch_array() is an extended version of the maxdb_fetch_row() function. In addition to storing the data in the numeric indices of the result array, the maxdb_fetch_array() function can also store the data in associative indices, using the field names of the result set as keys.

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

If two or more columns of the result have the same field names, the last column will take precedence and overwrite the earlier data. In order to access multiple columns with the same name, the numerically indexed version of the row must be used.

The optional second argument resulttype is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MAXDB_ASSOC, MAXDB_ASSOC_UPPER, MAXDB_ASSOC_LOWER, MAXDB_NUM, or MAXDB_BOTH. By default the maxdb_fetch_array() function will assume MAXDB_BOTH, which is a combination of MAXDB_NUM and MAXDB_ASSOC for this parameter.

By using the MAXDB_ASSOC constant this function will behave identically to the maxdb_fetch_assoc(), while MAXDB_NUM will behave identically to the maxdb_fetch_row() function. The final option MAXDB_BOTH will create a single array with the attributes of both.

By using the MAXDB_ASSOC_UPPER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in upper case.

By using the MAXDB_ASSOC_LOWER constant, the behaviour of this function is identical to the use of MAXDB_ASSOC except the array index of a column is the fieldname in lower case.

반환값

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

예제

예 1082. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = $maxdb->query($query);

/* numeric array */
$row = $result->fetch_array(MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = $result->fetch_array(MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
$result->close();

/* close connection */
$maxdb->close();
?>

예 1083. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = maxdb_query($link, $query);

/* numeric array */
$row = maxdb_fetch_array($result, MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = maxdb_fetch_array($result, MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);

/* associative and numeric array */
$row = maxdb_fetch_array($result, MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);

/* free result set */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New York (NY)
New York (NY)
Long Island (NY)

참고

maxdb_fetch_assoc()
maxdb_fetch_row()
maxdb_fetch_resource()

이전 | 위로 | 다음
maxdb_execute | 처음으로 | maxdb_fetch_assoc


maxdb_fetch_assoc

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_fetch_assoc,

(PECL maxdb:1.0-7.6.00.38)

maxdb_fetch_assoc, maxdb->fetch_assoc -- Fetch a result row as an associative array

설명

Procedural style:

array maxdb_fetch_assoc ( resource $result )

Object oriented style (method):

class result {
array fetch_assoc ( void )
}

Returns an associative array that corresponds to the fetched row or NULL if there are no more rows.

The maxdb_fetch_assoc() function is used to return an associative array representing the next row in the result set for the result represented by the result parameter, where each key in the array represents the name of one of the result set's columns.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using maxdb_fetch_row() or add alias names.

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

반환값

Returns an array that corresponds to the fetched row or NULL if there are no more rows in resultset.

예제

예 1084. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch associative array */
   while ($row = $result->fetch_assoc()) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1085. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch associative array */
   while ($row = maxdb_fetch_assoc($result)) {
       printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

참고

maxdb_fetch_array()
maxdb_fetch_row()
maxdb_fetch_resource()

이전 | 위로 | 다음
maxdb_fetch_array | 처음으로 | maxdb_fetch_field_direct


maxdb_fetch_field

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_fetch_field,

(PECL maxdb:1.0-7.6.00.38)

maxdb_fetch_field, result->fetch_field -- Returns the next field in the result set

설명

Procedural style:

mixed maxdb_fetch_field ( resource $result )

Object oriented style (method):

class result {
mixed fetch_field ( void )
}

The maxdb_fetch_field() returns the definition of one column of a result set as an resource. Call this function repeatedly to retrieve information about all columns in the result set. maxdb_fetch_field() returns FALSE when no more fields are left.

반환값

Returns an resource which contains field definition informations or FALSE if no field information is available.

표 158. Object properties

Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

예제

예 1088. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1089. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

참고

maxdb_num_fields()
maxdb_fetch_field_direct()
maxdb_fetch_fields()
maxdb_field_seek()

이전 | 위로 | 다음
maxdb_fetch_field_direct | 처음으로 | maxdb_fetch_fields


maxdb_fetch_field_direct

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_fetch_field_direct,

(PECL maxdb:1.0-7.6.00.38)

maxdb_fetch_field_direct, result->fetch_field_direct -- Fetch meta-data for a single field

설명

Procedural style:

mixed maxdb_fetch_field_direct ( resource $result, int $fieldnr )

Object oriented style (method):

class result {
mixed fetch_field_direct ( int $fieldnr )
}

maxdb_fetch_field_direct() returns an resource which contains field definition informations from specified resultset. The value of fieldnr must be in the range from 0 to number of fields - 1.

반환값

Returns an resource which contains field definition informations or FALSE if no field information for specified fieldnr is available.

표 157. Object attributes

Attribute | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

예제

예 1086. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = $maxdb->query($query)) {

   /* Get field information for column 'SurfaceArea' */
   $finfo = $result->fetch_field_direct(1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1087. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY name";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for column 'cno' */
   $finfo = maxdb_fetch_field_direct($result, 1);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

참고

maxdb_num_fields()
maxdb_fetch_field()
maxdb_fetch_fields()

이전 | 위로 | 다음
maxdb_fetch_assoc | 처음으로 | maxdb_fetch_field


maxdb_fetch_fields

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_fetch_fields,

(PECL maxdb:1.0-7.6.00.38)

maxdb_fetch_fields, result->fetch_fields -- Returns an array of resources representing the fields in a result set

설명

Procedural Style:

mixed maxdb_fetch_fields ( resource $result )

Object oriented style (method):

class result {
mixed fetch_fields ( void )
}

This function serves an identical purpose to the maxdb_fetch_field() function with the single difference that, instead of returning one resource at a time for each field, the columns are returned as an array of resources.

반환값

Returns an array of resources which contains field definition informations or FALSE if no field information is available.

표 159. Object properties

Property | Description
name | The name of the column
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

예제

예 1090. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   $finfo = $result->fetch_fields();

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1091. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all columns */
   $finfo = maxdb_fetch_fields($result);

   foreach ($finfo as $val) {
       printf("Name:     %s\n", $val->name);
       printf("Table:    %s\n", $val->table);
       printf("max. Len: %d\n", $val->max_length);
       printf("Flags:    %d\n", $val->flags);
       printf("Type:     %d\n\n", $val->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

참고

maxdb_num_fields()
maxdb_fetch_field()
maxdb_fetch_field_direct()

이전 | 위로 | 다음
maxdb_fetch_field | 처음으로 | maxdb_fetch_lengths


maxdb_fetch_lengths

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_fetch_lengths,

(PECL maxdb:1.0-7.6.00.38)

maxdb_fetch_lengths, result->lengths -- Returns the lengths of the columns of the current row in the result set

설명

Procedural style:

array maxdb_fetch_lengths ( resource $result )

Object oriented style (property):

class result {
array lengths
}

The maxdb_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set represented by the result parameter. If successful, a numerically indexed array representing the lengths of each column is returned or FALSE on failure.

반환값

An array of integers representing the size of each column (not including any terminating null characters). FALSE if an error occurred.

maxdb_fetch_lengths() is valid only for the current row of the result set. It returns FALSE if you call it before calling maxdb_fetch_row/array/resource or after retrieving all rows in the result.

예제

예 1092. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = $maxdb->query($query)) {

   $row = $result->fetch_row();

   /* display column lengths */
   foreach ($result->lengths as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1093. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * from hotel.customer WHERE cno = 3000";

if ($result = maxdb_query($link, $query)) {

   $row = maxdb_fetch_row($result);

   /* display column lengths */
   foreach (maxdb_fetch_lengths($result) as $i => $val) {
       printf("Field %2d has Length %2d\n", $i+1, $val);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Field  1 has Length  4
Field  2 has Length  3
Field  3 has Length  5
Field  4 has Length  6
Field  5 has Length  5
Field  6 has Length 21

이전 | 위로 | 다음
maxdb_fetch_fields | 처음으로 | maxdb_fetch_object


maxdb_fetch_object

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_fetch_object,

(PECL maxdb:1.0-7.6.00.38)

maxdb_fetch_object, result->fetch_object -- Returns the current row of a result set as an object

설명

Procedural style:

object maxdb_fetch_object ( object $result )

Object oriented style (method):

class result {
object fetch_object ( void )
}

The maxdb_fetch_object() will return the current row result set as an object where the attributes of the object represent the names of the fields found within the result set. If no more rows exist in the current result set, NULL is returned.

반환값

Returns an object that corresponds to the fetched row or NULL if there are no more rows in resultset.

참고: 이 함수가 반환하는 필드 이름은 대소문자를 구별합니다.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

예제

예 1094. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch object array */
   while ($obj = $result->fetch_object()) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1095. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch object array */
   while ($obj = maxdb_fetch_object($result)) {
       printf ("%s (%s)\n", $obj->NAME, $obj->STATE);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

참고

maxdb_fetch_array()
maxdb_fetch_assoc()
maxdb_fetch_row()

이전 | 위로 | 다음
maxdb_fetch_lengths | 처음으로 | maxdb_fetch_row


maxdb_fetch_row

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_fetch_row,

(PECL maxdb:1.0-7.6.00.38)

maxdb_fetch_row, result->fetch_row -- Get a result row as an enumerated array

설명

Procedural style:

mixed maxdb_fetch_row ( resource $result )

Object oriented style (method):

class result {
mixed fetch_row ( void )
}

Returns an array that corresponds to the fetched row, or NULL if there are no more rows.

maxdb_fetch_row() fetches one row of data from the result set represented by result and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to the maxdb_fetch_row() function will return the next row within the result set, or FALSE if there are no more rows.

반환값

maxdb_fetch_row() returns an array that corresponds to the fetched row or NULL if there are no more rows in result set.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

예제

예 1096. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = $maxdb->query($query)) {

   /* fetch enumerated array */
   while ($row = $result->fetch_row()) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1097. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, state FROM hotel.city ORDER by zip";

if ($result = maxdb_query($link, $query)) {

   /* fetch enumerated array */
   while ($row = maxdb_fetch_row($result)) {
       printf ("%s (%s)\n", $row[0], $row[1]);
   }

   /* free result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New York (NY)
New York (NY)
Long Island (NY)
Albany (NY)
Washington (DC)
Washington (DC)
Washington (DC)
Silver Spring (MD)
Daytona Beach (FL)
Deerfield Beach (FL)
Clearwater (FL)
Cincinnati (OH)
Detroit (MI)
Rosemont (IL)
Chicago (IL)
Chicago (IL)
New Orleans (LA)
Dallas (TX)
Los Angeles (CA)
Hollywood (CA)
Long Beach (CA)
Palm Springs (CA)
Irvine (CA)
Santa Clara (CA)
Portland (OR)

참고

maxdb_fetch_array()
maxdb_fetch_assoc()
maxdb_fetch_resource()

이전 | 위로 | 다음
maxdb_fetch_object | 처음으로 | maxdb_fetch


maxdb_field_count

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_field_count,

(PECL maxdb:1.0-7.6.00.38)

maxdb_field_count, maxdb->field_count -- Returns the number of columns for the most recent query

설명

Procedural style:

int maxdb_field_count ( resource $link )

Object oriented style (method):

class maxdb {
int field_count ( void )
}

Returns the number of columns for the most recent query on the connection represented by the link parameter. This function can be useful when using the maxdb_store_result() function to determine if the query should have produced a non-empty result set or not without knowing the nature of the query.

반환값

An integer representing the number of fields in a result set.

예제

예 1098. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query( "CREATE TABLE friends (id int, name varchar(20))");

$maxdb->query( "INSERT INTO friends VALUES (1,'Hartmut')");
$maxdb->query( "INSERT INTO friends VALUES (2, 'Ulf')");

if ($maxdb->field_count()) {
   /* this was a select/show or describe query */
   $result = $maxdb->store_result();

   /* process resultset */
   $row = $result->fetch_row();

   /* free resultset */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1099. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE friends");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO friends VALUES (2, 'Ulf')");

if (maxdb_field_count($link)) {
   /* this was a select/show or describe query */
   $result = maxdb_store_result($link);

   /* process resultset */
   $row = maxdb_fetch_row($result);

   /* free resultset */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above example produces no output.

이전 | 위로 | 다음
maxdb_fetch | 처음으로 | maxdb_field_seek


maxdb_field_seek

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_field_seek,

(PECL maxdb:1.0-7.6.00.38)

maxdb_field_seek, result->field_seek -- Set result pointer to a specified field offset

설명

Procedural style:

bool maxdb_field_seek ( resource $result, int $fieldnr )

Object oriented style (method):

class result {
bool field_seek ( int $fieldnr )
}

Sets the field cursor to the given offset. The next call to maxdb_fetch_field() will retrieve the field definition of the column associated with that offset.

참고: To seek to the beginning of a row, pass an offset value of zero.

반환값

maxdb_field_seek() returns previuos value of field cursor.

예제

예 1100. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for 2nd column */
   $result->field_seek(1);
   $finfo = $result->fetch_field();

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1101. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for 2nd column */
   maxdb_field_seek($result, 1);
   $finfo = maxdb_fetch_field($result);

   printf("Name:     %s\n", $finfo->name);
   printf("Table:    %s\n", $finfo->table);
   printf("max. Len: %d\n", $finfo->max_length);
   printf("Flags:    %d\n", $finfo->flags);
   printf("Type:     %d\n\n", $finfo->type);

   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

참고

maxdb_fetch_field()

이전 | 위로 | 다음
maxdb_field_count | 처음으로 | maxdb_field_tell


maxdb_field_tell

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_field_tell,

(PECL maxdb:1.0-7.6.00.38)

maxdb_field_tell, result->current_field -- Get current field offset of a result pointer

설명

Procedural style:

int maxdb_field_tell ( resource $result )

Object oriented style (property):

class result {
int current_field
}

Returns the position of the field cursor used for the last maxdb_fetch_field() call. This value can be used as an argument to maxdb_field_seek().

반환값

Returns current offset of field cursor.

예제

예 1102. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = $maxdb->query($query)) {

   /* Get field information for all columns */
   while ($finfo = $result->fetch_field()) {

       /* get fieldpointer offset */
       $currentfield = $result->current_field;

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1103. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, cno from hotel.customer ORDER BY cno";

if ($result = maxdb_query($link, $query)) {

   /* Get field information for all fields */
   while ($finfo = maxdb_fetch_field($result)) {

       /* get fieldpointer offset */
       $currentfield = maxdb_field_tell($result);

       printf("Column    %d:\n", $currentfield);
       printf("Name:     %s\n", $finfo->name);
       printf("Table:    %s\n", $finfo->table);
       printf("max. Len: %d\n", $finfo->max_length);
       printf("Flags:    %d\n", $finfo->flags);
       printf("Type:     %d\n\n", $finfo->type);
   }
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Column    1:
Name:     NAME
Table:
max. Len: 10
Flags:    -1
Type:     2

Column    2:
Name:     CNO
Table:
max. Len: 4
Flags:    -1
Type:     0

참고

maxdb_fetch_field()
maxdb_field_seek()

이전 | 위로 | 다음
maxdb_field_seek | 처음으로 | maxdb_free_result


maxdb_free_result

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_free_result,

(PECL maxdb:1.0-7.6.00.38)

maxdb_free_result, result->free -- Frees the memory associated with a result

설명

Procedural style:

void maxdb_free_result ( resource $result )

Object oriented style (method):

class result {
void free ( void )
}

The maxdb_free_result() function frees the memory associated with the result represented by the result parameter, which was allocated by maxdb_query(), maxdb_store_result() or maxdb_use_result().

참고: You should always free your result with maxdb_free_result(), when your result resource is not needed anymore.

반환값

This function doesn't return any value.

참고

maxdb_query()
maxdb_stmt_store_result()
maxdb_store_result()
maxdb_use_result()

이전 | 위로 | 다음
maxdb_field_tell | 처음으로 | maxdb_get_client_info


maxdb_get_client_info

(PECL maxdb:1.0-7.6.00.38)

maxdb_get_client_info -- Returns the MaxDB client version as a string

설명

string maxdb_get_client_info ( void )

The maxdb_get_client_info() function is used to return a string representing the client version being used in the MaxDB extension.

반환값

A string that represents the MaxDB client library version

예제

예 1104. maxdb_get_client_info

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %s\n", maxdb_get_client_info());
?>

The above examples would produce the following output:

Client library version: libSQLDBC <...>

참고

maxdb_get_client_version()
maxdb_get_server_info()
maxdb_get_server_version()

이전 | 위로 | 다음
maxdb_free_result | 처음으로 | maxdb_get_client_version


maxdb_get_client_version

(PECL maxdb:1.0-7.6.00.38)

maxdb_get_client_version -- Get MaxDB client info

설명

int maxdb_get_client_version ( void )

Returns client version number as an integer.

반환값

A number that represents the MaxDB client library version in format: main_version*10000 + minor_version *100 + sub_version. For example, 7.5.0 is returned as 70500.

This is useful to quickly determine the version of the client library to know if some capability exists.

예제

예 1105. maxdb_get_client_version

<?php

/* We don't need a connection to determine
   the version of MaxDB client library */

printf("Client library version: %d\n", maxdb_get_client_version());
?>

The above examples would produce the following output:

Client library version: 7.<...>

참고

maxdb_get_client_info()
maxdb_get_server_info()
maxdb_get_server_version()

이전 | 위로 | 다음
maxdb_get_client_info | 처음으로 | maxdb_get_host_info


maxdb_get_host_info

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_get_host_info,

(PECL maxdb:1.0-7.6.00.38)

maxdb_get_host_info, maxdb->get_host_info -- Returns a string representing the type of connection used

설명

Procdural style:

string maxdb_get_host_info ( resource $link )

Object oriented style (property):

class maxdb {
string host_info
}

The maxdb_get_host_info() function returns a string describing the connection represented by the link parameter is using.

반환값

A character string representing the server hostname and the connection type.

예제

예 1106. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", $maxdb->host_info);

/* close connection */
$maxdb->close();
?>

예 1107. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print host information */
printf("Host info: %s\n", maxdb_get_host_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Host info: localhost

참고

maxdb_get_proto_info()

이전 | 위로 | 다음
maxdb_get_client_version | 처음으로 | maxdb_get_metadata


maxdb_get_metadata

(PECL maxdb:1.0)

maxdb_get_metadata -- Alias of maxdb_stmt_result_metadata()

설명

이 함수는 다음 함수의 alias입니다: maxdb_stmt_result_metadata().

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

이전 | 위로 | 다음
maxdb_get_host_info | 처음으로 | maxdb_get_proto_info


maxdb_get_proto_info

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_get_proto_info,

(PECL maxdb:1.0-7.6.00.38)

maxdb_get_proto_info, maxdb->protocol_version -- Returns the version of the MaxDB protocol used

설명

Procedural style:

int maxdb_get_proto_info ( resource $link )

Object oriented style (property):

class maxdb {
string protocol_version
}

Returns an integer representing the MaxDB protocol version used by the connection represented by the link parameter.

반환값

Returns an integer representing the protocol version (constant 10).

예제

예 1108. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", $maxdb->protocol_version);

/* close connection */
$maxdb->close();
?>

예 1109. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print protocol version */
printf("Protocol version: %d\n", maxdb_get_proto_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Protocol version: 10

참고

maxdb_get_host_info()

이전 | 위로 | 다음
maxdb_get_metadata | 처음으로 | maxdb_get_server_info


maxdb_get_server_info

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_get_server_info,

(PECL maxdb:1.0-7.6.00.38)

maxdb_get_server_info, maxdb->server_info -- Returns the version of the MaxDB server

설명

Procedural style:

string maxdb_get_server_info ( resource $link )

Object oriented style (property):

class maxdb {
string server_info
}

Returns a string representing the version of the MaxDB server that the MaxDB extension is connected to (represented by the link parameter).

반환값

A character string representing the server version.

예제

예 1110. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", $maxdb->server_info);

/* close connection */
$maxdb->close();
?>

예 1111. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %s\n", maxdb_get_server_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Server version: Kernel    7<...>

참고

maxdb_get_client_info()
maxdb_get_client_version()
maxdb_get_server_version()

이전 | 위로 | 다음
maxdb_get_proto_info | 처음으로 | maxdb_get_server_version


maxdb_get_server_version

(PECL maxdb:1.0-7.6.00.38)

maxdb_get_server_version -- Returns the version of the MaxDB server as an integer

설명

Procedural style:

int maxdb_get_server_version ( resource $link )

Object oriented style (property):

class maxdb {
int server_version
}

The maxdb_get_server_version() function returns the version of the server connected to (represented by the link parameter) as an integer.

The form of this version number is main_version * 10000 + minor_version * 100 + sub_version (i.e. version 7.5.0 is 70500).

반환값

An integer representing the server version.

예제

예 1112. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", $maxdb->server_version);

/* close connection */
$maxdb->close();
?>

예 1113. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* print server version */
printf("Server version: %d\n", maxdb_get_server_version($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Server version: 7<...>

참고

maxdb_get_client_info()
maxdb_get_client_version()
maxdb_get_server_info()

이전 | 위로 | 다음
maxdb_get_server_info | 처음으로 | maxdb_info


maxdb_info

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_info,

(PECL maxdb:1.0-7.6.00.38)

maxdb_info, maxdb->info -- Retrieves information about the most recently executed query

설명

Procedural style:

string maxdb_info ( resource $link )

Object oriented style (property)

class maxdb {
string info
}

The maxdb_info() function returns a string providing information about the last query executed. The nature of this string is provided below:

표 160. Possible maxdb_info return values

Query type | Example result string
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

참고: Queries which do not fall into one of the above formats are not supported. In these situations, maxdb_info() will return an empty string.

반환값

A character string representing additional information about the most recently executed query.

예제

예 1114. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
$maxdb->query("INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", $maxdb->info);

/* close connection */
$maxdb->close();
?>

예 1115. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.t1 LIKE hotel.city");

/* INSERT INTO .. SELECT */
maxdb_query($link, "INSERT INTO temp.t1 SELECT * FROM hotel.city");
printf("%s\n", maxdb_info($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Records: 25 Duplicates: 0 Warnings: 0

참고

maxdb_affected_rows()
maxdb_warning_count()
maxdb_num_rows()

이전 | 위로 | 다음
maxdb_get_server_version | 처음으로 | maxdb_init


maxdb_init

(PECL maxdb:1.0-7.6.00.38)

maxdb_init -- Initializes MaxDB and returns an resource for use with maxdb_real_connect

설명

resource maxdb_init ( void )

Allocates or initializes a MaxDB resource suitable for maxdb_options() and maxdb_real_connect().

참고: Any subsequent calls to any maxdb function (except maxdb_options()) will fail until maxdb_real_connect() was called.

반환값

Returns an resource.

참고

maxdb_options()
maxdb_close()
maxdb_real_connect()
maxdb_connect()

이전 | 위로 | 다음
maxdb_info | 처음으로 | maxdb_insert_id


maxdb_insert_id

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_insert_id,

(PECL maxdb:1.0-7.6.00.38)

maxdb_insert_id, maxdb->insert_id -- Returns the auto generated id used in the last query

설명

Procedural style:

mixed maxdb_insert_id ( resource $link )

Object oriented style (property):

class maxdb {
mixed insert_id
}

The maxdb_insert_id() function returns the ID generated by a query on a table with a column having the DEFAULT SERIAL attribute. If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the DEFAULT SERIAL attribute, this function will return zero.

반환값

The value of the DEFAULT SERIAL field that was updated by the previous query. Returns zero if there was no previous query on the connection or if the query did not update an DEFAULT_SERIAL value.

참고: If the number is greater than maximal int value, maxdb_insert_id() will return a string.

예제

예 1116. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
$maxdb->query("DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

$maxdb->query("CREATE TABLE mycity LIKE hotel.city");
$maxdb->query("ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
$maxdb->query($query);

printf ("New Record has id %d.\n", $maxdb->insert_id);

/* drop table */
$maxdb->query("DROP TABLE mycity");

/* close connection */
$maxdb->close();
?>

예 1117. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP TABLE mycity");
maxdb_report (MAXDB_REPORT_ERROR);

maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city");
maxdb_query($link, "ALTER TABLE mycity ADD id FIXED(11) DEFAULT SERIAL");

$query = "INSERT INTO mycity (zip,name,state) VALUES ('12203','Albany' ,'NY')";
maxdb_query($link, $query);

printf ("New Record has id %d.\n", maxdb_insert_id($link));

/* drop table */
maxdb_query($link, "DROP TABLE mycity");

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

New Record has id 1.

이전 | 위로 | 다음
maxdb_init | 처음으로 | maxdb_kill


maxdb_kill

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_kill,

(PECL maxdb:1.0-7.6.00.38)

maxdb_kill, maxdb->kill -- Disconnects from a MaxDB server

설명

Procedural style:

bool maxdb_kill ( resource $link, int $processid )

Object oriented style (method)

class maxdb {
bool kill ( int $processid )
}

This function is used to disconnect from a MaxDB server specified by the processid parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1118. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

예 1119. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE myCity LIKE City")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Error: Session not connected

참고

maxdb_thread_id()

이전 | 위로 | 다음
maxdb_insert_id | 처음으로 | maxdb_master_query


maxdb_master_query

(PECL maxdb:1.0-7.6.00.38)

maxdb_master_query -- Enforce execution of a query on the master in a master/slave setup

설명

bool maxdb_master_query ( resource $link, string $query )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_kill | 처음으로 | maxdb_more_results


maxdb_more_results

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_more_results,

(PECL maxdb:1.0-7.6.00.38)

maxdb_more_results, maxdb->more_results -- Check if there any more query results from a multi query

설명

bool maxdb_more_results ( resource $link )

maxdb_more_results() indicates if one or more result sets are available from a previous call to maxdb_multi_query().

반환값

Always FALSE.

예제

See maxdb_multi_query().

참고

maxdb_multi_query()
maxdb_next_result()
maxdb_store_result()
maxdb_use_result()

이전 | 위로 | 다음
maxdb_master_query | 처음으로 | maxdb_multi_query


maxdb_multi_query

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_multi_query,

(PECL maxdb:1.0-7.6.00.38)

maxdb_multi_query, maxdb->multi_query -- Performs a query on the database

설명

Procedural style:

bool maxdb_multi_query ( resource $link, string $query )

Object oriented style (method):

class maxdb {
bool multi_query ( string $query )
}

The maxdb_multi_query() works like the function maxdb_query(). Multiple queries are not yet supported.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1120. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM dual";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->store_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

예 1121. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT * FROM dual";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_store_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

a

참고

maxdb_use_result()
maxdb_store_result()
maxdb_next_result()
maxdb_more_results()

이전 | 위로 | 다음
maxdb_more_results | 처음으로 | maxdb_next_result


maxdb_next_result

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_next_result,

(PECL maxdb:1.0-7.6.00.38)

maxdb_next_result, maxdb->next_result -- Prepare next result from multi_query

설명

bool maxdb_next_result ( resource $link )

Since multiple queries are not yet supported, maxdb_next_result() returns always FALSE.

반환값

Returns FALSE.

참고

maxdb_multi_query()
maxdb_more_results()
maxdb_store_result()
maxdb_use_result()

이전 | 위로 | 다음
maxdb_multi_query | 처음으로 | maxdb_num_fields


maxdb_num_fields

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_num_fields,

(PECL maxdb:1.0-7.6.00.38)

maxdb_num_fields, result->field_count -- Get the number of fields in a result

설명

Procedural style:

int maxdb_num_fields ( resource $result )

Object oriented style (property):

class result {
int field_count
}

maxdb_num_fields() returns the number of fields from specified result set.

반환값

The number of fields from a result set

예제

예 1122. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = $result->field_count;

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1123. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT * FROM hotel.city ORDER BY zip")) {

   /* determine number of fields in result set */
   $field_cnt = maxdb_num_fields($result);

   printf("Result set has %d fields.\n", $field_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Result set has 3 fields.

참고

maxdb_fetch_field()

이전 | 위로 | 다음
maxdb_next_result | 처음으로 | maxdb_num_rows


maxdb_num_rows

(PECL maxdb:1.0-7.6.00.38)

maxdb_num_rows -- Gets the number of rows in a result

설명

Procedural style:

int maxdb_num_rows ( resource $result )

Object oriented style (property):

class maxdb {
int num_rows
}

Returns the number of rows in the result set.

The use of maxdb_num_rows() depends on whether you use buffered or unbuffered result sets. In case you use unbuffered resultsets maxdb_num_rows() will not correct the correct number of rows until all the rows in the result have been retrieved.

반환값

Returns number of rows in the result set.

참고: If the number of rows is greater than maximal int value, the number will be returned as a string.

예제

예 1124. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = $maxdb->query("SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = $result->num_rows;

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   $result->close();
}

/* close connection */
$maxdb->close();
?>

예 1125. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($result = maxdb_query($link, "SELECT cno, name FROM hotel.customer ORDER BY name")) {

   /* determine number of rows result set */
   $row_cnt = maxdb_num_rows($result);

   printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
   maxdb_free_result($result);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Result set has 15 rows.

참고

maxdb_affected_rows()
maxdb_store_result()
maxdb_use_result()
maxdb_query()

이전 | 위로 | 다음
maxdb_num_fields | 처음으로 | maxdb_options


maxdb_options

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_options,

(PECL maxdb:1.0-7.6.00.38)

maxdb_options, maxdb->options -- Set options

설명

Procedural style:

bool maxdb_options ( resource $link, int $option, mixed $value )

Object oriented style (method)

class maxdb {
bool options ( int $option, mixed $value )
}

maxdb_options() can be used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

maxdb_options() should be called after maxdb_init() and before maxdb_real_connect().

The parameter option is the option that you want to set, the value is the value for the option. For detailed description of the options see » http://dev.mysql.com/doc/maxdb/ The parameter option can be one of the following values:

표 161. Valid options

Name | Description
MAXDB_COMPNAME | The component name used to initialise the SQLDBC runtime environment.
MAXDB_APPLICATION | The application to be connected to the database.
MAXDB_APPVERSION | The version of the application.
MAXDB_SQLMODE | The SQL mode.
MAXDB_UNICODE | TRUE, if the connection is an unicode (UCS2) client or FALSE, if not.
MAXDB_TIMEOUT | The maximum allowed time of inactivity after which the connection to the database is closed by the system.
MAXDB_ISOLATIONLEVEL | Specifies whether and how shared locks and exclusive locks are implicitly requested or released.
MAXDB_PACKETCOUNT | The number of different request packets used for the connection.
MAXDB_STATEMENTCACHESIZE | The number of prepared statements to be cached for the connection for re-use.
MAXDB_CURSORPREFIX | The prefix to use for result tables that are automatically named.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

See maxdb_real_connect().

참고

maxdb_init()
maxdb_real_connect()

이전 | 위로 | 다음
maxdb_num_rows | 처음으로 | maxdb_param_count


maxdb_param_count

(PECL maxdb:1.0)

maxdb_param_count -- Alias of maxdb_stmt_param_count()

설명

이 함수는 다음 함수의 alias입니다: maxdb_stmt_param_count().

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

이전 | 위로 | 다음
maxdb_options | 처음으로 | maxdb_ping


maxdb_ping

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_ping,

(PECL maxdb:1.0-7.6.00.38)

maxdb_ping, maxdb->ping -- Pings a server connection, or tries to reconnect if the connection has gone down

설명

Procedural style:

bool maxdb_ping ( resource $link )

Object oriented style (method):

class maxdb {
bool ping ( void )
}

Checks whether the connection to the server is working. If it has gone down, and global option maxdb.reconnect is enabled an automatic reconnection is attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1126. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if ($maxdb->ping()) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", $maxdb->error);
}

/* close connection */
$maxdb->close();
?>

예 1127. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* check if server is alive */
if (maxdb_ping($link)) {
   printf ("Our connection is ok!\n");
} else {
   printf ("Error: %s\n", maxdb_error($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Our connection is ok!

이전 | 위로 | 다음
maxdb_param_count | 처음으로 | maxdb_prepare


maxdb_prepare

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_prepare,

(PECL maxdb:1.0-7.6.00.38)

maxdb_prepare, maxdb->prepare -- Prepare a SQL statement for execution

설명

Procedure style:

resource maxdb_prepare ( resource $link, string $query )

Object oriented style (method)

class stmt {
resource prepare ( string $query )
}

maxdb_prepare() prepares the SQL query pointed to by the null-terminated string query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

참고: You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

참고: The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

반환값

maxdb_prepare() returns a statement resource or FALSE if an error occured.

예제

예 1128. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = $maxdb->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1129. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Rosemont";

/* create a prepared statement */
if ($stmt = maxdb_prepare($link, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

  /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Rosemont is in district IL

참고

maxdb_stmt_execute()
maxdb_stmt_fetch()
maxdb_stmt_bind_param()
maxdb_stmt_bind_result()
maxdb_stmt_close()

이전 | 위로 | 다음
maxdb_ping | 처음으로 | maxdb_query


maxdb_query

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_query,

(PECL maxdb:1.0-7.6.00.38)

maxdb_query, maxdb->query -- Performs a query on the database

설명

Procedural style:

mixed maxdb_query ( resource $link, string $query [, int $resultmode] )

Object oriented style (method):

class maxdb {
mixed query ( string $query )
}

The maxdb_query() function is used to simplify the act of performing a query against the database represented by the link parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. For SELECT, SHOW, DESCRIBE or EXPLAIN maxdb_query() will return a result resource.

예제

예 1130. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if ($maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = $maxdb->query("SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", $result->num_rows);

   /* free result set */
   $result->close();
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = $maxdb->query("SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   $result->close();
}

$maxdb->close();
?>

예 1131. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Create table doesn't return a resultset */
if (maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city") === TRUE) {
   printf("Table mycity successfully created.\n");
}

/* Select queries return a resultset */
if ($result = maxdb_query($link, "SELECT name FROM hotel.city")) {
   printf("Select returned %d rows.\n", maxdb_num_rows($result));

   /* free result set */
   maxdb_free_result($result);
}

/* If we have to retrieve large amount of data we use MAXDB_USE_RESULT */
if ($result = maxdb_query($link, "SELECT * FROM hotel.city", MAXDB_USE_RESULT)) {
   maxdb_free_result($result);
}

maxdb_close($link);
?>

The above examples would produce the following output:

Table mycity successfully created.
Select returned 25 rows.

참고

maxdb_real_query()
maxdb_multi_query()
maxdb_free_result()

이전 | 위로 | 다음
maxdb_prepare | 처음으로 | maxdb_real_connect


maxdb_real_connect

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_real_connect,

(PECL maxdb:1.0-7.6.00.38)

maxdb_real_connect, maxdb->real_connect -- Opens a connection to a MaxDB server

설명

Procedural style

bool maxdb_real_connect ( resource $link [, string $hostname [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket]]]]]] )

Object oriented style (method)

class maxdb {
bool real_connect ( [string $hostname [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket]]]]]] )
}

maxdb_real_connect() attempts to establish a connection to a MaxDB database engine running on hostname.

This function differs from maxdb_connect():

  • maxdb_real_connect() needs a valid resource which has to be created by function maxdb_init()

  • With function maxdb_options() you can set various options for connection.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1132. Object oriented style

<?php

/* create a connection object which is not connected */
$maxdb = maxdb_init();

/* set connection options */
$maxdb->options(MAXDB_UNICODE, "FALSE");
$maxdb->options(MAXDB_TIMEOUT, 5);

/* connect to server */
$maxdb->real_connect('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", $maxdb->host_info);

$maxdb->close();
?>

예 1133. Procedural style

<?php

/* create a connection object which is not connected */
$link = maxdb_init();

/* set connection options */
maxdb_options($link, MAXDB_UNICODE, "FALSE");
maxdb_options($link, MAXDB_TIMEOUT, 5);

/* connect to server */
maxdb_real_connect($link, 'localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("Connection: %s\n.", maxdb_get_host_info($link));

maxdb_close($link);
?>

The above examples would produce the following output:

Connection: localhost <...>

참고

maxdb_connect()
maxdb_init()
maxdb_options()
maxdb_ssl_set()
maxdb_close()

이전 | 위로 | 다음
maxdb_query | 처음으로 | maxdb_real_escape_string


maxdb_real_escape_string

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_real_escape_string,

(PECL maxdb:1.0-7.6.00.38)

maxdb_real_escape_string, maxdb->real_escape_string -- Escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection

설명

Procedural style:

string maxdb_real_escape_string ( resource $link, string $escapestr )

Object oriented style (method):

class maxdb {
string real_escape_sring ( string $escapestr )
}

This function is used to create a legal SQL string that you can use in a SQL statement. The string escapestr is encoded to an escaped SQL string, taking into account the current character set of the connection.

Characters encoded are ', ".

반환값

Returns an escaped string.

예제

예 1134. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$maxdb->query("INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", $maxdb->sqlstate);
}

$city = $maxdb->real_escape_string($city);

/* this query with escaped $city will work */
if ($maxdb->query("INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", $maxdb->affected_rows);
}

$maxdb->close();
?>

예 1135. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!maxdb_query($link, "INSERT into temp.mycity VALUES ('11111','$city','NY')")) {
   printf("Error: %s\n", maxdb_sqlstate($link));
}

$city = maxdb_real_escape_string($link, $city);

/* this query with escaped $city will work */
if (maxdb_query($link, "INSERT into temp.mycity VALUES ('22222','$city','NY')")) {
   printf("%d Row inserted.\n", maxdb_affected_rows($link));
}

maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -5016 POS(43) Missing delimiter: ) <...>
Error: 42000
1 Row inserted.

참고

maxdb_character_set_name()

이전 | 위로 | 다음
maxdb_real_connect | 처음으로 | maxdb_real_query


maxdb_real_query

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_real_query,

(PECL maxdb:1.0-7.6.00.38)

maxdb_real_query, maxdb->real_query -- Execute an SQL query

설명

Procedural style

bool maxdb_real_query ( resource $link, string $query )

Object oriented style (method):

class maxdb {
bool real_query ( string $query )
}

The maxdb_real_query() is functionally identical with the maxdb_query().

참고: In order to determine if a given query should return a result set or not, see maxdb_field_count().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

maxdb_query()
maxdb_store_result()
maxdb_use_result()

이전 | 위로 | 다음
maxdb_real_escape_string | 처음으로 | maxdb_report


maxdb_report

(PECL maxdb:1.0)

maxdb_report -- Enables or disables internal report functions

설명

bool maxdb_report ( int $flags )

예제

예 1136. Procedural style

<?php
/* activate reporting */
maxdb_report(MAXDB_REPORT_ERROR);

$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* this query should report an error */
$result = maxdb_query($link,"SELECT Name FROM Nonexistingtable WHERE population > 50000");

maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -4004 POS(18) Unknown table name:NONEXISTINGTABLE <...>

이전 | 위로 | 다음
maxdb_real_query | 처음으로 | maxdb_rollback


maxdb_rollback

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_rollback,

(PECL maxdb:1.0-7.6.00.38)

maxdb_rollback, maxdb->rollback -- Rolls back current transaction

설명

bool maxdb_rollback ( resource $link )
class maxdb {
bool rollback ( void )
}

Rollbacks the current transaction for the database specified by the link parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1137. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
$maxdb->autocommit(FALSE);

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
$maxdb->commit();

/* delete all rows */
$maxdb->query("DELETE FROM temp.mycity");

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Rollback */
$maxdb->rollback();

if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
   $row = $result->fetch_row();
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   $result->close();
}

/* Drop table myCity */
$maxdb->query("DROP TABLE temp.mycity");

$maxdb->close();
?>

예 1138. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* disable autocommit */
maxdb_autocommit($link, FALSE);

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

/* commit insert */
maxdb_commit($link);

/* delete all rows */
maxdb_query($link, "DELETE FROM temp.mycity");

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity.\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Rollback */
maxdb_rollback($link);

if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
   $row = maxdb_fetch_row($result);
   printf("%d rows in table mycity (after rollback).\n", $row[0]);
   /* Free result */
   maxdb_free_result($result);
}

/* Drop table myCity */
maxdb_query($link, "DROP TABLE temp.mycity");

maxdb_close($link);
?>

The above examples would produce the following output:

0 rows in table mycity.
25 rows in table mycity (after rollback).

참고

maxdb_commit()
maxdb_autocommit()

이전 | 위로 | 다음
maxdb_report | 처음으로 | maxdb_rpl_parse_enabled


maxdb_rpl_parse_enabled

(PECL maxdb:1.0-7.6.00.38)

maxdb_rpl_parse_enabled -- Check if RPL parse is enabled

설명

int maxdb_rpl_parse_enabled ( resource $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_rollback | 처음으로 | maxdb_rpl_probe


maxdb_rpl_probe

(PECL maxdb:1.0-7.6.00.38)

maxdb_rpl_probe -- RPL probe

설명

bool maxdb_rpl_probe ( resource $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_rpl_parse_enabled | 처음으로 | maxdb_rpl_query_type


maxdb_rpl_query_type

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_rpl_query_type,

(PECL maxdb:1.0-7.6.00.38)

maxdb_rpl_query_type, maxdb->rpl_query_type -- Returns RPL query type

설명

int maxdb_rpl_query_type ( resource $link )

Object oriented style (method)

class maxdb {
int rpl_query_type ( void )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_rpl_probe | 처음으로 | maxdb_select_db


maxdb_select_db

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_select_db,

(PECL maxdb:1.0-7.6.00.38)

maxdb_select_db, maxdb->select_db -- Selects the default database for database queries

설명

bool maxdb_select_db ( resource $link, string $dbname )

The maxdb_select_db() function selects the default database (specified by the dbname parameter) to be used when performing queries against the database connection represented by the link parameter.

참고: This function should only be used to change the default database for the connection. You can select the default database with 4th parameter in maxdb_connect().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1139. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

/* change db to non existing db */
$maxdb->select_db("XXXXXXXX");

/* return name of current default database */
if ($result = $maxdb->query("SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = $result->fetch_row();
   printf("Default database is %s.\n", $row[0]);
   $result->close();
}

$maxdb->close();
?>

예 1140. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

/* change db to non existing db */
maxdb_select_db($link, "XXXXXXXX");

/* return name of current default database */
if ($result = maxdb_query($link, "SELECT SERVERDB FROM USERS WHERE USERNAME='MONA'")) {
   $row = maxdb_fetch_row($result);
   printf("Default database is %s.\n", $row[0]);
   maxdb_free_result($result);
}

maxdb_close($link);
?>

The above examples would produce the following output:

Default database is <...>.

Warning: maxdb_select_db(): -10709 Connection failed (RTE:database not running) <...>

Warning: maxdb_query(): -10821 Session not connected [] <...>

Warning: maxdb_close(): -10821 Session not connected [] <...>

참고

maxdb_connect()
maxdb_real_connect()

이전 | 위로 | 다음
maxdb_rpl_query_type | 처음으로 | maxdb_send_long_data


maxdb_send_long_data

(PECL maxdb:1.0-7.6.00.38)

maxdb_send_long_data -- Alias of maxdb_stmt_send_long_data()

설명

이 함수는 다음 함수의 alias입니다: maxdb_stmt_send_long_data().

이 함수 alias는 권장되지 않으며, 하위 호환을 위하여 남겨져 있습니다. 앞으로 PHP에서 제거될 수 있으므로 사용하지 않기를 권합니다.

이전 | 위로 | 다음
maxdb_select_db | 처음으로 | maxdb_send_query


maxdb_send_query

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_send_query,

(PECL maxdb:1.0-7.6.00.38)

maxdb_send_query, maxdb->send_query -- Send the query and return

설명

bool maxdb_send_query ( resource $link, string $query )

Object oriented style (method)

class maxdb {
bool send_query ( string $query )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_send_long_data | 처음으로 | maxdb_server_end


maxdb_server_end

(PECL maxdb:1.0-7.6.00.38)

maxdb_server_end -- Shut down the embedded server

설명

void maxdb_server_end ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_send_query | 처음으로 | maxdb_server_init


maxdb_server_init

(PECL maxdb:1.0-7.6.00.38)

maxdb_server_init -- Initialize embedded server

설명

bool maxdb_server_init ( [array $server [, array $groups]] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_server_end | 처음으로 | maxdb_set_opt


maxdb_set_opt

(PECL maxdb:1.0)

maxdb_set_opt -- Alias of maxdb_options()

설명

이 함수는 다음 함수의 alias입니다: maxdb_options().

이전 | 위로 | 다음
maxdb_server_init | 처음으로 | maxdb_sqlstate


maxdb_sqlstate

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_sqlstate,

(PECL maxdb:1.0-7.6.00.38)

maxdb_sqlstate, maxdb->sqlstate -- Returns the SQLSTATE error from previous MaxDB operation

설명

Procedural style:

string maxdb_sqlstate ( resource $link )

Object oriented style (property):

class maxdb {
string sqlstate
}

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

참고: Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

반환값

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

예제

예 1141. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!$maxdb->query("CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", $maxdb->sqlstate);
}

$maxdb->close();
?>

예 1142. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Table City already exists, so we should get an error */
if (!maxdb_query($link, "CREATE TABLE hotel.city (ID INT, Name VARCHAR(30))")) {
   printf("Error - SQLSTATE %s.\n", maxdb_sqlstate($link));
}

maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -6000 POS(20) Duplicate table name:CITY [I6000] <...>
Error - SQLSTATE I6000.

참고

maxdb_errno()
maxdb_error()

이전 | 위로 | 다음
maxdb_set_opt | 처음으로 | maxdb_ssl_set


maxdb_ssl_set

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_ssl_set,

(PECL maxdb:1.0-7.6.00.38)

maxdb_ssl_set, maxdb->ssl_set -- Used for establishing secure connections using SSL

설명

Procedural style:

bool maxdb_ssl_set ( resource $link, string $key, string $cert, string $ca, string $capath, string $cipher )

Object oriented style (method):

class maxdb {
bool ssl_set ( string $key, string $cert, string $ca, string $capath, string $cipher )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_sqlstate | 처음으로 | maxdb_stat


maxdb_stat

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stat,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stat, maxdb->stat -- Gets the current system status

설명

Procedural style:

string maxdb_stat ( resource $link )

Object oriented style (method):

class maxdb {
string maxdb->stat ( void )
}

maxdb_stat() returns a string containing several information about the MaxDB server running.

반환값

A string describing the server status. FALSE if an error occurred.

예제

예 1143. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf ("System status: %s\n", $maxdb->stat());

$maxdb->close();
?>

예 1144. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

printf("System status: %s\n", maxdb_stat($link));

maxdb_close($link);
?>

The above examples would produce the following output:

System status: Kernel    7<...>

참고

maxdb_get_server_info()

이전 | 위로 | 다음
maxdb_ssl_set | 처음으로 | maxdb_stmt_affected_rows


maxdb_stmt_affected_rows

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_affected_rows,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_affected_rows, maxdb_stmt->affected_rows -- Returns the total number of rows changed, deleted, or inserted by the last executed statement

설명

Procedural style :

int maxdb_stmt_affected_rows ( resource $stmt )

Object oriented style (property):

class stmt {
int affected_rows
}

maxdb_stmt_affected_rows() returns the number of rows affected by INSERT, UPDATE, or DELETE query. If the last query was invalid or the number of rows can not determined, this function will return -1.

반환값

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE/DELETE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query has returned an error or the number of rows can not determined.

예제

예 1145. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = $maxdb->prepare($query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   $stmt->bind_param("s", $code);

   /* execute statement */
   $stmt->execute();

   printf("rows inserted: %d\n", $stmt->affected_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1146. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* create temp table */
maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

$query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

/* prepare statement */
if ($stmt = maxdb_prepare($link, $query)) {

   /* Bind variable for placeholder */
   $code = 'N%';
   maxdb_stmt_bind_param($stmt, "s", $code);

   /* execute statement */
   maxdb_stmt_execute($stmt);

   printf("rows inserted: %d\n", maxdb_stmt_affected_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

rows inserted: 4

참고

maxdb_stmt_num_rows()
maxdb_prepare()

이전 | 위로 | 다음
maxdb_stat | 처음으로 | maxdb_stmt_bind_param


maxdb_stmt_bind_param

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_bind_param,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_bind_param, stmt->bind_param -- Binds variables to a prepared statement as parameters

설명

Procedural style:

bool maxdb_stmt_bind_param ( resource $stmt, string $types, mixed &$var1 [, mixed &$...] )

Object oriented style (method):

class stmt {
bool bind_param ( string $types, mixed &$var1 [, mixed &$...] )
}

Procedural style (extended syntax):

bool maxdb_stmt_bind_param ( resource $stmt, string $types, array &$var )

Object oriented style (method) (extended syntax):

class stmt {
bool bind_param ( string $types, array &$var )
}

maxdb_stmt_bind_param() is used to bind variables for the parameter markers in the SQL statement that was passed to maxdb_prepare(). The string types contains one or more characters which specify the types for the corresponding bind variables.

The extended syntax of maxdb_stmt_bind_param() allows to give the parameters as an array instead of a variable list of PHP variables to the function. If the array variable has not been used before calling maxdb_stmt_bind_param(), it has to be initialized as an emtpy array. See the examples how to use maxdb_stmt_bind_param() with extended syntax.

Variables for SELECT INTO SQL statements can also be bound using maxdb_stmt_bind_param(). Parameters for database procedures can be bound using maxdb_stmt_bind_param(). See the examples how to use maxdb_stmt_bind_param() in this cases.

If a variable bound as INTO variable to a SQL statement was used before, the content of this variable is overwritten by the data of the SELECT INTO statement. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

For INOUT parameters of database procedures the content of the bound INOUT variable is overwritten by the output value of the database procedure. A reference to this variable will be invalid after a call to maxdb_stmt_bind_param().

표 162. Type specification chars

Character | Description
i | corresponding variable has type integer
d | corresponding variable has type double
s | corresponding variable has type string
b | corresponding variable is a blob and will be sent in packages

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1147. Object oriented style

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");
$stmt->bind_param('sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

예 1148. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query ($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query ($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = maxdb_prepare($link, "INSERT INTO temp.mycity VALUES (?, ?, ?)");
maxdb_stmt_bind_param($stmt, 'sss', $zip, $name, $state);

$zip = '11111';
$name = 'Georgetown';
$state = 'NY';

/* execute prepared statement */
maxdb_stmt_execute($stmt);

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

/* close statement and connection */
maxdb_stmt_close($stmt);

/* Clean up table CountryLanguage */
maxdb_query($link, "DELETE FROM temp.mycity WHERE name='Georgetown'");
printf("%d Row deleted.\n", maxdb_affected_rows($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

1 Row inserted.
1 Row deleted.

예 1149. Procedural style (SELECT INTO)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "SELECT price INTO ? FROM hotel.room where hno = ? and type = ?");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

$hno = "50";
$rtype = "suite";

maxdb_stmt_bind_param($stmt, 'dss', $price, $hno, $rtype);
maxdb_stmt_execute($stmt);

printf ("%f\n", $price);

maxdb_stmt_close ($stmt);
?>

The above examples would produce the following output:

21.600000

예 1150. Procedural style (DB procedure)

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

The above examples would produce the following output:

a

예 1151. Object oriented style (extended syntax)

<?php
$maxdb = new maxdb('localhost', 'MONA', 'RED', 'DEMODB');

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query ("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");

$arr = array();

$stmt->bind_param('iss', $arr);

$arr[0] = 11111;
$arr[1] = 'Georgetown';
$arr[2] = 'NY';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", maxdb_stmt_affected_rows($stmt));

$arr[0] = 22222;
$arr[1] = 'New Orleans';
$arr[2] = 'LA';

/* execute prepared statement */
$stmt->execute();

printf("%d Row inserted.\n", $stmt->affected_rows);

/* close statement and connection */
$stmt->close();

$result = $maxdb->query("SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'");
if ($result) {
  while ($row = $result->fetch_row()) {
    printf ("%s %s %s\n", $row[0], $row[1], $row[2]);
  }
}

/* Clean up table CountryLanguage */
$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");
$maxdb->query("DELETE FROM temp.mycity WHERE name='New Orleans'");
printf("%d Rows deleted.\n", $maxdb->affected_rows);

/* close connection */
$maxdb->close();
?>

The above examples would produce the following output:

1 Row inserted.
1 Row inserted.
11111 Georgetown NY
22222 New Orleans LA
2 Rows deleted.

참고

maxdb_stmt_bind_result()
maxdb_stmt_execute()
maxdb_stmt_fetch()
maxdb_prepare()
maxdb_stmt_send_long_data()
maxdb_stmt_errno()
maxdb_stmt_error()

이전 | 위로 | 다음
maxdb_stmt_affected_rows | 처음으로 | maxdb_stmt_bind_result


maxdb_stmt_bind_result

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_bind_result,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_bind_result, stmt->bind_result -- Binds variables to a prepared statement for result storage

설명

Procedural style:

bool maxdb_stmt_bind_result ( resource $stmt, mixed &$var1 [, mixed &$...] )

Object oriented style (method):

class stmt {
bool bind_result ( mixed &$var1 [, mixed &$...] )
}

maxdb_stmt_bind_result() is used to associate (bind) columns in the result set to variables. When maxdb_stmt_fetch() is called to fetch data, the MaxDB client/server protocol places the data for the bound columns into the specified variables var1, ....

참고: Note that all columns must be bound prior to calling maxdb_stmt_fetch(). Depending on column types bound variables can silently change to the corresponding PHP type.

A column can be bound or rebound at any time, even after a result set has been partially retrieved. The new binding takes effect the next time maxdb_stmt_fetch() is called.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1152. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = $maxdb->prepare("SELECT zip, name FROM hotel.city ORDER BY name")) {
   $stmt->execute();

   /* bind variables to prepared statement */
   $stmt->bind_result($col1, $col2);

   /* fetch values */
   while ($stmt->fetch()) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   $stmt->close();
}
/* close connection */
$maxdb->close();

?>

예 1153. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* prepare statement */
if ($stmt = maxdb_prepare($link, "SELECT zip, name FROM hotel.city ORDER BY name")) {
   maxdb_stmt_execute($stmt);

   /* bind variables to prepared statement */
   maxdb_stmt_bind_result($stmt, $col1, $col2);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf("%s %s\n", $col1, $col2);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

12203 Albany
60601 Chicago
60615 Chicago
45211 Cincinnati
33575 Clearwater
75243 Dallas
32018 Daytona Beach
33441 Deerfield Beach
48226 Detroit
90029 Hollywood
92714 Irvine
90804 Long Beach
11788 Long Island
90018 Los Angeles
70112 New Orleans
10019 New York
10580 New York
92262 Palm Springs
97213 Portland
60018 Rosemont
95054 Santa Clara
20903 Silver Spring
20005 Washington
20019 Washington
20037 Washington

참고

maxdb_stmt_bind_param()
maxdb_stmt_execute()
maxdb_stmt_fetch()
maxdb_prepare()
maxdb_stmt_prepare()
maxdb_stmt_init()
maxdb_stmt_errno()
maxdb_stmt_error()

이전 | 위로 | 다음
maxdb_stmt_bind_param | 처음으로 | maxdb_stmt_close_long_data


maxdb_stmt_close

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_close,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_close, maxdb_stmt->close -- Closes a prepared statement

설명

Procedural style:

bool maxdb_stmt_close ( resource $stmt )

Object oriented style (method):

class maxdb_stmt {
bool maxdb_stmt->close ( void )
}

Closes a prepared statement. maxdb_stmt_close() also deallocates the statement handle pointed to by stmt. If the current statement has pending or unread results, this function cancels them so that the next query can be executed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

maxdb_prepare()

이전 | 위로 | 다음
maxdb_stmt_close_long_data | 처음으로 | maxdb_stmt_data_seek


maxdb_stmt_close_long_data

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_close_long_data,

(PECL maxdb:1.0)

maxdb_stmt_close_long_data, stmt->close_long_data -- Ends a sequence of maxdb_stmt_send_long_data()

설명

Procedural style:

bool maxdb_stmt_close_long_data ( resource $stmt, int $param_nr )

Object oriented style (method):

class maxdb_stmt {
bool maxdb_stmt->close_long_data ( void )
}

This function has to be called after a sequence of maxdb_stmt_send_long_data(), that was started after maxdb_execute().

param_nr indicates which parameter to associate the end of data with. Parameters are numbered beginning with 0.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

maxdb_prepare()
maxdb_stmt_bind_param()

이전 | 위로 | 다음
maxdb_stmt_bind_result | 처음으로 | maxdb_stmt_close


maxdb_stmt_data_seek

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_data_seek,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_data_seek, stmt->data_seek -- Seeks to an arbitray row in statement result set

설명

Procedural style:

bool maxdb_stmt_data_seek ( resource $statement, int $offset )

Object oriented style (method):

class stmt {
bool data_seek ( int $offset )
}

The maxdb_stmt_data_seek() function seeks to an arbitrary result pointer specified by the offset in the statement result set represented by statement. The offset parameter must be between zero and the total number of rows minus one (0..maxdb_stmt_num_rows() - 1).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1154. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* store result */
   $stmt->store_result();

   /* seek to row no. 5 */
   $stmt->data_seek(5);

   /* fetch values */
   $stmt->fetch();

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1155. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* store result */
   maxdb_stmt_store_result($stmt);

   /* seek to row no. 5 */
   maxdb_stmt_data_seek($stmt, 5);

   /* fetch values */
   maxdb_stmt_fetch($stmt);

   printf ("City: %s  Zip: %s\n", $name, $code);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

City: Dallas  Zip: 75243

참고

maxdb_prepare()

이전 | 위로 | 다음
maxdb_stmt_close | 처음으로 | maxdb_stmt_errno


maxdb_stmt_errno

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_errno,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_errno, maxdb_stmt->errno -- Returns the error code for the most recent statement call

설명

Procedural style :

int maxdb_stmt_errno ( resource $stmt )

Object oriented style (property):

class stmt {
int errno
}

For the statement specified by stmt, maxdb_stmt_errno() returns the error code for the most recently invoked statement function that can succeed or fail.

참고: For possible error codes see documentation of SQLDBC: » http://dev.mysql.com/doc/maxdb/.

반환값

An error code value. Zero means no error occurred.

참고

maxdb_stmt_error()
maxdb_stmt_sqlstate()

예제

예 1156. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %d.\n", $stmt->errno);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1157. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %d.\n", maxdb_stmt_errno($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: -4004.

참고

maxdb_stmt_error()
maxdb_stmt_sqlstate()

이전 | 위로 | 다음
maxdb_stmt_data_seek | 처음으로 | maxdb_stmt_error


maxdb_stmt_error

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_error,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_error, maxdb_stmt->error -- Returns a string description for last statement error

설명

Procedural style:

string maxdb_stmt_error ( resource $stmt )

Object oriented style (property):

class stmt {
string error
}

For the statement specified by stmt, maxdb_stmt_error() returns a containing the error message for the most recently invoked statement function that can succeed or fail.

반환값

A string that describes the error. An empty string if no error occurred.

예제

예 1158. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->error);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1159. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_error($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: POS(23) Unknown table name:MYCITY.

참고

maxdb_stmt_errno()
maxdb_stmt_sqlstate()

이전 | 위로 | 다음
maxdb_stmt_errno | 처음으로 | maxdb_stmt_execute


maxdb_stmt_execute

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_execute,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_execute, stmt->execute -- Executes a prepared Query

설명

Procedural style:

bool maxdb_stmt_execute ( resource $stmt )

Object oriented style (method):

class stmt {
bool execute ( void )
}

The maxdb_stmt_execute() function executes a query that has been previously prepared using the maxdb_prepare() function represented by the stmt resource. When executed any parameter markers which exist will automatically be replaced with the appropiate data.

If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the maxdb_stmt_affected_rows() function. Likewise, if the query yields a result set the maxdb_fetch() function is used.

참고: When using maxdb_stmt_execute(), the maxdb_fetch() function must be used to fetch the data prior to preforming any additional queries.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1160. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = $maxdb->prepare($query);

$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
$stmt->execute();

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
$stmt->execute();

/* close statement */
$stmt->close();

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = $maxdb->query($query)) {
   while ($row = $result->fetch_row()) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   $result->close();
}

/* remove table */
$maxdb->query("DROP TABLE temp.mycity");

/* close connection */
$maxdb->close();
?>

예 1161. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* Prepare an insert statement */
$query = "INSERT INTO temp.mycity (zip, name, state) VALUES (?,?,?)";
$stmt = maxdb_prepare($link, $query);

maxdb_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = '11111';
$val2 = 'Georgetown';
$val3 = 'NY';

/* Execute the statement */
maxdb_stmt_execute($stmt);

$val1 = '22222';
$val2 = 'Hubbatown';
$val3 = 'CA';

/* Execute the statement */
maxdb_stmt_execute($stmt);

/* close statement */
maxdb_stmt_close($stmt);

/* retrieve all rows from myCity */
$query = "SELECT zip, name, state FROM temp.mycity";
if ($result = maxdb_query($link, $query)) {
   while ($row = maxdb_fetch_row($result)) {
       printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
   }
   /* free result set */
   maxdb_free_result($result);
}

/* remove table */
maxdb_query($link, "DROP TABLE temp.mycity");

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

11111 (Georgetown,NY)
22222 (Hubbatown,CA)

참고

maxdb_prepare()
maxdb_stmt_bind_param()

이전 | 위로 | 다음
maxdb_stmt_error | 처음으로 | maxdb_stmt_fetch


maxdb_stmt_fetch

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_fetch,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_fetch, stmt->fetch -- Fetch results from a prepared statement into the bound variables

설명

Procedural style:

bool maxdb_stmt_fetch ( resource $stmt )

Object oriented style (method):

class stmt {
bool fetch ( void )
}

maxdb_stmt_fetch() returns row data using the variables bound by maxdb_stmt_bind_result().

참고: Note that all columns must be bound by the application before calling maxdb_stmt_fetch().

반환값

표 163. Return values

Value | Description
TRUE | Success. Data has been fetched
FALSE | Error occured
NULL | No more rows/data exists

예제

예 1162. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = $maxdb->prepare($query)) {

   /* execute statement */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($name, $code);

   /* fetch values */
   while ($stmt->fetch()) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1163. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER by name";

if ($stmt = maxdb_prepare($link, $query)) {

   /* execute statement */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $name, $code);

   /* fetch values */
   while (maxdb_stmt_fetch($stmt)) {
       printf ("%s (%s)\n", $name, $code);
   }

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

12203 (Albany)
60601 (Chicago)
60615 (Chicago)
45211 (Cincinnati)
33575 (Clearwater)
75243 (Dallas)
32018 (Daytona Beach)
33441 (Deerfield Beach)
48226 (Detroit)
90029 (Hollywood)
92714 (Irvine)
90804 (Long Beach)
11788 (Long Island)
90018 (Los Angeles)
70112 (New Orleans)
10019 (New York)
10580 (New York)
92262 (Palm Springs)
97213 (Portland)
60018 (Rosemont)
95054 (Santa Clara)
20903 (Silver Spring)
20005 (Washington)
20019 (Washington)
20037 (Washington)

참고

maxdb_prepare()
maxdb_stmt_errno()
maxdb_stmt_error()
maxdb_stmt_bind_result()

이전 | 위로 | 다음
maxdb_stmt_execute | 처음으로 | maxdb_stmt_free_result


maxdb_stmt_free_result

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_free_result,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_free_result, stmt->free_result -- Frees stored result memory for the given statement handle

설명

Procedural style:

void maxdb_stmt_free_result ( resource $stmt )

Object oriented style (method):

class stmt {
void free_result ( void )
}

The maxdb_stmt_free_result() function frees the result memory associated with the statement represented by the stmt parameter, which was allocated by maxdb_stmt_store_result().

반환값

This function doesn't return any value.

참고

maxdb_stmt_store_result()

이전 | 위로 | 다음
maxdb_stmt_fetch | 처음으로 | maxdb_stmt_init


maxdb_stmt_init

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_init,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_init, maxdb->stmt_init -- Initializes a statement and returns an resource for use with maxdb_stmt_prepare

설명

Procedural style :

resource maxdb_stmt_init ( resource $link )

Object oriented style (property):

class maxdb {
object stmt_init ( void )
}

Allocates and initializes a statement resource suitable for maxdb_stmt_prepare().

참고: Any subsequent calls to any maxdb_stmt function will fail until maxdb_stmt_prepare() was called.

반환값

Returns an resource.

참고

maxdb_stmt_prepare()

이전 | 위로 | 다음
maxdb_stmt_free_result | 처음으로 | maxdb_stmt_num_rows


maxdb_stmt_num_rows

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_num_rows,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_num_rows, stmt->num_rows -- Return the number of rows in statements result set

설명

Procedural style :

int maxdb_stmt_num_rows ( resource $stmt )

Object oriented style (property):

class stmt {
int num_rows
}

Returns the number of rows in the result set.

반환값

An integer representing the number of rows in result set.

예제

예 1164. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1165. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT zip, name FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Number of rows: 25.

참고

maxdb_stmt_affected_rows()
maxdb_prepare()
maxdb_stmt_store_result()

이전 | 위로 | 다음
maxdb_stmt_init | 처음으로 | maxdb_stmt_param_count


maxdb_stmt_param_count

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_param_count,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_param_count, stmt->param_count -- Returns the number of parameter for the given statement

설명

Procedural style:

int maxdb_stmt_param_count ( resource $stmt )

Object oriented style (property):

class stmt {
int param_count
}

maxdb_stmt_param_count() returns the number of parameter markers present in the prepared statement.

반환값

returns an integer representing the number of parameters.

예제

예 1166. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = $maxdb->prepare("SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = $stmt->param_count;
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1167. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

if ($stmt = maxdb_prepare($link, "SELECT name FROM hotel.city WHERE name=? OR state=?")) {

   $marker = maxdb_stmt_param_count($stmt);
   printf("Statement has %d markers.\n", $marker);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Statement has 2 markers.

참고

maxdb_prepare()

이전 | 위로 | 다음
maxdb_stmt_num_rows | 처음으로 | maxdb_stmt_prepare


maxdb_stmt_prepare

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_prepare,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_prepare, stmt->prepare -- Prepare a SQL statement for execution

설명

Procedure style:

bool maxdb_stmt_prepare ( resource $stmt, string $query )

Object oriented style (method)

class stmt {
mixed prepare ( string $query )
}

maxdb_stmt_prepare() prepares the SQL query pointed to by the null-terminated string query. The statement resource has to be allocated by maxdb_stmt_init(). The query must consist of a single SQL statement.

참고: You should not add a terminating semicolon or \g to the statement.

The parameter query can include one or more parameter markers in the SQL statement by embedding question mark (?) characters at the appropriate positions.

참고: The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value.

However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to be returned by a SELECT statement), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Languange (DML) statements, and not in Data Defination Language (DDL) statements.

The parameter markers must be bound to application variables using maxdb_stmt_bind_param() and/or maxdb_stmt_bind_result() before executing the statement or fetching rows.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1168. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt =  $maxdb->stmt_init();
if ($stmt->prepare("SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   $stmt->bind_param("s", $city);

   /* execute query */
   $stmt->execute();

   /* bind result variables */
   $stmt->bind_result($district);

   /* fetch value */
   $stmt->fetch();

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1169. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$city = "Portland";

/* create a prepared statement */
$stmt = maxdb_stmt_init($link);
if (maxdb_stmt_prepare($stmt, "SELECT state FROM hotel.city WHERE name=?")) {

   /* bind parameters for markers */
   maxdb_stmt_bind_param($stmt, "s", $city);

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* bind result variables */
   maxdb_stmt_bind_result($stmt, $district);

   /* fetch value */
   maxdb_stmt_fetch($stmt);

   printf("%s is in district %s\n", $city, $district);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Portland is in district OR

참고

maxdb_stmt_init()
maxdb_stmt_execute()
maxdb_stmt_fetch()
maxdb_stmt_bind_param()
maxdb_stmt_bind_result()
maxdb_stmt_close()

이전 | 위로 | 다음
maxdb_stmt_param_count | 처음으로 | maxdb_stmt_reset


maxdb_stmt_reset

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_reset,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_reset, stmt->reset -- Resets a prepared statement

설명

Procedural style:

bool maxdb_stmt_reset ( resource $stmt )

Object oriented style (method):

class stmt {
bool reset ( void )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
maxdb_stmt_prepare | 처음으로 | maxdb_stmt_result_metadata


maxdb_stmt_result_metadata

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_result_metadata -- Returns result set metadata from a prepared statement

설명

Procedural style:

resource maxdb_stmt_result_metadata ( resource $stmt )

Object oriented style (method):

class stmt {
resource result_metadata ( void )
}

If a statement passed to maxdb_prepare() is one that produces a result set, maxdb_stmt_result_metadata() returns the result resource that can be used to process the meta information such as total number of fields and individual field information.

참고: This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • maxdb_num_fields()

  • maxdb_fetch_field()

  • maxdb_fetch_field_direct()

  • maxdb_fetch_fields()

  • maxdb_field_count()

  • maxdb_field_seek()

  • maxdb_field_tell()

  • maxdb_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to maxdb_free_result()

참고: The result set returned by maxdb_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with maxdb_fetch().

반환값

maxdb_stmt_result_metadata() returns a result resource or FALSE if an error occured.

예제

예 1170. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

$maxdb->query("CREATE TABLE temp.friends (id int, name varchar(20))");

$maxdb->query("INSERT INTO temp.friends VALUES (1,'Hartmut')");
$maxdb->query("INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = $maxdb->prepare("SELECT id, name FROM temp.friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$maxdb->close();
?>

예 1171. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

maxdb_query($link, "CREATE TABLE temp.friends (id int, name varchar(20))");

maxdb_query($link, "INSERT INTO temp.friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO temp.friends VALUES (2, 'Ulf')");

$stmt = maxdb_prepare($link, "SELECT id, name FROM temp.friends");
maxdb_stmt_execute($stmt);

/* get resultset for metadata */
$result = maxdb_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = maxdb_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
maxdb_free_result($result);

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Fieldname: ID

참고

maxdb_prepare()
maxdb_free_result()

이전 | 위로 | 다음
maxdb_stmt_reset | 처음으로 | maxdb_stmt_send_long_data


maxdb_stmt_send_long_data

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_send_long_data,

(PECL maxdb:1.0)

maxdb_stmt_send_long_data, stmt->send_long_data -- Send data in blocks

설명

Procedural style:

bool maxdb_stmt_send_long_data ( resource $stmt, int $param_nr, string $data )

Object oriented style (method)

class stmt {
bool stmt_send_long_data ( int $param_nr, string $data )
}

Allows to send parameter data to the server in pieces (or chunks). This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

param_nr indicates which parameter to associate the data with. Parameters are numbered beginning with 0. data is a string containing data to be sent.

참고: For efficiency reasons, this function should be used after calling maxdb_execute(). In this case, the data is not stored on the client side. The end of the sequence must end with a call to maxdb_stmt_close_long_data().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

maxdb_prepare()
maxdb_stmt_bind_param()

이전 | 위로 | 다음
maxdb_stmt_result_metadata | 처음으로 | maxdb_stmt_sqlstate


maxdb_stmt_sqlstate

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_sqlstate -- Returns SQLSTATE error from previous statement operation

설명

string maxdb_stmt_sqlstate ( resource $stmt )

Returns a string containing the SQLSTATE error code for the most recently invoked prepared statement function that can succeed or fail. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC.

참고: Note that not all MaxDB errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

반환값

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

예제

예 1172. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* drop table */
   $maxdb->query("DROP TABLE temp.mycity");

   /* execute query */
   $stmt->execute();

   printf("Error: %s.\n", $stmt->sqlstate);

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1173. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");

$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* drop table */
   maxdb_query($link, "DROP TABLE temp.mycity");

   /* execute query */
   maxdb_stmt_execute($stmt);

   printf("Error: %s.\n", maxdb_stmt_sqlstate($stmt));

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
Error: 42000.

참고

maxdb_stmt_errno()
maxdb_stmt_error()

이전 | 위로 | 다음
maxdb_stmt_send_long_data | 처음으로 | maxdb_stmt_store_result


maxdb_stmt_store_result

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_stmt_store_result,

(PECL maxdb:1.0-7.6.00.38)

maxdb_stmt_store_result, maxdb->store_result -- Transfers a result set from a prepared statement

설명

Procedural style:

bool maxdb_stmt_store_result ( resource $stmt )

Object oriented style (method):

class maxdb {
object store_result ( void )
}

maxdb_stmt_store_result() has no functionally effect and should not be used for retrieving data from MaxDB server.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1174. Object oriented style

<?php
/* Open a connection */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {

   /* execute query */
   $stmt->execute();

   /* store result */
   $stmt->store_result();

   printf("Number of rows: %d.\n", $stmt->num_rows);

   /* free result */
   $stmt->free_result();

   /* close statement */
   $stmt->close();
}

/* close connection */
$maxdb->close();
?>

예 1175. Procedural style

<?php
/* Open a connection */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query = "SELECT name, zip FROM hotel.city ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {

   /* execute query */
   maxdb_stmt_execute($stmt);

   /* store result */
   maxdb_stmt_store_result($stmt);

   printf("Number of rows: %d.\n", maxdb_stmt_num_rows($stmt));

   /* free result */
   maxdb_stmt_free_result($stmt);

   /* close statement */
   maxdb_stmt_close($stmt);
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Number of rows: 25.

참고

maxdb_prepare()
maxdb_stmt_result_metadata()
maxdb_fetch()

이전 | 위로 | 다음
maxdb_stmt_sqlstate | 처음으로 | maxdb_store_result


maxdb_store_result

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_store_result,

(PECL maxdb:1.0-7.6.00.38)

maxdb_store_result, maxdb->store_result -- Transfers a result set from the last query

설명

Procedural style:

resource maxdb_store_result ( resource $link )

Object oriented style (method):

class maxdb {
object store_result ( void )
}

This function has no functionally effect.

반환값

Returns a result resource or FALSE if an error occurred.

예제

See maxdb_multi_query().

참고

maxdb_real_query()
maxdb_use_result()

이전 | 위로 | 다음
maxdb_stmt_store_result | 처음으로 | maxdb_thread_id


maxdb_thread_id

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_thread_id,

(PECL maxdb:1.0-7.6.00.38)

maxdb_thread_id, maxdb->thread_id -- Returns the thread ID for the current connection

설명

Procedural style:

int maxdb_thread_id ( resource $link )

Object oriented style (property):

class maxdb {
int thread_id
}

The maxdb_thread_id() function returns the thread ID for the current connection which can then be killed using the maxdb_kill() function. If the connection is lost and you reconnect with maxdb_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

참고: The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

반환값

maxdb_thread_id() returns the Thread ID for the current connection.

예제

예 1176. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = $maxdb->thread_id;

/* Kill connection */
$maxdb->kill($thread_id);

/* This should produce an error */
if (!$maxdb->query("CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", $maxdb->error);
   exit;
}

/* close connection */
$maxdb->close();
?>

예 1177. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* determine our thread id */
$thread_id = maxdb_thread_id($link);

/* Kill connection */
maxdb_kill($link, $thread_id);

/* This should produce an error */
if (!maxdb_query($link, "CREATE TABLE mycity LIKE hotel.city")) {
   printf("Error: %s\n", maxdb_error($link));
   exit;
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -10821 Session not connected <...>
Error: Session not connected

참고

maxdb_kill()

이전 | 위로 | 다음
maxdb_store_result | 처음으로 | maxdb_thread_safe


maxdb_thread_safe

(No version information available, might be only in CVS)

maxdb_thread_safe -- Returns whether thread safety is given or not

설명

Procedural style:

bool maxdb_thread_safe ( void )

maxdb_thread_safe() indicates whether the client library is compiled as thread-safe.

반환값

TRUE if the client library is thread-safe, otherwise FALSE.

이전 | 위로 | 다음
maxdb_thread_id | 처음으로 | maxdb_use_result


maxdb_use_result

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_use_result,

(PECL maxdb:1.0-7.6.00.38)

maxdb_use_result, maxdb->use_result -- Initiate a result set retrieval

설명

Procedural style:

resource maxdb_use_result ( resource $link )

Object oriented style (method):

class maxdb {
resource use_result ( void )
}

maxdb_use_result() has no effect.

반환값

Returns result or FALSE in case of error.

예제

예 1178. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if ($maxdb->multi_query($query)) {
   do {
       /* store first result set */
       if ($result = $maxdb->use_result()) {
           while ($row = $result->fetch_row()) {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($maxdb->more_results()) {
           printf("-----------------\n");
       }
   } while ($maxdb->next_result());
}

/* close connection */
$maxdb->close();
?>

예 1179. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$query  = "SELECT * FROM DUAL";

/* execute multi query */
if (maxdb_multi_query($link, $query)) {
   do {
       /* store first result set */
       if ($result = maxdb_use_result($link)) {
           while ($row = maxdb_fetch_row($result)) {
               printf("%s\n", $row[0]);
           }
           maxdb_free_result($result);
       }
       /* print divider */
       if (maxdb_more_results($link)) {
           printf("-----------------\n");
       }
   } while (maxdb_next_result($link));
}

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

a

참고

maxdb_real_query()
maxdb_store_result()

이전 | 위로 | 다음
maxdb_thread_safe | 처음으로 | maxdb_warning_count


maxdb_warning_count

이전 LXXXII. MaxDB PHP Extension 다음

maxdb_warning_count,

(PECL maxdb:1.0-7.6.00.38)

maxdb_warning_count, maxdb->warning_count -- Returns the number of warnings from the last query for the given link

설명

Procedural style:

int maxdb_warning_count ( resource $link )

Object oriented style (property):

class maxdb {
int warning_count
}

maxdb_warning_count() returns the number of warnings from the last query in the connection represented by the link parameter.

반환값

Number of warnings or zero if there are no warnings.

예제

예 1180. Object oriented style

<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable city in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$maxdb->query($query);

printf ("Number of warning: %d\n", $maxdb->warning_count);

/* close connection */
$maxdb->close();
?>

예 1181. Procedural style

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

/* a remarkable long city name in Wales */
$query = "INSERT INTO temp.mycity (zip, name) VALUES('11111',
       'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

maxdb_query($link, $query);

printf ("Number of warning: %d\n", maxdb_warning_count($link));

/* close connection */
maxdb_close($link);
?>

The above examples would produce the following output:

Warning: maxdb_query(): -8004 POS(62) Constant must be compatible with column type and length <...>
Number of warning: 0

참고

maxdb_errno()
maxdb_error()
maxdb_sqlstate()

이전 | 위로 | 다음
maxdb_use_result | 처음으로 | LXXXIII. MCAL Functions


mb_check_encoding

(PHP 4 >= 4.4.3, PHP 5 >= 5.1.3)

mb_check_encoding -- Check if the string is valid for the specified encoding

설명

bool mb_check_encoding ( [string $var [, string $encoding]] )

mb_check_encoding() checks if the specified byte stream is valid for the specified encoding. It is useful to prevent so-called "Invalid Encoding Attack".

매개변수

var

byte stream to check. If it is omitted, this function checks all the input from the beginning of the request.

encoding

Expected encoding.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
XCVI. Multibyte String Functions | 처음으로 | mb_convert_case


mb_stripos

(PHP 5 >= 5.2.0)

mb_stripos -- Finds position of first occurrence of a string within another, case insensitive

설명

int mb_stripos ( string $haystack, string $needle [, int $offset [, string $encoding]] )

mb_stripos() returns the numeric position of the first occurrence of needle in the haystack string. Unlike mb_strpos(), mb_stripos() is case-insensitive. If needle is not found, it returns FALSE.

매개변수

haystack

The string from which to get the position of the first occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

반환값

Return the numeric position of the first occurrence of needle in the haystack string, or FALSE if needle is not found.

참고

stripos()
strpos()
mb_strpos()

이전 | 위로 | 다음
mb_strimwidth | 처음으로 | mb_stristr


mb_stristr

(PHP 5 >= 5.2.0)

mb_stristr -- Finds first occurrence of a string within another, case insensitive

설명

string mb_stristr ( string $haystack, string $needle [, bool $part [, string $encoding]] )

mb_stristr() finds the first occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strstr(), mb_stristr() is case-insensitive. If needle is not found, it returns FALSE.

매개변수

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the first occurrence of needle. If set to FALSE, it returns all of haystack from the first occurrence of needle to the end, Default value is FALSE.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

반환값

Returns the portion of haystack, or FALSE if needle is not found.

참고

stristr()
strstr()
mb_strstr()

이전 | 위로 | 다음
mb_stripos | 처음으로 | mb_strlen


mb_strrchr

(PHP 5 >= 5.2.0)

mb_strrchr -- Finds the last occurrence of a character in a string within another

설명

string mb_strrchr ( string $haystack, string $needle [, bool $part [, string $encoding]] )

mb_strrchr() finds the last occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns FALSE.

매개변수

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the last occurrence of needle. If set to FALSE, it returns all of haystack from the last occurrence of needle to the end, Default value is FALSE.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

반환값

Returns the portion of haystack. or FALSE if needle is not found.

참고

strrchr()
mb_strstr()
mb_strrichr()

이전 | 위로 | 다음
mb_strpos | 처음으로 | mb_strrichr


mb_strrichr

(PHP 5 >= 5.2.0)

mb_strrichr -- Finds the last occurrence of a character in a string within another, case insensitive

설명

string mb_strrichr ( string $haystack, string $needle [, bool $part [, string $encoding]] )

mb_strrichr() finds the last occurrence of needle in haystack and returns the portion of haystack. Unlike mb_strrchr(), mb_strrichr() is case-insensitive. If needle is not found, it returns FALSE.

매개변수

haystack

The string from which to get the last occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the last occurrence of needle. If set to FALSE, it returns all of haystack from the last occurrence of needle to the end, Default value is FALSE.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

반환값

Returns the portion of haystack. or FALSE if needle is not found.

참고

mb_stristr()
mb_strrchr()

이전 | 위로 | 다음
mb_strrchr | 처음으로 | mb_strripos


mb_strripos

(PHP 5 >= 5.2.0)

mb_strripos -- Finds position of last occurrence of a string within another, case insensitive

설명

int mb_strripos ( string $haystack, string $needle [, int $offset [, string $encoding]] )

mb_strripos() performs multi-byte safe strripos() operation based on number of characters. needle position is counted from the beginning of haystack. First character's position is 0. Second character position is 1. Unlike mb_strrpos(), mb_strripos() is case-insensitive.

매개변수

haystack

The string from which to get the position of the last occurrence of needle

needle

The string to find in haystack

offset

The position in haystack to start searching

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

반환값

Return the numeric position of the last occurrence of needle in the haystack string, or FALSE if needle is not found.

참고

strripos()
strrpos()
mb_strrpos()

이전 | 위로 | 다음
mb_strrichr | 처음으로 | mb_strrpos


mb_strstr

(PHP 5 >= 5.2.0)

mb_strstr -- Finds first occurrence of a string within another

설명

string mb_strstr ( string $haystack, string $needle [, bool $part [, string $encoding]] )

mb_strstr() finds the first occurrence of needle in haystack and returns the portion of haystack. If needle is not found, it returns FALSE.

매개변수

haystack

The string from which to get the first occurrence of needle

needle

The string to find in haystack

part

Determines which portion of haystack this function returns. If set to TRUE, it returns all of haystack from the beginning to the first occurrence of needle. If set to FALSE, it returns all of haystack from the first occurrence of needle to the end, Default value is FALSE.

encoding

Character encoding name to use. If it is omitted, internal character encoding is used.

반환값

Returns the portion of haystack, or FALSE if needle is not found.

참고

stristr()
strstr()
mb_stristr()

이전 | 위로 | 다음
mb_strrpos | 처음으로 | mb_strtolower


Memcache::addServer

(No version information available, might be only in CVS)

Memcache::addServer -- Add a memcached server to connection pool

설명

bool Memcache::addServer ( string $host [, int $port [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback]]]]]]] )

Memcache::addServer() adds a server to the connection pool. The connection, which was opened using Memcache::addServer() will be automatically closed at the end of script execution, you can also close it manually with Memcache::close(). You can also use the memcache_add_server() function.

When using this method (as opposed to Memcache::connect()() and Memcache::pconnect()()) the network connection is not established until actually needed. Thus there is no overhead in adding a large number of servers to the pool, even though they might not all be used.

Failover may occur at any stage in any of the methods, as long as other servers are available the request the user won't notice. Any kind of socket or Memcached server level errors (except out-of-memory) may trigger the failover. Normal client errors such as adding an existing key will not trigger a failover.

참고: This function has been added to Memcache version 2.0.0.

매개변수

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. This parameter is optional and its default value is 11211. Set this parameter to 0 when using UNIX domain sockets.

persistent

Controls the use of a persistent connection. Default to TRUE.

weight

Number of buckets to create for this server which in turn control its probability of it being selected. The probability is relative to the total weight of all servers.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

Each failed connection struct has its own timeout and before it has expired the struct will be skipped when selecting backends to serve a request. Once expired the connection will be successfully reconnected or marked as failed for another retry_interval seconds. The typical effect is that each web server child will retry the connection about every retry_interval seconds when serving a page.

status

Controls if the server should be flagged as online. Setting this parameter to FALSE and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algoritm. Requests for this server will then failover or fail immediatly depending on the memcache.allow_failover setting. Default to TRUE, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attemped. The function takes two parameters, the hostname and port of the failed server.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1202. Memcache::addServer() example

<?php

/* OO API */

$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
$memcache->addServer('memcache_host2', 11211);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);

?>

참고

Memcache::connect()
Memcache::pconnect()
Memcache::close()
Memcache::setServerParams()
Memcache::getServerStatus()

이전 | 위로 | 다음
Memcache::add | 처음으로 | Memcache::close


Memcache::getExtendedStats

(No version information available, might be only in CVS)

Memcache::getExtendedStats -- Get statistics from all servers in pool

설명

array Memcache::getExtendedStats ( [string $type [, int $slabid [, int $limit]]] )

Memcache::getExtendedStats() returns a two-dimensional associative array with server statistics. Array keys correspond to host:port of server and values contain the individual server statistics. A failed server will have its corresponding entry set to FALSE. You can also use the memcache_get_extended_stats() function.

참고: This function has been added to Memcache version 2.0.0.

매개변수

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump. Default value is 100.

반환값

Returns a two-dimensional associative array of server statistics or FALSE on failure.

예제

예 1209. Memcache::getExtendedStats() example

<?php
    $memcache_obj = new Memcache;
    $memcache_obj->addServer('memcache_host', 11211);
    $memcache_obj->addServer('failed_host', 11211);

    $stats = $memcache_obj->getExtendedStats();
    print_r($stats);
?>

위 예제의 출력:

Array
(
    [memcache_host:11211] => Array
        (
            [pid] => 3756
            [uptime] => 603011
            [time] => 1133810435
            [version] => 1.1.12
            [rusage_user] => 0.451931
            [rusage_system] => 0.634903
            [curr_items] => 2483
            [total_items] => 3079
            [bytes] => 2718136
            [curr_connections] => 2
            [total_connections] => 807
            [connection_structures] => 13
            [cmd_get] => 9748
            [cmd_set] => 3096
            [get_hits] => 5976
            [get_misses] => 3772
            [bytes_read] => 3448968
            [bytes_written] => 2318883
            [limit_maxbytes] => 33554432
        )

    [failed_host:11211] => false
)

참고

Memcache::getVersion()
Memcache::getStats()

이전 | 위로 | 다음
Memcache::get | 처음으로 | Memcache::getServerStatus


Memcache::getServerStatus

(No version information available, might be only in CVS)

Memcache::getServerStatus -- Returns server status

설명

int Memcache::getServerStatus ( string $host [, int $port] )

Memcache::getServerStatus() returns a the servers online/offline status. You can also use memcache_get_server_status() function.

참고: This function has been added to Memcache version 2.1.0.

매개변수

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections. This parameter is optional and its default value is 11211.

반환값

Returns a the servers status. 0 if server is failed, non-zero otherwise

예제

예 1210. Memcache::getServerStatus() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);

?>

참고

Memcache::addServer()
Memcache::setServerParams()

이전 | 위로 | 다음
Memcache::getExtendedStats | 처음으로 | Memcache::getStats


Memcache::setCompressThreshold

(No version information available, might be only in CVS)

Memcache::setCompressThreshold -- Enable automatic compression of large values

설명

bool Memcache::setCompressThreshold ( int $threshold [, float $min_savings] )

Memcache::setCompressThreshold() enables automatic compression of large values. You can also use the memcache_set_compress_threshold() function.

참고: This function has been added to Memcache version 2.0.0.

매개변수

threshold

Controls the minimum value length before attempting to compress automatically.

min_saving

Specifies the minimum amount of savings to actually store the value compressed. The supplied value must be between 0 and 1. Default value is 0.2 giving a minimum 20% compression savings.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1217. Memcache::setCompressThreshold() example

<?php

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);

?>

이전 | 위로 | 다음
Memcache::set | 처음으로 | Memcache::setServerParams


Memcache::setServerParams

(No version information available, might be only in CVS)

Memcache::setServerParams -- Changes server parameters and status at runtime

설명

bool Memcache::setServerParams ( string $host [, int $port [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback]]]]] )

Memcache::setServerParams() changes server parameters at runtime. You can also use the memcache_set_server_params() function.

참고: This function has been added to Memcache version 2.1.0.

매개변수

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections. This parameter is optional and its default value is 11211.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

status

Controls if the server should be flagged as online. Setting this parameter to FALSE and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algoritm. Requests for this server will then failover or fail immediatly depending on the memcache.allow_failover setting. Default to TRUE, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attemped. The function takes two parameters, the hostname and port of the failed server.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1218. Memcache::setServerParams() example

<?php

function _callback_memcache_failure($host, $port) {
    print "memcache '$host:$port' failed";
}

/* OO API */

$memcache = new Memcache;

// Add the server in offline mode
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);

// Bring the server back online
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

?>

참고

Memcache::addServer()
Memcache::getServerStatus()

이전 | 위로 | 다음
Memcache::setCompressThreshold | 처음으로 | LXXXVII. Mhash Functions


memory_get_peak_usage

(PHP 5 >= 5.2.0)

memory_get_peak_usage -- Returns the peak of memory allocated by PHP

설명

int memory_get_peak_usage ( [bool $real_usage] )

Returns the peak of memory, in bytes, that's been allocated to your PHP script.

매개변수

real_usage

Set this to TRUE to get the real size of memory allocated from system. If not set or FALSE only the memory used by emalloc() is reported.

반환값

Returns the memory peak in bytes.

변경 기록

버전 | 설명
5.2.1 | Compiling with --enable-memory-limit is no longer required for this function to exist.
5.2.0 | real_usage was added.

참고

memory_get_usage()
memory_limit

이전 | 위로 | 다음
main | 처음으로 | memory_get_usage


ming_keypress

(PHP 5)

ming_keypress -- Returns the action flag for keyPress(char)

설명

int ming_keypress ( string $char )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFVideoStream->setDimension() | 처음으로 | ming_setcubicthreshold


ming_setswfcompression

(PHP 5 >= 5.2.1)

ming_setswfcompression -- Sets the SWF output compression

설명

void ming_setswfcompression ( int $level )

Sets the SWF output compression level.

매개변수

level

The new compression level. Should be a value between 1 and 9 inclusive.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ming_setscale | 처음으로 | ming_useconstants


ming_useconstants

(PHP 5)

ming_useconstants -- Use constant pool

설명

void ming_useconstants ( int $use )
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
ming_setswfcompression | 처음으로 | ming_useswfversion


mysql_set_charset

(PHP 5 >= 5.2.3)

mysql_set_charset -- Sets the client character set

설명

bool mysql_set_charset ( string $charset [, resource $link_identifier] )

Sets the default character set for the current connection.

매개변수

charset

A valid character set name.

link_identifier

MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 매개변수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 경고를 생성합니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: This function requires MySQL 5.0.7 or later.

이전 | 위로 | 다음
mysql_select_db | 처음으로 | mysql_stat


mysqli_embedded_server_end

(PHP 5 >= 5.1.0)

mysqli_embedded_server_end

설명

void mysqli_embedded_server_end ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_dump_debug_info | 처음으로 | mysqli_embedded_server_start


mysqli_embedded_server_start

(PHP 5 >= 5.1.0)

mysqli_embedded_server_start

설명

bool mysqli_embedded_server_start ( bool $start, array $arguments, array $groups )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_embedded_server_end | 처음으로 | mysqli_enable_reads_from_master


mysqli_get_charset

(PHP 5 >= 5.1.0)

mysqli_get_charset -- Returns a character set object

설명

object mysqli_get_charset ( mysqli $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_free_result | 처음으로 | mysqli_get_client_info


mysqli_get_warnings

(PHP 5 >= 5.1.0)

mysqli_get_warnings

설명

object mysqli_get_warnings ( mysqli $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_get_server_version | 처음으로 | mysqli_info


mysqli_set_charset

이전 C. MySQL Improved Extension 다음

mysqli_set_charset,

(PHP 5 >= 5.0.5)

mysqli_set_charset, mysqli->set_charset -- Sets the default client character set

설명

Procedural style:

bool mysqli_set_charset ( mysqli $link, string $charset )

Object oriented style (method):

class mysqli {
bool set_charset ( string $charset )
}

Sets the default character set to be used when sending data from and to the database server.

매개변수

link

순차 형식 전용: mysqli_connect()나 mysqli_init()가 반환한 연결 식별자.

charset

The charset to be set as default.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: To use this function on a Windows platform you need MySQL client library version 4.1.11 or above (for MySQL 5.0 you need 5.0.6 or above). It can be downloaded at » http://dev.mysql.com/downloads/connector/php/.

예제

예 1442. Object oriented style

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
    printf("Current character set: %s\n", $mysqli->character_set_name());
}

$mysqli->close();
?>

예 1443. Procedural style

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* change character set to utf8 */
if (!mysqli_set_charset($link, "utf8")) {
    printf("Error loading character set utf8: %s\n", mysqli_error($link));
} else {
    printf("Current character set: %s\n", mysqli_character_set_name($link));
}

mysqli_close($link);
?>

위 예제의 출력:

Current character set: utf8

참고

mysqli_character_set_name()
mysqli_real_escape_string()

이전 | 위로 | 다음
mysqli_server_init | 처음으로 | mysqli_set_local_infile_default


mysqli_set_local_infile_default

(PHP 5)

mysqli_set_local_infile_default -- Unsets user defined handler for load local infile command

설명

void mysqli_set_local_infile_default ( mysqli $link )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_set_charset | 처음으로 | mysqli_set_local_infile_handler


mysqli_set_local_infile_handler

(PHP 5)

mysqli_set_local_infile_handler -- Set callback functions for LOAD DATA LOCAL INFILE command

설명

bool mysqli_set_local_infile_handler ( mysqli $link, callback $read_func )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_set_local_infile_default | 처음으로 | mysqli_set_opt


mysqli_slave_query

(PHP 5)

mysqli_slave_query -- Force execution of a query on a slave in a master/slave setup

설명

bool mysqli_slave_query ( mysqli $link, string $query )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_set_opt | 처음으로 | mysqli_sqlstate


mysqli_stmt_attr_get

(PHP 5)

mysqli_stmt_attr_get

설명

int mysqli_stmt_attr_get ( mysqli_stmt $stmt, int $attr )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_stmt_affected_rows | 처음으로 | mysqli_stmt_attr_set


mysqli_stmt_attr_set

(PHP 5)

mysqli_stmt_attr_set

설명

bool mysqli_stmt_attr_set ( mysqli_stmt $stmt, int $attr, int $mode )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_stmt_attr_get | 처음으로 | mysqli_stmt_bind_param


mysqli_stmt_field_count

(PHP 5)

mysqli_stmt_field_count -- Returns the number of field in the given statement

설명

int mysqli_stmt_field_count ( mysqli_stmt $stmt )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_stmt_fetch | 처음으로 | mysqli_stmt_free_result


mysqli_stmt_get_warnings

(PHP 5 >= 5.1.0)

mysqli_stmt_get_warnings

설명

object mysqli_stmt_get_warnings ( mysqli_stmt $stmt )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_stmt_free_result | 처음으로 | mysqli_stmt_init


mysqli_stmt_insert_id

(PHP 5)

mysqli_stmt_insert_id -- Get the ID generated from the previous INSERT operation

설명

mixed mysqli_stmt_insert_id ( mysqli_stmt $stmt )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
mysqli_stmt_init | 처음으로 | mysqli_stmt_num_rows


newt_bell

(PECL newt:0.1-1.1)

newt_bell -- Send a beep to the terminal

설명

void newt_bell ( void )

This function sends a beep to the terminal.

참고: Depending on the terminal's settings, this beep may or may not be audible.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
CIII. Newt Functions | 처음으로 | newt_button_bar


newt_button

(PECL newt:0.1-1.1)

newt_button -- Create a new button

설명

resource newt_button ( int $left, int $top, string $text )

Creates a new button.

매개변수

left

X-coordinate of the button.

top

Y-coordinate of the button.

text

The text which should be displayed in the button.

반환값

Returns a resource link to the created button component, or FALSE on error.

예제

예 1502. A newt_button() example

<?php

$form = newt_form();

$ok_button = newt_button(5, 12, "Run Tool");

newt_form_add_component($form, $ok_button);

?>

참고

newt_button_bar()

이전 | 위로 | 다음
newt_button_bar | 처음으로 | newt_centered_window


newt_button_bar

(PECL newt:0.1-1.1)

newt_button_bar -- This function returns a grid containing the buttons created.

설명

resource newt_button_bar ( array &$buttons )

This function returns a grid containing the buttons created.

매개변수

buttons

반환값

Returns grid containing the buttons created.

이전 | 위로 | 다음
newt_bell | 처음으로 | newt_button


newt_centered_window

(PECL newt:0.1-1.1)

newt_centered_window -- Open a centered window of the specified size

설명

int newt_centered_window ( int $width, int $height [, string $title] )

Open a centered window of the specified size.

매개변수

width

Window width

height

Window height

title

Window title

반환값

Undefined value.

참고

newt_pop_window()
newt_open_window()

이전 | 위로 | 다음
newt_button | 처음으로 | newt_checkbox_get_value


newt_checkbox

(PECL newt:0.1-1.1)

newt_checkbox

설명

resource newt_checkbox ( int $left, int $top, string $text, string $def_value [, string $seq] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

text

def_value

seq

반환값

이전 | 위로 | 다음
newt_checkbox_tree | 처음으로 | newt_clear_key_buffer


newt_checkbox_get_value

(PECL newt:0.1-1.1)

newt_checkbox_get_value -- Retreives value of checkox resource

설명

string newt_checkbox_get_value ( resource $checkbox )

This function returns the character in the sequence which indicates the current value of the checkbox.

매개변수

checkbox

반환값

Returns character indicating the value of the checkbox.

이전 | 위로 | 다음
newt_centered_window | 처음으로 | newt_checkbox_set_flags


newt_checkbox_set_flags

(PECL newt:0.1-1.1)

newt_checkbox_set_flags -- Configures checkbox resource

설명

void newt_checkbox_set_flags ( resource $checkbox, int $flags, int $sense )

This function allows to set various flags on checkbox resource.

매개변수

checkbox

flags

sense

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_checkbox_get_value | 처음으로 | newt_checkbox_set_value


newt_checkbox_set_value

(PECL newt:0.1-1.1)

newt_checkbox_set_value -- Sets the value of the checkbox

설명

void newt_checkbox_set_value ( resource $checkbox, string $value )

This function allows to set the current value of the checkbox resource.

매개변수

checkbox

value

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_checkbox_set_flags | 처음으로 | newt_checkbox_tree_add_item


newt_checkbox_tree

(PECL newt:0.1-1.1)

newt_checkbox_tree

설명

resource newt_checkbox_tree ( int $left, int $top, int $height [, int $flags] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

height

flags

반환값

이전 | 위로 | 다음
newt_checkbox_tree_set_width | 처음으로 | newt_checkbox


newt_checkbox_tree_add_item

(PECL newt:0.1-1.1)

newt_checkbox_tree_add_item -- Adds new item to the checkbox tree

설명

void newt_checkbox_tree_add_item ( resource $checkboxtree, string $text, mixed $data, int $flags, int $index [, int $...] )

This function allows to add new item to the checkbox tree.

매개변수

checkboxtree

text

data

flags

index

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_checkbox_set_value | 처음으로 | newt_checkbox_tree_find_item


newt_checkbox_tree_find_item

(PECL newt:0.1-1.1)

newt_checkbox_tree_find_item -- Finds an item in the checkbox tree

설명

array newt_checkbox_tree_find_item ( resource $checkboxtree, mixed $data )

Finds an item in the checkbox tree by item's data.

매개변수

checkboxtree

data

반환값

Returns checkbox tree item resource, or NULL if it wasn't found.

이전 | 위로 | 다음
newt_checkbox_tree_add_item | 처음으로 | newt_checkbox_tree_get_current


newt_checkbox_tree_get_current

(PECL newt:0.1-1.1)

newt_checkbox_tree_get_current -- Returns checkbox tree selected item

설명

mixed newt_checkbox_tree_get_current ( resource $checkboxtree )

This method returns checkbox tree selected tem.

매개변수

checkboxtree

반환값

Returns current (selected) checkbox tree item.

이전 | 위로 | 다음
newt_checkbox_tree_find_item | 처음으로 | newt_checkbox_tree_get_entry_value


newt_checkbox_tree_get_entry_value

(PECL newt:0.1-1.1)

newt_checkbox_tree_get_entry_value

설명

string newt_checkbox_tree_get_entry_value ( resource $checkboxtree, mixed $data )
주의

This function is currently not documented; only the argument list is available.

매개변수

checkboxtree

data

반환값

이전 | 위로 | 다음
newt_checkbox_tree_get_current | 처음으로 | newt_checkbox_tree_get_multi_selection


newt_checkbox_tree_get_multi_selection

(PECL newt:0.1-1.1)

newt_checkbox_tree_get_multi_selection

설명

array newt_checkbox_tree_get_multi_selection ( resource $checkboxtree, string $seqnum )
주의

This function is currently not documented; only the argument list is available.

매개변수

checkboxtree

seqnum

반환값

이전 | 위로 | 다음
newt_checkbox_tree_get_entry_value | 처음으로 | newt_checkbox_tree_get_selection


newt_checkbox_tree_get_selection

(PECL newt:0.1-1.1)

newt_checkbox_tree_get_selection

설명

array newt_checkbox_tree_get_selection ( resource $checkboxtree )
주의

This function is currently not documented; only the argument list is available.

매개변수

checkboxtree

반환값

이전 | 위로 | 다음
newt_checkbox_tree_get_multi_selection | 처음으로 | newt_checkbox_tree_multi


newt_checkbox_tree_multi

(PECL newt:0.1-1.1)

newt_checkbox_tree_multi

설명

resource newt_checkbox_tree_multi ( int $left, int $top, int $height, string $seq [, int $flags] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

height

seq

flags

반환값

이전 | 위로 | 다음
newt_checkbox_tree_get_selection | 처음으로 | newt_checkbox_tree_set_current


newt_checkbox_tree_set_current

(PECL newt:0.1-1.1)

newt_checkbox_tree_set_current

설명

void newt_checkbox_tree_set_current ( resource $checkboxtree, mixed $data )
주의

This function is currently not documented; only the argument list is available.

매개변수

checkboxtree

data

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_checkbox_tree_multi | 처음으로 | newt_checkbox_tree_set_entry_value


newt_checkbox_tree_set_entry

(PECL newt:0.1-1.1)

newt_checkbox_tree_set_entry

설명

void newt_checkbox_tree_set_entry ( resource $checkboxtree, mixed $data, string $text )
주의

This function is currently not documented; only the argument list is available.

매개변수

checkboxtree

data

text

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_checkbox_tree_set_entry_value | 처음으로 | newt_checkbox_tree_set_width


newt_checkbox_tree_set_entry_value

(PECL newt:0.1-1.1)

newt_checkbox_tree_set_entry_value

설명

void newt_checkbox_tree_set_entry_value ( resource $checkboxtree, mixed $data, string $value )
주의

This function is currently not documented; only the argument list is available.

매개변수

checkboxtree

data

value

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_checkbox_tree_set_current | 처음으로 | newt_checkbox_tree_set_entry


newt_checkbox_tree_set_width

(PECL newt:0.1-1.1)

newt_checkbox_tree_set_width

설명

void newt_checkbox_tree_set_width ( resource $checkbox_tree, int $width )
주의

This function is currently not documented; only the argument list is available.

매개변수

checkbox_tree

width

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_checkbox_tree_set_entry | 처음으로 | newt_checkbox_tree


newt_clear_key_buffer

(PECL newt:0.1-1.1)

newt_clear_key_buffer -- Discards the contents of the terminal's input buffer without waiting for additional input

설명

void newt_clear_key_buffer ( void )

Discards the contents of the terminal's input buffer without waiting for additional input.

반환값

값을 반환하지 않습니다.

참고

newt_wait_for_key()

이전 | 위로 | 다음
newt_checkbox | 처음으로 | newt_cls


newt_cls

(PECL newt:0.1-1.1)

newt_cls

설명

void newt_cls ( void )
주의

This function is currently not documented; only the argument list is available.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_clear_key_buffer | 처음으로 | newt_compact_button


newt_compact_button

(PECL newt:0.1-1.1)

newt_compact_button

설명

resource newt_compact_button ( int $left, int $top, string $text )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

text

반환값

이전 | 위로 | 다음
newt_cls | 처음으로 | newt_component_add_callback


newt_component_add_callback

(PECL newt:0.1-1.1)

newt_component_add_callback

설명

void newt_component_add_callback ( resource $component, mixed $func_name, mixed $data )
주의

This function is currently not documented; only the argument list is available.

매개변수

component

func_name

data

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_compact_button | 처음으로 | newt_component_takes_focus


newt_component_takes_focus

(PECL newt:0.1-1.1)

newt_component_takes_focus

설명

void newt_component_takes_focus ( resource $component, bool $takes_focus )
주의

This function is currently not documented; only the argument list is available.

매개변수

component

takes_focus

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_component_add_callback | 처음으로 | newt_create_grid


newt_create_grid

(PECL newt:0.1-1.1)

newt_create_grid

설명

resource newt_create_grid ( int $cols, int $rows )
주의

This function is currently not documented; only the argument list is available.

매개변수

cols

rows

반환값

이전 | 위로 | 다음
newt_component_takes_focus | 처음으로 | newt_cursor_off


newt_cursor_off

(PECL newt:0.1-1.1)

newt_cursor_off

설명

void newt_cursor_off ( void )
주의

This function is currently not documented; only the argument list is available.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_create_grid | 처음으로 | newt_cursor_on


newt_cursor_on

(PECL newt:0.1-1.1)

newt_cursor_on

설명

void newt_cursor_on ( void )
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_cursor_off | 처음으로 | newt_delay


newt_delay

(PECL newt:0.1-1.1)

newt_delay

설명

void newt_delay ( int $microseconds )
주의

This function is currently not documented; only the argument list is available.

매개변수

microseconds

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_cursor_on | 처음으로 | newt_draw_form


newt_draw_form

(PECL newt:0.1-1.1)

newt_draw_form

설명

void newt_draw_form ( resource $form )
주의

This function is currently not documented; only the argument list is available.

매개변수

form

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_delay | 처음으로 | newt_draw_root_text


newt_draw_root_text

(PECL newt:0.1-1.1)

newt_draw_root_text -- Displays the string text at the position indicated

설명

void newt_draw_root_text ( int $left, int $top, string $text )

Displays the string text at the position indicated.

매개변수

left

Column number

참고: If left is negative, the position is measured from the opposite side of the screen.

top

Line number

참고: If top is negative, the position is measured from the opposite side of the screen.

text

Text to display.

반환값

값을 반환하지 않습니다.

예제

예 1503. A newt_draw_root_text() example

This code demonstrates drawing of titles in the both corners of the screen.

<?php
 newt_init();
 newt_cls();

 newt_draw_root_text (2, 0, "Some root text");
 newt_refresh();
 sleep(1);

 newt_draw_root_text (-30, 0, "Root text in the other corner");
 newt_refresh();
 sleep(1);

 newt_finished();
?>

참고

newt_push_help_line()
newt_pop_help_line()

이전 | 위로 | 다음
newt_draw_form | 처음으로 | newt_entry_get_value


newt_entry

(PECL newt:0.1-1.1)

newt_entry

설명

resource newt_entry ( int $left, int $top, int $width [, string $init_value [, int $flags]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

width

init_value

flags

반환값

이전 | 위로 | 다음
newt_entry_set | 처음으로 | newt_finished


newt_entry_get_value

(PECL newt:0.1-1.1)

newt_entry_get_value

설명

string newt_entry_get_value ( resource $entry )
주의

This function is currently not documented; only the argument list is available.

매개변수

entry

반환값

이전 | 위로 | 다음
newt_draw_root_text | 처음으로 | newt_entry_set_filter


newt_entry_set

(PECL newt:0.1-1.1)

newt_entry_set

설명

void newt_entry_set ( resource $entry, string $value [, bool $cursor_at_end] )
주의

This function is currently not documented; only the argument list is available.

매개변수

entry

value

cursor_at_end

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_entry_set_flags | 처음으로 | newt_entry


newt_entry_set_filter

(PECL newt:0.1-1.1)

newt_entry_set_filter

설명

void newt_entry_set_filter ( resource $entry, callback $filter, mixed $data )
주의

This function is currently not documented; only the argument list is available.

매개변수

entry

filter

data

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_entry_get_value | 처음으로 | newt_entry_set_flags


newt_entry_set_flags

(PECL newt:0.1-1.1)

newt_entry_set_flags

설명

void newt_entry_set_flags ( resource $entry, int $flags, int $sense )
주의

This function is currently not documented; only the argument list is available.

매개변수

entry

flags

sense

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_entry_set_filter | 처음으로 | newt_entry_set


newt_finished

(PECL newt:0.1-1.1)

newt_finished -- Uninitializes newt interface

설명

int newt_finished ( void )

Uninitializes newt interface. This function be called, when program is ready to exit.

반환값

Returns 1 on success, 0 on failure.

참고

newt_init()

이전 | 위로 | 다음
newt_entry | 처음으로 | newt_form_add_component


newt_form

(PECL newt:0.1-1.1)

newt_form -- Create a form

설명

resource newt_form ( [resource $vert_bar [, string $help [, int $flags]]] )

Create a new form.

매개변수

vert_bar

Vertical scrollbar which should be associated with the form

help

Help text string

flags

Various flags

반환값

Returns a resource link to the created form component, or FALSE on error.

예제

예 1506. A newt_form() example

Displays a single button "Quit", which closes the application once it's pressed.

<?php
newt_init();
newt_cls();

$myform = newt_form();
$button = newt_button (5, 12, "Quit");

newt_form_add_component ($myform, $button);
newt_refresh ();
newt_run_form ($myform);

newt_finished ();
newt_form_destroy ($myform);
?>

참고

newt_form_run()
newt_run_form()
newt_form_add_component()
newt_form_add_components()
newt_form_destroy()

이전 | 위로 | 다음
newt_form_watch_fd | 처음으로 | newt_get_screen_size


newt_form_add_component

(PECL newt:0.1-1.1)

newt_form_add_component -- Adds a single component to the form

설명

void newt_form_add_component ( resource $form, resource $component )

Adds a single component to the form.

매개변수

form

Form to which component will be added

component

Component to add to the form

반환값

값을 반환하지 않습니다.

예제

예 1504. A newt_form_add_component() example

<?php
$form = newt_form();

$options = array("Authentication configuration", "Firewall configuration",
"Mouse configuration", "Network configuration", "Printer configuration",
"System services");

$list = newt_listbox(3, 2, 10);

foreach ($options as $l_item) {
    newt_listbox_add_entry($list, $l_item, $l_item);
}

newt_form_add_component($form, $list);
?>

참고

newt_form_add_components()

이전 | 위로 | 다음
newt_finished | 처음으로 | newt_form_add_components


newt_form_add_components

(PECL newt:0.1-1.1)

newt_form_add_components -- Add several components to the form

설명

void newt_form_add_components ( resource $form, array $components )

Adds several components to the form.

매개변수

form

Form to which components will be added

components

Array of components to add to the form

반환값

값을 반환하지 않습니다.

예제

예 1505. A newt_form_add_components() example

<?php
$form = newt_form();

$b1 = newt_button(5, 12, "Run Tool");
$b2 = newt_button(21, 12, "Quit");

newt_form_add_components($form, array($b1, $b2));
?>

참고

newt_form_add_component()

이전 | 위로 | 다음
newt_form_add_component | 처음으로 | newt_form_add_hot_key


newt_form_add_hot_key

(PECL newt:0.1-1.1)

newt_form_add_hot_key

설명

void newt_form_add_hot_key ( resource $form, int $key )
주의

This function is currently not documented; only the argument list is available.

매개변수

form

key

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_form_add_components | 처음으로 | newt_form_destroy


newt_form_destroy

(PECL newt:0.1-1.1)

newt_form_destroy -- Destroys a form

설명

void newt_form_destroy ( resource $form )

This function frees the memory resources used by the form and all of the components which have been added to the form (including those components which are on subforms). Once a form has been destroyed, none of the form's components can be used.

매개변수

form

Form component, which is going to be destroyed

반환값

값을 반환하지 않습니다.

참고

newt_form_run()
newt_run_form()

이전 | 위로 | 다음
newt_form_add_hot_key | 처음으로 | newt_form_get_current


newt_form_get_current

(PECL newt:0.1-1.1)

newt_form_get_current

설명

resource newt_form_get_current ( resource $form )
주의

This function is currently not documented; only the argument list is available.

매개변수

form

반환값

이전 | 위로 | 다음
newt_form_destroy | 처음으로 | newt_form_run


newt_form_run

(PECL newt:0.1-1.1)

newt_form_run -- Runs a form

설명

void newt_form_run ( resource $form, array &$exit_struct )

This function runs the form passed to it.

매개변수

form

Form component

exit_struct

Array, used for returning information after running the form component. Keys and values are described in the following table:

표 217. Form Exit Structure

Index Key | Value Type | Description
reason | integer | The reason, why the form has been exited. Possible values are defined here.
watch | resource | Resource link, specified in newt_form_watch_fd()
key | integer | Hotkey
component | resource | Component, which caused the form to exit

반환값

값을 반환하지 않습니다.

참고

newt_run_form()

이전 | 위로 | 다음
newt_form_get_current | 처음으로 | newt_form_set_background


newt_form_set_background

(PECL newt:0.1-1.1)

newt_form_set_background

설명

void newt_form_set_background ( resource $from, int $background )
주의

This function is currently not documented; only the argument list is available.

매개변수

from

background

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_form_run | 처음으로 | newt_form_set_height


newt_form_set_height

(PECL newt:0.1-1.1)

newt_form_set_height

설명

void newt_form_set_height ( resource $form, int $height )
주의

This function is currently not documented; only the argument list is available.

매개변수

form

height

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_form_set_background | 처음으로 | newt_form_set_size


newt_form_set_size

(PECL newt:0.1-1.1)

newt_form_set_size

설명

void newt_form_set_size ( resource $form )
주의

This function is currently not documented; only the argument list is available.

매개변수

form

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_form_set_height | 처음으로 | newt_form_set_timer


newt_form_set_timer

(PECL newt:0.1-1.1)

newt_form_set_timer

설명

void newt_form_set_timer ( resource $form, int $milliseconds )
주의

This function is currently not documented; only the argument list is available.

매개변수

form

milliseconds

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_form_set_size | 처음으로 | newt_form_set_width


newt_form_set_width

(PECL newt:0.1-1.1)

newt_form_set_width

설명

void newt_form_set_width ( resource $form, int $width )
주의

This function is currently not documented; only the argument list is available.

매개변수

form

width

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_form_set_timer | 처음으로 | newt_form_watch_fd


newt_form_watch_fd

(PECL newt:0.1-1.1)

newt_form_watch_fd

설명

void newt_form_watch_fd ( resource $form, resource $stream [, int $flags] )
주의

This function is currently not documented; only the argument list is available.

매개변수

form

stream

flags

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_form_set_width | 처음으로 | newt_form


newt_get_screen_size

(PECL newt:0.1-1.1)

newt_get_screen_size -- Fills in the passed references with the current size of the terminal

설명

void newt_get_screen_size ( int &$cols, int &$rows )

Fills in the passed references with the current size of the terminal.

매개변수

cols

Number of columns in the terminal

rows

Number of rows in the terminal

반환값

값을 반환하지 않습니다.

예제

예 1507. A newt_get_screen_size() example

This code prints out the screen size of your terminal.

<?php
 newt_init();
 newt_get_screen_size (&$cols, &$rows);
 newt_finished();

 print "Your terminal size is: {$cols}x{$rows}\n";
?>

위 예제의 출력:

Your terminal size is: 138x47

이전 | 위로 | 다음
newt_form | 처음으로 | newt_grid_add_components_to_form


newt_grid_add_components_to_form

(PECL newt:0.1-1.1)

newt_grid_add_components_to_form

설명

void newt_grid_add_components_to_form ( resource $grid, resource $form, bool $recurse )
주의

This function is currently not documented; only the argument list is available.

매개변수

grid

form

recurse

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_get_screen_size | 처음으로 | newt_grid_basic_window


newt_grid_basic_window

(PECL newt:0.1-1.1)

newt_grid_basic_window

설명

resource newt_grid_basic_window ( resource $text, resource $middle, resource $buttons )
주의

This function is currently not documented; only the argument list is available.

매개변수

text

middle

buttons

반환값

이전 | 위로 | 다음
newt_grid_add_components_to_form | 처음으로 | newt_grid_free


newt_grid_free

(PECL newt:0.1-1.1)

newt_grid_free

설명

void newt_grid_free ( resource $grid, bool $recurse )
주의

This function is currently not documented; only the argument list is available.

매개변수

grid

recurse

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_grid_basic_window | 처음으로 | newt_grid_get_size


newt_grid_get_size

(PECL newt:0.1-1.1)

newt_grid_get_size

설명

void newt_grid_get_size ( resouce $grid, int &$width, int &$height )
주의

This function is currently not documented; only the argument list is available.

매개변수

grid

width

height

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_grid_free | 처음으로 | newt_grid_h_close_stacked


newt_grid_h_close_stacked

(PECL newt:0.1-1.1)

newt_grid_h_close_stacked

설명

resource newt_grid_h_close_stacked ( int $element1_type, resource $element1 [, int $... [, resource $...]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

element1_type

element1

반환값

이전 | 위로 | 다음
newt_grid_get_size | 처음으로 | newt_grid_h_stacked


newt_grid_h_stacked

(PECL newt:0.1-1.1)

newt_grid_h_stacked

설명

resource newt_grid_h_stacked ( int $element1_type, resource $element1 [, int $... [, resource $...]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

element1_type

element1

반환값

이전 | 위로 | 다음
newt_grid_h_close_stacked | 처음으로 | newt_grid_place


newt_grid_place

(PECL newt:0.1-1.1)

newt_grid_place

설명

void newt_grid_place ( resource $grid, int $left, int $top )
주의

This function is currently not documented; only the argument list is available.

매개변수

grid

left

top

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_grid_h_stacked | 처음으로 | newt_grid_set_field


newt_grid_set_field

(PECL newt:0.1-1.1)

newt_grid_set_field

설명

void newt_grid_set_field ( resource $grid, int $col, int $row, int $type, resource $val, int $pad_left, int $pad_top, int $pad_right, int $pad_bottom, int $anchor [, int $flags] )
주의

This function is currently not documented; only the argument list is available.

매개변수

grid

col

row

type

val

pad_left

pad_top

pad_right

pad_bottom

anchor

flags

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_grid_place | 처음으로 | newt_grid_simple_window


newt_grid_simple_window

(PECL newt:0.1-1.1)

newt_grid_simple_window

설명

resource newt_grid_simple_window ( resource $text, resource $middle, resource $buttons )
주의

This function is currently not documented; only the argument list is available.

매개변수

text

middle

buttons

반환값

이전 | 위로 | 다음
newt_grid_set_field | 처음으로 | newt_grid_v_close_stacked


newt_grid_v_close_stacked

(PECL newt:0.1-1.1)

newt_grid_v_close_stacked

설명

resource newt_grid_v_close_stacked ( int $element1_type, resource $element1 [, int $... [, resource $...]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

element1_type

element1

반환값

이전 | 위로 | 다음
newt_grid_simple_window | 처음으로 | newt_grid_v_stacked


newt_grid_v_stacked

(PECL newt:0.1-1.1)

newt_grid_v_stacked

설명

resource newt_grid_v_stacked ( int $element1_type, resource $element1 [, int $... [, resource $...]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

element1_type

element1

반환값

이전 | 위로 | 다음
newt_grid_v_close_stacked | 처음으로 | newt_grid_wrapped_window_at


newt_grid_wrapped_window

(PECL newt:0.1-1.1)

newt_grid_wrapped_window

설명

void newt_grid_wrapped_window ( resource $grid, string $title )
주의

This function is currently not documented; only the argument list is available.

매개변수

grid

title

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_grid_wrapped_window_at | 처음으로 | newt_init


newt_grid_wrapped_window_at

(PECL newt:0.1-1.1)

newt_grid_wrapped_window_at

설명

void newt_grid_wrapped_window_at ( resource $grid, string $title, int $left, int $top )
주의

This function is currently not documented; only the argument list is available.

매개변수

grid

title

left

top

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_grid_v_stacked | 처음으로 | newt_grid_wrapped_window


newt_init

(PECL newt:0.1-1.1)

newt_init -- Initialize newt

설명

int newt_init ( void )

Initializes the newt interface. This function must be called before any other newt function.

반환값

Returns 1 on success, 0 on failure.

참고

newt_finished()

이전 | 위로 | 다음
newt_grid_wrapped_window | 처음으로 | newt_label_set_text


newt_label

(PECL newt:0.1-1.1)

newt_label

설명

resource newt_label ( int $left, int $top, string $text )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

text

반환값

이전 | 위로 | 다음
newt_label_set_text | 처음으로 | newt_listbox_append_entry


newt_label_set_text

(PECL newt:0.1-1.1)

newt_label_set_text

설명

void newt_label_set_text ( resource $label, string $text )
주의

This function is currently not documented; only the argument list is available.

매개변수

label

text

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_init | 처음으로 | newt_label


newt_listbox

(PECL newt:0.1-1.1)

newt_listbox

설명

resource newt_listbox ( int $left, int $top, int $height [, int $flags] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

height

flags

반환값

이전 | 위로 | 다음
newt_listbox_set_width | 처음으로 | newt_listitem_get_data


newt_listbox_append_entry

(PECL newt:0.1-1.1)

newt_listbox_append_entry

설명

void newt_listbox_append_entry ( resource $listbox, string $text, mixed $data )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

text

data

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_label | 처음으로 | newt_listbox_clear_selection


newt_listbox_clear

(PECL newt:0.1-1.1)

newt_listbox_clear

설명

void newt_listbox_clear ( resource $listobx )
주의

This function is currently not documented; only the argument list is available.

매개변수

listobx

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_clear_selection | 처음으로 | newt_listbox_delete_entry


newt_listbox_clear_selection

(PECL newt:0.1-1.1)

newt_listbox_clear_selection

설명

void newt_listbox_clear_selection ( resource $listbox )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_append_entry | 처음으로 | newt_listbox_clear


newt_listbox_delete_entry

(PECL newt:0.1-1.1)

newt_listbox_delete_entry

설명

void newt_listbox_delete_entry ( resource $listbox, mixed $key )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

key

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_clear | 처음으로 | newt_listbox_get_current


newt_listbox_get_current

(PECL newt:0.1-1.1)

newt_listbox_get_current

설명

string newt_listbox_get_current ( resource $listbox )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

반환값

이전 | 위로 | 다음
newt_listbox_delete_entry | 처음으로 | newt_listbox_get_selection


newt_listbox_get_selection

(PECL newt:0.1-1.1)

newt_listbox_get_selection

설명

array newt_listbox_get_selection ( resource $listbox )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

반환값

이전 | 위로 | 다음
newt_listbox_get_current | 처음으로 | newt_listbox_insert_entry


newt_listbox_insert_entry

(PECL newt:0.1-1.1)

newt_listbox_insert_entry

설명

void newt_listbox_insert_entry ( resource $listbox, string $text, mixed $data, mixed $key )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

text

data

key

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_get_selection | 처음으로 | newt_listbox_item_count


newt_listbox_item_count

(PECL newt:0.1-1.1)

newt_listbox_item_count

설명

int newt_listbox_item_count ( resource $listbox )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

반환값

이전 | 위로 | 다음
newt_listbox_insert_entry | 처음으로 | newt_listbox_select_item


newt_listbox_select_item

(PECL newt:0.1-1.1)

newt_listbox_select_item

설명

void newt_listbox_select_item ( resource $listbox, mixed $key, int $sense )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

key

sense

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_item_count | 처음으로 | newt_listbox_set_current_by_key


newt_listbox_set_current

(PECL newt:0.1-1.1)

newt_listbox_set_current

설명

void newt_listbox_set_current ( resource $listbox, int $num )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

num

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_set_current_by_key | 처음으로 | newt_listbox_set_data


newt_listbox_set_current_by_key

(PECL newt:0.1-1.1)

newt_listbox_set_current_by_key

설명

void newt_listbox_set_current_by_key ( resource $listbox, mixed $key )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

key

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_select_item | 처음으로 | newt_listbox_set_current


newt_listbox_set_data

(PECL newt:0.1-1.1)

newt_listbox_set_data

설명

void newt_listbox_set_data ( resource $listbox, int $num, mixed $data )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

num

data

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_set_current | 처음으로 | newt_listbox_set_entry


newt_listbox_set_entry

(PECL newt:0.1-1.1)

newt_listbox_set_entry

설명

void newt_listbox_set_entry ( resource $listbox, int $num, string $text )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

num

text

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_set_data | 처음으로 | newt_listbox_set_width


newt_listbox_set_width

(PECL newt:0.1-1.1)

newt_listbox_set_width

설명

void newt_listbox_set_width ( resource $listbox, int $width )
주의

This function is currently not documented; only the argument list is available.

매개변수

listbox

width

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listbox_set_entry | 처음으로 | newt_listbox


newt_listitem

(PECL newt:0.1-1.1)

newt_listitem

설명

resource newt_listitem ( int $left, int $top, string $text, bool $is_default, resouce $prev_item, mixed $data [, int $flags] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

text

is_default

prev_item

data

flags

반환값

이전 | 위로 | 다음
newt_listitem_set | 처음으로 | newt_open_window


newt_listitem_get_data

(PECL newt:0.1-1.1)

newt_listitem_get_data

설명

mixed newt_listitem_get_data ( resource $item )
주의

This function is currently not documented; only the argument list is available.

매개변수

item

반환값

이전 | 위로 | 다음
newt_listbox | 처음으로 | newt_listitem_set


newt_listitem_set

(PECL newt:0.1-1.1)

newt_listitem_set

설명

void newt_listitem_set ( resource $item, string $text )
주의

This function is currently not documented; only the argument list is available.

매개변수

item

text

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_listitem_get_data | 처음으로 | newt_listitem


newt_open_window

(PECL newt:0.1-1.1)

newt_open_window -- Open a window of the specified size and position

설명

int newt_open_window ( int $left, int $top, int $width, int $height [, string $title] )

Open a window of the specified size and position.

매개변수

left

Location of the upper left-hand corner of the window (column number)

top

Location of the upper left-hand corner of the window (row number)

width

Window width

height

Window height

title

Window title

반환값

Returns 1 on success, 0 on failure.

참고

newt_pop_window()
newt_centered_window()

이전 | 위로 | 다음
newt_listitem | 처음으로 | newt_pop_help_line


newt_pop_help_line

(PECL newt:0.1-1.1)

newt_pop_help_line -- Replaces the current help line with the one from the stack

설명

void newt_pop_help_line ( void )

Replaces the current help line with the one from the stack.

참고: It's important not to call to newt_pop_help_line() more than newt_push_help_line().

반환값

값을 반환하지 않습니다.

참고

newt_push_help_line()

이전 | 위로 | 다음
newt_open_window | 처음으로 | newt_pop_window


newt_pop_window

(PECL newt:0.1-1.1)

newt_pop_window -- Removes the top window from the display

설명

void newt_pop_window ( void )

Removes the top window from the display, and redraws the display areas which the window overwrote.

반환값

값을 반환하지 않습니다.

참고

newt_open_window()
newt_centered_window()

이전 | 위로 | 다음
newt_pop_help_line | 처음으로 | newt_push_help_line


newt_push_help_line

(PECL newt:0.1-1.1)

newt_push_help_line -- Saves the current help line on a stack, and displays the new line

설명

void newt_push_help_line ( [string $text] )

Saves the current help line on a stack, and displays the new line.

매개변수

text

New help text message

참고: If not specified, the help line is cleared.

반환값

값을 반환하지 않습니다.

참고

newt_pop_help_line()

이전 | 위로 | 다음
newt_pop_window | 처음으로 | newt_radio_get_current


newt_radio_get_current

(PECL newt:0.1-1.1)

newt_radio_get_current

설명

resource newt_radio_get_current ( resource $set_member )
주의

This function is currently not documented; only the argument list is available.

매개변수

set_member

반환값

이전 | 위로 | 다음
newt_push_help_line | 처음으로 | newt_radiobutton


newt_radiobutton

(PECL newt:0.1-1.1)

newt_radiobutton

설명

resource newt_radiobutton ( int $left, int $top, string $text, bool $is_default [, resource $prev_button] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

text

is_default

prev_button

반환값

이전 | 위로 | 다음
newt_radio_get_current | 처음으로 | newt_redraw_help_line


newt_redraw_help_line

(PECL newt:0.1-1.1)

newt_redraw_help_line

설명

void newt_redraw_help_line ( void )
주의

This function is currently not documented; only the argument list is available.

매개변수

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_radiobutton | 처음으로 | newt_reflow_text


newt_reflow_text

(PECL newt:0.1-1.1)

newt_reflow_text

설명

string newt_reflow_text ( string $text, int $width, int $flex_down, int $flex_up, int &$actual_width, int &$actual_height )
주의

This function is currently not documented; only the argument list is available.

매개변수

text

width

flex_down

flex_up

actual_width

actual_height

반환값

이전 | 위로 | 다음
newt_redraw_help_line | 처음으로 | newt_refresh


newt_refresh

(PECL newt:0.1-1.1)

newt_refresh -- Updates modified portions of the screen

설명

void newt_refresh ( void )

To increase performance, newt only updates the display when it needs to, not when the program tells it to write to the terminal. Applications can force newt to immediately update modified portions of the screen by calling this function.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_reflow_text | 처음으로 | newt_resize_screen


newt_resize_screen

(PECL newt:0.1-1.1)

newt_resize_screen

설명

void newt_resize_screen ( [bool $redraw] )
주의

This function is currently not documented; only the argument list is available.

매개변수

redraw

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_refresh | 처음으로 | newt_resume


newt_resume

(PECL newt:0.1-1.1)

newt_resume -- Resume using the newt interface after calling newt_suspend()

설명

void newt_resume ( void )

Resume using the newt interface after calling newt_suspend().

반환값

값을 반환하지 않습니다.

참고

newt_suspend()

이전 | 위로 | 다음
newt_resize_screen | 처음으로 | newt_run_form


newt_run_form

(PECL newt:0.1-1.1)

newt_run_form -- Runs a form

설명

resource newt_run_form ( resource $form )

This function runs the form passed to it.

매개변수

form

Form component

반환값

The component which caused the form to stop running.

참고: Notice that this function doesn't fit in with newt's normal naming convention. It is an older interface which will not work for all forms. It was left in newt only for legacy applications. It is a simpler interface than the new newt_form_run() though, and is still used quite often as a result. When an application is done with a form, it destroys the form and all of the components the form contains.

참고

newt_form_run()
newt_form_destroy()

이전 | 위로 | 다음
newt_resume | 처음으로 | newt_scale_set


newt_scale

(PECL newt:0.1-1.1)

newt_scale

설명

resource newt_scale ( int $left, int $top, int $width, int $full_value )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

width

full_value

반환값

이전 | 위로 | 다음
newt_scale_set | 처음으로 | newt_scrollbar_set


newt_scale_set

(PECL newt:0.1-1.1)

newt_scale_set

설명

void newt_scale_set ( resource $scale, int $amount )
주의

This function is currently not documented; only the argument list is available.

매개변수

scale

amount

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_run_form | 처음으로 | newt_scale


newt_scrollbar_set

(PECL newt:0.1-1.1)

newt_scrollbar_set

설명

void newt_scrollbar_set ( resource $scrollbar, int $where, int $total )
주의

This function is currently not documented; only the argument list is available.

매개변수

scrollbar

where

total

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_scale | 처음으로 | newt_set_help_callback


newt_set_help_callback

(PECL newt:0.1-1.1)

newt_set_help_callback

설명

void newt_set_help_callback ( mixed $function )
주의

This function is currently not documented; only the argument list is available.

매개변수

function

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_scrollbar_set | 처음으로 | newt_set_suspend_callback


newt_set_suspend_callback

(PECL newt:0.1-1.1)

newt_set_suspend_callback -- Set a callback function which gets invoked when user presses the suspend key

설명

void newt_set_suspend_callback ( callback $function, mixed $data )

Set a callback function which gets invoked when user presses the suspend key (normally ^Z). If no suspend callback is registered, the suspend keystroke is ignored.

매개변수

function

A callback function, which accepts one argument: data

data

This data is been passed to the callback function

참고

newt_suspend()
newt_resume()

이전 | 위로 | 다음
newt_set_help_callback | 처음으로 | newt_suspend


newt_suspend

(PECL newt:0.1-1.1)

newt_suspend -- Tells newt to return the terminal to its initial state

설명

void newt_suspend ( void )

Tells newt to return the terminal to its initial state. Once this is done, the application can suspend itself (by sending itself a SIGTSTP, fork a child program, or do whatever else it likes).

반환값

값을 반환하지 않습니다.

참고

newt_resume()

이전 | 위로 | 다음
newt_set_suspend_callback | 처음으로 | newt_textbox_get_num_lines


newt_textbox

(PECL newt:0.1-1.1)

newt_textbox

설명

resource newt_textbox ( int $left, int $top, int $width, int $height [, int $flags] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

width

height

flags

반환값

이전 | 위로 | 다음
newt_textbox_set_text | 처음으로 | newt_vertical_scrollbar


newt_textbox_get_num_lines

(PECL newt:0.1-1.1)

newt_textbox_get_num_lines

설명

int newt_textbox_get_num_lines ( resource $textbox )
주의

This function is currently not documented; only the argument list is available.

매개변수

textbox

반환값

이전 | 위로 | 다음
newt_suspend | 처음으로 | newt_textbox_reflowed


newt_textbox_reflowed

(PECL newt:0.1-1.1)

newt_textbox_reflowed

설명

resource newt_textbox_reflowed ( int $left, int $top, char $*text, int $width, int $flex_down, int $flex_up [, int $flags] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

*text

width

flex_down

flex_up

flags

반환값

이전 | 위로 | 다음
newt_textbox_get_num_lines | 처음으로 | newt_textbox_set_height


newt_textbox_set_height

(PECL newt:0.1-1.1)

newt_textbox_set_height

설명

void newt_textbox_set_height ( resource $textbox, int $height )
주의

This function is currently not documented; only the argument list is available.

매개변수

textbox

height

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_textbox_reflowed | 처음으로 | newt_textbox_set_text


newt_textbox_set_text

(PECL newt:0.1-1.1)

newt_textbox_set_text

설명

void newt_textbox_set_text ( resource $textbox, string $text )
주의

This function is currently not documented; only the argument list is available.

매개변수

textbox

text

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_textbox_set_height | 처음으로 | newt_textbox


newt_vertical_scrollbar

(PECL newt:0.1-1.1)

newt_vertical_scrollbar

설명

resource newt_vertical_scrollbar ( int $left, int $top, int $height [, int $normal_colorset [, int $thumb_colorset]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

left

top

height

normal_colorset

thumb_colorset

반환값

이전 | 위로 | 다음
newt_textbox | 처음으로 | newt_wait_for_key


newt_wait_for_key

(PECL newt:0.1-1.1)

newt_wait_for_key -- Doesn't return until a key has been pressed

설명

void newt_wait_for_key ( void )

This function doesn't return until a key has been pressed. The keystroke is then ignored. If a key is already in the terminal's buffer, this function discards a keystroke and returns immediately.

반환값

값을 반환하지 않습니다.

참고

newt_clear_key_buffer()

이전 | 위로 | 다음
newt_vertical_scrollbar | 처음으로 | newt_win_choice


newt_win_choice

(PECL newt:0.1-1.1)

newt_win_choice

설명

int newt_win_choice ( string $title, string $button1_text, string $button2_text, string $format [, mixed $args [, mixed $...]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

title

button1_text

button2_text

format

args

반환값

이전 | 위로 | 다음
newt_wait_for_key | 처음으로 | newt_win_entries


newt_win_entries

(PECL newt:0.1-1.1)

newt_win_entries

설명

int newt_win_entries ( string $title, string $text, int $suggested_width, int $flex_down, int $flex_up, int $data_width, array &$items, string $button1 [, string $...] )
주의

This function is currently not documented; only the argument list is available.

매개변수

title

text

suggested_width

flex_down

flex_up

data_width

items

button1

button2

반환값

예제

예 1508. A newt_win_entries() example

<?php

newt_init();
newt_cls();

$entries[] = array('text' => 'First name:', 'value' => &$f_name);
$entries[] = array('text' => 'Last name:',  'value' => &$l_name);

$rc = newt_win_entries("User information", "Please enter your credentials:", 50, 7, 7, 30, $entries, "Ok", "Back");
newt_finished ();

if ($rc != 2) {
    echo "Your name is: $f_name $l_name\n";
}
?>

이전 | 위로 | 다음
newt_win_choice | 처음으로 | newt_win_menu


newt_win_menu

(PECL newt:0.1-1.1)

newt_win_menu

설명

int newt_win_menu ( string $title, string $text, int $suggestedWidth, int $flexDown, int $flexUp, int $maxListHeight, array $items, int &$listItem [, string $button1 [, string $...]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

title

text

suggestedWidth

flexDown

flexUp

maxListHeight

items

listItem

button1

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_win_entries | 처음으로 | newt_win_message


newt_win_message

(PECL newt:0.1-1.1)

newt_win_message

설명

void newt_win_message ( string $title, string $button_text, string $format [, mixed $args [, mixed $...]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

title

button_text

format

args

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_win_menu | 처음으로 | newt_win_messagev


newt_win_messagev

(PECL newt:0.1-1.1)

newt_win_messagev

설명

void newt_win_messagev ( string $title, string $button_text, string $format, array $args )
주의

This function is currently not documented; only the argument list is available.

매개변수

title

button_text

format

args

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
newt_win_message | 처음으로 | newt_win_ternary


newt_win_ternary

(PECL newt:0.1-1.1)

newt_win_ternary

설명

int newt_win_ternary ( string $title, string $button1_text, string $button2_text, string $button3_text, string $format [, mixed $args [, mixed $...]] )
주의

This function is currently not documented; only the argument list is available.

매개변수

title

Its description

button1_text

Its description

button2_text

Its description

button3_text

Its description

format

Its description

args

Its description

반환값

What the function returns, first on success, then on failure. See also the &return.success; entity

이전 | 위로 | 다음
newt_win_messagev | 처음으로 | CIV. NSAPI-specific Functions


ob_deflatehandler

(PECL pecl_http:0.21.0-1.5.5)

ob_deflatehandler -- Deflate output handler

설명

string ob_deflatehandler ( string $data, int $mode )

ob_start()와 사용합니다.

참고: 이 출력 핸들러는 한번만 사용할 수 있습니다.

The deflate output buffer handler can only be used once.

It conflicts with ob_gzhandler() and zlib.output_compression as well and should not be used after mbstring extension's mb_output_handler() and session extension's URL-Rewriter (AKA session.use_trans_sid).

참고

ob_inflatehandler()
ob_start()

이전 | 위로 | 다음
http_negotiate_language | 처음으로 | ob_etaghandler


ob_etaghandler

(PECL pecl_http:0.10.0-1.5.5)

ob_etaghandler -- ETag output handler

설명

string ob_etaghandler ( string $data, int $mode )

ob_start()와 사용합니다.

Output buffer handler generating an ETag with the hash algorithm specified with the INI 설정 http.etag.mode.

This output handler is used by http_cache_etag().

참고

http_cache_etag()
http_match_etag()

이전 | 위로 | 다음
ob_deflatehandler | 처음으로 | ob_inflatehandler


ob_inflatehandler

(PECL pecl_http:0.21.0-1.5.5)

ob_inflatehandler -- Inflate output handler

설명

string ob_inflatehandler ( string $data, int $mode )

ob_start()와 사용합니다.

Same restrictions as with ob_deflatehandler() apply.

참고

ob_deflatehandler()
ob_start()

이전 | 위로 | 다음
ob_etaghandler | 처음으로 | http_parse_cookie


oci_bind_array_by_name

(PHP 5 >= 5.1.2, PECL oci8:1.2.0-1.2.4)

oci_bind_array_by_name -- Binds PHP array to Oracle PL/SQL array by name

설명

bool oci_bind_array_by_name ( resource $statement, string $name, array &$var_array, int $max_table_length [, int $max_item_length [, int $type]] )

Binds the PHP array var_array to the Oracle placeholder name, which points to Oracle PL/SQL array. Whether it will be used for input or output will be determined at run-time.

매개변수

statement

A valid OCI statement identifier.

name

The Oracle placeholder.

var_array

An array.

max_table_length

Sets the maximum length both for incoming and result arrays.

max_item_length

Sets maximum length for array items. If not specified or equals to -1, oci_bind_array_by_name() will use find the longest element in the incoming array and will use it as maximum length for array items.

type

Should be used to set the type of PL/SQL array items. See list of available types below:

  • SQLT_NUM - for arrays of NUMBER.

  • SQLT_INT - for arrays of INTEGER (Note: INTEGER it is actually a synonym for NUMBER(38), but SQLT_NUM type won't work in this case even though they are synonyms).

  • SQLT_FLT - for arrays of FLOAT.

  • SQLT_AFC - for arrays of CHAR.

  • SQLT_CHR - for arrays of VARCHAR2.

  • SQLT_VCS - for arrays of VARCHAR.

  • SQLT_AVC - for arrays of CHARZ.

  • SQLT_STR - for arrays of STRING.

  • SQLT_LVC - for arrays of LONG VARCHAR.

  • SQLT_ODT - for arrays of DATE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1520. oci_bind_array_by_name() example

<?php

$c = oci_connect("scott", "tiger");

$create = "CREATE TABLE bind_example(name VARCHAR(20))";
$statement = oci_parse($c, $create);
oci_execute($statement);

$create_pkg = "
CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
  TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;
  PROCEDURE iobind(c1 IN OUT ARRTYPE);
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg);
oci_execute($statement);

$create_pkg_body = "
CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
  CURSOR CUR IS SELECT name FROM bind_example;
  PROCEDURE iobind(c1 IN OUT ARRTYPE) IS
    BEGIN
    FOR i IN 1..5 LOOP
      INSERT INTO bind_example VALUES (c1(i));
    END LOOP;
    IF NOT CUR%ISOPEN THEN
      OPEN CUR;
    END IF;
    FOR i IN REVERSE 1..5 LOOP
      FETCH CUR INTO c1(i);
      IF CUR%NOTFOUND THEN
        CLOSE CUR;
        EXIT;
      END IF;
    END LOOP;
  END iobind;
END ARRAYBINDPKG1;";
$statement = oci_parse($c, $create_pkg_body);
oci_execute($statement);

$statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;");

$array = array("one", "two", "three", "four", "five");

oci_bind_array_by_name($statement, ":c1", $array, 5, -1, SQLT_CHR);

oci_execute($statement);

var_dump($array);

?>

주의

참고: This function is available since OCI8 release 1.2.

이전 | 위로 | 다음
CVII. 오라클 함수 | 처음으로 | oci_bind_by_name


OCI-Collection->assignElem

(No version information available, might be only in CVS)

OCI-Collection->assignElem -- Assigns a value to the element of the collection

설명

class OCI-Collection {
bool assignElem ( int $index, mixed $value )
}

Assigns a value to the element with index index.

매개변수

index

The element index. First index is 1.

value

Can be a string or a number.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Collection->getElem

이전 | 위로 | 다음
OCI-Collection->assign | 처음으로 | OCI-Collection->free


OCI-Collection->getElem

(No version information available, might be only in CVS)

OCI-Collection->getElem -- Returns value of the element

설명

class OCI-Collection {
mixed getElem ( int $index )
}

Returns element's value with the index index (1-based).

매개변수

index

The element index. First index is 1.

반환값

Returns FALSE if such element doesn't exist; NULL if element is NULL; string if element is column of a string datatype or number if element is numeric field.

참고

OCI-Collection->assignElem

이전 | 위로 | 다음
OCI-Collection->free | 처음으로 | OCI-Collection->max


OCI-Lob->free

(No version information available, might be only in CVS)

OCI-Lob->free -- Frees resources associated with the LOB descriptor

설명

class OCI-Lob {
bool free ( void )
}

Frees resources associated with the descriptor, previously allocated with oci_new_descriptor().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
OCI-Lob->flush | 처음으로 | OCI-Lob->getBuffering


OCI-Lob->getBuffering

(No version information available, might be only in CVS)

OCI-Lob->getBuffering -- Returns current state of buffering for the large object

설명

class OCI-Lob {
bool getBuffering ( void )
}

Tells whether the buffering for the large object is on or off.

반환값

Returns FALSE if buffering for the large object is off and TRUE if buffering is used.

참고

OCI-Lob->setBuffering

이전 | 위로 | 다음
OCI-Lob->free | 처음으로 | OCI-Lob->import


OCI-Lob->saveFile

(No version information available, might be only in CVS)

OCI-Lob->saveFile -- Alias of oci_lob_import()

설명

이 함수는 다음 함수의 alias입니다: oci_lob_import().

이전 | 위로 | 다음
OCI-Lob->save | 처음으로 | OCI-Lob->seek


OCI-Lob->setBuffering

(No version information available, might be only in CVS)

OCI-Lob->setBuffering -- Changes current state of buffering for the large object

설명

class OCI-Lob {
bool setBuffering ( bool $on_off )
}

Sets the buffering for the large object, depending on the value of the on_off parameter.

Use of this function may provide performance improvements by buffering small reads and writes of LOBs by reducing the number of network round-trips and LOB versions. oci_lob_flush() should be used to flush buffers, when you have finished working with the large object.

매개변수

on_off

TRUE for on and FALSE for off.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다. Repeated calls to this method with the same flag will return TRUE.

참고

OCI-Lob->getBuffering

이전 | 위로 | 다음
OCI-Lob->seek | 처음으로 | OCI-Lob->size


OCI-Lob->writeTemporary

(No version information available, might be only in CVS)

OCI-Lob->writeTemporary -- Writes temporary large object

설명

class OCI-Lob {
bool writeTemporary ( string $data [, int $lob_type] )
}

Creates a temporary large object and writes data to it.

You should use OCI-Lob->close when you are done with this object.

매개변수

data

The data to write.

lob_type

Can be one of the following:

OCI_TEMP_BLOB is used to create temporary BLOBs
OCI_TEMP_CLOB (default value) is used to create temporary CLOBs

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

OCI-Lob->close

이전 | 위로 | 다음
OCI-Lob->write | 처음으로 | OCI-Lob->writeToFile


OCI-Lob->writeToFile

(No version information available, might be only in CVS)

OCI-Lob->writeToFile -- Alias of oci_lob_export()

설명

이 함수는 다음 함수의 alias입니다: oci_lob_export().

이전 | 위로 | 다음
OCI-Lob->writeTemporary | 처음으로 | oci_new_collection


openssl_csr_get_public_key

(PHP 5 >= 5.2.0)

openssl_csr_get_public_key -- Returns the public key of a CERT

설명

resource openssl_csr_get_public_key ( mixed $csr [, bool $use_shortnames] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
openssl_csr_export | 처음으로 | openssl_csr_get_subject


openssl_csr_get_subject

(PHP 5 >= 5.2.0)

openssl_csr_get_subject -- Returns the subject of a CERT

설명

array openssl_csr_get_subject ( mixed $csr [, bool $use_shortnames] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
openssl_csr_get_public_key | 처음으로 | openssl_csr_new


openssl_pkcs12_export

(PHP 5 >= 5.2.2)

openssl_pkcs12_export -- Exports a PKCS#12 Compatible Certificate Store File to variable.

설명

bool openssl_pkcs12_export ( mixed $x509, string &$out, mixed $priv_key, string $pass [, array $args] )

openssl_pkcs12_export() stores x509 into a string named by out in a PKCS#12 file format.

매개변수

x509

out

On success, this will hold the PKCS#12.

priv_key

Private key component of PKCS#12 file.

pass

Encryption password for unlocking the PKCS#12 file.

args

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
openssl_pkcs12_export_to_file | 처음으로 | openssl_pkcs12_read


openssl_pkcs12_export_to_file

(PHP 5 >= 5.2.2)

openssl_pkcs12_export_to_file -- Exports a PKCS#12 Compatible Certificate Store File

설명

bool openssl_pkcs12_export_to_file ( mixed $x509, string $filename, mixed $priv_key, string $pass [, array $args] )

openssl_pkcs12_export_to_file() stores x509 into a file named by filename in a PKCS#12 file format.

매개변수

x509

filename

Path to the output file.

priv_key

Private key component of PKCS#12 file.

pass

Encryption password for unlocking the PKCS#12 file.

args

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
openssl_open | 처음으로 | openssl_pkcs12_export


openssl_pkcs12_read

(PHP 5 >= 5.2.2)

openssl_pkcs12_read -- Parse a PKCS#12 Certificate Store into an array

설명

bool openssl_pkcs12_read ( mixed $PKCS12, array &$certs, string $pass )

openssl_pkcs12_read() parses the PKCS#12 certificate store supplied by PKCS12 into a array named certs.

매개변수

PKCS12

certs

On success, this will hold the Certificate Store Data.

pass

Encryption password for unlocking the PKCS#12 file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
openssl_pkcs12_export | 처음으로 | openssl_pkcs7_decrypt


openssl_pkey_free

(PHP 4 >= 4.2.0, PHP 5)

openssl_pkey_free -- Frees a private key

설명

void openssl_pkey_free ( resource $key )

This function frees a private key created by openssl_pkey_new().

매개변수

key

Resource holding the key.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
openssl_pkey_export | 처음으로 | openssl_pkey_get_details


openssl_pkey_get_details

(PHP 5 >= 5.2.0)

openssl_pkey_get_details -- Returns an array with the key details

설명

array openssl_pkey_get_details ( resource $key )

This function returns the key details (bits, key, type).

매개변수

key

Resource holding the key.

반환값

Returns an array with the key details in success or FALSE in failure. Returned array has indexes bits (number of bits), key (string representation of the public key) and type (type of the key which is one of OPENSSL_KEYTYPE_RSA, OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_EC or -1 meaning unknown).

이전 | 위로 | 다음
openssl_pkey_free | 처음으로 | openssl_pkey_get_private


OrbitEnum

(No version information available, might be only in CVS)

OrbitEnum -- Use CORBA enums

설명

new OrbitEnum ( string $id )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This class represents the enumeration identified with the id parameter.

매개변수

id

Can be either the name of the enumeration (e.g "MyEnum"), or the full repository id (e.g. "IDL:MyEnum:1.0").

예제

예 2035. Sample IDL file

enum MyEnum {
    a,b,c,d,e
};

예 2036. PHP code for accessing MyEnum

<?php
$enum = new OrbitEnum ("MyEnum");

echo $enum->a;    /* write 0 */
echo $enum->c;    /* write 2 */
echo $enum->e;    /* write 4 */
?>

이전 | 위로 | 다음
CXLI. Satellite CORBA client extension [deprecated] | 처음으로 | OrbitObject


OrbitObject

(No version information available, might be only in CVS)

OrbitObject -- Access CORBA objects

설명

new OrbitObject ( string $ior )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This class provides access to a CORBA object.

매개변수

ior

Should be a string containing the IOR (Interoperable Object Reference) that identifies the remote object.

예제

예 2037. Sample IDL file

interface MyInterface {
    void SetInfo (string info);
    string GetInfo();

    attribute int value;
}

예 2038. PHP code for accessing MyInterface

<?php
$obj = new OrbitObject ($ior);

$obj->SetInfo ("A 2GooD object");

echo $obj->GetInfo();

$obj->value = 42;

echo $obj->value;
?>

이전 | 위로 | 다음
OrbitEnum | 처음으로 | OrbitStruct


OrbitStruct

(No version information available, might be only in CVS)

OrbitStruct -- Use CORBA structs

설명

new OrbitStruct ( string $id )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This class represents the structure identified with the id parameter.

매개변수

id

Can be either the name of the struct (e.g "MyStruct"), or the full repository id (e.g. "IDL:MyStruct:1.0").

예제

예 2039. Sample IDL file

struct MyStruct {
    short shortvalue;
    string stringvalue;
};

interface SomeInterface {
  void SetValues (MyStruct values);
  MyStruct GetValues();
}

예 2040. PHP code for accessing MyStruct

<?php
$obj = new OrbitObject ($ior);

$initial_values = new OrbitStruct ("IDL:MyStruct:1.0");
$initial_values->shortvalue = 42;
$initial_values->stringvalue = "HGTTG";

$obj->SetValues ($initial_values);

$values = $obj->GetValues();

echo $values->shortvalue;
echo $values->stringvalue;
?>

이전 | 위로 | 다음
OrbitObject | 처음으로 | satellite_caught_exception


PDF_activate_item

(PECL pdflib:2.0-2.1.3)

PDF_activate_item -- Activate structure element or other content item

설명

bool PDF_activate_item ( resource $pdfdoc, int $id )

Activates a previously created structure element or other content item. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
CXXI. PDF 함수 | 처음으로 | PDF_add_annotation


PDF_add_nameddest

(PECL pdflib:2.0-2.1.3)

PDF_add_nameddest -- Create named destination

설명

bool PDF_add_nameddest ( resource $pdfdoc, string $name, string $optlist )

Creates a named destination on an arbitrary page in the current document. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_add_locallink | 처음으로 | PDF_add_note


PDF_add_table_cell

(PECL pdflib:2.1.0-2.1.3)

PDF_add_table_cell -- Add a cell to a new or existing table

설명

int PDF_add_table_cell ( resource $pdfdoc, int $table, int $column, int $row, string $text, string $optlist )

Adds a cell to a new or existing table.

이전 | 위로 | 다음
PDF_add_pdflink | 처음으로 | PDF_add_textflow


PDF_add_textflow

(PECL pdflib:2.1.0-2.1.3)

PDF_add_textflow -- Create Textflow or add text to existing Textflow

설명

int PDF_add_textflow ( resource $pdfdoc, int $textflow, string $text, string $optlist )

Creates a Textflow object, or adds text and explicit options to an existing Textflow.

이전 | 위로 | 다음
PDF_add_table_cell | 처음으로 | PDF_add_thumbnail


PDF_begin_document

(PECL pdflib:2.0-2.1.3)

PDF_begin_document -- Create new PDF file

설명

int PDF_begin_document ( resource $pdfdoc, string $filename, string $optlist )

Creates a new PDF file subject to various options.

이전 | 위로 | 다음
PDF_attach_file | 처음으로 | PDF_begin_font


PDF_begin_font

(PECL pdflib:2.0-2.1.3)

PDF_begin_font -- Start a Type 3 font definition

설명

bool PDF_begin_font ( resource $pdfdoc, string $filename, float $a, float $b, float $c, float $d, float $e, float $f, string $optlist )

Starts a Type 3 font definition.

이전 | 위로 | 다음
PDF_begin_document | 처음으로 | PDF_begin_glyph


PDF_begin_glyph

(PECL pdflib:2.0-2.1.3)

PDF_begin_glyph -- Start glyph definition for Type 3 font

설명

bool PDF_begin_glyph ( resource $pdfdoc, string $glyphname, float $wx, float $llx, float $lly, float $urx, float $ury )

Starts a glyph definition for a Type 3 font.

이전 | 위로 | 다음
PDF_begin_font | 처음으로 | PDF_begin_item


PDF_begin_item

(PECL pdflib:2.0-2.1.3)

PDF_begin_item -- Open structure element or other content item

설명

int PDF_begin_item ( resource $pdfdoc, string $tag, string $optlist )

Opens a structure element or other content item with attributes supplied as options.

이전 | 위로 | 다음
PDF_begin_glyph | 처음으로 | PDF_begin_layer


PDF_begin_layer

(PECL pdflib:2.0-2.1.3)

PDF_begin_layer -- Start layer

설명

bool PDF_begin_layer ( resource $pdfdoc, int $layer )

Starts a layer for subsequent output on the page. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function requires PDF 1.5.

이전 | 위로 | 다음
PDF_begin_item | 처음으로 | PDF_begin_page_ext


PDF_begin_page_ext

(PECL pdflib:2.0-2.1.3)

PDF_begin_page_ext -- Start new page

설명

bool PDF_begin_page_ext ( resource $pdfdoc, float $width, float $height, string $optlist )

Adds a new page to the document, and specifies various options. The parameters width and height are the dimensions of the new page in points. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

표 241. Common Page Sizes in Points

name | size
A0 | 2380?3368
A1 | 1684?2380
A2 | 1190?1684
A3 | 842?1190
A4 | 595?842
A5 | 421?595
A6 | 297?421
B5 | 501?709
letter (8.5"?11") | 612?792
legal (8.5"?14") | 612?1008
ledger (17"?11") | 1224?792
11"?17" | 792?1224

이전 | 위로 | 다음
PDF_begin_layer | 처음으로 | PDF_begin_page


PDF_begin_template_ext

(PECL pdflib:2.1.0-2.1.3)

PDF_begin_template_ext -- Start template definition

설명

int PDF_begin_template_ext ( resource $pdfdoc, float $width, float $height, string $optlist )

Starts a new template definition.

이전 | 위로 | 다음
PDF_begin_pattern | 처음으로 | PDF_begin_template


PDF_create_3dview

(PECL pdflib:2.1.0-2.1.3)

PDF_create_3dview -- Create 3D view

설명

int PDF_create_3dview ( resource $pdfdoc, string $username, string $optlist )

Creates a 3D view.

This function requires PDF 1.6.

이전 | 위로 | 다음
PDF_continue_text | 처음으로 | PDF_create_action


PDF_create_action

(PECL pdflib:2.0-2.1.3)

PDF_create_action -- Create action for objects or events

설명

int PDF_create_action ( resource $pdfdoc, string $type, string $optlist )

Creates an action which can be applied to various objects and events.

이전 | 위로 | 다음
PDF_create_3dview | 처음으로 | PDF_create_annotation


PDF_create_annotation

(PECL pdflib:2.0-2.1.3)

PDF_create_annotation -- Create rectangular annotation

설명

bool PDF_create_annotation ( resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $type, string $optlist )

Creates a rectangular annotation on the current page.

이전 | 위로 | 다음
PDF_create_action | 처음으로 | PDF_create_bookmark


PDF_create_bookmark

(PECL pdflib:2.0-2.1.3)

PDF_create_bookmark -- Create bookmark

설명

int PDF_create_bookmark ( resource $pdfdoc, string $text, string $optlist )

Creates a bookmark subject to various options.

이전 | 위로 | 다음
PDF_create_annotation | 처음으로 | PDF_create_field


PDF_create_field

(PECL pdflib:2.0-2.1.3)

PDF_create_field -- Create form field

설명

bool PDF_create_field ( resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $name, string $type, string $optlist )

Creates a form field on the current page subject to various options.

이전 | 위로 | 다음
PDF_create_bookmark | 처음으로 | PDF_create_fieldgroup


PDF_create_fieldgroup

(PECL pdflib:2.0-2.1.3)

PDF_create_fieldgroup -- Create form field group

설명

bool PDF_create_fieldgroup ( resource $pdfdoc, string $name, string $optlist )

Creates a form field group subject to various options.

이전 | 위로 | 다음
PDF_create_field | 처음으로 | PDF_create_gstate


PDF_create_gstate

(PECL pdflib:2.0-2.1.3)

PDF_create_gstate -- Create graphics state object

설명

int PDF_create_gstate ( resource $pdfdoc, string $optlist )

Creates a graphics state object subject to various options.

이전 | 위로 | 다음
PDF_create_fieldgroup | 처음으로 | PDF_create_pvf


PDF_create_pvf

(PECL pdflib:2.0-2.1.3)

PDF_create_pvf -- Create PDFlib virtual file

설명

bool PDF_create_pvf ( resource $pdfdoc, string $filename, string $data, string $optlist )

Creates a named virtual read-only file from data provided in memory.

이전 | 위로 | 다음
PDF_create_gstate | 처음으로 | PDF_create_textflow


PDF_create_textflow

(PECL pdflib:2.0-2.1.3)

PDF_create_textflow -- Create textflow object

설명

int PDF_create_textflow ( resource $pdfdoc, string $text, string $optlist )

Preprocesses text for later formatting and creates a textflow object.

이전 | 위로 | 다음
PDF_create_pvf | 처음으로 | PDF_curveto


PDF_define_layer

(PECL pdflib:2.0-2.1.3)

PDF_define_layer -- Create layer definition

설명

int PDF_define_layer ( resource $pdfdoc, string $name, string $optlist )

Creates a new layer definition.

This function requires PDF 1.5.

이전 | 위로 | 다음
PDF_curveto | 처음으로 | PDF_delete_pvf


PDF_delete_pvf

(PECL pdflib:2.0-2.1.3)

PDF_delete_pvf -- Delete PDFlib virtual file

설명

int PDF_delete_pvf ( resource $pdfdoc, string $filename )

Deletes a named virtual file and frees its data structures (but not the contents).

이전 | 위로 | 다음
PDF_define_layer | 처음으로 | PDF_delete_table


PDF_delete_table

(PECL pdflib:2.1.0-2.1.3)

PDF_delete_table -- Delete table object

설명

bool PDF_delete_table ( resource $pdfdoc, int $table, string $optlist )

Deletes a table and all associated data structures.

이전 | 위로 | 다음
PDF_delete_pvf | 처음으로 | PDF_delete_textflow


PDF_delete_textflow

(PECL pdflib:2.0-2.1.3)

PDF_delete_textflow -- Delete textflow object

설명

bool PDF_delete_textflow ( resource $pdfdoc, int $textflow )

Deletes a textflow and the associated data structures.

이전 | 위로 | 다음
PDF_delete_table | 처음으로 | PDF_delete


PDF_encoding_set_char

(PECL pdflib:2.0-2.1.3)

PDF_encoding_set_char -- Add glyph name and/or Unicode value

설명

bool PDF_encoding_set_char ( resource $pdfdoc, string $encoding, int $slot, string $glyphname, int $uv )

Adds a glyph name and/or Unicode value to a custom encoding.

이전 | 위로 | 다음
PDF_delete | 처음으로 | PDF_end_document


PDF_end_document

(PECL pdflib:2.0-2.1.3)

PDF_end_document -- Close PDF file

설명

bool PDF_end_document ( resource $pdfdoc, string $optlist )

Closes the generated PDF file and applies various options.

이전 | 위로 | 다음
PDF_encoding_set_char | 처음으로 | PDF_end_font


PDF_end_font

(PECL pdflib:2.0-2.1.3)

PDF_end_font -- Terminate Type 3 font definition

설명

bool PDF_end_font ( resource $pdfdoc )

Terminates a Type 3 font definition.

이전 | 위로 | 다음
PDF_end_document | 처음으로 | PDF_end_glyph


PDF_end_glyph

(PECL pdflib:2.0-2.1.3)

PDF_end_glyph -- Terminate glyph definition for Type 3 font

설명

bool PDF_end_glyph ( resource $pdfdoc )

Terminates a glyph definition for a Type 3 font.

이전 | 위로 | 다음
PDF_end_font | 처음으로 | PDF_end_item


PDF_end_item

(PECL pdflib:2.0-2.1.3)

PDF_end_item -- Close structure element or other content item

설명

bool PDF_end_item ( resource $pdfdoc, int $id )

Closes a structure element or other content item.

이전 | 위로 | 다음
PDF_end_glyph | 처음으로 | PDF_end_layer


PDF_end_layer

(PECL pdflib:2.0-2.1.3)

PDF_end_layer -- Deactivate all active layers

설명

bool PDF_end_layer ( resource $pdfdoc )

Deactivates all active layers. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function requires PDF 1.5.

이전 | 위로 | 다음
PDF_end_item | 처음으로 | PDF_end_page_ext


PDF_end_page_ext

(PECL pdflib:2.0-2.1.3)

PDF_end_page_ext -- Finish page

설명

bool PDF_end_page_ext ( resource $pdfdoc, string $optlist )

Finishes a page, and applies various options. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_end_layer | 처음으로 | PDF_end_page


PDF_fill_imageblock

(PECL pdflib:2.0-2.1.3)

PDF_fill_imageblock -- Fill image block with variable data

설명

int PDF_fill_imageblock ( resource $pdfdoc, int $page, string $blockname, int $image, string $optlist )

Fills an image block with variable data according to its properties.

This function is only available in the PDFlib Personalization Server (PPS).

이전 | 위로 | 다음
PDF_endpath | 처음으로 | PDF_fill_pdfblock


PDF_fill_pdfblock

(PECL pdflib:2.0-2.1.3)

PDF_fill_pdfblock -- Fill PDF block with variable data

설명

int PDF_fill_pdfblock ( resource $pdfdoc, int $page, string $blockname, int $contents, string $optlist )

Fills a PDF block with variable data according to its properties.

This function is only available in the PDFlib Personalization Server (PPS).

이전 | 위로 | 다음
PDF_fill_imageblock | 처음으로 | PDF_fill_stroke


PDF_fill_textblock

(PECL pdflib:2.0-2.1.3)

PDF_fill_textblock -- Fill text block with variable data

설명

int PDF_fill_textblock ( resource $pdfdoc, int $page, string $blockname, string $text, string $optlist )

Fills a text block with variable data according to its properties.

This function is only available in the PDFlib Personalization Server (PPS).

이전 | 위로 | 다음
PDF_fill_stroke | 처음으로 | PDF_fill


PDF_fit_image

(PECL pdflib:2.0-2.1.3)

PDF_fit_image -- Place image or template

설명

bool PDF_fit_image ( resource $pdfdoc, int $image, float $x, float $y, string $optlist )

Places an image or template on the page, subject to various options. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_findfont | 처음으로 | PDF_fit_pdi_page


PDF_fit_pdi_page

(PECL pdflib:2.0-2.1.3)

PDF_fit_pdi_page -- Place imported PDF page

설명

bool PDF_fit_pdi_page ( resource $pdfdoc, int $page, float $x, float $y, string $optlist )

Places an imported PDF page on the page, subject to various options. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_fit_image | 처음으로 | PDF_fit_table


PDF_fit_table

(PECL pdflib:2.1.0-2.1.3)

PDF_fit_table -- Place table on page

설명

string PDF_fit_table ( resource $pdfdoc, int $table, float $llx, float $lly, float $urx, float $ury, string $optlist )

Places a table on the page fully or partially.

이전 | 위로 | 다음
PDF_fit_pdi_page | 처음으로 | PDF_fit_textflow


PDF_fit_textflow

(PECL pdflib:2.0-2.1.3)

PDF_fit_textflow -- Format textflow in rectangular area

설명

string PDF_fit_textflow ( resource $pdfdoc, int $textflow, float $llx, float $lly, float $urx, float $ury, string $optlist )

Formats the next portion of a textflow into a rectangular area.

이전 | 위로 | 다음
PDF_fit_table | 처음으로 | PDF_fit_textline


PDF_fit_textline

(PECL pdflib:2.0-2.1.3)

PDF_fit_textline -- Place single line of text

설명

bool PDF_fit_textline ( resource $pdfdoc, string $text, float $x, float $y, string $optlist )

Places a single line of text on the page, subject to various options. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_fit_textflow | 처음으로 | PDF_get_apiname


PDF_get_apiname

(PECL pdflib:2.0-2.1.3)

PDF_get_apiname -- Get name of unsuccessfull API function

설명

string PDF_get_apiname ( resource $pdfdoc )

Gets the name of the API function which threw the last exception or failed.

이전 | 위로 | 다음
PDF_fit_textline | 처음으로 | PDF_get_buffer


PDF_get_errmsg

(PECL pdflib:2.0-2.1.3)

PDF_get_errmsg -- Get error text

설명

string PDF_get_errmsg ( resource $pdfdoc )

Gets the text of the last thrown exception or the reason for a failed function call.

이전 | 위로 | 다음
PDF_get_buffer | 처음으로 | PDF_get_errnum


PDF_get_errnum

(PECL pdflib:2.0-2.1.3)

PDF_get_errnum -- Get error number

설명

int PDF_get_errnum ( resource $pdfdoc )

Gets the number of the last thrown exception or the reason for a failed function call.

이전 | 위로 | 다음
PDF_get_errmsg | 처음으로 | PDF_get_font


PDF_info_font

(PECL pdflib:2.1.0-2.1.3)

PDF_info_font -- Query detailed information about a loaded font

설명

float PDF_info-font ( resource $pdfdoc, int $font, string $keyword, string $optlist )

Queries detailed information about a loaded font.

이전 | 위로 | 다음
PDF_get_value | 처음으로 | PDF_info_matchbox


PDF_info_matchbox

(PECL pdflib:2.1.0-2.1.3)

PDF_info_matchbox -- Query matchbox information

설명

float PDF_info_matchbox ( resource $pdfdoc, string $boxname, int $num, string $keyword )

Queries information about a matchbox on the current page.

이전 | 위로 | 다음
PDF_info_font | 처음으로 | PDF_info_table


PDF_info_table

(PECL pdflib:2.1.0-2.1.3)

PDF_info_table -- Retrieve table information

설명

float PDF_info_table ( resource $pdfdoc, int $table, string $keyword )

Retrieves table information related to the most recently placed table instance.

이전 | 위로 | 다음
PDF_info_matchbox | 처음으로 | PDF_info_textflow


PDF_info_textflow

(PECL pdflib:2.0-2.1.3)

PDF_info_textflow -- Query textflow state

설명

float PDF_info_textflow ( resource $pdfdoc, int $textflow, string $keyword )

Queries the current state of a textflow.

이전 | 위로 | 다음
PDF_info_table | 처음으로 | PDF_info_textline


PDF_info_textline

(PECL pdflib:2.1.0-2.1.3)

PDF_info_textline -- Perform textline formatting and query metrics

설명

float PDF_info_textline ( resource $pdfdoc, string $text, string $keyword, string $optlist )

Performs textline formatting and queries the resulting metrics.

이전 | 위로 | 다음
PDF_info_textflow | 처음으로 | PDF_initgraphics


PDF_load_3ddata

(PECL pdflib:2.1.0-2.1.3)

PDF_load_3ddata -- Load 3D model

설명

int PDF_load_3ddata ( resource $pdfdoc, string $filename, string $optlist )

Loads a 3D model from a disk-based or virtual file.

This function requires PDF 1.6.

이전 | 위로 | 다음
PDF_lineto | 처음으로 | PDF_load_font


PDF_load_font

(PECL pdflib:2.0-2.1.3)

PDF_load_font -- Search and prepare font

설명

int PDF_load_font ( resource $pdfdoc, string $fontname, string $encoding, string $optlist )

Searches for a font and prepares it for later use.

이전 | 위로 | 다음
PDF_load_3ddata | 처음으로 | PDF_load_iccprofile


PDF_load_iccprofile

(PECL pdflib:2.0-2.1.3)

PDF_load_iccprofile -- Search and prepare ICC profile

설명

int PDF_load_iccprofile ( resource $pdfdoc, string $profilename, string $optlist )

Searches for an ICC profile, and prepares it for later use.

이전 | 위로 | 다음
PDF_load_font | 처음으로 | PDF_load_image


PDF_load_image

(PECL pdflib:2.0-2.1.3)

PDF_load_image -- Open image file

설명

int PDF_load_image ( resource $pdfdoc, string $imagetype, string $filename, string $optlist )

Opens a disk-based or virtual image file subject to various options.

이전 | 위로 | 다음
PDF_load_iccprofile | 처음으로 | PDF_makespotcolor


PDF_pcos_get_number

(PECL pdflib:2.1.0-2.1.3)

PDF_pcos_get_number -- Get value of pCOS path with type number or boolean

설명

float PDF_pcos_get_number ( resource $p, int $doc, string $path )

Gets the value of a pCOS path with type number or boolean.

이전 | 위로 | 다음
PDF_open_tiff | 처음으로 | PDF_pcos_get_stream


PDF_pcos_get_stream

(PECL pdflib:2.1.0-2.1.3)

PDF_pcos_get_stream -- Get contents of pCOS path with type stream, fstream, or string

설명

string PDF_pcos_get_stream ( resource $p, int $doc, string $optlist, string $path )

Gets the contents of a pCOS path with type stream, fstream, or string.

이전 | 위로 | 다음
PDF_pcos_get_number | 처음으로 | PDF_pcos_get_string


PDF_pcos_get_string

(PECL pdflib:2.1.0-2.1.3)

PDF_pcos_get_string -- Get value of pCOS path with type name, string, or boolean

설명

string PDF_pcos_get_string ( resource $p, int $doc, string $path )

Gets the value of a pCOS path with type name, string, or boolean.

이전 | 위로 | 다음
PDF_pcos_get_stream | 처음으로 | PDF_place_image


PDF_process_pdi

(PECL pdflib:2.0-2.1.3)

PDF_process_pdi -- Process imported PDF document

설명

int PDF_process_pdi ( resource $pdfdoc, int $doc, int $page, string $optlist )

Processes certain elements of an imported PDF document.

이전 | 위로 | 다음
PDF_place_pdi_page | 처음으로 | PDF_rect


PDF_resume_page

(PECL pdflib:2.0-2.1.3)

PDF_resume_page -- Resume page

설명

bool PDF_resume_page ( resource $pdfdoc, string $optlist )

Resumes a page to add more content to it.

이전 | 위로 | 다음
PDF_restore | 처음으로 | PDF_rotate


PDF_set_gstate

(PECL pdflib:2.0-2.1.3)

PDF_set_gstate -- Activate graphics state object

설명

bool PDF_set_gstate ( resource $pdfdoc, int $gstate )

Activates a graphics state object.

이전 | 위로 | 다음
PDF_set_duration | 처음으로 | PDF_set_horiz_scaling


PDF_set_layer_dependency

(PECL pdflib:2.0-2.1.3)

PDF_set_layer_dependency -- Define relationships among layers

설명

bool PDF_set_layer_dependency ( resource $pdfdoc, string $type, string $optlist )

Defines hierarchical and group relationships among layers. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

This function requires PDF 1.5.

이전 | 위로 | 다음
PDF_set_info | 처음으로 | PDF_set_leading


PDF_setdashpattern

(PECL pdflib:2.0-2.1.3)

PDF_setdashpattern -- Set dash pattern

설명

bool PDF_setdashpattern ( resource $pdfdoc, string $optlist )

Sets a dash pattern defined by an option list. 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
PDF_setdash | 처음으로 | PDF_setflat


PDF_shading

(PECL pdflib:2.0-2.1.3)

PDF_shading -- Define blend

설명

int PDF_shading ( resource $pdfdoc, string $shtype, float $x0, float $y0, float $x1, float $y1, float $c1, float $c2, float $c3, float $c4, string $optlist )

Defines a blend from the current fill color to another color.

This function requires PDF 1.4 or above.

이전 | 위로 | 다음
PDF_shading_pattern | 처음으로 | PDF_shfill


PDF_shading_pattern

(PECL pdflib:2.0-2.1.3)

PDF_shading_pattern -- Define shading pattern

설명

int PDF_shading_pattern ( resource $pdfdoc, int $shading, string $optlist )

Defines a shading pattern using a shading object.

This function requires PDF 1.4 or above.

이전 | 위로 | 다음
PDF_setrgbcolor | 처음으로 | PDF_shading


PDF_shfill

(PECL pdflib:2.0-2.1.3)

PDF_shfill -- Fill area with shading

설명

bool PDF_shfill ( resource $pdfdoc, int $shading )

Fills an area with a shading, based on a shading object.

This function requires PDF 1.4 or above.

이전 | 위로 | 다음
PDF_shading | 처음으로 | PDF_show_boxed


PDF_suspend_page

(PECL pdflib:2.0-2.1.3)

PDF_suspend_page -- Suspend page

설명

bool PDF_suspend_page ( resource $pdfdoc, string $optlist )

Suspends the current page so that it can later be resumed with PDF_resume_page().

이전 | 위로 | 다음
PDF_stroke | 처음으로 | PDF_translate


PDF_utf8_to_utf16

(PECL pdflib:2.0.3-2.1.3)

PDF_utf8_to_utf16 -- Convert string from UTF-8 to UTF-16

설명

string PDF_utf8_to_utf16 ( resource $pdfdoc, string $utf8string, string $ordering )

Converts a string from UTF-8 format to UTF-16.

이전 | 위로 | 다음
PDF_utf32_to_utf16 | 처음으로 | CXXII. PDO Functions


PDF_utf16_to_utf8

(PECL pdflib:2.0.3-2.1.3)

PDF_utf16_to_utf8 -- Convert string from UTF-16 to UTF-8

설명

string PDF_utf16_to_utf8 ( resource $pdfdoc, string $utf16string )

Converts a string from UTF-16 format to UTF-8.

이전 | 위로 | 다음
PDF_translate | 처음으로 | PDF_utf32_to_utf16


PDF_utf32_to_utf16

(No version information available, might be only in CVS)

PDF_utf32_to_utf16 -- Convert string from UTF-32 to UTF-16

설명

string PDF_utf32_to_utf16 ( resource $pdfdoc, string $utf32string, string $ordering )

Converts a string from UTF-32 format to UTF-16.

이전 | 위로 | 다음
PDF_utf16_to_utf8 | 처음으로 | PDF_utf8_to_utf16


PDO->getAttribute()

(PHP 5 >= 5.1.0, PECL pdo:0.2-1.0.3)

PDO->getAttribute() -- Retrieve a database connection attribute

설명

class PDO {
mixed getAttribute ( int $attribute )
}

This function returns the value of a database connection attribute. To retrieve PDOStatement attributes, refer to PDOStatement->getAttribute().

Note that some database/driver combinations may not support all of the database connection attributes.

매개변수

attribute

One of the PDO::ATTR_* constants. The constants that apply to database connections are as follows:

PDO::ATTR_AUTOCOMMIT
PDO::ATTR_CASE
PDO::ATTR_CLIENT_VERSION
PDO::ATTR_CONNECTION_STATUS
PDO::ATTR_DRIVER_NAME
PDO::ATTR_ERRMODE
PDO::ATTR_ORACLE_NULLS
PDO::ATTR_PERSISTENT
PDO::ATTR_PREFETCH
PDO::ATTR_SERVER_INFO
PDO::ATTR_SERVER_VERSION
PDO::ATTR_TIMEOUT

반환값

A successful call returns the value of the requested PDO attribute. An unsuccessful call returns null.

예제

예 1661. Retrieving database connection attributes

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
    "AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
    "ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
    "TIMEOUT"
);

foreach ($attributes as $val) {
    echo "PDO::ATTR_$val: ";
    echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

참고

PDO->setAttribute()
PDOStatement->getAttribute()
PDOStatement->setAttribute()

이전 | 위로 | 다음
PDO->exec() | 처음으로 | PDO->getAvailableDrivers()


PDO->getAvailableDrivers()

(No version information available, might be only in CVS)

PDO->getAvailableDrivers() -- Return an array of available PDO drivers

설명

class PDO {
array getAvailableDrivers ( void )
}

This function returns all currently available PDO drivers which can be used in DSN parameter of PDO->__construct(). This is a static method.

반환값

PDO->getAvailableDrivers() returns an array of PDO driver names. If no drivers are available, it returns an empty array.

예제

예 1662. A PDO->getAvailableDrivers() example

<?php
print_r(PDO::getAvailableDrivers());
?>

위 예제의 출력 예:

Array
(
    [0] => mysql
    [1] => sqlite
)

이전 | 위로 | 다음
PDO->getAttribute() | 처음으로 | PDO->lastInsertId()


PDO::pgsqlLOBCreate

(PHP 5 >= 5.1.2, PECL pdo_pgsql:1.0.1-1.0.2)

PDO::pgsqlLOBCreate -- Creates a new large object

설명

string PDO::pgsqlLOBCreate ( void )

PDO::pgsqlLOBCreate() creates a large object and returns the OID of that object. You may then open a stream on the object using PDO::pgsqlLOBOpen() to read or write data to it. The OID can be stored in columns of type OID and be used to reference the large object, without causing the row to grow arbitrarily large. The large object will continue to live in the database until it is removed by calling PDO::pgsqlLOBUnlink().

Large objects can be up to 2GB in size, but are cumbersome to use; you need to ensure that PDO::pgsqlLOBUnlink() is called prior to deleting the last row that references its OID from your database. In addition, large objects have no access controls. As an alternative, try the bytea column type; recent versions of PostgreSQL allow bytea columns of up to 1GB in size and transparently manage the storage for optimal row size.

참고: This function must be called within a transaction.

매개변수

PDO::pgsqlLOBCreate() takes no parameters.

반환값

Returns the OID of the newly created large object on success, or FALSE on failure.

예제

예 1880. A PDO::pgsqlLOBCreate() example

This example creates a new large object and copies the contents of a file into it. The OID is then stored into a table.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$oid = $db->pgsqlLOBCreate();
$stream = $db->pgsqlLOBOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $stream);
$local = null;
$stream = null;
$stmt = $db->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$stmt->execute(array($some_id, $oid));
$db->commit();
?>

참고

PDO::pgsqlLOBOpen()
PDO::pgsqlLOBUnlink()
pg_lo_create()

이전 | 위로 | 다음
PDO_PGSQL DSN | 처음으로 | PDO::pgsqlLOBOpen


PDO::pgsqlLOBOpen

(PHP 5 >= 5.1.2, PECL pdo_pgsql:1.0.1-1.0.2)

PDO::pgsqlLOBOpen -- Opens an existing large object stream

설명

resource PDO::pgsqlLOBOpen ( string $oid [, string $mode] )

PDO::pgsqlLOBOpen() opens a stream to access the data referenced by oid. If mode is r, the stream is opened for reading, if mode is w, then the stream will be opened for writing. You can use all the usual filesystem functions, such as fread(), fwrite() and fgets() to manipulate the contents of the stream.

참고: This function, and all manipulations of the large object, must be called and carried out within a transaction.

매개변수

oid

A large object identifier.

mode

If mode is r, open the stream for reading. If mode is w, open the stream for writing.

반환값

Returns a stream resource on success, or FALSE on failure.

예제

예 1881. A PDO::pgsqlLOBOpen() example

Following on from the PDO::pgsqlLOBCreate() example, this code snippet retrieves the large object from the database and outputs it to the browser.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare("select oid from BLOBS where ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid', $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
fpassthru($lob);
?>

참고

PDO::pgsqlLOBCreate()
PDO::pgsqlLOBUnlink()
pg_lo_open()

이전 | 위로 | 다음
PDO::pgsqlLOBCreate | 처음으로 | PDO::pgsqlLOBUnlink


PDO::pgsqlLOBUnlink

(PHP 5 >= 5.1.2, PECL pdo_pgsql:1.0.1-1.0.2)

PDO::pgsqlLOBUnlink -- Deletes the large object

설명

bool PDO::pgsqlLOBUnlink ( string $oid )

Deletes a large object from the database identified by OID.

참고: This function must be called within a transaction.

매개변수

oid

A large object identifier

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1882. A PDO::pgsqlLOBUnlink() example

This example unlinks a large object from the database prior to deleting the row that references it from the blobs table we've been using in our PDO::pgsqlLOBCreate() and PDO::pgsqlLOBOpen() examples.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$db->pgsqlLOBUnlink($oid);
$stmt = $db->prepare("DELETE FROM BLOBS where ident = ?");
$stmt->execute(array($some_id));
$db->commit();
?>

참고

PDO::pgsqlLOBOpen()
PDO::pgsqlLOBCreate()

이전 | 위로 | 다음
PDO::pgsqlLOBOpen | 처음으로 | CXXIX. Printer Functions


PDO->query()

(PHP 5 >= 5.1.0, PECL pdo:0.2-1.0.3)

PDO->query() -- Executes an SQL statement, returning a result set as a PDOStatement object

설명

class PDO {
PDOStatement query ( string $statement )
} class PDO {
PDOStatement query ( string $statement, int $PDO::FETCH_COLUMN, int $colno )
} class PDO {
PDOStatement query ( string $statement, int $PDO::FETCH_CLASS, string $classname, array $ctorargs )
} class PDO {
PDOStatement query ( string $statement, int $PDO::FETCH_INTO, object $object )
}

PDO->query() executes an SQL statement in a single function call, returning the result set (if any) returned by the statement as a PDOStatement object.

For a query that you need to issue multiple times, you will realize better performance if you prepare a PDOStatement object using PDO->prepare() and issue the statement with multiple calls to PDOStatement->execute().

If you do not fetch all of the data in a result set before issuing your next call to PDO->query(), your call may fail. Call PDOStatement->closeCursor() to release the database resources associated with the PDOStatement object before issuing your next call to PDO->query().

참고: Although this function is only documented as having a single parameter, you may pass additional arguments to this function. They will be treated as though you called PDOStatement->setFetchMode() on the resultant statement object.

매개변수

statement

The SQL statement to prepare and execute.

반환값

PDO->query() returns a PDOStatement object.

예제

예 1665. Demonstrate PDO::query

A nice feature of PDO->query() is that it enables you to iterate over the rowset returned by a successfully executed SELECT statement.

<?php
function getFruit($conn) {
    $sql = 'SELECT name, colour, calories FROM fruit ORDER BY name';
    foreach ($conn->query($sql) as $row) {
        print $row['NAME'] . "\t";
        print $row['COLOUR'] . "\t";
        print $row['CALORIES'] . "\n";
    }
}
?>

위 예제의 출력:

apple   red     150
banana  yellow  250
kiwi    brown   75
lemon   yellow  25
orange  orange  300
pear    green   150
watermelon      pink    90

참고

PDO->exec()
PDO->prepare()
PDOStatement->execute()

이전 | 위로 | 다음
PDO->prepare() | 처음으로 | PDO->quote()


PDO->quote()

(PHP 5 >= 5.1.0, PECL pdo:0.2.1-1.0.3)

PDO->quote() -- Quotes a string for use in a query.

설명

class PDO {
string quote ( string $string [, int $parameter_type] )
}

PDO->quote() places quotes around the input string (if required) and escapes special characters within the input string, using a quoting style appropriate to the underlying driver.

If you are using this function to build SQL statements, you are strongly recommended to use PDO->prepare() to prepare SQL statements with bound parameters instead of using PDO->quote() to interpolate user input into a SQL statement. Prepared statements with bound parameters are not only more portable, more convenient, immune to SQL injection, but are often much faster to execute than interpolated queries, as both the server and client side can cache a compiled form of the query.

Not all PDO drivers implement this method (notably PDO_ODBC). Consider using prepared statements instead.

매개변수

string

The string to be quoted.

parameter_type

Provides a data type hint for drivers that have alternate quoting styles. The default value is PDO::PARAM_STR.

반환값

Returns a quoted string that is theoretically safe to pass into an SQL statement. Returns FALSE if the driver does not support quoting in this way.

예제

예 1666. Quoting a normal string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Simple string */
$string = 'Nice';
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

위 예제의 출력:

Unquoted string: Nice
Quoted string: 'Nice'

예 1667. Quoting a dangerous string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Dangerous string */
$string = 'Naughty \' string';
print "Unquoted string: $string\n";
print "Quoted string:" . $conn->quote($string) . "\n";
?>

위 예제의 출력:

Unquoted string: Naughty ' string
Quoted string: 'Naughty '' string'

예 1668. Quoting a complex string

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Complex string */
$string = "Co'mpl''ex \"st'\"ring";
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
?>

위 예제의 출력:

Unquoted string: Co'mpl''ex "st'"ring
Quoted string: 'Co''mpl''''ex "st''"ring'

참고

PDO->prepare()
PDOStatement->execute()

이전 | 위로 | 다음
PDO->query() | 처음으로 | PDO->rollBack()


PDO->sqliteCreateAggregate()

(No version information available, might be only in CVS)

PDO->sqliteCreateAggregate() -- Registers an aggregating User Defined Function for use in SQL statements

설명

class PDO {
bool sqliteCreateAggregate ( string $function_name, callback $step_func, callback $finalize_func [, int $num_args] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This method is similar to PDO->sqliteCreateFunction() except that it registers functions that can be used to calculate a result aggregated across all the rows of a query.

The key difference between this method and PDO->sqliteCreateFunction() is that two functions are required to manage the aggregate.

매개변수

function_name

The name of the function used in SQL statements.

step_func

Callback function called for each row of the result set. Your PHP function should accumulate the result and store it in the aggregation context.

This function need to be defined as: step ( mixed $context, int $rownumber, mixed $value1 [, mixed $value2 [, mixed $..]] )

context will be NULL for the first row; on subsequent rows it will have the value that was previously returned from the step function; you should use this to maintain the aggregate state.

rownumber will hold the current row number.

finalize_func

Callback function to aggregate the "stepped" data from each row. Once all the rows have been processed, this function will be called and it should then take the data from the aggregation context and return the result. Callback functions should return a type understood by SQLite (i.e. scalar type).

This function need to be defined as: fini ( mixed $context, int $rownumber )

context will hold the return value from the very last call to the step function.

rownumber will hold the number of rows over which the aggregate was performed.

The return value of this function will be used as the return value for the aggregate.

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2235. max_length aggregation function example

<?php
$data = array(
   'one',
   'two',
   'three',
   'four',
   'five',
   'six',
   'seven',
   'eight',
   'nine',
   'ten',
   );
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE strings(a)");
$insert = $db->prepare('INSERT INTO strings VALUES (?)');
foreach ($data as $str) {
    $insert->execute(array($str));
}
$insert = null;

function max_len_step(&$context, $rownumber, $string)
{
    if (strlen($string) > $context) {
        $context = strlen($string);
    }
}

function max_len_finalize(&$context, $rownumber)
{
    return $context;
}

$db->sqliteCreateAggregate('max_len', 'max_len_step', 'max_len_finalize');

var_dump($db->query('SELECT max_len(a) from strings')->fetchAll());

?>

In this example, we are creating an aggregating function that will calculate the length of the longest string in one of the columns of the table. For each row, the max_len_step function is called and passed a context parameter. The context parameter is just like any other PHP variable and be set to hold an array or even an object value. In this example, we are simply using it to hold the maximum length we have seen so far; if the string has a length longer than the current maximum, we update the context to hold this new maximum length.

After all of the rows have been processed, SQLite calls the max_len_finalize function to determine the aggregate result. Here, we could perform some kind of calculation based on the data found in the context. In our simple example though, we have been calculating the result as the query progressed, so we simply need to return the context value.

작은 정보

It is NOT recommended for you to store a copy of the values in the context and then process them at the end, as you would cause SQLite to use a lot of memory to process the query - just think of how much memory you would need if a million rows were stored in memory, each containing a string 32 bytes in length.

작은 정보

You can use PDO->sqliteCreateFunction() and PDO->sqliteCreateAggregate() to override SQLite native SQL functions.

참고: This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.

참고

PDO->sqliteCreateFunction()
sqlite_create_function()
sqlite_create_aggregate()

이전 | 위로 | 다음
PDO_SQLITE DSN | 처음으로 | PDO->sqliteCreateFunction()


PDO->sqliteCreateFunction()

(No version information available, might be only in CVS)

PDO->sqliteCreateFunction() -- Registers a User Defined Function for use in SQL statements

설명

class PDO {
bool sqliteCreateFunction ( string $function_name, callback $callback [, int $num_args] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This method allows you to register a PHP function with SQLite as an UDF (User Defined Function), so that it can be called from within your SQL statements.

The UDF can be used in any SQL statement that can call functions, such as SELECT and UPDATE statements and also in triggers.

매개변수

function_name

The name of the function used in SQL statements.

callback

Callback function to handle the defined SQL function.

참고: Callback functions should return a type understood by SQLite (i.e. scalar type).

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2236. PDO::sqliteCreateFunction() example

<?php
function md5_and_reverse($string)
{
    return strrev(md5($string));
}

$db = new PDO('sqlite:sqlitedb');
$db->sqliteCreateFunction('md5rev', 'md5_and_reverse', 1);
$rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>

In this example, we have a function that calculates the md5 sum of a string, and then reverses it. When the SQL statement executes, it returns the value of the filename transformed by our function. The data returned in $rows contains the processed result.

The beauty of this technique is that you do not need to process the result using a foreach() loop after you have queried for the data.

작은 정보

You can use PDO->sqliteCreateFunction() and PDO->sqliteCreateAggregate() to override SQLite native SQL functions.

참고: This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.

참고

PDO->sqliteCreateAggregate()
sqlite_create_function()
sqlite_create_aggregate()

이전 | 위로 | 다음
PDO->sqliteCreateAggregate() | 처음으로 | CLVIII. Secure Shell2 Functions


PDOStatement->bindValue()

(PHP 5 >= 5.1.0, PECL pdo:1.0-1.0.3)

PDOStatement->bindValue() -- Binds a value to a parameter

설명

class PDOStatement {
bool bindValue ( mixed $parameter, mixed $value [, int $data_type] )
}

Binds a value to a corresponding named or question mark placeholder in the SQL statement that was use to prepare the statement.

매개변수

parameter

Parameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.

value

The value to bind to the parameter.

data_type

Explicit data type for the parameter using the PDO::PARAM_* constants. Defaults to PHP native type.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1674. Execute a prepared statement with named placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindValue(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>

예 1675. Execute a prepared statement with question mark placeholders

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindValue(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>

참고

PDO->prepare()
PDOStatement->execute()
PDOStatement->bindParam()

이전 | 위로 | 다음
PDOStatement->bindParam() | 처음으로 | PDOStatement->closeCursor()


PDOStatement->closeCursor()

(PHP 5 >= 5.1.0, PECL pdo:0.9-1.0.3)

PDOStatement->closeCursor() -- Closes the cursor, enabling the statement to be executed again.

설명

class PDOStatement {
bool closeCursor ( void )
}

PDOStatement->closeCursor() frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a state that enables it to be executed again.

This method is useful for database drivers that do not support executing a PDOStatement object when a previously executed PDOStatement object still has unfetched rows. If your database driver suffers from this limitation, the problem may manifest itself in an out-of-sequence error.

PDOStatement->closeCursor() is implemented either as an optional driver specific method (allowing for maximum efficiency), or as the generic PDO fallback if no driver specific function is installed. The PDO generic fallback is semantically the same as writing the following code in your PHP script: <?php
do {
    while ($stmt->fetch())
        ;
    if (!$stmt->nextRowset())
        break;
} while (true);
?>

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1676. A PDOStatement->closeCursor() example

In the following example, the $stmt PDOStatement object returns multiple rows but the application fetches only the first row, leaving the PDOStatement object in a state of having unfetched rows. To ensure that the application will work with all database drivers, the author inserts a call to PDOStatement->closeCursor() on $stmt before executing the $otherStmt PDOStatement object.

<?php
/* Create a PDOStatement object */
$stmt = $dbh->prepare('SELECT foo FROM bar');

/* Create a second PDOStatement object */
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');

/* Execute the first statement */
$stmt->execute();

/* Fetch only the first row from the results */
$stmt->fetch();

/* The following call to closeCursor() may be required by some drivers */
$stmt->closeCursor();

/* Now we can execute the second statement */
$otherStmt->execute();
?>

참고

PDOStatement->execute()

이전 | 위로 | 다음
PDOStatement->bindValue() | 처음으로 | PDOStatement->columnCount()


PDOStatement->columnCount()

(PHP 5 >= 5.1.0, PECL pdo:0.2-1.0.3)

PDOStatement->columnCount() -- Returns the number of columns in the result set

설명

class PDOStatement {
int columnCount ( void )
}

Use PDOStatement->columnCount() to return the number of columns in the result set represented by the PDOStatement object.

If the PDOStatement object was returned from PDO->query(), the column count is immediately available.

If the PDOStatement object was returned from PDO->prepare(), an accurate column count will not be available until you invoke PDOStatement->execute().

반환값

Returns the number of columns in the result set represented by the PDOStatement object. If there is no result set, PDOStatement->columnCount() returns 0.

예제

예 1677. Counting columns

This example demonstrates how PDOStatement->columnCount() operates with and without a result set.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

$sth = $dbh->prepare("SELECT name, colour FROM fruit");

/* Count the number of columns in the (non-existent) result set */
$colcount = $sth->columnCount();
print("Before execute(), result set has $colcount columns (should be 0)\n");

$sth->execute();

/* Count the number of columns in the result set */
$colcount = $sth->columnCount();
print("After execute(), result set has $colcount columns (should be 2)\n");

?>

위 예제의 출력:

Before execute(), result set has 0 columns (should be 0)
After execute(), result set has 2 columns (should be 2)

참고

PDO->prepare()
PDOStatement->execute()
PDOStatement->rowCount()

이전 | 위로 | 다음
PDOStatement->closeCursor() | 처음으로 | PDOStatement->errorCode()


PDOStatement->fetchColumn()

(PHP 5 >= 5.1.0, PECL pdo:0.9-1.0.3)

PDOStatement->fetchColumn() -- Returns a single column from the next row of a result set

설명

class PDOStatement {
string fetchColumn ( [int $column_number] )
}

Returns a single column from the next row of a result set or FALSE if there are no more rows.

매개변수

column_number

0-indexed number of the column you wish to retrieve from the row. If no value is supplied, PDOStatement->fetchColumn() fetches the first column.

반환값

PDOStatement->fetchColumn() returns a single column in the next row of a result set.

주의

There is no way to return another column from the same row if you use PDOStatement->fetchColumn() to retrieve data.

예제

예 1689. Return first column of the next row

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch the first column from the next row in the result set */
print("Fetch the first column from the next row in the result set:\n");
$result = $sth->fetchColumn();
print("name = $result\n");

print("Fetch the second column from the next row in the result set:\n");
$result = $sth->fetchColumn(1);
print("colour = $result\n");
?>

위 예제의 출력:

Fetch the first column from the next row in the result set:
name = lemon
Fetch the second column from the next row in the result set:
colour = red

참고

PDO->query()
PDOStatement->fetch()
PDOStatement->fetchAll()
PDO->prepare()
PDOStatement->setFetchMode()

이전 | 위로 | 다음
PDOStatement->fetchAll() | 처음으로 | PDOStatement->fetchObject()


PDOStatement->fetchObject()

(PHP 5 >= 5.1.0, PECL pdo:0.2.4-1.0.3)

PDOStatement->fetchObject() -- Fetches the next row and returns it as an object.

설명

class PDOStatement {
mixed fetchObject ( [string $class_name [, array $ctor_args]] )
}

Fetches the next row and returns it as an object. This function is an
alternative to PDOStatement->fetch() with
PDO::FETCH_CLASS or
PDO::FETCH_OBJ style.

매개변수

class_name

Name of the created class, defaults to stdClass.

ctor_args

Elements of this array are passed to the constructor.

반환값

Returns an instance of the required class with property names that correspond to the column names or FALSE in case of an error.

참고

PDOStatement->fetch()

이전 | 위로 | 다음
PDOStatement->fetchColumn() | 처음으로 | PDOStatement->getAttribute()


PDOStatement->getAttribute()

(PHP 5 >= 5.1.0, PECL pdo:0.2-1.0.3)

PDOStatement->getAttribute() -- Retrieve a statement attribute

설명

class PDOStatement {
mixed getAttribute ( int $attribute )
}

Gets an attribute of the statement. Currently, no generic attributes exist but only driver specific:

  • PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Get the name of cursor for UPDATE ... WHERE CURRENT OF.

반환값

Returns the attribute value.

참고

PDO->getAttribute()
PDO->setAttribute()
PDOStatement->setAttribute()

이전 | 위로 | 다음
PDOStatement->fetchObject() | 처음으로 | PDOStatement->getColumnMeta()


PDOStatement->getColumnMeta()

(PHP 5 >= 5.1.0, PECL pdo:0.2-1.0.3)

PDOStatement->getColumnMeta() -- Returns metadata for a column in a result set

설명

class PDOStatement {
array getColumnMeta ( int $column )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Retrieves the metadata for a 0-indexed column in a result set as an associative array.

주의

Not all PDO drivers support PDOStatement->getColumnMeta().

매개변수

column

The 0-indexed column in the result set.

반환값

Returns an associative array containing the following values representing the metadata for a single column:

표 243. Column metadata

Name | Value
native_type | The PHP native type used to represent the column value.
driver:decl_type | The SQL type used to represent the column value in the database. If the column in the result set is the result of a function, this value is not returned by PDOStatement->getColumnMeta().
flags | Any flags set for this column.
name | The name of this column as returned by the database.
table | The name of this column's table as returned by the database.
len | The length of this column. Normally -1 for types other than floating point decimals.
precision | The numeric precision of this column. Normally 0 for types other than floating point decimals.
pdo_type | The type of this column as represented by the PDO::PARAM_* constants.

Returns FALSE if the requested column does not exist in the result set, or if no result set exists.

변경 기록

버전 | 설명
5.2.3 | table field

예제

예 1690. Retrieving column metadata

The following example shows the results of retrieving the metadata for a single column generated by a function (COUNT) in a PDO_SQLITE driver.

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

위 예제의 출력:

array(6) {
  ["native_type"]=>
  string(7) "integer"
  ["flags"]=>
  array(0) {
  }
  ["name"]=>
  string(8) "COUNT(*)"
  ["len"]=>
  int(-1)
  ["precision"]=>
  int(0)
  ["pdo_type"]=>
  int(2)
}

참고

PDOStatement->columnCount()
PDOStatement->rowCount()

이전 | 위로 | 다음
PDOStatement->getAttribute() | 처음으로 | PDOStatement->nextRowset()


PDOStatement->nextRowset()

(PHP 5 >= 5.1.0, PECL pdo:0.2-1.0.3)

PDOStatement->nextRowset() -- Advances to the next rowset in a multi-rowset statement handle

설명

class PDOStatement {
bool nextRowset ( void )
}

Some database servers support stored procedures that return more than one rowset (also known as a result set). PDOStatement->nextRowset() enables you to access the second and subsequent rowsets associated with a PDOStatement object. Each rowset can have a different set of columns from the preceding rowset.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1691. Fetching multiple rowsets returned from a stored procedure

The following example shows how to call a stored procedure, MULTIPLE_ROWSETS, that returns three rowsets. We use a do / while loop to loop over the PDOStatement->nextRowset() method, which returns false and terminates the loop when no more rowsets can be returned.

<?php
$sql = 'CALL multiple_rowsets()';
$stmt = $conn->query($sql);
$i = 1;
do {
    $rowset = $stmt->fetchAll(PDO::FETCH_NUM);
    if ($rowset) {
        printResultSet($rowset, $i);
    }
    $i++;
} while ($stmt->nextRowset());

function printResultSet(&$rowset, $i) {
    print "Result set $i:\n";
    foreach ($rowset as $row) {
        foreach ($row as $col) {
            print $col . "\t";
        }
        print "\n";
    }
    print "\n";
}
?>

위 예제의 출력:

Result set 1:
apple    red
banana   yellow

Result set 2:
orange   orange    150
banana   yellow    175

Result set 3:
lime     green
apple    red
banana   yellow

참고

PDOStatement->columnCount()
PDOStatement->execute()
PDOStatement->getColumnMeta()
PDO->query()

이전 | 위로 | 다음
PDOStatement->getColumnMeta() | 처음으로 | PDOStatement->rowCount()


PDOStatement->setAttribute()

(PHP 5 >= 5.1.0, PECL pdo:0.2-1.0.3)

PDOStatement->setAttribute() -- Set a statement attribute

설명

class PDOStatement {
bool setAttribute ( int $attribute, mixed $value )
}

Sets an attribute on the statement. Currently, no generic attributes are set but only driver specific:

  • PDO::ATTR_CURSOR_NAME (Firebird and ODBC specific): Set the name of cursor for UPDATE ... WHERE CURRENT OF.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

PDO->getAttribute()
PDO->setAttribute()
PDOStatement->getAttribute()

이전 | 위로 | 다음
PDOStatement->rowCount() | 처음으로 | PDOStatement->setFetchMode()


PDOStatement->setFetchMode()

(PHP 5 >= 5.1.0, PECL pdo:0.2-1.0.3)

PDOStatement->setFetchMode() -- Set the default fetch mode for this statement

설명

class PDOStatement {
bool setFetchMode ( int $mode )
} class PDOStatement {
bool setFetchMode ( int $PDO::FETCH_COLUMN, int $colno )
} class PDOStatement {
bool setFetchMode ( int $PDO::FETCH_CLASS, string $classname, array $ctorargs )
} class PDOStatement {
bool setFetchMode ( int $PDO::FETCH_INTO, object $object )
}

매개변수

mode

The fetch mode must be one of the PDO::FETCH_* constants.

반환값

Returns 1 on success or FALSE on failure.

예제

예 1694. Setting the fetch mode

The following example demonstrates how PDOStatement->setFetchMode() changes the default fetch mode for a PDOStatement object.

<?php
$sql = 'SELECT name, colour, calories FROM fruit';
try {
  $stmt = $dbh->query($sql);
  $result = $stmt->setFetchMode(PDO::FETCH_NUM);
  while ($row = $stmt->fetch()) {
    print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
  }
}
catch (PDOException $e) {
  print $e->getMessage();
}
?>

위 예제의 출력:

apple   red     150
banana  yellow  250
orange  orange  300
kiwi    brown   75
lemon   yellow  25
pear    green   150
watermelon      pink    90

이전 | 위로 | 다음
PDOStatement->setAttribute() | 처음으로 | CXXIII. Phar archive stream and classes


pg_execute

(PHP 5 >= 5.1.0)

pg_execute -- Sends a request to execute a prepared statement with given parameters, and waits for the result.

설명

resource pg_execute ( resource $connection, string $stmtname, array $params )
resource pg_execute ( string $stmtname, array $params )

Sends a request to execute a prepared statement with given parameters, and waits for the result.

pg_execute() is like pg_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. The statement must have been prepared previously in the current session. pg_execute() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The parameters are identical to pg_query_params(), except that the name of a prepared statement is given instead of a query string.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

주의

Elements are converted to strings by calling this function.

반환값

A query result resource on success, or FALSE on failure.

예제

예 1812. Using pg_execute()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

참고

pg_prepare()
pg_send_prepare()
pg_query_params()

이전 | 위로 | 다음
pg_escape_string | 처음으로 | pg_fetch_all_columns


pg_fetch_all_columns

(PHP 5 >= 5.1.0)

pg_fetch_all_columns -- Fetches all rows in a particular result column as an array

설명

array pg_fetch_all_columns ( resource $result [, int $column] )

pg_fetch_all_columns() returns an array that contains all rows (records) in a particular column of the result resource.

참고: 이 함수는 NULL 필드를 PHP NULL 값으로 설정합니다.

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

column

Column number, zero-based, to be retrieved from the result resource. Defaults to the first column if not specified.

반환값

An array with all values in the result column.

FALSE is returned if column is larger than the number of columns in the result, or on any other error.

예제

예 1813. pg_fetch_all_columns() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

// Get an array of all author names
$arr = pg_fetch_all_columns($result, 1);

var_dump($arr);

?>

참고

pg_fetch_all()

이전 | 위로 | 다음
pg_execute | 처음으로 | pg_fetch_all


pg_field_table

(PHP 5 >= 5.2.0)

pg_field_table -- Returns the name or oid of the tables field

설명

mixed pg_field_table ( resource $result, int $field_number [, bool $oid_only] )

pg_field_table() returns the name of the table that field belongs to, or the table's oid if oid_only is TRUE.

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

oid_only

By default the tables name that field belongs to is returned but if oid_only is set to TRUE, then the oid will instead be returned.

반환값

On success either the fields table name or oid. Or, FALSE on failure.

예제

예 1825. Getting table information about a field

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$res = pg_query($dbconn, "SELECT bar FROM foo");

echo pg_field_table($res, 0);
echo pg_field_table($res, 0, true);

$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>

위 예제의 출력 예:

foo
14379580

bool(false)

주의

참고: Returning the oid is much faster than returning the table name because fetching the table name requires a query to the database system table.

참고

pg_field_name()
pg_field_type()

이전 | 위로 | 다음
pg_field_size | 처음으로 | pg_field_type_oid


pg_field_type_oid

(PHP 5 >= 5.1.0)

pg_field_type_oid -- Returns the type ID (OID) for the corresponding field number

설명

int pg_field_type_oid ( resource $result, int $field_number )

pg_field_type_oid() returns an integer containing the OID of the base type of the given field_number in the given PostgreSQL result resource.

You can get more information about the field type by querying PostgreSQL's pg_type system table using the OID obtained with this function. The PostgreSQL format_type() function will convert a type OID into an SQL standard type name.

참고: If the field uses a PostgreSQL domain (rather than a basic type), it is the OID of the domain's underlying type that is returned, rather than the OID of the domain itself.

매개변수

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

반환값

The OID of the field's base type. FALSE is returned on error.

예제

예 1826. Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Assume 'title' is a varchar type
  $res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

  echo "Title field type OID: ", pg_field_type_oid($res, 0);
?>

위 예제의 출력:

Title field type OID: 1043

참고

pg_field_type()
pg_field_prtlen()
pg_field_name()

이전 | 위로 | 다음
pg_field_table | 처음으로 | pg_field_type


pg_prepare

(PHP 5 >= 5.1.0)

pg_prepare -- Submits a request to create a prepared statement with the given parameters, and waits for completion.

설명

resource pg_prepare ( resource $connection, string $stmtname, string $query )
resource pg_prepare ( string $stmtname, string $query )

pg_prepare() creates a prepared statement for later execution with pg_execute() or pg_send_execute(). This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. pg_prepare() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The function creates a prepared statement named stmtname from the query string, which must contain a single SQL command. stmtname may be "" to create an unnamed statement, in which case any pre-existing unnamed statement is automatically replaced; otherwise it is an error if the statement name is already defined in the current session. If any parameters are used, they are referred to in the query as $1, $2, etc.

Prepared statements for use with pg_prepare() can also be created by executing SQL PREPARE statements. (But pg_prepare() is more flexible since it does not require parameter types to be pre-specified.) Also, although there is no PHP function for deleting a prepared statement, the SQL DEALLOCATE statement can be used for that purpose.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterised SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

반환값

A query result resource on success, or FALSE on failure.

예제

예 1856. Using pg_prepare()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

참고

pg_execute()
pg_send_execute()

이전 | 위로 | 다음
pg_port | 처음으로 | pg_put_line


pg_query_params

(PHP 5 >= 5.1.0)

pg_query_params -- Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

설명

resource pg_query_params ( resource $connection, string $query, array $params )
resource pg_query_params ( string $query, array $params )

Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_query_params() is like pg_query(), but offers additional functionality: parameter values can be specified separately from the command string proper. pg_query_params() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

If parameters are used, they are referred to in the query string as $1, $2, etc. params specifies the actual values of the parameters. A NULL value in this array means the corresponding parameter is SQL NULL.

The primary advantage of pg_query_params() over pg_query() is that parameter values may be separated from the query string, thus avoiding the need for tedious and error-prone quoting and escaping. Unlike pg_query(), pg_query_params() allows at most one SQL command in the given string. (There can be semicolons in it, but not more than one nonempty command.)

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

query

The parameterised SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

반환값

A query result resource on success, or FALSE on failure.

예제

예 1858. Using pg_query_params()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Find all shops named Joe's Widgets.  Note that it is not necessary to
// escape "Joe's Widgets"
$result = pg_query_params($dbconn, 'SELECT * FROM shops WHERE name = $1', array("Joe's Widgets"));

// Compare against just using pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM shops WHERE name = '{$str}'");

?>

참고

pg_query()

이전 | 위로 | 다음
pg_put_line | 처음으로 | pg_query


pg_result_error_field

(PHP 5 >= 5.1.0)

pg_result_error_field -- Returns an individual field of an error report.

설명

string pg_result_error_field ( resource $result, int $fieldcode )

pg_result_error_field() returns one of the detailed error message fields associated with result resource. It is only available against a PostgreSQL 7.4 or above server. The error field is specified by the fieldcode.

Because pg_query() and pg_query_params() return FALSE if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

If you need to get additional error information from failed pg_query() queries, use pg_set_error_verbosity() and pg_last_error() and then parse the result.

매개변수

result

A PostgreSQL query result resource from a previously executed statement.

fieldcode

Possible fieldcode values are: PGSQL_DIAG_SEVERITY, PGSQL_DIAG_SQLSTATE, PGSQL_DIAG_MESSAGE_PRIMARY, PGSQL_DIAG_MESSAGE_DETAIL, PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION, PGSQL_DIAG_INTERNAL_POSITION (PostgreSQL 8.0+ only), PGSQL_DIAG_INTERNAL_QUERY (PostgreSQL 8.0+ only), PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE or PGSQL_DIAG_SOURCE_FUNCTION.

반환값

A string containing the contents of the error field, NULL if the field does not exist or FALSE on failure.

예제

예 1861. pg_result_error_field() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  $res1 = pg_get_result($dbconn);
  echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

참고

pg_result_error()

이전 | 위로 | 다음
pg_query | 처음으로 | pg_result_error


pg_send_execute

(PHP 5 >= 5.1.0)

pg_send_execute -- Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

설명

bool pg_send_execute ( resource $connection, string $stmtname, array $params )

Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

This is similar to pg_send_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. The function's parameters are handled identically to pg_execute(). Like pg_execute(), it will not work on pre-7.4 versions of PostgreSQL.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

반환값

Returns TRUE on success, FALSE on failure. Use pg_get_result() to determine the query result.

예제

예 1866. Using pg_send_execute()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

참고

pg_prepare()
pg_send_prepare()
pg_execute()

이전 | 위로 | 다음
pg_select | 처음으로 | pg_send_prepare


pg_send_prepare

(PHP 5 >= 5.1.0)

pg_send_prepare -- Sends a request to create a prepared statement with the given parameters, without waiting for completion.

설명

bool pg_send_prepare ( resource $connection, string $stmtname, string $query )

Sends a request to create a prepared statement with the given parameters, without waiting for completion.

This is an asynchronous version of pg_prepare(): it returns TRUE if it was able to dispatch the request, and FALSE if not. After a successful call, call pg_get_result() to determine whether the server successfully created the prepared statement. The function's parameters are handled identically to pg_prepare(). Like pg_prepare(), it will not work on pre-7.4 versions of PostgreSQL.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterised SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

반환값

Returns TRUE on success, FALSE on failure. Use pg_get_result() to determine the query result.

예제

예 1867. Using pg_send_prepare()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

참고

pg_connect()
pg_pconnect()
pg_execute()
pg_send_execute()
pg_send_query_params()

이전 | 위로 | 다음
pg_send_execute | 처음으로 | pg_send_query_params


pg_send_query_params

(PHP 5 >= 5.1.0)

pg_send_query_params -- Submits a command and separate parameters to the server without waiting for the result(s).

설명

bool pg_send_query_params ( resource $connection, string $query, array $params )

Submits a command and separate parameters to the server without waiting for the result(s).

This is equivalent to pg_send_query() except that query parameters can be specified separately from the query string. The function's parameters are handled identically to pg_query_params(). Like pg_query_params(), it will not work on pre-7.4 PostgreSQL connections, and it allows only one command in the query string.

매개변수

connection

PostgreSQL database connection resource.

query

The parameterised SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

Use pg_get_result() to determine the query result.

예제

예 1868. Using pg_send_query_params()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Using parameters.  Note that it is not necessary to quote or escape
  // the parameter.
  pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

  // Compare against basic pg_send_query usage
  $str = pg_escape_string('Perth');
  pg_send_query($dbconn, "select count(*) from authors where city = '${str}'");
?>

참고

pg_send_query()

이전 | 위로 | 다음
pg_send_prepare | 처음으로 | pg_send_query


pg_set_error_verbosity

(PHP 5 >= 5.1.0)

pg_set_error_verbosity -- Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

설명

int pg_set_error_verbosity ( resource $connection, int $verbosity )
int pg_set_error_verbosity ( int $verbosity )

Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

pg_set_error_verbosity() sets the verbosity mode, returning the connection's previous setting. In PGSQL_ERRORS_TERSE mode, returned messages include severity, primary text, and position only; this will normally fit on a single line. The default mode (PGSQL_ERRORS_DEFAULT) produces messages that include the above plus any detail, hint, or context fields (these may span multiple lines). The PGSQL_ERRORS_VERBOSE mode includes all available fields. Changing the verbosity does not affect the messages available from already-existing result objects, only subsequently-created ones.

매개변수

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

verbosity

The required verbosity: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

반환값

The previous verbosity level: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

예제

예 1871. pg_set_error_verbosity() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from doesnotexist;");
  }

  pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
  $res1 = pg_get_result($dbconn);
  echo pg_result_error($res1);
?>

참고

pg_last_error()
pg_result_error()

이전 | 위로 | 다음
pg_set_client_encoding | 처음으로 | pg_trace


pg_transaction_status

(PHP 5 >= 5.1.0)

pg_transaction_status -- Returns the current in-transaction status of the server.

설명

int pg_transaction_status ( resource $connection )

Returns the current in-transaction status of the server.

경고

pg_transaction_status() will give incorrect results when using a PostgreSQL 7.3 server that has the parameter autocommit set to off. The server-side autocommit feature has been deprecated and does not exist in later server versions.

매개변수

connection

PostgreSQL database connection resource.

반환값

The status can be PGSQL_TRANSACTION_IDLE (currently idle), PGSQL_TRANSACTION_ACTIVE (a command is in progress), PGSQL_TRANSACTION_INTRANS (idle, in a valid transaction block), or PGSQL_TRANSACTION_INERROR (idle, in a failed transaction block). PGSQL_TRANSACTION_UNKNOWN is reported if the connection is bad. PGSQL_TRANSACTION_ACTIVE is reported only when a query has been sent to the server and not yet completed.

예제

예 1873. pg_transaction_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $stat = pg_transaction_status($dbconn);
  if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
      echo 'Connection is bad';
  } else if ($stat === PGSQL_TRANSACTION_IDLE) {
      echo 'Connection is currently idle';
  } else {
      echo 'Connection is in a transaction state';
  }
?>

이전 | 위로 | 다음
pg_trace | 처음으로 | pg_tty


Phar::apiVersion

(PECL phar:1.0.0-1.2.1)

Phar::apiVersion -- Returns the api version

설명

string Phar::apiVersion ( void )

Return the API version of the phar file format that will be used when creating phars. The Phar extension supports reading API version 1.0.0 or newer.

매개변수

반환값

The API version string as in "1.0.0".

예제

예 1696. A Phar::apiVersion() example

<?php
echo Phar::apiVersion();
?>

위 예제의 출력:

1.0.0

이전 | 위로 | 다음
CXXIII. Phar archive stream and classes | 처음으로 | Phar::canCompress


Phar::canCompress

(PECL phar:1.0.0-1.2.1)

Phar::canCompress -- Returns whether phar extension supports compression using either zlib or bzip2

설명

bool Phar::canCompress ( [int $type] )

This should be used to test whether compression is possible prior to loading a phar archive containing compressed files.

매개변수

type

Either Phar::GZ or Phar::BZ2 can be used to test whether compression is possible with a specific compression algorithm (zlib or bzip2).

반환값

TRUE if compression/decompression is available, FALSE if not.

예제

예 1697. A Phar::canCompress() example

<?php
if (Phar::canCompress()) {
    echo file_get_contents('phar://compressedphar.phar/internal/file.txt');
} else {
    echo 'no compression available';
}
?>

참고

PharFileInfo::isCompressed()

이전 | 위로 | 다음
Phar::apiVersion | 처음으로 | Phar::canWrite


Phar::canWrite

(PECL phar:1.0.0-1.2.1)

Phar::canWrite -- Returns whether phar extension supports writing and creating phars

설명

bool Phar::canWrite ( void )

This method determines whether write access has been disabled in the system php.ini via the phar.readonly ini variable.

매개변수

반환값

TRUE if write access is enabled, FALSE if it is disabled.

예제

예 1698. A Phar::canWrite() example

<?php
if (Phar::canWrite()) {
    file_put_contents('phar://myphar.phar/file.txt', 'hi there');
}
?>

참고

phar.readonly

이전 | 위로 | 다음
Phar::canCompress | 처음으로 | Phar->compressAllFilesBZIP2


Phar->compressAllFilesBZIP2

(PECL phar:1.0.0-1.2.1)

Phar->compressAllFilesBZIP2 -- Compresses all files in the current Phar archive using Bzip2 compression

설명

bool Phar->compressAllFilesBZIP2 ( void )

This method compresses all files in the Phar archive using bzip2 compression. The bzip2 extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using gzip compression, the zlib extension must be enabled in order to decompress the files prior to re-compressing with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

오류/예외

Throws BadMethodCallException if the phar.readonly INI variable is on, the bzip2 extension is not available, or if any files are compressed using gzip compression and the zlib extension is not enabled.

예제

예 1699. A Phar->compressAllFilesBZIP2() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesBZIP2();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

위 예제의 출력:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
bool(true)
bool(true)
bool(false)
string(11) "myfile2.txt"
bool(true)
bool(true)
bool(false)

참고

PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->uncompressAllFiles()
Phar->compressAllFilesGZ()

이전 | 위로 | 다음
Phar::canWrite | 처음으로 | Phar->compressAllFilesGZ


Phar->compressAllFilesGZ

(PECL phar:1.0.0-1.2.1)

Phar->compressAllFilesGZ -- Compresses all files in the current Phar archive using Gzip compression

설명

bool Phar->compressAllFilesGZ ( void )

This method compresses all files in the Phar archive using gzip compression. The zlib extension must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2 compression, the bzip2 extension must be enabled in order to decompress the files prior to re-compressing with gzip compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

오류/예외

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

예제

예 1700. A Phar->compressAllFilesGZ() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
$p->compressAllFilesGZ();
foreach ($p as $file) {
    var_dump($file->getFileName());
    var_dump($file->isCompressed());
    var_dump($file->isCompressedBZIP2());
    var_dump($file->isCompressedGZ());
}
?>

위 예제의 출력:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
bool(true)
bool(false)
bool(true)
string(11) "myfile2.txt"
bool(true)
bool(false)
bool(true)

참고

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->uncompressAllFiles()
Phar->compressAllFilesBZIP2()

이전 | 위로 | 다음
Phar->compressAllFilesBZIP2 | 처음으로 | Phar::__construct


Phar::__construct

(PECL phar:1.0.0-1.2.1)

Phar::__construct -- Construct a Phar archive object

설명

void Phar::__construct ( string $fname [, int $flags [, string $alias]] )

매개변수

fname

Path to an existing Phar archive

flags

flags to pass to parent class RecursiveDirectoryIterator. See » SPL RecursiveDirectoryIterator docs

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

오류/예외

Throws BadMethodCallException if called twice, UnexpectedValueException if the phar archive can't be opened.

예제

예 1701. A Phar::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', CURRENT_AS_FILEINFO | KEY_AS_FILENAME,
                  'my.phar');
} catch (UnexpectedValueException $e) {
    die('Could not open my.phar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
// this works now
echo file_get_contents('phar://my.phar/example.txt');
// and works as if we had typed
echo file_get_contents('phar:///path/to/my.phar/example.txt');
?>

이전 | 위로 | 다음
Phar->compressAllFilesGZ | 처음으로 | Phar->count


Phar->count

(PECL phar:1.0.0-1.2.1)

Phar->count -- Returns the number of entries (files) in the Phar archive

설명

int Phar->count ( void )

매개변수

반환값

The number of files contained within this phar, or 0 (the number zero) if none.

예제

예 1702. A Phar->count() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p['file.txt'] = 'hi';
echo 'The new phar has ' . $p->count() . " entries\n";
?>

위 예제의 출력:

The new phar has 0 entries
The new phar has 1 entries

이전 | 위로 | 다음
Phar::__construct | 처음으로 | Phar->getMetaData


Phar->getMetaData

(PECL phar:1.0.0-1.2.1)

Phar->getMetaData -- Returns phar archive meta-data

설명

int Phar->getMetaData ( void )

매개변수

반환값

any PHP variable that can be serialized and is stored as meta-data for the Phar archive, or NULL if no meta-data is stored.

예제

예 1703. A Phar->getMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
$p['file.php'] = '<?php echo "hello";';
$p->setMetaData(array('bootstrap' => 'file.php'));
var_dump($p->getMetaData());
?>

위 예제의 출력:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

참고

PharFileInfo->setMetaData()

이전 | 위로 | 다음
Phar->count | 처음으로 | Phar->getModified


Phar->getModified

(PECL phar:1.0.0-1.2.1)

Phar->getModified -- Return whether phar was modified

설명

bool Phar->getModified ( void )

This method can be used to determine whether a phar has either had an internal file deleted, or contents of a file changed in some way.

매개변수

반환값

TRUE if the phar has been modified since opened, FALSE if not.

이전 | 위로 | 다음
Phar->getMetaData | 처음으로 | Phar->getSignature


Phar->getSignature

(PECL phar:1.0.0-1.2.1)

Phar->getSignature -- Return MD5/SHA1 signature of a Phar archive

설명

array Phar->getSignature ( void )

Returns the verification signature of a phar archive in a hexadecimal string.

매개변수

반환값

Array with the opened archive's signature in "hash" key and "md5" or "sha1" in "hash_type". This signature is a hash calculated on the entire phar's contents, and may be used to verify the integrity of the archive. A valid signature is absolutely required of all phars if the phar.require_hash INI variable is set to true.

이전 | 위로 | 다음
Phar->getModified | 처음으로 | Phar->getStub


Phar->getStub

(PECL phar:1.0.0-1.2.1)

Phar->getStub -- Return the PHP loader or bootstrap stub of a Phar archive

설명

string Phar->getStub ( void )

One of the features that differentiates a Phar archive from other familiar archive formats like tar or zip is that a Phar archive is explicitly designed to be included to allow distributing an application or library that can be run without extraction directly from the archive. In order to accomplish this, Phar archives contain a bootstrap loader, or stub written in PHP that can perform any action.

주의

All stubs must end with __HALT_COMPILER(); or the file is not a valid Phar archive.

반환값

Returns a string containing the contents of the bootstrap loader (stub) of the current Phar archive.

오류/예외

Throws RuntimeException if it is not possible to read the stub from the Phar archive.

예제

예 1704. A Phar->getStub() example

$p = new Phar('/path/to/my.phar', 0, 'my.phar');
echo $p->getStub();
echo "==NEXT==\n";
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();");
echo $p->getStub();

위 예제의 출력:

<?php __HALT_COMPILER();
==NEXT==
<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();

참고

Phar->setStub()

이전 | 위로 | 다음
Phar->getSignature | 처음으로 | Phar->getVersion


Phar->getVersion

(PECL phar:1.0.0-1.2.1)

Phar->getVersion -- Return version info of Phar archive

설명

string Phar->getVersion ( void )

Returns the API version of an opened Phar archive.

매개변수

반환값

The opened archive's API version. This is not to be confused with the API version that the loaded phar extension will use to create new phars. Each Phar archive has the API version hard-coded into its manifest. See Phar file format documentation for more information.

참고

Phar::apiVersion()

이전 | 위로 | 다음
Phar->getStub | 처음으로 | Phar->isBuffering


Phar->isBuffering

(PECL phar:1.0.0-1.2.1)

Phar->isBuffering -- Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

설명

bool Phar->isBuffering ( void )

This method can be used to determine whether a Phar will save changes to disk immediately, or whether a call to Phar->stopBuffering() is needed to enable saving changes.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

예제

예 1705. A Phar->isBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p2 = new Phar('existingphar.phar');
$p['file1.txt'] = 'hi';
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>
=2=
<?php
$p->startBuffering();
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
$p->stopBuffering();
?>
=3=
<?php
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>

위 예제의 출력:

bool(false)
bool(false)
=2=
bool(true)
bool(false)
=3=
bool(false)
bool(false)

참고

Phar->startBuffering()
Phar->stopBuffering()

이전 | 위로 | 다음
Phar->getVersion | 처음으로 | Phar::loadPhar


Phar::loadPhar

(PECL phar:1.0.0-1.2.1)

Phar::loadPhar -- Loads any phar archive with an alias

설명

mixed Phar::loadPhar ( string $filename [, string $alias] )

This can be used to read the contents of an external Phar archive. This is most useful for assigning an alias to a phar so that subsequent references to the phar can use the shorter alias, or for loading Phar archives that only contain data and are not intended for execution/inclusion in PHP scripts.

매개변수

filename

the full or relative path to the phar archive to open

alias

The alias that may be used to refer to the phar archive. Note that many phar archives specify an explicit alias inside the phar archive, and a PharException will be thrown if a new alias is specified in this case.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

PharException is thrown if an alias is passed in and the phar archive already has an explicit alias

예제

예 1706. A Phar::loadPhar() example

Phar::loadPhar can be used anywhere to load an external Phar archive, whereas Phar::mapPhar should be used in a loader stub for a Phar.

<?php
try {
    Phar::loadPhar('/path/to/phar.phar', 'my.phar');
    echo file_get_contents('phar://my.phar/file.txt');
} catch (PharException $e) {
    echo $e;
}
?>

참고

Phar::mapPhar()

이전 | 위로 | 다음
Phar->isBuffering | 처음으로 | Phar::mapPhar


Phar::mapPhar

(PECL phar:1.0.0-1.2.1)

Phar::mapPhar -- Reads the currently executed file (a phar) and registers its manifest

설명

mixed Phar::mapPhar ( [string $alias [, int $dataoffset]] )

This static method can only be used inside a Phar archive's loader stub in order to initialize the phar when it is directly executed, or when it is included in another script.

매개변수

alias

The alias with which this phar should be referred to.

dataoffset

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

PharException is thrown if not called directly within PHP execution, if no __HALT_COMPILER(); token is found in the current source file, or if the file cannot be opened for reading.

예제

예 1707. A Phar::mapPhar() example

mapPhar should be used only inside a phar's loader stub. Use loadPhar to load an external phar into memory.

Here is a sample Phar loader stub that uses mapPhar.

<?php
function __autoload($class)
{
    include 'phar://me.phar/' . str_replace('_', '/', $class) . '.php';
}
try {
    Phar::mapPhar('me.phar');
    include 'phar://me.phar/startup.php';
} catch (PharException $e) {
    echo $e->getMessage();
    die('Cannot initialize Phar');
}
__HALT_COMPILER();

참고

Phar::loadPhar()

이전 | 위로 | 다음
Phar::loadPhar | 처음으로 | Phar::offsetExists


Phar::offsetExists

(PECL phar:1.0.0-1.2.1)

Phar::offsetExists -- determines whether a file exists in the phar

설명

bool Phar::offsetExists ( string $offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets.

offsetExists() is called whenever isset() is called.

매개변수

offset

The filename (relative path) to look for in a Phar.

반환값

Returns TRUE if the file exists within the phar, or FALSE if not.

예제

예 1708. A Phar::offsetExists() example

<?php
$p = new Phar(dirname(__FILE__) . '/my.phar', 0, 'my.phar');
$p['firstfile.txt'] = 'first file';
$p['secondfile.txt'] = 'second file';
// the next set of lines call offsetExists() indirectly
var_dump(isset($p['firstfile.txt']));
var_dump(isset($p['nothere.txt']));
?>

위 예제의 출력:

bool(true)
bool(false)

참고

Phar::offsetGet()
Phar::offsetSet()
Phar::offsetUnset()

이전 | 위로 | 다음
Phar::mapPhar | 처음으로 | Phar::offsetGet


Phar::offsetGet

(PECL phar:1.0.0-1.2.1)

Phar::offsetGet -- get a PharFileInfo object for a specific file

설명

int Phar::offsetGet ( string $offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetGet is used for retrieving files from a Phar archive.

매개변수

offset

The filename (relative path) to look for in a Phar.

반환값

A PharFileInfo object is returned that can be used to iterate over a file's contents or to retrieve information about the current file.

오류/예외

This method throws BadMethodCallException if the file does not exist in the Phar archive.

예제

예 1709. A Phar::offsetGet() example

As with all classes that implement the ArrayAccess interface, offsetGet is automatically called when using the [] angle bracket operator

<?php
$p = new Phar(dirname(__FILE__) . '/myphar.phar', 0, 'myphar.phar');
$p['exists.txt'] = "file exists\n";
try {
    // automatically calls offsetGet()
    echo $p['exists.txt'];
    echo $p['doesnotexist.txt'];
} catch (BadMethodCallException $e) {
    echo $e;
}
?>

위 예제의 출력:

file exists
Entry doesnotexist.txt does not exist

참고

Phar::offsetExists()
Phar::offsetSet()
Phar::offsetUnset()

이전 | 위로 | 다음
Phar::offsetExists | 처음으로 | Phar::offsetSet


Phar::offsetSet

(PECL phar:1.0.0-1.2.1)

Phar::offsetSet -- set the contents of an internal file to those of an external file

설명

void Phar::offsetSet ( string $offset, string $value )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a Phar archive.

매개변수

offset

The filename (relative path) to modify in a Phar.

value

Content of the file.

반환값

No return values.

오류/예외

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

예제

예 1710. A Phar::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // calls offsetSet
    $p['file.txt'] = 'Hi there';
} catch (Exception $e) {
    echo 'Could not modify file.txt:', $e;
}
?>

참고

Phar::offsetExists()
Phar::offsetGet()
Phar::offsetUnset()

이전 | 위로 | 다음
Phar::offsetGet | 처음으로 | Phar::offsetUnset


Phar::offsetUnset

(PECL phar:1.0.0-1.2.1)

Phar::offsetUnset -- remove a file from a phar

설명

bool Phar::offsetUnset ( string $offset )

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

매개변수

offset

The filename (relative path) to modify in a Phar.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

예제

예 1711. A Phar::offsetUnset() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
    // deletes file.txt from my.phar by calling offsetUnset
    unset($p['file.txt']);
} catch (Exception $e) {
    echo 'Could not delete file.txt: ', $e;
}
?>

참고

Phar::offsetExists()
Phar::offsetGet()
Phar::offsetSet()

이전 | 위로 | 다음
Phar::offsetSet | 처음으로 | Phar->setMetaData


Phar->setMetaData

(PECL phar:1.0.0-1.2.1)

Phar->setMetaData -- Sets phar archive meta-data

설명

void Phar->setMetaData ( mixed $metadata )

setMetaData() should only be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo->setMetaData() should be used for file-specific meta-data. Meta-data can significantly slow down the performance of loading a phar archive if the data is large. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like » PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

매개변수

metadata

Any PHP variable containing information to store that describes the phar archive

예제

예 1712. A Phar->setMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello"';
    $p->setMetaData(array('bootstrap' => 'file.php'));
    var_dump($p->getMetaData());
} catch (Exception $e) {
    echo 'Could not create and/or modify phar:', $e;
}
?>

위 예제의 출력:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

참고

Phar->getMetaData()

이전 | 위로 | 다음
Phar::offsetUnset | 처음으로 | Phar->setStub


Phar->setStub

(PECL phar:1.0.0-1.2.1)

Phar->setStub -- Used to set the PHP loader or bootstrap stub of a Phar archive

설명

void Phar->setStub ( string $stub )

This method is used to add a PHP bootstrap loader stub to a new Phar archive, or to replace the loader stub in an existing Phar archive.

The loader stub for a Phar archive is used whenever an archive is included directly as in this example:

<?php
include 'myphar.phar';
?>

The loader is not accessed when including a file through the phar stream wrapper like so:

<?php
include 'phar://myphar.phar/somefile.php';
?>

오류/예외

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

예제

예 1713. A Phar->setStub() example

<?php
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['a.php'] = '<?php var_dump("Hello");';
    $p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/a.php';
    var_dump($p->getStub());
    $p['b.php'] = '<?php var_dump("World");';
    $p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
    include 'phar://brandnewphar.phar/b.php';
    var_dump($p->getStub());
} catch (Exception $e) {
    echo 'Write operations failed on brandnewphar.phar: ', $e;
}
?>

위 예제의 출력:

string(5) "Hello"
string(82) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"
string(5) "World"
string(83) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"

참고

Phar->getStub()

이전 | 위로 | 다음
Phar->setMetaData | 처음으로 | Phar->startBuffering


Phar->startBuffering

(PECL phar:1.0.0-1.2.1)

Phar->startBuffering -- Start buffering Phar write operations, do not modify the Phar object on disk

설명

void Phar->startBuffering ( void )

Although technically unnecessary, the startBuffering() method can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. the startBuffering()/stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

예제

예 1714. A Phar->startBuffering() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
    echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p->startBuffering();
$p['file.txt'] = 'hi';
$p['file2.txt'] = 'there';
$p['file2.txt']->setCompressedGZ();
$p['file3.txt'] = 'babyface';
$p['file3.txt']->setMetaData(42);
$p->setStub("<?php
function __autoload($class)
{
    include 'phar://myphar.phar/' . str_replace('_', '/', $class) . '.php';
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
?>

참고

Phar->stopBuffering()
Phar->isBuffering()

이전 | 위로 | 다음
Phar->setStub | 처음으로 | Phar->stopBuffering


Phar->stopBuffering

(PECL phar:1.0.0-1.2.1)

Phar->stopBuffering -- Stop buffering write requests to the Phar archive, and save changes to disk

설명

void Phar->stopBuffering ( void )

stopBuffering() is used in conjunction with the startBuffering() method. startBuffering() can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. The startBuffering()/stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

오류/예외

PharException is thrown if any problems are encountered flushing changes to disk.

예제

예 1715. A Phar->stopBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file1.txt'] = 'hi';
$p->startBuffering();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$class)
{
    include 'phar://brandnewphar.phar/' . str_replace('_', '/', \$class) . '.php';
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
var_dump($p->getStub());
?>

위 예제의 출력:

string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();"

참고

Phar->startBuffering()
Phar->isBuffering()

이전 | 위로 | 다음
Phar->startBuffering | 처음으로 | Phar->uncompressAllFiles


Phar->uncompressAllFiles

(PECL phar:1.0.0-1.2.1)

Phar->uncompressAllFiles -- Uncompresses all files in the current Phar archive

설명

bool Phar->uncompressAllFiles ( void )

This method decompresses all files in the Phar archive. If any files are already compressed using gzip compression, the zlib extension must be enabled in order to decompress the files, and any files compressed using bzip2 compression require the bzip2 extension to decompress the files. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

오류/예외

Throws BadMethodCallException if the phar.readonly INI variable is on, the bzip2 extension is not enabled and any files are compressed using bzip2 compression, or if any files are compressed using gzip compression and the zlib extension is not enabled.

예제

예 1716. A Phar->uncompressAllFiles() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p->compressAllFilesGZ();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
    $p->uncompressAllFiles();
    foreach ($p as $file) {
        var_dump($file->getFileName());
        var_dump($file->isCompressed());
        var_dump($file->isCompressedBZIP2());
        var_dump($file->isCompressedGZ());
    }
} catch (Exception $e) {
    echo 'Write operations failed on my.phar: ', $e;
}
?>

위 예제의 출력:

string(10) "myfile.txt"
bool(true)
bool(false)
bool(true)
string(11) "myfile2.txt"
bool(true)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

참고

PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->compressAllFilesBZIP2()
Phar->compressAllFilesGZ()

이전 | 위로 | 다음
Phar->stopBuffering | 처음으로 | PharFileInfo->chmod


PharFileInfo->chmod

(PECL phar:1.0.0-1.2.1)

PharFileInfo->chmod -- Sets file-specific permission bits

설명

void PharFileInfo->chmod ( int $permissions )

PharFileInfo->chmod() allows setting of the executable file permissions bit, as well as read-only bits. Writeable bits are ignored, and set at runtime based on the phar.readonly INI variable.

매개변수

permissions

permissions (see chmod())

예제

예 1717. A PharFileInfo->chmod() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.sh'] = '#!/usr/local/lib/php
    <?php echo "hi"; ?>';
    // set executable bit
    $p['file.sh']->chmod(0555);
    var_dump($p['file.sh']->isExecutable());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

위 예제의 출력:

bool(true)

이전 | 위로 | 다음
Phar->uncompressAllFiles | 처음으로 | PharFileInfo::__construct


PharFileInfo::__construct

(PECL phar:1.0.0-1.2.1)

PharFileInfo::__construct -- Construct a Phar entry object

설명

void PharFileInfo::__construct ( string $entry )

This should not be called directly. Instead, a PharFileInfo object is initialized by calling Phar::offsetGet() through array access.

매개변수

entry

The full url to retrieve a file. If you wish to retrieve the information for the file my/file.php from the phar boo.phar, the entry should be phar://boo.phar/my/file.php.

오류/예외

Throws BadMethodCallException if __construct() is called twice. Throws UnexpectedValueException if the phar URL requested is malformed, the requested phar cannot be opened, or the file can't be found within the phar.

예제

예 1718. A PharFileInfo::__construct() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['testfile.txt'] = "hi\nthere\ndude";
    $file = $p['testfile.txt'];
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
    // this also works
    $file = new PharFileInfo('phar:///path/to/my.phar/testfile.txt');
    foreach ($file as $line => $text) {
        echo "line number $line: $text";
    }
} catch (Exception $e) {
    echo 'Phar operations failed: ', $e;
}
?>

위 예제의 출력:

line number 1: hi
line number 2: there
line number 3: dude
line number 1: hi
line number 2: there
line number 3: dude

이전 | 위로 | 다음
PharFileInfo->chmod | 처음으로 | PharFileInfo->getCompressedSize


PharFileInfo->getCompressedSize

(PECL phar:1.0.0-1.2.1)

PharFileInfo->getCompressedSize -- Returns the actual size of the file (with compression) inside the Phar archive

설명

int PharFileInfo->getCompressedSize ( void )

This returns the size of the file within the Phar archive. Uncompressed files will return the same value for getCompressedSize as they will with filesize()

반환값

The size in bytes of the file within the Phar archive on disk.

예제

예 1719. A PharFileInfo->getCompressedSize() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCompressedSize();
} catch (Exception $e) {
    echo 'Write operations failed on my.phar: ', $e;
}
?>

위 예제의 출력:

2

참고

PharFileInfo->isCompressed()

이전 | 위로 | 다음
PharFileInfo::__construct | 처음으로 | PharFileInfo->getCRC32


PharFileInfo->getCRC32

(PECL phar:1.0.0-1.2.1)

PharFileInfo->getCRC32 -- Returns CRC32 code or throws an exception if not CRC checked

설명

int PharFileInfo->getCRC32 ( void )

This returns the crc32() checksum of the file within the Phar archive.

반환값

The crc32() checksum of the file within the Phar archive.

오류/예외

Throws BadMethodCallException if the file has not yet had its CRC32 verified. This should be impossible with normal use, as the CRC is verified upon opening the file for reading or writing.

예제

예 1720. A PharFileInfo->getCRC32() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    echo $file->getCRC32();
} catch (Exception $e) {
    echo 'Write operations on my.phar.phar failed: ', $e;
}
?>

위 예제의 출력:

3633523372

이전 | 위로 | 다음
PharFileInfo->getCompressedSize | 처음으로 | PharFileInfo->getMetaData


PharFileInfo->getMetaData

(PECL phar:1.0.0-1.2.1)

PharFileInfo->getMetaData -- Returns file-specific meta-data saved with a file

설명

int PharFileInfo->getMetaData ( void )

Return meta-data that was saved in the Phar archive's manifest for this file.

매개변수

반환값

any PHP variable that can be serialized and is stored as meta-data for the file, or NULL if no meta-data is stored.

예제

예 1721. A PharFileInfo->getMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Could not create/modify brandnewphar.phar: ', $e;
}
?>

위 예제의 출력:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

참고

PharFileInfo->setMetaData()

이전 | 위로 | 다음
PharFileInfo->getCRC32 | 처음으로 | PharFileInfo->getPharFlags


PharFileInfo->getPharFlags

(PECL phar:1.0.0-1.2.1)

PharFileInfo->getPharFlags -- Returns the Phar file entry flags

설명

int PharFileInfo->getPharFlags ( void )

This returns the flags set in the manifest for a Phar. This will always return 0 in the current implementation.

반환값

The Phar flags (always 0 in the current implementation)

예제

예 1722. A PharFileInfo->getPharFlags() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->getPharFlags());
} catch (Exception $e) {
    echo 'Could not create/modify my.phar: ', $e;
}
?>

위 예제의 출력:

int(0)

이전 | 위로 | 다음
PharFileInfo->getMetaData | 처음으로 | PharFileInfo->isCompressed


PharFileInfo->isCompressed

(PECL phar:1.0.0-1.2.1)

PharFileInfo->isCompressed -- Returns whether the entry is compressed

설명

bool PharFileInfo->isCompressed ( void )

This returns whether a file is compressed within a Phar archive with either Gzip or Bzip2 compression.

반환값

TRUE if the file is compressed within the Phar archive, FALSE if not.

예제

예 1723. A PharFileInfo->isCompressed() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    var_dump($file->isCompressed());
    var_dump($file2->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

위 예제의 출력:

bool(false)
bool(true)

참고

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressedBZIP2()

이전 | 위로 | 다음
PharFileInfo->getPharFlags | 처음으로 | PharFileInfo->isCompressedBZIP2


PharFileInfo->isCompressedBZIP2

(PECL phar:1.0.0-1.2.1)

PharFileInfo->isCompressedBZIP2 -- Returns whether the entry is compressed using bzip2

설명

bool PharFileInfo->isCompressedBZIP2 ( void )

This returns whether a file is compressed within a Phar archive with Bzip2 compression.

반환값

TRUE if the file is compressed within the Phar archive using Bzip2, FALSE if not.

예제

예 1724. A PharFileInfo->isCompressedBZIP2() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile3.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $p['myfile3.txt']->setCompressedBZIP2();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    $file3 = $p['myfile3.txt'];
    var_dump($file->isCompressedBZIP2());
    var_dump($file2->isCompressedBZIP2());
    var_dump($file3->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

위 예제의 출력:

bool(false)
bool(false)
bool(true)

참고

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()

이전 | 위로 | 다음
PharFileInfo->isCompressed | 처음으로 | PharFileInfo->isCompressedGZ


PharFileInfo->isCompressedGZ

(PECL phar:1.0.0-1.2.1)

PharFileInfo->isCompressedGZ -- Returns whether the entry is compressed using gz

설명

bool PharFileInfo->isCompressedGZ ( void )

This returns whether a file is compressed within a Phar archive with Gzip compression.

반환값

TRUE if the file is compressed within the Phar archive using Gzip, FALSE if not.

예제

예 1725. A PharFileInfo->isCompressedGZ() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $p['myfile2.txt'] = 'hi';
    $p['myfile3.txt'] = 'hi';
    $p['myfile2.txt']->setCompressedGZ();
    $p['myfile3.txt']->setCompressedBZIP2();
    $file = $p['myfile.txt'];
    $file2 = $p['myfile2.txt'];
    $file3 = $p['myfile3.txt'];
    var_dump($file->isCompressedGZ());
    var_dump($file2->isCompressedGZ());
    var_dump($file3->isCompressedGZ());
} catch (Exception $e) {
    echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

위 예제의 출력:

bool(false)
bool(true)
bool(false)

참고

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressed()

이전 | 위로 | 다음
PharFileInfo->isCompressedBZIP2 | 처음으로 | PharFileInfo->isCRCChecked


PharFileInfo->isCRCChecked

(PECL phar:1.0.0-1.2.1)

PharFileInfo->isCRCChecked -- Returns whether file entry has had its CRC verified

설명

bool PharFileInfo->isCRCChecked ( void )

This returns whether a file within a Phar archive has had its CRC verified.

반환값

TRUE if the file has had its CRC verified, FALSE if not.

예제

예 1726. A PharFileInfo->isCRCChecked() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCRCChecked());
} catch (Exception $e) {
    echo 'Create/modify operations failed on my.phar: ', $e;
}
?>

위 예제의 출력:

bool(true)

이전 | 위로 | 다음
PharFileInfo->isCompressedGZ | 처음으로 | PharFileInfo->setCompressedBZIP2


PharFileInfo->setCompressedBZIP2

(PECL phar:1.0.0-1.2.1)

PharFileInfo->setCompressedBZIP2 -- Compresses the current Phar entry within the phar using Bzip2 compression

설명

bool PharFileInfo->setCompressedBZIP2 ( void )

This method compresses the file inside the Phar archive using bzip2 compression. The bzip2 extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using gzip compression, the zlib extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

오류/예외

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2 extension is not available.

예제

예 1727. A PharFileInfo->setCompressedBZIP2() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressedBZIP2());
    $p['myfile.txt']->setCompressedBZIP2();
    var_dump($file->isCompressedBZIP2());
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

위 예제의 출력:

bool(false)
bool(true)

참고

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->compressAllFilesBZIP2()

이전 | 위로 | 다음
PharFileInfo->isCRCChecked | 처음으로 | PharFileInfo->setCompressedGZ


PharFileInfo->setCompressedGZ

(PECL phar:1.0.0-1.2.1)

PharFileInfo->setCompressedGZ -- Compresses the current Phar entry within the phar using gz compression

설명

bool PharFileInfo->setCompressedGZ ( void )

This method compresses the file inside the Phar archive using gzip compression. The zlib extension must be enabled to take advantage of this feature. In addition, if the file is already compressed using bzip2 compression, the bzip2 extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

오류/예외

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the zlib extension is not available.

예제

예 1728. A PharFileInfo->setCompressedGZ() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    var_dump($file->isCompressedGZ());
    $p['myfile.txt']->setCompressedGZ();
    var_dump($file->isCompressedGZ());
} catch (Exception $e) {
    echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

위 예제의 출력:

bool(false)
bool(true)

참고

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressed()
Phar->compressAllFilesGZ()

이전 | 위로 | 다음
PharFileInfo->setCompressedBZIP2 | 처음으로 | PharFileInfo->setMetaData


PharFileInfo->setMetaData

(PECL phar:1.0.0-1.2.1)

PharFileInfo->setMetaData -- Sets file-specific meta-data saved with a file

설명

void PharFileInfo->setMetaData ( mixed $metadata )

setMetaData() should only be used to store customized data in a file that cannot be represented with existing information stored with a file. Meta-data can significantly slow down the performance of loading a phar archive if the data is large, or if there are many files containing meta-data. It is important to note that file permissions are natively supported inside a phar; it is possible to set them with the PharFileInfo->chmod() method. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Some possible uses for meta-data include passing a user/group that should be set when a file is extracted from the phar to disk. Other uses could include explicitly specifying a MIME type to return. However, any useful data that describes a file, but should not be contained inside of it may be stored.

매개변수

metadata

Any PHP variable containing information to store alongside a file

예제

예 1729. A PharFileInfo->setMetaData() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetaData(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>

위 예제의 출력:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

참고

PharFileInfo->getMetaData()

이전 | 위로 | 다음
PharFileInfo->setCompressedGZ | 처음으로 | PharFileInfo->setUncompressed


PharFileInfo->setUncompressed

(PECL phar:1.0.0-1.2.1)

PharFileInfo->setUncompressed -- Uncompresses the current Phar entry within the phar, if it is compressed

설명

bool PharFileInfo->setUncompressed ( void )

This method decompresses the file inside the Phar archive. Depending on how the file is compressed, the bzip2 or zlib extensions must be enabled to take advantage of this feature. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

오류/예외

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

예제

예 1730. A PharFileInfo->setUncompressed() example

<?php
try {
    $p = new Phar('/path/to/my.phar', 0, 'my.phar');
    $p['myfile.txt'] = 'hi';
    $file = $p['myfile.txt'];
    $file->setCompressedGZ();
    var_dump($file->isCompressed());
    $p['myfile.txt']->setUncompressed();
    var_dump($file->isCompressed());
} catch (Exception $e) {
    echo 'Create/modify failed for my.phar: ', $e;
}
?>

위 예제의 출력:

bool(true)
bool(false)

참고

PharFileInfo->getCompressedSize()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCompressed()
Phar->uncompressAllFiles()

이전 | 위로 | 다음
PharFileInfo->setMetaData | 처음으로 | CXXIV. PHP 옵션&정보


posix_access

(PHP 5 >= 5.1.0)

posix_access -- Determine accessibility of a file

설명

bool posix_access ( string $file [, int $mode] )

posix_access() checks the user's permission of a file.

매개변수

file

The name of the file to be tested.

mode

A mask consisting of one or more of POSIX_F_OK, POSIX_R_OK, POSIX_W_OK and POSIX_X_OK. Defaults to POSIX_F_OK.

POSIX_R_OK, POSIX_W_OK and POSIX_X_OK request checking whether the file exists and has read, write and execute permissions, respectively. POSIX_F_OK just requests checking for the existence of the file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1762. posix_access() example

This example will check if the $file is readable and writable, otherwise will print an error message.

<?php

$file = 'some_file';

if (posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
    echo 'The file is readable and writable!';

} else {
    $error = posix_get_last_error();

    echo "Error $error: " . posix_strerror($error);
}

?>

주의

참고: 안전 모드일때, PHP는 조작하려는 파일이나 디렉토리가 실행중인 스크립트와 같은 UID(owner)인지 확인합니다.

참고

posix_get_last_error()
posix_strerror()

이전 | 위로 | 다음
CXXV. POSIX Functions | 처음으로 | posix_ctermid


posix_initgroups

(PHP 5 >= 5.2.0)

posix_initgroups -- Calculate the group access list

설명

bool posix_initgroups ( string $name, int $base_group_id )

Calculates the group access list for the user specified in name.

매개변수

name

The user to calculate the list for.

base_group_id

Typically the group number from the password file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

The Unix manual page for initgroups(3).

이전 | 위로 | 다음
posix_getuid | 처음으로 | posix_isatty


posix_mknod

(PHP 5 >= 5.1.0)

posix_mknod -- Create a special or ordinary file (POSIX.1)

설명

bool posix_mknod ( string $pathname, int $mode [, int $major [, int $minor]] )

Creates a special or ordinary file.

매개변수

pathname

The file to create

mode

This parameter is constructed by a bitwise OR between file type (one of the following constants: POSIX_S_IFREG, POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO or POSIX_S_IFSOCK) and permissions.

major

The major device kernel identifier (required to pass when using S_IFCHR or S_IFBLK).

minor

The minor device kernel identifier (defaults to 0).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1781. A posix_mknod() example

<?php

$file = '/tmp/tmpfile';  // file name
$type = POSIX_S_IFBLK;   // file type
$permissions = 0777;     // octal
$major = 1;
$minor = 8;              // /dev/random

if (!posix_mknod($file, $type | $permissions, $major, $minor)) {
    die('Error ' . posix_get_last_error() . ': ' . posix_strerror(posix_get_last_error()));
}

?>

참고

posix_mkfifo()

이전 | 위로 | 다음
posix_mkfifo | 처음으로 | posix_setegid


preg_last_error

(PHP 5 >= 5.2.0)

preg_last_error -- Returns the error code of the last PCRE regex execution

설명

int preg_last_error ( void )

Returns the error code of the last PCRE regex execution.

예 1617. preg_last_error() example

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    print 'Backtrack limit was exhausted!';
}

?>

위 예제의 출력:

Backtrack limit was exhausted!

반환값

Returns one of the following constants (explained on their own page):
PREG_NO_ERROR
PREG_INTERNAL_ERROR
PREG_BACKTRACK_LIMIT_ERROR (see also pcre.backtrack_limit)
PREG_RECURSION_LIMIT_ERROR (see also pcre.recursion_limit)
PREG_BAD_UTF8_ERROR

이전 | 위로 | 다음
preg_grep | 처음으로 | preg_match_all


property_exists

(PHP 5 >= 5.1.0)

property_exists -- Checks if the object or class has a property

설명

bool property_exists ( mixed $class, string $property )

This function checks if the given property exists in the specified class (and if it is accessible from the current scope).

참고: As opposed with isset(), property_exists() returns TRUE even if the property has the value NULL.

매개변수

class

The class name or an object of the class to test for

property

The name of the property

반환값

Returns TRUE if the property exists, FALSE if it doesn't exist or NULL in case of an error.

예제

예 320. A property_exists() example

<?php

class myClass {
    public $mine;
    private $xpto;

    static function test() {
        var_dump(property_exists('myClass', 'xpto')); // true, it can be accessed from here
    }
}

var_dump(property_exists('myClass', 'mine'));   //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto'));   //false, isn't public
myClass::test();

?>

참고

method_exists()

이전 | 위로 | 다음
method_exists | 처음으로 | XIV. Classkit Functions


ps_add_bookmark

(PECL ps:1.1.0-1.3.5)

ps_add_bookmark -- Add bookmark to current page

설명

int ps_add_bookmark ( resource $psdoc, string $text [, int $parent [, int $open]] )

Adds a bookmark for the current page. Bookmarks usually appear in PDF-Viewers left of the page in a hierarchical tree. Clicking on a bookmark will jump to the given page.

The bookmark has no meaning if the document is printed or viewed, but it will be used if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text used for displaying the bookmark.

parent

A bookmark previously created by this function which is used as the parent of the new bookmark.

open

If open is unequal to zero the bookmark will be shown open by the pdf viewer.

반환값

The returned value is a reference for the bookmark. It is only used if the bookmark shall be used as a parent. The value is greater zero if the function succeeds. In case of an error zero will be returned.

참고

ps_add_launchlink()
ps_add_pdflink()
ps_add_weblink()

이전 | 위로 | 다음
CXXXI. PostScript document creation | 처음으로 | ps_add_launchlink


ps_add_launchlink

(PECL ps:1.1.0-1.3.5)

ps_add_launchlink -- Adds link which launches file

설명

bool ps_add_launchlink ( resource $psdoc, float $llx, float $lly, float $urx, float $ury, string $filename )

Places a hyperlink at the given position pointing to a file program which is being started when clicked on. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The hyperlink will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The path of the program to be started, when the link is clicked on.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_add_locallink()
ps_add_pdflink()
ps_add_weblink()

이전 | 위로 | 다음
ps_add_bookmark | 처음으로 | ps_add_locallink


ps_add_locallink

(PECL ps:1.1.0-1.3.5)

ps_add_locallink -- Adds link to a page in the same document

설명

bool ps_add_locallink ( resource $psdoc, float $llx, float $lly, float $urx, float $ury, int $page, string $dest )

Places a hyperlink at the given position pointing to a page in the same document. Clicking on the link will jump to the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The hyperlink will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

page

The number of the page displayed when clicking on the link.

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_add_launchlink()
ps_add_pdflink()
ps_add_weblink()

이전 | 위로 | 다음
ps_add_launchlink | 처음으로 | ps_add_note


ps_add_note

(PECL ps:1.1.0-1.3.5)

ps_add_note -- Adds note to current page

설명

bool ps_add_note ( resource $psdoc, float $llx, float $lly, float $urx, float $ury, string $contents, string $title, string $icon, int $open )

Adds a note at a certain position on the page. Notes are like little rectangular sheets with text on it, which can be placed anywhere on a page. They are shown either folded or unfolded. If unfolded, the specified icon is used as a placeholder.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

contents

The text of the note.

title

The title of the note as displayed in the header of the note.

icon

The icon shown if the note is folded. This parameter can be set to comment, insert, note, paragraph, newparagraph, key, or help.

open

If open is unequal to zero the note will be shown unfolded after opening the document with a pdf viewer.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_add_pdflink()
ps_add_launchlink()
ps_add_locallink()
ps_add_weblink()

이전 | 위로 | 다음
ps_add_locallink | 처음으로 | ps_add_pdflink


ps_add_pdflink

(PECL ps:1.1.0-1.3.5)

ps_add_pdflink -- Adds link to a page in a second pdf document

설명

bool ps_add_pdflink ( resource $psdoc, float $llx, float $lly, float $urx, float $ury, string $filename, int $page, string $dest )

Places a hyperlink at the given position pointing to a second pdf document. Clicking on the link will branch to the document at the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The hyperlink will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The name of the pdf document to be opened when clicking on this link.

page

The page number of the destination pdf document

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_add_launchlink()
ps_add_locallink()
ps_add_weblink()

이전 | 위로 | 다음
ps_add_note | 처음으로 | ps_add_weblink


ps_add_weblink

(PECL ps:1.1.0-1.3.5)

ps_add_weblink -- Adds link to a web location

설명

bool ps_add_weblink ( resource $psdoc, float $llx, float $lly, float $urx, float $ury, string $url )

Places a hyperlink at the given position pointing to a web page. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The hyperlink will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

url

The url of the hyperlink to be opened when clicking on this link, e.g. http://www.php.net.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_add_launchlink()
ps_add_locallink()
ps_add_pdflink()

이전 | 위로 | 다음
ps_add_pdflink | 처음으로 | ps_arc


ps_arc

(PECL ps:1.1.0-1.3.5)

ps_arc -- Draws an arc counterclockwise

설명

bool ps_arc ( resource $psdoc, float $x, float $y, float $radius, float $alpha, float $beta )

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn counterclockwise (use ps_arcn() to draw clockwise). The subpath added to the current path starts on the arc at angle alpha and ends on the arc at angle beta.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The start angle given in degrees.

beta

The end angle given in degrees.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_arcn()

이전 | 위로 | 다음
ps_add_weblink | 처음으로 | ps_arcn


ps_arcn

(PECL ps:1.1.0-1.3.5)

ps_arcn -- Draws an arc clockwise

설명

bool ps_arcn ( resource $psdoc, float $x, float $y, float $radius, float $alpha, float $beta )

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn clockwise (use ps_arc() to draw counterclockwise). The subpath added to the current path starts on the arc at angle beta and ends on the arc at angle alpha.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The starting angle given in degrees.

beta

The end angle given in degrees.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_arc()

이전 | 위로 | 다음
ps_arc | 처음으로 | ps_begin_page


ps_begin_page

(PECL ps:1.1.0-1.3.5)

ps_begin_page -- Start a new page

설명

bool ps_begin_page ( resource $psdoc, float $width, float $height )

Starts a new page. Although the parameters width and height imply a different page size for each page, this is not possible in PostScript. The first call of ps_begin_page() will set the page size for the whole document. Consecutive calls will have no effect, except for creating a new page. The situation is different if you intent to convert the PostScript document into PDF. This function places pdfmarks into the document which can set the size for each page indiviually. The resulting PDF document will have different page sizes.

Though PostScript does not know different page sizes, pslib places a bounding box for each page into the document. This size is evaluated by some PostScript viewers and will have precedence over the BoundingBox in the Header of the document. This can lead to unexpected results when you set a BoundingBox whose lower left corner is not (0, 0), because the bounding box of the page will always have a lower left corner (0, 0) and overwrites the global setting.

Each page is encapsulated into save/restore. This means, that most of the settings made on one page will not be retained on the next page.

If there is up to the first call of ps_begin_page() no call of ps_findfont(), then the header of the PostScript document will be output and the bounding box will be set to the size of the first page. The lower left corner of the bounding box is set to (0, 0). If ps_findfont() was called before, then the header has been output already, and the document will not have a valid bounding box. In order to prevent this, one should call ps_set_info() to set the info field BoundingBox and possibly Orientation before any ps_findfont() or ps_begin_page() calls.

참고: Up to version 0.2.6 of pslib, this function will always overwrite the BoundingBox and Orientation, if it has been set before with ps_set_info() and ps_findfont() has not been called before.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the page in pixel, e.g. 596 for A4 format.

height

The height of the page in pixel, e.g. 842 for A4 format.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_end_page()
ps_findfont()
ps_set_info()

이전 | 위로 | 다음
ps_arcn | 처음으로 | ps_begin_pattern


ps_begin_pattern

(PECL ps:1.2.0-1.3.5)

ps_begin_pattern -- Start a new pattern

설명

int ps_begin_pattern ( resource $psdoc, float $width, float $height, float $xstep, float $ystep, int $painttype )

Starts a new pattern. A pattern is like a page containing e.g. a drawing which can be used for filling areas. It is used like a color by calling ps_setcolor() and setting the color space to pattern.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the pattern in pixel.

height

The height of the pattern in pixel.

x-step

The distance in pixel of placements of the pattern in horizontal direction.

y-step

The distance in pixel of placements of the pattern in vertical direction.

painttype

Must be 1 or 2.

반환값

The identifier of the pattern or FALSE in case of an error.

예제

예 1910. Creating and using a pattern

<?php
$ps = ps_new();

if (!ps_open_file($ps, "pattern.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "pattern.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Pattern example");

$pspattern = ps_begin_pattern($ps, 10.0, 10.0, 10.0, 10.0, 1);
ps_setlinewidth($ps, 0.2);
ps_setcolor($ps, "stroke", "rgb", 0.0, 0.0, 1.0, 0.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 7, 7);
ps_stroke($ps);
ps_moveto($ps, 0, 7);
ps_lineto($ps, 7, 0);
ps_stroke($ps);
ps_end_pattern($ps);

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "both", "pattern", $pspattern, 0.0, 0.0, 0.0);
ps_rect($ps, 50, 400, 200, 200);
ps_fill($ps);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

참고

ps_end_pattern()
ps_setcolor()
ps_shading_pattern()

이전 | 위로 | 다음
ps_begin_page | 처음으로 | ps_begin_template


ps_begin_template

(PECL ps:1.2.0-1.3.5)

ps_begin_template -- Start a new template

설명

int ps_begin_template ( resource $psdoc, float $width, float $height )

Starts a new template. A template is called a form in the postscript language. It is created similar to a pattern but used like an image. Templates are often used for drawings which are placed several times through out the document, e.g. like a company logo. All drawing functions may be used within a template. The template will not be drawn until it is placed by ps_place_image().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the template in pixel.

height

The height of the template in pixel.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1911. Creating and using a template

<?php
$ps = ps_new();

if (!ps_open_file($ps, "template.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "template.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Template example");

$pstemplate = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);

ps_begin_page($ps, 596, 842);
ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0);
ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5);
ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6);
ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

참고

ps_end_template()

이전 | 위로 | 다음
ps_begin_pattern | 처음으로 | ps_circle


ps_circle

(PECL ps:1.1.0-1.3.5)

ps_circle -- Draws a circle

설명

bool ps_circle ( resource $psdoc, float $x, float $y, float $radius )

Draws a circle with its middle point at (x, y). The circle starts and ends at position (x+radius, y). If this function is called outside a path it will start a new path. If it is called within a path it will add the circle as a subpath. If the last drawing operation does not end in point (x+radius, y) then there will be a gap in the path.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_arc()
ps_arcn()

이전 | 위로 | 다음
ps_begin_template | 처음으로 | ps_clip


ps_clip

(PECL ps:1.1.0-1.3.5)

ps_clip -- Clips drawing to current path

설명

bool ps_clip ( resource $psdoc )

Takes the current path and uses it to define the border of a clipping area. Everything drawn outside of that area will not be visible.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_closepath()

이전 | 위로 | 다음
ps_circle | 처음으로 | ps_close_image


ps_close

(PECL ps:1.1.0-1.3.5)

ps_close -- Closes a PostScript document

설명

bool ps_close ( resource $psdoc )

Closes the PostScript document.

This function writes the trailer of the PostScript document. It also writes the bookmark tree. ps_close() does not free any resources, which is done by ps_delete().

This function is also called by ps_delete() if it has not been called before.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_open_file()
ps_delete()

이전 | 위로 | 다음
ps_close_image | 처음으로 | ps_closepath_stroke


ps_close_image

(PECL ps:1.1.0-1.3.5)

ps_close_image -- Closes image and frees memory

설명

void ps_close_image ( resource $psdoc, int $imageid )

Closes an image and frees its resources. Once an image is closed it cannot be used anymore.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

Resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

반환값

Returns NULL on success or FALSE on failure.

참고

ps_open_image()
ps_open_image_file()

이전 | 위로 | 다음
ps_clip | 처음으로 | ps_close


ps_closepath

(PECL ps:1.1.0-1.3.5)

ps_closepath -- Closes path

설명

bool ps_closepath ( resource $psdoc )

Connects the last point with the first point of a path. The resulting path can be used for stroking, filling, clipping, etc..

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_clip()
ps_closepath_stroke()

이전 | 위로 | 다음
ps_closepath_stroke | 처음으로 | ps_continue_text


ps_closepath_stroke

(PECL ps:1.1.0-1.3.5)

ps_closepath_stroke -- Closes and strokes path

설명

bool ps_closepath_stroke ( resource $psdoc )

Connects the last point with first point of a path and draws the resulting closed line.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_closepath()

이전 | 위로 | 다음
ps_close | 처음으로 | ps_closepath


ps_continue_text

(PECL ps:1.1.0-1.3.5)

ps_continue_text -- Continue text in next line

설명

bool ps_continue_text ( resource $psdoc, string $text )

Output a text one line below the last line. The line spacing is taken from the value "leading" which must be set with ps_set_value(). The actual position of the text is determined by the values "textx" and "texty" which can be requested with ps_get_value()

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to output.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_show()
ps_show_xy()
ps_show_boxed()

이전 | 위로 | 다음
ps_closepath | 처음으로 | ps_curveto


ps_curveto

(PECL ps:1.1.0-1.3.5)

ps_curveto -- Draws a curve

설명

bool ps_curveto ( resource $psdoc, float $x1, float $y1, float $x2, float $y2, float $x3, float $y3 )

Add a section of a cubic B?zier curve described by the three given control points to the current path.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x1

x-coordinate of first control point.

y1

y-coordinate of first control point.

x2

x-coordinate of second control point.

y2

y-coordinate of second control point.

x3

x-coordinate of third control point.

y3

y-coordinate of third control point.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_lineto()

이전 | 위로 | 다음
ps_continue_text | 처음으로 | ps_delete


ps_delete

(PECL ps:1.1.0-1.3.5)

ps_delete -- Deletes all resources of a PostScript document

설명

bool ps_delete ( resource $psdoc )

Mainly frees memory used by the document. Also closes a file, if it was not closed before with ps_close(). You should in any case close the file with ps_close() before, because ps_close() not just closes the file but also outputs a trailor containing PostScript comments like the number of pages in the document and adding the bookmark hierarchy.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_close()

이전 | 위로 | 다음
ps_curveto | 처음으로 | ps_end_page


ps_end_page

(PECL ps:1.1.0-1.3.5)

ps_end_page -- End a page

설명

bool ps_end_page ( resource $psdoc )

Ends a page which was started with ps_begin_page(). Ending a page will leave the current drawing context, which e.g. requires to reload fonts if they were loading within the page, and to set many other drawing parameters like the line width, or color..

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_begin_page()

이전 | 위로 | 다음
ps_delete | 처음으로 | ps_end_pattern


ps_end_pattern

(PECL ps:1.2.0-1.3.5)

ps_end_pattern -- End a pattern

설명

bool ps_end_pattern ( resource $psdoc )

Ends a pattern which was started with ps_begin_pattern(). Once a pattern has been ended, it can be used like a color to fill areas.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_begin_pattern()

이전 | 위로 | 다음
ps_end_page | 처음으로 | ps_end_template


ps_end_template

(PECL ps:1.2.0-1.3.5)

ps_end_template -- End a template

설명

bool ps_end_template ( resource $psdoc )

Ends a template which was started with ps_begin_template(). Once a template has been ended, it can be used like an image.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_begin_template()

이전 | 위로 | 다음
ps_end_pattern | 처음으로 | ps_fill_stroke


ps_fill

(PECL ps:1.1.0-1.3.5)

ps_fill -- Fills the current path

설명

bool ps_fill ( resource $psdoc )

Fills the path constructed with previously called drawing functions like ps_lineto().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_fill_stroke()
ps_stroke()

이전 | 위로 | 다음
ps_fill_stroke | 처음으로 | ps_findfont


ps_fill_stroke

(PECL ps:1.1.0-1.3.5)

ps_fill_stroke -- Fills and strokes the current path

설명

bool ps_fill_stroke ( resource $psdoc )

Fills and draws the path constructed with previously called drawing functions like ps_lineto().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_fill()
ps_stroke()

이전 | 위로 | 다음
ps_end_template | 처음으로 | ps_fill


ps_findfont

(PECL ps:1.1.0-1.3.5)

ps_findfont -- Loads a font

설명

int ps_findfont ( resource $psdoc, string $fontname, string $encoding [, bool $embed] )

Loads a font for later use. Before text is output with a loaded font it must be set with ps_setfont(). This function needs the adobe font metric file in order to calculate the space used up by the characters. A font which is loaded within a page will only be available on that page. Fonts which are to be used in the complete document have to be loaded before the first call of ps_begin_page(). Calling ps_findfont() between pages will make that font available for all following pages.

The name of the afm file must be fontname.afm. If the font shall be embedded the file fontname.pfb containing the font outline must be present as well.

Calling ps_findfont() before the first page requires to output the postscript header which includes the BoundingBox for the whole document. Usually the BoundingBox is set with the first call of ps_begin_page() which now comes after ps_findfont(). Consequently the BoundingBox has not been set and a warning will be issued when ps_findfont() is called. In order to prevent this situation, one should call ps_set_parameter() to set the BoundingBox before ps_findfont() is called.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontname

The name of the font.

encoding

ps_findfont() will try to load the file passed in the parameter encoding. Encoding files are of the same syntax as those used by dvips(1). They contain a font encoding vector (which is currently not used but must be present) and a list of extra ligatures to extend the list of ligatures derived from the afm file.

encoding can be NULL or the empty string if the default encoding (TeXBase1) shall be used.

If the encoding is set to builtin then there will be no reencoding and the font specific encoding will be used. This is very useful with symbol fonts.

embed

If set to a value >0 the font will be embedded into the document. This requires the font outline (.pfb file) to be present.

반환값

Returns the identifier of the font or zero in case of an error. The identifier is a positive number.

참고

ps_begin_page()
ps_setfont()

이전 | 위로 | 다음
ps_fill | 처음으로 | ps_get_buffer


ps_get_buffer

(PECL ps:1.1.0-1.3.5)

ps_get_buffer -- Fetches the full buffer containig the generated PS data

설명

string ps_get_buffer ( resource $psdoc )

This function is not implemented yet. It will always return an empty string. The idea for a later implementation is to write the contents of the postscript file into an internal buffer if in memory creation is requested, and retrieve the buffer content with this function. Currently, documents created in memory are send to the browser without buffering.

주의

This function is currently not documented; only the argument list is available.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

참고

ps_open_file()

이전 | 위로 | 다음
ps_findfont | 처음으로 | ps_get_parameter


ps_get_parameter

(PECL ps:1.1.0-1.3.5)

ps_get_parameter -- Gets certain parameters

설명

string ps_get_parameter ( resource $psdoc, string $name [, float $modifier] )

Gets several parameters which were directly set by ps_set_parameter() or indirectly by one of the other functions. Parameters are by definition string values. This function cannot be used to retrieve resources which were also set by ps_set_parameter().

The parameter name can have the following values.

fontname

The name of the currently active font or the font whose identifier is passed in parameter modifier.

fontencoding

The encoding of the currently active font.

dottedversion

The version of the underlying pslib library in the format <major>.<minor>.<subminor>

scope

The current drawing scope. Can be object, document, null, page, pattern, path, template, prolog, font, glyph.

ligaturedisolvechar

The character which dissolves a ligature. If your are using a font which contains the ligature `ff' and `|' is the char to dissolve the ligature, then `f|f' will result in two `f' instead of the ligature `ff'.

imageencoding

The encoding used for encoding images. Can be either hex or 85. hex encoding uses two bytes in the postscript file each byte in the image. 85 stand for Ascii85 encoding.

linenumbermode

Set to paragraph if lines are numbered within a paragraph or box if they are numbered within the surrounding box.

linebreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will add a line break.

parbreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will start a new paragraph.

hyphenation

Only used if text is output with ps_show_boxed(). If set to true the paragraph will be hyphenated if a hypen dictionary is set and exists.

hyphendict

Filename of the dictionary used for hyphenation pattern.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the parameter.

modifier

An identifier needed if a parameter of a resource is requested, e.g. the size of an image. In such a case the resource id is passed.

반환값

Returns the value of the parameter or FALSE in case of an error.

참고

ps_set_parameter()

이전 | 위로 | 다음
ps_get_buffer | 처음으로 | ps_get_value


ps_get_value

(PECL ps:1.1.0-1.3.5)

ps_get_value -- Gets certain values

설명

float ps_get_value ( resource $psdoc, string $name [, float $modifier] )

Gets several values which were set by ps_set_value(). Values are by definition float values.

The parameter name can have the following values.

fontsize

The size of the currently active font or the font whose identifier is passed in parameter modifier.

font

The currently active font itself.

imagewidth

The width of the image whose id is passed in the parameter modifier.

imageheight

The height of the image whose id is passed in the parameter modifier.

capheight

The height of a capital M in the currently active font or the font whose identifier is passed in parameter modifier.

ascender

The ascender of the currently active font or the font whose identifier is passed in parameter modifier.

descender

The descender of the currently active font or the font whose identifier is passed in parameter modifier.

italicangle

The italicangle of the currently active font or the font whose identifier is passed in parameter modifier.

underlineposition

The underlineposition of the currently active font or the font whose identifier is passed in parameter modifier.

underlinethickness

The underlinethickness of the currently active font or the font whose identifier is passed in parameter modifier.

textx

The current x-position for text output.

texty

The current y-position for text output.

textrendering

The current mode for text rendering.

textrise

The space by which text is risen above the base line.

leading

The distance between text lines in points.

wordspacing

The space between words as a multiple of the width of a space char.

charspacing

The space between chars. If charspacing is != 0.0 ligatures will always be dissolved.

hyphenminchars

Minimum number of chars hyphenated at the end of a word.

parindent

Indention of the first n line in a paragraph.

numindentlines

Number of line in a paragraph to indent if parindent != 0.0.

parskip

Distance between paragraphs.

linenumberspace

Overall space in front of each line for the line number.

linenumbersep

Space between the line and the line number.

major

The major version number of pslib.

minor

The minor version number of pslib.

subminor, revision

The subminor version number of pslib.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the value.

modifier

The parameter modifier specifies the resource for which the value is to be retrieved. This can be the id of a font or an image.

반환값

Returns the value of the parameter or FALSE.

참고

ps_set_value()

이전 | 위로 | 다음
ps_get_parameter | 처음으로 | ps_hyphenate


ps_hyphenate

(PECL ps:1.1.1-1.3.5)

ps_hyphenate -- Hyphenates a word

설명

array ps_hyphenate ( resource $psdoc, string $text )

Hyphenates the passed word. ps_hyphenate() evaluates the value hyphenminchars (set by ps_set_value()) and the parameter hyphendict (set by ps_set_parameter()). hyphendict must be set before calling this function.

This function requires the locale category LC_CTYPE to be set properly. This is done when the extension is initialized by using the environment variables. On Unix systems read the man page of locale for more information.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

text should not contain any non alpha characters. Possible positions for breaks are returned in an array of interger numbers. Each number is the position of the char in text after which a hyphenation can take place.

반환값

An array of integers indicating the position of possible breaks in the text or FALSE in case of an error.

예제

예 1912. Hyphennate a text

<?php
$word = "Koordinatensystem";
$psdoc = ps_new();
ps_set_parameter($psdoc, "hyphendict", "hyph_de.dic");
$hyphens = ps_hyphenate($psdoc, $word);
for($i=0; $i<strlen($word); $i++) {
  echo $word[$i];
  if(in_array($i, $hyphens))
    echo "-";
}
ps_delete($psdoc);
?>

위 예제의 출력:

Ko-ordi-na-ten-sys-tem

참고

ps_show_boxed()
locale(1)

이전 | 위로 | 다음
ps_get_value | 처음으로 | ps_include_file


ps_include_file

(PECL ps:1.3.4-1.3.5)

ps_include_file -- Reads an external file with raw PostScript code

설명

bool ps_include_file ( resource $psdoc, string $file )

주의

This function is currently not documented; only the argument list is available.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

file

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ps_hyphenate | 처음으로 | ps_lineto


ps_lineto

(PECL ps:1.1.0-1.3.5)

ps_lineto -- Draws a line

설명

bool ps_lineto ( resource $psdoc, float $x, float $y )

Adds a straight line from the current point to the given coordinates to the current path. Use ps_moveto() to set the starting point of the line.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the end point of the line.

y

y-coordinate of the end point of the line.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1913. Drawing a rectangle

<?php
$ps = ps_new();
if (!ps_open_file($ps, "rectangle.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Lineto example");

ps_begin_page($ps, 596, 842);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

참고

ps_moveto()

이전 | 위로 | 다음
ps_include_file | 처음으로 | ps_makespotcolor


ps_makespotcolor

(PECL ps:1.1.0-1.3.5)

ps_makespotcolor -- Create spot color

설명

int ps_makespotcolor ( resource $psdoc, string $name [, float $reserved] )

Creates a spot color from the current fill color. The fill color must be defined in rgb, cmyk or gray colorspace. The spot color name can be an arbitrary name. A spot color can be set as any color with ps_setcolor(). When the document is not printed but displayed by an postscript viewer the given color in the specified color space is use.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the spot color, e.g. Pantone 5565.

반환값

The id of the new spot color or 0 in case of an error.

예제

예 1914. Creating and using a spot color

<?php
$ps = ps_new();
if (!ps_open_file($ps, "spotcolor.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "spotcolor.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Spot color example");

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "fill", "cmyk", 0.37, 0.0, 0.34, 0.34);
$spotcolor = ps_makespotcolor($ps, "PANTONE 5565 C", 0);
ps_setcolor($ps, "fill", "spot", $spotcolor, 0.5, 0.0, 0.0);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_fill($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example creates the spot color "PANTONE 5565 C" which is a darker green (olive) and fills a rectangle with 50% intensity.

참고

ps_setcolor()

이전 | 위로 | 다음
ps_lineto | 처음으로 | ps_moveto


ps_moveto

(PECL ps:1.1.0-1.3.5)

ps_moveto -- Sets current point

설명

bool ps_moveto ( resource $psdoc, float $x, float $y )

Sets the current point to new coordinates. If this is the first call of ps_moveto() after a previous path has been ended then it will start a new path. If this function is called in the middle of a path it will just set the current point and start a subpath.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the point to move to.

y

y-coordinate of the point to move to.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_lineto()

이전 | 위로 | 다음
ps_makespotcolor | 처음으로 | ps_new


ps_new

(PECL ps:1.1.0-1.3.5)

ps_new -- Creates a new PostScript document object

설명

resource ps_new ( void )

Creates a new document instance. It does not create the file on disk or in memory, it just sets up everything. ps_new() is usually followed by a call of ps_open_file() to actually create the postscript document.

반환값

Resource of PostScript document or FALSE on failure. The return value is passed to all other functions as the first argument.

참고

ps_delete()

이전 | 위로 | 다음
ps_moveto | 처음으로 | ps_open_file


ps_open_file

(PECL ps:1.1.0-1.3.5)

ps_open_file -- Opens a file for output

설명

bool ps_open_file ( resource $psdoc [, string $filename] )

Creates a new file on disk and writes the PostScript document into it. The file will be closed when ps_close() is called.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

filename

The name of the postscript file. If filename is not passed the document will be created in memory and all output will go straight to the browser.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_close()

이전 | 위로 | 다음
ps_new | 처음으로 | ps_open_image_file


ps_open_image

(PECL ps:1.1.0-1.3.5)

ps_open_image -- Reads an image for later placement

설명

int ps_open_image ( resource $psdoc, string $type, string $source, string $data, int $lenght, int $width, int $height, int $components, int $bpc, string $params )

Reads an image which is already available in memory. The parameter source is currently not evaluated and assumed to be memory. The image data is a sequence of pixels starting in th upper left corner and ending in the lower right corner. Each pixel consists of components color components, and each component has bpc bits.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

source

Not used.

data

The image data.

length

The length of the image data.

width

The width of the image.

height

The height of the image.

components

The number of components for each pixel. This can be 1 (gray scale images), 3 (rgb images), or 4 (cmyk, rgba images).

bpc

Number of bits per component (quite often 8).

params

반환값

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

참고

ps_open_image_file()
ps_place_image()
ps_close_image()

이전 | 위로 | 다음
ps_open_image_file | 처음으로 | ps_open_memory_image


ps_open_image_file

(PECL ps:1.1.0-1.3.5)

ps_open_image_file -- Opens image from file

설명

int ps_open_image_file ( resource $psdoc, string $type, string $filename [, string $stringparam [, int $intparam]] )

Loads an image for later use.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

filename

The name of the file containing the image data.

stringparam

Not used.

intparam

Not used.

반환값

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

참고

ps_open_image()
ps_place_image()
ps_close_image()

이전 | 위로 | 다음
ps_open_file | 처음으로 | ps_open_image


ps_open_memory_image

(PECL ps:1.1.0-1.3.5)

ps_open_memory_image -- Takes an GD image and returns an image for placement in a PS document

설명

int ps_open_memory_image ( resource $psdoc, int $gd )

주의

This function is currently not documented; only the argument list is available.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

gd

이전 | 위로 | 다음
ps_open_image | 처음으로 | ps_place_image


ps_place_image

(PECL ps:1.1.0-1.3.5)

ps_place_image -- Places image on the page

설명

bool ps_place_image ( resource $psdoc, int $imageid, float $x, float $y, float $scale )

Places a formerly loaded image on the page. The image can be scaled. If the image shall be rotated as well, you will have to rotate the coordinate system before with ps_rotate().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

The resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

x

x-coordinate of the lower left corner of the image.

y

y-coordinate of the lower left corner of the image.

scale

The scaling factor for the image. A scale of 1.0 will result in a resolution of 72 dpi, because each pixel is equivalent to 1 point.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_open_image()
ps_open_image_file()

이전 | 위로 | 다음
ps_open_memory_image | 처음으로 | ps_rect


ps_rect

(PECL ps:1.1.0-1.3.5)

ps_rect -- Draws a rectangle

설명

bool ps_rect ( resource $psdoc, float $x, float $y, float $width, float $height )

Draws a rectangle with its lower left corner at (x, y). The rectangle starts and ends in its lower left corner. If this function is called outside a path it will start a new path. If it is called within a path it will add the rectangle as a subpath. If the last drawing operation does not end in the lower left corner then there will be a gap in the path.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the lower left corner of the rectangle.

y

y-coordinate of the lower left corner of the rectangle.

width

The width of the image.

height

The height of the image.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_arc()
ps_cirle()
ps_lineto()

이전 | 위로 | 다음
ps_place_image | 처음으로 | ps_restore


ps_restore

(PECL ps:1.1.0-1.3.5)

ps_restore -- Restore previously save context

설명

bool ps_restore ( resource $psdoc )

Restores a previously saved graphics context. Any call of ps_save() must be accompanied by a call to ps_restore(). All coordinate transformations, line style settings, color settings, etc. are being restored to the state before the call of ps_save().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_save()

이전 | 위로 | 다음
ps_rect | 처음으로 | ps_rotate


ps_rotate

(PECL ps:1.1.0-1.3.5)

ps_rotate -- Sets rotation factor

설명

bool ps_rotate ( resource $psdoc, float $rot )

Sets the rotation of the coordinate system.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

rot

Angle of rotation in degree.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1915. Rotation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "rotation.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rotation.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Rotation example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text without rotation");
ps_end_page($ps);

ps_delete($ps);
?>

The above example illustrates a very common way of rotating a graphic (in this case just a rectangle) by simply rotating the coordinate system. Since the graphic's coordinate system assumes (0,0) to be the origin, the page coordinate system is also translated to place the graphics not on the edge of the page. Pay attention to the order of ps_translate() and ps_rotate(). In the above case the rectancle is rotated around the point (100, 100) in the untranslated coordinate system. Switching the two statements has a completely different result.

In order to output the following text at the original position, all modifications of the coordinate system are encapsulated in ps_save() and ps_restore().

참고

ps_scale()
ps_translate()

이전 | 위로 | 다음
ps_restore | 처음으로 | ps_save


ps_save

(PECL ps:1.1.0-1.3.5)

ps_save -- Save current context

설명

bool ps_save ( resource $psdoc )

Saves the current graphics context, containing colors, translation and rotation settings and some more. A saved context can be restored with ps_restore().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_restore()

이전 | 위로 | 다음
ps_rotate | 처음으로 | ps_scale


ps_scale

(PECL ps:1.1.0-1.3.5)

ps_scale -- Sets scaling factor

설명

bool ps_scale ( resource $psdoc, float $x, float $y )

Sets horizontal and vertical scaling of the coordinate system.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

Scaling factor in horizontal direction.

y

Scaling factor in vertical direction.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_rotate()
ps_translate()

이전 | 위로 | 다음
ps_save | 처음으로 | ps_set_border_color


ps_set_border_color

(PECL ps:1.1.0-1.3.5)

ps_set_border_color -- Sets color of border for annotations

설명

bool ps_set_border_color ( resource $psdoc, float $red, float $green, float $blue )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the color of the rectangle's border line.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

red

The red component of the border color.

green

The green component of the border color.

blue

The blue component of the border color.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_set_border_dash()
ps_set_border_style()

이전 | 위로 | 다음
ps_scale | 처음으로 | ps_set_border_dash


ps_set_border_dash

(PECL ps:1.1.0-1.3.5)

ps_set_border_dash -- Sets length of dashes for border of annotations

설명

bool ps_set_border_dash ( resource $psdoc, float $black, float $white )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the length of the black and white portion of a dashed border line.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

black

The length of the dash.

white

The length of the gap between dashes.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_set_border_color()
ps_set_border_style()

이전 | 위로 | 다음
ps_set_border_color | 처음으로 | ps_set_border_style


ps_set_border_style

(PECL ps:1.1.0-1.3.5)

ps_set_border_style -- Sets border style of annotations

설명

bool ps_set_border_style ( resource $psdoc, string $style, float $width )

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the appearance and width of the border line.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

style

style can be solid or dashed.

width

The line width of the border.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_set_border_color()
ps_set_border_dash()

이전 | 위로 | 다음
ps_set_border_dash | 처음으로 | ps_set_info


ps_set_info

(PECL ps:1.1.0-1.3.5)

ps_set_info -- Sets information fields of document

설명

bool ps_set_info ( resource $p, string $key, string $val )

Sets certain information fields of the document. This fields will be shown as a comment in the header of the PostScript file. If the document is converted to pdf this fields will also be used for the document information.

The BoundingBox is usually set to the value given to the first page. This only works if ps_findfont() has not been called before. In such cases the BoundingBox would be left unset unless you set it explicitly with this function.

This function will have no effect anymore when the header of the postscript file has been already written. It must be called before the first page or the first call of ps_findfont().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

key

The name of the information field to set. The values which can be set are Keywords, Subject, Title, Creator, Author, BoundingBox, and Orientation. Be aware that some of them has a meaning to PostScript viewers.

value

The value of the information field. The field Orientation can be set to either Portrait or Landscape. The BoundingBox is a string consisting of four numbers. The first two numbers are the coordinates of the lower left corner of the page. The last two numbers are the coordinates of the upper right corner.

참고: Up to version 0.2.6 of pslib, the BoundingBox and Orientation will be overwritten by ps_begin_page(), unless ps_findfont() has been called before.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_findfont()
ps_begin_page()

이전 | 위로 | 다음
ps_set_border_style | 처음으로 | ps_set_parameter


ps_set_parameter

(PECL ps:1.1.0-1.3.5)

ps_set_parameter -- Sets certain parameters

설명

bool ps_set_parameter ( resource $psdoc, string $name, string $value )

Sets several parameters which are used by many functions. Parameters are by definition string values.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

For a list of possible names see ps_get_parameter().

value

The value of the parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_get_parameters()
ps_set_value()

이전 | 위로 | 다음
ps_set_info | 처음으로 | ps_set_text_pos


ps_set_text_pos

(PECL ps:1.1.0-1.3.5)

ps_set_text_pos -- Sets position for text output

설명

bool ps_set_text_pos ( resource $psdoc, float $x, float $y )

Set the position for the next text output. You may alternatively set the x and y value separately by calling ps_set_value() and choosing textx respectively texty as the value name.

If you want to output text at a certain position it is more convenient to use ps_show_xy() instead of setting the text position and calling ps_show().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the new text position.

y

y-coordinate of the new text position.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1916. Placing text at a given position

<?php
$ps = ps_new();
if (!ps_open_file($ps, "text.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Text placement example");

ps_begin_page($ps, 596, 842);
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_setfont($ps, $psfont, 8.0);
ps_show_xy($ps, "Some text at (100, 100)", 100, 100);

ps_set_value($ps, "textx", 100);
ps_set_value($ps, "texty", 120);
ps_show($ps, "Some text at (100, 120)");
ps_end_page($ps);

ps_delete($ps);
?>

참고

ps_set_value()
ps_show()

이전 | 위로 | 다음
ps_set_parameter | 처음으로 | ps_set_value


ps_set_value

(PECL ps:1.1.0-1.3.5)

ps_set_value -- Sets certain values

설명

bool ps_set_value ( resource $psdoc, string $name, float $value )

Sets several values which are used by many functions. Parameters are by definition float values.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

The name can be one of the following:

textrendering

The way how text is shown.

textx

The x coordinate for text output.

texty

The y coordinate for text output.

wordspacing

The distance between words relative to the width of a space.

leading

The distance between lines in pixels.

value

The value of the parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_get_value()
ps_set_parameter()

이전 | 위로 | 다음
ps_set_text_pos | 처음으로 | ps_setcolor


ps_setcolor

(PECL ps:1.1.0-1.3.5)

ps_setcolor -- Sets current color

설명

bool ps_setcolor ( resource $psdoc, string $type, string $colorspace, float $c1, float $c2, float $c3, float $c4 )

Sets the color for drawing, filling, or both.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The parameter type can be both, fill, or fillstroke.

colorspace

The colorspace should be one of gray, rgb, cmyk, spot, pattern. Depending on the colorspace either only the first, the first three or all parameters will be used.

c1

Depending on the colorspace this is either the red component (rgb), the cyan component (cmyk), the gray value (gray), the identifier of the spot color or the identifier of the pattern.

c2

Depending on the colorspace this is either the green component (rgb), the magenta component (cmyk).

c3

Depending on the colorspace this is either the blue component (rgb), the yellow component (cmyk).

c4

This must only be set in cmyk colorspace and specifies the black component.

Bugs

The second parameter is currently not always evaluated. The color is sometimes set for filling and drawing just as if fillstroke were passed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ps_set_value | 처음으로 | ps_setdash


ps_setdash

(PECL ps:1.1.0-1.3.5)

ps_setdash -- Sets appearance of a dashed line

설명

bool ps_setdash ( resource $psdoc, float $on, float $off )

Sets the length of the black and white portions of a dashed line.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

on

The length of the dash.

off

The length of the gap between dashes.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_setpolydash()

이전 | 위로 | 다음
ps_setcolor | 처음으로 | ps_setflat


ps_setflat

(PECL ps:1.1.0-1.3.5)

ps_setflat -- Sets flatness

설명

bool ps_setflat ( resource $psdoc, float $value )

주의

This function is currently not documented; only the argument list is available.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The value must be between 0.2 and 1.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ps_setdash | 처음으로 | ps_setfont


ps_setfont

(PECL ps:1.1.0-1.3.5)

ps_setfont -- Sets font to use for following output

설명

bool ps_setfont ( resource $psdoc, int $fontid, float $size )

Sets a font, which has to be loaded before with ps_findfont(). Outputting text without setting a font results in an error.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontid

The font identifier as returned by ps_findfont().

size

The size of the font.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_findfont()
ps_set_text_pos() for an example.

이전 | 위로 | 다음
ps_setflat | 처음으로 | ps_setgray


ps_setgray

(PECL ps:1.1.0-1.1.1)

ps_setgray -- Sets gray value

설명

bool ps_setgray ( resource $psdoc, float $gray )

Sets the gray value for all following drawing operations.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

gray

The value must be between 0 (white) and 1 (black).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_setcolor()

이전 | 위로 | 다음
ps_setfont | 처음으로 | ps_setlinecap


ps_setlinecap

(PECL ps:1.1.0-1.3.5)

ps_setlinecap -- Sets appearance of line ends

설명

bool ps_setlinecap ( resource $psdoc, int $type )

Sets how line ends look like.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of line ends. Possible values are PS_LINECAP_BUTT, PS_LINECAP_ROUND, or PS_LINECAP_SQUARED.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_setlinejoin()
ps_setlinewidth()
ps_setmiterlimit()

이전 | 위로 | 다음
ps_setgray | 처음으로 | ps_setlinejoin


ps_setlinejoin

(PECL ps:1.1.0-1.3.5)

ps_setlinejoin -- Sets how contected lines are joined

설명

bool ps_setlinejoin ( resource $psdoc, int $type )

Sets how lines are joined.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The way lines are joined. Possible values are PS_LINEJOIN_MITER, PS_LINEJOIN_ROUND, or PS_LINEJOIN_BEVEL.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_setlinecap()
ps_setlinewidth()
ps_setmiterlimit()

이전 | 위로 | 다음
ps_setlinecap | 처음으로 | ps_setlinewidth


ps_setlinewidth

(PECL ps:1.1.0-1.3.5)

ps_setlinewidth -- Sets width of a line

설명

bool ps_setlinewidth ( resource $psdoc, float $width )

Sets the line width for all following drawing operations.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of lines in points.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_setlinecap()
ps_setlinejoin()
ps_setmiterlimit()

이전 | 위로 | 다음
ps_setlinejoin | 처음으로 | ps_setmiterlimit


ps_setmiterlimit

(PECL ps:1.1.0-1.3.5)

ps_setmiterlimit -- Sets the miter limit

설명

bool ps_setmiterlimit ( resource $psdoc, float $value )

If two lines join in a small angle and the line join is set to PS_LINEJOIN_MITER, then the resulting spike will be very long. The miter limit is the maximum ratio of the miter length (the length of the spike) and the line width.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The maximum ratio between the miter length and the line width. Larger values (> 10) will result in very long spikes when two lines meet in a small angle. Keep the default unless you know what you are doing.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_setlinecap()
ps_setlinejoin()
ps_setlinewidth()

이전 | 위로 | 다음
ps_setlinewidth | 처음으로 | ps_setoverprintmode


ps_setoverprintmode

(PECL ps:1.3.0-1.3.5)

ps_setoverprintmode -- Sets overprint mode

설명

bool ps_setoverprintmode ( resource $psdoc, int $mode )

주의

This function is currently not documented; only the argument list is available.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

mode

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ps_setmiterlimit | 처음으로 | ps_setpolydash


ps_setpolydash

(PECL ps:1.1.0-1.3.5)

ps_setpolydash -- Sets appearance of a dashed line

설명

bool ps_setpolydash ( resource $psdoc, float $arr )

Sets the length of the black and white portions of a dashed line. ps_setpolydash() is used to set more complicated dash patterns.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

arr

arr is a list of length elements alternately for the black and white portion.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1917. Drawing a dashed line

<?php
$ps = ps_new();
if (!ps_open_file($ps, "polydash.ps")) {
   print "Cannot open PostScript file\n";
     exit;
}

ps_set_info($ps, "Creator", "polydash.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Poly dash example");

ps_begin_page($ps, 596, 842);
ps_setpolydash($ps, array(10, 5, 2, 5));
ps_moveto($ps, 100, 100);
ps_lineto($ps, 200, 200);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example draws a line with a 10 and 2 points long line, and gaps of 5 points inbetween.

참고

ps_setdash()

이전 | 위로 | 다음
ps_setoverprintmode | 처음으로 | ps_shading_pattern


ps_shading

(PECL ps:1.3.0-1.3.5)

ps_shading -- Creates a shading for later use

설명

int ps_shading ( resource $psdoc, string $type, float $x0, float $y0, float $x1, float $y1, float $c1, float $c2, float $c3, float $c4, string $optlist )

Creates a shading, which can be used by ps_shfill() or ps_shading_pattern().

The color of the shading can be in any color space except for pattern.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of shading can be either radial or axial. Each shading starts with the current fill color and ends with the given color values passed in the parameters c1 to c4 (see ps_setcolor() for their meaning).

x0, x1, y0, y1

The coordinates x0, y0, x1, y1 are the start and end point of the shading. If the type of shading is radial the two points are the middle points of a starting and ending circle.

c1, c2, c3, c4

See ps_setcolor() for their meaning.

optlist

If the shading is of type radial the optlist must also contain the parameters r0 and r1 with the radius of the start and end circle.

반환값

Returns the identifier of the pattern or FALSE in case of an error.

참고

ps_shading_pattern()
ps_shfill()

이전 | 위로 | 다음
ps_shading_pattern | 처음으로 | ps_shfill


ps_shading_pattern

(PECL ps:1.3.0-1.3.5)

ps_shading_pattern -- Creates a pattern based on a shading

설명

int ps_shading_pattern ( resource $psdoc, int $shadingid, string $optlist )

Creates a pattern based on a shading, which has to be created before with ps_shading(). Shading patterns can be used like regular patterns.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

optlist

This argument is not currently used.

반환값

The identifier of the pattern or FALSE in case of an error.

참고

ps_shading()
ps_shfill()

이전 | 위로 | 다음
ps_setpolydash | 처음으로 | ps_shading


ps_shfill

(PECL ps:1.3.0-1.3.5)

ps_shfill -- Fills an area with a shading

설명

bool ps_shfill ( resource $psdoc, int $shadingid )

Fills an area with a shading, which has to be created before with ps_shading(). This is an alternative way to creating a pattern from a shading ps_shading_pattern() and using the pattern as the filling color.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_shading()
ps_shading_pattern()

이전 | 위로 | 다음
ps_shading | 처음으로 | ps_show_boxed


ps_show

(PECL ps:1.1.0-1.3.5)

ps_show -- Output text

설명

bool ps_show ( resource $psdoc, string $text )

Output a text at the current text position. The text position can be set by storing the x and y coordinates into the values textx and texty with the function ps_set_value(). The function will issue an error if a font was not set before with ps_setfont().

ps_show() evaluates the following parameters and values as set by ps_set_parameter() and ps_set_value().

charspacing (value)

Distance between two consecutive glyphs. If this value is unequal to zero then all ligatures will be resolved. Values less than zero are allowed.

kerning (parameter)

Setting this parameter to "false" will turn off kerning. Kerning is turned on by default.

ligatures (parameter)

Setting this parameter to "false" will turn off the use of ligatures. Ligatures are turned on by default.

underline (parameter)

Setting this parameter to "true" will turn on underlining. Underlining is turned off by default.

overline (parameter)

Setting this parameter to "true" will turn on overlining. Overlining is turned off by default.

strikeout (parameter)

Setting this parameter to "true" will turn on striking out. Striking out is turned off by default.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_continue_text()
ps_show_xy()
ps_setfont()

이전 | 위로 | 다음
ps_show2 | 처음으로 | ps_string_geometry


ps_show2

(PECL ps:1.1.0-1.3.5)

ps_show2 -- Output a text at current position

설명

bool ps_show2 ( resource $psdoc, string $text, int $len )

주의

This function is currently not documented; only the argument list is available.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

len

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ps_show_xy | 처음으로 | ps_show


ps_show_boxed

(PECL ps:1.1.0-1.3.5)

ps_show_boxed -- Output text in a box

설명

int ps_show_boxed ( resource $psdoc, string $text, float $left, float $bottom, float $width, float $height, string $hmode [, string $feature] )

Outputs a text in a given box. The lower left corner of the box is at (left, bottom). Line breaks will be inserted where needed. Multiple spaces are treated as one. Tabulators are treated as spaces.

The text will be hyphenated if the parameter hyphenation is set to true and the parameter hyphendict contains a valid filename for a hyphenation file. The line spacing is taken from the value leading. Paragraphs can be separated by an empty line just like in TeX. If the value parindent is set to value > 0.0 then the first n lines will be indented. The number n of lines is set by the parameter numindentlines. In order to prevent indenting of the first m paragraphs set the value parindentskip to a positive number.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output into the given box.

left

x-coordinate of the lower left corner of the box.

bottom

y-coordinate of the lower left corner of the box.

width

Width of the box.

height

Height of the box.

hmode

The parameter hmode can be "justify", "fulljustify", "right", "left", or "center". The difference of "justify" and "fulljustify" just affects the last line of the box. In fulljustify mode the last line will be left and right justified unless this is also the last line of paragraph. In justify mode it will always be left justified.

feature

Used parameters

The output of ps_show_boxed() can be configured with several parameters and values which must be set with either ps_set_parameter() or ps_set_value(). Beside the parameters and values which affect text output, the following parameters and values are evaluated.

leading (value)

Distance between baselines of two consecutive lines.

linebreak (parameter)

Set to "true" if you want a carriage return to start a new line instead of treating it as a space. Defaults to "false".

parbreak (parameter)

Set to "true" if you want a carriage return on a single line to start a new paragraph instead of treating it as a space. Defaults to "true".

hyphenation (parameter)

Set to "true" in order to turn hyphenation on. This requires a dictionary to be set with the parameter "hyphendict". Defaults to "false".

hyphendict (parameter)

Filename of the dictionary used for hyphenation pattern (see below).

hyphenminchar (value)

The number of chars which must at least be left over before or after the hyphen. This implies that only words of at least two times this value will be hyphenated. The default value is three. Setting a value of zero will result in the default value.

parindent (value)

Set the amount of space in pixel for indenting the first m lines of a paragraph. m can be set with the value "numindentlines".

parskip (value)

Set the amount of extra space in pixel between paragraphs. Defaults to 0 which will result in a normal line distance.

numindentlines (value)

Number of lines from the start of the paragraph which will be indented. Defaults to 1.

parindentskip (value)

Number of paragraphs in the box whose first lines will not be indented. This defaults to 0. This is useful for paragraphs right after a section heading or text being continued in a second box. In both case one would set this to 1.

linenumbermode (parameter)

Set how lines are to be numbered. Possible values are "box" for numbering lines in the whole box or "paragraph" to number lines within each paragraph.

linenumberspace (value)

The space for the column left of the numbered line containing the line number. The line number will be right justified into this column. Defaults to 20.

linenumbersep (value)

The space between the column with line numbers and the line itself. Defaults to 5.

Hyphenation

Text is hyphenated if the parameter hyphenation is set to true and a valid hyphenation dictionary is set. pslib does not ship its own hyphenation dictionary but uses one from openoffice, scribus or koffice. You can find their dictionaries for different languages in one of the following directories if the software is installed:
/usr/share/apps/koffice/hyphdicts/
/usr/lib/scribus/dicts/
/usr/lib/openoffice/share/dict/ooo/
Currently scribus appears to have the most complete hyphenation dictionaries.

반환값

Number of characters that could not be written.

참고

ps_continue_text()

이전 | 위로 | 다음
ps_shfill | 처음으로 | ps_show_xy2


ps_show_xy

(PECL ps:1.1.0-1.3.5)

ps_show_xy -- Output text at given position

설명

bool ps_show_xy ( resource $psdoc, string $text, float $x, float $y )

Output a text at the given text position.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

x

x-coordinate of the lower left corner of the box surrounding the text.

y

y-coordinate of the lower left corner of the box surrounding the text.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_continue_text()
ps_show()

이전 | 위로 | 다음
ps_show_xy2 | 처음으로 | ps_show2


ps_show_xy2

(PECL ps:1.1.0-1.3.5)

ps_show_xy2 -- Output text at position

설명

bool ps_show_xy2 ( resource $psdoc, string $text, int $len, float $xcoor, float $ycoor )

주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ps_show_boxed | 처음으로 | ps_show_xy


ps_string_geometry

(PECL ps:1.2.0-1.3.5)

ps_string_geometry -- Gets geometry of a string

설명

array ps_string_geometry ( resource $psdoc, string $text [, int $fontid [, float $size]] )

This function is similar to ps_stringwidth() but returns an array of dimensions containing the width, ascender, and descender of the text.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the geometry is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

반환값

An array of the dimensions of a string. The element 'width' contains the width of the string as returned by ps_stringwidth(). The element 'descender' contains the maximum descender and 'ascender' the maximum ascender of the string.

참고

ps_continue_text()
ps_stringwidth()

이전 | 위로 | 다음
ps_show | 처음으로 | ps_stringwidth


ps_stringwidth

(PECL ps:1.1.0-1.3.5)

ps_stringwidth -- Gets width of a string

설명

float ps_stringwidth ( resource $psdoc, string $text [, int $fontid [, float $size]] )

Calculates the width of a string in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width. If kerning is turned on, it will be taken into account.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the width is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

반환값

Width of a string in points.

참고

ps_string_geometry()

이전 | 위로 | 다음
ps_string_geometry | 처음으로 | ps_stroke


ps_stroke

(PECL ps:1.1.0-1.3.5)

ps_stroke -- Draws the current path

설명

bool ps_stroke ( resource $psdoc )

Draws the path constructed with previously called drawing functions like ps_lineto().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_closepath_stroke()
ps_fill()
ps_fill_stroke()

이전 | 위로 | 다음
ps_stringwidth | 처음으로 | ps_symbol_name


ps_symbol

(PECL ps:1.2.0-1.3.5)

ps_symbol -- Output a glyph

설명

bool ps_symbol ( resource $psdoc, int $ord )

Output the glyph at position ord in the font encoding vector of the current font. The font encoding for a font can be set when loading the font with ps_findfont().

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

ps_symbol_name()
ps_symbol_width()

이전 | 위로 | 다음
ps_symbol_width | 처음으로 | ps_translate


ps_symbol_name

(PECL ps:1.2.0-1.3.5)

ps_symbol_name -- Gets name of a glyph

설명

string ps_symbol_name ( resource $psdoc, int $ord [, int $fontid] )

This function needs an Adobe font metrics file to know which glyphs are available.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The parameter ord is the position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

반환값

The name of a glyph in the given font.

참고

ps_symbol()
ps_symbol_width()

이전 | 위로 | 다음
ps_stroke | 처음으로 | ps_symbol_width


ps_symbol_width

(PECL ps:1.2.0-1.3.5)

ps_symbol_width -- Gets width of a glyph

설명

float ps_symbol_width ( resource $psdoc, int $ord [, int $fontid [, float $size]] )

Calculates the width of a glyph in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

반환값

The width of a glyph in points.

참고

ps_symbol()
ps_symbol_name()

이전 | 위로 | 다음
ps_symbol_name | 처음으로 | ps_symbol


ps_translate

(PECL ps:1.1.0-1.3.5)

ps_translate -- Sets translation

설명

bool ps_translate ( resource $psdoc, float $x, float $y )

Sets a new initial point of the coordinate system.

매개변수

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the origin of the translated coordinate system.

y

y-coordinate of the origin of the translated coordinate system.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1918. Translation of the coordinate system

<?php
function rectangle($ps) {
    ps_moveto($ps, 0, 0);
    ps_lineto($ps, 0, 50);
    ps_lineto($ps, 50, 50);
    ps_lineto($ps, 50, 0);
    ps_lineto($ps, 0, 0);
    ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "translate.ps")) {
  print "Cannot open PostScript file\n";
  exit;
}

ps_set_info($ps, "Creator", "translate.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Translated example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_translate($ps, -500, -750);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_delete($ps);
?>

The above example demonstrates two possible ways to place a graphic (in this case just a rectangle) at any position on the page, while the graphic itself uses its own coordinate system. The trick is to change the origin of the current coordinate system before drawing the rectangle. The translation has to undone after the graphic has been drawn.

On the second page a slightly different and more elegant approach is applied. Instead of undoing the translation with a second call of ps_translate() the graphics context is saved before modifying the coordinate system and restored after drawing the rectangle.

참고

ps_scale()
ps_rotate()

이전 | 위로 | 다음
ps_symbol | 처음으로 | CXXXII. Pspell 함수


px_close

(PECL paradox:1.0-1.4.1)

px_close -- Closes a paradox database

설명

bool px_close ( resource $pxdoc )

Closes the paradox database. This function will not close the file. You will have to call fclose() afterwards.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

px_open_fp()
The example at px_new()

이전 | 위로 | 다음
CXVII. Paradox File Access | 처음으로 | px_create_fp


px_create_fp

(PECL paradox:1.0-1.4.1)

px_create_fp -- Create a new paradox database

설명

bool px_create_fp ( resource $pxdoc, resource $file, array $fielddesc )

Create a new paradox database file. The actual file has to be opened before with fopen(). Make sure the file is writable.

참고: Calling this functions issues a warning about an empty tablename which can be safely ignored. Just set the tablename afterwards with px_set_parameter().

참고: This function is highly experimental, due to insufficient documentation of the paradox file format. Database files created with this function can be opened by px_open_fp() and has been successfully opened by the Paradox software, but your milage may vary.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

File handle as returned by fopen().

fielddesc

fielddesc is an array containing one element for each field specification. A field specification is an array itself with either two or three elements.The first element is always a string value used as the name of the field. It may not be larger than ten characters. The second element contains the field type which is one of the constants listed in the table Constants for field types. In the case of a character field or bcd field, you will have to provide a third element specifying the length respectively the precesion of the field. If your field specification contains blob fields, you will have to make sure to either make the field large enough for all field values to fit or specify a blob file with px_set_blob_file() for storing the blobs. If this is not done the field data is truncated.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1602. Creating a Paradox database with two fields

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "w+");
$fields = array(array("col1", "S"), array("col2", "I"));
if(!px_create_fp($pxdoc, $fp, $fields)) {
  /* Error handling */
}
px_set_parameter($pxdoc, "tablename", "testtable");
for($i=-50; $i<50; $i++) {
  $rec = array($i, -$i);
  px_put_record($pxdoc, $rec);
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

참고

px_new()
px_put_record()
fopen()

이전 | 위로 | 다음
px_close | 처음으로 | px_date2string


px_date2string

(PECL paradox:1.4.0-1.4.1)

px_date2string -- Converts a date into a string.

설명

string px_date2string ( resource $pxdoc, int $value, string $format )

Turns a date as it stored in the paradox file into human readable format. Paradox dates are the number of days since 1.1.0000. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the example below.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

value

Value as stored in paradox database field of type PX_FIELD_DATE.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, L).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1603. Turn a paradox date into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";
/* px_date2string() outputs the same */
echo px_date2string($px, $days, "n/d/Y")."\n";

px_delete($px);
?>

위 예제의 출력:

7/15/1917
7/15/1917

참고

px_timestamp2string()
jdtogregorian()

이전 | 위로 | 다음
px_create_fp | 처음으로 | px_delete_record


px_delete

(PECL paradox:1.0-1.4.1)

px_delete -- Deletes resource of paradox database

설명

bool px_delete ( resource $pxdoc )

Deletes the resource of the paradox file and frees all memory.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
px_delete_record | 처음으로 | px_get_field


px_delete_record

(PECL paradox:1.4.0-1.4.1)

px_delete_record -- Deletes record from paradox database

설명

bool px_delete_record ( resource $pxdoc, int $num )

This function deletes a record from the database. It does not free the space in the database file but just marks it as deleted. Inserting a new record afterwards will reuse the space.

참고: This function is only available if pxlib >= 0.6.0 is used.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

이전 | 위로 | 다음
px_date2string | 처음으로 | px_delete


px_get_field

(PECL paradox:1.0-1.4.1)

px_get_field -- Returns the specification of a single field

설명

array px_get_field ( resource $pxdoc, int $fieldno )

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

fieldno

Number of the field. The first field has number 0. Specifying a field number less than 0 and greater or equal the number of fields will trigger an error.

반환값

Returns the specification of the fieldno'th database field as an associated array. The array contains three fields named name, type, and size.

이전 | 위로 | 다음
px_delete | 처음으로 | px_get_info


px_get_info

(PECL paradox:1.0-1.4.1)

px_get_info -- Return lots of information about a paradox file

설명

array px_get_info ( resource $pxdoc )

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

반환값

Returns an associated array with lots of information about a paradox file. This array is likely to be extended in the future.

fileversion

Version of file multiplied by 10, e.g. 70.

tablename

Name of table as stored in the file. If the database was created by pxlib, then this will be the name of the file without the extension.

numrecords

Number of records in this table.

numfields

Number of fields in this table.

headersize

Number of bytes used for the header. This is usually 0x800.

recordsize

Number of bytes used for each record. This is the sum of all field sizes (available since version 1.4.2).

maxtablesize

This value multiplied by 0x400 is the size of a data block in bytes. The maximum number of records in a datablock is the integer part of (maxtablesize * 0x400 - 8) / recordsize.

numdatablocks

The number of data blocks in the file. Each data block contains a certain number of records which depends on the record size and the data block size (maxtablesize). Data blocks may not necessarily be completely filled.

numindexfields

Number of fields used for the primary index. The fields do always start with field number 1.

codepage

The DOS codepage which was used for encoding fields with character data. If the target encoding is not set with px_set_targetencoding() this will be the encoding for character fields when records are being accessed with px_get_record() or px_retrieve_record().

참고

px_numfields()
px_numrecords()

이전 | 위로 | 다음
px_get_field | 처음으로 | px_get_parameter


px_get_parameter

(PECL paradox:1.1.0-1.4.1)

px_get_parameter -- Gets a parameter

설명

string px_get_parameter ( resource $pxdoc, string $name )

Gets various parameters.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

The name can be one of the following:

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields with px_get_record() or px_retrieve_record() is recoded into the targetencoding. If it is not set, then the data will be delivered as stored in the database file.

inputencoding

The encoding of the input data which is to be stored into the database. When storing data of character fields in the database, the data is expected to be delivered in this encoding.

반환값

Returns the value of the parameter or FALSE on failure.

이전 | 위로 | 다음
px_get_info | 처음으로 | px_get_record


px_get_record

(PECL paradox:1.0-1.4.1)

px_get_record -- Returns record of paradox database

설명

array px_get_record ( resource $pxdoc, int $num [, int $mode] )

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys of the returned array into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp (PX_FIELD_TIMESTAMP) and date (PX_FIELD_DATE) are floating point respectively int values counting milliseconds respectively days starting at the beginning of julian calendar. Use the functions px-timestamp2string() and px-date2string() to convert them into a character representation.

반환값

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

참고

px_retrieve_record()

이전 | 위로 | 다음
px_get_parameter | 처음으로 | px_get_schema


px_get_schema

(PECL paradox:1.0-1.4.1)

px_get_schema -- Returns the database schema

설명

array px_get_schema ( resource $pxdoc [, int $mode] )

px_get_schema() returns the database schema.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

mode

If the optional mode is PX_KEYTOLOWER or PX_KEYTOUPPER the keys of the returned array will be converted to lower or upper case. If mode is 0 or not passed at all, then the key name will be identical to the field name.

반환값

Returns the schema of a database file as an associated array. The key name is equal to the field name. Each array element is itself an associated array containing the two fields type and size. type is one of the constants in table Constants for field types. size is the number of bytes this field consumes in the record. The total of all field sizes is equal to the record size as it can be retrieved with px-get-info().

이전 | 위로 | 다음
px_get_record | 처음으로 | px_get_value


px_get_value

(PECL paradox:1.1.0-1.4.1)

px_get_value -- Gets a value

설명

float px_get_value ( resource $pxdoc, string $name )

Gets various values.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

반환값

Returns the value of the parameter or FALSE on failure.

이전 | 위로 | 다음
px_get_schema | 처음으로 | px_insert_record


px_insert_record

(PECL paradox:1.4.0-1.4.1)

px_insert_record -- Inserts record into paradox database

설명

int px_insert_record ( resource $pxdoc, array $data )

Inserts a new record into the database. The record is not necessarily inserted at the end of the database, but may be inserted at any position depending on where the first free slot is found.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

Most field values can be passed as its equivalent php type e.g. a long value is used for fields of type PX_FIELD_LONG, PX_FIELD_SHORT and PX_FIELD_AUTOINC, a double values is used for fields of type PX_FIELD_CURRENCY and PX_FIELD_NUMBER. Field values for blob and alpha fields are passed as strings.

Fields of type PX_FIELD_TIME and PX_FIELD_DATE both require a long value. In the first case this is the number of milliseconds since midnight. In the second case this is the number of days since 1.1.0000. Below there are two examples to convert the current date or timestamp into a value suitable for one of paradox's date/time fields.

참고: This function is only available if pxlib >= 0.6.0 is used.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

반환값

Returns FALSE on failure or the record number in case of success.

예제

예 1604. Set the date/time fields in a paradox database to the current date/time

<?php
$px = px_new();
$fp = fopen("test.db", "w+");
px_create_fp($px, $fp, array(array("timestamp", "@"), array("time", "T"), array("date", "D")));

$curdate = getdate();
$jd = gregoriantojd($curdate["mon"], $curdate["mday"], $curdate["year"]);
$days = $jd - 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
$secs = $curdate["hours"]*3600 + $curdate["minutes"]*60 + $curdate["seconds"];
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));

$curtimestamp = microtime(true);
$days = (int) ($curtimestamp/86400);
$secs = $curtimestamp - ($days * 86400.0);
$days += 2440588; /* Number of days between 1.1.4714 b.c. and 1.1.1970 */
$days -= 1721425; /* Number of days between 1.1.4714 b.c. and 1.1.0000 */
px_insert_record($px, array($days*86400000.0 + $secs*1000.0, $secs*1000.0, $days));
for($i=0; $i<2; $i++) {
    $rec = px_retrieve_record($px, $i);
    echo px_timestamp2string($px, $rec["timestamp"], "n/d/Y H:i:s")."\n";
    echo px_date2string($px, $rec["date"], "n/d/Y")."\n";
}
px_close($px);
px_delete($px);
?>

위 예제의 출력:

2/21/2006 21:42:30
2/21/2006
2/21/2006 20:42:30
2/21/2006

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain milli seconds.

참고

px_update_record()

이전 | 위로 | 다음
px_get_value | 처음으로 | px_new


px_new

(PECL paradox:1.0-1.4.1)

px_new -- Create a new paradox object

설명

resource px_new ( void )

Create a new paradox object. You will have to call this function before any further functions. px_new() does not create any file on the disk, it just creates an instance of a paradox object. This function must not be called if the object oriented interface is used. Use new paradox_db() instead.

반환값

Returns FALSE on failure.

예제

예 1605. Opening a Paradox database

<?php
if(!$pxdoc = px_new()) {
  /* Error handling */
}
$fp = fopen("test.db", "r");
if(!px_open_fp($pxdoc, $fp)) {
  /* Error handling */
}
// ...
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

If you prefer the object oriented API, then the above example will look like the following.

예 1606. Opening a Paradox database

<?php
$fp = fopen("test.db", "r");
$pxdoc = new paradox_db();
if(!$pxdoc->open_fp($fp)) {
  /* Error handling */
}
// ...
$pxdoc->close();
fclose($fp);
?>

참고

px_delete()
px_open_fp()

이전 | 위로 | 다음
px_insert_record | 처음으로 | px_numfields


px_numfields

(PECL paradox:1.0-1.4.1)

px_numfields -- Returns number of fields in a database

설명

int px_numfields ( resource $pxdoc )

Get the number of fields in a database file.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

반환값

Returns the number of fields in a database file. The return value of this function is identical to the element numfields in the array returned by px_get_info().

이전 | 위로 | 다음
px_new | 처음으로 | px_numrecords


px_numrecords

(PECL paradox:1.0-1.4.1)

px_numrecords -- Returns number of records in a database

설명

int px_numrecords ( resource $pxdoc )

Get the number of records in a database file.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

반환값

Returns the number of records in a database file. The return value of this function is identical to the element numrecords in the array returned by px_get_info().

이전 | 위로 | 다음
px_numfields | 처음으로 | px_open_fp


px_open_fp

(PECL paradox:1.0-1.4.1)

px_open_fp -- Open paradox database

설명

bool px_open_fp ( resource $pxdoc, resource $file )

Open an existing paradox database file. The actual file has to be opened before with fopen(). This function can also be used to open primary index files and tread them like a paradox database. This is supported for those who would like to investigate a primary index. It cannot be used to accelerate access to a database file.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

file

file is the return value from fopen() with the actual database file as parameter. Make sure the database is writable if you plan to update or insert records.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

fopen()
The example at px_new()

이전 | 위로 | 다음
px_numrecords | 처음으로 | px_put_record


px_put_record

(PECL paradox:1.0-1.4.1)

px_put_record -- Stores record into paradox database

설명

bool px_put_record ( resource $pxdoc, array $record [, int $recpos] )

Stores a record into a paradox database. The record is always added at the end of the database, regardless of any free slots. Use px_insert_record() to add a new record into the first free slot found in the database.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

record

Associated or indexed array containing the field values as e.g. returned by px_retrieve_record().

recpos

This optional parameter may be used to specify a record number greater than the current number of records in the database. The function will add as many empty records as needed. There is hardly any need for this parameter.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
px_open_fp | 처음으로 | px_retrieve_record


px_retrieve_record

(PECL paradox:1.4.0-1.4.1)

px_retrieve_record -- Returns record of paradox database

설명

array px_retrieve_record ( resource $pxdoc, int $num [, int $mode] )

This function is very similar to px_get_record() but uses internally a different approach to retrieve the data. It relies on pxlib for reading each single field value, which usually results in support for more field types.

참고: This function is only available if pxlib >= 0.6.0 is used.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

mode

The optional mode can be PX_KEYTOLOWER or PX_KEYTOUPPER in order to convert the keys into lower or upper case. If mode is not passed or is 0, then the key will be exactly like the field name. The element values will contain the field values. NULL values will be retained and are different from 0.0, 0 or the empty string. Fields of type PX_FIELD_TIME will be returned as an integer counting the number of milliseconds starting at midnight. A timestamp is a floating point value also counting milliseconds starting at the beginning of julian calendar.

반환값

Returns the num'th record from the paradox database. The record is returned as an associated array with its keys being the field names.

참고

px_get_record()

이전 | 위로 | 다음
px_put_record | 처음으로 | px_set_blob_file


px_set_blob_file

(PECL paradox:1.3.0-1.4.1)

px_set_blob_file -- Sets the file where blobs are read from

설명

bool px_set_blob_file ( resource $pxdoc, string $filename )

Sets the name of the file where blobs are going to be read from or written into. Without calling this function, px_get_record() or px_retrieve_record() will only return data in blob fields if the data is part of the record and not stored in the blob file. Blob data is stored in the record if it is small enough to fit in the size of the blob field.

Calling px_put_record(),
px_insert_record(), or
px_update_record() without calling
px_set_blob_file() will result in truncated blob fields
unless the data fits into the database file.

Calling this function twice will close the first blob file and open the new one.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

filename

The name of the file. Its extension should be .MB.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
px_retrieve_record | 처음으로 | px_set_parameter


px_set_parameter

(PECL paradox:1.1.0-1.4.1)

px_set_parameter -- Sets a parameter

설명

bool px_set_parameter ( resource $pxdoc, string $name, string $value )

Sets various parameters.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

Depending on the parameter you want to set, name can be one of the following.

tablename

The name of the table as it will be stored in the database header.

targetencoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

inputencoding

The encoding of the input data which is to be stored into the database.

value

The value of parameter to set. For inputencoding and targetencoding this must be the name of the encoding as understood by iconv or recode, e.g. iso-8859-1, utf-8, cp850.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

px_get_info() to determine the DOS code page.

이전 | 위로 | 다음
px_set_blob_file | 처음으로 | px_set_tablename


px_set_tablename

(PECL paradox:1.0-1.4.1)

px_set_tablename -- Sets the name of a table (deprecated)

설명

void px_set_tablename ( resource $pxdoc, string $name )

Sets the table name of a paradox database, which was created with px_create_fp(). This function is deprecated use px_set_parameter() instead.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

tablename

The name of the table. If it is not set explicitly it will be set to the name of the database file.

반환값

Returns NULL on success or FALSE on failure.

참고

px_set_parameter()

이전 | 위로 | 다음
px_set_parameter | 처음으로 | px_set_targetencoding


px_set_targetencoding

(PECL paradox:1.0-1.4.1)

px_set_targetencoding -- Sets the encoding for character fields (deprecated)

설명

bool px_set_targetencoding ( resource $pxdoc, string $encoding )

Set the encoding for data retrieved from a character field. All character fields will be recoded to the encoding set by this function. If the encoding is not set, the character data will be returned in the DOS code page encoding as specified in the database file. The encoding can be any string identifier known to iconv or recode. On Unix systems run iconv -l for a list of available encodings.

This function is deprecated and should be replaced by calling px_set_parameter().

See also px_get_info() to determine the DOS code page as stored in the database file.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

encoding

The encoding for the output. Data which is being read from character fields is recoded into the targetencoding.

반환값

Returns FALSE if the encoding could not be set, e.g. the encoding is unknown, or pxlib does not support recoding at all. In the second case a warning will be issued.

참고

px_set_parameter()

이전 | 위로 | 다음
px_set_tablename | 처음으로 | px_set_value


px_set_value

(PECL paradox:1.1.0-1.4.1)

px_set_value -- Sets a value

설명

bool px_set_value ( resource $pxdoc, string $name, float $value )

Sets various values.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

name

name can be one of the following.

numprimkeys

The number of primary keys. Paradox databases always use the first numprimkeys fields for the primary index.

value

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

px_set_parameter()

이전 | 위로 | 다음
px_set_targetencoding | 처음으로 | px_timestamp2string


px_timestamp2string

(PECL paradox:1.4.0-1.4.1)

px_timestamp2string -- Converts the timestamp into a string.

설명

string px_timestamp2string ( resource $pxdoc, float $value, string $format )

Turns a timestamp as it stored in the paradox file into human readable format. Paradox timestamps are the number of milliseconds since 1.1.0000. This function is just for convenience. It can be easily replaced by some math and the calendar functions as demonstrated in the following example.

매개변수

pxdoc

Resource identifier of the paradox database.

value

Value as stored in paradox database field of type PX_FIELD_TIME, or PX_FIELD_TIMESTAMP.

format

String format similar to the format used by date(). The placeholders support by this function is a subset of those supported by date() (Y, y, m, n, d, j, H, h, G, g, i, s, A, a, L).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1607. Turn a paradox timestamp into a human readable form

<?php
$px = px_new();

/* make up a date as it could be stored in */
/* a date field of a paradox db. */
/* 700000 days since 1.1.0000. */
$days = 700000;

/* Use the calendar functions to print a */
/* human readable format of the date */
echo jdtogregorian($days+1721425)."\n";

/* Turn it into a timestamp as it stored in a paradox database */
/* Timestamps are stored in milli seconds since 1.1.0000 */
$stamp = $days * 86400.0 * 1000.0;
/* Add one hour */
$stamp += 3600000.0;
/* The following will output '7/15/1917 01:00:00'. */
echo px_timestamp2string($px, $stamp, "n/d/Y H:i:s")."\n";

px_delete($px);
?>

위 예제의 출력:

7/15/1917
7/15/1917 01:00:00

The Julian day count as passed to jdtogregorian() has a different base of 1.1.4714 b.c. and must therefore be calculated by adding 1721425 to the day count used in the paradox file. Turning the day count into a timestamp is easily done by multiplying with 86400000.0 to obtain milli seconds.

참고

px_date2string()
jdtogregorian()

이전 | 위로 | 다음
px_set_value | 처음으로 | px_update_record


px_update_record

(PECL paradox:1.4.0-1.4.1)

px_update_record -- Updates record in paradox database

설명

bool px_update_record ( resource $pxdoc, array $data, int $num )

Updates an exiting record in the database. The record starts at 0.

The record data is passed as an array of field values. The elements in the array must correspond to the fields in the database. If the array has less elements than fields in the database, the remaining fields will be set to null.

참고: This function is only available if pxlib >= 0.6.0 is used.

매개변수

pxdoc

Resource identifier of the paradox database as returned by px_new().

data

Associated array containing the field values as returned by px_retrieve_record().

num

The record number is an artificial number counting records in the order as they are stored in the database. The first record has number 0.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

px_insert_record()

이전 | 위로 | 다음
px_timestamp2string | 처음으로 | CXVIII. Parsekit Functions


radius_acct_open

(PECL radius:1.1-1.2.5)

radius_acct_open -- Creates a Radius handle for accounting

설명

resource radius_acct_open ( void )

반환값

Returns a handle on success, FALSE on error. This function only fails if insufficient memory is available.

예제

예 1934. radius_acct_open() example

<?php
$res = radius_acct_open ()
    or die ("Could not create handle");
print("Handle successfully created");
?>

이전 | 위로 | 다음
CXXXIV. Radius | 처음으로 | radius_add_server


radius_add_server

(PECL radius:1.1-1.2.5)

radius_add_server -- Adds a server

설명

bool radius_add_server ( resource $radius_handle, string $hostname, int $port, string $secret, int $timeout, int $max_tries )

radius_add_server() may be called multiple times, and it may be used together with radius_config(). At most 10 servers may be specified. When multiple servers are given, they are tried in round-robin fashion until a valid response is received, or until each server's max_tries limit has been reached.

매개변수

radius_handle

hostname

The hostname parameter specifies the server host, either as a fully qualified domain name or as a dotted-quad IP address in text form.

port

The port specifies the UDP port to contact on the server. If port is given as 0, the library looks up the radius/udp or radacct/udp service in the network services database, and uses the port found there. If no entry is found, the library uses the standard Radius ports, 1812 for authentication and 1813 for accounting.

secret

The shared secret for the server host is passed to the secret parameter. The Radius protocol ignores all but the leading 128 bytes of the shared secret.

timeout

The timeout for receiving replies from the server is passed to the timeout parameter, in units of seconds.

max_tries

The maximum number of repeated requests to make before giving up is passed into the max_tries.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1935. radius_add_server() example

<?php
if (!radius_add_server($res, 'radius.example.com', 1812, 'testing123', 3, 3)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br>";
    exit;
}
?>

참고

radius_config()

이전 | 위로 | 다음
radius_acct_open | 처음으로 | radius_auth_open


radius_auth_open

(PECL radius:1.1-1.2.5)

radius_auth_open -- Creates a Radius handle for authentication

설명

resource radius_auth_open ( void )

반환값

Returns a handle on success, FALSE on error. This function only fails if insufficient memory is available.

예제

예 1936. radius_auth_open() example

<?php
$radh = radius_auth_open()
    or die ("Could not create handle");
echo "Handle successfully created";
?>

이전 | 위로 | 다음
radius_add_server | 처음으로 | radius_close


radius_close

(PECL radius:1.1-1.2.5)

radius_close -- Frees all ressources

설명

bool radius_close ( resource $radius_handle )

It is not needed to call this function because php frees all resources at the end of each request.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
radius_auth_open | 처음으로 | radius_config


radius_config

(PECL radius:1.1-1.2.5)

radius_config -- Causes the library to read the given configuration file

설명

bool radius_config ( resource $radius_handle, string $file )

Before issuing any Radius requests, the library must be made aware of the servers it can contact. The easiest way to configure the library is to call radius_config(). radius_config() causes the library to read a configuration file whose format is described in » radius.conf.

매개변수

radius_handle

file

The pathname of the configuration file is passed as the file argument to radius_config(). The library can also be configured programmatically by calls to radius_add_server().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

radius_add_server()

이전 | 위로 | 다음
radius_close | 처음으로 | radius_create_request


radius_create_request

(PECL radius:1.1-1.2.5)

radius_create_request -- Create accounting or authentication request

설명

bool radius_create_request ( resource $radius_handle, int $type )

A Radius request consists of a code specifying the kind of request, and zero or more attributes which provide additional information. To begin constructing a new request, call radius_create_request().

참고: Attention: You must call this function, before you can put any attribute!

매개변수

radius_handle

Type is RADIUS_ACCESS_REQUEST or RADIUS_ACCOUNTING_REQUEST.

type

Its description

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1937. radius_create_request() example

<?php
if (!radius_create_request($res, RADIUS_ACCESS_REQUEST)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

참고

radius_send_request()

이전 | 위로 | 다음
radius_config | 처음으로 | radius_cvt_addr


radius_cvt_addr

(PECL radius:1.1-1.2.5)

radius_cvt_addr -- Converts raw data to IP-Address

설명

string radius_cvt_addr ( string $data )

예제

예 1938. radius_cvt_addr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_IP_ADDRESS:
        $ip = radius_cvt_addr($data);
        echo "IP: $ip<br>\n";
        break;

    case RADIUS_FRAMED_IP_NETMASK:
        $mask = radius_cvt_addr($data);
        echo "MASK: $mask<br>\n";
        break;
    }
}
?>

참고

radius_cvt_int()
radius_cvt_string()

이전 | 위로 | 다음
radius_create_request | 처음으로 | radius_cvt_int


radius_cvt_int

(PECL radius:1.1-1.2.5)

radius_cvt_int -- Converts raw data to integer

설명

int radius_cvt_int ( string $data )

예제

예 1939. radius_cvt_int() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FRAMED_MTU:
        $mtu = radius_cvt_int($data);
        echo "MTU: $mtu<br>\n";
        break;
    }
}
?>

참고

radius_cvt_addr()
radius_cvt_string()

이전 | 위로 | 다음
radius_cvt_addr | 처음으로 | radius_cvt_string


radius_cvt_string

(PECL radius:1.1-1.2.5)

radius_cvt_string -- Converts raw data to string

설명

string radius_cvt_string ( string $data )

예제

예 1940. radius_cvt_string() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];

    switch ($attr) {

    case RADIUS_FILTER_ID:
        $id = radius_cvt_string($data);
        echo "Filter ID: $id<br>\n";
        break;
    }
}
?>

참고

radius_cvt_addr()
radius_cvt_int()

이전 | 위로 | 다음
radius_cvt_int | 처음으로 | radius_demangle_mppe_key


radius_demangle

(PECL radius:1.2-1.2.5)

radius_demangle -- Demangles data

설명

string radius_demangle ( resource $radius_handle, string $mangled )

Some data (Passwords, MS-CHAPv1 MPPE-Keys) is mangled for security reasons, and must be demangled before you can use them.

반환값

Returns the demangled string, or FALSE on error.

이전 | 위로 | 다음
radius_demangle_mppe_key | 처음으로 | radius_get_attr


radius_demangle_mppe_key

(PECL radius:1.2-1.2.5)

radius_demangle_mppe_key -- Derives mppe-keys from mangled data

설명

string radius_demangle_mppe_key ( resource $radius_handle, string $mangled )

When using MPPE with MS-CHAPv2, the send- and recv-keys are mangled (see » RFC 2548), however this function is useless, because I don't think that there is or will be a PPTP-MPPE implementation in PHP.

반환값

Returns the demangled string, or FALSE on error.

이전 | 위로 | 다음
radius_cvt_string | 처음으로 | radius_demangle


radius_get_attr

(PECL radius:1.1-1.2.5)

radius_get_attr -- Extracts an attribute

설명

mixed radius_get_attr ( resource $radius_handle )

Like Radius requests, each response may contain zero or more attributes. After a response has been received successfully by radius_send_request(), its attributes can be extracted one by one using radius_get_attr(). Each time radius_get_attr() is called, it gets the next attribute from the current response.

반환값

Returns an associative array containing the attribute-type and the data, or error number <= 0.

예제

예 1941. radius_get_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
}
?>

참고

radius_put_attr()
radius_get_vendor_attr()
radius_put_vendor_attr()
radius_send_request()

이전 | 위로 | 다음
radius_demangle | 처음으로 | radius_get_vendor_attr


radius_get_vendor_attr

(PECL radius:1.1-1.2.5)

radius_get_vendor_attr -- Extracts a vendor specific attribute

설명

array radius_get_vendor_attr ( string $data )

If radius_get_attr() returns RADIUS_VENDOR_SPECIFIC, radius_get_vendor_attr() may be called to determine the vendor.

반환값

Returns an associative array containing the attribute-type, vendor and the data, or FALSE on error.

예제

예 1942. radius_get_vendor_attr() example

<?php
while ($resa = radius_get_attr($res)) {

    if (!is_array($resa)) {
        printf ("Error getting attribute: %s\n",  radius_strerror($res));
        exit;
    }

    $attr = $resa['attr'];
    $data = $resa['data'];
    printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
    if ($attr == RADIUS_VENDOR_SPECIFIC) {

        $resv = radius_get_vendor_attr($data);
        if (is_array($resv)) {
            $vendor = $resv['vendor'];
            $attrv = $resv['attr'];
            $datav = $resv['data'];
            printf("Got Vendor Attr:%d %d Bytes %s\n", $attrv, strlen($datav), bin2hex($datav));
        }

    }
}
?>

참고

radius_get_attr()
radius_put_vendor_attr()

이전 | 위로 | 다음
radius_get_attr | 처음으로 | radius_put_addr


radius_put_addr

(PECL radius:1.1-1.2.5)

radius_put_addr -- Attaches an IP-Address attribute

설명

bool radius_put_addr ( resource $radius_handle, int $type, string $addr )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
radius_get_vendor_attr | 처음으로 | radius_put_attr


radius_put_attr

(PECL radius:1.1-1.2.5)

radius_put_attr -- Attaches a binary attribute

설명

bool radius_put_attr ( resource $radius_handle, int $type, string $value )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1943. radius_put_attr() example

<?php
mt_srand(time());
$chall = mt_rand();
$chapval = md5(pack('Ca*',1 , 'sepp' . $chall));
$pass = pack('CH*', 1, $chapval);
if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

참고

radius_get_attr()
radius_get_vendor_attr()
radius_put_vendor_attr()

이전 | 위로 | 다음
radius_put_addr | 처음으로 | radius_put_int


radius_put_int

(PECL radius:1.1-1.2.5)

radius_put_int -- Attaches an integer attribute

설명

bool radius_put_int ( resource $radius_handle, int $type, int $value )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1944. radius_put_int() example

<?php
if (!radius_put_int($res, RAD_FRAMED_PROTOCOL, RAD_PPP)) {
   echo 'RadiusError:' . radius_strerror($res). "\n<br />";
   exit;
}
?>

참고

radius_put_string()
radius_put_vendor_int()
radius_put_vendor_string()

이전 | 위로 | 다음
radius_put_attr | 처음으로 | radius_put_string


radius_put_string

(PECL radius:1.1-1.2.5)

radius_put_string -- Attaches a string attribute

설명

bool radius_put_string ( resource $radius_handle, int $type, string $value )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1945. radius_put_string() example

<?php
if (!radius_put_string($res, RADIUS_USER_NAME, 'billy')) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

참고

radius_put_int()
radius_put_vendor_int()
radius_put_vendor_string()

이전 | 위로 | 다음
radius_put_int | 처음으로 | radius_put_vendor_addr


radius_put_vendor_addr

(PECL radius:1.1-1.2.5)

radius_put_vendor_addr -- Attaches a vendor specific IP-Address attribute

설명

bool radius_put_vendor_addr ( resource $radius_handle, int $vendor, int $type, string $addr )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
radius_put_string | 처음으로 | radius_put_vendor_attr


radius_put_vendor_attr

(PECL radius:1.1-1.2.5)

radius_put_vendor_attr -- Attaches a vendor specific binary attribute

설명

bool radius_put_vendor_attr ( resource $radius_handle, int $vendor, int $type, string $value )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1946. radius_put_vendor_attr() example

<?php
if (!radius_put_vendor_attr($res, RADIUS_VENDOR_MICROSOFT, RAD_MICROSOFT_MS_CHAP_CHALLENGE, $challenge)) {
    echo 'RadiusError:' . radius_strerror($res). "\n<br />";
    exit;
}
?>

이전 | 위로 | 다음
radius_put_vendor_addr | 처음으로 | radius_put_vendor_int


radius_put_vendor_int

(PECL radius:1.1-1.2.5)

radius_put_vendor_int -- Attaches a vendor specific integer attribute

설명

bool radius_put_vendor_int ( resource $radius_handle, int $vendor, int $type, int $value )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
radius_put_vendor_attr | 처음으로 | radius_put_vendor_string


radius_put_vendor_string

(PECL radius:1.1-1.2.5)

radius_put_vendor_string -- Attaches a vendor specific string attribute

설명

bool radius_put_vendor_string ( resource $radius_handle, int $vendor, int $type, string $value )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
radius_put_vendor_int | 처음으로 | radius_request_authenticator


radius_request_authenticator

(PECL radius:1.1-1.2.5)

radius_request_authenticator -- Returns the request authenticator

설명

string radius_request_authenticator ( resource $radius_handle )

The request authenticator is needed for demangling mangled data like passwords and encryption-keys.

반환값

Returns the request authenticator as string, or FALSE on error.

참고

radius_demangle()

이전 | 위로 | 다음
radius_put_vendor_string | 처음으로 | radius_send_request


radius_send_request

(PECL radius:1.1-1.2.5)

radius_send_request -- Sends the request and waites for a reply

설명

int radius_send_request ( resource $radius_handle )

After the Radius request has been constructed, it is sent by radius_send_request().

The radius_send_request() function sends the request and waits for a valid reply, retrying the defined servers in round-robin fashion as necessary.

반환값

If a valid response is received, radius_send_request() returns the Radius code which specifies the type of the response. This will typically be RADIUS_ACCESS_ACCEPT, RADIUS_ACCESS_REJECT, or RADIUS_ACCESS_CHALLENGE. If no valid response is received, radius_send_request() returns FALSE.

참고

radius_create_request()

이전 | 위로 | 다음
radius_request_authenticator | 처음으로 | radius_server_secret


radius_server_secret

(PECL radius:1.1-1.2.5)

radius_server_secret -- Returns the shared secret

설명

string radius_server_secret ( resource $radius_handle )

The shared secret is needed as salt for demangling mangled data like passwords and encryption-keys.

반환값

Returns the server's shared secret as string, or FALSE on error.

이전 | 위로 | 다음
radius_send_request | 처음으로 | radius_strerror


radius_strerror

(PECL radius:1.1-1.2.5)

radius_strerror -- Returns an error message

설명

string radius_strerror ( resource $radius_handle )

If Radius-functions fail then they record an error message. This error message can be retrieved with this function.

반환값

Returns error messages as string from failed radius functions.

이전 | 위로 | 다음
radius_server_secret | 처음으로 | CXXXV. Rar Functions


require

이전 16. 제어 구조 다음

require()

require()문은 특정 파일을 인클루드하고, 적용시킨다.

require()문은 특정 파일을 인클루드하고, 적용시킨다. 이런 인클루드가 어떻게 동작하는지에 대한 자세한 정보는 include()에 대한 문서에서 설명한다.

require()와 include()는 수행 실패를 다루는 방법을 제외하고 완전히 동일합니다. 둘 모두 Warning을 발생시키지만, require()는 Fatal Error가 나타납니다. 즉, 파일이 없을 때 페이지 처리를 멈추고 싶으면 require()를 사용하면 됩니다. include()는 멈추지 않고 스크립트가 계속 실행됩니다. 또한, 적합한 include_path 설정인지 확인해야 합니다.

예 16.4. 기본적인 require() 사용예

<?php

require 'prepend.php';

require $somefile;

require ('somefile.txt');

?>

더 많은 예제 코드는 include()문서에서 볼수있다.

참고: PHP 4.0.2 이전 버전에서는 다음 규칙이 적용된다: require()는 어떤줄도 수행되지 않는 목적 파일도 무작정 읽어 들이려 한다. 조건절에서는 require()가 효과적이지 않다. 하지만, require() 되는 어떤 줄도 수행되지 않으면 목적 파일의 어떤 코드도 수행되지 않을것이다. 이와 유사하게, 루프 구조에서도 require()는 효과적이지 않다. 목적파일내에 포함된 코드가 계속 루프를 반복한다면, require()는 오직 한번만 발생한다.

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

참고: include(), require_once(),
include_once(),
get_included_files(), eval(),
file(), readfile(),
virtual(), include_path.

이전 | 위로 | 다음
return | 처음으로 | include


require_once

이전 16. 제어 구조 다음

require_once()

require_once()문은 스크립트 수행기간 중에 특정파일을 인클루드하고 적용시킨다. 이것은 require()문과 비슷하게 동작한다. 오직 파일의 코드가 이미 인클루드되었다면 다시 인클루드되지 않을것 이라는 차이점이 있다. 이 구문이 어떻게 작용하는지에 대한 정보를 알아보려면 require()함수에 대한 문서를 보세요.

require_once()는 특정 스크립트 수행기간동안 한번이상 인클루드되고 적용될수 있는 상황에서 사용하도록 한다. 그리고 함수 중복 정의와 변수값 중복 지정 등에 대한 문제를 회피하기 위해서는 정확히 한번 인클루드될 필요가 있을것이다.

require_once()과 include_once()의 사용예는 최신 PHP 소스코드 안에 포함된 » PEAR코드를 참고할것.

반환값은 include()와 동일합니다. 파일이 이미 포함되었면, TRUE를 반환합니다.

참고: require_once()는 PHP 4.0.1에 추가되었다.

참고: require_once()와 include_once()은 대소문자를 구별하지 않는 운영체제(윈도우 같은)에서는 기대하던대로 동작하지 않을지 모른다.

예 16.11. require_once()는 윈도우에서 대소문자를 구별하지 못합니다.

<?php
require_once("a.php"); // a.php를 포함합니다.
require_once("A.php"); // 윈도우에서 또다시 a.php를 포함합니다. (PHP 4만)
?>

이 동작은 PHP 5에서 바뀌었습니다 - 경로가 먼저 표준화되기 때문에 C:\PROGRA~1\A.php은 C:\Program Files\a.php와 동일하게 인식하고, 파일은 딱 한번만 포함하게 됩니다.

주의

PHP 4.3.0 이후의 Windows 버전 PHP에서는 이 함수를 이용하여 원격 파일에 접근할 수 없습니다. allow_url_fopen을 활성화하여도 마찬가지입니다.

참고: require(),
include(), include_once(),
get_required_files(),
get_included_files(), readfile(),
virtual().

이전 | 위로 | 다음
include | 처음으로 | include_once


rpm_close

(PECL rpmreader:0.1-0.3)

rpm_close -- Closes an RPM file

설명

bool rpm_close ( resource $rpmr )

rpm_close() will close an RPM file pointer.

매개변수

rpmr

A file pointer resource successfully opened by rpm_open().

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1965. rpm_close() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

참고

rpm_open()

이전 | 위로 | 다음
CXXXVIII. RPM Header Reading 함수 | 처음으로 | rpm_get_tag


rpm_get_tag

(PECL rpmreader:0.1-0.3)

rpm_get_tag -- Retrieves a header tag from an RPM file

설명

mixed rpm_get_tag ( resource $rpmr, int $tagnum )

rpm_get_tag() will retrieve a given tag from the RPM file's header and return it.

매개변수

rpmr

A file pointer resource successfully opened by rpm_open().

tagnum

The tag number to retrieve from the RPM header. This value can be specified using the list of constants defined by this module.

반환값

The return value can be of various types depending on the tagnum supplied to the function.

예제

예 1966. rpm_get_tag() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

$name = rpm_get_tag($rpmr, RPMREADER_NAME);
echo "$name<br>\n";

rpm_close($rpmr);

?>

참고

rpm_open()
rpm_close()

이전 | 위로 | 다음
rpm_close | 처음으로 | rpm_is_valid


rpm_is_valid

(PECL rpmreader:0.1-0.3)

rpm_is_valid -- Tests a filename for validity as an RPM file

설명

bool rpm_is_valid ( string $filename )

rpm_is_valid() will test an RPM file for validity as an RPM file. This is not the same as rpm_open() as it only checks the file for validity but does not return a file pointer to be used by further functions.

매개변수

filename

The filename of the RPM file you wish to check for validity.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1967. rpm_is_valid() example

<?php

$file = "/path/to/file.rpm";

if (rpm_is_valid($file)) {
    echo "File is recognized as an RPM file.<br>\n";
}
else {
    echo "File is not recognized as an RPM file.<br>\n";
}

?>

이전 | 위로 | 다음
rpm_get_tag | 처음으로 | rpm_open


rpm_open

(PECL rpmreader:0.1-0.3)

rpm_open -- Opens an RPM file

설명

resource rpm_open ( string $filename )

rpm_open() will open an RPM file and will determine if the file is a valid RPM file.

매개변수

filename

The filename of the RPM file you wish to open.

반환값

If the open succeeds, then rpm_open() will return a file pointer resource to the newly opened file. On error, the function will return FALSE.

예제

예 1968. rpm_open() example

<?php

$file = "/path/to/file.rpm";
$rpmr = rpm_open($file);

rpm_close($rpmr);

?>

참고

rpm_close()

이전 | 위로 | 다음
rpm_is_valid | 처음으로 | rpm_version


rpm_version

(PECL rpmreader:0.3)

rpm_version -- Returns a string representing the current version of the rpmreader extension

설명

string rpm_version ( void )

rpm_version() will return the current version of the rpmreader extension.

반환값

rpm_version() will return a string representing the rpmreader version currently loaded in PHP.

예제

예 1969. rpm_version() example

<?php

$rpmr_ver = rpm_version();

echo "$rpmr_ver<br />\n";

?>

이전 | 위로 | 다음
rpm_open | 처음으로 | CXXXIX. runkit Functions


runkit_class_adopt

(PECL runkit:0.7-0.9)

runkit_class_adopt -- Convert a base class to an inherited class, add ancestral methods when appropriate

설명

bool runkit_class_adopt ( string $classname, string $parentname )

매개변수

classname

Name of class to be adopted

parentname

Parent class which child class is extending

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1977. A runkit_class_adopt() example

<?php
class myParent {
  function parentFunc() {
    echo "Parent Function Output\n";
  }
}

class myChild {
}

runkit_class_adopt('myChild','myParent');
myChild::parentFunc();
?>

위 예제의 출력:

Parent Function Output

참고

runkit_class_emancipate()

이전 | 위로 | 다음
Runkit_Sandbox_Parent | 처음으로 | runkit_class_emancipate


runkit_class_emancipate

(PECL runkit:0.7-0.9)

runkit_class_emancipate -- Convert an inherited class to a base class, removes any method whose scope is ancestral

설명

bool runkit_class_emancipate ( string $classname )

매개변수

classname

Name of class to emancipate

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1978. A runkit_class_emancipate() example

<?php
class myParent {
  function parentFunc () {
    echo "Parent Function Output\n";
  }
}
class myChild extends myParent {
}

myChild::parentFunc();
runkit_class_emancipate('myChild');
myChild::parentFunc();
?>

위 예제의 출력:

Parent Function Output
Fatal error: Call to undefined function:  parentFunc() in example.php on line 12

참고

runkit_class_adopt()

이전 | 위로 | 다음
runkit_class_adopt | 처음으로 | runkit_constant_add


runkit_constant_add

(PECL runkit:0.7-0.9)

runkit_constant_add -- Similar to define(), but allows defining in class definitions as well

설명

bool runkit_constant_add ( string $constname, mixed $value )

매개변수

constname

Name of constant to declare. Either a string to indicate a global constant, or classname::constname to indicate a class constant.

value

NULL, Bool, Long, Double, String, or Resource value to store in the new constant.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

define()
runkit_constant_redefine()
runkit_constant_remove()

이전 | 위로 | 다음
runkit_class_emancipate | 처음으로 | runkit_constant_redefine


runkit_constant_redefine

(PECL runkit:0.7-0.9)

runkit_constant_redefine -- Redefine an already defined constant

설명

bool runkit_constant_redefine ( string $constname, mixed $newvalue )

매개변수

constname

Constant to redefine. Either string indicating global constant, or classname::constname indicating class constant.

newvalue

New value to assign to constant.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

runkit_constant_add()
runkit_constant_remove()

이전 | 위로 | 다음
runkit_constant_add | 처음으로 | runkit_constant_remove


runkit_constant_remove

(PECL runkit:0.7-0.9)

runkit_constant_remove -- Remove/Delete an already defined constant

설명

bool runkit_constant_remove ( string $constname )

매개변수

constname

Name of constant to remove. Either a string indicating a global constant, or classname::constname indicating a class constant.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

define()
runkit_constant_add()
runkit_constant_redefine()

이전 | 위로 | 다음
runkit_constant_redefine | 처음으로 | runkit_function_add


runkit_function_add

(PECL runkit:0.7-0.9)

runkit_function_add -- Add a new function, similar to create_function()

설명

bool runkit_function_add ( string $funcname, string $arglist, string $code )

매개변수

funcname

Name of function to be created

arglist

Comma separated argument list

code

Code making up the function

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1979. A runkit_function_add() example

<?php
runkit_function_add('testme','$a,$b','echo "The value of a is $a\n"; echo "The value of b is $b\n";');
testme(1,2);
?>

위 예제의 출력:

The value of a is 1
The value of b is 2

참고

create_function()
runkit_function_redefine()
runkit_function_copy()
runkit_function_rename()
runkit_function_remove()
runkit_method_add()

이전 | 위로 | 다음
runkit_constant_remove | 처음으로 | runkit_function_copy


runkit_function_copy

(PECL runkit:0.7-0.9)

runkit_function_copy -- Copy a function to a new function name

설명

bool runkit_function_copy ( string $funcname, string $targetname )

매개변수

funcname

Name of existing function

targetname

Name of new function to copy definition to

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1980. A runkit_function_copy() example

<?php
function original() {
  echo "In a function\n";
}
runkit_function_copy('original','duplicate');
original();
duplicate();
?>

위 예제의 출력:

In a function
In a function

참고

runkit_function_add()
runkit_function_redefine()
runkit_function_rename()
runkit_function_remove()

이전 | 위로 | 다음
runkit_function_add | 처음으로 | runkit_function_redefine


runkit_function_redefine

(PECL runkit:0.7-0.9)

runkit_function_redefine -- Replace a function definition with a new implementation

설명

bool runkit_function_redefine ( string $funcname, string $arglist, string $code )

참고: 기본적으로 사용자 함수만 삭제하거나, 이름을 바꾸거나, 변경할 수 있습니다. 내장 함수를 덮어쓰려면 시스템레벨의 php.ini 파일에서 runkit.internal_override을 활성화하여야 합니다.

매개변수

funcname

Name of function to redefine

arglist

New list of arguments to be accepted by function

code

New code implementation

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1981. A runkit_function_redefine() example

<?php
function testme() {
  echo "Original Testme Implementation\n";
}
testme();
runkit_function_redefine('testme','','echo "New Testme Implementation\n";');
testme();
?>

위 예제의 출력:

Original Testme Implementation
New Testme Implementation

참고

runkit_function_add()
runkit_function_copy()
runkit_function_rename()
runkit_function_remove()

이전 | 위로 | 다음
runkit_function_copy | 처음으로 | runkit_function_remove


runkit_function_remove

(PECL runkit:0.7-0.9)

runkit_function_remove -- Remove a function definition

설명

bool runkit_function_remove ( string $funcname )

참고: 기본적으로 사용자 함수만 삭제하거나, 이름을 바꾸거나, 변경할 수 있습니다. 내장 함수를 덮어쓰려면 시스템레벨의 php.ini 파일에서 runkit.internal_override을 활성화하여야 합니다.

매개변수

funcname

Name of function to be deleted

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

runkit_function_add()
runkit_function_copy()
runkit_function_redefine()
runkit_function_rename()

이전 | 위로 | 다음
runkit_function_redefine | 처음으로 | runkit_function_rename


runkit_function_rename

(PECL runkit:0.7-0.9)

runkit_function_rename -- Change a function's name

설명

bool runkit_function_rename ( string $funcname, string $newname )

참고: 기본적으로 사용자 함수만 삭제하거나, 이름을 바꾸거나, 변경할 수 있습니다. 내장 함수를 덮어쓰려면 시스템레벨의 php.ini 파일에서 runkit.internal_override을 활성화하여야 합니다.

매개변수

funcname

Current function name

newname

New function name

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

runkit_function_add()
runkit_function_copy()
runkit_function_redefine()
runkit_function_remove()

이전 | 위로 | 다음
runkit_function_remove | 처음으로 | runkit_import


runkit_import

(PECL runkit:0.7-0.9)

runkit_import -- Process a PHP file importing function and class definitions, overwriting where appropriate

설명

bool runkit_import ( string $filename [, int $flags] )

Similar to include() however any code residing outside of a function or class is simply ignored. Additionally, depending on the value of flags, any functions or classes which already exist in the currently running environment will be automatically overwritten by their new definitions.

매개변수

filename

Filename to import function and class definitions from

flags

Bitwise OR of the RUNKIT_IMPORT_* family of constants.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
runkit_function_rename | 처음으로 | runkit_lint_file


runkit_lint

(PECL runkit:0.7-0.9)

runkit_lint -- Check the PHP syntax of the specified php code

설명

bool runkit_lint ( string $code )

The runkit_lint() function performs a syntax (lint) check on the specified php code testing for scripting errors. This is similar to using php -l from the command line except runkit_lint() accepts actual code rather than a filename.

참고: Sandbox 지원(runkit_linux(), runkit_lint_file(), Runkit_Sandbox 클래스에 필요합니다)은 PHP 5.1이나 특별히 패치된 PHP 5.0에서 쓰레드 안전(therad safety)을 활성화해야 합니다. 자세한 정보는 runkit 패키지에 포함된 README 파일을 참고하십시오.

매개변수

code

PHP Code to be lint checked

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

runkit_lint_file()

이전 | 위로 | 다음
runkit_lint_file | 처음으로 | runkit_method_add


runkit_lint_file

(PECL runkit:0.7-0.9)

runkit_lint_file -- Check the PHP syntax of the specified file

설명

bool runkit_lint_file ( string $filename )

The runkit_lint_file() function performs a syntax (lint) check on the specified filename testing for scripting errors. This is similar to using php -l from the commandline.

참고: Sandbox 지원(runkit_linux(), runkit_lint_file(), Runkit_Sandbox 클래스에 필요합니다)은 PHP 5.1이나 특별히 패치된 PHP 5.0에서 쓰레드 안전(therad safety)을 활성화해야 합니다. 자세한 정보는 runkit 패키지에 포함된 README 파일을 참고하십시오.

매개변수

filename

File containing PHP Code to be lint checked

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

runkit_lint()

이전 | 위로 | 다음
runkit_import | 처음으로 | runkit_lint


runkit_method_add

(PECL runkit:0.7-0.9)

runkit_method_add -- Dynamically adds a new method to a given class

설명

bool runkit_method_add ( string $classname, string $methodname, string $args, string $code [, int $flags] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

classname

The class to which this method will be added

methodname

The name of the method to add

args

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when methodname is called

flags

The type of method to create, can be RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE

참고: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1982. runkit_method_add() example

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
runkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

위 예제의 출력:

16

참고

runkit_method_copy()
runkit_method_redefine()
runkit_method_remove()
runkit_method_rename()
runkit_function_add()

이전 | 위로 | 다음
runkit_lint | 처음으로 | runkit_method_copy


runkit_method_copy

(PECL runkit:0.7-0.9)

runkit_method_copy -- Copies a method from class to another

설명

bool runkit_method_copy ( string $dClass, string $dMethod, string $sClass [, string $sMethod] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

dClass

Destination class for copied method

dMethod

Destination method name

sClass

Source class of the method to copy

sMethod

Name of the method to copy from the source class. If this parameter is omitted, the value of dMethod is assumed.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1983. runkit_method_copy() example

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
runkit_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

위 예제의 출력:

foo!

참고

runkit_method_add()
runkit_method_redefine()
runkit_method_remove()
runkit_method_rename()
runkit_function_copy()

이전 | 위로 | 다음
runkit_method_add | 처음으로 | runkit_method_redefine


runkit_method_redefine

(PECL runkit:0.7-0.9)

runkit_method_redefine -- Dynamically changes the code of the given method

설명

bool runkit_method_redefine ( string $classname, string $methodname, string $args, string $code [, int $flags] )

참고: This function cannot be used to manipulate the currently running (or chained) method.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

classname

The class in which to redefine the method

methodname

The name of the method to redefine

args

Comma-delimited list of arguments for the redefined method

code

The new code to be evaluated when methodname is called

flags

The redefined method can be RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE

참고: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1984. runkit_method_redefine() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
runkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    RUNKIT_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

위 예제의 출력:

Before: foo!
After: bar!

참고

runkit_method_add()
runkit_method_copy()
runkit_method_remove()
runkit_method_rename()
runkit_function_redefine()

이전 | 위로 | 다음
runkit_method_copy | 처음으로 | runkit_method_remove


runkit_method_remove

(PECL runkit:0.7-0.9)

runkit_method_remove -- Dynamically removes the given method

설명

bool runkit_method_remove ( string $classname, string $methodname )

참고: This function cannot be used to manipulate the currently running (or chained) method.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

classname

The class in which to remove the method

methodname

The name of the method to remove

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1985. runkit_method_remove() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Remove the 'foo' method
runkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

위 예제의 출력:

bar

참고

runkit_method_add()
runkit_method_copy()
runkit_method_redefine()
runkit_method_rename()
runkit_function_remove()

이전 | 위로 | 다음
runkit_method_redefine | 처음으로 | runkit_method_rename


runkit_method_rename

(PECL runkit:0.7-0.9)

runkit_method_rename -- Dynamically changes the name of the given method

설명

bool runkit_method_rename ( string $classname, string $methodname, string $newname )

참고: This function cannot be used to manipulate the currently running (or chained) method.

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

classname

The class in which to rename the method

methodname

The name of the method to rename

newname

The new name to give to the renamed method

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 1986. runkit_method_rename() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Rename the 'foo' method to 'bar'
runkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

위 예제의 출력:

foo!

참고

runkit_method_add()
runkit_method_copy()
runkit_method_redefine()
runkit_method_remove()
runkit_function_rename()

이전 | 위로 | 다음
runkit_method_remove | 처음으로 | runkit_return_value_used


runkit_return_value_used

(PECL runkit:0.8-0.9)

runkit_return_value_used -- Determines if the current functions return value will be used

설명

bool runkit_return_value_used ( void )

반환값

Returns TRUE if the function's return value is used by the calling scope, otherwise FALSE

예제

예 1987. runkit_return_value_used() example

<?php
function foo() {
  var_dump(runkit_return_value_used());
}

foo();
$f = foo();
?>

위 예제의 출력:

bool(false)
bool(true)

이전 | 위로 | 다음
runkit_method_rename | 처음으로 | runkit_sandbox_output_handler


runkit_sandbox_output_handler

(PECL runkit:0.7-0.9)

runkit_sandbox_output_handler -- Specify a function to capture and/or process output from a runkit sandbox

설명

mixed runkit_sandbox_output_handler ( object $sandbox [, mixed $callback] )

Ordinarily, anything output (such as with echo() or print()) will be output as though it were printed from the parent's scope. Using runkit_sandbox_output_handler() however, output generated by the sandbox (including errors), can be captured by a function outside of the sandbox.

참고: Sandbox 지원(runkit_linux(), runkit_lint_file(), Runkit_Sandbox 클래스에 필요합니다)은 PHP 5.1이나 특별히 패치된 PHP 5.0에서 쓰레드 안전(therad safety)을 활성화해야 합니다. 자세한 정보는 runkit 패키지에 포함된 README 파일을 참고하십시오.

Deprecated: As of runkit version 0.5, this function is deprecated and is scheduled to be removed from the package prior to a 1.0 release. The output handler for a given Runkit_Sandbox instance may be read/set using the array offset syntax shown on the Runkit_Sandbox class definition page.

매개변수

sandbox

Object instance of Runkit_Sandbox class on which to set output handling.

callback

Name of a function which expects one parameter. Output generated by sandbox will be passed to this callback. Anything returned by the callback will be displayed normally. If this parameter is not passed then output handling will not be changed. If a non-truth value is passed, output handling will be disabled and will revert to direct display.

반환값

Returns the name of the previously defined output handler callback, or FALSE if no handler was previously defined.

예제

예 1988. Feeding output to a variable

<?php
function capture_output($str) {
  $GLOBALS['sandbox_output'] .= $str;

  return '';
}

$sandbox_output = '';

$php = new Runkit_Sandbox();
runkit_sandbox_output_handler($php, 'capture_output');
$php->echo("Hello\n");
$php->eval('var_dump("Excuse me");');
$php->die("I lost myself.");
unset($php);

echo "Sandbox Complete\n\n";
echo $sandbox_output;
?>

위 예제의 출력:

Sandbox Complete

Hello
string(9) "Excuse me"
I lost myself.

이전 | 위로 | 다음
runkit_return_value_used | 처음으로 | runkit_superglobals


runkit_superglobals

(PECL runkit:0.7-0.9)

runkit_superglobals -- Return numerically indexed array of registered superglobals

설명

array runkit_superglobals ( void )

반환값

Returns a numerically indexed array of the currently registered superglobals. i.e. _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

참고

Variable Scope

이전 | 위로 | 다음
runkit_sandbox_output_handler | 처음으로 | CXL. SAM - Simple Asynchronous Messaging


SAMConnection->commit()

(No version information available, might be only in CVS)

SAMConnection->commit() -- Commits (completes) the current unit of work.

설명

class SAMConnection {
bool commit ( void )
}

Calling the "commit" method on a Connection object commits (completes) all in-flight transactions that are part of the current unit of work.

반환값

This method returns FALSE if an error occurs.

예제

예 2003. Committing the current unit of work

<?php
  if (!$conn->commit()) {
    // The commit failed!
    echo "Commit failed ($conn->errno) $conn->error";
  }
?>

참고

SAMConnection->rollback()

이전 | 위로 | 다음
CXL. SAM - Simple Asynchronous Messaging | 처음으로 | SAMConnection->connect()


SAMConnection->connect()

(No version information available, might be only in CVS)

SAMConnection->connect() -- Establishes a connection to a Messaging Server

설명

class SAMConnection {
bool connect ( string $protocol [, array $properties] )
}

Calling the "connect" method on a SAMConnection object connects the PHP script to a messaging server. No messages can be sent or received until a connection is made.

매개변수

반환값

This method returns FALSE if an error occurs.

예제

예 2004. Creating a connection to a Messaging Server using the IBM MQSeries protocol (WMQ)

<?php

$conn->connect(SAM_WMQ, array(SAM_HOST => 'Myhost.myco.com', SAM_PORT => 1506, SAM_BROKER => 'MyBroker'));

?>

예 2005. Creating a connection with application transaction control and default host and port values

<?php

$conn->connect(SAM_WMQ, array(SAM_BROKER => 'MyBroker', SAM_TRANSACTIONS => SAM_MANUAL));

?>

예 2006. Creating a connection to a Messaging Server using the IBM WebSphere Platform Messaging protocol (WPM)

<?php

$conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1', SAM_TARGETCHAIN => 'InboundBasicMessaging'));

?>

참고

SAMConnection->isConnected()
SAMConnection->disconnect()

이전 | 위로 | 다음
SAMConnection->commit() | 처음으로 | SAMConnection->__construct()


SAMConnection->__construct()

(No version information available, might be only in CVS)

SAMConnection->__construct() -- Creates a new connection to a Messaging Server

설명

class SAMConnection {
__construct ( $ )
}

Creates a new SAMConnection object.

예제

예 2007. Creating a connection object and connecting to a Messaging Server

<?php

$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => localhost, SAM_PORT => 1414, SAM_BROKER => 'bull'));

?>

이전 | 위로 | 다음
SAMConnection->connect() | 처음으로 | SAMConnection->disconnect()


SAMConnection->disconnect()

(No version information available, might be only in CVS)

SAMConnection->disconnect() -- Disconnects from a Messaging Server

설명

class SAMConnection {
bool disconnect ( void )
}

Calling the "disconnect" method on a SAMConnection object disconnects the PHP script from a messaging server. No messages can be sent or received after a connection has been disconnected.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2008. Disconnecting from a Messaging Server

<?php

$conn->disconnect();

?>

참고

SAMConnection->isConnected()
SAMConnection->connect()

이전 | 위로 | 다음
SAMConnection->__construct() | 처음으로 | SAMConnection->errno


SAMConnection->errno

(No version information available, might be only in CVS)

SAMConnection->errno -- Contains the unique numeric error code of the last executed SAM operation.

Description

class SAMConnection {
int errno
}

Contains the numeric error code of the last executed SAM operation on this connection. If the last operation completed successfully this property contains 0.

반환값

An integer greater than zero indicates the last error type encountered on the connection. Zero indicates that the last operation on this connection completed successfully.

예제

예 2009. Using the error number and description properties

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

참고

SAMConnection->error

이전 | 위로 | 다음
SAMConnection->disconnect() | 처음으로 | SAMConnection->error


SAMConnection->error

(No version information available, might be only in CVS)

SAMConnection->error -- Contains the text description of the last failed SAM operation.

설명

class SAMConnection {
string error
}

Contains the text description of the last failed SAM operation on this connection. If the last operation completed successfully this property contains an empty string.

반환값

A string containing the text description of the last error type encountered on the connection. An empty string indicates that the last operation on this connection completed successfully.

예제

예 2010. Using the error number and description properties

<?php
$conn = new SAMConnection();
$conn->connect(SAM_WMQ, array(SAM_HOST => 'localhost', SAM_PORT => 1506));
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

참고

SAMConnection->errno

이전 | 위로 | 다음
SAMConnection->errno | 처음으로 | SAMConnection->isConnected()


SAMConnection->isConnected()

(No version information available, might be only in CVS)

SAMConnection->isConnected() -- Queries whether a connection is established to a Messaging Server

설명

class SAMConnection {
bool isConnected ( void )
}

Calling the "isConnected" method on a Connection object will check whether the PHP script is connected to a messaging server. No messages can be sent or received unless a connection has been established with a Messaging server.

반환값

This method returns TRUE if the SAMConnection object is successfully connected to a Messaging server or FALSE otherwise.

예제

예 2011. Checking whether there us a connection to a Messaging Server

<?php

if ($conn->isConnected()) {
  echo 'Connection is active.'
} else {
  echo 'No active connection!'
}

?>

참고

SAMConnection->disconnect()
SAMConnection->connect()

이전 | 위로 | 다음
SAMConnection->error | 처음으로 | SAMConnection->peek()


SAMConnection->peek()

(No version information available, might be only in CVS)

SAMConnection->peek() -- Read a message from a queue without removing it from the queue.

설명

class SAMConnection {
SAMMessage peek ( string $target [, array $properties] )
}

매개변수

target

The identity of the queue from which to peek the message.

properties

An optional associative array of properties describing other parameters to control the peek operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of the message. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of the message which is to be peeked.

반환값

This method returns a SAMMessage object or FALSE if an error occurs.

예제

예 2012. Retrieve the next message from a queue without removing it

<?php
$msg = $conn->peek('queue://receive/test');

if (!$msg) {
  // The peek failed!
  echo "Peek failed ($conn->errno) $conn->error";
}
?>

예 2013. Retrieve a specific message from a queue without removing it from the queue

<?php

$msg = $conn->peek('queue://receive/test', array(SAM_MESSAGEID => $messageId));

?>

참고

SAMConnection->peekAll()

이전 | 위로 | 다음
SAMConnection->isConnected() | 처음으로 | SAMConnection->peekAll()


SAMConnection->peekAll()

(No version information available, might be only in CVS)

SAMConnection->peekAll() -- Read one or more messages from a queue without removing it from the queue.

설명

class SAMConnection {
array peekAll ( string $target [, array $properties] )
}

매개변수

target

The identity of the queue from which messages should be peeked.

properties

An optional associative array of properties describing other parameters to control the peek operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of messages to be peeked. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of a message which is to be peeked.

반환값

This method returns an array of SAMMessage objects or FALSE if an error occurs.

예제

예 2014. Retrieve all messages in a queue without removing them

<?php
$msgArray = $conn->peekAll('queue://receive/test');
if ($msgArray) {
   foreach ( $msgArray as $key => $msg) {
       echo "Message $key: body = $msg->body\n";
   }
} else {
   echo "PeekAll failed ($conn->errno) $conn->error";
}
?>

예 2015. Retrieve all messages from a queue with a matching correlation id

<?php

   $msgArray = $conn->peekAll('queue://receive/test', array(SAM_CORRELID => $correlId ));
   if ($msgArray) {

      foreach ( $msgArray as $key => $msg) {
            echo "Message $key: body = $msg->body\n";
         }
      }
   else
      echo "PeekAll failed ($conn->errno) $conn->error";
   }

?>

참고

SAMConnection->peek()

이전 | 위로 | 다음
SAMConnection->peek() | 처음으로 | SAMConnection->receive()


SAMConnection->receive()

(No version information available, might be only in CVS)

SAMConnection->receive() -- Receive a message from a queue or subscription.

설명

class SAMConnection {
SAMMessage receive ( string $target [, array $properties] )
}

매개변수

target

The identity of the queue, topic or subscription from which to receive the message.

properties

An optional associative array of properties describing other parameters to control the receive operation.

Property name | Possible values
SAM_CORRELID | Used to request selection of the message to receive based upon the correlation id string of the message.
SAM_MESSAGEID | Used to request selection of the message to receive based upon the message id string of the message.
SAM_WAIT | Timeout value in milliseconds to control how long the request should block waiting to receive a message before returning with a failure if no message is available on the queue or topic. The default value is 0 meaning wait indefinitely and should be used with caution as the request may wait until the overall PHP script processing time limit has expired if no message becomes available.

반환값

This method returns a SAMMessage object or FALSE if an error occurs.

예제

예 2016. Receiving a message from a queue

<?php
$msg = $conn->receive('queue://receive/test');

if (!$msg) {
  // The receive failed!
  echo "Receive failed ($conn->errno) $conn->error";
}
?>

예 2017. Receiving a message from a queue with options

In this example the SAM_CORRELID option is used to specify a correlation id string to be used to identify the message to receive. A wait timeout of 10 seconds is also specified.

<?php

$msg = $conn->receive('queue://receive/test', array(SAM_CORRELID => $token, SAM_WAIT => 10000));

?>

예 2018. Receiving a message from a subscription

In this example we show how to receive a message from a subscription id.

<?php
$msg = $conn->receive($subscriptionName);

if (!$msg) {
  // The receive failed!
  echo "Receive failed ($conn->errno) $conn->error";
}
?>

Please note that $subscriptionName is a subscription id returned from an earlier subscribe call.

참고

SAMConnection->send()

이전 | 위로 | 다음
SAMConnection->peekAll() | 처음으로 | SAMConnection->remove()


SAMConnection->remove()

(No version information available, might be only in CVS)

SAMConnection->remove() -- Remove a message from a queue.

설명

class SAMConnection {
SAMMessage remove ( string $target [, array $properties] )
}

Removes a message from a queue.

매개변수

target

The identity of the queue from which to remove the message.

properties

An optional associative array of properties describing other parameters to control the remove operation.

Property name | Possible values
SAM_CORRELID | This is the target correlation id string of the message. This would typically have been returned by a "send" request.
SAM_MESSAGEID | This is the message id string of the message which is to be removed.

반환값

This method returns FALSE if an error occurs.

예제

예 2019. Removing a message from a queue by message id

<?php
if (!$conn->remove('queue://receive/test', array(SAM_MESSAGEID => $messageId))) {
  // The remove failed!
  echo "Remove failed ($conn->errno) $conn->error";
}
?>

이전 | 위로 | 다음
SAMConnection->receive() | 처음으로 | SAMConnection->rollback()


SAMConnection->rollback()

(No version information available, might be only in CVS)

SAMConnection->rollback() -- Cancels (rolls back) an in-flight unit of work.

설명

class SAMConnection {
bool rollback ( void )
}

Rolls back an in-flight unit of work.

반환값

This method returns FALSE if an error occurs.

예제

예 2020. Cancelling an in-flight unit of work

<?php
if (!$conn->rollback()) {
  // The rollback failed!
  echo "Rollback failed ($conn->errno) $conn->error";
}
?>

참고

SAMConnection->commit()

이전 | 위로 | 다음
SAMConnection->remove() | 처음으로 | SAMConnection->send()


SAMConnection->send()

(No version information available, might be only in CVS)

SAMConnection->send() -- Send a message to a queue or publish an item to a topic.

설명

class SAMConnection {
string send ( string $target, SAMMessage $msg [, array $properties] )
}

The "send" method is used to send a message to a specific queue or to publish to a specific topic. The method returns a correlation id that can be used as a selector to identify reply or response messages when these are requested.

매개변수

target

If sending a message, the identity of the queue (queue://queuename) or if publishing to a topic the identity of the topic (topic://topicname) to which the message is to be delivered.

msg

The message to be sent or published.

properties

An optional associative array of properties describing other parameters to control the receive operation.

Property name | Possible values
SAM_DELIVERYMODE | Indicates whether the messaging server should enusre delivery or whether it is acceptable for messages to be lost in the case of system failures. The value of this property may be set to either SAM_PERSISTENT, to indicate that message loss is not acceptable, or SAM_NON_PERSISTENT, if message loss is acceptable. The resulting behaviour of the send will vary depending on the capabilities of the messaging server the PHP script is currently connected to. If the server does not support persistent messages and SAM_PERSISTENT is specified the send request will fail with an error indication showing the capability is not available.
SAM_PRIORITY | A numeric value between 0 and 9 indicating the desired message delivery priority. A priority value of 0 indicates the lowest priority while 9 indicates highest priority. If no priority is specified a default will be assigned which is dependent on the messaging server being used.
SAM_CORRELID | A string to be assigned as a correlation id for this message. If no value is given the messaging server may assign a value automatically.
SAM_TIMETOLIVE | A time in milliseconds indicating how long the messaging server should retain the message on a queue before discarding it. The default value is 0 indicating the message should be retained indefinitely.
SAM_WMQ_TARGET_CLIENT | This property is only valid when using WebSphere MQ and indicates whether or not an RFH2 header should be included with the message. This option may be set to either 'jms' or 'mq'. The default is 'jms' which means that an RFH2 header is included. If the value 'mq' is specified then no RFH2 is included with the message.

반환값

A correlation id string that can be used in a subsequent receive call as a selector to obtain any reply or response that has been requested or FALSE if an error occurred.

참고: A correlation id will only be returned for a successful send to a queue destination (queue://xxxx) in which case it will reflect the message identitiy of the message on the queue. In the case of a send being used to publish data to a topic the return value will be TRUE as no correlation id is availabe for return.

예제

예 2021. Send a message to a queue

<?php
$msg = new SAMMessage('This is a simple text message');
$correlId = $conn->send('queue://send/test', $msg);
if (!$correlId) {
    // The send failed!
    echo "Send failed ($conn->errno) $conn->error";
}

?>

예 2022. Publish a message to a topic

<?php
$msg = new SAMMessage('This is a simple text item');
if (!$conn->send('topic://test', $msg)) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
}
?>

예 2023. Send a request and receive a response

<?php
$msg = new SAMMessage('This is a simple text message');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
    // The Send failed!
    echo "Send failed ($conn->errno) $conn->error";
} else {
    $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

참고

SAMConnection->receive()

이전 | 위로 | 다음
SAMConnection->rollback() | 처음으로 | SAMConnection::setDebug()


SAMConnection::setDebug()

(No version information available, might be only in CVS)

SAMConnection::setDebug() -- Turn on or off additional debugging output.

설명

The "setdebug" method is used to turn on or off additional debugging output. The SAM framework will provide method/function entry and exit trace data plus additional information. Protocol specific implementations also provide extra output.

class SAMConnection {
void send ( bool $switch )
}

매개변수

switch

If this parameter is set to TRUE additional debugging output will be provided. If the value is set to FALSE output of additional information will be stopped.

예제

예 2024. Turn on debugging output

<?php
$conn->setdebug(TRUE);
?>

예 2025. Turn off debugging output

<?php
$conn->setdebug(FALSE);
?>

이전 | 위로 | 다음
SAMConnection->send() | 처음으로 | SAMConnection->subscribe()


SAMConnection->subscribe()

(No version information available, might be only in CVS)

SAMConnection->subscribe() -- Create a subscription to a specified topic.

설명

class SAMConnection {
string subscribe ( string $targetTopic )
}

The "subscribe" method is used to create a new subscription to a specified topic.

매개변수

targetTopic

The identity of the topic (topic://topicname) to subscribe to.

반환값

A subscription identifier that can be used in a subsequent receive call as a selector to obtain any topic data or FALSE if an error occurred. The subscription identifier should be used in the receive call in place of the simple topic name.

예제

예 2026. Subscribe to a topic

<?php
$subid = $conn->subscribe('topic://A');
if (!$subid) {
  // The subscribe failed!
  echo "Subscribe failed ($conn->errno) $conn->error";
}
?>

참고

SAMConnection->unsubscribe()

이전 | 위로 | 다음
SAMConnection::setDebug() | 처음으로 | SAMConnection->unsubscribe()


SAMConnection->unsubscribe()

(No version information available, might be only in CVS)

SAMConnection->unsubscribe() -- Cancel a subscription to a specified topic.

설명

class SAMConnection {
bool unsubscribe ( string $subscriptionId [, string $targetTopic] )
}

The "unsubscribe" method is used to delete an existing subscription to a specified topic.

매개변수

subscriptionId

The identifier of an existing subscription as returned by a call to the subscribe method.

반환값

This method returns FALSE if an error occurs.

예제

예 2027. Delete a subscription

<?php
if (!$conn->unsubscribe($subid)) {
    // The unsubscribe failed!
    echo "Unsubscribe failed ($conn->errno) $conn->error";
}
?>

참고

SAMConnection->subscribe()

이전 | 위로 | 다음
SAMConnection->subscribe() | 처음으로 | SAMMessage->body


SAMMessage->body

(No version information available, might be only in CVS)

SAMMessage->body -- The body of the message.

설명

class SAMMessage {
string nody
}

The "body" property contains the actual body of the message. It may not always be set.

예제

예 2028. Setting a text string into the body of a message

<?php
$msg = new SAMMessage();
$msg->body = 'This is a simple message';

?>

참고

SAMMessage->header

이전 | 위로 | 다음
SAMConnection->unsubscribe() | 처음으로 | SAMMessage->__construct()


SAMMessage->__construct()

(No version information available, might be only in CVS)

SAMMessage->__construct() -- Creates a new Message object

설명

class SAMMessage {
__construct ( [mixed $body] )
}

Creates a new SAMMessage object optionally specifying a message body.

매개변수

body

The optional body for the message.

예제

예 2029. Creating a message

<?php

$msg = new SAMMessage();

?>

예 2030. Creating a message with a simple text payload

<?php

$msg = new SAMMessage('This is a simple text message');

?>

이전 | 위로 | 다음
SAMMessage->body | 처음으로 | SAMMessage->header


SAMMessage->header

(No version information available, might be only in CVS)

SAMMessage->header -- The header properties of the message.

설명

class SAMMessage {
object header
}

The header property is a container for any system or user properties that area associated with the message.

Properties may be assigned by the sender of a message to control the way the messaging systems handles it or may be assigned by the messaging system itself to tell the recipient extra information about the message or the way in which it has been handled.

Some properties are understood by SAM in which case constants have been defined for them. The majority of properties however are ignored by the SAM implementation and simply passed through to the underlying messaging systems allowing the application to use messaging specific property names or to define its own "user" properties.

The SAM defined properties are as follows:

Property name | Possible values
SAM_MESSAGEID | When a message is received this field contains the unique identifier of the message as allocated by the underlying messaging system. When sending a message this field is ignored.
SAM_REPLY_TO | A string providing the identity of the queue on to which responses to this message should be posted.
SAM_TYPE

An indication of the type of message to be sent. The value may be SAM_TEXT indicating the contents of the message body is a text string, or SAM_BYTES indicating the contents of the message body are some application defined format.

The way in which this property is used may depend on the underlying messaging server. For instance a messaging server that supports the JMS (Java Message Service) specification may interpret this value and send messages of type "jms_text" and "jms_bytes". In addition, if the SAM_TYPE property is set to SAM_TEXT the data provided for the message body is expected to be a UTF8 encoded string.

When setting the values of properties it is often useful to give a hint as to the format in which the property should be delivered to the messaging system. By default property values are delivered as text and the following simple syntax may be used to set a value:

예 2031. Setting a text format property using the default syntax

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = 'textData';
?>

If it is desired to pass type information an alternative syntax may be used where the value and the type hint are passed in an associative array:

예 2032. Setting a text format property using a type hint

<?php
$msg = new SAMMessage();

$msg->header->myPropertyName = array('textData', SAM_STRING);
?>

When passing a type hint the type entry should be one of the SAM defined constant values as defined by the following table:

Constant | Type description
SAM_BOOLEAN | Any value passed will be interpreted as logical true or false. If the value cannot be interpreted as a PHP boolean value the value passed to the messaging system is undefined.
SAM_BYTE | An 8-bit signed integer value. SAM will attempt to convert the property value specified into a single byte value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 8-bit signed binary value data may be lost in the conversion.
SAM_DOUBLE | A long floating point value. SAM will attempt to convert the property value specified into a floating point value with 15 digits of precision. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the passed value cannot be expressed as a 15 digit floating point value data may be lost in the conversion.
SAM_FLOAT | A short floating point value. SAM will attempt to convert the property value specified into a floating point value with 7 digits of precision. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the passed value cannot be expressed as a 7 digit floating point value data may be lost in the conversion.
SAM_INT | An 32-bit signed integer value. SAM will attempt to convert the property value specified into a 32-bit value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 32-bit signed binary value data may be lost in the conversion.
SAM_LONG | An 64-bit signed integer value. SAM will attempt to convert the property value specified into a 64-bit value to pass to the messaging system. If a string value is passed an attempt will be made to interpret the string as a numeric value. If the numeric value cannot be expressed as an 64-bit signed binary value data may be lost in the conversion.
SAM_STRING | SAM will interpret the property value specified as a string and pass it to the messaging system accordingly.

예제

예 2033. Setting properties as the sender of a message

<?php
$msg = new SAMMessage('This is a test message');

// defining SAM specific properties...
$msg->header->SAM_REPLY_TO = 'queue://test/replyQueue';

// defining arbitrary properties...
//
// a default string property
$msg->header->myStringProp1 = 'a string property';
// a string property with a type hint
$msg->header->myStringProp2 = array('another string property', SAM_STRING);

// a boolean property
$msg->header->myBoolProp = array(FALSE, SAM_BOOL);

// numeric format properties
$msg->header->myIntProp = array(32768, SAM_INT);
$msg->header->myLongProp = array(9876543, SAM_LONG);
$msg->header->myByteProp1 = array(123, SAM_BYTE);
$msg->header->myByteProp2 = array('12', SAM_BYTE);
$msg->header->myFloatProp = array(3.141592, SAM_FLOAT);
$msg->header->myDoubleProp = array(3.14159265358979, SAM_DOUBLE);
?>

예 2034. Retreiving property values from a message

<?php

// accessing an application specific property
$intProp = $msg->header->'MyIntProp';

// accessing a messaging system specific property
$encoding = $msg->header->'JMS_IBM_Msgtype';

?>

참고

SAMMessage->body

이전 | 위로 | 다음
SAMMessage->__construct() | 처음으로 | CXLI. Satellite CORBA client extension [deprecated]


satellite_caught_exception

(PHP 4 >= 4.0.3)

satellite_caught_exception -- See if an exception was caught from the previous function

설명

bool satellite_caught_exception ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

반환값

This function returns TRUE if an exception has been caught, FALSE otherwise.

예제

예 2041. Sample IDL file

/* ++?????++ Out of Cheese Error. Redo From Start. */
exception OutOfCheeseError {
    int parameter;
}

interface AnotherInterface {
    void AskWhy() raises (OutOfCheeseError);
}

예 2042. PHP code for handling CORBA exceptions

<?php
$obj = new OrbitObject ($ior);

$obj->AskWhy();

if (satellite_caught_exception()) {
    if ("IDL:OutOfCheeseError:1.0" == satellite_exception_id()) {
        $exception = satellite_exception_value();
        echo $exception->parameter;
    }
}
?>

이전 | 위로 | 다음
OrbitStruct | 처음으로 | satellite_exception_id


satellite_exception_id

(PHP 4 >= 4.0.3)

satellite_exception_id -- Get the repository id for the latest exception.

설명

string satellite_exception_id ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

For example usage see satellite_caught_exception().

반환값

Return a repository id string. (E.g. "IDL:MyException:1.0".)

이전 | 위로 | 다음
satellite_caught_exception | 처음으로 | satellite_exception_value


satellite_exception_value

(PHP 4 >= 4.0.3)

satellite_exception_value -- Get the exception struct for the latest exception

설명

OrbitStruct satellite_exception_value ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Return an exception struct. For example usage see satellite_caught_exception().

이전 | 위로 | 다음
satellite_exception_id | 처음으로 | satellite_get_repository_id


satellite_get_repository_id

(PHP 4 >= 4.0.3)

satellite_get_repository_id -- NOT IMPLEMENTED

설명

int satellite_get_repository_id ( object $obj )

Not implemented.

이전 | 위로 | 다음
satellite_exception_value | 처음으로 | satellite_load_idl


satellite_load_idl

(PHP 4 >= 4.0.3)

satellite_load_idl -- Instruct the type manager to load an IDL file

설명

bool satellite_load_idl ( string $file )

Load an IDL file into Satellite.

이전 | 위로 | 다음
satellite_get_repository_id | 처음으로 | satellite_object_to_string


satellite_object_to_string

(PHP 4 >= 4.0.7)

satellite_object_to_string -- Convert an object to its string representation

설명

string satellite_object_to_string ( object $obj )

Convert an object to its string representation (IOR).

이전 | 위로 | 다음
satellite_load_idl | 처음으로 | CXLII. SCA Functions


SCA::createDataObject

(No version information available, might be only in CVS)

SCA::createDataObject -- create an SDO

설명

SDO_DataObject SCA::createDataObject ( string $type_namespace_uri, string $type_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This method is used inside an SCA component that needs to create an SDO to return. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in one of the schema files which are specfied on the @types annotation within the component.

매개변수

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

반환값

Returns the newly created SDO_DataObject.

오류/예외

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type in any of the schema files specified in the @types annotations.

이전 | 위로 | 다음
SCA_SoapProxy::createDataObject | 처음으로 | SCA::getService


SCA::getService

(No version information available, might be only in CVS)

SCA::getService -- Obtain a proxy for a service

설명

mixed SCA::getService ( string $target [, string $binding [, array $config]] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Examine the target and initialise and return a proxy of the appropriate sort. If the target is for a local PHP component the returned proxy will be an SCA_LocalProxy. If the target is for a WSDL file, the returned proxy will be a SCA_SoapProxy.

매개변수

target

An absolute or relative path to the target service or service description (e.g. a URL to a json-rpc service description, a PHP component, a WSDL file, and so on.). A relative path, if specified, is resolved relative to the location of the script issuing the getService() call, and not against the include_path or current working directory.

binding

The binding (i.e. protocol) to use to communicate with the service (e.g binding.jsonrpc for a json-rpc service). Note, some service types can be deduced from the target parameter (e.g. if the target parameter ends in .wsdl then SCA will assume binding.soap). Any binding which can be specified in an annotation can be specified here. For example 'binding.soap' is equivalent to the '@binding.soap' annotation.

config

Any additional configuration prioperties for the binding (e.g. array('location' => 'http://example.org')). Any binding configuration which can be specified in an annotation can be specified here. For example, 'location' is equivalent to the '@location' annotation to configure the location of a target soap service.

반환값

The SCA_LocalProxy or SCA_SoapProxy.

예제

예 2057. An SCA::getService() example

This example shows how to get a proxy to an email soap service described by EmailService.wsdl and located at http://example.org.

<?php
include 'SCA/SCA.php';
$service = SCA::getService('EmailService.wsdl', 'binding.soap', array('location' => 'http://example.org'));
$service->send(...);
?>

위 예제의 출력:

이전 | 위로 | 다음
SCA::createDataObject | 처음으로 | CXLIII. SDO Functions


SCA_LocalProxy::createDataObject

(No version information available, might be only in CVS)

SCA_LocalProxy::createDataObject -- create an SDO

설명

SDO_DataObject SCA_LocalProxy::createDataObject ( string $type_namespace_uri, string $type_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This method is used inside either an ordinary PHP script or an SCA component that needs to create an SDO to pass to a local service. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in the interface of the component that is to be called, so the namespace and type must be defined in one of the schema files which are specfied on the @types annotation within the component for which the SCA_LocalProxy object is a proxy.

매개변수

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

반환값

Returns the newly created SDO_DataObject.

오류/예외

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type in any of the schema files specified in the @types annotations within the component for which the SCA_LocalProxy object is a proxy..

이전 | 위로 | 다음
CXLII. SCA Functions | 처음으로 | SCA_SoapProxy::createDataObject


SCA_SoapProxy::createDataObject

(No version information available, might be only in CVS)

SCA_SoapProxy::createDataObject -- create an SDO

설명

SDO_DataObject SCA_SoapProxy::createDataObject ( string $type_namespace_uri, string $type_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

This method is used inside either an ordinary PHP script or an SCA component that needs to create an SDO to pass to a web service. The parameters are the desired SDO's namespace URI and type name. The namespace and type must be defined in the interface of the component that is to be called, so the namespace and type must be defined within the WSDL for the web service. If the web service is also an SCA component then the types will have been defined within one of the schema files which are specfied on the @types annotation within the component for which the SCA_SoapProxy object is a proxy.

매개변수

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

반환값

Returns the newly created SDO_DataObject.

오류/예외

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type found in the WSDL that was used to initialise this SCA_SoapProxy.

이전 | 위로 | 다음
SCA_LocalProxy::createDataObject | 처음으로 | SCA::createDataObject


SDO_DAS_ChangeSummary::beginLogging

(No version information available, might be only in CVS)

SDO_DAS_ChangeSummary::beginLogging -- Begin change logging

설명

void SDO_DAS_ChangeSummary::beginLogging ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Begin logging changes made to the SDO_DataObject.

매개변수

None.

반환값

None.

이전 | 위로 | 다음
CXLIII. SDO Functions | 처음으로 | SDO_DAS_ChangeSummary::endLogging


SDO_DAS_ChangeSummary::endLogging

(No version information available, might be only in CVS)

SDO_DAS_ChangeSummary::endLogging -- End change logging

설명

void SDO_DAS_ChangeSummary::endLogging ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

End logging changes made to an SDO_DataObject.

매개변수

None.

반환값

None.

이전 | 위로 | 다음
SDO_DAS_ChangeSummary::beginLogging | 처음으로 | SDO_DAS_ChangeSummary::getChangeType


SDO_DAS_ChangeSummary::getChangedDataObjects

(No version information available, might be only in CVS)

SDO_DAS_ChangeSummary::getChangedDataObjects -- Get the changed data objects from a change summary

설명

SDO_List SDO_DAS_ChangeSummary::getChangedDataObjects ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get an SDO_List of the SDO_DataObjects which have been changed. These data objects can then be used to identify the types of change made to each, along with the old values.

매개변수

None.

반환값

Returns an SDO_List of SDO_DataObjects.

이전 | 위로 | 다음
SDO_DAS_ChangeSummary::getChangeType | 처음으로 | SDO_DAS_ChangeSummary::getOldContainer


SDO_DAS_ChangeSummary::getChangeType

(No version information available, might be only in CVS)

SDO_DAS_ChangeSummary::getChangeType -- Get the type of change made to an SDO_DataObject

설명

int SDO_DAS_ChangeSummary::getChangeType ( SDO_DataObject $dataObject )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get the type of change which has been made to the supplied SDO_DataObject.

매개변수

dataObject

The SDO_DataObject which has been changed.

반환값

The type of change which has been made. The change type is expressed as an enumeration and will be one of the following four values:

  • SDO_DAS_ChangeSummary::NONE

  • SDO_DAS_ChangeSummary::MODIFICATION

  • SDO_DAS_ChangeSummary::ADDITION

  • SDO_DAS_ChangeSummary::DELETION

이전 | 위로 | 다음
SDO_DAS_ChangeSummary::endLogging | 처음으로 | SDO_DAS_ChangeSummary::getChangedDataObjects


SDO_DAS_ChangeSummary::getOldContainer

(No version information available, might be only in CVS)

SDO_DAS_ChangeSummary::getOldContainer -- Get the old container for a deleted SDO_DataObject

설명

SDO_DataObject SDO_DAS_ChangeSummary::getOldContainer ( SDO_DataObject $data_object )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get the old container (SDO_DataObject) for a deleted SDO_DataObject.

매개변수

data_object

The SDO_DataObject which has been deleted and whose container we wish to identify.

반환값

The old containing data object of the deleted SDO_DataObject.

이전 | 위로 | 다음
SDO_DAS_ChangeSummary::getChangedDataObjects | 처음으로 | SDO_DAS_ChangeSummary::getOldValues


SDO_DAS_ChangeSummary::getOldValues

(No version information available, might be only in CVS)

SDO_DAS_ChangeSummary::getOldValues -- Get the old values for a given changed SDO_DataObject

설명

SDO_List SDO_DAS_ChangeSummary::getOldValues ( SDO_DataObject $data_object )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get a list of the old values for a given changed SDO_DataObject. Returns a list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject.

매개변수

data_object

The data object which has been changed.

반환값

A list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject. If the change type is SDO_DAS_ChangeSummary::ADDITION, this list is empty.

이전 | 위로 | 다음
SDO_DAS_ChangeSummary::getOldContainer | 처음으로 | SDO_DAS_ChangeSummary::isLogging


SDO_DAS_ChangeSummary::isLogging

(No version information available, might be only in CVS)

SDO_DAS_ChangeSummary::isLogging -- Test to see whether change logging is switched on

설명

bool SDO_DAS_ChangeSummary::isLogging ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Test to see whether change logging is switched on.

매개변수

None.

반환값

Returns TRUE if change logging is on, otherwise returns FALSE.

이전 | 위로 | 다음
SDO_DAS_ChangeSummary::getOldValues | 처음으로 | SDO_DAS_DataFactory::addPropertyToType


SDO_DAS_DataFactory::addPropertyToType

(No version information available, might be only in CVS)

SDO_DAS_DataFactory::addPropertyToType -- Adds a property to a type

설명

void SDO_DAS_DataFactory::addPropertyToType ( string $parent_type_namespace_uri, string $parent_type_name, string $property_name, string $type_namespace_uri, string $type_name [, array $options] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Adds a property to a type. The type must already be known to the SDO_DAS_DataFactory (i.e. have been added using addType()). The property becomes a property of the type. This is how the graph model for the structure of an SDO_DataObject is built.

매개변수

parent_type_namespace_uri

The namespace URI for the parent type.

parent_type_name

The type name for the parent type.

property_name

The name by which the property will be known in the parent type.

type_namespace_uri

The namespace URI for the type of the property.

type_name

The type name for the type of the property

options

This array holds one or more key=>value pairs to set attribute values for the property. The optional keywords are:

many

A flag to say whether the property is many-valued. A value of 'true' adds the property as a many-valued property (default is 'false').

readOnly

A flag to say whether the property is read-only. A value of 'true' means the property value cannot be modified through the SDO application APIs (default is 'false').

containment

A flag to say whether the property is contained by the parent. A value of 'true' means the property is contained by the parent. A value of 'false' results in a non-containment reference (default is 'true'). This flag is only interpreted when adding properties which are data object types, otherwise it is ignored.

default

A default value for the property. Omitting this key means that the property does not have a default value. A property can only have a default value if it is a single-valued data type (primitive).

반환값

None.

변경 기록

버전 | 설명
0.5.2 | Optional parameters many, readOnly, and containment deprecated in favour of the options array.

예제

예 2080. A SDO_DAS_DataFactory::addPropertyToType() example

The following adds an 'addressline' property to a Person type. The person type is identified by its namespace, 'PersonNS', and type name, 'PersonType'. The type of the 'addressline' property is a many-valued SDO data type (primitive) with namespace 'commonj.sdo' and type name 'String'.

<?php
  $df->addPropertyToType('PersonNS', 'PersonType',
    'addressline', 'commonj.sdo', 'String', array('many'=>true));
?>

이전 | 위로 | 다음
SDO_DAS_ChangeSummary::isLogging | 처음으로 | SDO_DAS_DataFactory::addType


SDO_DAS_DataFactory::addType

(No version information available, might be only in CVS)

SDO_DAS_DataFactory::addType -- Add a new type to a model

설명

void SDO_DAS_DataFactory::addType ( string $type_namespace_uri, string $type_name [, array $options] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Add a new type to the SDO_DAS_DataFactory, defined by its namespace and type name. The type becomes part of the model of data objects that the data factory can create.

매개변수

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

options

This array holds one or more key=>value pairs to set attribute values for the type. The optional keywords are:

open

A flag to say whether the type is open. An SDO_DataObject whose type is open can have properties added to them which are not described by the type. This capability is used to support working with XML documents whose schema support open content such as that described by an <xsd:any> element. The default value is 'false'.

sequenced

A flag to say whether the type is sequenced. Sequenced types can have the ordering across properties preserved and can contain unstructured text. The default value is 'false'. For more information on sequenced types see the section on Working with Sequenced Data Objects.

basetype

If specified, an array of namespace URI and type name strings for the type from which this type is derived. An example of the use of base types is when a type derived in an XML schema inherits from another type by using <extension base="...">.

반환값

None.

예제

예 2081. A SDO_DAS_DataFactory::addType() example

The following adds a new data object type of 'CompanyType' where that type belongs to the namespace 'CompanyNS'.

<?php
  $df->addType('CompanyNS', 'CompanyType');
?>

이전 | 위로 | 다음
SDO_DAS_DataFactory::addPropertyToType | 처음으로 | SDO_DAS_DataFactory::getDataFactory


SDO_DAS_DataFactory::getDataFactory

(No version information available, might be only in CVS)

SDO_DAS_DataFactory::getDataFactory -- Get a data factory instance

설명

SDO_DAS_DataFactory SDO_DAS_DataFactory::getDataFactory ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Static method to get an instance of an SDO_DAS_DataFactory. This instance is initially only configured with the basic SDO types. A Data Access Service is responsible for populating the data factory model and then allowing PHP applications to create SDOs based on the model through the SDO_DataFactory interface. PHP applications should always obtain a data factory from a configured Data Access Service, not through this interface.

매개변수

None.

반환값

Returns an SDO_DAS_DataFactory.

이전 | 위로 | 다음
SDO_DAS_DataFactory::addType | 처음으로 | SDO_DAS_DataObject::getChangeSummary


SDO_DAS_DataObject::getChangeSummary

(No version information available, might be only in CVS)

SDO_DAS_DataObject::getChangeSummary -- Get a data object's change summary

설명

SDO_DAS_ChangeSummary SDO_DAS_DataObject::getChangeSummary ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one.

매개변수

None.

반환값

Returns the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one.

이전 | 위로 | 다음
SDO_DAS_DataFactory::getDataFactory | 처음으로 | SDO_DAS_Setting::getListIndex


SDO_DAS_Relational::applyChanges

(No version information available, might be only in CVS)

SDO_DAS_Relational::applyChanges -- Applies the changes made to a data graph back to the database.

설명

void SDO_DAS_Relational::applyChanges ( PDO $database_handle, SDODataObject $root_data_object )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Given a PDO database handle and the special root object of a data graph, examine the change summary in the datagraph and applies the changes to the database. The changes that it can apply can be creations of data objects, deletes of data objects, and modifications to properties of data objects.

매개변수

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this: $dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

root_data_object

The special root object which is at the top of every SDO data graph.

반환값

None. Note however that the datagraph that was passed is still intact and usable. Furthermore, if data objects were created and written back to a table with autogenerated primary keys, then those primary keys will now be set in the data objects. If the changes were successfully written, then the change summary associated with the datagraph will have been cleared, so that it is possible to now make further changes to the data graph and apply those changes in turn. In this way it is possible to work with the same data graph and apply changes repeatedly.

오류/예외

SDO_DAS_Relational::applyChanges() can throw an SDO_DAS_Relational_Exception if it is unable to apply all the changes correctly.

The Relational DAS starts a database transaction before beginning to apply the changes and will commit the transaction only if they are all successful. The Relational DAS generates qualified update and delete statements which contain a where clause that specifies that the row to be updated or deleted must contain the same values that it did when the data was first retrieved. This is how the the optimistic concurrency is implemented. If any of the qualified update or delete statements fails to update or delete their target row, it may be because the data has been altered in the database in the meantime. In any event, if any update fails for any reason, the transaction is rolled back and an exception thrown. The exception will contain the generated SQL statement that failed.

The Relational DAS also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

예제

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method. Please see also the section on Tracing to see how you can see what SQL statements are generated by the Relational DAS.

이전 | 위로 | 다음
CXLV. SDO Relational Data Access Service Functions | 처음으로 | SDO_DAS_Relational::__construct


SDO_DAS_Relational::__construct

(No version information available, might be only in CVS)

SDO_DAS_Relational::__construct -- Creates an instance of a Relational Data Access Service

설명

SDO_DAS_Relational SDO_DAS_Relational::__construct ( array $database_metadata [, string $application_root_type [, array $SDO_containment_references_metadata]] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Constructs an instance of a Relational Data Access Service from the passed metadata.

매개변수

database_metadata

An array containing one or more table definitions, each of which is an associative array containing the keys name, columns, PK, and optionally, FK. For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

application_root_type

The root of each data graph is an object of a special root type and the application data objects come below that. Of the various application types in the SDO model, one has to be the the application type immediately below the root of the data graph. If there is only one table in the database metadata, so the application root type can be inferred, this argument can be omitted.

SDO_containment_references_metadata

An array containing one or more definitions of a containment relation, each of which is an associative array containing the keys parent and child. The containment relations describe how the types in the model are connected to form a tree. The type specified as the application root type must be present as one of the parent types in the containment references. If the application only needs to work with one table at a time, and there are no containment relations in the model, this argument can be omitted. For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

반환값

Returns an SDO_DAS_Relational object on success.

오류/예외

SDO_DAS_Relational::__construct() throws a SDO_DAS_Relational_Exception if any problems are found in the metadata.

예제

For a full discussion of the metadata, see the metadata section in the general information about the Relational DAS.

이전 | 위로 | 다음
SDO_DAS_Relational::applyChanges | 처음으로 | SDO_DAS_Relational::createRootDataObject


SDO_DAS_Relational::createRootDataObject

(No version information available, might be only in CVS)

SDO_DAS_Relational::createRootDataObject -- Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.

설명

SDODataObject SDO_DAS_Relational::createRootDataObject ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the special root object at the top of an otherwise empty data graph. This call is used when the application wants to create a data graph from scratch, without having called executeQuery() to create a data graph.

The special root object has one multi-valued containment property, with a name of the application root type that was passed when the Relational DAS was constructed. The property can take values of only that type. The only thing that the application can usefully do with the root type is to call createDataObject() on it, passing the name of the application root type, in order to create a data object of their own application type.

매개변수

None.

반환값

The root object.

오류/예외

None.

예제

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method.

이전 | 위로 | 다음
SDO_DAS_Relational::__construct | 처음으로 | SDO_DAS_Relational::executePreparedQuery


SDO_DAS_Relational::executePreparedQuery

(No version information available, might be only in CVS)

SDO_DAS_Relational::executePreparedQuery -- Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.

설명

SDODataObject SDO_DAS_Relational::executePreparedQuery ( PDO $database_handle, PDOStatement $prepared_statement, array $value_list [, array $column_specifier] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Executes a given query against the relational database, using the supplied PDO database handle. Differs from the simpler executeQuery() in that it takes a prepared statement and a list of values. This is the appropriate call to use either when the statement is to executed a number of times with different arguments, and there is therefore a performance benefit to be had from preparing the statement only once, or when the the SQL statement is to contain varying values taken from a source that cannot be completely trusted. In this latter case it may be unsafe to construct the SQL statement by simply concatenating the parts of the statement together, since the values may contain pieces of SQL. To guard against this, a so-called SQL injection attack, it is safer to prepare the SQL statement with placeholders (also known as parameter markers, denoted by '?') and supply a list of the values to be substituted as a separate argument. Otherwise this function is the same as executeQuery() in that it uses the model that it built from the the metadata to interpret the result set and returns a data graph.

매개변수

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this: $dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

prepared_statement

A prepared SQL statement to be executed against the database. This will have been prepared by PDO's prepare() method.

value_list

An array of the values to be substituted into the SQL statement in place of the placeholders. In the event that there are no placeholders or parameter markers in the SQL statement then this argument can be specified as NULL or as an empty array;

column_specifier

The Relational DAS needs to examine the result set and for every column, know which table and which column of that table it came from. In some circumstances it can find this information for itself, but sometimes it cannot. In these cases a column specifier is needed, which is an array that identifies the columns. Each entry in the array is simply a string in the form table-name.column_name.

The column specifier is needed when there are duplicate column names in the database metadata, For example, in the database used within the examples, all the tables have both a id and a name column. When the Relational DAS fetches the result set from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will cause the columns in the results set to be labelled with the column name, but will not distinguish duplicates. So this will only work when there are no duplicates possible in the results set.

To summarise, specify a column specifier array whenever there is any uncertainty about which column could be from which table and only omit it when every column name in the database metadata is unique.

All of the examples in the Examples use a column specifier. There is one example in the Scenarios directory of the installation that does not: that which works with just the employee table, and because it works with just one table, there can not exist duplicate column names.

반환값

Returns a data graph. Specifically, it returns a root object of a special type. Under this root object will be the data from the result set. The root object will have a multi-valued containment property with the same name as the application root type specified on the constructor, and that property will contain one or more data objects of the application root type.

In the event that the query returns no data, the special root object will still be returned but the containment property for the application root type will be empty.

오류/예외

SDO_DAS_Relational::executePreparedQuery() can throw an SDO_DAS_Relational_Exception if it is unable to construct the data graph correctly. This can occur for a number of reasons: for example if it finds that it does not have primary keys in the result set for all the objects. It also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

예제

예 2098. Retrieving a data object using executePreparedQuery()

In this example a single data object is retrieved from the database - or possibly more than one if there is more than one company called 'Acme'. For each company returned, the name and id properties are echoed.

Other examples of the use of executePreparedQuery() can be found in the example code supplied in sdo/DAS/Relational/Scenarios .

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_reference_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 * Use a prepared query with a placeholder.
 ***************************************************************/
$name = 'Acme';
$pdo_stmt = $dbh->prepare('select name, id from company where name=?');
$root = $das->executePreparedQuery(
    $dbh,
    $pdo_stmt,
    array($name),
    array('company.name', 'company.id'));

/**************************************************************
 * Echo name and id
 ***************************************************************/
foreach ($root['company'] as $company) {
    echo "Company obtained from the database has name = " .
    $company['name'] . " and id " . $company['id'] . "\n";
}
?>

이전 | 위로 | 다음
SDO_DAS_Relational::createRootDataObject | 처음으로 | SDO_DAS_Relational::executeQuery


SDO_DAS_Relational::executeQuery

(No version information available, might be only in CVS)

SDO_DAS_Relational::executeQuery -- Executes a given SQL query against a relational database and returns the results as a normalised data graph.

설명

SDODataObject SDO_DAS_Relational::executeQuery ( PDO $database_handle, string $SQL_statement [, array $column_specifier] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Executes a given query against the relational database, using the supplied PDO database handle. Uses the model that it built from the the metadata to interpret the result set. Returns a data graph.

매개변수

PDO_database_handle

Constructed using the PDO extension. A typical line to construct a PDO database handle might look like this: $dbh = new PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);

SQL_statement

The SQL statement to be executed against the database.

column_specifier

The Relational DAS needs to examine the result set and for every column, know which table and which column of that table it came from. In some circumstances it can find this information for itself, but sometimes it cannot. In these cases a column specifier is needed, which is an array that identifies the columns. Each entry in the array is simply a string in the form table-name.column_name.

The column specifier is needed when there are duplicate column names in the database metadata. For example, in the database used within the examples, all the tables have both a id and a name column. When the Relational DAS fetches the result set from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will cause the columns in the results set to be labelled with the column name, but will not distinguish duplicates. So this will only work when there are no duplicates possible in the results set.

To summarise, specify a column specifier array whenever there is any uncertainty about which column could be from which table and only omit it when every column name in the database metadata is unique.

All of the examples in the Examples use a column specifier. There is one example in the Scenarios directory of the installation that does not: that which works with just the employee table, and because it works with just one table, there can not exist duplicate column names.

반환값

Returns a data graph. Specifically, it returns a root object of a special type. Under this root object will be the data from the result set. The root object will have a multi-valued containment property with the same name as the application root type specified on the constructor, and that property will contain one or more data objects of the application root type.

In the event that the query returns no data, the special root object will still be returned but the containment property for the application root type will be empty.

오류/예외

SDO_DAS_Relational::executeQuery() can throw an SDO_DAS_Relational_Exception if it is unable to construct the data graph correctly. This can occur for a number of reasons: for example if it finds that it does not have primary keys in the result set for all the objects. It also catches any PDO exceptions and obtains PDO diagnostic information which it includes in an SDO_DAS_Relational_Exception which it then throws.

예제

Please see the Examples section in the general information about the Relational DAS for many examples of calling this method.

이전 | 위로 | 다음
SDO_DAS_Relational::executePreparedQuery | 처음으로 | CXLVI. 세마포어(semaphore)와 공유 메모리(shared memory) 함수


SDO_DAS_Setting::getListIndex

(No version information available, might be only in CVS)

SDO_DAS_Setting::getListIndex -- Get the list index for a changed many-valued property

설명

int SDO_DAS_Setting::getListIndex ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get the list index for a modification made to an element of a many-valued property. For example, if we modified the third element of a many-valued property we could obtain an SDO_DAS_Setting from the change summary corresponding to that modification. A call to getListIndex() on that setting would return the value 2 (lists are indexed from zero).

매개변수

None.

반환값

The list index for the element of the many-valued property which has been changed.

이전 | 위로 | 다음
SDO_DAS_DataObject::getChangeSummary | 처음으로 | SDO_DAS_Setting::getPropertyIndex


SDO_DAS_Setting::getPropertyIndex

(No version information available, might be only in CVS)

SDO_DAS_Setting::getPropertyIndex -- Get the property index for a changed property

설명

int SDO_DAS_Setting::getPropertyIndex ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the property index for the changed property. This index identifies the property which was modified in data object.

매개변수

None.

반환값

The property index for a changed property.

이전 | 위로 | 다음
SDO_DAS_Setting::getListIndex | 처음으로 | SDO_DAS_Setting::getPropertyName


SDO_DAS_Setting::getPropertyName

(No version information available, might be only in CVS)

SDO_DAS_Setting::getPropertyName -- Get the property name for a changed property

설명

string SDO_DAS_Setting::getPropertyName ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the property name for the changed property. This name identifies the property which was modified in data object.

매개변수

None.

반환값

The property name for a changed property.

이전 | 위로 | 다음
SDO_DAS_Setting::getPropertyIndex | 처음으로 | SDO_DAS_Setting::getValue


SDO_DAS_Setting::getValue

(No version information available, might be only in CVS)

SDO_DAS_Setting::getValue -- Get the old value for the changed property

설명

mixed SDO_DAS_Setting::getValue ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the old value for the changed property. This can be used by a Data Access Service when writing updates to a data source. The DAS uses the old value to detect conflicts by comparing it with the current value in the data source. If they do not match, then the data source has been updated since the data object was originally populated, and therefore writing any new updates risks compromising the integrity of the data.

매개변수

None.

반환값

Returns the old value of the changed property.

이전 | 위로 | 다음
SDO_DAS_Setting::getPropertyName | 처음으로 | SDO_DAS_Setting::isSet


SDO_DAS_Setting::isSet

(No version information available, might be only in CVS)

SDO_DAS_Setting::isSet -- Test whether a property was set prior to being modified

설명

bool SDO_DAS_Setting::isSet ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Test whether a property was set prior to being modified. If it was set prior to being modified then the SDO_DAS_Setting will also contain the old value.

매개변수

None.

반환값

Returns TRUE if the property was set prior to being modified, otherwise returns FALSE.

이전 | 위로 | 다음
SDO_DAS_Setting::getValue | 처음으로 | SDO_DataFactory::create


SDO_DAS_XML::addTypes

(No version information available, might be only in CVS)

SDO_DAS_XML::addTypes -- To load a second or subsequent schema file to a SDO_DAS_XML object

설명

void SDO_DAS_XML::addTypes ( string $xsd_file )

Load a second or subsequent schema file to an XML DAS that has already been created with the static method create(). Although the file may be any valid schema file, a likely reason for using this method is to add a schema file containing definitions of extra complex types, hence the name. See Example 4 of the parent document for an example.

매개변수

xsd_file

Path to XSD Schema file.

반환값

None if successful, otherwise throws an exception as described below.

오류/예외

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

이전 | 위로 | 다음
SDO_DAS_XML_Document::setXMLVersion | 처음으로 | SDO_DAS_XML::create


SDO_DAS_XML::create

(No version information available, might be only in CVS)

SDO_DAS_XML::create -- To create SDO_DAS_XML object for a given schema file

설명

SDO_DAS_XML SDO_DAS_XML::create ( [mixed $xsd_file [, string $key]] )

This is the only static method of SDO_DAS_XML class. Used to instantiate SDO_DAS_XML object.

매개변수

xsd_file

Path to XSD Schema file. This is optional. If omitted a DAS will be created that only has the SDO base types defined. Schema files can then be loaded with the addTypes() method. Can be string or array of values.

key

반환값

Returns SDO_DAS_XML object on success otherwise throws an exception as described below.

오류/예외

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

이전 | 위로 | 다음
SDO_DAS_XML::addTypes | 처음으로 | SDO_DAS_XML::createDataObject


SDO_DAS_XML::createDataObject

(No version information available, might be only in CVS)

SDO_DAS_XML::createDataObject -- Creates SDO_DataObject for a given namespace URI and type name

설명

SDO_DataObject SDO_DAS_XML::createDataObject ( string $namespace_uri, string $type_name )

Creates SDO_DataObject for a given namespace URI and type name. The type should be defined in the underlying model otherwise SDO_TypeNotFoundException will be thrown.

매개변수

namespace_uri

Namespace URI of the type name.

type_name

Type Name.

반환값

Returns SDO_DataObject on success.

오류/예외

SDO_TypeNotFoundException

Thrown if a type is not defined in the underlying model.

이전 | 위로 | 다음
SDO_DAS_XML::create | 처음으로 | SDO_DAS_XML::createDocument


SDO_DAS_XML::createDocument

(No version information available, might be only in CVS)

SDO_DAS_XML::createDocument -- Creates an XML Document object from scratch, without the need to load a document from a file or string.

설명

SDO_DAS_XML_Document SDO_DAS_XML::createDocument ( [string $document_element_name] )
SDO_DAS_XML_Document SDO_DAS_XML::createDocument ( string $document_element_namespace_URI, string $document_element_name [, SDO_DataObject $dataobject] )

Creates an XML Document object. This will contain just one empty root element on which none of the properties will have been set. The purpose of this call is to allow an application to create an XML document from scratch without the need to load a document from a file or string. The document that is created will be as if a document had been loaded that contained just a single empty document element with no attributes set or elements within it.

createDocument() may need to be told what the document element is. This will not be necessary in simple cases. When there is no ambiguity then no parameter need be passed to the method. However it is possible to load more than one schema file into the same XML DAS and in this case there may be more than one possible document element defined: furthermore it is even possible that there are two possible document elements that differ only in the namespace. To cope with these cases it is possible to specify either the document element name, or both the document element name and namespace to the method.

매개변수

document_element_name

The name of the document element. Only needed if there is more than one possibility.

document_element_namespace_URI

The namespace part of the document element name. Only needed if there is more than one possible document element with the same name.

dataobject

반환값

Returns an SDO_XML_DAS_Document object on success.

오류/예외

SDO_UnsupportedOperationException

Thrown if an element name or element name and namespace URI is passed, but not found in the underlying model.

이전 | 위로 | 다음
SDO_DAS_XML::createDataObject | 처음으로 | SDO_DAS_XML::loadFile


SDO_DAS_XML_Document::getRootDataObject

(No version information available, might be only in CVS)

SDO_DAS_XML_Document::getRootDataObject -- Returns the root SDO_DataObject

설명

SDO_DataObject SDO_DAS_XML_Document::getRootDataObject ( void )

Returns the root SDO_DataObject.

매개변수

반환값

Returns the root SDO_DataObject.

이전 | 위로 | 다음
CXLIV. SDO XML Data Access Service Functions | 처음으로 | SDO_DAS_XML_Document::getRootElementName


SDO_DAS_XML_Document::getRootElementName

(No version information available, might be only in CVS)

SDO_DAS_XML_Document::getRootElementName -- Returns root element's name

설명

string SDO_DAS_XML_Document::getRootElementName ( void )

Returns root element's name.

매개변수

반환값

Returns root element's name.

이전 | 위로 | 다음
SDO_DAS_XML_Document::getRootDataObject | 처음으로 | SDO_DAS_XML_Document::getRootElementURI


SDO_DAS_XML_Document::getRootElementURI

(No version information available, might be only in CVS)

SDO_DAS_XML_Document::getRootElementURI -- Returns root element's URI string

설명

string SDO_DAS_XML_Document::getRootElementURI ( void )

Returns root element's URI string.

매개변수

반환값

Returns root element's URI string.

이전 | 위로 | 다음
SDO_DAS_XML_Document::getRootElementName | 처음으로 | SDO_DAS_XML_Document::setEncoding


SDO_DAS_XML_Document::setEncoding

(No version information available, might be only in CVS)

SDO_DAS_XML_Document::setEncoding -- Sets the given string as encoding

설명

void SDO_DAS_XML_Document::setEncoding ( string $encoding )

Sets the given string as encoding.

매개변수

encoding

Encoding string.

반환값

None.

이전 | 위로 | 다음
SDO_DAS_XML_Document::getRootElementURI | 처음으로 | SDO_DAS_XML_Document::setXMLDeclaration


SDO_DAS_XML_Document::setXMLDeclaration

(No version information available, might be only in CVS)

SDO_DAS_XML_Document::setXMLDeclaration -- Sets the xml declaration

설명

void SDO_DAS_XML_Document::setXMLDeclaration ( bool $xmlDeclatation )

Controls whether an XML declaration will be generated at the start of the XML document. Set to true to generate the XML declaration, or false to suppress it.

매개변수

xmlDeclatation

Boolean value to set the XML declaration.

반환값

None.

이전 | 위로 | 다음
SDO_DAS_XML_Document::setEncoding | 처음으로 | SDO_DAS_XML_Document::setXMLVersion


SDO_DAS_XML_Document::setXMLVersion

(No version information available, might be only in CVS)

SDO_DAS_XML_Document::setXMLVersion -- Sets the given string as xml version

설명

void SDO_DAS_XML_Document::setXMLVersion ( string $xmlVersion )

Sets the given string as xml version.

매개변수

xmlVersion

xml version string.

반환값

None.

이전 | 위로 | 다음
SDO_DAS_XML_Document::setXMLDeclaration | 처음으로 | SDO_DAS_XML::addTypes


SDO_DAS_XML::loadFile

(No version information available, might be only in CVS)

SDO_DAS_XML::loadFile -- Returns SDO_DAS_XML_Document object for a given path to xml instance document

설명

SDO_XMLDocument SDO_DAS_XML::loadFile ( string $xml_file )

Constructs the tree of SDO_DataObjects from the given address to xml instance document. Returns SDO_DAS_XML_Document Object. Use SDO_DAS_XML_Document::getRootDataObject method to get root data object.

매개변수

xml_file

Path to Instance document. This can be a path to a local file or it can be a URL.

반환값

Returns SDO_DAS_XML_Document object on Success or throws exception as described.

오류/예외

SDO_TypeNotFoundException

Thrown if a type is not defined by the underlying model.

SDO_PropertyNotFoundException

Thrown if a property within a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

이전 | 위로 | 다음
SDO_DAS_XML::createDocument | 처음으로 | SDO_DAS_XML::loadString


SDO_DAS_XML::loadString

(No version information available, might be only in CVS)

SDO_DAS_XML::loadString -- Returns SDO_DAS_XML_Document for a given xml instance string

설명

SDO_DAS_XML_Document SDO_DAS_XML::loadString ( string $xml_string )

Constructs the tree of SDO_DataObjects from the given xml instance string. Returns SDO_DAS_XML_Document Object. Use SDO_DAS_XML_Document::getRootDataObject method to get root data object.

매개변수

xml_string

xml string.

반환값

Returns SDO_DAS_XML_Document object on Success or throws exception as described.

오류/예외

SDO_TypeNotFoundException

Thrown if a type is not defined by the underlying model.

SDO_PropertyNotFoundException

Thrown if the a property within a type is not defined in the underlying model.

SDO_DAS_XML_ParserException

Thrown for any problems while parsing the given XSD File.

이전 | 위로 | 다음
SDO_DAS_XML::loadFile | 처음으로 | SDO_DAS_XML::saveFile


SDO_DAS_XML::saveFile

(No version information available, might be only in CVS)

SDO_DAS_XML::saveFile -- Saves the SDO_DAS_XML_Document object to a file

설명

void SDO_DAS_XML::saveFile ( SDO_XMLDocument $xdoc, string $xml_file [, int $indent] )

Saves the SDO_DAS_XML_Document object to a file.

매개변수

xdoc

SDO_DAS_XML_Document object.

xml_file

xml file.

indent

Optional argument to specify that the xml should be formatted. A non-negative integer is the amount to indent each level of the xml. So, the integer 2, for example, will indent the xml so that each contained element is two spaces further to the right than its containing element. The integer 0 will cause the xml to be completely left-aligned. The integer -1 means no formatting - the xml will come out on one long line.

반환값

None.

오류/예외

SDO_DAS_XML_FileException

Thrown if the specified file cannot be found.

이전 | 위로 | 다음
SDO_DAS_XML::loadString | 처음으로 | SDO_DAS_XML::saveString


SDO_DAS_XML::saveString

(No version information available, might be only in CVS)

SDO_DAS_XML::saveString -- Saves the SDO_DAS_XML_Document object to a string

설명

string SDO_DAS_XML::saveString ( SDO_XMLDocument $xdoc [, int $indent] )

Saves the SDO_DAS_XML_Document object to string.

매개변수

xdoc

SDO_DAS_XML_Document object.

indent

Optional argument to specify that the xml should be formatted. A non-negative integer is the amount to indent each level of the xml. So, the integer 2, for example, will indent the xml so that each contained element is two spaces further to the right than its containing element. The integer 0 will cause the xml to be completely left-aligned. The integer -1 means no formatting - the xml will come out on one long line.

반환값

xml string.

이전 | 위로 | 다음
SDO_DAS_XML::saveFile | 처음으로 | CXLV. SDO Relational Data Access Service Functions


SDO_DataFactory::create

(No version information available, might be only in CVS)

SDO_DataFactory::create -- Create an SDO_DataObject

설명

void SDO_DataFactory::create ( string $type_namespace_uri, string $type_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Create a new SDO_DataObject given the data object's namespace URI and type name.

매개변수

type_namespace_uri

The namespace of the type.

type_name

The name of the type.

반환값

Returns the newly created SDO_DataObject.

오류/예외

SDO_TypeNotFoundException

Thrown if the namespaceURI and typeName do not correspond to a type known to this data factory.

이전 | 위로 | 다음
SDO_DAS_Setting::isSet | 처음으로 | SDO_DataObject::clear


SDO_DataObject::clear

(No version information available, might be only in CVS)

SDO_DataObject::clear -- Clear an SDO_DataObject's properties

설명

void SDO_DataObject::clear ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Clear an SDO_DataObject's properties. Read-only properties are unaffected. Subsequent calls to isset() for the data object will return FALSE.

매개변수

None.

반환값

No return values.

이전 | 위로 | 다음
SDO_DataFactory::create | 처음으로 | SDO_DataObject::createDataObject


SDO_DataObject::createDataObject

(No version information available, might be only in CVS)

SDO_DataObject::createDataObject -- Create a child SDO_DataObject

설명

SDO_DataObject SDO_DataObject::createDataObject ( mixed $identifier )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Create a child SDO_DataObject of the default type for the property identified. The data object is automatically inserted into the tree and a reference to it is returned.

매개변수

identifier

Identifies the property for the data object type to be created. Can be either a property name (string), a property index (int), or an SDO_Model_Property.

반환값

Returns the newly created SDO_DataObject.

오류/예외

SDO_PropertyNotFoundException

Thrown if the identifier does not correspond to a property of the data object.

이전 | 위로 | 다음
SDO_DataObject::clear | 처음으로 | SDO_DataObject::getContainer


SDO_DataObject::getContainer

(No version information available, might be only in CVS)

SDO_DataObject::getContainer -- Get a data object's container

설명

SDO_DataObject SDO_DataObject::getContainer ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get the data object which contains this data object.

매개변수

None.

반환값

Returns the SDO_DataObject which contains this SDO_DataObject, or returns NULL if this is a root SDO_DataObject (i.e. it has no container).

이전 | 위로 | 다음
SDO_DataObject::createDataObject | 처음으로 | SDO_DataObject::getSequence


SDO_DataObject::getSequence

(No version information available, might be only in CVS)

SDO_DataObject::getSequence -- Get the sequence for a data object

설명

SDO_Sequence SDO_DataObject::getSequence ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Return the SDO_Sequence for this SDO_DataObject. Accessing the SDO_DataObject through the SDO_Sequence interface acts on the same SDO_DataObject instance data, but preserves ordering across properties.

매개변수

None.

반환값

The SDO_Sequence for this SDO_DataObject, or returns NULL if the SDO_DataObject is not of a type which can have a sequence.

이전 | 위로 | 다음
SDO_DataObject::getContainer | 처음으로 | SDO_DataObject::getTypeName


SDO_DataObject::getTypeName

(No version information available, might be only in CVS)

SDO_DataObject::getTypeName -- Return the name of the type for a data object.

설명

string SDO_DataObject::getTypeName ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Return the name of the type for a data object. A convenience method corresponding to SDO_Model_ReflectionDataObject::getType().getName().

매개변수

None.

반환값

The name of the type for the data object.

이전 | 위로 | 다음
SDO_DataObject::getSequence | 처음으로 | SDO_DataObject::getTypeNamespaceURI


SDO_DataObject::getTypeNamespaceURI

(No version information available, might be only in CVS)

SDO_DataObject::getTypeNamespaceURI -- Return the namespace URI of the type for a data object.

설명

string SDO_DataObject::getTypeNamespaceURI ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Return the namespace URI of the type for a data object. A convenience method corresponding to SDO_Model_ReflectionDataObject::getType().getNamespaceURI().

매개변수

None.

반환값

The namespace URI of the type for the data object.

이전 | 위로 | 다음
SDO_DataObject::getTypeName | 처음으로 | SDO_Exception::getCause


SDO_Exception::getCause

(No version information available, might be only in CVS)

SDO_Exception::getCause -- Get the cause of the exception.

설명

mixed SDO_Exception::getCause ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the cause of this exception or NULL if the cause is nonexistent or unknown. Typically the cause will be an SDO_CPPException object, which may be used to obtain additional diagnostic information.

매개변수

None.

반환값

Returns the cause of this exception or NULL if the cause is nonexistent or unknown.

이전 | 위로 | 다음
SDO_DataObject::getTypeNamespaceURI | 처음으로 | SDO_List::insert


SDO_List::insert

(No version information available, might be only in CVS)

SDO_List::insert -- Insert into a list

설명

void SDO_List::insert ( mixed $value [, int $index] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Insert a new element at a specified position in the list. All subsequent list items are moved up.

매개변수

value

The new value to be inserted. This can be either a primitive or an SDO_DataObject.

index

The position at which to insert the new element. If this argument is not specified then the new value will be appended.

반환값

None.

오류/예외

SDO_IndexOutOfBoundsException

Thrown if the list index is less than zero or greater than the size of the list.

SDO_InvalidConversionException

Thrown if the type of the new value does not match the type for the list (e.g. the type of the many-valued property that the list represents).

이전 | 위로 | 다음
SDO_Exception::getCause | 처음으로 | SDO_Model_Property::getContainingType


SDO_Model_Property::getContainingType

(No version information available, might be only in CVS)

SDO_Model_Property::getContainingType -- Get the SDO_Model_Type which contains this property

설명

SDO_Model_Type SDO_Model_Property::getContainingType ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the SDO_Model_Type which contains this property.

매개변수

None.

반환값

Returns the SDO_Model_Type which contains this property.

이전 | 위로 | 다음
SDO_List::insert | 처음으로 | SDO_Model_Property::getDefault


SDO_Model_Property::getDefault

(No version information available, might be only in CVS)

SDO_Model_Property::getDefault -- Get the default value for the property

설명

mixed SDO_Model_Property::getDefault ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the default value for the property. Only primitive data type properties can have default values.

매개변수

None.

반환값

Returns the default value for the property.

이전 | 위로 | 다음
SDO_Model_Property::getContainingType | 처음으로 | SDO_Model_Property::getName


SDO_Model_Property::getName

(No version information available, might be only in CVS)

SDO_Model_Property::getName -- Get the name of the SDO_Model_Property

설명

string SDO_Model_Property::getName ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the name of the SDO_Model_Property.

매개변수

None.

반환값

Returns the name of the SDO_Model_Property.

이전 | 위로 | 다음
SDO_Model_Property::getDefault | 처음으로 | SDO_Model_Property::getType


SDO_Model_Property::getType

(No version information available, might be only in CVS)

SDO_Model_Property::getType -- Get the SDO_Model_Type of the property

설명

SDO_Model_Type SDO_Model_Property::getType ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get the SDO_Model_Type of the property. The SDO_Model_Type describes the type information for the property, such as its type name, namespace URI, whether it is a primitive data type, and so on.

매개변수

None.

반환값

Returns the SDO_Model_Type describing the property's type information.

이전 | 위로 | 다음
SDO_Model_Property::getName | 처음으로 | SDO_Model_Property::isContainment


SDO_Model_Property::isContainment

(No version information available, might be only in CVS)

SDO_Model_Property::isContainment -- Test to see if the property defines a containment relationship

설명

bool SDO_Model_Property::isContainment ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Test to see if the property corresponds to a containment relationship. Returns TRUE if the property defines a containment relationship, or FALSE if it is reference.

매개변수

None.

반환값

Returns TRUE if the property defines a containment relationship, or FALSE if it is reference.

이전 | 위로 | 다음
SDO_Model_Property::getType | 처음으로 | SDO_Model_Property::isMany


SDO_Model_Property::isMany

(No version information available, might be only in CVS)

SDO_Model_Property::isMany -- Test to see if the property is many-valued

설명

bool SDO_Model_Property::isMany ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Test to see if the property is many-valued. Returns TRUE if this is a many-valued property, otherwise returns FALSE.

매개변수

None.

반환값

Returns TRUE if this is a many-valued property, otherwise returns FALSE.

이전 | 위로 | 다음
SDO_Model_Property::isContainment | 처음으로 | SDO_Model_ReflectionDataObject::__construct


SDO_Model_ReflectionDataObject::__construct

(No version information available, might be only in CVS)

SDO_Model_ReflectionDataObject::__construct -- Construct an SDO_Model_ReflectionDataObject

설명

SDO_Model_ReflectionDataObject SDO_Model_ReflectionDataObject::__construct ( SDO_DataObject $data_object )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Construct an SDO_Model_ReflectionDataObject to reflect on an SDO_DataObject. Reflecting on an SDO_DataObject gives access to information about its model. The model contains information such as the data object's type, and whether that type is sequenced (preserves ordering across properties) or open (each instance can have its model extended). The model also holds information about the data object's properties, any default values they may have, and so on.

매개변수

data_object

The SDO_DataObject being reflected upon.

반환값

None.

이전 | 위로 | 다음
SDO_Model_Property::isMany | 처음으로 | SDO_Model_ReflectionDataObject::export


SDO_Model_ReflectionDataObject::export

(No version information available, might be only in CVS)

SDO_Model_ReflectionDataObject::export -- Get a string describing the SDO_DataObject.

설명

mixed SDO_Model_ReflectionDataObject::export ( SDO_Model_ReflectionDataObject $rdo [, bool $return] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get a string describing the SDO_DataObject. The default behaviour is to print the output, but if TRUE is specified for return, it is returned as a string.

매개변수

rdo

An SDO_Model_ReflectionDataObject.

return

If TRUE, return the output as a string, otherwise print it.

반환값

Returns the output if TRUE is specified for return, otherwise NULL.

이전 | 위로 | 다음
SDO_Model_ReflectionDataObject::__construct | 처음으로 | SDO_Model_ReflectionDataObject::getContainmentProperty


SDO_Model_ReflectionDataObject::getContainmentProperty

(No version information available, might be only in CVS)

SDO_Model_ReflectionDataObject::getContainmentProperty -- Get the property which defines the containment relationship to the data object

설명

SDO_Model_Property SDO_Model_ReflectionDataObject::getContainmentProperty ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get the SDO_Model_Property that contains the SDO_DataObject. This method is used to navigate up to the parent's property which contains the data object which has been reflected upon.

매개변수

None.

반환값

Returns the container's SDO_Model_Property which references the SDO_DataObject, or NULL if it is a root SDO_DataObject.

이전 | 위로 | 다음
SDO_Model_ReflectionDataObject::export | 처음으로 | SDO_Model_ReflectionDataObject::getInstanceProperties


SDO_Model_ReflectionDataObject::getInstanceProperties

(No version information available, might be only in CVS)

SDO_Model_ReflectionDataObject::getInstanceProperties -- Get the instance properties of the SDO_DataObject

설명

array SDO_Model_ReflectionDataObject::getInstanceProperties ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get the instance properties for the SDO_DataObject. The instance properties consist of all the properties defined on the data object's type, plus any instance properties from open content (if the data object is an open type).

매개변수

None.

반환값

An array of SDO_Model_Property objects.

이전 | 위로 | 다음
SDO_Model_ReflectionDataObject::getContainmentProperty | 처음으로 | SDO_Model_ReflectionDataObject::getType


SDO_Model_ReflectionDataObject::getType

(No version information available, might be only in CVS)

SDO_Model_ReflectionDataObject::getType -- Get the SDO_Model_Type for the SDO_DataObject

설명

SDO_Model_Type SDO_Model_ReflectionDataObject::getType ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the SDO_Model_Type for the SDO_DataObject. The SDO_Model_Type holds all the information about the data object's type, such as namespace URI, type name, whether it is a primitive data type, and so on.

매개변수

None.

반환값

Returns the SDO_Model_Type for the SDO_DataObject.

이전 | 위로 | 다음
SDO_Model_ReflectionDataObject::getInstanceProperties | 처음으로 | SDO_Model_Type::getBaseType


SDO_Model_Type::getBaseType

(No version information available, might be only in CVS)

SDO_Model_Type::getBaseType -- Get the base type for this type

설명

SDO_Model_Type SDO_Model_Type::getBaseType ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get the base type for this type. Returns the SDO_Model_Type for the base type if this type inherits from another, otherwise returns NULL. An example of when base types occur is when a type defined in XML schema inherits from another type by using <extension base="..."> .

매개변수

None.

반환값

Returns the SDO_Model_Type for the base type if this type inherits from another, otherwise returns NULL.

이전 | 위로 | 다음
SDO_Model_ReflectionDataObject::getType | 처음으로 | SDO_Model_Type::getName


SDO_Model_Type::getName

(No version information available, might be only in CVS)

SDO_Model_Type::getName -- Get the name of the type

설명

string SDO_Model_Type::getName ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the name of the type. The combination of type name and namespace URI is used to uniquely identify the type.

매개변수

None.

반환값

Returns the name of the type.

이전 | 위로 | 다음
SDO_Model_Type::getBaseType | 처음으로 | SDO_Model_Type::getNamespaceURI


SDO_Model_Type::getNamespaceURI

(No version information available, might be only in CVS)

SDO_Model_Type::getNamespaceURI -- Get the namespace URI of the type

설명

string SDO_Model_Type::getNamespaceURI ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Returns the namespace URI of the type. The combination of namespace URI and type name is used to uniquely identify the type.

매개변수

None.

반환값

Returns the namespace URI of the type.

이전 | 위로 | 다음
SDO_Model_Type::getName | 처음으로 | SDO_Model_Type::getProperties


SDO_Model_Type::getProperties

(No version information available, might be only in CVS)

SDO_Model_Type::getProperties -- Get the SDO_Model_Property objects defined for the type

설명

array SDO_Model_Type::getProperties ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get an array of SDO_Model_Property objects describing the properties defined for the SDO_Model_Type. Each SDO_Model_Property holds information such as the property name, default value, and so on.

매개변수

None.

반환값

Returns an array of SDO_Model_Property objects.

이전 | 위로 | 다음
SDO_Model_Type::getNamespaceURI | 처음으로 | SDO_Model_Type::getProperty


SDO_Model_Type::getProperty

(No version information available, might be only in CVS)

SDO_Model_Type::getProperty -- Get an SDO_Model_Property of the type

설명

SDO_Model_Property SDO_Model_Type::getProperty ( mixed $identifier )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Get an SDO_Model_Property of the type, identified by its property index or property name.

매개변수

identifier

The property index or property name.

반환값

Returns the SDO_Model_Property.

이전 | 위로 | 다음
SDO_Model_Type::getProperties | 처음으로 | SDO_Model_Type::isAbstractType


SDO_Model_Type::isAbstractType

(No version information available, might be only in CVS)

SDO_Model_Type::isAbstractType -- Test to see if this SDO_Model_Type is an abstract data type

설명

bool SDO_Model_Type::isAbstractType ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Test to see if this SDO_Model_Type is an abstract data type. Returns TRUE if this type is abstract, that is, no SDO_DataObject of this type can be instantiated, though other types may inherit from it.

매개변수

None.

반환값

Returns TRUE if this type is an abstract data type, otherwise returns FALSE.

이전 | 위로 | 다음
SDO_Model_Type::getProperty | 처음으로 | SDO_Model_Type::isDataType


SDO_Model_Type::isDataType

(No version information available, might be only in CVS)

SDO_Model_Type::isDataType -- Test to see if this SDO_Model_Type is a primitive data type

설명

bool SDO_Model_Type::isDataType ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Test to see if this SDO_Model_Type is a primitive data type. Returns TRUE if this type is a primitive data type, otherwise returns FALSE.

매개변수

None.

반환값

Returns TRUE if this type is a primitive data type, otherwise returns FALSE.

이전 | 위로 | 다음
SDO_Model_Type::isAbstractType | 처음으로 | SDO_Model_Type::isInstance


SDO_Model_Type::isInstance

(No version information available, might be only in CVS)

SDO_Model_Type::isInstance -- Test for an SDO_DataObject being an instance of this SDO_Model_Type

설명

bool SDO_Model_Type::isInstance ( SDO_DataObject $data_object )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Test for an SDO_DataObject being an instance of this SDO_Model_Type. Returns TRUE if the SDO_DataObject provided is an instance of this SDO_Model_Type, or a derived type, otherwise returns FALSE.

매개변수

data_object

The SDO_DataObject to be tested.

반환값

Returns TRUE if the SDO_DataObject provided is an instance of this SDO_Model_Type, or a derived type, otherwise returns FALSE.

이전 | 위로 | 다음
SDO_Model_Type::isDataType | 처음으로 | SDO_Model_Type::isOpenType


SDO_Model_Type::isOpenType

(No version information available, might be only in CVS)

SDO_Model_Type::isOpenType -- Test to see if this type is an open type

설명

bool SDO_Model_Type::isOpenType ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Test to see if this type is open. Returns TRUE if this type is open, otherwise returns FALSE. An SDO_DataObject whose type is open can have properties added to them which are not described by the type. This capability is used to support working with XML documents whose schema support open content, such as that defined by an <xsd:any> element.

매개변수

None.

반환값

Returns TRUE if this type is open, otherwise returns FALSE.

이전 | 위로 | 다음
SDO_Model_Type::isInstance | 처음으로 | SDO_Model_Type::isSequencedType


SDO_Model_Type::isSequencedType

(No version information available, might be only in CVS)

SDO_Model_Type::isSequencedType -- Test to see if this is a sequenced type

설명

bool SDO_Model_Type::isSequencedType ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Test to see if this is a sequenced type. Returns TRUE if this type is sequence, otherwise returns FALSE. Sequenced types can have the ordering across properties preserved and can contain unstructured text. For more information on sequenced types see the section on Working with Sequenced Data Objects.

매개변수

None.

반환값

Returns TRUE if this type is sequence, otherwise return FALSE.

이전 | 위로 | 다음
SDO_Model_Type::isOpenType | 처음으로 | SDO_Sequence::getProperty


SDO_Sequence::getProperty

(No version information available, might be only in CVS)

SDO_Sequence::getProperty -- Return the property for the specified sequence index.

설명

SDO_Model_Property SDO_Sequence::getProperty ( int $sequence_index )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Return the property for the specified sequence index.

매개변수

sequence_index

The position of the element in the sequence.

반환값

An SDO_Model_Property. A return value of NULL means the sequence element does not belong to a property and must therefore be unstructured text.

오류/예외

SDO_IndexOutOfBoundsException

Thrown if the sequence index is less than zero or greater than the size of the sequence.

이전 | 위로 | 다음
SDO_Model_Type::isSequencedType | 처음으로 | SDO_Sequence::insert


SDO_Sequence::insert

(No version information available, might be only in CVS)

SDO_Sequence::insert -- Insert into a sequence

설명

void SDO_Sequence::insert ( mixed $value [, int $sequenceIndex [, mixed $propertyIdentifier]] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Insert a new element at a specified position in the sequence. All subsequent sequence items are moved up.

매개변수

value

The new value to be inserted. This can be either a primitive or an SDO_DataObject.

sequenceIndex

The position at which to insert the new element. Default is NULL, which results in the new value being appended to the sequence.

propertyIdentifier

Either a property index, a property name, or an SDO_Model_Property, used to identify a property in the sequence's corresponding SDO_DataObject. A value of NULL signifies unstructured text.

반환값

None.

오류/예외

SDO_IndexOutOfBoundsException

Thrown if the sequence index is less than zero or greater than the size of the sequence.

SDO_InvalidConversionException

Thrown if the type of the new value cannot be juggled to match the type for the specified data object property.

이전 | 위로 | 다음
SDO_Sequence::getProperty | 처음으로 | SDO_Sequence::move


SDO_Sequence::move

(No version information available, might be only in CVS)

SDO_Sequence::move -- Move an item to another sequence position

설명

void SDO_Sequence::move ( int $toIndex, int $fromIndex )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Modify the position of the item in the sequence, without altering the value of the property in the SDO_DataObject.

매개변수

toIndex

The destination sequence index. If this index is less than zero or greater than the size of the sequence then the value is appended.

fromIndex

The source sequence index.

반환값

None.

오류/예외

SDO_IndexOutOfBoundsException

Thrown if the fromIndex sequence index is less than zero or greater than the size of the sequence.

이전 | 위로 | 다음
SDO_Sequence::insert | 처음으로 | CXLIV. SDO XML Data Access Service Functions


session_pgsql_add_error

(No version information available, might be only in CVS)

session_pgsql_add_error -- Increments error counts and sets last error message

설명

bool session_pgsql_add_error ( int $error_level [, string $error_message] )
주의

This function is currently not documented; only the argument list is available.

매개변수

error_level

error_message

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

session_pgsql_get_error()

이전 | 위로 | 다음
CXLVIII. PostgreSQL Session Save Handler | 처음으로 | session_pgsql_get_error


session_pgsql_get_error

(No version information available, might be only in CVS)

session_pgsql_get_error -- Returns number of errors and last error message

설명

array session_pgsql_get_error ( [bool $with_error_message] )

Get the number of errors and optional the error messages.

매개변수

with_error_message

Set to TRUE the literal error message for each error is also returned.

반환값

The number of errors are returned as array.

참고

session_pgsql_add_error()

이전 | 위로 | 다음
session_pgsql_add_error | 처음으로 | session_pgsql_get_field


session_pgsql_get_field

(No version information available, might be only in CVS)

session_pgsql_get_field -- Get custom field value

설명

string session_pgsql_get_field ( void )
주의

This function is currently not documented; only the argument list is available.

참고

session_pgsql_set_field()

이전 | 위로 | 다음
session_pgsql_get_error | 처음으로 | session_pgsql_reset


session_pgsql_reset

(No version information available, might be only in CVS)

session_pgsql_reset -- Reset connection to session database servers

설명

bool session_pgsql_reset ( void )

Reset the connection to the session database servers.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
session_pgsql_get_field | 처음으로 | session_pgsql_set_field


session_pgsql_set_field

(No version information available, might be only in CVS)

session_pgsql_set_field -- Set custom field value

설명

bool session_pgsql_set_field ( string $value )
주의

This function is currently not documented; only the argument list is available.

매개변수

value

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

session_pgsql_get_field()

이전 | 위로 | 다음
session_pgsql_reset | 처음으로 | session_pgsql_status


session_pgsql_status

(No version information available, might be only in CVS)

session_pgsql_status -- Get current save handler status

설명

array session_pgsql_status ( void )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
session_pgsql_set_field | 처음으로 | CXLIX. Session Handling Functions


SimpleXMLElement->addAttribute()

(PHP 5 >= 5.1.3)

SimpleXMLElement->addAttribute() -- Adds an attribute to the SimpleXML element

설명

class SimpleXMLElement {
void addAttribute ( string $name, string $value [, string $namespace] )
}

Adds an attribute to the SimpleXML element.

매개변수

name

The name of the attribute to add.

value

The value of the attribute.

namespace

If specified, the namespace to which the attribute belongs.

반환값

값을 반환하지 않습니다.

예제

예 2141. Add attributes and children to a SimpleXML element

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

참고

SimpleXMLElement->addChild()

이전 | 위로 | 다음
CLI. SimpleXML functions | 처음으로 | SimpleXMLElement->addChild()


SimpleXMLElement->addChild()

(PHP 5 >= 5.1.3)

SimpleXMLElement->addChild() -- Adds a child element to the XML node

설명

class SimpleXMLElement {
SimpleXMLElement addChild ( string $name [, string $value [, string $namespace]] )
}

Adds a child element to the node and returns a SimpleXMLElement of the child.

매개변수

name

The name of the child element to add.

value

If specified, the value of the child element.

namespace

If specified, the namespace to which the child element belongs.

반환값

The addChild method returns a SimpleXMLElement object representing the child added to the XML node.

예제

예 2142. Add attributes and children to a SimpleXML element

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

참고

SimpleXMLElement->addAttribute()

이전 | 위로 | 다음
SimpleXMLElement->addAttribute() | 처음으로 | SimpleXMLElement->asXML()


SimpleXMLElement->__construct()

(No version information available, might be only in CVS)

SimpleXMLElement->__construct() -- Creates a new SimpleXMLElement object

설명

class SimpleXMLElement {
__construct ( string $data [, int $options [, bool $data_is_url [, string $ns [, bool $is_prefix]]]] )
}

Creates a new SimpleXMLElement object.

매개변수

data

A well-formed XML string or the path or URL to an XML document if data_is_url is TRUE.

options

Optionally used to specify additional Libxml parameters.

data_is_url

By default, data_is_url is FALSE. Use TRUE to specify that data is a path or URL to an XML document instead of string data.

ns

is_prefix

반환값

Returns a SimpleXMLElement object representing data.

오류/예외

Produces an E_WARNING error message for each error found in the XML data and throws an exception if errors were detected.

예제

예 2147. Create a SimpleXMLElement object

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->movie[0]->title;

?>

예 2148. Create a SimpleXMLElement object from a URL

<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();

?>

참고

simplexml_load_string
simplexml_load_file

이전 | 위로 | 다음
SimpleXMLElement->children() | 처음으로 | SimpleXMLElement->getDocNamespaces()


SimpleXMLElement->getDocNamespaces()

(PHP 5 >= 5.1.2)

SimpleXMLElement->getDocNamespaces() -- Returns namespaces declared in document

설명

class SimpleXMLElement {
array getDocNamespaces ( [bool $recursive] )
}

Returns namespaces declared in document

매개변수

recursive

If specified, returns all namespaces declared in parent and child nodes. Otherwise, returns only namespaces declared in root node.

반환값

The getDocNamespaces method returns an array of namespace names with their associated URIs.

예제

예 2149. Get document namespaces

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);

?>

예 2150. Working with multiple namespaces

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person t:id="1">John Doe</p:person>
    <p:person t:id="2" a:addr="123 Street" xmlns:a="http://example.org/addr">
        Susie Q. Public
    </p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);

?>

참고

SimpleXMLElement->getNamespaces()
SimpleXMLElement->registerXPathNamespace()

이전 | 위로 | 다음
SimpleXMLElement->__construct() | 처음으로 | SimpleXMLElement->getName()


SimpleXMLElement->getName()

(PHP 5 >= 5.1.3)

SimpleXMLElement->getName() -- Gets the name of the XML element

설명

class SimpleXMLElement {
string getName ( void )
}

Gets the name of the XML element.

반환값

The getName method returns as a string the name of the XML tag referenced by the SimpleXMLElement object.

예제

예 2151. Get XML element names

<?php

$sxe = new SimpleXMLElement($xmlstr);

echo $sxe->getName() . "\n";

foreach ($sxe->children() as $child)
{
    echo $child->getName() . "\n";
}

?>

이전 | 위로 | 다음
SimpleXMLElement->getDocNamespaces() | 처음으로 | SimpleXMLElement->getNamespaces()


SimpleXMLElement->getNamespaces()

(PHP 5 >= 5.1.2)

SimpleXMLElement->getNamespaces() -- Returns namespaces used in document

설명

class SimpleXMLElement {
array getNamespaces ( [bool $recursive] )
}

Returns namespaces used in document

매개변수

recursive

If specified, returns all namespaces used in parent and child nodes. Otherwise, returns only namespaces used in root node.

반환값

The getNamespaces method returns an array of namespace names with their associated URIs.

예제

예 2152. Get document namespaces in use

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
    <p:person id="1">John Doe</p:person>
    <p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getNamespaces(true);
var_dump($namespaces);

?>

위 예제의 출력:

array(1) {
  ["p"]=>
  string(21) "http://example.org/ns"
}

참고

SimpleXMLElement->getDocNamespaces()
SimpleXMLElement->registerXPathNamespace()

이전 | 위로 | 다음
SimpleXMLElement->getName() | 처음으로 | SimpleXMLElement->registerXPathNamespace()


SimpleXMLElement->registerXPathNamespace()

(PHP 5 >= 5.2.0)

SimpleXMLElement->registerXPathNamespace() -- Creates a prefix/ns context for the next XPath query

설명

class SimpleXMLElement {
bool registerXPathNamespace ( string $prefix, string $ns )
}

Creates a prefix/ns context for the next XPath query. In particular, this is helpful if the provider of the given XML document alters the namespace prefixes. registerXPathNamespace will create a prefix for the associated namespace, allowing one to access nodes in that namespace without the need to change code to allow for the new prefixes dictated by the provider.

매개변수

prefix

The namespace prefix to use in the XPath query for the namespace given in ns.

ns

The namespace to use for the XPath query. This must match a namespace in use by the XML document or the XPath query using prefix will not return any results.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2153. Setting a namespace prefix to use in an XPath query

<?php

$xml = <<<EOD
<book xmlns:chap="http://example.org/chapter-title">
    <title>My Book</title>
    <chapter id="1">
        <chap:title>Chapter 1</chap:title>
        <para>Donec velit. Nullam eget tellus vitae tortor gravida scelerisque.
            In orci lorem, cursus imperdiet, ultricies non, hendrerit et, orci.
            Nulla facilisi. Nullam velit nisl, laoreet id, condimentum ut,
            ultricies id, mauris.</para>
    </chapter>
    <chapter id="2">
        <chap:title>Chapter 2</chap:title>
        <para>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin
            gravida. Phasellus tincidunt massa vel urna. Proin adipiscing quam
            vitae odio. Sed dictum. Ut tincidunt lorem ac lorem. Duis eros
            tellus, pharetra id, faucibus eu, dapibus dictum, odio.</para>
    </chapter>
</book>
EOD;

$sxe = new SimpleXMLElement($xml);

$sxe->registerXPathNamespace('c', 'http://example.org/chapter-title');
$result = $sxe->xpath('//c:title');

foreach ($result as $title) {
  echo $title . "\n";
}

?>

Notice how the XML document shown in the example sets a namespace with a prefix of chap. Imagine that this document (or another one like it) may have used a prefix of c in the past for the same namespace. Since it has changed, the XPath query will no longer return the proper results and the query will require modification. Using registerXPathNamespace avoids future modification of the query even if the provider changes the namespace prefix.

참고

SimpleXMLElement->getDocNamespaces()
SimpleXMLElement->getNamespaces()

이전 | 위로 | 다음
SimpleXMLElement->getNamespaces() | 처음으로 | SimpleXMLElement->xpath()


snmp_set_oid_output_format

(PHP 5 >= 5.2.0)

snmp_set_oid_output_format -- Set the OID output format

설명

void snmp_set_oid_output_format ( int $oid_format )

snmp_set_oid_output_format() sets the output format to be full or numeric.

매개변수

oid_format

Set it to SNMP_OID_OUTPUT_FULL if you want a full output, SNMP_OID_OUTPUT_NUMERIC otherwise.

반환값

값을 반환하지 않습니다.

주의

참고: snmp_set_oid_output_format() is only available when using the UCD SNMP library. This function is not available when using the Windows SNMP library.

이전 | 위로 | 다음
snmp_set_oid_numeric_print | 처음으로 | snmp_set_quick_print


SoapClient->__call()

(PHP 5 >= 5.0.1)

SoapClient->__call() -- Calls a SOAP function (deprecated)

설명

class SoapClient {
mixed __call ( string $function_name, array $arguments [, array $options [, array $input_headers [, array $output_headers]]] )
}

This method is deprecated. Use SoapClient->__soapCall() instead of it.

이전 | 위로 | 다음
is_soap_fault | 처음으로 | SoapClient->__construct()


SoapClient->__construct()

(No version information available, might be only in CVS)

SoapClient->__construct() -- SoapClient constructor

설명

class SoapClient {
__construct ( mixed $wsdl [, array $options] )
}

This constructor creates SoapClient objects in WSDL or non-WSDL mode.

매개변수

wsdl

URI of the WSDL file or NULL if working in non-WSDL mode.

참고: During development stage, you may want to disable WSDL caching by the mean of the soap.wsdl_cache_ttl php.ini setting, otherwise changes made to the WSDL file will have no effect until soap.wsdl_cache_ttl is expired.

options

An array of options. If working in WSDL mode, this parameter is optional. If working in non-WSDL mode, you must set the location and uri options, where location is the URL to request and uri is the target namespace of the SOAP service.

The style and use options only work in non-WSDL mode. In WSDL mode, they come from the WSDL file.

The soap_version option specifies whether to use SOAP 1.1, or SOAP 1.2 client.

For HTTP authentication, you may use the login and password options. For making an HTTP connection through a proxy server, use the options proxy_host, proxy_port, proxy_login and proxy_password. For HTTPS client certificate authentication use local_cert and passphrase options.

The compression option allows to use compression of HTTP SOAP requests and responses.

The encoding option defines internal character encoding. This option does not change the encoding of SOAP requests (it is always utf-8), but converts strings into it.

The classmap option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.

Setting the boolean trace option enables use of the
methods
SoapClient->__getLastRequest,

SoapClient->__getLastRequestHeaders,

SoapClient->__getLastResponse and

SoapClient->__getLastResponseHeaders.

The exceptions option is a boolean value defining whether soap errors throw exceptions of type SoapFault.

The connection_timeout option defines a timeout in seconds for the connection to the SOAP service. This option does not define a timeout for services with slow responses. To limit the time to wait for calls to finish the default_socket_timeout setting is available.

The typemap option is an array of type mappings. Type mapping is an array with keys type_name, type_ns (namespace URI), from_xml (callback accepting one string parameter) and to_xml (callback accepting one object parameter).

Other options are stream_context, features, cache_wsdl and user_agent.

예제

예 2165. SoapClient examples

<?php

$client = new SoapClient("some.wsdl");

$client = new SoapClient("some.wsdl", array('soap_version'   => SOAP_1_2));

$client = new SoapClient("some.wsdl", array('login'          => "some_name",
                                            'password'       => "some_password"));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080));

$client = new SoapClient("some.wsdl", array('proxy_host'     => "localhost",
                                            'proxy_port'     => 8080,
                                            'proxy_login'    => "some_name",
                                            'proxy_password' => "some_password"));

$client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/",
                                     'style'    => SOAP_DOCUMENT,
                                     'use'      => SOAP_LITERAL));

$client = new SoapClient("some.wsdl",
  array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));

$server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

이전 | 위로 | 다음
SoapClient->__call() | 처음으로 | SoapClient->__doRequest()


SoapClient->__doRequest()

(PHP 5 >= 5.0.1)

SoapClient->__doRequest() -- Performs a SOAP request

설명

class SoapClient {
string __doRequest ( string $request, string $location, string $action, int $version [, int $one_way] )
}

Performs SOAP request over HTTP.

This method can be overridden in subclasses to implement different transport layers, perform additional XML processing or other purpose.

매개변수

request

The XML SOAP request.

location

The URL to request.

action

The SOAP action.

version

The SOAP version.

one_way

반환값

The XML SOAP response.

변경 기록

버전 | 설명
5.1.3 | The one_way parameter was added.

예제

예 2166. Some examples

<?php
function Add($x,$y) {
  return $x+$y;
}

class LocalSoapClient extends SoapClient {

  function __construct($wsdl, $options) {
    parent::__construct($wsdl, $options);
    $this->server = new SoapServer($wsdl, $options);
    $this->server->addFunction('Add');
  }

  function __doRequest($request, $location, $action, $version) {
    ob_start();
    $this->server->handle($request);
    $response = ob_get_contents();
    ob_end_clean();
    return $response;
  }

}

$x = new LocalSoapClient(NULL,array('location'=>'test://',
                                   'uri'=>'http://testuri.org'));
var_dump($x->Add(3,4));
?>

이전 | 위로 | 다음
SoapClient->__construct() | 처음으로 | SoapClient->__getFunctions()


SoapClient->__getFunctions()

(PHP 5 >= 5.0.1)

SoapClient->__getFunctions() -- Returns list of SOAP functions

설명

class SoapClient {
array __getFunctions ( void )
}

Returns the list of SOAP functions.

참고: This function works only in WSDL mode.

반환값

The list of SOAP functions.

예제

예 2167. SoapClient->__getFunctions() example

<?php
$client = new SoapClient('some.wsdl');
var_dump($client->__getFunctions());
?>

참고

SoapClient->__construct()

이전 | 위로 | 다음
SoapClient->__doRequest() | 처음으로 | SoapClient->__getLastRequest()


SoapClient->__getLastRequest()

(PHP 5 >= 5.0.1)

SoapClient->__getLastRequest() -- Returns last SOAP request

설명

class SoapClient {
string __getLastRequest ( void )
}

참고: This method works only if the SoapClient object was created with the trace option.

반환값

The last SOAP request.

예제

예 2168. SoapClient->__getLastRequest() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>

참고

SoapClient->__construct()
SoapClient->__getLastRequestHeaders()
SoapClient->__getLastResponse()
SoapClient->__getLastResponseHeaders()

이전 | 위로 | 다음
SoapClient->__getFunctions() | 처음으로 | SoapClient->__getLastRequestHeaders()


SoapClient->__getLastRequestHeaders()

(PHP 5 >= 5.0.1)

SoapClient->__getLastRequestHeaders() -- Returns last SOAP request headers

설명

class SoapClient {
string __getLastRequestHeaders ( void )
}

참고: This method works only if the SoapClient object was created with the trace option.

반환값

The last SOAP request headers.

참고

SoapClient->__construct()
SoapClient->__getLastRequest()
SoapClient->__getLastResponse()
SoapClient->__getLastResponseHeaders()

이전 | 위로 | 다음
SoapClient->__getLastRequest() | 처음으로 | SoapClient->__getLastResponse()


SoapClient->__getLastResponse()

(PHP 5 >= 5.0.1)

SoapClient->__getLastResponse() -- Returns last SOAP response.

설명

class SoapClient {
string __getLastResponse ( void )
}

참고: This method works only if the SoapClient object was created with the trace option.

반환값

The last SOAP response.

예제

예 2169. SoapClient->__getLastResponse() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "RESPONSE:\n" . $client->__getLastResponse() . "\n";
?>

참고

SoapClient->__construct()
SoapClient->__getLastResponseHeaders()
SoapClient->__getLastRequest()
SoapClient->__getLastRequestHeaders()

이전 | 위로 | 다음
SoapClient->__getLastRequestHeaders() | 처음으로 | SoapClient->__getLastResponseHeaders()


SoapClient->__getLastResponseHeaders()

(PHP 5 >= 5.0.1)

SoapClient->__getLastResponseHeaders() -- Returns last SOAP response headers.

설명

class SoapClient {
string __getLastResponseHeaders ( void )
}

참고: This method works only if the SoapClient object was created with the trace option.

반환값

The last SOAP response headers.

참고

SoapClient->__construct()
SoapClient->__getLastResponse()
SoapClient->__getLastRequest()
SoapClient->__getLastRequestHeaders()

이전 | 위로 | 다음
SoapClient->__getLastResponse() | 처음으로 | SoapClient->__getTypes()


SoapClient->__getTypes()

(PHP 5 >= 5.0.1)

SoapClient->__getTypes() -- Returns list of SOAP types

설명

class SoapClient {
array __getTypes ( void )
}

This function works only in WSDL mode.

반환값

The list of SOAP types.

예제

예 2170. SoapClient->__getTypes() example

<?php
$client = new SoapClient("some.wsdl");
var_dump($client->__getTypes());
?>

참고

SoapClient->__construct()

이전 | 위로 | 다음
SoapClient->__getLastResponseHeaders() | 처음으로 | SoapClient->__setCookie()


SoapClient->__setCookie()

(PHP 5 >= 5.0.4)

SoapClient->__setCookie() -- Sets the cookie that will be sent with the SOAP request

설명

class SoapClient {
void __setCookie ( string $name [, string $value] )
}

Defines a cookie to be sent along with the SOAP requests.

참고: Calling this method will affect all following calls to SoapClient methods.

매개변수

name

The name of the cookie.

value

The value of the cookie. If not specified, the cookie will be deleted.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SoapClient->__getTypes() | 처음으로 | SoapClient->__soapCall()


SoapClient->__soapCall()

(No version information available, might be only in CVS)

SoapClient->__soapCall() -- Calls a SOAP function

설명

class SoapClient {
mixed __soapCall ( string $function_name, array $arguments [, array $options [, mixed $input_headers [, array &$output_headers]]] )
}

This is a low level API function that is used to make a SOAP call. Usually, in WSDL mode, you can simply call SOAP functions as SoapClient methods. This method useful in non-WSDL mode when soapaction is unknown, uri differs from the default or when sending and/or receiving SOAP Headers.

On error, a call to a SOAP function can cause PHP to throw exceptions or return a SoapFault object if exceptions are disabled. To check if the function call failed to catch the SoapFault exceptions, check the result with is_soap_fault().

반환값

SOAP functions may return one, or multiple values. If only one value is returned by the SOAP function, the return value of __soapCall will be a simple value (e.g. an integer, a string, etc). If multiple values are returned, __soapCall will return an associative array of named output parameters.

예제

예 2171. SoapClient->__soapCall() Examples

<?php

$client = new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);

$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
                    new SoapHeader(), $output_headers);

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c),
                    array('soapaction' => 'some_action',
                          'uri'        => 'some_uri'));
?>

참고

SoapClient->__construct()
SoapParam->__construct()
SoapVar->__construct()
SoapHeader->__construct()
SoapFault->__construct()
is_soap_fault()

이전 | 위로 | 다음
SoapClient->__setCookie() | 처음으로 | SoapFault->__construct()


SoapFault->__construct()

(No version information available, might be only in CVS)

SoapFault->__construct() -- SoapFault constructor

설명

class SoapFault {
__construct ( string $faultcode, string $faultstring [, string $faultactor [, mixed $detail [, string $faultname [, SoapHeader $headerfault]]]] )
}

This class is useful when you would like to send SOAP fault responses from the PHP handler. faultcode, faultstring, faultactor and details are standard elements of SOAP Fault;

매개변수

faultcode

The error code of the SoapFault.

faultstring

The error message of the SoapFault.

faultactor

A string identifying the actor that caused the error.

detail

faultname

Can be used to select the proper fault encoding from WSDL.

headerfault

Can be used during SOAP header handling to report an error in the response header.

예제

예 2172. Some examples

<?php
function test($x)
{
    return new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

It is possible to use PHP exception mechanism to throw SOAP Fault.

예 2173. Some examples

<?php
function test($x)
{
    throw new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

참고

SoapClient->__construct()
SoapClient->__soapCall()
SoapVar->__construct()
SoapParam->__construct()
SoapFault->__construct()
is_soap_fault()

이전 | 위로 | 다음
SoapClient->__soapCall() | 처음으로 | SoapHeader->__construct()


SoapHeader->__construct()

(No version information available, might be only in CVS)

SoapHeader->__construct() -- SoapHeader constructor

설명

class SoapHeader {
__construct ( string $namespace, string $name [, mixed $data [, bool $mustUnderstand [, mixed $actor]]] )
}

Constructs a new SoapHeader object.

매개변수

namespace

The namespace of the SOAP header element.

name

The name of the SOAP header element.

data

A SOAP header's content. It can be a PHP value or a SoapVar object.

mustUnderstand

Value of the mustUnderstand attribute of the SOAP header element.

actor

Value of the actor attribute of the SOAP header element.

예제

예 2174. Some examples

<?php
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$client->__soapCall("echoVoid", null, null,
                new SoapHeader('http://soapinterop.org/echoheader/',
                               'echoMeStringRequest',
                               'hello world'));
?>

참고

SoapClient->__soapCall()
SoapVar->__construct()
SoapParam->__construct()

이전 | 위로 | 다음
SoapFault->__construct() | 처음으로 | SoapParam->__construct()


SoapParam->__construct()

(No version information available, might be only in CVS)

SoapParam->__construct() -- SoapParam constructor

설명

class SoapParam {
__construct ( mixed $data, string $name )
}

Constructs a new SoapParam object.

매개변수

data

The data to pass or return. You can pass this parameter directly as PHP value, but in this case it will be named as paramN and the SOAP Service may not understand it.

name

The parameter name.

예제

예 2175. Some examples

<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
                                    'uri'      => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
                      new SoapParam($b, "b"),
                      new SoapParam($c, "c"));
?>

참고

SoapClient->__soapCall()
SoapVar->__construct()

이전 | 위로 | 다음
SoapHeader->__construct() | 처음으로 | SoapServer->addFunction()


SoapServer->addFunction()

(PHP 5 >= 5.0.1)

SoapServer->addFunction() -- Adds one or several functions those will handle SOAP requests

설명

class SoapServer {
void addFunction ( mixed $functions )
}

Exports one or more functions for remote clients.

매개변수

functions

To export one function, pass the function name into this parameter as a string.

To export several functions, pass an array of function names.

To export all the functions, pass a special constant SOAP_FUNCTIONS_ALL.

참고: functions must receive all input arguments in the same order as defined in the WSDL file (They should not receive any output parameters as arguments) and return one or more values. To return several values they must return an array with named output parameters.

반환값

값을 반환하지 않습니다.

예제

예 2176. Some examples

<?php

function echoString($inputString)
{
    return $inputString;
}

$server->addFunction("echoString");

function echoTwoStrings($inputString1, $inputString2)
{
    return array("outputString1" => $inputString1,
                 "outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));

$server->addFunction(SOAP_FUNCTIONS_ALL);

?>

참고

SoapServer->__construct()
SoapServer->setClass()

이전 | 위로 | 다음
SoapParam->__construct() | 처음으로 | SoapServer->__construct()


SoapServer->__construct()

(No version information available, might be only in CVS)

SoapServer->__construct() -- SoapServer constructor

설명

class SoapServer {
__construct ( mixed $wsdl [, array $options] )
}

This constructor allows the creation of SoapServer objects in WSDL or non-WSDL mode.

매개변수

wsdl

If you want the WSDL mode, you must set this to the URI of a WSDL file. In the other case, you must set this to NULL and set the uri option.

options

Allow setting a default SOAP version (soap_version), internal character encoding (encoding), and actor URI (actor).

The classmap option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.

The typemap option is an array of type mappings. Type mapping is an array with keys type_name, type_ns (namespace URI), from_xml (callback accepting one string parameter) and to_xml (callback accepting one object parameter).

Other options are features and cache_wsdl.

예제

예 2177. Some examples

<?php

$server = new SoapServer("some.wsdl");

$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));

$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C"));

$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class MyBook {
    public $title;
    public $author;
}

$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

이전 | 위로 | 다음
SoapServer->addFunction() | 처음으로 | SoapServer->fault()


SoapServer->fault()

(No version information available, might be only in CVS)

SoapServer->fault() -- Issue SoapServer fault indicating an error

설명

class SoapServer {
void fault ( string $code, string $string [, string $actor [, mixed $details [, string $name]]] )
}
주의

This function is currently not documented; only the argument list is available.

참고

SoapFault->__construct()

이전 | 위로 | 다음
SoapServer->__construct() | 처음으로 | SoapServer->getFunctions()


SoapServer->getFunctions()

(PHP 5 >= 5.0.1)

SoapServer->getFunctions() -- Returns list of defined functions

설명

class SoapServer {
array getFunctions ( void )
}

This method returns the list of all functions added by SoapServer->addFunction() or SoapServer->setClass().

반환값

The list of all functions.

예제

예 2178. Some examples

<?php
$server = new SoapServer(NULL, array("uri" => "http://test-uri"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $server->handle();
} else {
  echo "This SOAP server can handle following functions: ";
  $functions = $server->getFunctions();
  foreach($functions as $func) {
    echo $func . "\n";
  }
}
?>

참고

SoapServer->__construct()
SoapServer->addFunction()
SoapServer->setClass()

이전 | 위로 | 다음
SoapServer->fault() | 처음으로 | SoapServer->handle()


SoapServer->handle()

(PHP 5 >= 5.0.1)

SoapServer->handle() -- Handles a SOAP request

설명

class SoapServer {
void handle ( [string $soap_request] )
}

Processes a SOAP request, calls necessary functions, and sends a response back.

매개변수

soap_request

The SOAP request. If this argument is omitted, the request is supposed to be in the $HTTP_RAW_POST_DATA PHP variable.

반환값

값을 반환하지 않습니다.

예제

예 2179. Some examples

<?php
function test($x)
{
    return $x;
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

참고

SoapServer->__construct()

이전 | 위로 | 다음
SoapServer->getFunctions() | 처음으로 | SoapServer->setClass()


SoapServer->setClass()

(PHP 5 >= 5.0.1)

SoapServer->setClass() -- Sets class which will handle SOAP requests

설명

class SoapServer {
void setClass ( string $class_name [, mixed $args [, mixed $...]] )
}

Exports all methods from specified class.

The object can be made persistent across request for a given PHP session with the SoapServer->setPersistence() method.

매개변수

class_name

The name of the exported class.

args

These optional parameters will be passed to the default class constructor during object creation.

반환값

값을 반환하지 않습니다.

예제

예 2180. Some examples

<?php

class foo {
    function foo()
    {
    }
}
$server->setClass("foo");

class bar {
    function bar($x, $y)
    {
    }
}
$server->setClass("bar", $arg1, $arg2);

?>

참고

SoapServer->__construct()
SoapServer->addFunction()
SoapServer->setPersistence()

이전 | 위로 | 다음
SoapServer->handle() | 처음으로 | SoapServer->setPersistence()


SoapServer->setPersistence()

(PHP 5 >= 5.1.2)

SoapServer->setPersistence() -- Sets persistence mode of SoapServer

설명

class SoapServer {
void setPersistence ( int $mode )
}

This function allows saving data between requests in a PHP session. It works only with a server that exports functions from a class with SoapServer->setClass().

매개변수

mode

One of the SOAP_PERSISTENCE_XXX constants.

반환값

값을 반환하지 않습니다.

예제

예 2181. Some examples

<?php

$server->setPersistence(SOAP_PERSISTENCE_SESSION);

$server->setPersistence(SOAP_PERSISTENCE_REQUEST);

?>

참고: The persistence SOAP_PERSISTENCE_SESSION makes persistent only object of given class, but not the class static data. You may use $this->bar instead of self::$bar.

참고

SoapServer->__construct()
SoapServer->setClass()

이전 | 위로 | 다음
SoapServer->setClass() | 처음으로 | SoapVar->__construct()


SoapVar->__construct()

(No version information available, might be only in CVS)

SoapVar->__construct() -- SoapVar constructor

설명

class SoapVar {
__construct ( mixed $data, int $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace]]]] )
}

Constructs a new SoapVar object.

매개변수

data

The data to pass or return.

encoding

The encoding ID, one of the XSD_... constants.

type_name

The type name.

type_namespace

The type namespace.

node_name

The XML node name.

node_namespace

The XML node namespace.

예제

예 2182. Some examples

<?php
class SOAPStruct {
    function SOAPStruct($s, $i, $f)
    {
        $this->varString = $s;
        $this->varInt = $i;
        $this->varFloat = $f;
    }
}
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$struct = new SOAPStruct('arg', 34, 325.325);
$soapstruct = new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd");
$client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
?>

참고

SoapClient->__soapCall()
SoapParam->__construct()

이전 | 위로 | 다음
SoapServer->setPersistence() | 처음으로 | use_soap_error_handler


spl_autoload

(PHP 5 >= 5.1.2)

spl_autoload -- Default implementation for __autoload()

Description

void spl_autoload ( string $class_name [, string $file_extensions] )

This function is intended to be used as a default implementation for __autoload(). If nothing else is specified and autoload_register() is called without any parameters then this functions will be used for any later call to __autoload(). By default it checks all include paths to contain filenames built up by the lowercase class name appended by the filename extensions .inc and .php.

이전 | 위로 | 다음
spl_autoload_unregister | 처음으로 | spl_classes


spl_autoload_call

(PHP 5 >= 5.1.2)

spl_autoload_call -- Try all registered __autoload() function to load the requested class

Description

void spl_autoload_call ( string $class_name )

This function can be used to manually search for a class or interface using the registered __autoload functions.

이전 | 위로 | 다음
iterator_to_array | 처음으로 | spl_autoload_extensions


spl_autoload_extensions

(PHP 5 >= 5.1.2)

spl_autoload_extensions -- Register and return default file extensions for spl_autoload

Description

string spl_autoload_extensions ( [string $file_extensions] )

This function allows to modify and check the file extensions the built in __autoload fallback function spl_autoload will be using. When calling without an argument it simply returns the current list of extensions each separated by comma. To modify the list of file extensions simply invoke the functions with the new list of file extensions to use in a single string with each extensions separated by comma.

이전 | 위로 | 다음
spl_autoload_call | 처음으로 | spl_autoload_functions


spl_autoload_functions

(PHP 5 >= 5.1.2)

spl_autoload_functions -- Return all registered __autoload() functions

Description

array spl_autoload_functions ( void )

This function returns an array of all registered __autoload functions. If the autoload stack is not activated then the return value is false. If no function is registered the return value will be an empty array.

이전 | 위로 | 다음
spl_autoload_extensions | 처음으로 | spl_autoload_register


spl_autoload_register

(PHP 5 >= 5.1.2)

spl_autoload_register -- Register given function as __autoload() implementation

Description

bool spl_autoload_register ( [callback $autoload_function] )

Register a function with the spl provided __autoload stack. If the stack is not yet activated it will be activated. If no parameter is provided the default implementation spl_autoload will be registered. When registering is successful the return value is true and upon failure false is being returned.

If your code has an existing __autoload function then this function must explicitly registered on the __autoload stack. This is because spl_autoload_register() will effectively replace the engine cache for the __autoload function by either spl_autoload() or spl_autoload_call().

이전 | 위로 | 다음
spl_autoload_functions | 처음으로 | spl_autoload_unregister


spl_autoload_unregister

(PHP 5 >= 5.1.2)

spl_autoload_unregister -- Unregister given function as __autoload() implementation

Description

bool spl_autoload_unregister ( mixed $autoload_function )

Unregister a function from the spl provided __autoload stack. If the stack is activated and empty after unregistering the given function then it will be deactivated. When unregistering is successful the return value is true and upon failure false is being returned.

When this function results in the autoload stack being activated an existing __autoload function will not be reactivated.

이전 | 위로 | 다음
spl_autoload_register | 처음으로 | spl_autoload


spl_object_hash

(PHP 5 >= 5.2.0)

spl_object_hash -- Return hash id for given object

Description

string spl_object_hash ( object $obj )

This function returns an unique identifier for the object. This id can be used as a hash key for storing objects or for identifying an object.

매개변수

object

Any object.

반환값

Returns a string that is unique for each object and is always the same for the same object.

예제

예 2209. A spl_object_hash() example

<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>

이전 | 위로 | 다음
spl_classes | 처음으로 | CLVI. SQLite Functions


sqlite_key

이전 CLVI. SQLite Functions 다음

sqlite_key,

(PHP 5 >= 5.1.0)

sqlite_key, SQLiteResult->key -- Returns the current row index

설명

int sqlite_key ( resource $result )

Object oriented style (method):

class SQLiteResult {
int key ( void )
}

sqlite_key() returns the current row index of the buffered result set result.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

참고: 이 함수는 버퍼 없는 결과 핸들(unbuffered result handles)을 다룰 수 없습니다.

반환값

Returns the current row index of the buffered result set result.

변경 기록

버전 | 설명
5.0.4 | Prior to PHP 5.0.4, sqlite_key() was only able to be called as a method on a SQLiteResult object, not procedurally.

참고

sqlite_next()
sqlite_current()
sqlite_rewind()

이전 | 위로 | 다음
sqlite_has_prev | 처음으로 | sqlite_last_error


sqlite_valid

이전 CLVI. SQLite Functions 다음

sqlite_valid,

(PHP 5)

sqlite_valid, SQLiteResult->valid, SQLiteUnbuffered->valid -- Returns whether more rows are available

설명

bool sqlite_valid ( resource $result )

Object oriented style (method):

class SQLiteResult {
bool valid ( void )
} class SQLiteUnbuffered {
bool valid ( void )
}

Finds whether more rows are available from the given result handle.

매개변수

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

참고: 이 함수는 버퍼 없는 결과 핸들(unbuffered result handles)을 다룰 수 없습니다.

반환값

Returns TRUE if there are more rows available from the result handle, or FALSE otherwise.

참고

sqlite_num_rows()
sqlite_changes()

이전 | 위로 | 다음
sqlite_unbuffered_query | 처음으로 | CLVII. SQLite Functions (PDO_SQLITE)


ssh2_auth_hostbased_file

(PECL ssh2:0.10-0.9)

ssh2_auth_hostbased_file -- Authenticate using a public hostkey

설명

bool ssh2_auth_hostbased_file ( resource $session, string $username, string $hostname, string $pubkeyfile, string $privkeyfile [, string $passphrase [, string $local_username]] )

Authenticate using a public hostkey read from a file.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

hostname

pubkeyfile

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

local_username

If local_username is omitted, then the value for username will be used for it.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2237. Authentication using a public hostkey

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_hostbased_file($connection, 'remoteusername', 'myhost.example.com',
                             '/usr/local/etc/hostkey_rsa.pub',
                             '/usr/local/etc/hostkey_rsa', 'secret',
                             'localusername')) {
  echo "Public Key Hostbased Authentication Successful\n";
} else {
  die('Public Key Hostbased Authentication Failed');
}
?>

주의

참고: ssh2_auth_hostbased_file() requires libssh2 >= 0.7 and PHP/SSH2 >= 0.7

이전 | 위로 | 다음
CLVIII. Secure Shell2 Functions | 처음으로 | ssh2_auth_none


ssh2_auth_none

(PECL ssh2:0.10-0.9)

ssh2_auth_none -- Authenticate as "none"

설명

mixed ssh2_auth_none ( resource $session, string $username )

Attempt "none" authentication which usually will (and should) fail. As part of the failure, this function will return an array of accepted authentication methods.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

반환값

Returns TRUE if the server doesc accept "none" as an authentication method, or an array of accepted authentication methods on failure.

예제

예 2238. Retreiving a list of authentication methods

<?php
$connection = ssh2_connect('shell.example.com', 22);

$auth_methods = ssh2_auth_none($connection, 'user');

if (in_array('password', $auth_methods)) {
  echo "Server supports password based authentication\n";
}
?>

이전 | 위로 | 다음
ssh2_auth_hostbased_file | 처음으로 | ssh2_auth_password


ssh2_auth_password

(PECL ssh2:0.10-0.9)

ssh2_auth_password -- Authenticate over SSH using a plain password

설명

bool ssh2_auth_password ( resource $session, string $username, string $password )

Authenticate over SSH using a plain password

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

password

Password for username

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2239. Authenticating with a password

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_password($connection, 'username', 'secret')) {
  echo "Authentication Successful!\n";
} else {
  die('Authentication Failed...');
}
?>

이전 | 위로 | 다음
ssh2_auth_none | 처음으로 | ssh2_auth_pubkey_file


ssh2_auth_pubkey_file

(PECL ssh2:0.10-0.9)

ssh2_auth_pubkey_file -- Authenticate using a public key

설명

bool ssh2_auth_pubkey_file ( resource $session, string $username, string $pubkeyfile, string $privkeyfile [, string $passphrase] )

Authenticate using a public key read from a file.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

pubkeyfile

privkeyfile

passphrase

If privkeyfile is encrypted (which it should be), the passphrase must be provided.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2240. Authentication using a public key

<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_pubkey_file($connection, 'username',
                          '/home/username/.ssh/id_rsa.pub',
                          '/home/username/.ssh/id_rsa', 'secret')) {
  echo "Public Key Authentication Successful\n";
} else {
  die('Public Key Authentication Failed');
}
?>

이전 | 위로 | 다음
ssh2_auth_password | 처음으로 | ssh2_connect


ssh2_connect

(PECL ssh2:0.10-0.9)

ssh2_connect -- Connect to an SSH server

설명

resource ssh2_connect ( string $host [, int $port [, array $methods [, array $callbacks]]] )

Establish a connection to a remote SSH server.

Once connected, the client should verify the server's hostkey using ssh2_fingerprint(), then authenticate using either password or public key.

매개변수

host

port

methods

methods may be an associative array with up to four parameters as described below.

표 295. methods may be an associative array with any or all of the following parameters.

Index | Meaning | Supported Values*
kex | List of key exchange methods to advertise, comma separated in order of preference. | diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, and diffie-hellman-group-exchange-sha1
hostkey | List of hostkey methods to advertise, come separated in order of preference. | ssh-rsa and ssh-dss
client_to_server | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from client to server.
server_to_client | Associative array containing crypt, compression, and message authentication code (MAC) method preferences for messages sent from client to server.

* - Supported Values are dependent on methods supported by underlying library. See » libssh2 documentation for additional information.

표 296. client_to_server and server_to_client may be an associative array with any or all of the following parameters.

Index | Meaning | Supported Values*
crypt | List of crypto methods to advertise, comma separated in order of preference. | rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, and none**
comp | List of compression methods to advertise, comma separated in order of preference. | zlib and none
mac | List of MAC methods to advertise, come separated in order of preference. | hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com, and none**

Crypt and MAC method "none": For security reasons, none is disabled by the underlying » libssh2 library unless explicitly enabled during build time by using the appropriate ./configure options. See documentation for the underlying library for more information.

callbacks

callbacks may be an associative array with any or all of the following parameters.

표 297. Callbacks parameters

Index | Meaning | Prototype
ignore | Name of function to call when an SSH2_MSG_IGNORE packet is received | void ignore_cb($message)
debug | Name of function to call when an SSH2_MSG_DEBUG packet is received | void debug_cb($message, $language, $always_display)
macerror | Name of function to call when a packet is received but the message authentication code failed. If the callback returns TRUE, the mismatch will be ignored, otherwise the connection will be terminated. | bool macerror_cb($packet)
disconnect | Name of function to call when an SSH2_MSG_DISCONNECT packet is received | void disconnect_cb($reason, $message, $language)

반환값

Returns a resource on success, or FALSE on error.

예제

예 2241. ssh2_connect() example

Open a connection forcing 3des-cbc when sending packets, any strength aes cipher when receiving packets, no compression in either direction, and Group1 key exchange.

<?php
/* Notify the user if the server terminates the connection */
function my_ssh_disconnect($reason, $message, $language) {
  printf("Server disconnected with reason code [%d] and message: %s\n",
         $reason, $message);
}

$methods = array(
  'kex' => 'diffie-hellman-group1-sha1',
  'client_to_server' => array(
    'crypt' => '3des-cbc',
    'comp' => 'none'),
  'server_to_client' => array(
    'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
    'comp' => 'none'));

$callbacks = array('disconnect' => 'my_ssh_disconnect');

$connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks);
if (!$connection) die('Connection failed');
?>

참고

ssh2_fingerprint()
ssh2_auth_none()
ssh2_auth_password()
ssh2_auth_pubkey_file()

이전 | 위로 | 다음
ssh2_auth_pubkey_file | 처음으로 | ssh2_exec


ssh2_exec

(PECL ssh2:0.10-0.9)

ssh2_exec -- Execute a command on a remote server

설명

resource ssh2_exec ( resource $session, string $command [, string $pty [, array $env [, int $width [, int $height [, int $width_height_type]]]]] )

Execute a command at the remote end and allocate a channel for it.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

command

pty

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

반환값

Returns a stream on success or FALSE on failure.

예제

예 2242. Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');
?>

참고

ssh2_connect()
ssh2_shell()
ssh2_tunnel()

이전 | 위로 | 다음
ssh2_connect | 처음으로 | ssh2_fetch_stream


ssh2_fetch_stream

(PECL ssh2:0.10-0.9)

ssh2_fetch_stream -- Fetch an extended data stream

설명

resource ssh2_fetch_stream ( resource $channel, int $streamid )

Fetches an alternate substream associated with an SSH2 channel stream. The SSH2 protocol currently defines only one substream, STDERR, which has a substream ID of SSH2_STREAM_STDERR (defined as 1).

매개변수

channel

streamid

An SSH2 channel stream.

반환값

Returns the requested stream resource.

예제

예 2243. Opening a shell and retrieving the stderr stream associated with it

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stdio_stream = ssh2_shell($connection);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
?>

참고

ssh2_shell()
ssh2_exec()
ssh2_connect()

이전 | 위로 | 다음
ssh2_exec | 처음으로 | ssh2_fingerprint


ssh2_fingerprint

(PECL ssh2:0.10-0.9)

ssh2_fingerprint -- Retreive fingerprint of remote server

설명

string ssh2_fingerprint ( resource $session [, int $flags] )

Returns a server hostkey hash from an active session.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

flags

flags may be either of SSH2_FINGERPRINT_MD5 or SSH2_FINGERPRINT_SHA1 logically ORed with SSH2_FINGERPRINT_HEX or SSH2_FINGERPRINT_RAW. Defaults to SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX.

반환값

Returns the hostkey hash as a string.

예제

예 2244. Checking the fingerprint against a known value

<?php
$known_host = '6F89C2F0A719B30CC38ABDF90755F2E4';

$connection = ssh2_connect('shell.example.com', 22);

$fingerprint = ssh2_fingerprint($connection,
               SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);

if ($fingerprint != $known_host) {
  die("HOSTKEY MISMATCH!\n" .
      "Possible Man-In-The-Middle Attack?");
}
?>

이전 | 위로 | 다음
ssh2_fetch_stream | 처음으로 | ssh2_methods_negotiated


ssh2_methods_negotiated

(PECL ssh2:0.10-0.9)

ssh2_methods_negotiated -- Return list of negotiated methods

설명

array ssh2_methods_negotiated ( resource $session )

Returns list of negotiated methods.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

반환값

예제

예 2245. Determining what methods were negotiated

<?php
$connection = ssh2_connect('shell.example.com', 22);
$methods = ssh2_methods_negotiated($connection);

echo "Encryption keys were negotiated using: {$methods['kex']}\n";
echo "Server identified using an {$methods['hostkey']} with ";
echo "fingerprint: " . ssh2_fingerprint($connection) . "\n";

echo "Client to Server packets will use methods:\n";
echo "\tCrypt: {$methods['client_to_server']['crypt']}\n";
echo "\tComp: {$methods['client_to_server']['comp']}\n";
echo "\tMAC: {$methods['client_to_server']['mac']}\n";

echo "Server to Client packets will use methods:\n";
echo "\tCrypt: {$methods['server_to_client']['crypt']}\n";
echo "\tComp: {$methods['server_to_client']['comp']}\n";
echo "\tMAC: {$methods['server_to_client']['mac']}\n";

?>

참고

ssh2_connect()

이전 | 위로 | 다음
ssh2_fingerprint | 처음으로 | ssh2_publickey_add


ssh2_publickey_add

(PECL ssh2:0.10)

ssh2_publickey_add -- Add an authorized publickey

설명

bool ssh2_publickey_add ( resource $pkey, string $algoname, string $blob [, bool $overwrite [, array $attributes]] )

참고: 공개키 부시스템은 서버에서 공개키를 관리하여 어떤 클라이언트가 이미 인증되었는지 확인하는데 사용합니다. 공개키를 사용하여 원격 시스템을 인증하려면 ssh2_auth_pubkey_file() 함수를 사용하십시오.

매개변수

pkey

Publickey Subsystem resource created by ssh2_publickey_init().

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

overwrite

If the specified key already exists, should it be overwritten?

attributes

Associative array of attributes to assign to this public key. Refer to ietf-secsh-publickey-subsystem for a list of supported attributes. To mark an attribute as mandatory, precede its name with an asterisk. If the server is unable to support an attribute marked mandatory, it will abort the add process.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2246. Adding a publickey with ssh2_publickey_add()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'password');
$pkey = ssh2_publickey_init($ssh2);

$keyblob = base64_decode('
AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
69GmnYC9PNqEYq/1TP+HF10=');

ssh2_publickey_add($ssh2, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>

참고

ssh2_publickey_init()
ssh2_publickey_remove()
ssh2_publickey_list()

이전 | 위로 | 다음
ssh2_methods_negotiated | 처음으로 | ssh2_publickey_init


ssh2_publickey_init

(PECL ssh2:0.10)

ssh2_publickey_init -- Initialize Publickey subsystem

설명

resource ssh2_publickey_init ( resource $session )

Request the Publickey subsystem from an already connected SSH2 server.

The publickey subsystem allows an already connected and authenticated client to manage the list of authorized public keys stored on the target server in an implementation agnostic manner. If the remote server does not support the publickey subsystem, the ssh2_publickey_init() function will return FALSE.

매개변수

session

반환값

Returns an SSH2 Publickey Subsystem resource for use with all other ssh2_publickey_*() methods, or FALSE on failure.

주의

참고: 공개키 부시스템은 서버에서 공개키를 관리하여 어떤 클라이언트가 이미 인증되었는지 확인하는데 사용합니다. 공개키를 사용하여 원격 시스템을 인증하려면 ssh2_auth_pubkey_file() 함수를 사용하십시오.

참고

ssh2_publickey_add()
ssh2_publickey_remove()
ssh2_publickey_list()

이전 | 위로 | 다음
ssh2_publickey_add | 처음으로 | ssh2_publickey_list


ssh2_publickey_list

(PECL ssh2:0.10)

ssh2_publickey_list -- List currently authorized publickeys

설명

array ssh2_publickey_list ( resource $pkey )

List currently authorized publickeys.

매개변수

pkey

Publickey Subsystem resource

반환값

Returns a numerically indexed array of keys, each of which is an associative array containing: name, blob, and attrs elements.

표 298. Publickey elements

Array Key | Meaning
name | Name of algorithm used by this publickey, for example: ssh-dss or ssh-rsa.
blob | Publickey blob as raw binary data.
attrs | Attributes assigned to this publickey. The most common attribute, and the only one supported by publickey version 1 servers, is comment, which may be any freeform string.

예제

예 2247. Listing authorized keys with ssh2_publickey_list()

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'secret');
$pkey = ssh2_publickey_init($ssh2);

$list = ssh2_publickey_list($pkey);

foreach($list as $key) {
  echo "Key: {$key['name']}\n";
  echo "Blob: " . chunk_split(base64_encode($key['blob']), 40, "\n") . "\n";
  echo "Comment: {$key['attrs']['comment']}\n\n";
}
?>

위 예제의 출력:

Key: ssh-rsa
Blob: AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5P
TrLRdjNONxXH1tVFGn0Bd26BF0aCP9qyJRlvdJ3j
4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xjza
Lpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VE
HYckxQ16CjSTibI5X69GmnYC9PNqEYq/1TP+HF10
Comment: John's Key

Key: ssh-rsa
Blob: AAAAB3NzaHVt6VqSGd5C1yc2EAAAABIwA232dnJA
AIEA5HVt6VqSGd5PTrLRdjNONxX/1TP+HF1HVt6V
qSGd50H1tVFGn0BB3NzaC1yc2EAd26BF0aCP9qyJ
RlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26HVt6Vq
SGd5sDHwfL351xjzaLpipu\BGB3NzaC1yc2EA/1T
Comment: Alice's Key

주의

참고: 공개키 부시스템은 서버에서 공개키를 관리하여 어떤 클라이언트가 이미 인증되었는지 확인하는데 사용합니다. 공개키를 사용하여 원격 시스템을 인증하려면 ssh2_auth_pubkey_file() 함수를 사용하십시오.

참고

ssh2_publickey_init()
ssh2_publickey_add()
ssh2_publickey_remove()

이전 | 위로 | 다음
ssh2_publickey_init | 처음으로 | ssh2_publickey_remove


ssh2_publickey_remove

(PECL ssh2:0.10)

ssh2_publickey_remove -- Remove an authorized publickey

설명

bool ssh2_publickey_remove ( resource $pkey, string $algoname, string $blob )

Removes an authorized publickey.

매개변수

pkey

Publickey Subsystem Resource

algoname

Publickey algorithm (e.g.): ssh-dss, ssh-rsa

blob

Publickey blob as raw binary data

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

참고: 공개키 부시스템은 서버에서 공개키를 관리하여 어떤 클라이언트가 이미 인증되었는지 확인하는데 사용합니다. 공개키를 사용하여 원격 시스템을 인증하려면 ssh2_auth_pubkey_file() 함수를 사용하십시오.

참고

ssh2_publickey_init()
ssh2_publickey_add()
ssh2_publickey_list()

이전 | 위로 | 다음
ssh2_publickey_list | 처음으로 | ssh2_scp_recv


ssh2_scp_recv

(PECL ssh2:0.10-0.9)

ssh2_scp_recv -- Request a file via SCP

설명

bool ssh2_scp_recv ( resource $session, string $remote_file, string $local_file )

Copy a file from the remote server to the local filesystem using the SCP protocol.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

remote_file

Path to the remote file.

local_file

Path to the local file.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2248. Downloading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_recv($connection, '/remote/filename', '/local/filename');
?>

참고

ssh2_scp_send()
copy()

이전 | 위로 | 다음
ssh2_publickey_remove | 처음으로 | ssh2_scp_send


ssh2_scp_send

(PECL ssh2:0.10-0.9)

ssh2_scp_send -- Send a file via SCP

설명

bool ssh2_scp_send ( resource $session, string $local_file, string $remote_file [, int $create_mode] )

Copy a file from the local filesystem to the remote server using the SCP protocol.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

local_file

Path to the local file.

remote_file

Path to the remote file.

create_mode

The file will be created with the mode specified by create_mode.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2249. Uploading a file via SCP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_send($connection, '/local/filename', '/remote/filename', 0644);
?>

참고

ssh2_scp_recv()
copy()

이전 | 위로 | 다음
ssh2_scp_recv | 처음으로 | ssh2_sftp_lstat


ssh2_sftp

(PECL ssh2:0.10-0.9)

ssh2_sftp -- Initialize SFTP subsystem

설명

resource ssh2_sftp ( resource $session )

Request the SFTP subsystem from an already connected SSH2 server.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

반환값

This method returns an SSH2 SFTP resource for use with all other ssh2_sftp_*() methods and the ssh2.sftp:// fopen wrapper.

예제

예 2259. Opening a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
?>

참고

ssh2_scp_recv()
ssh2_scp_send()

이전 | 위로 | 다음
ssh2_sftp_unlink | 처음으로 | ssh2_shell


ssh2_sftp_lstat

(PECL ssh2:0.10-0.9)

ssh2_sftp_lstat -- Stat a symbolic link

설명

array ssh2_sftp_lstat ( resource $sftp, string $path )

Stats a symbolic link on the remote filesystem without following the link.

This function is similar to using the lstat() function with the ssh2.sftp:// wrapper in PHP5 and returns the same values.

매개변수

sftp

path

Path to the remote symbolic link.

반환값

See the documentation for stat() for details on the values which may be returned.

예제

예 2250. Stating a symbolic link via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_lstat($sftp, '/path/to/symlink');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

참고

ssh2_sftp_stat()
lstat()
stat()

이전 | 위로 | 다음
ssh2_scp_send | 처음으로 | ssh2_sftp_mkdir


ssh2_sftp_mkdir

(PECL ssh2:0.10-0.9)

ssh2_sftp_mkdir -- Create a directory

설명

bool ssh2_sftp_mkdir ( resource $sftp, string $dirname [, int $mode [, bool $recursive]] )

Creates a directory on the remote file server with permissions set to mode.

This function is similar to using mkdir() with the ssh2.sftp:// wrapper.

매개변수

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

Path of the new directory.

mode

Permissions on the new directory.

recursive

If recursive is TRUE any parent directories required for dirname will be automatically created as well.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2251. Creating a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_mkdir($sftp, '/home/username/newdir');
/* Or:  mkdir("ssh2.sftp://$sftp/home/username/newdir"); */
?>

참고

mkdir()
ssh2_sftp_rmdir()

이전 | 위로 | 다음
ssh2_sftp_lstat | 처음으로 | ssh2_sftp_readlink


ssh2_sftp_readlink

(PECL ssh2:0.10-0.9)

ssh2_sftp_readlink -- Return the target of a symbolic link

설명

string ssh2_sftp_readlink ( resource $sftp, string $link )

Returns the target of a symbolic link.

매개변수

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

link

Path of the symbolic link.

반환값

Returns the target of the symbolic link.

예제

예 2252. Reading a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$target = ssh2_sftp_readlink($sftp, '/tmp/mysql.sock');
/* $target is now (e.g.): '/var/run/mysql.sock' */
?>

참고

readlink()
ssh2_sftp_symlink()

이전 | 위로 | 다음
ssh2_sftp_mkdir | 처음으로 | ssh2_sftp_realpath


ssh2_sftp_realpath

(PECL ssh2:0.10-0.9)

ssh2_sftp_realpath -- Resolve the realpath of a provided path string

설명

string ssh2_sftp_realpath ( resource $sftp, string $filename )

Translates filename into the effective real path on the remote filesystem.

매개변수

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

반환값

Returns the real path as a string.

예제

예 2253. Resolving a pathname

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

$realpath = ssh2_sftp_realpath($sftp, '/home/username/../../../..//./usr/../etc/passwd');
/* $realpath is now: '/etc/passwd' */
?>

참고

realpath()
ssh2_sftp_symlink()
ssh2_sftp_readlink()

이전 | 위로 | 다음
ssh2_sftp_readlink | 처음으로 | ssh2_sftp_rename


ssh2_sftp_rename

(PECL ssh2:0.10-0.9)

ssh2_sftp_rename -- Rename a remote file

설명

bool ssh2_sftp_rename ( resource $sftp, string $from, string $to )

Renames a file on the remote filesystem.

매개변수

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

from

to

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2254. Renaming a file via sftp

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rename($sftp, '/home/username/oldname', '/home/username/newname');
?>

참고

rename()

이전 | 위로 | 다음
ssh2_sftp_realpath | 처음으로 | ssh2_sftp_rmdir


ssh2_sftp_rmdir

(PECL ssh2:0.10-0.9)

ssh2_sftp_rmdir -- Remove a directory

설명

bool ssh2_sftp_rmdir ( resource $sftp, string $dirname )

Removes a directory from the remote file server.

This function is similar to using rmdir() with the ssh2.sftp:// wrapper.

매개변수

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

dirname

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2255. Removing a directory on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_rmdir($sftp, '/home/username/deltodel');
/* Or:  rmdir("ssh2.sftp://$sftp/home/username/dirtodel"); */
?>

참고

rmdir()
ssh2_sftp_mkdir()

이전 | 위로 | 다음
ssh2_sftp_rename | 처음으로 | ssh2_sftp_stat


ssh2_sftp_stat

(PECL ssh2:0.10-0.9)

ssh2_sftp_stat -- Stat a file on a remote filesystem

설명

array ssh2_sftp_stat ( resource $sftp, string $path )

Stats a file on the remote filesystem following any symbolic links.

This function is similar to using the stat() function with the ssh2.sftp:// wrapper in PHP5 and returns the same values.

매개변수

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

path

반환값

See the documentation for stat() for details on the values which may be returned.

예제

예 2256. Stating a file via SFTP

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_stat($sftp, '/path/to/file');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>

참고

ssh2_sftp_lstat()
lstat()
stat()

이전 | 위로 | 다음
ssh2_sftp_rmdir | 처음으로 | ssh2_sftp_symlink


ssh2_sftp_symlink

(PECL ssh2:0.10-0.9)

ssh2_sftp_symlink -- Create a symlink

설명

bool ssh2_sftp_symlink ( resource $sftp, string $target, string $link )

Creates a symbolic link named link on the remote filesystem pointing to target.

매개변수

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

target

Target of the symbolic link.

link

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2257. Creating a symbolic link

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_symlink($sftp, '/var/run/mysql.sock', '/tmp/mysql.sock');
?>

참고

ssh2_sftp_readlink()
symlink()

이전 | 위로 | 다음
ssh2_sftp_stat | 처음으로 | ssh2_sftp_unlink


ssh2_sftp_unlink

(PECL ssh2:0.10-0.9)

ssh2_sftp_unlink -- Delete a file

설명

bool ssh2_sftp_unlink ( resource $sftp, string $filename )

Deletes a file on the remote filesystem.

매개변수

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2258. Deleting a file

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_unlink($sftp, '/home/username/stale_file');
?>

참고

unlink()

이전 | 위로 | 다음
ssh2_sftp_symlink | 처음으로 | ssh2_sftp


ssh2_shell

(PECL ssh2:0.10-0.9)

ssh2_shell -- Request an interactive shell

설명

resource ssh2_shell ( resource $session [, string $term_type [, array $env [, int $width [, int $height [, int $width_height_type]]]]] )

Open a shell at the remote end and allocate a stream for it.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

term_type

term_type should correspond to one of the entries in the target system's /etc/termcap file and defaults to vanilla.

env

env may be passed as an associative array of name/value pairs to set in the target environment.

width

Width of the virtual terminal.

height

Height of the virtual terminal.

width_height_type

width_height_type should be one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.

반환값

예제

예 2260. Executing a command

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_shell($connection, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);
?>

참고

ssh2_exec()
ssh2_tunnel()
ssh2_fetch_stream()

이전 | 위로 | 다음
ssh2_sftp | 처음으로 | ssh2_tunnel


ssh2_tunnel

(PECL ssh2:0.10-0.9)

ssh2_tunnel -- Open a tunnel through a remote server

설명

resource ssh2_tunnel ( resource $session, string $host, int $port )

Open a socket stream to an arbitrary host/port by way of the currently connected SSH server.

매개변수

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

host

port

반환값

예제

예 2261. Opening a tunnel to an arbitrary host

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_pubkey_file($connection, 'username', 'id_dsa.pub', 'id_dsa');

$tunnel = ssh2_tunnel($connection, '10.0.0.101', 12345);
?>

참고

ssh2_connect()
fsockopen()

이전 | 위로 | 다음
ssh2_shell | 처음으로 | CLIX. Statistics Functions


stats_absolute_deviation

(PECL stats:1.0.0-1.0.2)

stats_absolute_deviation -- Returns the absolute deviation of an array of values

설명

float stats_absolute_deviation ( array $a )
주의

This function is currently not documented; only the argument list is available.

매개변수

a

반환값

이전 | 위로 | 다음
CLIX. Statistics Functions | 처음으로 | stats_cdf_beta


stats_cdf_beta

(PECL stats:1.0.0-1.0.2)

stats_cdf_beta -- CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.

설명

float stats_cdf_beta ( float $par1, float $par2, float $par3, int $which )

Method Cumulative distribution function (P) is calculated directly by code associated with the following reference. DiDinato, A. R. and Morris, A. H. Algorithm 708: Significant Digit Computation of the Incomplete Beta Function Ratios. ACM Trans. Math. Softw. 18 (1993), 360-373. Computation of other parameters involve a search for a value that produces the desired value of P. The search relies on the monotinicity of P with the other parameter. Note The beta density is proportional to t^(A-1) * (1-t)^(B-1) Arguments P -- The integral from 0 to X of the chi-square distribution. Input range: [0, 1]. Q -- 1-P. Input range: [0, 1]. P + Q = 1.0. X -- Upper limit of integration of beta density. Input range: [0,1]. Search range: [0,1] Y -- 1-X. Input range: [0,1]. Search range: [0,1] X + Y = 1.0. A -- The first parameter of the beta density. Input range: (0, +infinity). Search range: [1D-100,1D100] B -- The second parameter of the beta density. Input range: (0, +infinity). Search range: [1D-100,1D100] STATUS -- 0 if calculation completed correctly -I if input parameter number I is out of range 1 if answer appears to be lower than lowest search bound 2 if answer appears to be higher than greatest search bound 3 if P + Q .ne. 1 4 if X + Y .ne. 1 BOUND -- Undefined if STATUS is 0 Bound exceeded by parameter number I if STATUS is negative. Lower search bound if STATUS is 1. Upper search bound if STATUS is 2.

매개변수

par1

par2

par3

which

Integer indicating which of the next four argument values is to be calculated from the others. Legal range: 1..4 iwhich = 1 : Calculate P and Q from X,Y,A and B iwhich = 2 : Calculate X and Y from P,Q,A and B iwhich = 3 : Calculate A from P,Q,X,Y and B iwhich = 4 : Calculate B from P,Q,X,Y and A

반환값

STATUS -- 0 if calculation completed correctly -I if input parameter number I is out of range 1 if answer appears to be lower than lowest search bound 2 if answer appears to be higher than greatest search bound 3 if P + Q .ne. 1 4 if X + Y .ne. 1

이전 | 위로 | 다음
stats_absolute_deviation | 처음으로 | stats_cdf_binomial


stats_cdf_binomial

(PECL stats:1.0.0-1.0.2)

stats_cdf_binomial -- Calculates any one parameter of the binomial distribution given values for the others.

설명

float stats_cdf_binomial ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_beta | 처음으로 | stats_cdf_cauchy


stats_cdf_cauchy

(PECL stats:1.0.0-1.0.2)

stats_cdf_cauchy -- Not documented

설명

float stats_cdf_cauchy ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_binomial | 처음으로 | stats_cdf_chisquare


stats_cdf_chisquare

(PECL stats:1.0.0-1.0.2)

stats_cdf_chisquare -- Calculates any one parameter of the chi-square distribution given values for the others.

설명

float stats_cdf_chisquare ( float $par1, float $par2, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

which

반환값

이전 | 위로 | 다음
stats_cdf_cauchy | 처음으로 | stats_cdf_exponential


stats_cdf_exponential

(PECL stats:1.0.0-1.0.2)

stats_cdf_exponential -- Not documented

설명

float stats_cdf_exponential ( float $par1, float $par2, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

which

반환값

이전 | 위로 | 다음
stats_cdf_chisquare | 처음으로 | stats_cdf_f


stats_cdf_f

(PECL stats:1.0.0-1.0.2)

stats_cdf_f -- Calculates any one parameter of the F distribution given values for the others.

설명

float stats_cdf_f ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_exponential | 처음으로 | stats_cdf_gamma


stats_cdf_gamma

(PECL stats:1.0.0-1.0.2)

stats_cdf_gamma -- Calculates any one parameter of the gamma distribution given values for the others.

설명

float stats_cdf_gamma ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_f | 처음으로 | stats_cdf_laplace


stats_cdf_laplace

(PECL stats:1.0.0-1.0.2)

stats_cdf_laplace -- Not documented

설명

float stats_cdf_laplace ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_gamma | 처음으로 | stats_cdf_logistic


stats_cdf_logistic

(PECL stats:1.0.0-1.0.2)

stats_cdf_logistic -- Not documented

설명

float stats_cdf_logistic ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_laplace | 처음으로 | stats_cdf_negative_binomial


stats_cdf_negative_binomial

(PECL stats:1.0.0-1.0.2)

stats_cdf_negative_binomial -- Calculates any one parameter of the negative binomial distribution given values for the others.

설명

float stats_cdf_negative_binomial ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_logistic | 처음으로 | stats_cdf_noncentral_chisquare


stats_cdf_noncentral_chisquare

(PECL stats:1.0.0-1.0.2)

stats_cdf_noncentral_chisquare -- Calculates any one parameter of the non-central chi-square distribution given values for the others.

설명

float stats_cdf_noncentral_chisquare ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_negative_binomial | 처음으로 | stats_cdf_noncentral_f


stats_cdf_noncentral_f

(PECL stats:1.0.0-1.0.2)

stats_cdf_noncentral_f -- Calculates any one parameter of the Non-central F distribution given values for the others.

설명

float stats_cdf_noncentral_f ( float $par1, float $par2, float $par3, float $par4, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

par4

which

반환값

이전 | 위로 | 다음
stats_cdf_noncentral_chisquare | 처음으로 | stats_cdf_poisson


stats_cdf_poisson

(PECL stats:1.0.0-1.0.2)

stats_cdf_poisson -- Calculates any one parameter of the Poisson distribution given values for the others.

설명

float stats_cdf_poisson ( float $par1, float $par2, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

which

반환값

이전 | 위로 | 다음
stats_cdf_noncentral_f | 처음으로 | stats_cdf_t


stats_cdf_t

(PECL stats:1.0.0-1.0.2)

stats_cdf_t -- Calculates any one parameter of the T distribution given values for the others.

설명

float stats_cdf_t ( float $par1, float $par2, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

which

반환값

이전 | 위로 | 다음
stats_cdf_poisson | 처음으로 | stats_cdf_uniform


stats_cdf_uniform

(PECL stats:1.0.0-1.0.2)

stats_cdf_uniform -- Not documented

설명

float stats_cdf_uniform ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_t | 처음으로 | stats_cdf_weibull


stats_cdf_weibull

(PECL stats:1.0.0-1.0.2)

stats_cdf_weibull -- Not documented

설명

float stats_cdf_weibull ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_cdf_uniform | 처음으로 | stats_covariance


stats_covariance

(PECL stats:1.0.0-1.0.2)

stats_covariance -- Computes the covariance of two data sets

설명

float stats_covariance ( array $a, array $b )
주의

This function is currently not documented; only the argument list is available.

매개변수

a

b

반환값

이전 | 위로 | 다음
stats_cdf_weibull | 처음으로 | stats_den_uniform


stats_den_uniform

(PECL stats:1.0.0-1.0.2)

stats_den_uniform -- Not documented

설명

float stats_den_uniform ( float $x, float $a, float $b )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

a

b

반환값

이전 | 위로 | 다음
stats_covariance | 처음으로 | stats_dens_beta


stats_dens_beta

(PECL stats:1.0.0-1.0.2)

stats_dens_beta -- Not documented

설명

float stats_dens_beta ( float $x, float $a, float $b )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

a

b

반환값

이전 | 위로 | 다음
stats_den_uniform | 처음으로 | stats_dens_cauchy


stats_dens_cauchy

(PECL stats:1.0.0-1.0.2)

stats_dens_cauchy -- Not documented

설명

float stats_dens_cauchy ( float $x, float $ave, float $stdev )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

ave

stdev

반환값

이전 | 위로 | 다음
stats_dens_beta | 처음으로 | stats_dens_chisquare


stats_dens_chisquare

(PECL stats:1.0.0-1.0.2)

stats_dens_chisquare -- Not documented

설명

float stats_dens_chisquare ( float $x, float $dfr )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

dfr

반환값

이전 | 위로 | 다음
stats_dens_cauchy | 처음으로 | stats_dens_exponential


stats_dens_exponential

(PECL stats:1.0.0-1.0.2)

stats_dens_exponential -- Not documented

설명

float stats_dens_exponential ( float $x, float $scale )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

scale

반환값

이전 | 위로 | 다음
stats_dens_chisquare | 처음으로 | stats_dens_f


stats_dens_f

(PECL stats:1.0.0-1.0.2)

stats_dens_f

설명

float stats_dens_f ( float $x, float $dfr1, float $dfr2 )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

dfr1

dfr2

반환값

이전 | 위로 | 다음
stats_dens_exponential | 처음으로 | stats_dens_gamma


stats_dens_gamma

(PECL stats:1.0.0-1.0.2)

stats_dens_gamma -- Not documented

설명

float stats_dens_gamma ( float $x, float $shape, float $scale )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

shape

scale

반환값

이전 | 위로 | 다음
stats_dens_f | 처음으로 | stats_dens_laplace


stats_dens_laplace

(PECL stats:1.0.0-1.0.2)

stats_dens_laplace -- Not documented

설명

float stats_dens_laplace ( float $x, float $ave, float $stdev )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

ave

stdev

반환값

이전 | 위로 | 다음
stats_dens_gamma | 처음으로 | stats_dens_logistic


stats_dens_logistic

(PECL stats:1.0.0-1.0.2)

stats_dens_logistic -- Not documented

설명

float stats_dens_logistic ( float $x, float $ave, float $stdev )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

ave

stdev

반환값

이전 | 위로 | 다음
stats_dens_laplace | 처음으로 | stats_dens_negative_binomial


stats_dens_negative_binomial

(PECL stats:1.0.0-1.0.2)

stats_dens_negative_binomial -- Not documented

설명

float stats_dens_negative_binomial ( float $x, float $n, float $pi )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

n

pi

반환값

이전 | 위로 | 다음
stats_dens_logistic | 처음으로 | stats_dens_normal


stats_dens_normal

(PECL stats:1.0.0-1.0.2)

stats_dens_normal -- Not documented

설명

float stats_dens_normal ( float $x, float $ave, float $stdev )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

ave

stdev

반환값

이전 | 위로 | 다음
stats_dens_negative_binomial | 처음으로 | stats_dens_pmf_binomial


stats_dens_pmf_binomial

(PECL stats:1.0.0-1.0.2)

stats_dens_pmf_binomial -- Not documented

설명

float stats_dens_pmf_binomial ( float $x, float $n, float $pi )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

n

pi

반환값

이전 | 위로 | 다음
stats_dens_normal | 처음으로 | stats_dens_pmf_hypergeometric


stats_dens_pmf_hypergeometric

(PECL stats:1.0.0-1.0.2)

stats_dens_pmf_hypergeometric

설명

float stats_dens_pmf_hypergeometric ( float $n1, float $n2, float $N1, float $N2 )
주의

This function is currently not documented; only the argument list is available.

매개변수

n1

n2

N1

N2

반환값

이전 | 위로 | 다음
stats_dens_pmf_binomial | 처음으로 | stats_dens_pmf_poisson


stats_dens_pmf_poisson

(PECL stats:1.0.0-1.0.2)

stats_dens_pmf_poisson -- Not documented

설명

float stats_dens_pmf_poisson ( float $x, float $lb )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

lb

반환값

이전 | 위로 | 다음
stats_dens_pmf_hypergeometric | 처음으로 | stats_dens_t


stats_dens_t

(PECL stats:1.0.0-1.0.2)

stats_dens_t -- Not documented

설명

float stats_dens_t ( float $x, float $dfr )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

dfr

반환값

이전 | 위로 | 다음
stats_dens_pmf_poisson | 처음으로 | stats_dens_weibull


stats_dens_weibull

(PECL stats:1.0.0-1.0.2)

stats_dens_weibull -- Not documented

설명

float stats_dens_weibull ( float $x, float $a, float $b )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

a

b

반환값

이전 | 위로 | 다음
stats_dens_t | 처음으로 | stats_harmonic_mean


stats_harmonic_mean

(PECL stats:1.0.0-1.0.2)

stats_harmonic_mean -- Returns the harmonic mean of an array of values

설명

number stats_harmonic_mean ( array $a )
주의

This function is currently not documented; only the argument list is available.

매개변수

a

반환값

이전 | 위로 | 다음
stats_dens_weibull | 처음으로 | stats_kurtosis


stats_kurtosis

(PECL stats:1.0.0-1.0.2)

stats_kurtosis -- Computes the kurtosis of the data in the array

설명

float stats_kurtosis ( array $a )
주의

This function is currently not documented; only the argument list is available.

매개변수

a

반환값

이전 | 위로 | 다음
stats_harmonic_mean | 처음으로 | stats_rand_gen_beta


stats_rand_gen_beta

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_beta -- Generates beta random deviate

설명

float stats_rand_gen_beta ( float $a, float $b )

Returns a random deviate from the beta distribution with parameters A and B. The density of the beta is x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 < x <. Method R. C. H. Cheng.

매개변수

a

b

반환값

이전 | 위로 | 다음
stats_kurtosis | 처음으로 | stats_rand_gen_chisquare


stats_rand_gen_chisquare

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_chisquare -- Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.

설명

float stats_rand_gen_chisquare ( float $df )
주의

This function is currently not documented; only the argument list is available.

매개변수

df

반환값

이전 | 위로 | 다음
stats_rand_gen_beta | 처음으로 | stats_rand_gen_exponential


stats_rand_gen_exponential

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_exponential -- Generates a single random deviate from an exponential distribution with mean "av"

설명

float stats_rand_gen_exponential ( float $av )
주의

This function is currently not documented; only the argument list is available.

매개변수

av

반환값

이전 | 위로 | 다음
stats_rand_gen_chisquare | 처음으로 | stats_rand_gen_f


stats_rand_gen_f

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_f -- Generates a random deviate

설명

float stats_rand_gen_f ( float $dfn, float $dfd )

Generates a random deviate from the F (variance ratio) distribution with "dfn" degrees of freedom in the numerator and "dfd" degrees of freedom in the denominator. Method : directly generates ratio of chisquare variates.

매개변수

dfn

dfd

반환값

이전 | 위로 | 다음
stats_rand_gen_exponential | 처음으로 | stats_rand_gen_funiform


stats_rand_gen_funiform

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_funiform -- Generates uniform float between low (exclusive) and high (exclusive)

설명

float stats_rand_gen_funiform ( float $low, float $high )
주의

This function is currently not documented; only the argument list is available.

매개변수

low

high

반환값

이전 | 위로 | 다음
stats_rand_gen_f | 처음으로 | stats_rand_gen_gamma


stats_rand_gen_gamma

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_gamma -- Generates random deviates from a gamma distribution

설명

float stats_rand_gen_gamma ( float $a, float $r )

Generates random deviates from the gamma distribution whose density is (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X).

매개변수

a

location parameter of Gamma distribution (a > 0).

r

shape parameter of Gamma distribution (r > 0).

반환값

이전 | 위로 | 다음
stats_rand_gen_funiform | 처음으로 | stats_rand_gen_ibinomial_negative


stats_rand_gen_ibinomial

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_ibinomial -- Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE

설명

int stats_rand_gen_ibinomial ( int $n, float $pp )
주의

This function is currently not documented; only the argument list is available.

매개변수

n

pp

반환값

이전 | 위로 | 다음
stats_rand_gen_ibinomial_negative | 처음으로 | stats_rand_gen_int


stats_rand_gen_ibinomial_negative

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_ibinomial_negative -- Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).

설명

int stats_rand_gen_ibinomial_negative ( int $n, float $p )
주의

This function is currently not documented; only the argument list is available.

매개변수

n

p

반환값

이전 | 위로 | 다음
stats_rand_gen_gamma | 처음으로 | stats_rand_gen_ibinomial


stats_rand_gen_int

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_int -- Generates random integer between 1 and 2147483562

설명

int stats_rand_gen_int ( void )
주의

This function is currently not documented; only the argument list is available.

매개변수

반환값

이전 | 위로 | 다음
stats_rand_gen_ibinomial | 처음으로 | stats_rand_gen_ipoisson


stats_rand_gen_ipoisson

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_ipoisson -- Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).

설명

int stats_rand_gen_ipoisson ( float $mu )
주의

This function is currently not documented; only the argument list is available.

매개변수

mu

반환값

이전 | 위로 | 다음
stats_rand_gen_int | 처음으로 | stats_rand_gen_iuniform


stats_rand_gen_iuniform

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_iuniform -- Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

설명

int stats_rand_gen_iuniform ( int $low, int $high )
주의

This function is currently not documented; only the argument list is available.

매개변수

low

high

반환값

이전 | 위로 | 다음
stats_rand_gen_ipoisson | 처음으로 | stats_rand_gen_noncenral_chisquare


stats_rand_gen_noncenral_chisquare

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_noncenral_chisquare -- Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0

설명

float stats_rand_gen_noncenral_chisquare ( float $df, float $xnonc )
주의

This function is currently not documented; only the argument list is available.

매개변수

df

xnonc

반환값

이전 | 위로 | 다음
stats_rand_gen_iuniform | 처음으로 | stats_rand_gen_noncentral_f


stats_rand_gen_noncentral_f

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_noncentral_f -- Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.

설명

float stats_rand_gen_noncentral_f ( float $dfn, float $dfd, float $xnonc )
주의

This function is currently not documented; only the argument list is available.

매개변수

dfn

dfd

xnonc

반환값

이전 | 위로 | 다음
stats_rand_gen_noncenral_chisquare | 처음으로 | stats_rand_gen_noncentral_t


stats_rand_gen_noncentral_t

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_noncentral_t -- Generates a single random deviate from a noncentral T distribution

설명

float stats_rand_gen_noncentral_t ( float $df, float $xnonc )
주의

This function is currently not documented; only the argument list is available.

매개변수

df

xnonc

반환값

이전 | 위로 | 다음
stats_rand_gen_noncentral_f | 처음으로 | stats_rand_gen_normal


stats_rand_gen_normal

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_normal -- Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.

설명

float stats_rand_gen_normal ( float $av, float $sd )
주의

This function is currently not documented; only the argument list is available.

매개변수

av

sd

반환값

이전 | 위로 | 다음
stats_rand_gen_noncentral_t | 처음으로 | stats_rand_gen_t


stats_rand_gen_t

(PECL stats:1.0.0-1.0.2)

stats_rand_gen_t -- Generates a single random deviate from a T distribution

설명

float stats_rand_gen_t ( float $df )
주의

This function is currently not documented; only the argument list is available.

매개변수

df

반환값

이전 | 위로 | 다음
stats_rand_gen_normal | 처음으로 | stats_rand_get_seeds


stats_rand_get_seeds

(PECL stats:1.0.0-1.0.2)

stats_rand_get_seeds -- Not documented

설명

array stats_rand_get_seeds ( void )
주의

This function is currently not documented; only the argument list is available.

매개변수

반환값

이전 | 위로 | 다음
stats_rand_gen_t | 처음으로 | stats_rand_phrase_to_seeds


stats_rand_phrase_to_seeds

(PECL stats:1.0.0-1.0.2)

stats_rand_phrase_to_seeds -- generate two seeds for the RGN random number generator

설명

array stats_rand_phrase_to_seeds ( string $phrase )
주의

This function is currently not documented; only the argument list is available.

매개변수

phrase

반환값

이전 | 위로 | 다음
stats_rand_get_seeds | 처음으로 | stats_rand_ranf


stats_rand_ranf

(PECL stats:1.0.0-1.0.2)

stats_rand_ranf -- Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator

설명

float stats_rand_ranf ( void )
주의

This function is currently not documented; only the argument list is available.

매개변수

반환값

이전 | 위로 | 다음
stats_rand_phrase_to_seeds | 처음으로 | stats_rand_setall


stats_rand_setall

(PECL stats:1.0.0-1.0.2)

stats_rand_setall -- Not documented

설명

void stats_rand_setall ( int $iseed1, int $iseed2 )
주의

This function is currently not documented; only the argument list is available.

매개변수

iseed1

iseed2

반환값

이전 | 위로 | 다음
stats_rand_ranf | 처음으로 | stats_skew


stats_skew

(PECL stats:1.0.0-1.0.2)

stats_skew -- Computes the skewness of the data in the array

설명

float stats_skew ( array $a )
주의

This function is currently not documented; only the argument list is available.

매개변수

a

반환값

이전 | 위로 | 다음
stats_rand_setall | 처음으로 | stats_standard_deviation


stats_standard_deviation

(PECL stats:1.0.0-1.0.2)

stats_standard_deviation -- Returns the standard deviation

설명

float stats_standard_deviation ( array $a [, bool $sample] )
주의

This function is currently not documented; only the argument list is available.

매개변수

a

sample

반환값

이전 | 위로 | 다음
stats_skew | 처음으로 | stats_stat_binomial_coef


stats_stat_binomial_coef

(PECL stats:1.0.0-1.0.2)

stats_stat_binomial_coef -- Not documented

설명

float stats_stat_binomial_coef ( int $x, int $n )
주의

This function is currently not documented; only the argument list is available.

매개변수

x

n

반환값

이전 | 위로 | 다음
stats_standard_deviation | 처음으로 | stats_stat_correlation


stats_stat_correlation

(PECL stats:1.0.0-1.0.2)

stats_stat_correlation -- Not documented

설명

float stats_stat_correlation ( array $arr1, array $arr2 )
주의

This function is currently not documented; only the argument list is available.

매개변수

arr1

arr2

반환값

이전 | 위로 | 다음
stats_stat_binomial_coef | 처음으로 | stats_stat_gennch


stats_stat_gennch

(PECL stats:1.0.0-1.0.2)

stats_stat_gennch -- Not documented

설명

float stats_stat_gennch ( int $n )
주의

This function is currently not documented; only the argument list is available.

매개변수

n

반환값

이전 | 위로 | 다음
stats_stat_correlation | 처음으로 | stats_stat_independent_t


stats_stat_independent_t

(PECL stats:1.0.0-1.0.2)

stats_stat_independent_t -- Not documented

설명

float stats_stat_independent_t ( array $arr1, array $arr2 )
주의

This function is currently not documented; only the argument list is available.

매개변수

arr1

arr2

반환값

이전 | 위로 | 다음
stats_stat_gennch | 처음으로 | stats_stat_innerproduct


stats_stat_innerproduct

(PECL stats:1.0.0-1.0.2)

stats_stat_innerproduct

설명

float stats_stat_innerproduct ( array $arr1, array $arr2 )
주의

This function is currently not documented; only the argument list is available.

매개변수

arr1

arr2

반환값

이전 | 위로 | 다음
stats_stat_independent_t | 처음으로 | stats_stat_noncentral_t


stats_stat_noncentral_t

(PECL stats:1.0.0-1.0.2)

stats_stat_noncentral_t -- Calculates any one parameter of the noncentral t distribution give values for the others.

설명

float stats_stat_noncentral_t ( float $par1, float $par2, float $par3, int $which )
주의

This function is currently not documented; only the argument list is available.

매개변수

par1

par2

par3

which

반환값

이전 | 위로 | 다음
stats_stat_innerproduct | 처음으로 | stats_stat_paired_t


stats_stat_paired_t

(PECL stats:1.0.0-1.0.2)

stats_stat_paired_t -- Not documented

설명

float stats_stat_paired_t ( array $arr1, array $arr2 )
주의

This function is currently not documented; only the argument list is available.

매개변수

arr1

arr2

반환값

이전 | 위로 | 다음
stats_stat_noncentral_t | 처음으로 | stats_stat_percentile


stats_stat_percentile

(PECL stats:1.0.0-1.0.2)

stats_stat_percentile -- Not documented

설명

float stats_stat_percentile ( float $df, float $xnonc )
주의

This function is currently not documented; only the argument list is available.

매개변수

df

xnonc

반환값

이전 | 위로 | 다음
stats_stat_paired_t | 처음으로 | stats_stat_powersum


stats_stat_powersum

(PECL stats:1.0.0-1.0.2)

stats_stat_powersum -- Not documented

설명

float stats_stat_powersum ( array $arr, float $power )
주의

This function is currently not documented; only the argument list is available.

매개변수

arr

power

반환값

이전 | 위로 | 다음
stats_stat_percentile | 처음으로 | stats_variance


stats_variance

(PECL stats:1.0.0-1.0.2)

stats_variance -- Returns the population variance

설명

float stats_variance ( array $a [, bool $sample] )
주의

This function is currently not documented; only the argument list is available.

매개변수

a

sample

반환값

이전 | 위로 | 다음
stats_stat_powersum | 처음으로 | CLX. Stream Functions


str_getcsv

(No version information available, might be only in CVS)

str_getcsv -- Parse a CSV string into an array

설명

array str_getcsv ( string $input [, string $delimiter [, string $enclosure [, string $escape]]] )

주의

This function is currently not documented; only the argument list is available.

참고

fgetcsv()

이전 | 위로 | 다음
sscanf | 처음으로 | str_ireplace


stream_bucket_append

(PHP 5)

stream_bucket_append -- Append bucket to brigade

설명

void stream_bucket_append ( resource $brigade, resource $bucket )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
CLX. Stream Functions | 처음으로 | stream_bucket_make_writeable


stream_bucket_make_writeable

(PHP 5)

stream_bucket_make_writeable -- Return a bucket object from the brigade for operating on

설명

object stream_bucket_make_writeable ( resource $brigade )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
stream_bucket_append | 처음으로 | stream_bucket_new


stream_bucket_new

(PHP 5)

stream_bucket_new -- Create a new bucket for use on the current stream

설명

object stream_bucket_new ( resource $stream, string $buffer )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
stream_bucket_make_writeable | 처음으로 | stream_bucket_prepend


stream_bucket_prepend

(PHP 5)

stream_bucket_prepend -- Prepend bucket to brigade

설명

void stream_bucket_prepend ( resource $brigade, resource $bucket )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
stream_bucket_new | 처음으로 | stream_context_create


stream_encoding

(No version information available, might be only in CVS)

stream_encoding -- Set character set for stream encoding

설명

bool stream_encoding ( resource $stream [, string $encoding] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
stream_copy_to_stream | 처음으로 | stream_filter_append


stream_resolve_include_path

(No version information available, might be only in CVS)

stream_resolve_include_path -- Determine what file will be opened by calls to fopen() with a relative path

설명

string stream_resolve_include_path ( string $filename [, resource $context] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
stream_register_wrapper | 처음으로 | stream_select


stream_socket_pair

(PHP 5 >= 5.1.0)

stream_socket_pair -- Creates a pair of connected, indistinguishable socket streams

설명

array stream_socket_pair ( int $domain, int $type, int $protocol )

stream_socket_pair() creates a pair of connected, indistinguishable socket streams. This function is commonly used in IPC (Inter-Process Communication).

매개변수

domain

The protocol family to be used: STREAM_PF_INET, STREAM_PF_INET6 or STREAM_PF_UNIX

type

The type of communication to be used: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET or STREAM_SOCK_STREAM

protocol

The protocol to be used: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP or STREAM_IPPROTO_UDP

참고: Please consult the Streams constant list for further details on each constant.

반환값

Returns an array with the two socket resources on success, or FALSE on failure.

예제

예 2282. A stream_socket_pair() example

This example shows the basic usage of stream_socket_pair() in Inter-Process Comunication.

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid     = pcntl_fork();

if ($pid == -1) {
     die('could not fork');

} else if ($pid) {
     /* parent */
    fclose($sockets[0]);

    fwrite($sockets[1], "child PID: $pid\n");
    echo fgets($sockets[1]);

    fclose($sockets[1]);

} else {
    /* child */
    fclose($sockets[1]);

    fwrite($sockets[0], "message from child\n");
    echo fgets($sockets[0]);

    fclose($sockets[0]);
}

?>

위 예제의 출력 예:

child PID: 1378
message from child

이전 | 위로 | 다음
stream_socket_get_name | 처음으로 | stream_socket_recvfrom


stream_socket_shutdown

(PHP 5 >= 5.2.1)

stream_socket_shutdown -- Shutdown a full-duplex connection

설명

bool stream_socket_shutdown ( resource $stream, int $how )

Shutdowns (partially or not) a full-duplex connection.

매개변수

stream

An open stream (opened with stream_socket_client(), for example)

how

One of the following constants: STREAM_SHUT_RD (disable further receptions), STREAM_SHUT_WR (disable further transmissions) or STREAM_SHUT_RDWR (disable further receptions and transmissions).

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2287. A stream_socket_shutdown() example

<?php

$server = stream_socket_server('tcp://127.0.0.1:1337');
$client = stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($client, "hello"));

stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "hello")); // doesn't work now

?>

위 예제의 출력 예:

int(5)

Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in test.php on line 9
int(0)

참고

fclose()

이전 | 위로 | 다음
stream_socket_server | 처음으로 | stream_wrapper_register


svn_add

(PECL svn:0.1-0.2)

svn_add -- Schedules the addition of an item in a working directory

설명

bool svn_add ( string $path [, bool $recursive [, bool $force]] )

Adds the file, directory or symbolic link at path to the working directory. The item will be added to the repository the next time you call svn_commit() on the working copy.

매개변수

path

Path of item to add.

참고: 상대 경로는 PHP 바이너리가 있는 디렉토리를 현재 작업 디렉토리로 인식합니다. 스크립트의 작업 디렉토리를 얻으려면, realpath()나 dirname(__FILE__)을 사용하십시오.

recursive

If item is directory, whether or not to recursively add all of its contents. Default is TRUE

force

If true, Subversion will recurse into already versioned directories in order to add unversioned files that may be hiding in those directories. Default is FALSE

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2363. svn_add() example

In a working directory where svn status returns:

$ svn status
?      foobar.txt

...this code:

<?php
svn_add('foobar.txt');
?>

...will schedule foobar.txt for addition into the repository.

참고

» SVN documentation on svn add

이전 | 위로 | 다음
CLXII. Subversion 함수 | 처음으로 | svn_auth_get_parameter


svn_auth_get_parameter

(PECL svn:0.1-0.2)

svn_auth_get_parameter -- Retrieves authentication parameter

설명

string svn_auth_get_parameter ( string $key )

Retrieves authentication parameter at key. For a list of valid keys and their meanings, consult the authentication constants list.

매개변수

key

String key name. Use the authentication constants defined by this extension to specify a key.

반환값

Returns the string value of the parameter at key; returns NULL if parameter does not exist.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

svn_auth_set_parameter()
Authentication constants

이전 | 위로 | 다음
svn_add | 처음으로 | svn_auth_set_parameter


svn_auth_set_parameter

(PECL svn:0.1-0.2)

svn_auth_set_parameter -- Sets an authentication parameter

설명

void svn_auth_set_parameter ( string $key, string $value )

Sets authentication parameter at key to value. For a list of valid keys and their meanings, consult the authentication constants list.

매개변수

key

String key name. Use the authentication constants defined by this extension to specify a key.

value

String value to set to parameter at key. Format of value varies with the parameter.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2364. Default authentication example

This example configures SVN so that the default username to use is 'Bob' and the default password is 'abc123':

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
?>

참고

svn_auth_get_parameter()
Authentication constants

이전 | 위로 | 다음
svn_auth_get_parameter | 처음으로 | svn_cat


svn_cat

(PECL svn:0.1-0.2)

svn_cat -- Returns the contents of a file in a repository

설명

string svn_cat ( string $repos_url [, int $revision_no] )

Returns the contents of the URL repos_url to a file in the repository, optionally at revision number revision_no.

매개변수

repos_url

String URL path to item in a repository.

revision_no

Integer revision number of item to retrieve, default is the HEAD revision.

반환값

Returns the string contents of the item from the repository on success, and FALSE on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2365. Basic example

This example retrieves the contents of a file at revision 28:

<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>

참고

svn_list()
» SVN documentation on svn cat

이전 | 위로 | 다음
svn_auth_set_parameter | 처음으로 | svn_checkout


svn_checkout

(PECL svn:0.1-0.2)

svn_checkout -- Checks out a working copy from the repository

설명

bool svn_checkout ( string $repos, string $targetpath [, int $revision] )

Checks out a working copy from the repository at repos to targetpath at revision revision.

매개변수

repos

String URL path to directory in repository to check out.

targetpath

String local path to directory to check out in to

참고: 상대 경로는 PHP 바이너리가 있는 디렉토리를 현재 작업 디렉토리로 인식합니다. 스크립트의 작업 디렉토리를 얻으려면, realpath()나 dirname(__FILE__)을 사용하십시오.

revision

Integer revision number of repository to check out. Default is HEAD, the most recent revision.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2366. Basic example

This example demonstrates how to check out a directory from a repository to a directory named calc:

<?php
svn_checkout('http://www.example.com/svnroot/calc/trunk', dirname(__FILE__) . '/calc');
?>

The dirname(__FILE__) call is necessary in order to convert the calc relative path into an absolute one. If calc exists, you can also use realpath() to retrieve an absolute path.

참고

svn_add()
svn_commit()
svn_status()
svn_update()
» SVN documentation on svn checkout

이전 | 위로 | 다음
svn_cat | 처음으로 | svn_cleanup


svn_cleanup

(PECL svn:0.1-0.2)

svn_cleanup -- Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

설명

bool svn_cleanup ( string $workingdir )

Recursively cleanup working copy directory workingdir, finishing any incomplete operations and removing working copy locks. Use when a working copy is in limbo and needs to be usable again.

매개변수

workingdir

String path to local working directory to cleanup

참고: 상대 경로는 PHP 바이너리가 있는 디렉토리를 현재 작업 디렉토리로 인식합니다. 스크립트의 작업 디렉토리를 얻으려면, realpath()나 dirname(__FILE__)을 사용하십시오.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2367. Basic example

This example demonstrates clean up of a working copy in a directory named help-me:

<?php
svn_cleanup(realpath('help-me'));
?>

The realpath() call is necessary due to SVN's quirky handling of relative paths.

참고

update()
» SVN documentation on svn cleanup

이전 | 위로 | 다음
svn_checkout | 처음으로 | svn_client_version


svn_client_version

(PECL svn:0.1-0.2)

svn_client_version -- Returns the version of the SVN client libraries

설명

string svn_client_version ( void )

Returns the version of the SVN client libraries

반환값

String version number, usually in form of x.y.z.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2368. Basic example

<?php
echo svn_client_version();
?>

위 예제의 출력 예:

1.3.1

이전 | 위로 | 다음
svn_cleanup | 처음으로 | svn_commit


svn_commit

(PECL svn:0.1-0.2)

svn_commit -- Sends changes from the local working copy to the repository

설명

array svn_commit ( string $log, array $targets [, bool $dontrecurse] )

Commits changes made in the local working copy files enumerated in the targets array to the repository, with the log message log. Directories in the targets array will be recursively committed unless dontrecurse is set to true.

참고: This function does not have any parameters for specifying authentication, so a username and password must be set using svn_auth_set_parameter()

매개변수

log

String log text to commit

targets

Array of local paths of files to be committed

주의

This parameter must be an array, a string for a single target is not acceptable.

참고: 상대 경로는 PHP 바이너리가 있는 디렉토리를 현재 작업 디렉토리로 인식합니다. 스크립트의 작업 디렉토리를 얻으려면, realpath()나 dirname(__FILE__)을 사용하십시오.

dontrecurse

Boolean flag to disable recursive committing of directories in the targets array. Default is FALSE.

반환값

Returns array in form of:

array(
    0 => integer revision number of commit
    1 => string ISO 8601 date and time of commit
    2 => name of committer
)

Returns FALSE on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2369. Basic example

This example commits the calculator directory to a repository, using the username Bob and the password abc123 (hopefully, his password is stronger):

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Log message of Bob\'s commit', array(realpath('calculator'))));
?>

위 예제의 출력:

array(
  0 => 1415,
  1 => '2007-05-26T01:44:28.453125Z',
  2 => 'Bob'
)

참고

svn_auth_set_parameter()
» SVN documentation on svn commit

이전 | 위로 | 다음
svn_client_version | 처음으로 | svn_diff


svn_diff

(PECL svn:0.1-0.2)

svn_diff -- Recursively diffs two paths

설명

array svn_diff ( string $path1, int $rev1, string $path2, int $rev2 )

Recursively diffs two paths, path1 and path2.

참고: This is not a general-purpose diff utility. Only local files that are versioned may be diffed: other files will fail.

매개변수

path1

First path to diff. This can be a URL to a file/directory in an SVN repository or a local file/directory path.

참고: 상대 경로는 PHP 바이너리가 있는 디렉토리를 현재 작업 디렉토리로 인식합니다. 스크립트의 작업 디렉토리를 얻으려면, realpath()나 dirname(__FILE__)을 사용하십시오.

주의

If a local file path has only backslashes and no forward slashes, this extension will fail to find the path. Always replace all backslashes with forward slashes when using this function.

rev1

First path's revision number. Use SVN_REVISON_HEAD to specify the most recent revision.

path2

Second path to diff. See path1 for description.

rev2

Second path's revision number. See rev2 for description.

반환값

Returns an array-list consisting of two streams: the first is the diff output and the second contains error stream output. The streams can be read using fread(). Returns FALSE or NULL on error.

The diff output will, by default, be in the form of Subversion's custom unified diff format, but an » external diff engine may be used depending on Subversion's configuration.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2370. Basic example

This example demonstrates the basic usage of this function, and the retrieval of contents from the stream:

<?php
list($diff, $errors) = svn_diff(
    'http://www.example.com/svnroot/trunk/foo', SVN_REVISION_HEAD,
    'http://www.example.com/svnroot/branches/dev/foo', SVN_REVISION_HEAD
);
if (!$diff) exit;
$contents = '';
while (!feof($diff)) {
  $contents .= fread($diff, 8192);
}
fclose($diff);
fclose($errors);
var_dump($contents);
?>

위 예제의 출력:

Index: http://www.example.com/svnroot/trunk/foo
===================================================================
--- http://www.example.com/svnroot/trunk/foo        (.../foo) (revision 23)
+++ http://www.example.com/svnroot/branches/dev/foo (.../foo) (revision 27)
 // further diff output

예 2371. Diffing two revisions of a repository path

This example implements a wrapper function that allows a user to easily diff two revisions of the same item using an external repository path (the default syntax is somewhat verbose):

<?php
function svn_diff_same_item($path, $rev1, $rev2) {
    return svn_diff($path, $rev1, $path, $rev2);
}
?>

예 2372. Portably diffing two local files

This example implements a wrapper function that portably diffs two local files, compensating for the realpath() fix and the backslashes bug:

<?php
function svn_diff_local($path1, $rev1, $path2, $rev2) {
    $path1 = str_replace('\\', '/', realpath($path1));
    $path2 = str_replace('\\', '/', realpath($path2));
    return svn_diff($path1, $rev1, $path2, $rev2);
}
?>

참고

» SVN documentation on svn diff

이전 | 위로 | 다음
svn_commit | 처음으로 | svn_fs_abort_txn


svn_fs_abort_txn

(PECL svn:0.2)

svn_fs_abort_txn -- Abort a transaction, returns true if everything is ok, false othewise

설명

bool svn_fs_abort_txn ( resource $txn )
주의

This function is currently not documented; only the argument list is available.

Abort a transaction, returns true if everything is ok, false othewise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_diff | 처음으로 | svn_fs_apply_text


svn_fs_apply_text

(PECL svn:0.2)

svn_fs_apply_text -- Creates and returns a stream that will be used to replace

설명

resource svn_fs_apply_text ( resource $root, string $path )
주의

This function is currently not documented; only the argument list is available.

Creates and returns a stream that will be used to replace

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_abort_txn | 처음으로 | svn_fs_begin_txn2


svn_fs_begin_txn2

(PECL svn:0.2)

svn_fs_begin_txn2 -- Create a new transaction

설명

resource svn_fs_begin_txn2 ( resource $repos, int $rev )
주의

This function is currently not documented; only the argument list is available.

Create a new transaction

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_apply_text | 처음으로 | svn_fs_change_node_prop


svn_fs_change_node_prop

(PECL svn:0.2)

svn_fs_change_node_prop -- Return true if everything is ok, false otherwise

설명

bool svn_fs_change_node_prop ( resource $root, string $path, string $name, string $value )
주의

This function is currently not documented; only the argument list is available.

Return true if everything is ok, false otherwise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_begin_txn2 | 처음으로 | svn_fs_check_path


svn_fs_check_path

(PECL svn:0.1-0.2)

svn_fs_check_path -- Determines what kind of item lives at path in a given repository fsroot

설명

int svn_fs_check_path ( resource $fsroot, string $path )
주의

This function is currently not documented; only the argument list is available.

Determines what kind of item lives at path in a given repository fsroot

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_change_node_prop | 처음으로 | svn_fs_contents_changed


svn_fs_contents_changed

(PECL svn:0.2)

svn_fs_contents_changed -- Return true if content is different, false otherwise

설명

bool svn_fs_contents_changed ( resource $root1, string $path1, resource $root2, string $path2 )
주의

This function is currently not documented; only the argument list is available.

Return true if content is different, false otherwise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_check_path | 처음으로 | svn_fs_copy


svn_fs_copy

(PECL svn:0.2)

svn_fs_copy -- Copies a file or a directory, returns true if all is ok, false otherwise

설명

bool svn_fs_copy ( resource $from_root, string $from_path, resource $to_root, string $to_path )
주의

This function is currently not documented; only the argument list is available.

Copies a file or a directory, returns true if all is ok, false otherwise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_contents_changed | 처음으로 | svn_fs_delete


svn_fs_delete

(PECL svn:0.2)

svn_fs_delete -- Deletes a file or a directory, return true if all is ok, false otherwise

설명

bool svn_fs_delete ( resource $root, string $path )
주의

This function is currently not documented; only the argument list is available.

Deletes a file or a directory, return true if all is ok, false otherwise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_copy | 처음으로 | svn_fs_dir_entries


svn_fs_dir_entries

(PECL svn:0.1-0.2)

svn_fs_dir_entries -- Enumerates the directory entries under path; returns a hash of dir names to file type

설명

array svn_fs_dir_entries ( resource $fsroot, string $path )
주의

This function is currently not documented; only the argument list is available.

Enumerates the directory entries under path; returns a hash of dir names to file type

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_delete | 처음으로 | svn_fs_file_contents


svn_fs_file_contents

(PECL svn:0.1-0.2)

svn_fs_file_contents -- Returns a stream to access the contents of a file from a given version of the fs

설명

resource svn_fs_file_contents ( resource $fsroot, string $path )
주의

This function is currently not documented; only the argument list is available.

Returns a stream to access the contents of a file from a given version of the fs

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_dir_entries | 처음으로 | svn_fs_file_length


svn_fs_file_length

(PECL svn:0.1-0.2)

svn_fs_file_length -- Returns the length of a file from a given version of the fs

설명

int svn_fs_file_length ( resource $fsroot, string $path )
주의

This function is currently not documented; only the argument list is available.

Returns the length of a file from a given version of the fs

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_file_contents | 처음으로 | svn_fs_is_dir


svn_fs_is_dir

(PECL svn:0.2)

svn_fs_is_dir -- Return true if the path points to a directory, false otherwise

설명

bool svn_fs_is_dir ( resource $root, string $path )
주의

This function is currently not documented; only the argument list is available.

Return true if the path points to a directory, false otherwise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_file_length | 처음으로 | svn_fs_is_file


svn_fs_is_file

(PECL svn:0.2)

svn_fs_is_file -- Return true if the path points to a file, false otherwise

설명

bool svn_fs_is_file ( resource $root, string $path )
주의

This function is currently not documented; only the argument list is available.

Return true if the path points to a file, false otherwise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_is_dir | 처음으로 | svn_fs_make_dir


svn_fs_make_dir

(PECL svn:0.2)

svn_fs_make_dir -- Creates a new empty directory, returns true if all is ok, false otherwise

설명

bool svn_fs_make_dir ( resource $root, string $path )
주의

This function is currently not documented; only the argument list is available.

Creates a new empty directory, returns true if all is ok, false otherwise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_is_file | 처음으로 | svn_fs_make_file


svn_fs_make_file

(PECL svn:0.2)

svn_fs_make_file -- Creates a new empty file, returns true if all is ok, false otherwise

설명

bool svn_fs_make_file ( resource $root, string $path )
주의

This function is currently not documented; only the argument list is available.

Creates a new empty file, returns true if all is ok, false otherwise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_make_dir | 처음으로 | svn_fs_node_created_rev


svn_fs_node_created_rev

(PECL svn:0.1-0.2)

svn_fs_node_created_rev -- Returns the revision in which path under fsroot was created

설명

int svn_fs_node_created_rev ( resource $fsroot, string $path )
주의

This function is currently not documented; only the argument list is available.

Returns the revision in which path under fsroot was created

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_make_file | 처음으로 | svn_fs_node_prop


svn_fs_node_prop

(PECL svn:0.1-0.2)

svn_fs_node_prop -- Returns the value of a property for a node

설명

string svn_fs_node_prop ( resource $fsroot, string $path, string $propname )
주의

This function is currently not documented; only the argument list is available.

Returns the value of a property for a node

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_node_created_rev | 처음으로 | svn_fs_props_changed


svn_fs_props_changed

(PECL svn:0.2)

svn_fs_props_changed -- Return true if props are different, false otherwise

설명

bool svn_fs_props_changed ( resource $root1, string $path1, resource $root2, string $path2 )
주의

This function is currently not documented; only the argument list is available.

Return true if props are different, false otherwise

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_node_prop | 처음으로 | svn_fs_revision_prop


svn_fs_revision_prop

(PECL svn:0.1-0.2)

svn_fs_revision_prop -- Fetches the value of a named property

설명

string svn_fs_revision_prop ( resource $fs, int $revnum, string $propname )
주의

This function is currently not documented; only the argument list is available.

Fetches the value of a named property

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_props_changed | 처음으로 | svn_fs_revision_root


svn_fs_revision_root

(PECL svn:0.1-0.2)

svn_fs_revision_root -- Get a handle on a specific version of the repository root

설명

resource svn_fs_revision_root ( resource $fs, int $revnum )
주의

This function is currently not documented; only the argument list is available.

Get a handle on a specific version of the repository root

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_revision_prop | 처음으로 | svn_fs_txn_root


svn_fs_txn_root

(PECL svn:0.2)

svn_fs_txn_root -- Creates and returns a transaction root

설명

resource svn_fs_txn_root ( resource $txn )
주의

This function is currently not documented; only the argument list is available.

Creates and returns a transaction root

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_revision_root | 처음으로 | svn_fs_youngest_rev


svn_fs_youngest_rev

(PECL svn:0.1-0.2)

svn_fs_youngest_rev -- Returns the number of the youngest revision in the filesystem

설명

int svn_fs_youngest_rev ( resource $fs )
주의

This function is currently not documented; only the argument list is available.

Returns the number of the youngest revision in the filesystem

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_fs_txn_root | 처음으로 | svn_import


svn_import

(PECL svn:0.2)

svn_import -- Imports an unversioned path into a repository

설명

bool svn_import ( string $path, string $url, bool $nonrecursive )

Commits unversioned path into repository at url. If path is a directory and nonrecursive is FALSE, the directory will be imported recursively.

매개변수

path

Path of file or directory to import.

참고: 상대 경로는 PHP 바이너리가 있는 디렉토리를 현재 작업 디렉토리로 인식합니다. 스크립트의 작업 디렉토리를 얻으려면, realpath()나 dirname(__FILE__)을 사용하십시오.

url

Repository URL to import into.

nonrecursive

Whether or not to refrain from recursively processing directories.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2373. Basic example

This example demonstrates a basic use-case of this function. To import a directory named new-files into the repository at http://www.example.com/svnroot/incoming/abc, use:

<?php
svn_import(realpath('new-files'), 'http://www.example.com/svnroot/incoming/abc', false);
?>

참고

svn_add()
» SVN documentation for svn import

이전 | 위로 | 다음
svn_fs_youngest_rev | 처음으로 | svn_log


svn_log

(PECL svn:0.1-0.2)

svn_log -- Returns the commit log messages of a repository URL

설명

array svn_log ( string $repos_url [, int $revision_no] )

svn_log() returns the complete history of the item at the repository URL repos_url, or the history of a specific revision if revision_no is set. This function is equivalent to svn log --verbose -r $revision_no $repos_url.

주의

For repositories with large histories, the output may be quite large (one array item for every revision of the item). This function does not support the --limit NUM flag, nor does it support revision ranges (revision_no must be an integer).

매개변수

repos_url

Repository URL of the item to retrieve log history from.

revision_no

Revision number of the log to retrieve. Use SVN_REVISON_HEAD to retrieve the log for the most recent revision.

반환값

On success, this function returns an array file listing in the format of:

[0] => Array, ordered most recent (highest) revision first
(
    [rev] => integer revision number
    [author] => string author name
    [msg] => string log message
    [date] => string date formatted per ISO 8601, i.e. date('c')
    [paths] => Array, describing changed files
        (
            [0] => Array
                (
                    [action] => string letter signifying change
                    [path] =>  absolute repository path of changed file
                )
            [1] => ...
        )
)
[1] => ...

참고: The output will always be a numerically indexed array of arrays, even when there are none or only one log message(s).

The value of action is a subset of the » status output in the first column, where possible values are:

표 309. Actions

Letter | Description
M | Item/props was modified
A | Item was added
D | Item was deleted
R | Item was replaced

If no changes were made to the item, an empty array is returned.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2374. svn_log() example

<?php
print_r( svn_log('http://www.example.com/', 23) );
?>

위 예제의 출력 예:

Array
(
    [0] => Array
    (
        [rev] => 23
        [author] => 'joe'
        [msg] => 'Add cheese and salami to our sandwich.'
        [date] => '2007-04-06T16:00:27-04:00'
        [paths] => Array
            (
                [0] => Array
                    (
                        [action] => 'M'
                        [path] =>  '/sandwich.txt'
                    )
            )
    )
)

예 2375. Simulating --limit with svn and svn_log()

This sample function simulates the --limit switch by using the SVN executable to return a list of revisions, which are then losslessly accessed using svn_log().

참고: This function will perform a total of limit + 1 requests: the first request to pull the required revisions, and each one after to retrieve the log item for that request.

<?php
/**
 * Retrieves the last $limit log entries.
 * @param $repos_url Repository URL of item to get logs for
 * @param $limit Integer limit of items
 */
function svn_log_limit($repos_url, $limit) {
    $limit = (int) $limit;
    if ($limit <= 0) return array();
    // -q flag used to prevent server from sending log messages
    $output = shell_exec("svn log -q --limit $limit $repos_url");
    preg_match_all('/^r(\d+) /m', $output, $matches);
    $ret = array();
    foreach ($matches[1] as $rev) {
        $log = svn_log($repos_url, (int) $rev);
        $ret[] = $log[0]; // log is only one item long
    }
    return $ret;
}
?>

참고

» SVN documentation on svn log

이전 | 위로 | 다음
svn_import | 처음으로 | svn_ls


svn_ls

(PECL svn:0.1-0.2)

svn_ls -- Returns list of directory contents in repository URL, optionally at revision number

설명

array svn_ls ( string $repos_url [, int $revision_no] )

This function queries the repository URL and returns a list of files and directories, optionally from a specific revision. This is equivalent to svn list $repos_url[@$revision_no]

참고: This function does not work with working copies. repos_url must be a repository URL.

매개변수

url

URL of the repository, eg. http://www.example.com/svnroot. To access a local Subversion repository via filesystem, use the file URI scheme, eg. file:///home/user/svn-repos

revision

Integer revision number to retrieve listing of. When omitted, the HEAD revision is used.

반환값

On success, this function returns an array file listing in the format of:

[0] => Array
    (
        [created_rev] => integer revision number of last edit
        [last_author] => string author name of last edit
        [size] => integer byte file size of file
        [time] => string date of last edit in form 'M d H:i'
                  or 'M d Y', depending on how old the file is
        [time_t] => integer unix timestamp of last edit
        [name] => name of file/directory
        [type] => type, can be 'file' or 'dir'
    )
[1] => ...

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2376. svn_ls() example

<?php
print_r( svn_ls('http://www.example.com/svnroot/') );
?>

위 예제의 출력 예:

Array
(
    [0] => Array
        (
            [created_rev] => 20
            [last_author] => Joe
            [size] => 0
            [time] => Apr 02 09:28
            [time_t] => 1175520529
            [name] => tags
            [type] => dir
        )
    [1] => Array
        (
            [created_rev] => 23
            [last_author] => Bob
            [size] => 0
            [time] => Apr 02 15:15
            [time_t] => 1175541322
            [name] => trunk
            [type] => dir
        )
)

참고

» SVN documentation on svn list

이전 | 위로 | 다음
svn_log | 처음으로 | svn_repos_create


svn_repos_create

(PECL svn:0.1-0.2)

svn_repos_create -- Create a new subversion repository at path

설명

resource svn_repos_create ( string $path [, array $config [, array $fsconfig]] )
주의

This function is currently not documented; only the argument list is available.

Create a new subversion repository at path

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_ls | 처음으로 | svn_repos_fs_begin_txn_for_commit


svn_repos_fs

(PECL svn:0.1-0.2)

svn_repos_fs -- Gets a handle on the filesystem for a repository

설명

resource svn_repos_fs ( resource $repos )
주의

This function is currently not documented; only the argument list is available.

Gets a handle on the filesystem for a repository

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_repos_fs_commit_txn | 처음으로 | svn_repos_hotcopy


svn_repos_fs_begin_txn_for_commit

(PECL svn:0.2)

svn_repos_fs_begin_txn_for_commit -- Create a new transaction

설명

resource svn_repos_fs_begin_txn_for_commit ( resource $repos, int $rev, string $author, string $log_msg )
주의

This function is currently not documented; only the argument list is available.

Create a new transaction

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_repos_create | 처음으로 | svn_repos_fs_commit_txn


svn_repos_fs_commit_txn

(PECL svn:0.2)

svn_repos_fs_commit_txn -- Commits a transaction and returns the new revision

설명

int svn_repos_fs_commit_txn ( resource $txn )
주의

This function is currently not documented; only the argument list is available.

Commits a transaction and returns the new revision

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_repos_fs_begin_txn_for_commit | 처음으로 | svn_repos_fs


svn_repos_hotcopy

(PECL svn:0.1-0.2)

svn_repos_hotcopy -- Make a hot-copy of the repos at repospath; copy it to destpath

설명

bool svn_repos_hotcopy ( string $repospath, string $destpath, bool $cleanlogs )
주의

This function is currently not documented; only the argument list is available.

Make a hot-copy of the repos at repospath; copy it to destpath

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_repos_fs | 처음으로 | svn_repos_open


svn_repos_open

(PECL svn:0.1-0.2)

svn_repos_open -- Open a shared lock on a repository.

설명

resource svn_repos_open ( string $path )
주의

This function is currently not documented; only the argument list is available.

Open a shared lock on a repository.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_repos_hotcopy | 처음으로 | svn_repos_recover


svn_repos_recover

(PECL svn:0.1-0.2)

svn_repos_recover -- Run recovery procedures on the repository located at path.

설명

bool svn_repos_recover ( string $path )
주의

This function is currently not documented; only the argument list is available.

Run recovery procedures on the repository located at path.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

이전 | 위로 | 다음
svn_repos_open | 처음으로 | svn_status


svn_status

(PECL svn:0.1-0.2)

svn_status -- Returns the status of working copy files and directories

설명

array svn_status ( string $path [, bool $recursive [, bool $get_all [, bool $update [, bool $no_ignore]]]] )

Returns the status of working copy files and directories, giving modifications, additions, deletions and other changes to items in the working copy.

매개변수

path

Local path to file or directory to retrieve status of.

참고: 상대 경로는 PHP 바이너리가 있는 디렉토리를 현재 작업 디렉토리로 인식합니다. 스크립트의 작업 디렉토리를 얻으려면, realpath()나 dirname(__FILE__)을 사용하십시오.

recursive

Whether or not to recursively descend into directories to retrieve status. Default is TRUE.

get_all

Whether or not to return all items, regardless of modification status. Default is FALSE.

update

Whether or not to return information from the server on whether or not the working copy is up-to-date (specifically, entries will be added for items that are out-of-date along with the regular modification checks). Default is FALSE.

no_ignore

Whether or not to disregard svn:ignore properties when scanning for new files. Default is FALSE.

반환값

Returns a numerically indexed array of associative arrays detailing the status of items in the repository:

Array (
    [0] => Array (
        // information on item
    )
    [1] => ...
)

The information on the item is an associative array that can contain the following keys:

path
String path to file/directory of this entry on local filesystem.
text_status
Status of item's text. 사용할 수 있는 값에 대해서는 status 상수를 참고하십시오.
repos_text_status
Status of item's text in repository. Only accurate if update was set to TRUE. 사용할 수 있는 값에 대해서는 status 상수를 참고하십시오.
prop_status
Status of item's properties. 사용할 수 있는 값에 대해서는 status 상수를 참고하십시오.
repos_prop_status
Status of item's property in repository. Only accurate if update was set to TRUE. 사용할 수 있는 값에 대해서는 status 상수를 참고하십시오.
locked
Whether or not the item is locked. (Only set if TRUE.)
copied
Whether or not the item was copied (scheduled for addition with history). (Only set if TRUE.)
switched
Whether or not the item was switched using the switch command. (Only set if TRUE)

These keys are only set if the item is versioned:

name
Base name of item in repository.
url
URL of item in repository.
repos
Base URL of repository.
revision
Integer revision of item in working copy.
kind
Type of item, i.e. file or directory. 사용할 수 있는 값에 대해서는 type 상수를 참고하십시오.
schedule

Scheduled action for item, i.e. addition or deletion. Constants for these magic numbers are not available, they can be emulated by using:

<?php
if (!defined('svn_wc_schedule_normal')) {
    define('svn_wc_schedule_normal',  0); // nothing special
    define('svn_wc_schedule_add',     1); // item will be added
    define('svn_wc_schedule_delete',  2); // item will be deleted
    define('svn_wc_schedule_replace', 3); // item will be added and deleted
}
?>
deleted
Whether or not the item was deleted, but parent revision lags behind. (Only set if TRUE.)
absent
Whether or not the item is absent, that is, Subversion knows that there should be something there but there isn't. (Only set if TRUE.)
incomplete
Whether or not the entries file for a directory is incomplete. (Only set if TRUE.)
cmt_date
Integer Unix timestamp of last commit date. (Unaffected by update.)
cmt_rev
Integer revision of last commit. (Unaffected by update.)
cmt_author
String author of last commit. (Unaffected by update.)
prop_time
Integer Unix timestamp of last up-to-date time for properties
text_time
Integer Unix timestamp of last up-to-date time for text

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2377. Basic example

This example demonstrates a basic, theoretical usage of this function.

<?php
print_r(svn_status(realpath('wc')));
?>

위 예제의 출력 예:

Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // item was modified
        [repos_text_status] => 1 // no information available, use update
        [prop_status] => 3 // no changes
        [repos_prop_status] => 1 // no information available, use update
        [name] => sandwich.txt
        [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] => http://www.example.com/svnroot/
        [revision] => 123
        [kind] => 1 // file
        [schedule] => 0 // no special actions scheduled
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)

참고

svn_update()
svn_log()
» SVN documentation for svn status

이전 | 위로 | 다음
svn_repos_recover | 처음으로 | svn_update


svn_update

(PECL svn:0.1-0.2)

svn_update -- Update working copy

설명

int svn_update ( string $path [, int $revno [, bool $recurse]] )

Update working copy at path to revision revno. If recurse is true, directories will be recursively updated.

매개변수

path

Path to local working copy.

참고: 상대 경로는 PHP 바이너리가 있는 디렉토리를 현재 작업 디렉토리로 인식합니다. 스크립트의 작업 디렉토리를 얻으려면, realpath()나 dirname(__FILE__)을 사용하십시오.

revno

Revision number to update to, default is SVN_REVISION_HEAD.

recurse

Whether or not to recursively update directories, default is TRUE.

반환값

Returns new revision number on success, returns FALSE on failure.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

예제

예 2378. Basic example

This example demonstrates basic usage of this function:

<?php
echo svn_update(realpath('working-copy'));
?>

위 예제의 출력 예:

234

참고

svn_checkout()
svn_commit()
» SVN documentation for svn update

이전 | 위로 | 다음
svn_status | 처음으로 | CLXIII. Shockwave Flash Functions


SWFAction->__construct()

(PHP 5)

SWFAction->__construct() -- Creates a new SWFAction

설명

class SWFAction {
SWFAction __construct ( string $script )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new SWFAction and compiles the given script in it.

매개변수

script

An ActionScript snippet to associate with the SWFAction. See SWFAction for more details.

이전 | 위로 | 다음
SWFAction | 처음으로 | SWFBitmap


SWFBitmap->__construct()

(PHP 5)

SWFBitmap->__construct() -- Loads Bitmap object

설명

class SWFBitmap {
SWFBitmap __construct ( mixed $file [, mixed $alphafile] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates the new SWFBitmap object from the given file.

매개변수

For both parameters you can provide a file pointer returned by fopen() or the image data, as a binary string.

file

참고: We can only deal with baseline (frame 0) jpegs, no baseline optimized or progressive scan jpegs!

You can't import png images directly, though- have to use the png2dbl utility to make a dbl ("define bits lossless") file from the png. The reason for this is that I don't want a dependency on the png library in ming- autoconf should solve this, but that's not set up yet.

alphafile

An MSK file to be used as an alpha mask for a JPEG image.

예제

예 1229. Importing a DBL file

<?php
$s = new SWFShape();
$f = $s->addFill(new SWFBitmap(file_get_contents("image.dbl")));
$s->setRightFill($f);

$s->drawLine(32, 0);
$s->drawLine(0, 32);
$s->drawLine(-32, 0);
$s->drawLine(0, -32);

$m = new SWFMovie();
$m->setDimension(32, 32);
$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

예 1230. Using an alpha mask

<?php

$s = new SWFShape();

// .msk file generated with "gif2mask" utility
$f = $s->addFill(new SWFBitmap(file_get_contents("alphafill.jpg"), file_get_contents("alphafill.msk")));
$s->setRightFill($f);

$s->drawLine(640, 0);
$s->drawLine(0, 480);
$s->drawLine(-640, 0);
$s->drawLine(0, -480);

$c = new SWFShape();
$c->setRightFill($c->addFill(0x99, 0x99, 0x99));
$c->drawLine(40, 0);
$c->drawLine(0, 40);
$c->drawLine(-40, 0);
$c->drawLine(0, -40);

$m = new SWFMovie();
$m->setDimension(640, 480);
$m->setBackground(0xcc, 0xcc, 0xcc);

// draw checkerboard background
for ($y=0; $y<480; $y+=40) {
  for ($x=0; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }

  $y+=40;

  for ($x=40; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }
}

$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

이전 | 위로 | 다음
SWFBitmap | 처음으로 | SWFBitmap->getHeight()


SWFButton->addASound()

(PHP 5)

SWFButton->addASound() -- Associates a sound with a button transition

설명

class SWFButton {
SWFSoundInstance addASound ( SWFSound $sound, int $flags )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFButton->addAction() | 처음으로 | SWFButton->addShape()


SWFButton->__construct()

(PHP 5)

SWFButton->__construct() -- Creates a new Button

설명

class SWFButton {
SWFButton __construct ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new Button.

예제

This simple example will show your usual interactions with buttons : rollover, rollon, mouseup, mousedown, noaction.

예 1231. Usual interactions with buttons

<?php

$f = new SWFFont("_serif");

$p = new SWFSprite();

function label($string)
{
  global $f;

  $t = new SWFTextField();
  $t->setFont($f);
  $t->addString($string);
  $t->setHeight(200);
  $t->setBounds(3200, 200);
  return $t;
}

function addLabel($string)
{
  global $p;

  $i = $p->add(label($string));
  $p->nextFrame();
  $p->remove($i);
}

$p->add(new SWFAction("stop();"));
addLabel("NO ACTION");
addLabel("SWFBUTTON_MOUSEUP");
addLabel("SWFBUTTON_MOUSEDOWN");
addLabel("SWFBUTTON_MOUSEOVER");
addLabel("SWFBUTTON_MOUSEOUT");
addLabel("SWFBUTTON_MOUSEUPOUTSIDE");
addLabel("SWFBUTTON_DRAGOVER");
addLabel("SWFBUTTON_DRAGOUT");

function rect($r, $g, $b)
{
  $s = new SWFShape();
  $s->setRightFill($s->addFill($r, $g, $b));
  $s->drawLine(600, 0);
  $s->drawLine(0, 600);
  $s->drawLine(-600, 0);
  $s->drawLine(0, -600);

  return $s;
}

$b = new SWFButton();
$b->addShape(rect(0xff, 0, 0), SWFBUTTON_UP | SWFBUTTON_HIT);
$b->addShape(rect(0, 0xff, 0), SWFBUTTON_OVER);
$b->addShape(rect(0, 0, 0xff), SWFBUTTON_DOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(1);"),
          SWFBUTTON_MOUSEUP);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(2);"),
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(3);"),
      SWFBUTTON_MOUSEOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(4);"),
      SWFBUTTON_MOUSEOUT);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(5);"),
      SWFBUTTON_MOUSEUPOUTSIDE);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(6);"),
      SWFBUTTON_DRAGOVER);

$b->addAction(new SWFAction("setTarget('/label'); gotoFrame(7);"),
      SWFBUTTON_DRAGOUT);

$m = new SWFMovie();
$m->setDimension(4000, 3000);

$i = $m->add($p);
$i->setName("label");
$i->moveTo(400, 1900);

$i = $m->add($b);
$i->moveTo(400, 900);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

This simple example will enables you to drag draw a big red button on the windows. No drag-and-drop, just moving around.

예 1232. Drag example

<?php

$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->drawLine(1000,0);
$s->drawLine(0,1000);
$s->drawLine(-1000,0);
$s->drawLine(0,-1000);

$b = new SWFButton();
$b->addShape($s, SWFBUTTON_HIT | SWFBUTTON_UP | SWFBUTTON_DOWN | SWFBUTTON_OVER);

$b->addAction(new SWFAction("startDrag('/test', 0);"), // '0' means don't lock to mouse
      SWFBUTTON_MOUSEDOWN);

$b->addAction(new SWFAction("stopDrag();"),
      SWFBUTTON_MOUSEUP | SWFBUTTON_MOUSEUPOUTSIDE);

$p = new SWFSprite();
$p->add($b);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->setName('test');
$i->moveTo(1000,1000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

이전 | 위로 | 다음
SWFButton | 처음으로 | SWFButton->addAction()


SWFButton->setMenu()

(PHP 5)

SWFButton->setMenu() -- enable track as menu button behaviour

설명

class SWFButton {
void setMenu ( int $flag )
}
주의

This function is currently not documented; only the argument list is available.

매개변수

flag

This parameter can be used for a slight different behavior of buttons. You can set it to 0 (off) or 1 (on).

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFButton->setHit() | 처음으로 | SWFButton->setOver()


SWFDisplayItem->addAction()

(PHP 5)

SWFDisplayItem->addAction() -- Adds this SWFAction to the given SWFSprite instance

설명

class SWFDisplayItem {
void addAction ( SWFAction $action, int $flags )
}
주의

This function is currently not documented; only the argument list is available.

매개변수

action

An SWFAction, returned by SWFAction->__construct().

flags

반환값

값을 반환하지 않습니다.

참고

SWFAction

이전 | 위로 | 다음
SWFDisplayItem | 처음으로 | SWFDisplayItem->addColor()


SWFDisplayItem->endMask()

(PHP 5)

SWFDisplayItem->endMask() -- Another way of defining a MASK layer

설명

class SWFDisplayItem {
void endMask ( void )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFDisplayItem->addColor() | 처음으로 | SWFDisplayItem->getRot()


SWFDisplayItem->getRot()

(No version information available, might be only in CVS)

SWFDisplayItem->getRot()

설명

class SWFDisplayItem {
float getRot ( void )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFDisplayItem->endMask() | 처음으로 | SWFDisplayItem->getX()


SWFDisplayItem->getX()

(No version information available, might be only in CVS)

SWFDisplayItem->getX()

설명

class SWFDisplayItem {
float getX ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFDisplayItem->getY()

이전 | 위로 | 다음
SWFDisplayItem->getRot() | 처음으로 | SWFDisplayItem->getXScale()


SWFDisplayItem->getXScale()

(No version information available, might be only in CVS)

SWFDisplayItem->getXScale()

설명

class SWFDisplayItem {
float getXScale ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFDisplayItem->getYScale()

이전 | 위로 | 다음
SWFDisplayItem->getX() | 처음으로 | SWFDisplayItem->getXSkew()


SWFDisplayItem->getXSkew()

(No version information available, might be only in CVS)

SWFDisplayItem->getXSkew()

설명

class SWFDisplayItem {
float getXSkew ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFDisplayItem->getYSkew()

이전 | 위로 | 다음
SWFDisplayItem->getXScale() | 처음으로 | SWFDisplayItem->getY()


SWFDisplayItem->getY()

(No version information available, might be only in CVS)

SWFDisplayItem->getY()

설명

class SWFDisplayItem {
float getY ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFDisplayItem->getX()

이전 | 위로 | 다음
SWFDisplayItem->getXSkew() | 처음으로 | SWFDisplayItem->getYScale()


SWFDisplayItem->getYScale()

(No version information available, might be only in CVS)

SWFDisplayItem->getYScale()

설명

class SWFDisplayItem {
float getYScale ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFDisplayItem->getXScale()

이전 | 위로 | 다음
SWFDisplayItem->getY() | 처음으로 | SWFDisplayItem->getYSkew()


SWFDisplayItem->getYSkew()

(No version information available, might be only in CVS)

SWFDisplayItem->getYSkew()

설명

class SWFDisplayItem {
float getYSkew ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFDisplayItem->getXSkew()

이전 | 위로 | 다음
SWFDisplayItem->getYScale() | 처음으로 | SWFDisplayItem->move()


SWFDisplayItem->setMaskLevel()

(PHP 5)

SWFDisplayItem->setMaskLevel() -- Defines a MASK layer at level

설명

class SWFDisplayItem {
void setMaskLevel ( int $level )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFDisplayItem->setDepth() | 처음으로 | SWFDisplayItem->setMatrix()


SWFDisplayItem->setMatrix()

(PHP 5)

SWFDisplayItem->setMatrix() -- Sets the item's transform matrix

설명

class SWFDisplayItem {
void setMatrix ( float $a, float $b, float $c, float $d, float $x, float $y )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFDisplayItem->setMaskLevel() | 처음으로 | SWFDisplayItem->setName()


SWFFont->__construct()

(PHP 5)

SWFFont->__construct() -- Loads a font definition

설명

class SWFFont {
SWFFont __construct ( string $filename )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

If filename is the name of an FDB file (i.e., it ends in ".fdb"), load the font definition found in said file. Otherwise, create a browser-defined font reference.

FDB ("font definition block") is a very simple wrapper for the SWF DefineFont2 block which contains a full description of a font. One may create FDB files from SWT Generator template files with the included makefdb utility- look in the util directory off the main ming distribution directory.

Browser-defined fonts don't contain any information about the font other than its name. It is assumed that the font definition will be provided by the movie player. The fonts _serif, _sans, and _typewriter should always be available. For example: <?php
$f = newSWFFont("_sans");
?> will give you the standard sans-serif font, probably the same as what you'd get with <font name="sans-serif"> in HTML.

이전 | 위로 | 다음
SWFFont | 처음으로 | SWFFont->getAscent()


SWFFont->getAscent()

(PHP 5)

SWFFont->getAscent() -- Returns the ascent of the font, or 0 if not available

설명

class SWFFont {
float getAscent ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFFont->getDescent()

이전 | 위로 | 다음
SWFFont->__construct() | 처음으로 | SWFFont->getDescent()


SWFFont->getDescent()

(PHP 5)

SWFFont->getDescent() -- Returns the descent of the font, or 0 if not available

설명

class SWFFont {
float getDescent ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFFont->getAscent()

이전 | 위로 | 다음
SWFFont->getAscent() | 처음으로 | SWFFont->getLeading()


SWFFont->getLeading()

(PHP 5)

SWFFont->getLeading() -- Returns the leading of the font, or 0 if not available

설명

class SWFFont {
float getLeading ( void )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFFont->getDescent() | 처음으로 | SWFFont->getShape()


SWFFont->getShape()

(PHP 5)

SWFFont->getShape() -- Returns the glyph shape of a char as a text string

설명

class SWFFont {
string getShape ( int $code )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFFont->getLeading() | 처음으로 | SWFFont->getUTF8Width()


SWFFont->getUTF8Width()

(PHP 5)

SWFFont->getUTF8Width() -- Calculates the width of the given string in this font at full height

설명

class SWFFont {
float getUTF8Width ( string $string )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFFont->getWidth()

이전 | 위로 | 다음
SWFFont->getShape() | 처음으로 | SWFFont->getWidth()


SWFFontChar->addChars()

(PHP 5)

SWFFontChar->addChars() -- Adds characters to a font for exporting font

설명

class SWFFontChar {
void addChars ( string $char )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

참고

SWFFontChar->addUTF8Chars()

이전 | 위로 | 다음
SWFFontChar | 처음으로 | SWFFontChar->addUTF8Chars()


SWFFontChar->addUTF8Chars()

(No version information available, might be only in CVS)

SWFFontChar->addUTF8Chars() -- Adds characters to a font for exporting font

설명

class SWFFontChar {
void addUTF8Chars ( string $char )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

참고

SWFFontChar->addChars()

이전 | 위로 | 다음
SWFFontChar->addChars() | 처음으로 | SWFGradient


SWFGradient->__construct()

(PHP 5)

SWFGradient->__construct() -- Creates a gradient object

설명

class SWFGradient {
SWFGradient __construct ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swfgradient() creates a new SWFGradient object.

After you've added the entries to your gradient, you can use the gradient in a shape fill with the swfshape->addfill() method.

SWFGradient has the following methods : swfgradient->addentry().

This simple example will draw a big black-to-white gradient as background, and a reddish disc in its center.

예 1236. swfgradient() example

<?php

  $m = new SWFMovie();
  $m->setDimension(320, 240);

  $s = new SWFShape();

  // first gradient- black to white
  $g = new SWFGradient();
  $g->addEntry(0.0, 0, 0, 0);
  $g->addEntry(1.0, 0xff, 0xff, 0xff);

  $f = $s->addFill($g, SWFFILL_LINEAR_GRADIENT);
  $f->scaleTo(0.01);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  $s = new SWFShape();

  // second gradient- radial gradient from red to transparent
  $g = new SWFGradient();
  $g->addEntry(0.0, 0xff, 0, 0, 0xff);
  $g->addEntry(1.0, 0xff, 0, 0, 0);

  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.005);
  $f->moveTo(160, 120);
  $s->setRightFill($f);
  $s->drawLine(320, 0);
  $s->drawLine(0, 240);
  $s->drawLine(-320, 0);
  $s->drawLine(0, -240);

  $m->add($s);

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

이전 | 위로 | 다음
SWFGradient | 처음으로 | SWFGradient->addEntry()


SWFMorph->__construct()

(PHP 5)

SWFMorph->__construct() -- Creates a new SWFMorph object

설명

class SWFMorph {
SWFMorph __construct ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new SWFMorph object.

Also called a "shape tween". This thing lets you make those tacky twisting things that make your computer choke. Oh, joy!

예제

This simple example will morph a big red square into a smaller blue black-bordered square.

예 1237. swfmorph() example

<?php
  $p = new SWFMorph();

  $s = $p->getShape1();
  $s->setLine(0, 0, 0, 0);

  /* Note that this is backwards from normal shapes (left instead of right).
     I have no idea why, but this seems to work.. */

  $s->setLeftFill($s->addFill(0xff, 0, 0));
  $s->movePenTo(-1000,-1000);
  $s->drawLine(2000,0);
  $s->drawLine(0,2000);
  $s->drawLine(-2000,0);
  $s->drawLine(0,-2000);

  $s = $p->getShape2();
  $s->setLine(60,0,0,0);
  $s->setLeftFill($s->addFill(0, 0, 0xff));
  $s->movePenTo(0,-1000);
  $s->drawLine(1000,1000);
  $s->drawLine(-1000,1000);
  $s->drawLine(-1000,-1000);
  $s->drawLine(1000,-1000);

  $m = new SWFMovie();
  $m->setDimension(3000,2000);
  $m->setBackground(0xff, 0xff, 0xff);

  $i = $m->add($p);
  $i->moveTo(1500,1000);

  for ($r=0.0; $r<=1.0; $r+=0.1) {
    $i->setRatio($r);
    $m->nextFrame();
  }

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

이전 | 위로 | 다음
SWFMorph | 처음으로 | SWFMorph->getShape1()


SWFMovie->addExport()

(No version information available, might be only in CVS)

SWFMovie->addExport()

설명

class SWFMovie {
void addExport ( SWFCharacter $char, string $name )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFMovie->add() | 처음으로 | SWFMovie->addFont()


SWFMovie->addFont()

(No version information available, might be only in CVS)

SWFMovie->addFont()

설명

class SWFMovie {
mixed addFont ( SWFFont $font )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFMovie->addExport() | 처음으로 | SWFMovie->importChar()


SWFMovie->__construct()

(PHP 5)

SWFMovie->__construct() -- Creates a new movie object, representing an SWF version 4 movie

설명

class SWFMovie {
SWFMovie __construct ( int $version )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new movie object, representing an SWF movie.

매개변수

version

The desired SWF version. Default is 4.

이전 | 위로 | 다음
SWFMovie | 처음으로 | SWFMovie->add()


SWFMovie->importChar()

(No version information available, might be only in CVS)

SWFMovie->importChar()

설명

class SWFMovie {
SWFSprite importChar ( string $libswf, string $name )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFMovie->importFont()

이전 | 위로 | 다음
SWFMovie->addFont() | 처음으로 | SWFMovie->importFont()


SWFMovie->importFont()

(No version information available, might be only in CVS)

SWFMovie->importFont()

설명

class SWFMovie {
SWFFontChar importFont ( string $libswf, string $name )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFMovie->importChar()

이전 | 위로 | 다음
SWFMovie->importChar() | 처음으로 | SWFMovie->labelFrame()


SWFMovie->labelFrame()

(PHP 5)

SWFMovie->labelFrame() -- Labels a frame

설명

class SWFMovie {
void labelFrame ( string $label )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFMovie->importFont() | 처음으로 | SWFMovie->nextFrame()


SWFMovie->saveToFile()

(PHP 5)

SWFMovie->saveToFile()

설명

class SWFMovie {
int saveToFile ( stream $x [, int $compression] )
}
주의

This function is currently not documented; only the argument list is available.

매개변수

X

compression

The compression level can be a value between 0 and 9, defining the SWF compression similar to gzip compression.

This parameter is only available as of Flash MX (6).

반환값

Return the number of bytes written or FALSE on error.

참고

SWFMovie->output()
SWFMovie->save()

이전 | 위로 | 다음
SWFMovie->save() | 처음으로 | SWFMovie->setbackground()


SWFMovie->startSound()

(No version information available, might be only in CVS)

SWFMovie->startSound()

설명

class SWFMovie {
SWFSoundInstance startSound ( SWFSound $sound )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFMovie->stopSound()

이전 | 위로 | 다음
SWFMovie->setRate() | 처음으로 | SWFMovie->stopSound()


SWFMovie->stopSound()

(No version information available, might be only in CVS)

SWFMovie->stopSound()

설명

class SWFMovie {
void stopSound ( SWFSound $sound )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

참고

SWFMovie->startSound()

이전 | 위로 | 다음
SWFMovie->startSound() | 처음으로 | SWFMovie->streamMP3()


SWFMovie->writeExports()

(No version information available, might be only in CVS)

SWFMovie->writeExports()

설명

class SWFMovie {
void writeExports ( void )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFMovie->streamMP3() | 처음으로 | SWFPrebuiltClip


SWFPrebuiltClip->__construct()

(No version information available, might be only in CVS)

SWFPrebuiltClip->__construct() -- Returns a SWFPrebuiltClip object

설명

class SWFPrebuiltClip {
SWFPrebuiltClip __construct ( [string $file] )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFPrebuiltClip | 처음으로 | SWFShape


SWFShape->__construct()

(PHP 5)

SWFShape->__construct() -- Creates a new shape object

설명

class SWFShape {
SWFShape __construct ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Created a new SWFShape object.

예제

This simple example will draw a big red elliptic quadrant.

예 1240. swfshape() example

<?php
$s = new SWFShape();
$s->setLine(40, 0x7f, 0, 0);
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(200, 200);
$s->drawLineTo(6200, 200);
$s->drawLineTo(6200, 4600);
$s->drawCurveTo(200, 4600, 200, 200);

$m = new SWFMovie();
$m->setDimension(6400, 4800);
$m->setRate(12.0);
$m->add($s);
$m->nextFrame();

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

이전 | 위로 | 다음
SWFShape | 처음으로 | SWFShape->addFill()


SWFShape->drawArc()

(PHP 5)

SWFShape->drawArc() -- Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock

설명

class SWFShape {
void drawArc ( float $r, float $startAngle, float $endAngle )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

참고

SWFShape->drawCircle()

이전 | 위로 | 다음
SWFShape->addFill() | 처음으로 | SWFShape->drawCircle()


SWFShape->drawCircle()

(PHP 5)

SWFShape->drawCircle() -- Draws a circle of radius r centered at the current location, in a counter-clockwise fashion

설명

class SWFShape {
void drawCircle ( float $r )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFShape->drawArc() | 처음으로 | SWFShape->drawCubic()


SWFShape->drawCubic()

(PHP 5)

SWFShape->drawCubic() -- Draws a cubic bezier curve using the current position and the three given points as control points

설명

class SWFShape {
int drawCubic ( float $bx, float $by, float $cx, float $cy, float $dx, float $dy )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFShape->drawCubicTo()

이전 | 위로 | 다음
SWFShape->drawCircle() | 처음으로 | SWFShape->drawCubicTo()


SWFShape->drawCubicTo()

(No version information available, might be only in CVS)

SWFShape->drawCubicTo() -- Draws a cubic bezier curve using the current position and the three given points as control points

설명

class SWFShape {
int drawCubicTo ( float $bx, float $by, float $cx, float $cy, float $dx, float $dy )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFShape->drawCubic()

이전 | 위로 | 다음
SWFShape->drawCubic() | 처음으로 | SWFShape->drawCurve()


SWFShape->drawGlyph()

(PHP 5)

SWFShape->drawGlyph() -- Draws the first character in the given string into the shape using the glyph definition from the given font

설명

class SWFShape {
void drawGlyph ( SWFFont $font, string $character [, int $size] )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFShape->drawCurveTo() | 처음으로 | SWFShape->drawLine()


SWFSound

(No version information available, might be only in CVS)

SWFSound -- Returns a new SWFSound object from given file

설명

class SWFSound {
SWFSound __construct ( string $filename, int $flags )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFSound | 처음으로 | SWFSoundInstance


SWFSoundInstance->loopCount()

(No version information available, might be only in CVS)

SWFSoundInstance->loopCount()

설명

class SWFSoundInstance {
void loopCount ( int $point )
}
주의

This function is currently not documented; only the argument list is available.

매개변수

point

반환값

값을 반환하지 않습니다.

참고

SWFSoundInstance->loopOutPoint()

이전 | 위로 | 다음
SWFSoundInstance | 처음으로 | SWFSoundInstance->loopInPoint()


SWFSoundInstance->loopInPoint()

(No version information available, might be only in CVS)

SWFSoundInstance->loopInPoint()

설명

class SWFSoundInstance {
void loopInPoint ( int $point )
}
주의

This function is currently not documented; only the argument list is available.

매개변수

point

반환값

값을 반환하지 않습니다.

참고

SWFSoundInstance->loopOutPoint()

이전 | 위로 | 다음
SWFSoundInstance->loopCount() | 처음으로 | SWFSoundInstance->loopOutPoint()


SWFSoundInstance->loopOutPoint()

(No version information available, might be only in CVS)

SWFSoundInstance->loopOutPoint()

설명

class SWFSoundInstance {
void loopOutPoint ( int $point )
}
주의

This function is currently not documented; only the argument list is available.

매개변수

point

반환값

값을 반환하지 않습니다.

참고

SWFSoundInstance->loopInPoint()

이전 | 위로 | 다음
SWFSoundInstance->loopInPoint() | 처음으로 | SWFSoundInstance->noMultiple()


SWFSoundInstance->noMultiple()

(No version information available, might be only in CVS)

SWFSoundInstance->noMultiple()

설명

class SWFSoundInstance {
void noMultiple ( void )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFSoundInstance->loopOutPoint() | 처음으로 | SWFSprite


SWFSprite->__construct()

(PHP 5)

SWFSprite->__construct() -- Creates a movie clip (a sprite)

설명

class SWFSprite {
SWFSprite __construct ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new SWFSprite object.

이전 | 위로 | 다음
SWFSprite | 처음으로 | SWFSprite->add()


SWFSprite->labelFrame()

(PHP 5)

SWFSprite->labelFrame() -- Labels frame

설명

class SWFSprite {
void labelFrame ( string $label )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFSprite->add() | 처음으로 | SWFSprite->nextFrame()


SWFSprite->startSound()

(No version information available, might be only in CVS)

SWFSprite->startSound()

설명

class SWFSprite {
SWFSoundInstance startSound ( SWFSound $sount )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFSprite->stopSound()

이전 | 위로 | 다음
SWFSprite->setFrames() | 처음으로 | SWFSprite->stopSound()


SWFSprite->stopSound()

(No version information available, might be only in CVS)

SWFSprite->stopSound()

설명

class SWFSprite {
void stopSound ( SWFSound $sount )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

참고

SWFSprite->startSound()

이전 | 위로 | 다음
SWFSprite->startSound() | 처음으로 | SWFText


SWFText->addUTF8String()

(PHP 5)

SWFText->addUTF8String() -- Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color

설명

class SWFText {
void addUTF8String ( string $text )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

참고

SWFText->addString()

이전 | 위로 | 다음
SWFText->addString() | 처음으로 | SWFText->getAscent()


SWFText->__construct()

(PHP 5)

SWFText->__construct() -- Creates a new SWFText object

설명

class SWFText {
void __construct ( void )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Creates a new SWFText object, fresh for manipulating.

예제

This simple example will draw a big yellow "PHP generates Flash with Ming" text, on white background.

예 1244. swftext() example

<?php
$f = new SWFFont("Techno.fdb");
$t = new SWFText();
$t->setFont($f);
$t->moveTo(200, 2400);
$t->setColor(0xff, 0xff, 0);
$t->setHeight(1200);
$t->addString("PHP generates Flash with Ming!!");

$m = new SWFMovie();
$m->setDimension(5400, 3600);

$m->add($t);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

이전 | 위로 | 다음
SWFText | 처음으로 | SWFText->addString()


SWFText->getAscent()

(PHP 5)

SWFText->getAscent() -- Returns the ascent of the current font at its current size, or 0 if not available

설명

class SWFText {
float getAscent ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFText->getDescent()

이전 | 위로 | 다음
SWFText->addUTF8String() | 처음으로 | SWFText->getDescent()


SWFText->getDescent()

(PHP 5)

SWFText->getDescent() -- Returns the descent of the current font at its current size, or 0 if not available

설명

class SWFText {
float getDescent ( void )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFText->getAscent()

이전 | 위로 | 다음
SWFText->getAscent() | 처음으로 | SWFText->getLeading()


SWFText->getLeading()

(PHP 5)

SWFText->getLeading() -- Returns the leading of the current font at its current size, or 0 if not available

설명

class SWFText {
float getLeading ( void )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFText->getDescent() | 처음으로 | SWFText->getUTF8Width()


SWFText->getUTF8Width()

(PHP 5)

SWFText->getUTF8Width() -- calculates the width of the given string in this text objects current font and size

설명

class SWFText {
float getUTF8Width ( string $string )
}
주의

This function is currently not documented; only the argument list is available.

참고

SWFText->getWidth()

이전 | 위로 | 다음
SWFText->getLeading() | 처음으로 | SWFText->getWidth()


SWFTextField->addChars()

(PHP 5)

SWFTextField->addChars() -- adds characters to a font that will be available within a textfield

설명

class SWFTextField {
void addChars ( string $chars )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

참고

SWFTextField->addString()

이전 | 위로 | 다음
SWFTextField->__construct() | 처음으로 | SWFTextField->addString()


SWFTextField->__construct()

(PHP 5)

SWFTextField->__construct() -- Creates a text field object

설명

class SWFTextField {
SWFTextField __construct ( [int $flags] )
}
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

swftextfield() creates a new text field object. Text Fields are less flexible than swftext() objects- they can't be rotated, scaled non-proportionally, or skewed, but they can be used as form entries, and they can use browser-defined fonts.

The optional flags change the text field's behavior. It has the following possibles values :

  • SWFTEXTFIELD_DRAWBOX draws the outline of the textfield
  • SWFTEXTFIELD_HASLENGTH
  • SWFTEXTFIELD_HTML allows text markup using HTML-tags
  • SWFTEXTFIELD_MULTILINE allows multiple lines
  • SWFTEXTFIELD_NOEDIT indicates that the field shouldn't be user-editable
  • SWFTEXTFIELD_NOSELECT makes the field non-selectable
  • SWFTEXTFIELD_PASSWORD obscures the data entry
  • SWFTEXTFIELD_WORDWRAP allows text to wrap
Flags are combined with the bitwise OR operation. For example, <?php
$t = newSWFTextField(SWFTEXTFIELD_PASSWORD | SWFTEXTFIELD_NOEDIT);
?> creates a totally useless non-editable password field.

SWFTextField has the following methods : swftextfield->setfont(),
swftextfield->setbounds(), swftextfield->align(),
swftextfield->setheight(), swftextfield->setleftmargin(),
swftextfield->setrightmargin(), swftextfield->setmargins(),
swftextfield->setindentation(), swftextfield->setlinespacing(),
swftextfield->setcolor(), swftextfield->setname() and
swftextfield->addstring().

이전 | 위로 | 다음
SWFTextField | 처음으로 | SWFTextField->addChars()


SWFTextField->setPadding()

(PHP 5)

SWFTextField->setPadding() -- Sets the padding of this textfield

설명

class SWFTextField {
void setPadding ( float $padding )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFTextField->setName() | 처음으로 | SWFTextField->setRightMargin()


SWFVideoStream->__construct()

(No version information available, might be only in CVS)

SWFVideoStream->__construct() -- Returns a SWFVideoStream object

설명

class SWFVideoStream {
SWFVideoStream __construct ( [string $file] )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFVideoStream | 처음으로 | SWFVideoStream->getNumFrames()


SWFVideoStream->getNumFrames()

(No version information available, might be only in CVS)

SWFVideoStream->getNumFrames()

설명

class SWFVideoStream {
int getNumFrames ( void )
}
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SWFVideoStream->__construct() | 처음으로 | SWFVideoStream->setDimension()


SWFVideoStream->setDimension()

(No version information available, might be only in CVS)

SWFVideoStream->setDimension()

설명

class SWFVideoStream {
void setDimension ( int $x, int $y )
}
주의

This function is currently not documented; only the argument list is available.

반환값

값을 반환하지 않습니다.

이전 | 위로 | 다음
SWFVideoStream->getNumFrames() | 처음으로 | ming_keypress


Swish::__construct

(PECL swish:0.1-0.3.0)

Swish::__construct -- Construct a Swish object

설명

void Swish::__construct ( string $index_names )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

index_names

The list of index files separated by spaces.

오류/예외

Throws SwishException on error.

예제

예 2383. A Swish::__construct() example

<?php

try {
    $swish = new Swish("index1 index2");
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

foreach ($swish->indexes as $index) {
    var_dump($index["name"]);
    var_dump($index["headers"]["Total Words"]);
}

?>

위 예제의 출력 예:

string(6) "index1"
int(1888)
string(6) "index2"
int(2429)

이전 | 위로 | 다음
CLXIV. Swish Functions | 처음으로 | Swish->getMetaList


Swish->getMetaList

(PECL swish:0.1-0.3.0)

Swish->getMetaList -- Get the list of meta entries for the index

설명

array Swish->getMetaList ( string $index_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

index_name

The name of the index file.

반환값

Returns an array of meta entries for the given index.

예제

예 2384. Basic Swish->getMetaList() example

<?php

try {

    $swish = new Swish("index.swish-e");
    var_dump($swish->getMetaList("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

array(1) {
  [0]=>
  array(3) {
    ["Name"]=>
    string(12) "swishdefault"
    ["Type"]=>
    int(0)
    ["ID"]=>
    int(1)
  }
}

이전 | 위로 | 다음
Swish::__construct | 처음으로 | Swish->getPropertyList


Swish->getPropertyList

(PECL swish:0.1-0.3.0)

Swish->getPropertyList -- Get the list of properties for the index

설명

array Swish->getPropertyList ( string $index_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

index_name

The name of the index file.

반환값

Returns an array of properties for the given index.

예제

예 2385. Basic Swish->getPropertyList() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $properties = $swish->getPropertyList("index.swish-e");
    foreach ($properties as $prop) {
        echo $prop["Name"],"\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

swishreccount
swishrank
swishfilenum
swishdbfile
swishdocpath
swishtitle
swishdocsize
swishlastmodified

이전 | 위로 | 다음
Swish->getMetaList | 처음으로 | Swish->prepare


Swish->prepare

(PECL swish:0.1-0.3.0)

Swish->prepare -- Prepare a search query

설명

object Swish->prepare ( [string $query] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Prepare and return a search object, which you can later use for unlimited number of queries.

매개변수

query

Optional query string. The query can be also set using SwishSearch->execute() method.

반환값

Returns SwishSearch object.

오류/예외

Throws SwishException on error.

예제

예 2386. Basic Swish->prepare() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare("search query");
    $results = $search->execute();
    echo "Found: ", $results->hits, " hits\n";

    $results = $search->execute("new search");

    echo "Found: ", $results->hits, " hits\n";
} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

Found: 2 hits
Found: 5 hits

이전 | 위로 | 다음
Swish->getPropertyList | 처음으로 | Swish->query


Swish->query

(PECL swish:0.1-0.3.0)

Swish->query -- Execute a query and return results object

설명

object Swish->query ( string $query )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

A quick method to execute a search with default parameters.

매개변수

query

Query string.

반환값

Returns SwishResults object.

오류/예외

Throws SwishException on error.

예제

예 2387. Basic Swish->query() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test query");

    echo "Found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

Found: 1 hits

이전 | 위로 | 다음
Swish->prepare | 처음으로 | SwishResult->getMetaList


SwishResult->getMetaList

(PECL swish:0.1-0.3.0)

SwishResult->getMetaList -- Get a list of meta entries

설명

array SwishResult->getMetaList ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

반환값

Returns the same array as swish->getmetalist(), but uses the index file from the result handle.

이전 | 위로 | 다음
Swish->query | 처음으로 | SwishResult->stem


SwishResult->stem

(PECL swish:0.1-0.3.0)

SwishResult->stem -- Stems the given word

설명

array SwishResult->stem ( string $word )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Stems the word based on the fuzzy mode used during indexing. Each result object is linked with its index, so the results are based on this index.

매개변수

word

The word to stem.

반환값

Returns array containing the stemmed word variants (usually just one).

오류/예외

Throws SwishException on error.

예제

예 2388. Basic () example

<?php

try {

    $swish = new Swish("ext/swish/tests/index.swish-e");
    $results = $swish->query("testing OR others");

    if ($result = $results->nextResult()) {
        var_dump($result->stem("testing")); //the results fully depend on the stemmer used in th index
        var_dump($result->stem("others"));
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

array(1) {
  [0]=>
  string(4) "test"
}
array(1) {
  [0]=>
  string(5) "other"
}

이전 | 위로 | 다음
SwishResult->getMetaList | 처음으로 | SwishResults->getParsedWords


SwishResults->getParsedWords

(PECL swish:0.1-0.3.0)

SwishResults->getParsedWords -- Get an array of parsed words

설명

array SwishResults->getParsedWords ( string $index_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

indexi_name

The name of the index used to initialize Swish object.

반환값

An array of parsed words with stopwords removed. The list of parsed words may be useful for highlighting search terms in the results.

예제

예 2389. Basic SwishResults->getParsedWords() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("'some characters' and numbers");

    var_dump($results->getParsedWords("index.swish-e"));
    var_dump($results->indexes[0]['parsed_words']); //same result in a different way

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}
array(4) {
  [0]=>
  string(4) "some"
  [1]=>
  string(10) "characters"
  [2]=>
  string(3) "and"
  [3]=>
  string(7) "numbers"
}

이전 | 위로 | 다음
SwishResult->stem | 처음으로 | SwishResults->getRemovedStopwords


SwishResults->getRemovedStopwords

(PECL swish:0.1-0.3.0)

SwishResults->getRemovedStopwords -- Get an array of stopwords removed from the query

설명

array SwishResults->getRemovedStopwords ( string $index_name )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

index_name

The name of the index used to initialize Swish object.

반환값

Returns array of stopwords removed from the query.

이전 | 위로 | 다음
SwishResults->getParsedWords | 처음으로 | SwishResults->nextResult


SwishResults->nextResult

(PECL swish:0.1-0.3.0)

SwishResults->nextResult -- Get the next search result

설명

object SwishResults->nextResult ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

반환값

Returns the next SwishResult object in the result set or FALSE if there are no more results available.

예제

예 2390. Basic SwishResults->nextResult() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");
    while($result = $results->nextResult()) {
        /* do something with the result object */
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

이전 | 위로 | 다음
SwishResults->getRemovedStopwords | 처음으로 | SwishResults->seekResult


SwishResults->seekResult

(PECL swish:0.1-0.3.0)

SwishResults->seekResult -- Set current seek pointer to the given position

설명

int SwishResults->seekResult ( int $position )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

position

Zero-based position number. Cannot be less than zero.

반환값

Returns new position value on success.

오류/예외

Throws SwishException on error.

예제

예 2391. Basic SwishResults->seekResult() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("lost");

    var_dump($results->seekResult(0)); //this will succeed
    var_dump($results->seekResult(100)); //this will fail

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

int(0)
Error: No more results

이전 | 위로 | 다음
SwishResults->nextResult | 처음으로 | SwishSearch->execute


SwishSearch->execute

(PECL swish:0.1-0.3.0)

SwishSearch->execute -- Execute the search and get the results

설명

object SwishSearch->execute ( [string $query] )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Searches the index file(s) based on the parameters set in the search object.

매개변수

query

The query string is an optional parameter, it can be also set using Swish->prepare() method. The query string is preserved between executions, so you can set it once, but execute the search multiple times.

반환값

Returns SwishResults object.

오류/예외

Throws SwishException on error.

예제

예 2392. Basic SwishSearch->execute() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("query");
    echo "First query found: ", $results->hits, " hits\n";

    $results = $search->execute("new OR query");
    echo "Second query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

First query found: 2 hits
Second query found: 12 hits

이전 | 위로 | 다음
SwishResults->seekResult | 처음으로 | SwishSearch->resetLimit


SwishSearch->resetLimit

(PECL swish:0.1-0.3.0)

SwishSearch->resetLimit -- Reset the search limits

설명

void SwishSearch->resetLimit ( void )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Reset the search limits previous set by SwishSearch->setLimit.

반환값

값을 반환하지 않습니다.

예제

예 2393. Basic SwishSearch->resetLimit() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setLimit("swishdocsize", "3000", "6000"); //limit by document size, from 3000 to 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->resetLimit();
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

First query found: 5 hits
Second query found: 2 hits
Third query found: 5 hits

이전 | 위로 | 다음
SwishSearch->execute | 처음으로 | SwishSearch->setLimit


SwishSearch->setLimit

(PECL swish:0.1-0.3.0)

SwishSearch->setLimit -- Set the search limits

설명

void SwishSearch->setLimit ( string $property, string $low, string $high )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

property

Search result property name.

low

The lowest value of the property.

high

The highest value of the property.

반환값

값을 반환하지 않습니다.

오류/예외

Throws SwishException on error.

예제

예 2394. Basic SwishSearch->setLimit() example

<?php
try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setLimit("swishdocsize", "3000", "6000"); //limit by document size, from 3000 to 6000 bytes
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 2 hits
Hit #1 - 4261 bytes
Hit #2 - 4768 bytes

이전 | 위로 | 다음
SwishSearch->resetLimit | 처음으로 | SwishSearch->setPhraseDelimiter


SwishSearch->setPhraseDelimiter

(PECL swish:0.1-0.3.0)

SwishSearch->setPhraseDelimiter -- Set the phrase delimiter

설명

void SwishSearch->setPhraseDelimiter ( string $delimiter )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

delimiter

Phrase delimiter character. The default delimiter is double-quotes.

반환값

값을 반환하지 않습니다.

예제

예 2395. Basic SwishSearch->setPhraseDelimiter() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute('"every time"'); //looking for "every time"
    echo "First query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter("'");
    $results = $search->execute("'every time'"); //the same query, but using different delimiter
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setPhraseDelimiter('"');
    $results = $search->execute("'every time'"); //looking for "every" and "time"
    echo "Third query found: ", $results->hits, " hits\n";

    //let's look at parsed words
    var_dump($results->getParsedWords("index.swish-e"));

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

First query found: 1 hits
Second query found: 1 hits
Third query found: 2 hits
array(2) {
  [0]=>
  string(5) "every"
  [1]=>
  string(4) "time"
}

이전 | 위로 | 다음
SwishSearch->setLimit | 처음으로 | SwishSearch->setSort


SwishSearch->setSort

(PECL swish:0.1-0.3.0)

SwishSearch->setSort -- Set the sort order

설명

void SwishSearch->setSort ( string $sort )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

sort

Sort order of the results is a string containing name of a result property combined with sort direction ("asc" or "desc"). Examples: "swishrank desc", "swishdocpath asc", "swishtitle asc", "swishdocsize desc", "swishlastmodified desc" etc.

반환값

값을 반환하지 않습니다.

예제

예 2396. Basic SwishSearch->setSort() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

    $search->setSort("swishdocsize desc"); //sort by document size
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $i = 0;
    while($result = $results->nextResult()) {
        echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
    }

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

First query found: 5 hits
Hit #1 - 4261 bytes
Hit #2 - 37937 bytes
Hit #3 - 7126 bytes
Hit #4 - 15427 bytes
Hit #5 - 4768 bytes
Second query found: 5 hits
Hit #1 - 37937 bytes
Hit #2 - 15427 bytes
Hit #3 - 7126 bytes
Hit #4 - 4768 bytes
Hit #5 - 4261 bytes

이전 | 위로 | 다음
SwishSearch->setPhraseDelimiter | 처음으로 | SwishSearch->setStructure


SwishSearch->setStructure

(PECL swish:0.1-0.3.0)

SwishSearch->setStructure -- Set the structure flag in the search object

설명

void SwishSearch->setStructure ( int $structure )
주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

매개변수

structure

The structure flag a bitmask is used to limit search to certain parts of HTML documents (like title, meta, body etc.). Its possible values are listed below. To combine several values use bitwise OR operator, see example below.

  • Swish::IN_FILE

  • Swish::IN_TITLE

  • Swish::IN_HEAD

  • Swish::IN_BODY

  • Swish::IN_COMMENTS

  • Swish::IN_HEADER

  • Swish::IN_EMPHASIZED

  • Swish::IN_META

반환값

값을 반환하지 않습니다.

예제

예 2397. Basic SwishSearch->setStructure() example

<?php

try {

    $swish = new Swish("index.swish-e");
    $search = $swish->prepare();

    $results = $search->execute("time");
    echo "First query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_TITLE|Swish::IN_HEAD); //search in title and head
    $results = $search->execute("time");
    echo "Second query found: ", $results->hits, " hits\n";

    $search->setStructure(Swish::IN_ALL); //search in whole document, the default value
    $results = $search->execute("time");
    echo "Third query found: ", $results->hits, " hits\n";

} catch (SwishException $e) {
    echo $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

First query found: 5 hits
Second query found: 0 hits
Third query found: 5 hits

이전 | 위로 | 다음
SwishSearch->setSort | 처음으로 | CLXV. Sybase Functions


sys_get_temp_dir

(PHP 5 >= 5.2.1)

sys_get_temp_dir -- Returns directory path used for temporary files

설명

string sys_get_temp_dir ( void )

Returns the path of the directory PHP stores temporary files in by default.

반환값

Returns the path of the temporary directory.

참고

tmpfile()
tempnam()

이전 | 위로 | 다음
set_time_limit | 처음으로 | version_compare


sys_getloadavg

(PHP 5 >= 5.1.3)

sys_getloadavg -- Gets system load average

설명

array sys_getloadavg ( void )

Returns three samples representing the average system load (the number of processes in the system run queue) over the last 1, 5 and 15 minutes, respectively.

반환값

Returns an array with three samples (last 1, 5 and 15 minutes).

예제

예 1257. A sys_getloadavg() example

<?php
$load = sys_getloadavg();
if ($load[0] > 80) {
    header('HTTP/1.1 503 Too busy, try again later');
    die('Server too busy. Please try again later.');
}
?>

주의

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

이전 | 위로 | 다음
sleep | 처음으로 | time_nanosleep


tidy_get_opt_doc

(PHP 5 >= 5.1.0)

tidy_get_opt_doc -- Returns the documentation for the given option name

설명

Procedural style:

string tidy_get_opt_doc ( tidy $object, string $optname )

Object oriented style:

string tidy->getOptDoc ( string $optname )

tidy_get_opt_doc() returns the documentation for the given option name.

참고: You need at least libtidy from 25 April, 2005 for this function be available.

매개변수

object

A tidy object

optname

The option name

반환값

Returns a string if the option exists and has documentation available, or FALSE otherwise.

예제

예 2418. Print all options along with their documentation and default value

<?php

$tidy = new tidy;
$config = $tidy->getConfig();

ksort($config);

foreach ($config as $opt => $val) {

    if (!$doc = $tidy->getOptDoc($opt))
        $doc = 'no documentation available!';

    $val = ($tidy->getOpt($opt) === true)  ? 'true'  : $val;
    $val = ($tidy->getOpt($opt) === false) ? 'false' : $val;

    echo "<p><b>$opt</b> (default: '$val')<br />".
         "$doc</p><hr />\n";
}

?>

참고

tidy_get_config()
tidy_getopt()

이전 | 위로 | 다음
tidy_get_html | 처음으로 | tidy_get_output


tidyNode::getParent

(PHP 5 >= 5.2.2)

tidyNode::getParent -- returns the parent node of the current node

설명

tidyNode tidyNode::getParent ( void )

Returns the parent node of the current node.

반환값

Returns a tidyNode if the node has a parent, or NULL otherwise.

이전 | 위로 | 다음
tidyNode->isText | 처음으로 | CLXVIII. Tokenizer Functions


tidyNode->hasChildren

(PHP 5 >= 5.0.1)

tidyNode->hasChildren -- Returns true if this node has children

Description

bool tidyNode->hasChildren ( void )
주의

This function is currently not documented; only the argument list is available.

참고: This function was named tidy_node->has_children() in PHP 4/Tidy 1.

이전 | 위로 | 다음
tidy_warning_count | 처음으로 | tidyNode->hasSiblings


tidyNode->hasSiblings

(PHP 5 >= 5.0.1)

tidyNode->hasSiblings -- Returns true if this node has siblings

Description

bool tidyNode->hasSiblings ( void )
주의

This function is currently not documented; only the argument list is available.

참고: This function was named tidy_node->has_siblings() in PHP 4/Tidy 1.

이전 | 위로 | 다음
tidyNode->hasChildren | 처음으로 | tidyNode->isAsp


tidyNode->isComment

(PHP 5 >= 5.0.1)

tidyNode->isComment -- Returns true if this node represents a comment

Description

bool tidyNode->isComment ( void )
주의

This function is currently not documented; only the argument list is available.

참고: This function was named tidy_node->is_comment() in PHP 4/Tidy 1.

이전 | 위로 | 다음
tidyNode->isAsp | 처음으로 | tidyNode->isHtml


tidyNode->isHtml

(PHP 5 >= 5.0.1)

tidyNode->isHtml -- Returns true if this node is part of a HTML document

Description

bool tidyNode->isHtml ( void )
주의

This function is currently not documented; only the argument list is available.

참고: This function was named tidy_node->is_html() in PHP 4/Tidy 1.

이전 | 위로 | 다음
tidyNode->isComment | 처음으로 | tidyNode->isJste


tidyNode->isJste

(PHP 5 >= 5.0.1)

tidyNode->isJste -- Returns true if this node is JSTE

Description

bool tidyNode->isJste ( void )
주의

This function is currently not documented; only the argument list is available.

참고: This function was named tidy_node->is_jste() in PHP 4/Tidy 1.

이전 | 위로 | 다음
tidyNode->isHtml | 처음으로 | tidyNode->isPhp


tidyNode->isText

(PHP 5 >= 5.0.1)

tidyNode->isText -- Returns true if this node represents text (no markup)

Description

bool tidyNode->isText ( void )
주의

This function is currently not documented; only the argument list is available.

참고: This function was named tidy_node->is_text() in PHP 4/Tidy 1.

이전 | 위로 | 다음
tidyNode->isPhp | 처음으로 | tidyNode::getParent


time_sleep_until

(PHP 5 >= 5.1.0)

time_sleep_until -- Make the script sleep until the specified time

설명

bool time_sleep_until ( float $timestamp )

Makes the script sleep until the specified timestamp.

매개변수

timestamp

The timestamp when the script should wake.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

If the specified timestamp is in the past, this function will generate a E_WARNING.

예제

예 1259. A time_sleep_until() example

<?php

//returns false and generates a warning
var_dump(time_sleep_until(time()-1));

// may only work on faster computers, will sleep up to 0.2 seconds
var_dump(time_sleep_until(time()+0.2));

?>

주의

참고: All signals will be delivered after the script wakes up.

참고: 이 함수는 윈도우 플랫폼에서는 작동하지 않습니다.

참고

sleep()
usleep()
time_nanosleep()

이전 | 위로 | 다음
time_nanosleep | 처음으로 | uniqid


timezone_abbreviations_list

(PHP 5 >= 5.1.0)

timezone_abbreviations_list -- Returns associative array containing dst, offset and the timezone name

설명

array timezone_abbreviations_list ( void )
array DateTimeZone::listAbbreviations ( void )

반환값

Returns array on success or FALSE on failure.

예제

예 398. A timezone_abbreviations_list() example

<?php
$timezone_abbreviations = DateTimeZone::listAbbreviations();
print_r($timezone_abbreviations["acst"]);
?>

위 예제의 출력 예:

Array
(
    [0] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Porto_Acre
        )

    [1] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Eirunepe
        )

    [2] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Rio_Branco
        )

    [3] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => Brazil/Acre
        )

)

참고

timezone_identifiers_list()

이전 | 위로 | 다음
time | 처음으로 | timezone_identifiers_list


timezone_identifiers_list

(PHP 5 >= 5.1.0)

timezone_identifiers_list -- Returns numerically index array with all timezone identifiers

설명

array timezone_identifiers_list ( void )
array DateTimeZone::listIdentifiers ( void )

반환값

Returns array on success or FALSE on failure.

예제

예 399. A timezone_identifiers_list() example

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
    echo "$timezone_identifiers[$i]\n";
}
?>

위 예제의 출력 예:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmera

참고

timezone_abbreviations_list()

이전 | 위로 | 다음
timezone_abbreviations_list | 처음으로 | timezone_name_from_abbr


timezone_name_from_abbr

(PHP 5 >= 5.1.3)

timezone_name_from_abbr -- Returns the timezone name from abbrevation

설명

string timezone_name_from_abbr ( string $abbr [, int $gmtOffset [, int $isdst]] )

매개변수

abbr

Time zone abbreviation.

gmtOffset

Offset from GMT in seconds. Defaults to -1 which means that first found time zone corresponding to abbr is returned. Otherwise exact offset is searched and only if not found then the first time zone with any offset is returned.

isdst

Daylight saving time indicator. If abbr doesn't exist then the time zone is searched solely by offset and isdst.

반환값

Returns time zone name on success or FALSE on failure.

예제

예 400. A timezone_name_from_abbr() example

<?php
echo timezone_name_from_abbr("CET") . "\n";
echo timezone_name_from_abbr("", 3600, 0) . "\n";
?>

위 예제의 출력 예:

Europe/Berlin
Europe/Paris

참고

timezone_abbreviations_list()

이전 | 위로 | 다음
timezone_identifiers_list | 처음으로 | timezone_name_get


timezone_name_get

(PHP 5 >= 5.1.0)

timezone_name_get -- Returns the name of the timezone

설명

string timezone_name_get ( DateTimeZone $object )
string DateTimeZone::getName ( void )

매개변수

object

DateTimeZone object.

반환값

Returns time zone name on success or FALSE on failure.

이전 | 위로 | 다음
timezone_name_from_abbr | 처음으로 | timezone_offset_get


timezone_offset_get

(PHP 5 >= 5.1.0)

timezone_offset_get -- Returns the timezone offset from GMT

설명

int timezone_offset_get ( DateTimeZone $object, DateTime $datetime )
int DateTimeZone::getOffset ( DateTime $datetime )

This function returns the offset to GMT for the date/time specified in the datetime parameter. The GMT offset is calculated with the timezone information contained in the DateTime object being used.

매개변수

object

DateTimeZone object.

datetime

DateTime that contains the date/time to compute the offset from.

반환값

Returns time zone offset in seconds on success or FALSE on failure.

예제

예 401. timezone_offset_get() examples

<?php
// Create two timezone objects, one for Taipei (Taiwan) and one for
// Tokyo (Japan)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Create two DateTime objects that will contain the same Unix timestamp, but
// have different timezones attached to them.
$dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// Calculate the GMT offset for the date/time contained in the $dateTimeTaipei
// object, but using the timezone rules as defined for Tokyo
// ($dateTimeZoneJapan).
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Should show int(32400) (for dates after Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
?>

이전 | 위로 | 다음
timezone_name_get | 처음으로 | timezone_open


timezone_open

(PHP 5 >= 5.1.0)

timezone_open -- Returns new DateTimeZone object

설명

DateTimeZone timezone_open ( string $timezone )
DateTimeZone DateTimeZone::__construct ( string $timezone )

매개변수

timezone

Time zone identifier as full name (e.g. Europe/Prague) or abbreviation (e.g. CET).

반환값

Returns DateTimeZone object on success or FALSE on failure.

이전 | 위로 | 다음
timezone_offset_get | 처음으로 | timezone_transitions_get


timezone_transitions_get

(PHP 5 >= 5.2.0)

timezone_transitions_get -- Returns all transitions for the timezone

설명

array timezone_transitions_get ( DateTimeZone $object )
array DateTimeZone::getTransitions ( void )

매개변수

object

DateTimeZone object.

반환값

Returns numerically indexed array containing associative array with all transitions on success or FALSE on failure.

예제

예 402. A timezone_transitions_get() example

<?php
$timezone = new DateTimeZone("CET");
print_r(reset($timezone->getTransitions()));
?>

위 예제의 출력 예:

Array
(
    [ts] => -1693706400
    [time] => 1916-04-30T22:00:00+0000
    [offset] => 7200
    [isdst] => 1
    [abbr] => CEST
)

이전 | 위로 | 다음
timezone_open | 처음으로 | XXIV. DB++ Functions


unicode_decode

(No version information available, might be only in CVS)

unicode_decode -- Convert a binary string into a Unicode string

설명

unicode unicode_decode ( string $input, string $encoding [, int $errmode] )

Convert a binary string encoded in encoding to a unicode string.

매개변수

input

Try string that is converted.

encoding

The encoding of input.

errmode

Conversion error mode. This parameter determines the action to take when the converter cannot convert a character. For a list of available modes, refer to unicode_set_error_mode(). If the parameter is not set, the global error mode is used.

반환값

A unicode string or FALSE on failure.

오류/예외

Emits a E_WARNING level error if a converter cannot be created for the desired encoding.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

unicode_set_error_mode()
unicode_semantics()
unicode_encode()

이전 | 위로 | 다음
CLXIX. Unicode Functions | 처음으로 | unicode_encode


unicode_encode

(No version information available, might be only in CVS)

unicode_encode -- Convert a unicode string in any encoding

설명

string unicode_encode ( unicode $input, string $encoding [, int $errmode] )

Takes a unicode string and converts it to a string in the specified encoding.

매개변수

input

The unicode string that is converted.

encoding

The new encoding for input.

errmode

Conversion error mode. This parameter determines the action to take when the converter cannot convert a character. For a list of available modes, refer to unicode_set_error_mode(). If the parameter is not set, the global error mode is used.

반환값

A string on success, or FALSE on failure.

오류/예외

Emits a E_WARNING level error if a converter cannot be created for the desired encoding.

예제

예 2434. A unicode_encode() example

Note: The characters will be seen instead of entities in the output.

<?php
header ('Content-Type: text/plain; charset=ISO-8859-2');

$encoded = unicode_encode ('\u0150\u0179', 'ISO-8859-2');

echo 'Unicode semantics: ', ini_get ('unicode_semantics'), PHP_EOL;
echo 'The string itself:', $encoded, PHP_EOL;
echo 'The length of the string: ', strlen ($encoded);
?>

위 예제의 출력 예:

Unicode semantics: 1
The string itself: &#336;&#377;
The length of the string: 2

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

unicode_set_error_mode()
unicode_semantics()
unicode_decode()

이전 | 위로 | 다음
unicode_decode | 처음으로 | unicode_get_error_mode


unicode_get_error_mode

(No version information available, might be only in CVS)

unicode_get_error_mode -- Get the error mode for strings conversions

설명

int unicode_get_error_mode ( int $direction )

Return the current error mode for string conversions in direction.

매개변수

direction

Get the error mode for conversion direction. This can either be FROM_UNICODE or TO_UNICODE. See unicode_set_error_mode() for more details.

반환값

This function returns one of the error mode constants or FALSE on failure.

오류/예외

Emits a E_WARNING level error if direction is invalid.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

unicode_set_error_mode()
unicode_encode()
unicode_decode()

이전 | 위로 | 다음
unicode_encode | 처음으로 | unicode_get_subst_char


unicode_get_subst_char

(No version information available, might be only in CVS)

unicode_get_subst_char -- Get the substitution character for string conversion errors

설명

unicode unicode_get_subst_char ( void )

Return the substitution character for string conversion errors set by unicode_set_subst_char().

반환값

The unicode substitution character is returned.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

unicode_set_error_mode()
unicode_set_subst_char()

이전 | 위로 | 다음
unicode_get_error_mode | 처음으로 | unicode_semantics


unicode_semantics

(No version information available, might be only in CVS)

unicode_semantics -- Check whether unicode semantics is enabled

설명

bool unicode_semantics ( void )

unicode_semantics() checks whether unicode semantics is enabled.

반환값

Returns TRUE or FALSE.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

unicode_encode()
unicode_decode()

이전 | 위로 | 다음
unicode_get_subst_char | 처음으로 | unicode_set_error_mode


unicode_set_error_mode

(No version information available, might be only in CVS)

unicode_set_error_mode -- Set the error mode for strings conversions

설명

bool unicode_set_error_mode ( int $direction, int $mode )

This function sets the error mode for string conversions between different encodings. An error can occur during conversion when an illegal character is encountered or if a character cannot be represented into the new encoding. By default, when an error is encountered, the conversion stops.

매개변수

direction

The direction sets the conversion direction to which the error mode will apply. This can either be FROM_UNICODE, which will set the error mode for conversions from a unicode string to a binary string or TO_UNICODE, which will set the error mode for conversions from a binary string to a unicode string.

mode

mode determines how the conversion errors are handled. It should be one of the following constants:

표 319. Available modes

Mode | Description
U_CONV_ERROR_STOP | Stop the conversion. This is the default mode.
U_CONV_ERROR_SKIP | Skip the character.
U_CONV_ERROR_SUBST | Substitute the character. The substituting character can be set with unicode_set_subst_char().
U_CONV_ERROR_ESCAPE_UNICODE | Escape the faulty bytes and represent them in the Unicode character format.
U_CONV_ERROR_ESCAPE_ICU | Escape the faulty bytes and represent them in the ICU character format.
U_CONV_ERROR_ESCAPE_JAVA | Escape the faulty bytes and print them in the Java character format.
U_CONV_ERROR_ESCAPE_XML_DEC | Escape the faulty bytes and represent them in decimal format.
U_CONV_ERROR_ESCAPE_XML_HEX | Escape the faulty bytes and represent them in hexadecimal format.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

Emits a E_WARNING level error if the direction or the mode are invalid.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

unicode_encode()
unicode_decode()

이전 | 위로 | 다음
unicode_semantics | 처음으로 | unicode_set_subst_char


unicode_set_subst_char

(No version information available, might be only in CVS)

unicode_set_subst_char -- Set the substitution character for string conversion errors

설명

bool unicode_set_subst_char ( unicode $character )

When converting a string from or to unicode, an invalid or unconvertable character may be encountered. When the conversion error mode is set to U_CONV_ERROR_SUBST, the character that caused the error is substituted by a character set by this function. The default substitution character is ?.

매개변수

character

The substitution character to use.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

오류/예외

Emits a E_WARNING level error if character is invalid.

주의

주의

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

참고

unicode_set_error_mode()
unicode_get_error_mode()
unicode_encode()
unicode_decode()

이전 | 위로 | 다음
unicode_set_error_mode | 처음으로 | CLXX. URL 함수


use_soap_error_handler

(PHP 5)

use_soap_error_handler -- Set whether to use the SOAP error handler and return the former value

설명

bool use_soap_error_handler ( [bool $handler] )
주의

This function is currently not documented; only the argument list is available.

이전 | 위로 | 다음
SoapVar->__construct() | 처음으로 | CLIV. Socket Functions


wddx_unserialize

(No version information available, might be only in CVS)

wddx_unserialize -- Unserializes a WDDX packet

설명

mixed wddx_unserialize ( string $packet )

Unserializes a WDDX packet.

매개변수

packet

A WDDX packet, as a string or stream.

반환값

Returns the unserialized value which can be a string, a number or an array. Note that structures are unserialized into associative arrays.

이전 | 위로 | 다음
wddx_serialize_vars | 처음으로 | CLXXVI. win32ps Functions


win32_create_service

(No version information available, might be only in CVS)

win32_create_service -- Creates a new service entry in the SCM database

설명

mixed win32_create_service ( array $details [, string $machine] )

매개변수

details

An array of service details:

service

The short name of the service. This is the name that you will use to control the service using the net command. The service must be unique (no two services can share the same name), and, ideally, should avoid having spaces in the name.

display

The display name of the service. This is the name that you will see in the Services Applet.

user

The name of the user account under which you want the service to run. If omitted, the service will run as the LocalSystem account. If the username is specified, you must also provide a password.

password

The password that corresponds to the user.

path

The full path to the executable module that will be launched when the service is started. If omitted, the path to the current PHP process will be used.

params

Command line parameters to pass to the service when it starts. If you want to run a PHP script as the service, then the first parameter should be the full path to the PHP script that you intend to run.

load_order

Controls the load_order. This is not yet fully supported.

svc_type

Sets the service type. If omitted, the default value is WIN32_SERVICE_WIN32_OWN_PROCESS. Don't change this unless you know what you're doing.

start_type

Specifies how the service should be started. The default is WIN32_SERVICE_AUTO_START which means the the service will be launched when the machine starts up.

error_control

Informs the SCM what it should do when it detects a problem with the service. The default is WIN32_SERVER_ERROR_IGNORE. Changing this value is not yet fully supported.

machine

The optional machine name on which you want to create a service. If omitted, it will use the local machine.

반환값

Returns TRUE on success, otherwise returns a win32 error code.

예제

예 2478. A win32_create_service() example

Any text that describes the purpose of the example, or what goes on in the example should go here (inside the <?php
$x = win32_create_service(array(
        'service' => 'dummyphp',
        'display' => 'sample dummy PHP service',
        'params' => __FILE__ . ' run',
));
debug_zval_dump($x);
?>

참고

win32_delete_service()

이전 | 위로 | 다음
CLXXVII. win32service Functions | 처음으로 | win32_delete_service


win32_delete_service

(No version information available, might be only in CVS)

win32_delete_service -- Deletes a service entry from the SCM database

설명

int win32_delete_service ( string $servicename [, string $machine] )

Attempts to delete a service from the SCM database. Administrative privileges are required for this to succeed.

This function really just marks the service for deletion. If other processes (such as the Services Applet) are open, then the deletion will be deferred until those applications are closed. If a service is marked for deletion, further attempts to delete it will fail, and attempts to create a new service with that name will also fail.

매개변수

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

반환값

Returns TRUE on success, or a win32 error code on failure.

예제

예 2479. A win32_delete_service() example

Deletes the dummyphp service.

<?php
win32_delete_service('dummyphp');
?>

이전 | 위로 | 다음
win32_create_service | 처음으로 | win32_get_last_control_message


win32_get_last_control_message

(No version information available, might be only in CVS)

win32_get_last_control_message -- Returns the last control message that was sent to this service

설명

int win32_get_last_control_message ( void )

Returns the control code that was last sent to this service process. When running as a service you should periodically check this to determine if your service needs to stop running.

반환값

Returns a control constant; one of WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_STOP, WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE, WIN32_SERVICE_CONTROL_POWEREVENT, WIN32_SERVICE_CONTROL_SESSIONCHANGE.

참고

win32_start_service_ctrl_dispatcher()

이전 | 위로 | 다음
win32_delete_service | 처음으로 | win32_query_service_status


win32_ps_list_procs

(PECL win32ps:1.0.1)

win32_ps_list_procs -- List running processes

설명

array win32_ps_list_procs ( void )

Retrieves statistics about all running processes.

반환값

Returns FALSE on failure, or an array consisting of process statistics like win32_ps_stat_proc() returns for all running processes on success.

참고

win32_ps_stat_proc()

이전 | 위로 | 다음
CLXXVI. win32ps Functions | 처음으로 | win32_ps_stat_mem


win32_ps_stat_mem

(PECL win32ps:1.0.1)

win32_ps_stat_mem -- Stat memory utilization

설명

array win32_ps_stat_mem ( void )

Retrieves statistics about the global memory utilization.

반환값

Returns FALSE on failure, or an array consisting of the following information on success:

load

The current memory load in percent of physical memory.

unit

This is always 1024, and indicates that the following values are the count of 1024 bytes.

total_phys

The amount of total physical memory.

avail_phys

The amount of still available physical memory.

total_pagefile

The amount of total pageable memory (physical memory + paging file).

avail_pagefile

The amount of still available pageable memory (physical memory + paging file).

total_virtual

The amount of total virtual memory for a process.

avail_virtual

The amount of still available virtual memory for a process.

이전 | 위로 | 다음
win32_ps_list_procs | 처음으로 | win32_ps_stat_proc


win32_ps_stat_proc

(PECL win32ps:1.0.1)

win32_ps_stat_proc -- Stat process

설명

array win32_ps_stat_proc ( [int $pid] )

Retrieves statistics about the process with the process id pid.

매개변수

pid

The process id of the process to stat. If omitted, the id of the current process.

반환값

Returns FALSE on failure, or an array consisting of the following information on success:

pid

The process id.

exe

The path to the executable image.

mem

An array containing information about the following memory utilization indicators: page_fault_count, peak_working_set_size, working_set_size, quota_peak_paged_pool_usage, quota_paged_pool_usage, quota_peak_non_paged_pool_usage, quota_non_paged_pool_usage, pagefile_usage and peak_pagefile_usage.

tms

An array containing information about the following CPU time utilization indicators: created, kernel and user.

참고

win32_ps_list_procs()

이전 | 위로 | 다음
win32_ps_stat_mem | 처음으로 | CLXXVII. win32service Functions


win32_query_service_status

(No version information available, might be only in CVS)

win32_query_service_status -- Queries the status of a service

설명

mixed win32_query_service_status ( string $servicename [, string $machine] )

Queries the current status for a service, returning an array of information.

매개변수

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

반환값

Returns FALSE on failure, otherwise returns an array consisting of the following information:

ServiceType

The dwServiceType.

CurrentState

The dwCurrentState.

ControlsAccepted

Which service controls are accepted by the service.

Win32ExitCode

If the service exited, the return code from the process.

ServiceSpecificExitCode

If the service exited with an error condition, the service specific code that is logged in the event log is visible here.

CheckPoint

If the service is shutting down, holds the current check point number. This is used by the SCM as a kind of heart-beat to detect a wedged service process. The value of the check point is best interpreted in conjunction with the WaitHint value.

WaitHint

If the service is shutting down it will set WaitHint to a checkpoint value that will indicate 100% completion. This can be used to implement a progress indicator.

ProcessId

The Windows process identifier. If 0, the process is not running.

ServiceFlags

The dwServiceFlags.

이전 | 위로 | 다음
win32_get_last_control_message | 처음으로 | win32_set_service_status


win32_set_service_status

(No version information available, might be only in CVS)

win32_set_service_status -- Update the service status

설명

bool win32_set_service_status ( int $status )

Informs the SCM of the current status of a running service. This call is only valid for a running service process.

매개변수

status

The service status code, one of WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED, WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

win32_start_service_ctrl_dispatcher()

이전 | 위로 | 다음
win32_query_service_status | 처음으로 | win32_start_service_ctrl_dispatcher


win32_start_service

(No version information available, might be only in CVS)

win32_start_service -- Starts a service

설명

int win32_start_service ( string $servicename [, string $machine] )

Attempts to start the named service. Usually requires administrative privileges.

매개변수

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

반환값

Returns WIN32_NO_ERROR on success, or some other win32 error code on failure.

참고

win32_stop_service()

이전 | 위로 | 다음
win32_start_service_ctrl_dispatcher | 처음으로 | win32_stop_service


win32_start_service_ctrl_dispatcher

(No version information available, might be only in CVS)

win32_start_service_ctrl_dispatcher -- Registers the script with the SCM, so that it can act as the service with the given name

설명

mixed win32_start_service_ctrl_dispatcher ( string $name )

When launched via the Service Control Manager, a service process is required to "check-in" with it to establish service monitoring and communication facilities. This function performs the check-in by spawning a thread to handle the lower-level communication with the service control manager.

Once started, the service process should continue to check-in with the service control manager so that it can determine if it should terminate. This is achieved by periodically calling win32_get_last_control_message() and handling the return code appropriately.

매개변수

name

The short-name of the service, as registered by win32_create_service().

반환값

Returns TRUE on success, otherwise FALSE or a win32 error code.

예제

예 2480. A win32_start_service_ctrl_dispatcher() example

Any text that describes the purpose of the example, or what goes on in the example should go here (inside the

<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
  die("I'm probably not running under the service control manager");
}

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
  # do some work here, trying not to take more than around 30 seconds
  # before coming back into the loop again
}
?>

참고

win32_get_last_control_message()

이전 | 위로 | 다음
win32_set_service_status | 처음으로 | win32_start_service


win32_stop_service

(No version information available, might be only in CVS)

win32_stop_service -- Stops a service

설명

int win32_stop_service ( string $servicename [, string $machine] )

Stops a named service. Requires administrative privileges.

매개변수

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

반환값

Returns WIN32_NO_ERROR on success, or a win32 error code on failure.

참고

win32_start_service()

이전 | 위로 | 다음
win32_start_service | 처음으로 | CLXXVIII. xattr Functions


XMLReader::close

(PHP 5 >= 5.1.2)

XMLReader::close -- Close the XMLReader input

설명

class XMLReader {
bool close ( void )
}

Closes the input the XMLReader object is currently parsing.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::open
XMLReader::XML

이전 | 위로 | 다음
CLXXXII. XMLReader functions | 처음으로 | XMLReader::expand


XMLReader::expand

(PHP 5 >= 5.1.2)

XMLReader::expand -- Returns a copy of the current node as a DOM object

설명

class XMLReader {
DOMNode expand ( void )
}

This method copies the current node and returns the appropriate DOM object.

반환값

The resulting DOMNode or FALSE on error.

이전 | 위로 | 다음
XMLReader::close | 처음으로 | XMLReader::getAttribute


XMLReader::getAttribute

(PHP 5 >= 5.1.2)

XMLReader::getAttribute -- Get the value of a named attribute

설명

class XMLReader {
string getAttribute ( string $name )
}

Returns the value of a named attribute or an empty string if attribute does not exist or not positioned on an element node.

매개변수

name

The name of the attribute.

반환값

The value of the attribute, or an empty string if no attribute with the given name is found or not positioned of element.

참고

XMLReader::getAttributeNo
XMLReader::getAttributeNs

이전 | 위로 | 다음
XMLReader::expand | 처음으로 | XMLReader::getAttributeNo


XMLReader::getAttributeNo

(PHP 5 >= 5.1.2)

XMLReader::getAttributeNo -- Get the value of an attribute by index

설명

class XMLReader {
string getAttributeNo ( int $index )
}

Returns the value of an attribute based on its position or an empty string if attribute does not exist or not positioned on an element node.

매개변수

index

The position of the attribute.

반환값

The value of the attribute, or an empty string if no attribute exists at index or not positioned of element.

참고

XMLReader::getAttribute
XMLReader::getAttributeNs

이전 | 위로 | 다음
XMLReader::getAttribute | 처음으로 | XMLReader::getAttributeNs


XMLReader::getAttributeNs

(PHP 5 >= 5.1.2)

XMLReader::getAttributeNs -- Get the value of an attribute by localname and URI

설명

class XMLReader {
string getAttributeNs ( string $localName, string $namespaceURI )
}

Returns the value of an attribute by name and namespace URI or an empty string if attribute does not exist or not positioned on an element node.

매개변수

localName

The local name.

namespaceURI

The namespace URI.

반환값

The value of the attribute, or an empty string if no attribute with the given localName and namespaceURI is found or not positioned of element.

참고

XMLReader::getAttribute
XMLReader::getAttributeNo

이전 | 위로 | 다음
XMLReader::getAttributeNo | 처음으로 | XMLReader::getParserProperty


XMLReader::getParserProperty

(PHP 5 >= 5.1.2)

XMLReader::getParserProperty -- Indicates if specified property has been set

설명

class XMLReader {
bool getParserProperty ( int $property )
}

Indicates if specified property has been set.

매개변수

property

One of the parser option constants.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::setParserProperty

이전 | 위로 | 다음
XMLReader::getAttributeNs | 처음으로 | XMLReader::isValid


XMLReader::isValid

(PHP 5 >= 5.1.2)

XMLReader::isValid -- Indicates if the parsed document is valid

설명

class XMLReader {
bool isValid ( void )
}

Returns a boolean indicating if the document being parsed is currently valid.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::setParserProperty
XMLReader::setRelaxNGSchema
XMLReader::setRelaxNGSchemaSource

이전 | 위로 | 다음
XMLReader::getParserProperty | 처음으로 | XMLReader::lookupNamespace


XMLReader::lookupNamespace

(PHP 5 >= 5.1.2)

XMLReader::lookupNamespace -- Lookup namespace for a prefix

설명

class XMLReader {
bool lookupNamespace ( string $prefix )
}

Lookup in scope namespace for a given prefix.

매개변수

prefix

String containing the prefix.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
XMLReader::isValid | 처음으로 | XMLReader::moveToAttribute


XMLReader::moveToAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToAttribute -- Move cursor to a named attribute

설명

class XMLReader {
bool moveToAttribute ( string $name )
}

Positions cursor on the named attribute.

매개변수

name

The name of the attribute.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::moveToElement
XMLReader::moveToAttributeNo
XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute

이전 | 위로 | 다음
XMLReader::lookupNamespace | 처음으로 | XMLReader::moveToAttributeNo


XMLReader::moveToAttributeNo

(PHP 5 >= 5.1.2)

XMLReader::moveToAttributeNo -- Move cursor to an attribute by index

설명

class XMLReader {
bool moveToAttributeNo ( int $index )
}

Positions cursor on attribute based on its position.

매개변수

index

The position of the attribute.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute

이전 | 위로 | 다음
XMLReader::moveToAttribute | 처음으로 | XMLReader::moveToAttributeNs


XMLReader::moveToAttributeNs

(PHP 5 >= 5.1.2)

XMLReader::moveToAttributeNs -- Move cursor to a named attribute

설명

class XMLReader {
bool moveToAttributeNs ( string $localName, string $namespaceURI )
}

Positions cursor on the named attribute in specified namespace.

매개변수

localName

The local name.

namespaceURI

The namespace URI.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::moveToAttributeNo
XMLReader::moveToFirstAttribute

이전 | 위로 | 다음
XMLReader::moveToAttributeNo | 처음으로 | XMLReader::moveToElement


XMLReader::moveToElement

(PHP 5 >= 5.1.2)

XMLReader::moveToElement -- Position cursor on the parent Element of current Attribute

설명

class XMLReader {
bool moveToElement ( void )
}

Moves cursor to the parent Element of current Attribute.

반환값

Returns TRUE if successful and FALSE if it fails or not positioned on Attribute when this method is called.

참고

XMLReader::moveToAttribute
XMLReader::moveToAttributeNo
XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute

이전 | 위로 | 다음
XMLReader::moveToAttributeNs | 처음으로 | XMLReader::moveToFirstAttribute


XMLReader::moveToFirstAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToFirstAttribute -- Position cursor on the first Attribute

설명

class XMLReader {
bool moveToFirstAttribute ( void )
}

Moves cursor to the first Attribute.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::moveToAttributeNo
XMLReader::moveToAttributeNs
XMLReader::moveToNextAttribute

이전 | 위로 | 다음
XMLReader::moveToElement | 처음으로 | XMLReader::moveToNextAttribute


XMLReader::moveToNextAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToNextAttribute -- Position cursor on the next Attribute

설명

class XMLReader {
bool moveToNextAttribute ( void )
}

Moves cursor to the next Attribute if positioned on an Attribute or moves to first attribute if positioned on an Element.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::moveToAttributeNo
XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute

이전 | 위로 | 다음
XMLReader::moveToFirstAttribute | 처음으로 | XMLReader::next


XMLReader::next

(PHP 5 >= 5.1.2)

XMLReader::next -- Move cursor to next node skipping all subtrees

설명

class XMLReader {
bool next ( [string $localname] )
}

Positions cursor on the next node skipping all subtrees.

매개변수

localname

The name of the next node to move to.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::next
XMLReader::moveToElement
XMLReader::moveToAttribute

이전 | 위로 | 다음
XMLReader::moveToNextAttribute | 처음으로 | XMLReader::open


XMLReader::open

(PHP 5 >= 5.1.2)

XMLReader::open -- Set the URI containing the XML to parse

설명

class XMLReader {
bool open ( string $URI [, string $encoding [, int $options]] )
}

Set the URI containing the XML document to be parsed.

매개변수

URI

URI pointing to the document.

encoding

The document encoding or NULL.

options

A bitmask of the XMLReader Options constants.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
5.2.0 | encoding and options were added.

참고

XMLReader::XML
XMLReader::close

이전 | 위로 | 다음
XMLReader::next | 처음으로 | XMLReader::read


XMLReader::read

(PHP 5 >= 5.1.2)

XMLReader::read -- Move to next node in document

설명

class XMLReader {
bool read ( void )
}

Moves cursor to the next node in the document.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::moveToElement
XMLReader::moveToAttribute
XMLReader::next

이전 | 위로 | 다음
XMLReader::open | 처음으로 | XMLReader::setParserProperty


XMLReader::setParserProperty

(PHP 5 >= 5.1.2)

XMLReader::setParserProperty -- Set or Unset parser options

설명

class XMLReader {
bool setParserProperty ( int $property, bool $value )
}

Set or Unset parser option for the parser. The options must be set
after xmlreader-open() or
xmlreader-xml() are called and before
the first xmlreader-read() call.

매개변수

property

One of the parser option constants.

value

If set to TRUE the option will be enabled otherwise will be disabled.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
XMLReader::read | 처음으로 | XMLReader::setRelaxNGSchema


XMLReader::setRelaxNGSchema

(PHP 5 >= 5.2.0)

XMLReader::setRelaxNGSchema -- Set the filename or URI for a RelaxNG Schema

설명

class XMLReader {
bool setRelaxNGSchema ( string $filename )
}

Set the filename or URI for the RelaxNG Schema to use for validation.

매개변수

filename

filename or URI pointing to a RelaxNG Schema.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::setRelaxNGSchemaSource

이전 | 위로 | 다음
XMLReader::setParserProperty | 처음으로 | XMLReader::setRelaxNGSchemaSource


XMLReader::setRelaxNGSchemaSource

(PHP 5 >= 5.1.2)

XMLReader::setRelaxNGSchemaSource -- Set the data containing a RelaxNG Schema

설명

class XMLReader {
bool setRelaxNGSchemaSource ( string $source )
}

Set the data containing a RelaxNG Schema to use for validation.

매개변수

source

String containing the RelaxNG Schema.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLReader::setRelaxNGSchema

이전 | 위로 | 다음
XMLReader::setRelaxNGSchema | 처음으로 | XMLReader::XML


XMLReader::XML

(PHP 5 >= 5.1.2)

XMLReader::XML -- Set the data containing the XML to parse

설명

class XMLReader {
bool xml ( string $source [, string $encoding [, int $options]] )
}

Set the data containing the XML to parse.

매개변수

source

String containing the XML to be parsed.

encoding

The document encoding or NULL.

options

A bitmask of the XMLReader Options constants.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
5.2.0 | encoding and options were added.

참고

XMLReader::open
XMLReader::close

이전 | 위로 | 다음
XMLReader::setRelaxNGSchemaSource | 처음으로 | CLXXXIII. XMLWriter Functions


XMLWriter::endAttribute

(No version information available, might be only in CVS)

XMLWriter::endAttribute -- End attribute

설명

Object oriented style:

class XMLWriter {
bool endAttribute ( void )
}

Procedural style:

bool xmlwriter_end_attribute ( resource $xmlwriter )

Ends the current attribute.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startAttribute
XMLWriter::startAttributeNS
XMLWriter::writeAttribute
XMLWriter::writeAttributeNS

이전 | 위로 | 다음
CLXXXIII. XMLWriter Functions | 처음으로 | XMLWriter::endCData


XMLWriter::endCData

(No version information available, might be only in CVS)

XMLWriter::endCData -- End current CDATA

설명

Object oriented style:

class XMLWriter {
bool endCData ( void )
}

Procedural style:

bool xmlwriter_end_cdata ( resource $xmlwriter )

Ends the current CDATA section.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startCData
XMLWriter::writeCData

이전 | 위로 | 다음
XMLWriter::endAttribute | 처음으로 | XMLWriter::endComment


XMLWriter::endComment

(No version information available, might be only in CVS)

XMLWriter::endComment -- Create end comment

설명

Object oriented style:

class XMLWriter {
bool endComment ( void )
}

Procedural style:

bool xmlwriter_end_comment ( resource $xmlwriter )

Ends the current comment.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startComment
XMLWriter::writeComment

이전 | 위로 | 다음
XMLWriter::endCData | 처음으로 | XMLWriter::endDocument


XMLWriter::endDocument

(No version information available, might be only in CVS)

XMLWriter::endDocument -- End current document

설명

Object oriented style:

class XMLWriter {
bool endDocument ( void )
}

Procedural style:

bool xmlwriter_end_document ( resource $xmlwriter )

Ends the current document.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startDocument

이전 | 위로 | 다음
XMLWriter::endComment | 처음으로 | XMLWriter::endDTDAttlist


XMLWriter::endDTD

(No version information available, might be only in CVS)

XMLWriter::endDTD -- End current DTD

설명

Object oriented style:

class XMLWriter {
bool endDTD ( void )
}

Procedural style:

bool xmlwriter_end_dtd ( resource $xmlwriter )

Ends the DTD of the document.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startDTD
XMLWriter::writeDTD

이전 | 위로 | 다음
XMLWriter::endDTDEntity | 처음으로 | XMLWriter::endElement


XMLWriter::endDTDAttlist

(No version information available, might be only in CVS)

XMLWriter::endDTDAttlist -- End current DTD AttList

설명

Object oriented style:

class XMLWriter {
bool endDTDAttlist ( void )
}

Procedural style:

bool xmlwriter_end_dtd_attlist ( resource $xmlwriter )

Ends the current DTD attribute list.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startDTDAttlist
XMLWriter::writeDTDAttlist

이전 | 위로 | 다음
XMLWriter::endDocument | 처음으로 | XMLWriter::endDTDElement


XMLWriter::endDTDElement

(No version information available, might be only in CVS)

XMLWriter::endDTDElement -- End current DTD element

설명

Object oriented style:

class XMLWriter {
bool endDTDElement ( void )
}

Procedural style:

bool xmlwriter_end_dtd_element ( resource $xmlwriter )

Ends the current DTD element.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startDTDElement
XMLWriter::writeDTDElement

이전 | 위로 | 다음
XMLWriter::endDTDAttlist | 처음으로 | XMLWriter::endDTDEntity


XMLWriter::endDTDEntity

(No version information available, might be only in CVS)

XMLWriter::endDTDEntity -- End current DTD Entity

설명

Object oriented style:

class XMLWriter {
bool endDTDEntity ( void )
}

Procedural style:

bool xmlwriter_end_dtd_entity ( resource $xmlwriter )

Ends the current DTD entity.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startDTDEntity
XMLWriter::writeDTDEntity

이전 | 위로 | 다음
XMLWriter::endDTDElement | 처음으로 | XMLWriter::endDTD


XMLWriter::endElement

(No version information available, might be only in CVS)

XMLWriter::endElement -- End current element

설명

Object oriented style:

class XMLWriter {
bool endElement ( void )
}

Procedural style:

bool xmlwriter_end_element ( resource $xmlwriter )

Ends the current element.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startElement
XMLWriter::writeElement

이전 | 위로 | 다음
XMLWriter::endDTD | 처음으로 | XMLWriter::endPI


XMLWriter::endPI

(No version information available, might be only in CVS)

XMLWriter::endPI -- End current PI

설명

Object oriented style:

class XMLWriter {
bool endPI ( void )
}

Procedural style:

bool xmlwriter_end_pi ( resource $xmlwriter )

Ends the current processing instruction.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startPI
XMLWriter::writePI

이전 | 위로 | 다음
XMLWriter::endElement | 처음으로 | XMLWriter::flush


XMLWriter::flush

(No version information available, might be only in CVS)

XMLWriter::flush -- Flush current buffer

설명

Object oriented style:

class XMLWriter {
mixed flush ( [bool $empty] )
}

Procedural style:

mixed xmlwriter_flush ( resource $xmlwriter [, bool $empty] )

Flushes the current buffer.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

empty

Whether to empty the buffer or no. Default is TRUE.

반환값

If you opened the writer in memory, this function returns the generated XML buffer, Else, if using URI, this function will write the buffer and return the number of written bytes.

이전 | 위로 | 다음
XMLWriter::endPI | 처음으로 | XMLWriter::fullEndElement


XMLWriter::fullEndElement

(No version information available, might be only in CVS)

XMLWriter::fullEndElement -- End current element

설명

Object oriented style:

class XMLWriter {
bool fullEndElement ( void )
}

Procedural style:

bool xmlwriter_full_end_element ( resource $xmlwriter )

End the current xml element. Writes an end tag even if the element is empty.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endElement

이전 | 위로 | 다음
XMLWriter::flush | 처음으로 | XMLWriter::openMemory


XMLWriter::openMemory

(No version information available, might be only in CVS)

XMLWriter::openMemory -- Create new xmlwriter using memory for string output

설명

Object oriented style:

class XMLWriter {
bool openMemory ( void )
}

Procedural style:

resource xmlwriter_open_memory ( void )

Creates a new XMLWriter using memory for string output.

매개변수

반환값

Object oriented style: 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다..

Procedural style: Returns a new xmlwriter resource for later use with the xmlwriter functions on success, FALSE on error.

참고

XMLWriter::openURI

이전 | 위로 | 다음
XMLWriter::fullEndElement | 처음으로 | XMLWriter::openURI


XMLWriter::openURI

(No version information available, might be only in CVS)

XMLWriter::openURI -- Create new xmlwriter using source uri for output

설명

Object oriented style:

class XMLWriter {
bool openURI ( string $uri )
}

Procedural style:

resource xmlwriter_open_uri ( string $uri )

Creates a new XMLWriter using uri for the output.

매개변수

uri

The URI of the resource for the output.

반환값

Object oriented style: 성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다..

Procedural style: Returns a new xmlwriter resource for later use with the xmlwriter functions on success, FALSE on error.

참고

XMLWriter::openMemory

이전 | 위로 | 다음
XMLWriter::openMemory | 처음으로 | XMLWriter::outputMemory


XMLWriter::outputMemory

(No version information available, might be only in CVS)

XMLWriter::outputMemory -- Returns current buffer

설명

Object oriented style:

class XMLWriter {
bool outputMemory ( [bool $flush] )
}

Procedural style:

string xmlwriter_output_memory ( resource $xmlwriter [, bool $flush] )

Returns the current buffer.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

flush

Whether to flush the output buffer or no. Default is TRUE.

반환값

Returns the current buffer as a string.

참고

XMLWriter::flush

이전 | 위로 | 다음
XMLWriter::openURI | 처음으로 | XMLWriter::setIndentString


XMLWriter::setIndent

(No version information available, might be only in CVS)

XMLWriter::setIndent -- Toggle indentation on/off

설명

Object oriented style:

class XMLWriter {
bool setIndent ( bool $indent )
}

Procedural style:

bool xmlwriter_set_indent ( resource $xmlwriter, bool $indent )

Toggles indentation on or off.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

indent

Whether indentation is enabled. Defaults to FALSE.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::setIndentString

이전 | 위로 | 다음
XMLWriter::setIndentString | 처음으로 | XMLWriter::startAttributeNS


XMLWriter::setIndentString

(No version information available, might be only in CVS)

XMLWriter::setIndentString -- Set string used for indenting

설명

Object oriented style:

class XMLWriter {
bool setIndentString ( string $indentString )
}

Procedural style:

bool xmlwriter_set_indent_string ( resource $xmlwriter, string $indentString )

Sets the string which will be used to indent each element/attribute of the resulting xml.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

indentString

The indentation string.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::setIndent

이전 | 위로 | 다음
XMLWriter::outputMemory | 처음으로 | XMLWriter::setIndent


XMLWriter::startAttribute

(No version information available, might be only in CVS)

XMLWriter::startAttribute -- Create start attribute

설명

Object oriented style:

class XMLWriter {
bool startAttribute ( string $name )
}

Procedural style:

bool xmlwriter_start_attribute ( resource $xmlwriter, string $name )

Starts an attribute.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The attribute name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startAttributeNS
XMLWriter::endAttribute
XMLWriter::writeAttribute
XMLWriter::writeAttributeNS

이전 | 위로 | 다음
XMLWriter::startAttributeNS | 처음으로 | XMLWriter::startCData


XMLWriter::startAttributeNS

(No version information available, might be only in CVS)

XMLWriter::startAttributeNS -- Create start namespaced attribute

설명

Object oriented style:

class XMLWriter {
bool startAttributeNS ( string $prefix, string $name, string $uri )
}

Procedural style:

bool xmlwriter_start_attribute_ns ( resource $xmlwriter, string $prefix, string $name, string $uri )

Starts a namespaced attribute.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

prefix

The namespace prefix.

name

The attribute name.

uri

The namespace URI.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startAttribute
XMLWriter::endAttribute
XMLWriter::writeAttribute
XMLWriter::writeAttributeNS

이전 | 위로 | 다음
XMLWriter::setIndent | 처음으로 | XMLWriter::startAttribute


XMLWriter::startCData

(No version information available, might be only in CVS)

XMLWriter::startCData -- Create start CDATA tag

설명

Object oriented style:

class XMLWriter {
bool startCData ( void )
}

Procedural style:

bool xmlwriter_start_cdata ( resource $xmlwriter )

Starts a CDATA.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endCData
XMLWriter::writeCData

이전 | 위로 | 다음
XMLWriter::startAttribute | 처음으로 | XMLWriter::startComment


XMLWriter::startComment

(No version information available, might be only in CVS)

XMLWriter::startComment -- Create start comment

설명

Object oriented style:

class XMLWriter {
bool startComment ( void )
}

Procedural style:

bool xmlwriter_start_comment ( resource $xmlwriter )

Starts a comment.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endComment
XMLWriter::writeComment

이전 | 위로 | 다음
XMLWriter::startCData | 처음으로 | XMLWriter::startDocument


XMLWriter::startDocument

(No version information available, might be only in CVS)

XMLWriter::startDocument -- Create document tag

설명

Object oriented style:

class XMLWriter {
bool startDocument ( [string $version [, string $encoding [, string $standalone]]] )
}

Procedural style:

bool xmlwriter_start_document ( resource $xmlwriter [, string $version [, string $encoding [, string $standalone]]] )

Starts a document.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

version

The version number of the document as part of the XML declaration. Defaults to 1.0.

encoding

The encoding of the document as part of the XML declaration. NULL by default.

standalone

yes or no. NULL by default.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endDocument

이전 | 위로 | 다음
XMLWriter::startComment | 처음으로 | XMLWriter::startDTDAttlist


XMLWriter::startDTD

(No version information available, might be only in CVS)

XMLWriter::startDTD -- Create start DTD tag

설명

Object oriented style:

class XMLWriter {
bool startDTD ( string $qualifiedName [, string $publicId [, string $systemId]] )
}

Procedural style:

bool xmlwriter_start_dtd ( resource $xmlwriter, string $qualifiedName [, string $publicId [, string $systemId]] )

Starts a DTD.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

qualifiedName

The qualified name of the document type to create.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endDTD
XMLWriter::writeDTD

이전 | 위로 | 다음
XMLWriter::startDTDEntity | 처음으로 | XMLWriter::startElementNS


XMLWriter::startDTDAttlist

(No version information available, might be only in CVS)

XMLWriter::startDTDAttlist -- Create start DTD AttList

설명

Object oriented style:

class XMLWriter {
bool startDTDAttlist ( string $name )
}

Procedural style:

bool xmlwriter_start_dtd_attlist ( resource $xmlwriter, string $name )

Starts a DTD attribute list.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The attribute list name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endDTDAttlist
XMLWriter::writeDTDAttlist

이전 | 위로 | 다음
XMLWriter::startDocument | 처음으로 | XMLWriter::startDTDElement


XMLWriter::startDTDElement

(No version information available, might be only in CVS)

XMLWriter::startDTDElement -- Create start DTD element

설명

Object oriented style:

class XMLWriter {
bool startDTDElement ( string $qualifiedName )
}

Procedural style:

bool xmlwriter_start_dtd_element ( resource $xmlwriter, string $qualifiedName )

Starts a DTD element.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

qualifiedName

The qualified name of the document type to create.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endDTDElement
XMLWriter::writeDTDElement

이전 | 위로 | 다음
XMLWriter::startDTDAttlist | 처음으로 | XMLWriter::startDTDEntity


XMLWriter::startDTDEntity

(No version information available, might be only in CVS)

XMLWriter::startDTDEntity -- Create start DTD Entity

설명

Object oriented style:

class XMLWriter {
bool startDTDEntity ( string $name, bool $isparam )
}

Procedural style:

bool xmlwriter_start_dtd_entity ( resource $xmlwriter, string $name, bool $isparam )

Starts a DTD entity.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The name of the entity.

isparam

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endDTDEntity
XMLWriter::writeDTDEntity

이전 | 위로 | 다음
XMLWriter::startDTDElement | 처음으로 | XMLWriter::startDTD


XMLWriter::startElement

(No version information available, might be only in CVS)

XMLWriter::startElement -- Create start element tag

설명

Object oriented style:

class XMLWriter {
bool startElement ( string $name )
}

Procedural style:

bool xmlwriter_start_element ( resource $xmlwriter, string $name )

Starts an element.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The element name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endElement
XMLWriter::writeElement

이전 | 위로 | 다음
XMLWriter::startElementNS | 처음으로 | XMLWriter::startPI


XMLWriter::startElementNS

(No version information available, might be only in CVS)

XMLWriter::startElementNS -- Create start namespaced element tag

설명

Object oriented style:

class XMLWriter {
bool startElementNS ( string $prefix, string $name, string $uri )
}

Procedural style:

bool xmlwriter_start_element_ns ( resource $xmlwriter, string $prefix, string $name, string $uri )

Starts a namespaced element.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

prefix

The namespace prefix.

name

The element name.

uri

The namespace URI.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endElement
XMLWriter::writeElementNS

이전 | 위로 | 다음
XMLWriter::startDTD | 처음으로 | XMLWriter::startElement


XMLWriter::startPI

(No version information available, might be only in CVS)

XMLWriter::startPI -- Create start PI tag

설명

Object oriented style:

class XMLWriter {
bool startPI ( string $target )
}

Procedural style:

bool xmlwriter_start_pi ( resource $xmlwriter, string $target )

Starts a processing instruction tag.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

target

The target of the processing instruction.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::endPI
XMLWriter::writePI

이전 | 위로 | 다음
XMLWriter::startElement | 처음으로 | XMLWriter::text


XMLWriter::text

(No version information available, might be only in CVS)

XMLWriter::text -- Write text

설명

Object oriented style:

class XMLWriter {
bool text ( string $content )
}

Procedural style:

bool xmlwriter_text ( resource $xmlwriter, string $content )

Writes a text.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

content

The contents of the text.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
XMLWriter::startPI | 처음으로 | XMLWriter::writeAttributeNS


XMLWriter::writeAttribute

(No version information available, might be only in CVS)

XMLWriter::writeAttribute -- Write full attribute

설명

Object oriented style:

class XMLWriter {
bool writeAttribute ( string $name, string $value )
}

Procedural style:

bool xmlwriter_write_attribute ( resource $xmlwriter, string $name, string $value )

Writes a full attribute.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The name of the attribute.

value

The value of the attribute.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::writeAttributeNS
XMLWriter::startAttribute
XMLWriter::startAttributeNS
XMLWriter::endAttribute

이전 | 위로 | 다음
XMLWriter::writeAttributeNS | 처음으로 | XMLWriter::writeCData


XMLWriter::writeAttributeNS

(No version information available, might be only in CVS)

XMLWriter::writeAttributeNS -- Write full namespaced attribute

설명

Object oriented style:

class XMLWriter {
bool writeAttributeNS ( string $prefix, string $name, string $uri, string $content )
}

Procedural style:

bool xmlwriter_write_attribute_ns ( resource $xmlwriter, string $prefix, string $name, string $uri, string $content )

Writes a full namespaced attribute.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

prefix

The namespace prefix.

name

The attribute name.

uri

The namespace URI.

content

The attribute value.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::writeAttribute
XMLWriter::startAttribute
XMLWriter::startAttributeNS
XMLWriter::endAttribute

이전 | 위로 | 다음
XMLWriter::text | 처음으로 | XMLWriter::writeAttribute


XMLWriter::writeCData

(No version information available, might be only in CVS)

XMLWriter::writeCData -- Write full CDATA tag

설명

Object oriented style:

class XMLWriter {
bool writeCData ( string $content )
}

Procedural style:

bool xmlwriter_write_cdata ( resource $xmlwriter, string $content )

Writes a full CDATA.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

content

The contents of the CDATA.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startCData
XMLWriter::endCData

이전 | 위로 | 다음
XMLWriter::writeAttribute | 처음으로 | XMLWriter::writeComment


XMLWriter::writeComment

(No version information available, might be only in CVS)

XMLWriter::writeComment -- Write full comment tag

설명

Object oriented style:

class XMLWriter {
bool writeComment ( string $content )
}

Procedural style:

bool xmlwriter_write_comment ( resource $xmlwriter, string $content )

Writes a full comment.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

content

The contents of the comment.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startComment
XMLWriter::endComment

이전 | 위로 | 다음
XMLWriter::writeCData | 처음으로 | XMLWriter::writeDTDAttlist


XMLWriter::writeDTD

(No version information available, might be only in CVS)

XMLWriter::writeDTD -- Write full DTD tag

설명

Object oriented style:

class XMLWriter {
bool writeDTD ( string $name [, string $publicId [, string $systemId [, string $subset]]] )
}

Procedural style:

bool xmlwriter_write_dtd ( resource $xmlwriter, string $name [, string $publicId [, string $systemId [, string $subset]]] )

Writes a full DTD.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The DTD name.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

subset

The content of the DTD.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startDTD
XMLWriter::endDTD

이전 | 위로 | 다음
XMLWriter::writeDTDEntity | 처음으로 | XMLWriter::writeElementNS


XMLWriter::writeDTDAttlist

(No version information available, might be only in CVS)

XMLWriter::writeDTDAttlist -- Write full DTD AttList tag

설명

Object oriented style:

class XMLWriter {
bool writeDTDAttlist ( string $name, string $content )
}

Procedural style:

bool xmlwriter_write_dtd_attlist ( resource $xmlwriter, string $name, string $content )

Writes a DTD attribute list.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The name of the DTD attribute list.

content

The content of the DTD attribute list.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startDTDAttlist
XMLWriter::endDTDAttlist

이전 | 위로 | 다음
XMLWriter::writeComment | 처음으로 | XMLWriter::writeDTDElement


XMLWriter::writeDTDElement

(No version information available, might be only in CVS)

XMLWriter::writeDTDElement -- Write full DTD element tag

설명

Object oriented style:

class XMLWriter {
bool writeDTDElement ( string $name, string $content )
}

Procedural style:

bool xmlwriter_write_dtd_element ( resource $xmlwriter, string $name, string $content )

Writes a full DTD element.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The name of the DTD element.

content

The content of the element.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startDTDElement
XMLWriter::endDTDElement

이전 | 위로 | 다음
XMLWriter::writeDTDAttlist | 처음으로 | XMLWriter::writeDTDEntity


XMLWriter::writeDTDEntity

(No version information available, might be only in CVS)

XMLWriter::writeDTDEntity -- Write full DTD Entity tag

설명

Object oriented style:

class XMLWriter {
bool writeDTDEntity ( string $name, string $content )
}

Procedural style:

bool xmlwriter_write_dtd_entity ( resource $xmlwriter, string $name, string $content )

Writes a full DTD entity.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The name of the entity.

content

The content of the entity.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startDTDEntity
XMLWriter::endDTDEntity

이전 | 위로 | 다음
XMLWriter::writeDTDElement | 처음으로 | XMLWriter::writeDTD


XMLWriter::writeElement

(No version information available, might be only in CVS)

XMLWriter::writeElement -- Write full element tag

설명

Object oriented style:

class XMLWriter {
bool writeElement ( string $name [, string $content] )
}

Procedural style:

bool xmlwriter_write_element ( resource $xmlwriter, string $name [, string $content] )

Writes a full element tag.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

name

The element name.

content

The element contents.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
PHP 5.2.3 | The content parameter became optional.

참고

XMLWriter::startElement
XMLWriter::endElement
XMLWriter::writeElementNS

이전 | 위로 | 다음
XMLWriter::writeElementNS | 처음으로 | XMLWriter::writePI


XMLWriter::writeElementNS

(No version information available, might be only in CVS)

XMLWriter::writeElementNS -- Write full namesapced element tag

설명

Object oriented style:

class XMLWriter {
bool writeElementNS ( string $prefix, string $name, string $uri [, string $content] )
}

Procedural style:

bool xmlwriter_write_element_ns ( resource $xmlwriter, string $prefix, string $name, string $uri [, string $content] )

Writes a full namesapced element tag.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

prefix

The namespace prefix.

name

The element name.

uri

The namespace URI.

content

The element contents.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

변경 기록

버전 | 설명
PHP 5.2.3 | The content parameter became optional.

참고

XMLWriter::startElementNS
XMLWriter::endElement
XMLWriter::writeElement

이전 | 위로 | 다음
XMLWriter::writeDTD | 처음으로 | XMLWriter::writeElement


XMLWriter::writePI

(No version information available, might be only in CVS)

XMLWriter::writePI -- Writes a PI

설명

Object oriented style:

class XMLWriter {
bool writePI ( string $target, string $content )
}

Procedural style:

bool xmlwriter_write_pi ( resource $xmlwriter, string $target, string $content )

Writes a processing instruction.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

target

The target of the processing instruction.

content

The content of the processing instruction.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::startPI
XMLWriter::endPI

이전 | 위로 | 다음
XMLWriter::writeElement | 처음으로 | XMLWriter::writeRaw


XMLWriter::writeRaw

(No version information available, might be only in CVS)

XMLWriter::writeRaw -- Write a raw XML text

설명

Object oriented style:

class XMLWriter {
bool writeRaw ( string $content )
}

Procedural style:

bool xmlwriter_write_raw ( resource $xmlwriter, string $content )

Writes a raw xml text.

매개변수

xmlwriter

순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.

content

The text string to write.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

XMLWriter::text

이전 | 위로 | 다음
XMLWriter::writePI | 처음으로 | CLXXXIV. XSL functions


xpath_register_ns

(PHP 4 >= 4.2.0)

xpath_register_ns -- Register the given namespace in the passed XPath context

설명

bool xpath_register_ns ( XPathContext $xpath_context, string $prefix, string $uri )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

xpath_register_ns_auto()

이전 | 위로 | 다음
xpath_register_ns_auto | 처음으로 | xptr_eval


xpath_register_ns_auto

(No version information available, might be only in CVS)

xpath_register_ns_auto -- Register the given namespace in the passed XPath context

설명

bool xpath_register_ns_auto ( XPathContext $xpath_context [, object $context_node] )
주의

This function is currently not documented; only the argument list is available.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

참고

xpath_register_ns()

이전 | 위로 | 다음
xpath_new_context | 처음으로 | xpath_register_ns


XSLTProcessor::__construct

(No version information available, might be only in CVS)

XSLTProcessor::__construct -- Creates a new XSLTProcessor object

설명

class XSLTProcessor {
__construct ( void )
}

Creates a new XSLTProcessor object.

예제

예 2508. Creating an XSLTProcessor

<?php

$doc = new DOMDocument();
$xsl = new XSLTProcessor();

$doc->load($xsl_filename);
$xsl->importStyleSheet($doc);

$doc->load($xml_filename);
echo $xsl->transformToXML($doc);

?>

이전 | 위로 | 다음
CLXXXIV. XSL functions | 처음으로 | XSLTProcessor::getParameter


yaz_es

(PECL yaz:0.9-1.0.9)

yaz_es -- Prepares for an Extended Service Request

설명

void yaz_es ( resource $id, string $type, array $args )

This function prepares for an Extended Service Request. Extended Services is family of various Z39.50 facilities, such as Record Update, Item Order, Database administration etc.

참고: Many Z39.50 Servers do not support Extended Services.

The yaz_es() creates an Extended Service Request packages and puts it into a queue of operations. Use yaz_wait() to send the request(s) to the server. After completion of yaz_wait() the result of the Extended Service operation should be expected with a call to yaz_es_result().

매개변수

id

The connection resource returned by yaz_connect().

type

A string which represents the type of the Extended Service: itemorder (Item Order), create (Create Database), drop (Drop Database), commit (Commit Operation), update (Update Record), xmlupdate (XML Update). Each type is specified in the following section.

args

An array with extended service options plus package specific options. The options are identical to those offered in the C API of ZOOM C. Refer to the ZOOM » Extended Services.

반환값

값을 반환하지 않습니다.

예제

예 2532. Record Update

<?php
$con = yaz_connect("myhost/database");
$args = array (
    "record" => "<gils><title>some title</title></gils>",
    "syntax" => "xml",
    "action" => "specialUpdate"
);
yaz_es($con, "update", $args);
yaz_wait();
$result = yaz_es_result($id);
?>

참고

yaz_es_result()

이전 | 위로 | 다음
yaz_es_result | 처음으로 | yaz_get_option


zend_thread_id

(PHP 5)

zend_thread_id -- Returns a unique identifier for the current thread

설명

int zend_thread_id ( void )

This function returns an unique identifier for the current thread.

반환값

Returns the thread id as an integer.

주의

참고: This function is only available if PHP has been built with ZTS (Zend Thread Safety) support.

이전 | 위로 | 다음
zend_logo_guid | 처음으로 | zend_version


ZipArchive::addEmptyDir

(No version information available, might be only in CVS)

ZipArchive::addEmptyDir -- Add a new directory

설명

bool ZipArchive::addEmptyDir ( string $dirname )

Adds an empty directory in the archive.

매개변수

dirname

The directory to add.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2546. Create a new directory in an archive

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    if($zip->addEmptyDir('newDirectory')) {
        echo 'Created a new root directory';
    } else {
        echo 'Could not create the directory';
    }
    $zip->close();
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
zip_read | 처음으로 | ZipArchive::addFile


ZipArchive::addFile

(No version information available, might be only in CVS)

ZipArchive::addFile -- Adds a file to a ZIP archive from the given path

설명

bool ZipArchive::addFile ( string $filename [, string $localname] )

Adds a file to a ZIP archive from a given path

매개변수

filename

The path to the file to add.

localname

local name inside ZIP archive.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

This example opens a ZIP file archive test.zip and add the file /path/to/index.txt. as newname.txt.

예 2547. Open and extract

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::addEmptyDir | 처음으로 | ZipArchive::addFromString


ZipArchive::addFromString

(No version information available, might be only in CVS)

ZipArchive::addFromString -- Add a file to a ZIP archive using its contents

설명

bool ZipArchive::addFromString ( string $localname, string $contents )

Add a file to a ZIP archive using its contents.

매개변수

localname

The name of the entry to create.

contents

The contents to use to create the entry. It is used in a binary safe mode.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2548. Add an entry to a new archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

예 2549. Add file to a directory inside an archive

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFromString('dir/test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::addFile | 처음으로 | ZipArchive::close


ZipArchive::close

(No version information available, might be only in CVS)

ZipArchive::close -- Close the active archive (opened or newly created)

설명

bool ZipArchive::close ( void )

Close opened or created archive and save changes. This method is automatically called at the end of the script.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ZipArchive::addFromString | 처음으로 | ZipArchive::deleteIndex


ZipArchive::deleteIndex

(No version information available, might be only in CVS)

ZipArchive::deleteIndex -- delete an entry in the archive using its index

설명

bool ZipArchive::deleteIndex ( int $index )

Delete an entry in the archive using its index.

매개변수

index

Index of the entry to delete.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2550. Delete file from archive using its index

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteIndex(2);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::close | 처음으로 | ZipArchive::deleteName


ZipArchive::deleteName

(No version information available, might be only in CVS)

ZipArchive::deleteName -- delete an entry in the archive using its name

설명

bool ZipArchive::deleteName ( string $name )

Delete an entry in the archive using its name.

매개변수

name

Name of the entry to delete.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2551. Delete file from archive using its name

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    $zip->deleteName('testfromfile.php');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::deleteIndex | 처음으로 | ZipArchive::extractTo


ZipArchive::extractTo

(No version information available, might be only in CVS)

ZipArchive::extractTo -- Extract the archive contents

설명

mixed ZipArchive::extractTo ( string $destination [, mixed $entries] )

Extract the complete archive or the given files to the specified destination.

매개변수

destination

Location where to extract the files.

entries

The entries to extract. It accepts either a single entry name or an array of names.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

This example opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

예 2552. Extract all entries

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/my/destination/dir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

예 2553. Extract only two entries

<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
    $zip->extractTo('/my/destination/dir/', array('pear_item.gif', 'testfromfile.php'));
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::deleteName | 처음으로 | ZipArchive::getArchiveComment


ZipArchive::getArchiveComment

(No version information available, might be only in CVS)

ZipArchive::getArchiveComment -- Returns the Zip archive comment

설명

string ZipArchive::getArchiveComment ( void )

Returns the Zip archive comment.

반환값

Returns the Zip archive comment or FALSE on failure.

예제

예 2554. Dump an archive comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test_with_comment.zip')
if ($res === TRUE) {
    var_dump($zip->getArchiveComment());
    /* Or using the archive property */
    var_dump($zip->comment);
} else {
    echo 'failed, code:' . $res;
}
?>

이전 | 위로 | 다음
ZipArchive::extractTo | 처음으로 | ZipArchive::getCommentIndex


ZipArchive::getCommentIndex

(No version information available, might be only in CVS)

ZipArchive::getCommentIndex -- Returns the comment of an entry using the entry index

설명

string ZipArchive::getCommentIndex ( int $index [, int $flags] )

Returns the comment of an entry using the entry index.

매개변수

index

Index of the entry

flags

If flags is set to ZIPARCHIVE::FL_UNCHANGED, the original unchanged comment is returned.

반환값

Returns the comment on success or FALSE on failure.

예제

예 2555. Dump an entry comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip')
if ($res === TRUE) {
    var_dump($zip->getCommentIndex(1));
} else {
    echo 'failed, code:' . $res;
}
?>

이전 | 위로 | 다음
ZipArchive::getArchiveComment | 처음으로 | ZipArchive::getCommentName


ZipArchive::getCommentName

(No version information available, might be only in CVS)

ZipArchive::getCommentName -- Returns the comment of an entry using the entry name

설명

string ZipArchive::getCommentName ( string $name [, int $flags] )

Returns the comment of an entry using the entry name.

매개변수

name

Name of the entry

flags

If flags is set to ZIPARCHIVE::FL_UNCHANGED, the original unchanged comment is returned.

반환값

Returns the comment on success or FALSE on failure.

예제

예 2556. Dump an entry comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip')
if ($res === TRUE) {
    var_dump($zip->getCommentName('test/entry1.txt'));
} else {
    echo 'failed, code:' . $res;
}
?>

이전 | 위로 | 다음
ZipArchive::getCommentIndex | 처음으로 | ZipArchive::getFromIndex


ZipArchive::getFromIndex

(No version information available, might be only in CVS)

ZipArchive::getFromIndex -- Returns the entry contents using its index.

설명

mixed ZipArchive::getFromIndex ( int $index [, int $flags] )

Returns the entry contents using its index.

매개변수

index

Index of the entry

flags

The flags to use to open the archive. the following values may be ORed to it.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

반환값

Returns the contents of the entry on success or FALSE on failure.

예제

예 2557. Get the file contents

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    echo $zip->getFromIndex(2);
    $zip->close();
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::getCommentName | 처음으로 | ZipArchive::getFromName


ZipArchive::getFromName

(No version information available, might be only in CVS)

ZipArchive::getFromName -- Returns the entry contents using its name.

설명

mixed ZipArchive::getFromName ( string $name [, int $flags] )

Returns the entry contents using its name.

매개변수

name

Name of the entry

flags

The flags to use to open the archive. the following values may be ORed to it.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

반환값

Returns the contents of the entry on success or FALSE on failure.

예제

예 2558. Get the file contents

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    echo $zip->getFromName('testfromfile.php');
    $zip->close();
} else {
    echo 'failed';
}
?>

예 2559. Convert an image from a zip entry

<?php
$z = new ZipArchive();
if ($z->open(dirname(__FILE__) . '/test_im.zip')) {
    $im_string = $z->getFromName("pear_item.gif");
    $im = imagecreatefromstring($im_string);
    imagepng($im, 'b.png');
}
?>

이전 | 위로 | 다음
ZipArchive::getFromIndex | 처음으로 | ZipArchive::getNameIndex


ZipArchive::getNameIndex

(No version information available, might be only in CVS)

ZipArchive::getNameIndex -- Returns the name of an entry using its index

설명

string ZipArchive::getNameIndex ( int $index )

Returns the name of an entry using its index.

매개변수

index

Index of the entry.

반환값

Returns the name on success or FALSE on failure.

이전 | 위로 | 다음
ZipArchive::getFromName | 처음으로 | ZipArchive::getStream


ZipArchive::getStream

(No version information available, might be only in CVS)

ZipArchive::getStream -- Get a file handler to the entry defined by its name (read only).

설명

resource ZipArchive::getStream ( string $name )

Get a file handler to the entry defined by its name. For now it only supports read operations.

매개변수

name

The name of the entry to use.

반환값

Returns a file pointer (resource) on success or FALSE on failure.

예제

예 2560. Get the entry contents with fread and store it.

<?php
$content = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
    $fp = $z->getStream('test');
    if(!$fp) exit("failed\n");

    while (!feof($fp)) {
        $contents .= fread($fp, 2);
    }

    fclose($fp);
    file_put_contents('t',$contents);
    echo "done.\n";
}
?>

예 2561. Same as the previous example but with fopen and the zip stream wrapper

<?php
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
    exit("cannot open\n");
}
while (!feof($fp)) {
    $contents .= fread($fp, 2);
    echo "$contents\n";
}
fclose($fp);
echo "done.\n";
?>

예 2562. Stream wrapper and image, can be used with the xml function as well

<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>

이전 | 위로 | 다음
ZipArchive::getNameIndex | 처음으로 | ZipArchive::locateName


ZipArchive::locateName

(No version information available, might be only in CVS)

ZipArchive::locateName -- Returns the index of the entry in the archive

설명

mixed ZipArchive::locateName ( string $name [, int $flags] )

Locates an entry using its name.

매개변수

name

The name of the entry to look up

flags

The function returns the index of the file named fname in archive. The flags are specified by ORing the following values, or 0 for none of them.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

반환값

Returns the index of the entry on success or FALSE on failure.

예제

예 2563. Create an archive and then use it with locateName

<?php
$file = 'testlocate.zip';

$zip = new ZipArchive;
if ($zip->open($file, ZIPARCHIVE::CREATE) !== TRUE) {
    exit('failed');
}

$zip->addFromString('entry1.txt', 'entry #1');
$zip->addFromString('entry2.txt', 'entry #2');
$zip->addFromString('dir/entry2d.txt', 'entry #2');

if (!$zip->status == ZIPARCHIVE::ER_OK) {
    echo "failed to write zip\n";
}
$zip->close();

if ($zip->open($file) !== TRUE) {
    exit('failed');
}

echo $zip->locateName('entry1.txt') . "\n";
echo $zip->locateName('eNtry2.txt') . "\n";
echo $zip->locateName('eNtry2.txt', ZIPARCHIVE::FL_NOCASE) . "\n";
echo $zip->locateName('enTRy2d.txt', ZIPARCHIVE::FL_NOCASE|ZIPARCHIVE::FL_NODIR) . "\n";
$zip->close();

?>

이전 | 위로 | 다음
ZipArchive::getStream | 처음으로 | ZipArchive::open


ZipArchive::open

(No version information available, might be only in CVS)

ZipArchive::open -- Open a ZIP file archive

설명

mixed ZipArchive::open ( string $filename [, int $flags] )

Opens a new zip archive for reading, writing or modifying.

매개변수

filename

The file name of the ZIP archive to open.

flags

The mode to use to open the archive.

  • ZIPARCHIVE::OVERWRITE

  • ZIPARCHIVE::CREATE

  • ZIPARCHIVE::EXCL

  • ZIPARCHIVE::CHECKCONS

반환값

Error codes

Returns TRUE on success or the error code.

  • ZIPARCHIVE::ER_EXISTS

  • ZIPARCHIVE::ER_INCONS

  • ZIPARCHIVE::ER_INVAL

  • ZIPARCHIVE::ER_MEMORY

  • ZIPARCHIVE::ER_NOENT

  • ZIPARCHIVE::ER_NOZIP

  • ZIPARCHIVE::ER_OPEN

  • ZIPARCHIVE::ER_READ

  • ZIPARCHIVE::ER_SEEK

예제

This example opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

예 2564. Open and extract

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip')
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

예 2565. Create an archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::locateName | 처음으로 | ZipArchive::renameIndex


ZipArchive::renameIndex

(No version information available, might be only in CVS)

ZipArchive::renameIndex -- Renames an entry defined by its index

설명

bool ZipArchive::renameIndex ( int $index, string $newname )

Renames an entry defined by its index.

매개변수

index

Index of the entry to rename.

newname

New name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2566. Rename one entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip')
if ($res === TRUE) {
    $zip->renameIndex(2,'newname.txt');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

이전 | 위로 | 다음
ZipArchive::open | 처음으로 | ZipArchive::renameName


ZipArchive::renameName

(No version information available, might be only in CVS)

ZipArchive::renameName -- Renames an entry defined by its name

설명

bool ZipArchive::renameName ( string $name, string $newname )

Renames an entry defined by its index.

매개변수

name

Name of the entry to rename.

newname

New name.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2567. Rename one entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $zip->renameName('currentname.txt','newname.txt');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

이전 | 위로 | 다음
ZipArchive::renameIndex | 처음으로 | ZipArchive::setArchiveComment


ZipArchive::setArchiveComment

(No version information available, might be only in CVS)

ZipArchive::setArchiveComment -- Set the comment of a ZIP archive

설명

mixed ZipArchive::setArchiveComment ( string $comment )

Set the comment of a ZIP archive.

매개변수

comment

The contents of the comment.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2568. Create an archive and set a comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $z->setArchiveComment('new archive comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::renameName | 처음으로 | ZipArchive::setCommentIndex


ZipArchive::setCommentIndex

(No version information available, might be only in CVS)

ZipArchive::setCommentIndex -- Set the comment of an entry defined by its index

설명

mixed ZipArchive::setCommentIndex ( int $index, string $comment )

Set the comment of an entry defined by its index.

매개변수

index

Index of the entry.

comment

The contents of the comment.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2569. Open an archive and set a comment for an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $z->setCommentIndex(2, 'new entry comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::setArchiveComment | 처음으로 | ZipArchive::setCommentName


ZipArchive::setCommentName

(No version information available, might be only in CVS)

ZipArchive::setCommentName -- Set the comment of an entry defined by its name

설명

mixed ZipArchive::setCommentName ( string $name, string $comment )

Set the comment of an entry defined by its name.

매개변수

name

Name of the entry.

comment

The contents of the comment.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

예제

예 2570. Open an archive and set a comment for an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    $z->setCommentName('entry1.txt', 'new entry comment');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

이전 | 위로 | 다음
ZipArchive::setCommentIndex | 처음으로 | ZipArchive::statIndex


ZipArchive::statIndex

(No version information available, might be only in CVS)

ZipArchive::statIndex -- Get the details of an entry defined by its index.

설명

mixed ZipArchive::statIndex ( int $index [, int $flags] )

The function obtains information about the entry defined by its index.

매개변수

index

Index of the entry

flags

ZIPARCHIVE::FL_UNCHANGED may be ORed to it to request information about the original file in the archive, ignoring any changes made.

반환값

Returns an array containing the entry details or FALSE on failure.

예제

예 2571. Dump the stat info of an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip')
if ($res === TRUE) {
    print_r($zip->statIndex(3));
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

위 예제의 출력 예:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)

이전 | 위로 | 다음
ZipArchive::setCommentName | 처음으로 | ZipArchive::statName


ZipArchive::statName

(No version information available, might be only in CVS)

ZipArchive::statName -- Get the details of an entry defined by its name.

설명

mixed ZipArchive::statName ( name $name [, int $flags] )

The function obtains information about the entry defined by its name.

매개변수

name

Name of the entry

flags

The flags argument specifies how the name lookup should be done. Also, ZIPARCHIVE::FL_UNCHANGED may be ORed to it to request information about the original file in the archive, ignoring any changes made.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

  • ZIPARCHIVE::FL_UNCHANGED

반환값

Returns an array containing the entry details or FALSE on failure.

예제

예 2572. Dump the stat info of an entry

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip')
if ($res === TRUE) {
    print_r($zip->statName('foobar/baz'));
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>

위 예제의 출력 예:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)

이전 | 위로 | 다음
ZipArchive::statIndex | 처음으로 | ZipArchive::unchangeAll


ZipArchive::unchangeAll

(No version information available, might be only in CVS)

ZipArchive::unchangeAll -- Undo all changes done in the archive.

설명

mixed ZipArchive::unchangeAll ( void )

Undo all changes done in the archive.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ZipArchive::statName | 처음으로 | ZipArchive::unchangeArchive


ZipArchive::unchangeArchive

(No version information available, might be only in CVS)

ZipArchive::unchangeArchive -- Revert all global changes done in the archive.

설명

mixed ZipArchive::unchangeArchive ( void )

Revert all global changes to the archive archive. For now, this only reverts archive comment changes.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ZipArchive::unchangeAll | 처음으로 | ZipArchive::unchangeIndex


ZipArchive::unchangeIndex

(No version information available, might be only in CVS)

ZipArchive::unchangeIndex -- Revert all changes done to an entry at the given index.

설명

mixed ZipArchive::unchangeIndex ( int $index )

Revert all changes done to an entry at the given index.

매개변수

index

Index of the entry.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ZipArchive::unchangeArchive | 처음으로 | ZipArchive::unchangeName


ZipArchive::unchangeName

(No version information available, might be only in CVS)

ZipArchive::unchangeName -- Revert all changes done to an entry with the given name.

설명

mixed ZipArchive::unchangeName ( string $name )

Revert all changes done to an entry.

매개변수

name

Name of the entry.

반환값

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

이전 | 위로 | 다음
ZipArchive::unchangeIndex | 처음으로 | CLXXXIX. Zlib 압축 함수


HaruAnnotation

(No version information available, might be only in CVS)

HaruAnnotation -- Haru PDF Annotation Class

요약

   class HaruAnnotation

Class Members

예약 상수

표 105.

Type | Name | Description
int | HaruAnnotation::NO_HIGHLIGHT |
int | HaruAnnotation::INVERT_BOX |
int | HaruAnnotation::INVERT_BORDER |
int | HaruAnnotation::DOWN_APPEARANCE |
int | HaruAnnotation::ICON_COMMENT |
int | HaruAnnotation::ICON_KEY |
int | HaruAnnotation::ICON_NOTE |
int | HaruAnnotation::ICON_HELP |
int | HaruAnnotation::ICON_NEW_PARAGRAPH |
int | HaruAnnotation::ICON_PARAGRAPH |
int | HaruAnnotation::ICON_INSERT |

메쏘드

HaruAnnotation::setBorderStyle()
HaruAnnotation::setHighlightMode()
HaruAnnotation::setIcon()
HaruAnnotation::setOpened()
이전 | 위로 | 다음
HaruOutline | 처음으로 | HaruDestination


HaruDestination

(No version information available, might be only in CVS)

HaruDestination -- Haru PDF Destination Class

요약

   class HaruDestination

Class Members

메쏘드

HaruDestination::setFitBH()
HaruDestination::setFitBV()
HaruDestination::setFitB()
HaruDestination::setFitH()
HaruDestination::setFitR()
HaruDestination::setFitV()
HaruDestination::setFit()
HaruDestination::setXYZ()
이전 | 위로 | 다음
HaruAnnotation | 처음으로 | HaruAnnotation::setBorderStyle


HaruDoc

(No version information available, might be only in CVS)

HaruDoc -- Haru PDF Document Class

요약

   class HaruDoc

Class Members

예약 상수

표 102.

Type | Name | Description
int | HaruDoc::CS_DEVICE_GRAY |
int | HaruDoc::CS_DEVICE_RGB |
int | HaruDoc::CS_DEVICE_CMYK |
int | HaruDoc::CS_CAL_GRAY |
int | HaruDoc::CS_CAL_RGB |
int | HaruDoc::CS_LAB |
int | HaruDoc::CS_ICC_BASED |
int | HaruDoc::CS_SEPARATION |
int | HaruDoc::CS_DEVICE_N |
int | HaruDoc::CS_INDEXED |
int | HaruDoc::CS_PATTERN |
int | HaruDoc::ENABLE_READ |
int | HaruDoc::ENABLE_PRINT |
int | HaruDoc::ENABLE_EDIT_ALL |
int | HaruDoc::ENABLE_COPY |
int | HaruDoc::ENABLE_EDIT |
int | HaruDoc::ENCRYPT_R2 |
int | HaruDoc::ENCRYPT_R3 |
int | HaruDoc::INFO_AUTHOR |
int | HaruDoc::INFO_CREATOR |
int | HaruDoc::INFO_TITLE |
int | HaruDoc::INFO_SUBJECT |
int | HaruDoc::INFO_KEYWORDS |
int | HaruDoc::INFO_CREATION_DATE |
int | HaruDoc::INFO_MOD_DATE |
int | HaruDoc::COMP_NONE |
int | HaruDoc::COMP_TEXT |
int | HaruDoc::COMP_IMAGE |
int | HaruDoc::COMP_METADATA |
int | HaruDoc::COMP_ALL |
int | HaruDoc::PAGE_LAYOUT_SINGLE |
int | HaruDoc::PAGE_LAYOUT_ONE_COLUMN |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT |
int | HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT |
int | HaruDoc::PAGE_MODE_USE_NONE |
int | HaruDoc::PAGE_MODE_USE_OUTLINE |
int | HaruDoc::PAGE_MODE_USE_THUMBS |
int | HaruDoc::PAGE_MODE_FULL_SCREEN |

메쏘드

HaruDoc::__construct()
HaruDoc::addPageLabel()
HaruDoc::addPage()
HaruDoc::createOutline()
HaruDoc::getCurrentEncoder()
HaruDoc::getCurrentPage()
HaruDoc::getEncoder()
HaruDoc::getFont()
HaruDoc::getInfoAttr()
HaruDoc::getPageLayout()
HaruDoc::getPageMode()
HaruDoc::getStreamSize()
HaruDoc::insertPage()
HaruDoc::loadJPEG()
HaruDoc::loadPNG()
HaruDoc::loadRAW()
HaruDoc::loadTTC()
HaruDoc::loadTTC()
HaruDoc::loadType1()
HaruDoc::output()
HaruDoc::readFromStream()
HaruDoc::resetError()
HaruDoc::resetStream()
HaruDoc::save()
HaruDoc::setCompressionMode()
HaruDoc::setCurrentEncoder()
HaruDoc::setEncryptionMode()
HaruDoc::setInfoAttr()
HaruDoc::setInfoDateAttr()
HaruDoc::setOpenAction()
HaruDoc::setPageLayout()
HaruDoc::setPageMode()
HaruDoc::setPagesConfiguration()
HaruDoc::setPassword()
HaruDoc::setPermission()
HaruDoc::useCNSEncodings()
HaruDoc::useCNSFonts()
HaruDoc::useCNTEncodings()
HaruDoc::useCNTFonts()
HaruDoc::useJPEncodings()
HaruDoc::useJPFonts()
HaruDoc::useKREncodings()
HaruDoc::useKRFonts()
이전 | 위로 | 다음
HaruException | 처음으로 | HaruPage


HaruEncoder

(No version information available, might be only in CVS)

HaruEncoder -- Haru PDF Encoder Class

요약

   class HaruEncoder

Class Members

예약 상수

표 104.

Type | Name | Description
int | HaruEncoder::TYPE_SINGLE_BYTE |
int | HaruEncoder::TYPE_DOUBLE_BYTE |
int | HaruEncoder::TYPE_UNINITIALIZED |
int | HaruEncoder::UNKNOWN |
int | HaruEncoder::WMODE_HORIZONTAL |
int | HaruEncoder::WMODE_VERTICAL |
int | HaruEncoder::BYTE_TYPE_SINGLE |
int | HaruEncoder::BYTE_TYPE_LEAD |
int | HaruEncoder::BYTE_TYPE_TRAIL |
int | HaruEncoder::BYTE_TYPE_UNKNOWN |

메쏘드

HaruEncoder::getByteType()
HaruEncoder:: getType()
HaruEncoder::getUnicode()
HaruEncoder::getWritingMode()
이전 | 위로 | 다음
HaruImage | 처음으로 | HaruOutline


HaruException

(No version information available, might be only in CVS)

HaruException -- Haru PDF Exception Class

요약

   class HaruException

Class Members

메쏘드

이전 | 위로 | 다음
LIV. Haru PDF Functions | 처음으로 | HaruDoc


HaruFont

(No version information available, might be only in CVS)

HaruFont -- Haru PDF Font Class

요약

   class HaruFont

Class Members

메쏘드

HaruFont::getAscent()
HaruFont::getCapHeight()
HaruFont::getDescent()
HaruFont::getEncodingName()
HaruFont::getFontName()
HaruFont::getTextWidth()
HaruFont::getUnicodeWidth()
HaruFont::getXHeight()
HaruFont::measureText()
이전 | 위로 | 다음
HaruPage | 처음으로 | HaruImage


HaruImage

(No version information available, might be only in CVS)

HaruImage -- Haru PDF Image Class

요약

   class HaruImage

Class Members

메쏘드

HaruImage::getBitsPerComponent()
HaruImage::getColorSpace()
HaruImage::getHeight()
HaruImage::getSize()
HaruImage::getWidth()
HaruImage::setColorMask()
HaruImage::setMaskImage()
이전 | 위로 | 다음
HaruFont | 처음으로 | HaruEncoder


HaruOutline

(No version information available, might be only in CVS)

HaruOutline -- Haru PDF Outline Class

요약

   class HaruOutline

Class Members

메쏘드

HaruOutline::setDestination()
HaruOutline::setOpened()
이전 | 위로 | 다음
HaruEncoder | 처음으로 | HaruAnnotation


HaruPage

(No version information available, might be only in CVS)

HaruPage -- Haru PDF Page Class

요약

   class HaruPage

Class Members

예약 상수

표 103.

Type | Name | Description
int | HaruPage::GMODE_PAGE_DESCRIPTION |
int | HaruPage::GMODE_TEXT_OBJECT |
int | HaruPage::GMODE_PATH_OBJECT |
int | HaruPage::GMODE_CLIPPING_PATH |
int | HaruPage::GMODE_SHADING |
int | HaruPage::GMODE_INLINE_IMAGE |
int | HaruPage::GMODE_EXTERNAL_OBJECT |
int | HaruPage::BUTT_END |
int | HaruPage::ROUND_END |
int | HaruPage::PROJECTING_SCUARE_END |
int | HaruPage::MITER_JOIN |
int | HaruPage::ROUND_JOIN |
int | HaruPage::BEVEL_JOIN |
int | HaruPage::FILL |
int | HaruPage::STROKE |
int | HaruPage::FILL_THEN_STROKE |
int | HaruPage::INVISIBLE |
int | HaruPage::FILL_CLIPPING |
int | HaruPage::STROKE_CLIPPING |
int | HaruPage::FILL_STROKE_CLIPPING |
int | HaruPage::CLIPPING |
int | HaruPage::TALIGN_LEFT |
int | HaruPage::TALIGN_RIGHT |
int | HaruPage::TALIGN_CENTER |
int | HaruPage::TALIGN_JUSTIFY |
int | HaruPage::SIZE_LETTER |
int | HaruPage::SIZE_LEGAL |
int | HaruPage::SIZE_A3 |
int | HaruPage::SIZE_A4 |
int | HaruPage::SIZE_A5 |
int | HaruPage::SIZE_B4 |
int | HaruPage::SIZE_B5 |
int | HaruPage::SIZE_EXECUTIVE |
int | HaruPage::SIZE_US4x6 |
int | HaruPage::SIZE_US4x8 |
int | HaruPage::SIZE_US5x7 |
int | HaruPage::SIZE_COMM10 |
int | HaruPage::PORTRAIT |
int | HaruPage::LANDSCAPE |
int | HaruPage::TS_WIPE_LIGHT |
int | HaruPage::TS_WIPE_UP |
int | HaruPage::TS_WIPE_LEFT |
int | HaruPage::TS_WIPE_DOWN |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT |
int | HaruPage::TS_BARN_DOORS_HORIZONTAL_IN |
int | HaruPage::TS_BARN_DOORS_VERTICAL_OUT |
int | HaruPage::TS_BARN_DOORS_VERTICAL_IN |
int | HaruPage::TS_BOX_OUT |
int | HaruPage::TS_BOX_IN |
int | HaruPage::TS_BLINDS_HORIZONTAL |
int | HaruPage::TS_BLINDS_VERTICAL |
int | HaruPage::TS_DISSOLVE |
int | HaruPage::TS_GLITTER_RIGHT |
int | HaruPage::TS_GLITTER_DOWN |
int | HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT |
int | HaruPage::TS_REPLACE |
int | HaruPage::NUM_STYLE_DECIMAL |
int | HaruPage::NUM_STYLE_UPPER_ROMAN |
int | HaruPage::NUM_STYLE_LOWER_ROMAN |
int | HaruPage::NUM_STYLE_UPPER_LETTERS |
int | HaruPage::NUM_STYLE_LOWER_LETTERS |

메쏘드

HaruPage::arc()
HaruPage::beginText()
HaruPage::circle()
HaruPage::closePath()
HaruPage::concat()
HaruPage::createDestination()
HaruPage::createLinkAnnotation()
HaruPage::createTextAnnotation()
HaruPage::createUrlAnnotation()
HaruPage::curveTo()
HaruPage::curveTo2()
HaruPage::curveTo3()
HaruPage::drawImage()
HaruPage::ellipse()
HaruPage::endPath()
HaruPage::endText()
HaruPage::eofillStroke()
HaruPage::eofill()
HaruPage::fillStroke()
HaruPage::fill()
HaruPage::getCharSpace()
HaruPage::getCMYKFill()
HaruPage::getCMYKStroke()
HaruPage::getCurrentFontSize()
HaruPage::getCurrentFont()
HaruPage::getCurrentPos()
HaruPage::getCurrentTextPos()
HaruPage::getDash()
HaruPage::getFillingColorSpace()
HaruPage::getFlatness()
HaruPage::getGMode()
HaruPage::getGrayFill()
HaruPage::getGrayStroke()
HaruPage::getHeight()
HaruPage::getHorizontalScaling()
HaruPage::getLineCap()
HaruPage::getLineJoin()
HaruPage::getLineWidth()
HaruPage::getMiterLimit()
HaruPage::getRGBFill()
HaruPage::getRGBStroke()
HaruPage::getStrokingColorSpace()
HaruPage::getTextLeading()
HaruPage::getTextMatrix()
HaruPage::getTextRenderingMode()
HaruPage::getTextRise()
HaruPage::getTextWidth()
HaruPage::getTransMatrix()
HaruPage::getWidth()
HaruPage::getWordSpace()
HaruPage::lineTo()
HaruPage::measureText()
HaruPage::moveTextPos()
HaruPage::moveToNextLine()
HaruPage::moveTo()
HaruPage::rectangle()
HaruPage::setCharSpace()
HaruPage::setCMYKFill()
HaruPage::setCMYKStroke()
HaruPage::setDash()
HaruPage::setFlatness()
HaruPage::setFontAndSize()
HaruPage::setGrayFill()
HaruPage::setGrayStroke()
HaruPage::setHeight()
HaruPage::setHorizontalScaling()
HaruPage::setLineCap()
HaruPage::setLineJoin()
HaruPage::setLineWidth()
HaruPage::setMiterLimit()
HaruPage::setRGBFill()
HaruPage::setRGBStroke()
HaruPage::setRotate()
HaruPage::setSize()
HaruPage::setSlideShow()
HaruPage::setTextLeading()
HaruPage::setTextMatrix()
HaruPage::setTextTenderingMode()
HaruPage::setWidth()
HaruPage::setWordSpace()
HaruPage::showTextNextLine()
HaruPage::showText()
HaruPage::stroke()
HaruPage::textOut()
HaruPage::textRect()
이전 | 위로 | 다음
HaruDoc | 처음으로 | HaruFont


Configuration

(No version information available, might be only in CVS)

Configuration -- http module configuration directives

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 106. HTTP Configuration Options

Name | Default | Changeable | Description
http.etag.mode | "MD5" | PHP_INI_ALL | The hashing algorithm used to generate the ETag. MD5, SHA1, and CRC32 are always available. If the hash xtension is enabled, any hashing algorithms this extension provides are available, too.
http.log.cache | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write successful cache hits.
http.log.redirect | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write redirects.
http.log.not_found | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write "file not found" errors.
http.log.allowed_methods | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write "allowed methods" violations.
http.log.composite | "" | PHP_INI_ALL | The path (or stream wrapper url) to a log file in which to write all events.
http.request.methods.allowed | "" | PHP_INI_ALL | Allowed request methods. If a client issues a request with a request method other than listed here, PHP exits with a status of "405 Method not allowed". "exits"의 의미에 대해서 INI 설정 http.force_exit를 참고하십시오.
http.request.methods.custom | "" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Custom request methods. If you want to use any non-standard request methods, you can register them with this INI setting or http_request_method_register().
http.request.datashare.cookie | "0" | PHP_INI_SYSTEM | Whether the global HttpRequestDataShare should by default share cookie information.
http.request.datashare.dns | "1" | PHP_INI_SYSTEM | Whether the global HttpRequestDataShare should by default share name lookup information.
http.request.datashare.ssl | "0" | PHP_INI_SYSTEM | Whether the global HttpRequestDataShare should by default share SSL session information. This is not yet implemented in libcurl.
http.request.datashare.connect | "0" | PHP_INI_SYSTEM | Whether the global HttpRequestDataShare should by default share connect information. This is not yet implemented in libcurl.
http.persistent.handles.limit | "-1" | PHP_INI_SYSTEM | The maximum amount of persistent handles to keep alive.
http.persistent.handles.ident | "GLOBAL" | PHP_INI_ALL | The ident of persistent handles.
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Whether to automatically start the inflate output handler.
http.send.inflate.start_flags | "0" | PHP_INI_ALL | Initialization settings for the inflate output handler.
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR|PHP_INI_SYSTEM | Whether to automatically start the deflate output handler.
http.send.deflate.start_flags | "0" | PHP_INI_ALL | Initialization settings for the deflate output handler. See deflate constants.
http.send.not_found_404 | "1" | PHP_INI_ALL | Whether to automatically exit with a status of "404 Not found", if http_send_file() was not able to find the specified file. "exits"의 의미에 대해서 INI 설정 http.force_exit를 참고하십시오.
http.only_exceptions | "0" | PHP_INI_ALL | Whether all notices/warnings/errors should be thrown as exceptions.
http.force_exit | "1" | PHP_INI_ALL | Each occasion where "exits with a status of..." is mentioned, usually causes the halt of the scripting engine. Disable this option if you alternatively want to start a discarding (dev/null) output handler and continue script execution.

이전 | 위로 | 다음
Installation | 처음으로 | Resources


Constants

(No version information available, might be only in CVS)

Constants -- predefined http module constants

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Constants usable with http_support()

HTTP_SUPPORT (integer)
querying for this constant will always return TRUE
HTTP_SUPPORT_REQUESTS (integer)
whether support to issue HTTP requests is given, ie. libcurl support was compiled in
HTTP_SUPPORT_MAGICMIME (integer)
whether support to guess the Content-Type of HTTP messages is given, ie. libmagic support was compiled in
HTTP_SUPPORT_ENCODINGS (integer)
whether support for zlib encodings is given, ie. libz support was compiled in
HTTP_SUPPORT_SSLREQUESTS (integer)
whether support to issue HTTP requests over SSL is givem, ie. linked libcurl was built with SSL support

Constants usable with http_parse_params()

HTTP_PARAMS_ALLOW_COMMA (integer)
allow commans additionally to semicolons as separator
HTTP_PARAMS_ALLOW_FAILURE (integer)
continue parsing after an error occurred
HTTP_PARAMS_RAISE_ERROR (integer)
raise PHP warnings on parse errors
HTTP_PARAMS_DEFAULT (integer)
all three values above, bitwise or'ed

Constants usable with http_parse_cookie() and its return value

HTTP_COOKIE_PARSE_RAW (integer)
don't urldecode values
HTTP_COOKIE_SECURE (integer)
whether "secure" was found in the cookie's parameters list
HTTP_COOKIE_HTTPONLY (integer)
whether "httpOnly" was found in the cookie's parameter list

Constants usable with http_deflate() and HttpDeflateStream

HTTP_DEFLATE_LEVEL_DEF (integer)
HTTP_DEFLATE_LEVEL_MIN (integer)
HTTP_DEFLATE_LEVEL_MAX (integer)
HTTP_DEFLATE_TYPE_ZLIB (integer)
HTTP_DEFLATE_TYPE_GZIP (integer)
HTTP_DEFLATE_TYPE_RAW (integer)
HTTP_DEFLATE_STRATEGY_DEF (integer)
HTTP_DEFLATE_STRATEGY_FILT (integer)
HTTP_DEFLATE_STRATEGY_HUFF (integer)
HTTP_DEFLATE_STRATEGY_RLE (integer)
HTTP_DEFLATE_STRATEGY_FIXED (integer)

Constants usable with HttpDeflateStream and HttpInflateStream

HTTP_ENCODING_STREAM_FLUSH_NONE (integer)
don't flush
HTTP_ENCODING_STREAM_FLUSH_SYNC (integer)
synchronized flush only
HTTP_ENCODING_STREAM_FLUSH_FULL (integer)
full data flush

Constants used for error reporting and Exceptions

HTTP_E_RUNTIME (integer)
runtime error
HTTP_E_INVALID_PARAM (integer)
an invalid parameter was passed
HTTP_E_HEADER (integer)
header() or similar operation failed
HTTP_E_MALFORMED_HEADERS (integer)
HTTP header parse error
HTTP_E_REQUEST_METHOD (integer)
unknown/invalid request method
HTTP_E_MESSAGE_TYPE (integer)
with operation incompatible message type
HTTP_E_ENCODING (integer)
encoding/decoding error
HTTP_E_REQUEST (integer)
request failure
HTTP_E_REQUEST_POOL (integer)
request pool failure
HTTP_E_SOCKET (integer)
socket exception
HTTP_E_RESPONSE (integer)
response failure
HTTP_E_URL (integer)
invalid URL
HTTP_E_QUERYSTRING (integer)
querystring operation failure

Constants usable with HttpMessage

HTTP_MSG_NONE (integer)
the message is of no specific type
HTTP_MSG_REQUEST (integer)
request style message
HTTP_MSG_RESPONSE (integer)
response style message

Constants usable with HttpQueryString

HTTP_QUERYSTRING_TYPE_BOOL (integer)
HTTP_QUERYSTRING_TYPE_INT (integer)
HTTP_QUERYSTRING_TYPE_FLOAT (integer)
HTTP_QUERYSTRING_TYPE_STRING (integer)
HTTP_QUERYSTRING_TYPE_ARRAY (integer)
HTTP_QUERYSTRING_TYPE_OBJECT (integer)

Constants used for the httpauthtype 요청 옵션

HTTP_AUTH_BASIC (integer)
use "basic" authentication
HTTP_AUTH_DIGEST (integer)
use "digest" authentication
HTTP_AUTH_NTLM (integer)
use "NTLM" authentication
HTTP_AUTH_GSSNEG (integer)
use "GSS-NEGOTIATE" authentication
HTTP_AUTH_ANY (integer)
try any authentication scheme

Constants used for the HTTP protocol version 요청 옵션

HTTP_VERSION_ANY (integer)
no specific HTTP protocol version
HTTP_VERSION_1_0 (integer)
HTTP version 1.0
HTTP_VERSION_1_1 (integer)
HTTP version 1.1

Constants used for the SSL protocol type and version 요청 옵션

HTTP_SSL_VERSION_ANY (integer)
no specific SSL protocol version
HTTP_SSL_VERSION_TLSv1 (integer)
use TLSv1 only
HTTP_SSL_VERSION_SSLv3 (integer)
use SSLv3 only
HTTP_SSL_VERSION_SSLv2 (integer)
use SSLv2 only

Constants used for the proxytype 요청 옵션

HTTP_PROXY_SOCKS4 (integer)
the proxy is a SOCKS4 type proxy
HTTP_PROXY_SOCKS5 (integer)
the proxy is a SOCKS5 type proxy
HTTP_PROXY_HTTP (integer)
standard HTTP proxy

Constants used for the ipresolve 요청 옵션

HTTP_IPRESOLVE_V4 (integer)
use IPv4 only for name lookups
HTTP_IPRESOLVE_V6 (integer)
use IPv6 only for name lookups
HTTP_IPRESOLVE_ANY (integer)
use any IP mechanism only for name lookups

Predefined HTTP request method constants

HTTP_METH_GET (integer)
HTTP_METH_HEAD (integer)
HTTP_METH_POST (integer)
HTTP_METH_PUT (integer)
HTTP_METH_DELETE (integer)
HTTP_METH_OPTIONS (integer)
HTTP_METH_TRACE (integer)
HTTP_METH_CONNECT (integer)
HTTP_METH_PROPFIND (integer)
HTTP_METH_PROPPATCH (integer)
HTTP_METH_MKCOL (integer)
HTTP_METH_COPY (integer)
HTTP_METH_MOVE (integer)
HTTP_METH_LOCK (integer)
HTTP_METH_UNLOCK (integer)
HTTP_METH_VERSION_CONTROL (integer)
HTTP_METH_REPORT (integer)
HTTP_METH_CHECKOUT (integer)
HTTP_METH_CHECKIN (integer)
HTTP_METH_UNCHECKOUT (integer)
HTTP_METH_MKWORKSPACE (integer)
HTTP_METH_UPDATE (integer)
HTTP_METH_LABEL (integer)
HTTP_METH_MERGE (integer)
HTTP_METH_BASELINE_CONTROL (integer)
HTTP_METH_MKACTIVITY (integer)
HTTP_METH_ACL (integer)

Constants usable with http_redirect()

HTTP_REDIRECT (integer)
guess applicable redirect method
HTTP_REDIRECT_PERM (integer)
permanent redirect (301 Moved permanently)
HTTP_REDIRECT_FOUND (integer)

standard redirect (302 Found)

참고: RFC 1945 and RFC 2068 specify that the client is not allowed to change the method on the redirected request. However, most existing user agent implementations treat 302 as if it were a 303 response, performing a GET on the Location field-value regardless of the original request method. The status codes 303 and 307 have been added for servers that wish to make unambiguously clear which kind of reaction is expected of the client.

HTTP_REDIRECT_POST (integer)
redirect applicable to POST requests (303 See other)
HTTP_REDIRECT_PROXY (integer)
proxy redirect (305 Use proxy)
HTTP_REDIRECT_TEMP (integer)
temporary redirect (307 Temporary Redirect)

Constants usable with http_build_url()

HTTP_URL_REPLACE (integer)
replace every part of the first URL when there's one of the second URL
HTTP_URL_JOIN_PATH (integer)
join relative paths
HTTP_URL_JOIN_QUERY (integer)
join query strings
HTTP_URL_STRIP_USER (integer)
strip any user authentication information
HTTP_URL_STRIP_PASS (integer)
strip any password authentication information
HTTP_URL_STRIP_AUTH (integer)
strip any authentication information
HTTP_URL_STRIP_PORT (integer)
strip explicit port numbers
HTTP_URL_STRIP_PATH (integer)
strip complete path
HTTP_URL_STRIP_QUERY (integer)
strip query string
HTTP_URL_STRIP_FRAGMENT (integer)
strip any fragments (#identifier)
HTTP_URL_STRIP_ALL (integer)
strip anything but scheme and host
이전 | 위로 | 다음
Resources | 처음으로 | Request Options


HttpDeflateStream

(No version information available, might be only in CVS)

HttpDeflateStream -- HTTP Deflate Stream Class

요약

class HttpDeflateStream

Class Members

예약 상수

표 112.

Type | Name | Description
int | TYPE_GZIP | gzip encoding
int | TYPE_ZLIB | zlib AKA deflate encoding
int | TYPE_RAW | raw deflate encoding
int | LEVEL_DEF | default compression level
int | LEVEL_MIN | minimum compression level
int | LEVEL_MAX | maximum compression level
int | STRATEGY_DEF | default strategy
int | STRATEGY_FILT | filtered strategy
int | STRATEGY_HUFF | Huffman strategy
int | STRATEGY_RLE | RLE strategy
int | STRATEGY_FIXED | fixed strategy
int | FLUSH_NONE | no forced flush
int | FLUSH_SYNC | synching flush
int | FLUSH_FULL | full flush

메쏘드

HttpDeflateStream::factory()
HttpDeflateStream::__construct()
HttpDeflateStream::update()
HttpDeflateStream:: flush()
HttpDeflateStream::finish()

예제

예 771. A HttpDeflateStream example

<?php
$stream = new HttpDeflateStream(
    HttpDeflateStream::TYPE_GZIP |
    HttpDeflateStream::LEVEL_MAX |
    HttpDeflateStream::FLUSH_SYNC);

echo $stream->update($data);
echo $stream->finish();
?>

이전 | 위로 | 다음
HttpQueryString::xlate | 처음으로 | HttpDeflateStream::factory


HttpInflateStream

(No version information available, might be only in CVS)

HttpInflateStream -- HTTP Inflate Stream

요약

   class HttpInflateStream

Class Members

Constants

표 113.

Type | Name | Description
int | FLUSH_NONE | no forced flush
int | FLUSH_SYNC | synching flush
int | FLUSH_FULL | full flush

참고: Flushing usually has no effect on inflate streams.

메쏘드

HttpInflateStream::factory()
HttpInflateStream::__construct()
HttpInflateStream::update()
HttpInflateStream:: flush()
HttpInflateStream::finish()

예제

예 772. A HttpInflateStream example

<?php
$stream = new HttpInflateStream;
echo $stream->update($data);
echo $stream->finish();
?>

이전 | 위로 | 다음
HttpDeflateStream::finish | 처음으로 | HttpInflateStream::factory


HttpMessage

(No version information available, might be only in CVS)

HttpMessage -- HTTP Message Class

요약

   class HttpMessage implements Iterator, Countable, Serializable

Class Members

속성

표 107. Instance Properties

Modifiers | Type | Name | Description
protected | int | type | message type
protected | string | body | message body
protected | float | httpVersion | HTTP protocol version
protected | array | headers | message headers
protected | string | requestMethod | request method name
protected | requestUrl | string | request URL
protected | int | responseCode | response code
protected | string | responseStatus | response status message
protected | HttpMessage | parentMessage | reference to parent message

참고: None of these default properties can be accessed by reference, array key/index notation nor be used in increment or decrement operations.

예약 상수

표 108.

Type | Name | Description
int | TYPE_NONE | message has is of no specific type
int | TYPE_REQUEST | message is a request style HTTP message
int | TYPE_RESPONSE | message is a response style HTTP message

메쏘드

HttpMessage::construct()
HttpMessage::factory()
HttpMessage::fromEnv()
HttpMessage::fromString()
HttpMessage::toString()
HttpMessage::toMessageTypeObject()
HttpMessage::guessContentType()
HttpMessage::detach()
HttpMessage::prepend()
HttpMessage::reverse()
HttpMessage::send()
HttpMessage::getParentMessage()
HttpMessage:: getType()
HttpMessage:: setType()
HttpMessage::getHttpVersion()
HttpMessage::setHttpVersion()
HttpMessage::getHeaders()
HttpMessage::getHeader()
HttpMessage::addHeaders()
HttpMessage::setHeaders()
HttpMessage::getBody()
HttpMessage::setBody()
HttpMessage::getRequestMethod()
HttpMessage::setRequestMethod()
HttpMessage::getRequestUrl()
HttpMessage::setRequestUrl()
HttpMessage::getResponseCode()
HttpMessage::setResponseCode()
HttpMessage::getResponseStatus()
HttpMessage::setResponseStatus()
이전 | 위로 | 다음
Request Options | 처음으로 | HttpMessage::__construct


HttpQueryString

(No version information available, might be only in CVS)

HttpQueryString -- HTTP Query String Class

요약

   class HttpQueryString implements Serializable, ArrayAccess

Class Members

속성

표 109. Instance Properties

Modifiers | Type | Name | Description
private | array | queryArray | query parameters
private | string | queryString | serialized query parameters

표 110. Static Properties

Modifiers | Type | Name | Description
private | array | instance | holds singletons

예약 상수

표 111.

Type | Name | Description
int | TYPE_BOOL | retrieve query param as bool
int | TYPE_INT | retrieve query param as int
int | TYPE_FLOAT | retrieve query param as float
int | TYPE_STRING | retrieve query param as string
int | TYPE_ARRAY | retrieve query param as array
int | TYPE_OBJECT | retrieve query param as object

메쏘드

HttpQueryString::construct()
HttpQueryString::singleton()
HttpQueryString::get()
HttpQueryString::mod()
HttpQueryString::set()
HttpQueryString::toArray()
HttpQueryString::toString()
HttpQueryString::xlate()
이전 | 위로 | 다음
HttpMessage::setResponseStatus | 처음으로 | HttpQueryString::__construct


HttpRequest

(No version information available, might be only in CVS)

HttpRequest -- HTTP Request Class

요약

   class HttpRequest

Class Members

속성

표 114. Instance Properties

Modifiers | Type | Name | Description
protected | array | options | request options to configure the request; see 요청 옵션들
protected | array | postFields | form data: array("fieldname" => "fieldvalue")
protected | array | postFiles | files to upload: array(array("name" => "image", "file" => "/home/u/images/u.png", "type" => "image/png"))
protected | array | responseInfo | information (statistical) about the request/response; see 요청/응답 정보
protected | HttpMessage | responseMessage | the response message
protected | integer | responseCode | the numerical response code
protected | string | responseStatus | the literal response status text
protected | integer | method | the request method to use
protected | string | url | the request url
protected | string | contentType | the content type to use for raw post requests
protected | string | rawPostData | raw post data
protected | string | queryData | query parameters
protected | string | putFile | the file to upload with a PUT request
protected | string | putData | raw data to upload with a PUT request
protected | HttpMessage | history | the whole request/response history if history logging is enabled
public | boolean | recordHistory | whether to enable history logging

예약 상수

표 115.

Type | Name | Description
integer | METH_GET | GET request method
integer | METH_HEAD | HEAD request method
integer | METH_POST | POST request method
integer | METH_PUT | PUT request method
integer | METH_DELETE | DELETE request method
integer | METH_OPTIONS | OPTIONS request method
integer | METH_TRACE | TRACE request method
integer | METH_CONNECT | CONNECT request method
integer | METH_PROPFIND | PROPFIND request method
integer | METH_PROPPATCH | PROPPATCH request method
integer | METH_MKCOL | MKCOL request method
integer | METH_COPY | COPY request method
integer | METH_MOVE | MOVE request method
integer | METH_LOCK | LOCK request method
integer | METH_UNLOCK | UNLOCK request method
integer | METH_VERSION_CONTROL | VERSION-CONTROL request method
integer | METH_REPORT | REPORT request method
integer | METH_CHECKOUT | CHECKOUT request method
integer | METH_CHECKIN | CHECKIN request method
integer | METH_UNCHECKOUT | UNCHECKOUT request method
integer | METH_MKWORKSPACE | MKWORKSPACE request method
integer | METH_UPDATE | UPDATE request method
integer | METH_LABEL | LABEL request method
integer | METH_MERGE | MERGE request method
integer | METH_BASELINE_CONTROL | BASELINE-CONTROL request method
integer | METH_MKACTIVITY | MKACTIVITY request method
integer | METH_ACL | ACL request method
integer | VERSION_1_0 | HTTP protocol version 1.0
integer | VERSION_1_1 | HTTP protocol version 1.1
integer | VERSION_ANY | any HTTP protocol version
integer | AUTH_BASIC | basic authentication
integer | AUTH_DIGEST | digest authentication
integer | AUTH_NTLM | NTLM authentication
integer | AUTH_GSSNEG | GSS negotiate authentication
integer | AUTH_ANY | any authentication
integer | PROXY_SOCKS4 | SOCKS v4 proxy
integer | PROXY_SOCKS5 | SOCKS v5 proxy
integer | PROXY_HTTP | HTTP proxy
integer | SSL_VERSION_TLSv1 | use TLS v1
integer | SSL_VERSION_SSLv2 | use SSL v2
integer | SSL_VERSION_SSLv3 | use SSL v3
integer | SSL_VERSION_ANY | use any SSL/TLS method
integer | IPRESOLVE_V4 | resolve via IPv4 only
integer | IPRESOLVE_V6 | resolve via IPv6 only
integer | IPRESOLVE_ANY | use any resolving methods

메쏘드

HttpRequest::construct()
HttpRequest::getOptions()
HttpRequest::setOptions()
HttpRequest::getSslOptions()
HttpRequest::addSslOptions()
HttpRequest::setSslOptions()
HttpRequest::getUrl()
HttpRequest::setUrl()
HttpRequest::getMethod()
HttpRequest::setMethod()
HttpRequest::enableCookies()
HttpRequest::resetCookies()
HttpRequest::getCookies()
HttpRequest::addCookies()
HttpRequest::setCookies()
HttpRequest::getHeaders()
HttpRequest::addHeaders()
HttpRequest::setHeaders()
HttpRequest::getContentType()
HttpRequest::setContentType()
HttpRequest::getQueryData()
HttpRequest::addQueryData()
HttpRequest::setQueryData()
HttpRequest::getPostFields()
HttpRequest::addPostFields()
HttpRequest::setPostFields()
HttpRequest::getPostFiles()
HttpRequest::addPostFile()
HttpRequest::setPostFiles()
HttpRequest::getRawPostData()
HttpRequest::addRawPostData()
HttpRequest::setRawPostData()
HttpRequest::getPutData()
HttpRequest::addPutData()
HttpRequest::setPutData()
HttpRequest::getPutFile()
HttpRequest::setPutFile()
HttpRequest::send()
HttpRequest::getRequestMessage()
HttpRequest::getRawRequestMessage()
HttpRequest::getResponseMessage()
HttpRequest::getRawResponseMessage()
HttpRequest::getResponseCode()
HttpRequest::getResponseStatus()
HttpRequest::getResponseHeader()
HttpRequest::getResponseCookies()
HttpRequest::getResponseBody()
HttpRequest::getResponseData()
HttpRequest::getResponseInfo()
HttpRequest::clearHistory()
HttpRequest::getHistory()
이전 | 위로 | 다음
HttpInflateStream::finish | 처음으로 | HttpRequest::addCookies


HttpRequestPool

(No version information available, might be only in CVS)

HttpRequestPool -- HTTP Request Pool Class

요약

   class HttpRequest implements Iterator, Countable

Class Members

속성

The HttpRequestPool class does not have any properties.

예약 상수

The HttpRequestPool class does not have any constants.

메쏘드

HttpRequestPool::construct()
HttpRequestPool::destruct()
HttpRequestPool::attach()
HttpRequestPool::detach()
HttpRequestPool::getAttachedRequests()
HttpRequestPool::getFinishedRequests()
HttpRequestPool:: reset()
HttpRequestPool::send()
HttpRequestPool::socketPerform()
HttpRequestPool::socketSelect()
이전 | 위로 | 다음
HttpRequest::setUrl | 처음으로 | HttpRequestPool::attach


HttpResponse

(No version information available, might be only in CVS)

HttpResponse -- HTTP Response Class

요약

static class HttpResponse

Class Members

속성

표 116. Static Properties

Modifiers | Type | Name | Description
protected | boolean | cache | whether caching the response should be attempted
protected | boolean | gzip | whether the sent entity should be gzip'ed on the fly
protected | string | eTag | the generated or custom ETag
protected | integer | lastModified | the generated or custom timestamp of last modification
protected | string | cacheControl | Cache-Control setting
protected | string | contentType | the Content-Type of the sent entity
protected | string | contentDisposition | the Content-Disposition of the sent entity
protected | integer | bufferSize | the chunk buffer size used for throttling
protected | double | throttleDelay | the seconds to delay when throttling

예약 상수

표 117.

Type | Name | Description
integer | REDIRECT | guess applicable redirect method
integer | REDIRECT_PERM | permanent redirect (301 Moved permanently)
integer | REDIRECT_FOUND | standard redirect (302 Found)
integer | REDIRECT_POST | redirect applicable to POST requests (303 See other)
integer | REDIRECT_PROXY | proxy redirect (305 Use proxy)
integer | REDIRECT_TEMP | temporary redirect (307 Temporary Redirect)

메쏘드

HttpResponse::getBufferSize()
HttpResponse::setBufferSize()
HttpResponse::getCacheControl()
HttpResponse::setCacheControl()
HttpResponse::getCache()
HttpResponse::setCache()
HttpResponse::getContentDisposition()
HttpResponse::setContentDisposition()
HttpResponse::getContentType()
HttpResponse::setContentType()
HttpResponse::getData()
HttpResponse::setData()
HttpResponse::getETag()
HttpResponse::setETag()
HttpResponse::getFile()
HttpResponse::setFile()
HttpResponse::getGzip()
HttpResponse::setGzip()
HttpResponse::getHeader()
HttpResponse::setHeader()
HttpResponse::getLastModified()
HttpResponse::setLastModified()
HttpResponse::getStream()
HttpResponse::setStream()
HttpResponse::getThrottleDelay()
HttpResponse::setThrottleDelay()
HttpResponse::redirect()
HttpResponse::capture()
HttpResponse::send()
HttpResponse::guessContentType()
HttpResponse::redirect()
HttpResponse::status()
HttpResponse::getRequestHeaders()
HttpResponse::getRequestBody()
HttpResponse::getRequestBodyStream()
이전 | 위로 | 다음
HttpRequestPool::socketSelect | 처음으로 | HttpResponse::capture


Installation

(No version information available, might be only in CVS)

Installation -- Installing the HTTP extension

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/pecl_http.

참고: The official name of this extension is pecl_http.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

Installation requirements on Windows

In order to be able to load this extension on Windows, you additionally need to load the following PHP extensions: hash, iconv 그리고 SPL.

Installation requirements on other platforms

The extension must be built with » libcurl support to enable request functionality (--with-http-curl-requests). A library version equal or greater to v7.12.3 is required.

To enable support for sending and receiving compressed responses, the extension must be built with » zlib support (--with-http-zlib-compression). A library version equal or greater than v1.2.2 is required.

Content type quessing can be enabled by building this extension with » libmagic support (--with-http-magic-mime).

이전 | 위로 | 다음
LVI. HTTP | 처음으로 | Configuration


Request Options

(No version information available, might be only in CVS)

Request Options -- options usable with the HttpRequest class and request functions

Overview

Options related to time outs

timeout (integer)
seconds the whole request may take to complete
connecttimeout (integer)
seconds the connect, including name resolving, may take
dns_cache_timeout (integer)
seconds after an dns cache entry times out

Options related to urls

url (string)
the request url
port (integer)
use another port as specified in the url
redirect (integer)
whether and how many redirects to follow; defaults to 0
unrestrictedauth (bool)
whether to continue sending credentials on redirects to a different host
referer (string)
the refererring url to send

Options related to cookies

encodecookies (bool)
whether custom cookies should be urlencode()d prior sending
cookies (array)
list of cookies as associative array like array("cookie" => "value")
cookiestore (string)
path to a file where cookies are/will be stored
cookiesession (bool)
don't load session cookies from cookiestore if TRUE

Options related to headers

useragent (string)
the user agent to send; defaults to PECL::HTTP/x.y.z (PHP/x.y.z); omitted if explicitly set to an empty string
lastmodified (int)
timestamp for If-(Un)Modified-Since header
etag (string)
quoted etag for If-(None-)Match header
headers (array)
list of custom headers as associative array like array("header" => "value")

Options related to authentication

httpauth (string)
http credentials in "user:pass" format
httpauthtype (int)
HTTP authentication type constant
(array)

Options related to proxies

proxyhost (string)
proxy host in "host[:port]" format
proxyport (int)
use another proxy port as specified in proxyhost
proxytype (int)
HTTP proxy type constant
proxyauth (string)
proxy credentials in "user:pass" format
proxyauthtype (int)
HTTP authentication type constant

Options related to the transfer

compress (bool)
whether to request and accept a gzip/deflate content encoded response
resume (int)
start the download at the specified byte offset if server support is given (indicated by a 206 response code)
range (array)
array of arrays, each containing two integers, specifying the ranges to download if server support is given (indicated by a 206 response code); only recognized if the resume option is empty

Options imposing limits

maxfilesize (integer)
maximum file size that should be downloaded; has no effect, if the size of the requested entity is unknown (eg. dynamic pages with chunked transfer encoding etc.)
low_speed_limit (int)
the lowest transfer speed a successful request may have
low_speed_time (int)
the time in which low_speed_limit must be transferred for a successful request
max_send_speed (int)
maximum send speed in bytes per second
max_recv_speed (int)
maximum receive speed in bytes per second

Callback options

onprogress (callback)
progress callback

Network options

interface (string)
outgoing network interface (ifname, ip or hostname)
portrange (array)
2 integers specifying outgoing portrange to try

SSL options

ssl (array)

참고: SSL options are set through an array with the single "ssl" request option name.

cert (string)
path to certificate
certtype (string)
type of certificate
certpasswd (string)
password for certificate
key (string)
path to key
keytype (string)
type of key
keypasswd (string)
pasword for key
engine (string)
ssl engine to use
version (int)
ssl version to use
verifypeer (bool)
whether to verify the peer
verifyhost (bool)
whether to verify the host
cipher_list (string)
list of allowed ciphers
cainfo (string)
capath (string)
random_file (string)
egdsocket (string)
이전 | 위로 | 다음
Constants | 처음으로 | HttpMessage


Resources

(No version information available, might be only in CVS)

Resources -- Resources created by the HTTP extension

자원형

This extension defines a stream resource returned by http_get_request_body_stream() and (thereafter) HttpResponse::getStream().

이전 | 위로 | 다음
Configuration | 처음으로 | Constants


Constants

(No version information available, might be only in CVS)

Constants -- Imagick class constants

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Colortype constants

imagick::COLOR_BLACK (integer)
imagick::COLOR_BLUE (integer)
imagick::COLOR_CYAN (integer)
Cyan
imagick::COLOR_GREEN (integer)
Green
imagick::COLOR_RED (integer)
Red
imagick::COLOR_YELLOW (integer)
Yellow
imagick::COLOR_MAGENTA (integer)
Magenta
imagick::COLOR_OPACITY (integer)
Opacity
imagick::COLOR_ALPHA (integer)
Alpha
imagick::COLOR_FUZZ (integer)
Fuzz

Dispose type constants

imagick::DISPOSE_UNRECOGNIZED (integer)
Unrecognized
imagick::DISPOSE_UNRECOGNIZED (integer)
Unrecognized
imagick::DISPOSE_UNDEFINED (integer)
Undefined
imagick::DISPOSE_NONE (integer)
None
imagick::DISPOSE_BACKGROUND (integer)
Background
imagick::DISPOSE_PREVIOUS (integer)
Previous

Composite Operator Constants

imagick::COMPOSITE_OVER (integer)
Overlay one image over the next
imagick::COMPOSITE_IN (integer)
Replaces the inside of one layer with another
imagick::COMPOSITE_OUT (integer)
Replaces the outside of one layer with another
imagick::COMPOSITE_ATOP (integer)
Composites the inside of one layer with the other
imagick::COMPOSITE_XOR (integer)
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside the source.
imagick::COMPOSITE_PLUS (integer)
The source is added to the destination and replaces the destination.
imagick::COMPOSITE_MINUS (integer)
The source is subtracted to the destination and replaces the destination.
imagick::COMPOSITE_ADD (integer)
Deprecated
imagick::COMPOSITE_SUBTRACT (integer)
Deprecated
imagick::COMPOSITE_DIFFERENCE (integer)
The difference in color values. Good for comparing images.
imagick::COMPOSITE_BUMPMAP (integer)
The same as COMPOSITE_MULTIPLY, except the source is converted to greyscale first.
imagick::COMPOSITE_COPY (integer)
Simply place the source on top of the destination.
imagick::COMPOSITE_DISPLACE (integer)
imagick::COMPOSITE_DEFAULT (integer)

Montage Mode constants

imagick::MONTAGEMODE_FRAME (integer)
imagick::MONTAGEMODE_UNFRAME (integer)
imagick::MONTAGEMODE_CONCATENATE (integer)

Style constants

imagick::STYLE_NORMAL (integer)
imagick::STYLE_ITALIC (integer)
imagick::STYLE_OBLIQUE (integer)
imagick::STYLE_ANY (integer)

Filter constants

imagick::FILTER_UNDEFINED (integer)
imagick::FILTER_POINT (integer)
imagick::FILTER_BOX (integer)
imagick::FILTER_TRIANGLE (integer)
imagick::FILTER_HERMITE (integer)
imagick::FILTER_HANNING (integer)
imagick::FILTER_HAMMING (integer)
imagick::FILTER_BLACKMAN (integer)
imagick::FILTER_GAUSSIAN (integer)
imagick::FILTER_QUADRATIC (integer)
imagick::FILTER_CUBIC (integer)
imagick::FILTER_CATROM (integer)
imagick::FILTER_MITCHELL (integer)
imagick::FILTER_LANCZOS (integer)
imagick::FILTER_BESSEL (integer)
imagick::FILTER_SINC (integer)

Image type constants

imagick::IMGTYPE_UNDEFINED (integer)
imagick::IMGTYPE_BILEVEL (integer)
imagick::IMGTYPE_GRAYSCALE (integer)
imagick::IMGTYPE_GRAYSCALEMATTE (integer)
imagick::IMGTYPE_PALETTE (integer)
imagick::IMGTYPE_PALETTEMATTE (integer)
imagick::IMGTYPE_TRUECOLOR (integer)
imagick::IMGTYPE_TRUECOLORMATTE (integer)
imagick::IMGTYPE_COLORSEPARATION (integer)
imagick::IMGTYPE_COLORSEPARATIONMATTE (integer)
imagick::IMGTYPE_OPTIMIZE (integer)

Resolution constants

imagick::RESOLUTION_UNDEFINED (integer)
imagick::RESOLUTION_PIXELSPERINCH (integer)
imagick::RESOLUTION_PIXELSPERCENTIMETER (integer)

Compression constants

imagick::COMPRESSION_UNDEFINED (integer)
imagick::COMPRESSION_NO (integer)
imagick::COMPRESSION_BZIP (integer)
imagick::COMPRESSION_FAX (integer)
imagick::COMPRESSION_GROUP4 (integer)
imagick::COMPRESSION_JPEG (integer)
imagick::COMPRESSION_JPEG2000 (integer)
imagick::COMPRESSION_LOSSLESSJPEG (integer)
imagick::COMPRESSION_LZW (integer)
imagick::COMPRESSION_RLE (integer)
imagick::COMPRESSION_ZIP (integer)

Paint constants

imagick::PAINT_POINT (integer)
imagick::PAINT_REPLACE (integer)
imagick::PAINT_FLOODFILL (integer)
imagick::PAINT_FILLTOBORDER (integer)
imagick::PAINT_RESET (integer)

Gravity constants

imagick::GRAVITY_NORTHWEST (integer)
imagick::GRAVITY_NORTH (integer)
imagick::GRAVITY_NORTHEAST (integer)
imagick::GRAVITY_WEST (integer)
imagick::GRAVITY_CENTER (integer)
imagick::GRAVITY_EAST (integer)
imagick::GRAVITY_SOUTHWEST (integer)
imagick::GRAVITY_SOUTH (integer)
imagick::GRAVITY_SOUTHEAST (integer)

Stretch constants

imagick::STRETCH_NORMAL (integer)
imagick::STRETCH_ULTRACONDENSED (integer)
imagick::STRETCH_CONDENSED (integer)
imagick::STRETCH_SEMICONDENSED (integer)
imagick::STRETCH_SEMIEXPANDED (integer)
imagick::STRETCH_EXPANDED (integer)
imagick::STRETCH_EXTRAEXPANDED (integer)
imagick::STRETCH_ULTRAEXPANDED (integer)
imagick::STRETCH_ANY (integer)

Align constants

imagick::ALIGN_UNDEFINED (integer)
imagick::ALIGN_LEFT (integer)
imagick::ALIGN_CENTER (integer)
imagick::ALIGN_RIGHT (integer)

Decoration constants

imagick::DECORATION_NO (integer)
imagick::DECORATION_UNDERLINE (integer)
imagick::DECORATION_OVERLINE (integer)
imagick::DECORATION_LINETROUGH (integer)

Noise constants

imagick::NOISE_UNIFORM (integer)
imagick::NOISE_GAUSSIAN (integer)
imagick::NOISE_MULTIPLICATIVEGAUSSIAN (integer)
imagick::NOISE_IMPULSE (integer)
imagick::NOISE_LAPLACIAN (integer)
imagick::NOISE_POISSON (integer)

Channel constants

imagick::CHANNEL_UNDEFINED (integer)
imagick::CHANNEL_RED (integer)
imagick::CHANNEL_GRAY (integer)
imagick::CHANNEL_CYAN (integer)
imagick::CHANNEL_GREEN (integer)
imagick::CHANNEL_MAGENTA (integer)
imagick::CHANNEL_BLUE (integer)
imagick::CHANNEL_YELLOW (integer)
imagick::CHANNEL_ALPHA (integer)
imagick::CHANNEL_OPACITY (integer)
imagick::CHANNEL_MATTE (integer)
imagick::CHANNEL_BLACK (integer)
imagick::CHANNEL_INDEX (integer)
imagick::CHANNEL_ALL (integer)

Metric constants

imagick::METRIC_UNDEFINED (integer)
imagick::METRIC_MEANABSOLUTEERROR (integer)
imagick::METRIC_MEANSQUAREERROR (integer)
imagick::METRIC_PEAKABSOLUTEERROR (integer)
imagick::METRIC_PEAKSIGNALTONOISERATIO (integer)
imagick::METRIC_ROOTMEANSQUAREDERROR (integer)

Pixel constants

imagick::PIXEL_CHAR (integer)
imagick::PIXEL_DOUBLE (integer)
imagick::PIXEL_FLOAT (integer)
imagick::PIXEL_INTEGER (integer)
imagick::PIXEL_LONG (integer)
imagick::PIXEL_QUANTUM (integer)
imagick::PIXEL_SHORT (integer)

Evaluate Operator constants

imagick::EVALUATE_UNDEFINED (integer)
imagick::EVALUATE_ADD (integer)
imagick::EVALUATE_AND (integer)
imagick::EVALUATE_DIVIDE (integer)
imagick::EVALUATE_LEFTSHIFT (integer)
imagick::EVALUATE_MAX (integer)
imagick::EVALUATE_MIN (integer)
imagick::EVALUATE_MULTIPLY (integer)
imagick::EVALUATE_OR (integer)
imagick::EVALUATE_RIGHTSHIFT (integer)
imagick::EVALUATE_SET (integer)
imagick::EVALUATE_SUBTRACT (integer)
imagick::EVALUATE_XOR (integer)

Colorspace constants

imagick::COLORSPACE_UNDEFINED (integer)
imagick::COLORSPACE_RGB (integer)
imagick::COLORSPACE_GRAY (integer)
imagick::COLORSPACE_TRANSPARENT (integer)
imagick::COLORSPACE_OHTA (integer)
imagick::COLORSPACE_LAB (integer)
imagick::COLORSPACE_XYZ (integer)
imagick::COLORSPACE_YCBCR (integer)
imagick::COLORSPACE_YCC (integer)
imagick::COLORSPACE_YIQ (integer)
imagick::COLORSPACE_YPBPR (integer)
imagick::COLORSPACE_YUV (integer)
imagick::COLORSPACE_CMYK (integer)
imagick::COLORSPACE_SRGB (integer)
imagick::COLORSPACE_HSB (integer)
imagick::COLORSPACE_HSL (integer)
imagick::COLORSPACE_HWB (integer)
imagick::COLORSPACE_REC601LUMA (integer)
imagick::COLORSPACE_REC709LUMA (integer)
imagick::COLORSPACE_LOG (integer)

Virtual Pixel Method constants

imagick::VIRTUALPIXELMETHOD_UNDEFINED (integer)
imagick::VIRTUALPIXELMETHOD_BACKGROUND (integer)
imagick::VIRTUALPIXELMETHOD_CONSTANT (integer)
imagick::VIRTUALPIXELMETHOD_EDGE (integer)
imagick::VIRTUALPIXELMETHOD_MIRROR (integer)
imagick::VIRTUALPIXELMETHOD_TILE (integer)
imagick::VIRTUALPIXELMETHOD_TRANSPARENT (integer)

Preview constants

imagick::PREVIEW_UNDEFINED (integer)
imagick::PREVIEW_ROTATE (integer)
imagick::PREVIEW_SHEAR (integer)
imagick::PREVIEW_ROLL (integer)
imagick::PREVIEW_HUE (integer)
imagick::PREVIEW_SATURATION (integer)
imagick::PREVIEW_BRIGHTNESS (integer)
imagick::PREVIEW_GAMMA (integer)
imagick::PREVIEW_SPIFF (integer)
imagick::PREVIEW_DULL (integer)
imagick::PREVIEW_GRAYSCALE (integer)
imagick::PREVIEW_QUANTIZE (integer)
imagick::PREVIEW_DESPECKLE (integer)
imagick::PREVIEW_REDUCENOISE (integer)
imagick::PREVIEW_ADDNOISE (integer)
imagick::PREVIEW_SHARPEN (integer)
imagick::PREVIEW_BLUR (integer)
imagick::PREVIEW_THRESHOLD (integer)
imagick::PREVIEW_EDGEDETECT (integer)
imagick::PREVIEW_SPREAD (integer)
imagick::PREVIEW_SOLARIZE (integer)
imagick::PREVIEW_SHADE (integer)
imagick::PREVIEW_RAISE (integer)
imagick::PREVIEW_SEGMENT (integer)
imagick::PREVIEW_SWIRL (integer)
imagick::PREVIEW_IMPLODE (integer)
imagick::PREVIEW_WAVE (integer)
imagick::PREVIEW_OILPAINT (integer)
imagick::PREVIEW_CHARCOALDRAWING (integer)
imagick::PREVIEW_JPEG (integer)

Rendering Intent constants

imagick::RENDERINGINTENT_UNDEFINED (integer)
imagick::RENDERINGINTENT_SATURATION (integer)
imagick::RENDERINGINTENT_PERCEPTUAL (integer)
imagick::RENDERINGINTENT_ABSOLUTE (integer)
imagick::RENDERINGINTENT_RELATIVE (integer)

Interlace constants (imagick::INTERLACE_GIF, imagick::INTERLACE_JPEG, imagick::INTERLACE_PNG are only available if Imagick is compiled against Imagemagick 6.3.5 or newer)

imagick::INTERLACE_UNDEFINED (integer)
imagick::INTERLACE_NO (integer)
imagick::INTERLACE_LINE (integer)
imagick::INTERLACE_PLANE (integer)
imagick::INTERLACE_PARTITION (integer)
imagick::INTERLACE_JPEG (integer)
imagick::INTERLACE_GIF (integer)
imagick::INTERLACE_PNG (integer)

Fillrule constants

imagick::FILLRULE_UNDEFINED (integer)
imagick::FILLRULE_EVENODD (integer)
imagick::FILLRULE_NONZERO (integer)

Pathunit constants

imagick::PATHUNITS_UNDEFINED (integer)
imagick::PATHUNITS_USERSPACE (integer)
imagick::PATHUNITS_USERSPACEONUSE (integer)
imagick::PATHUNITS_OBJECTBOUNDINGBOX (integer)

Linecap constants

imagick::LINECAP_UNDEFINED (integer)
imagick::LINECAP_BUTT (integer)
imagick::LINECAP_ROUND (integer)
imagick::LINECAP_SQUARE (integer)

Line Join constants

imagick::LINEJOIN_UNDEFINED (integer)
imagick::LINEJOIN_MITER (integer)
imagick::LINEJOIN_ROUND (integer)
imagick::LINEJOIN_BEVEL (integer)

Resourcetype constants

imagick::RESOURCETYPE_UNDEFINED (integer)
imagick::RESOURCETYPE_AREA (integer)
imagick::RESOURCETYPE_DISK (integer)
imagick::RESOURCETYPE_FILE (integer)
imagick::RESOURCETYPE_MAP (integer)
imagick::RESOURCETYPE_MEMORY (integer)

Layer Method constants (available if compiled against ImageMagick 6.3.3 or later)

imagick::LAYERMETHOD_UNDEFINED (integer)
imagick::LAYERMETHOD_COALESCE (integer)
imagick::LAYERMETHOD_COMPAREANY (integer)
imagick::LAYERMETHOD_COMPARECLEAR (integer)
imagick::LAYERMETHOD_COMPAREOVERLAY (integer)
imagick::LAYERMETHOD_DISPOSE (integer)
imagick::LAYERMETHOD_OPTIMIZE (integer)
imagick::LAYERMETHOD_OPTIMIZEIMAGE (integer)
imagick::LAYERMETHOD_OPTIMIZEPLUS (integer)
imagick::LAYERMETHOD_OPTIMIZETRANS (integer)
imagick::LAYERMETHOD_REMOVEDUPS (integer)
imagick::LAYERMETHOD_REMOVEZERO (integer)
imagick::LAYERMETHOD_COMPOSITE (integer)

Orientation constants (available if compiled against ImageMagick 6.3.4 or later)

imagick::ORIENTATION_UNDEFINED (integer)
imagick::ORIENTATION_TOPLEFT (integer)
imagick::ORIENTATION_TOPRIGHT (integer)
imagick::ORIENTATION_BOTTOMRIGHT (integer)
imagick::ORIENTATION_BOTTOMLEFT (integer)
imagick::ORIENTATION_LEFTTOP (integer)
imagick::ORIENTATION_RIGHTTOP (integer)
imagick::ORIENTATION_RIGHTBOTTOM (integer)
imagick::ORIENTATION_LEFTBOTTOM (integer)

Distortion constants (available if compiled against ImageMagick 6.3.6 or later)

imagick::DISTORTION_UNDEFINED (integer)
imagick::DISTORTION_AFFINE (integer)
imagick::DISTORTION_AFFINEPROJECTION (integer)
imagick::DISTORTION_ARC (integer)
imagick::DISTORTION_BILINEAR (integer)
imagick::DISTORTION_PERSPECTIVE (integer)
imagick::DISTORTION_PERSPECTIVEPROJECTION (integer)
imagick::DISTORTION_SCALEROTATETRANSLATE (integer)
이전 | 위로 | 다음
LXVI. Imagick Image Library | 처음으로 | Installation


Imagick

(No version information available, might be only in CVS)

Imagick -- Imagick Class

요약

   class Imagick implements Iterator, Traversable

Image methods and global methods

The Imagick class has the ability to hold and operate on multiple images simultaneously. This is achieved through an internal stack. There is always an internal pointer that points at the current image. Some functions operate on all images in the Imagick class, but most operate only on the current image in the internal stack. As a convention, method names can contain the word Image to denote they affect only the current image in the stack.

Class Methods

Because there are so many methods, here is a handy list of methods, somewhat reduced to their general purpose:

표 140. Class methods by purpose

Image effects | Get methods | Set methods | Read/write images | Other
adaptiveBlurImage | getCompression | setBackgroundColor | __construct | clear
adaptiveResizeImage | getFilename | setCompressionQuality | addImage | clone
adaptiveSharpenImage | getFormat | setCompression | appendImages | current
adaptiveTresholdImage | getImageBackgroundColor | setFilename | getFilename | destroy
addNoiseImage | getImageBlob | setFormat | getFormat | getCopyright
affinetransformimage | getImageBluePrimary | setImageBackgroundColor | getImageFilename | getHomeURL
annotateImage | getImageBorderColor | setFirstIterator | getImageFormat | commentImage
averageImages | getImageChannelDepth | setImageBias | getImage | getNumberImages
blackThresholdImage | getImageChannelDistortion | setImageBluePrimary | setImageFilename | getReleaseDate
blurImage | getImageChannelExtrema | setImageBorderColor | setImageFormat | getVersion
borderImage | getImageChannelMean | setImageChannelDepth | readImageFile | hasNextImage
charcoalImage | getImageChannelStatistics | setImageColormapColor | readImage | hasPreviousImage
chopImage | getImageColormapColor | setImageColorSpace | writeImages | labelImage
clipImage | getImageColorspace | setImageCompose | writeImage | newImage
clipPathImage | getImageColors | setImageCompression |  | newPseudoImage
coalesceImages | getImageCompose | setImageDelay |  | nextImage
colorFloodFillImage | getImageDelay | setImageDepth |  | pingImageBlob
colorizeImage | getImageDepth | setImageDispose |  | pingImageFile
combineImages | getImageDispose | setImageDispose |  | pingImage
compareImageChannels | getImageDistortion | setImageExtent |  | previousImage
compareImageLayers | getImageExtrema | setImageFilename |  | profileImage
compositeImage | getImageFilename | setImageFormat |  | queryFormats
contrastImage | getImageFormat | setImageGamma |  | removeImageProfile
constrastStretchImage | getImageGamma | setImageGreenPrimary |  | removeImage
convolveImage | getImageGeometry | setImageIndex |  | setFirstIterator
cropImage | getImageGreenPrimary | setImageInterpolateMethod |  | setImageIndex
cycleColormapImage | getImageHeight | setImageIterations |  | valid
deconstructImages | getImageHistogram | setImageMatteColor |  |
drawImage | getImageIndex | setImageMatte |  |
edgeImage | getImageInterlaceScheme | setImagePage |  |
embossImage | getImageInterpolateMethod | setImageProfile |  |
enhanceImage | getImageIterations | setImageProperty |  |
equalizeImage | getImageMatteColor | setImageRedPrimary |  |
evaluateImage | getImageMatte | setImageRenderingIntent |  |
flattenImages | getImagePage | setImageResolution |  |
flipImage | getImagePixelColor | setImageScene |  |
flopImage | getImageProfile | setImageTicksPerSecond |  |
imageImage | getImageProperty | setImageType |  |
fxImage | getImageRedPrimary | setImageUnits |  |
gammaImage | getImageRegion | setImageVirtualPixelMethod |  |
gaussianBlurImage | getImageRenderingIntent | setImageWhitepoint |  |
implodeImage | getImageResolution | setInterlaceScheme |  |
levelImage | getImageScene | setOption |  |
linearStretchImage | getImageSignature | setPage |  |
magnifyImage | getImageTicksPerSecond | setResolution |  |
matteFloodFilleImage | getImageTotalInkDensity | setResourceLimit |  |
medianFilterImage | getImageType | setSamplingFactors |  |
minifyImage | getImageUnits | setSizeOffset |  |
modulateImage | getImageVirtualPixelMethod | setSize |  |
montageImage | getImageWhitepoint | setType |  |
morphImages | getImageWidth |  |  |
mosaicImages | getImage |  |  |
motionBlurImage | getInterlaceScheme |  |  |
negateImage | getNumberImages |  |  |
normalizeImage | getOption |  |  |
oilPaintImage | getPackageName |  |  |
optimizeImageLayers | getPage |  |  |
paintOpaqueImage | getPixelIterator |  |  |
paintTransparentImage | getPixelRegionIterator |  |  |
posterizeImage | getQuantumDepth |  |  |
radialBlurImage | getQuantumRange |  |  |
raiseImage | getResourceLimit |  |  |
randomThresholdImage | getResource |  |  |
reduceNoiseImage | getSamplingFactors |  |  |
render | getSizeOffset |  |  |
resampleImage | getSize |  |  |
resizeImage | identifyImage |  |  |
rollImage | getImageSize |  |  |
rotateImage |  |  |  |
sampleImage |  |  |  |
scaleImage |  |  |  |
separateImageChannel |  |  |  |
sepiaToneImage |  |  |  |
shadeImage |  |  |  |
shadowImage |  |  |  |
sharpenImage |  |  |  |
shaveImage |  |  |  |
shearImage |  |  |  |
sigmoidalContrastImage |  |  |  |
sketchImage |  |  |  |
solarizeImage |  |  |  |
spliceImage |  |  |  |
spreadImage |  |  |  |
steganoImage |  |  |  |
stereoImage |  |  |  |
stripImage |  |  |  |
swirlImage |  |  |  |
textureImage |  |  |  |
thresholdImage |  |  |  |
thumbnailImage |  |  |  |
tintImage |  |  |  |
transverseImage |  |  |  |
trimImage |  |  |  |
uniqueImageColors |  |  |  |
unsharpMaskImage |  |  |  |
vignetteImage |  |  |  |
waveImage |  |  |  |
whiteThresholdImage |  |  |  |

이전 | 위로 | 다음
Installation | 처음으로 | Imagick::adaptiveBlurImage


Installation

(No version information available, might be only in CVS)

Installation -- Installing the Imagick extension

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/imagick.

참고: The official name of this extension is imagick.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

Installation requirements on other platforms

PHP >= 5.2.1 and ImageMagick >= 6.2.4 is required. The amount of formats supported is by Imagick is entirely dependent upon the amount of formats supported by your ImageMagick installation. For example, Imagemagick requires ghostscript to conduct PDF operations.

Installation requirements on Windows

Version information does not differ from that above. There are binaries available from http://imagemagick.org/ so that you can load this extension on Windows without need for a compiler.

이전 | 위로 | 다음
Constants | 처음으로 | Imagick


부록 I. php.ini directives

차례

List of php.ini directives
Description of core php.ini directives

List of php.ini directives

This list includes the php.ini directives you can set to configure your PHP setup.

표 I.1. Configuration options

Name | Default | Changeable | Changelog
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0. Removed in PHP 6.0.0.
allow_url_fopen | "1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.3.4. PHP_INI_SYSTEM in PHP < 6. Available since PHP 4.0.4.
allow_url_include | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 5. Available since PHP 5.2.0.
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Available since PHP 4.1.0.
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in APC <= 3.0.12. Available since APC 3.0.0.
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM in APC 2. PHP_INI_ALL in APC <= 3.0.12.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Available since APC 3.0.7.
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Available since APC 3.0.6.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.include_once_override | "0" | PHP_INI_SYSTEM | Available since APC 3.0.12.
apc.localcache | "0" | PHP_INI_SYSTEM | Available since APC 3.0.14.
apc.localcache.size | "512" | PHP_INI_SYSTEM | Available since APC 3.0.14.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Available since APC 3.0.7.
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in APC 2. Removed in APC 3.0.13.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Available since APC 3.0.11.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Available since APC 3.0.13.
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "30" | PHP_INI_SYSTEM |
apc.slam_defense | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.stat | "1" | PHP_INI_SYSTEM | Available since APC 3.0.10.
apc.stat_ctime | "0" | PHP_INI_SYSTEM | Available since APC 3.0.13.
apc.ttl | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.write_lock | "1" | PHP_INI_SYSTEM | Available since APC 3.0.11.
apd.bitmask | "0" | PHP_INI_ALL | Removed in apd 0.9.
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL | Available since apd 0.9.
arg_separator | "&" | PHP_INI_ALL | Removed in PHP 4.0.6.
arg_separator.input | "&" | PHP_INI_PERDIR | Available since PHP 4.0.5.
arg_separator.output | "&" | PHP_INI_ALL | Available since PHP 4.0.5.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0.
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
async_send | "0" | PHP_INI_ALL | Available since PHP 4.2.0. Removed in PHP 4.3.0.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
auto_detect_line_endings | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
auto_globals_jit | "1" | PHP_INI_PERDIR | Available since PHP 5.0.0.
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
axis2.client_home | "~/work/axisc/c/deply" | PHP_INI_ALL |
axis2.enable_exception | "1" | PHP_INI_ALL |
axis2.enable_trace | "1" | PHP_INI_ALL |
axis2.log_path | "/tmp" | PHP_INI_ALL |
bcmath.scale | "0" | PHP_INI_ALL |
bcompiler.enabled | "1" | PHP_INI_ALL | Available since bcompiler 0.8.
birdstep.max_links | "-1" | PHP_INI_ALL | Available since PHP 4.2.0.
blenc.key_file | "/usr/local/etc/blenckeys" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Available since PHP 5.2.1.
cgi.discard_path | "0" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Available since PHP 4.3.0.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Available since PHP 4.2.0.
cgi.nph | "0" | PHP_INI_ALL | Available since PHP 4.3.5.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Available since PHP 4.2.0.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
child_terminate | "0" | PHP_INI_ALL | Available since PHP 4.0.5.
coin_acceptor.autoreset | "On" | PHP_INI_ALL | Removed in coin_acceptor 0.2.
coin_acceptor.auto_initialize | "Off" | PHP_INI_ALL | Available since coin_acceptor 0.2.
coin_acceptor.auto_reset | "On" | PHP_INI_ALL | Available since coin_acceptor 0.2.
coin_acceptor.command_function | "Off" | PHP_INI_ALL | Available since coin_acceptor 0.3.
coin_acceptor.delay | "53132" | PHP_INI_ALL | Removed in coin_acceptor 0.2.
coin_acceptor.delay_coins | "53132" | PHP_INI_ALL | Available since coin_acceptor 0.2.
coin_acceptor.delay_prom | "55748" | PHP_INI_ALL | Available since coin_acceptor 0.2.
coin_acceptor.device | "/dev/ttyS1" | PHP_INI_ALL | Removed in coin_acceptor 0.2.
coin_acceptor.lock_on_close | "Off" | PHP_INI_ALL | Available since coin_acceptor 0.2.
coin_acceptor.start_unlocked | "On" | PHP_INI_ALL | Available since coin_acceptor 0.2.
com.allow_dcom | "0" | PHP_INI_SYSTEM | Available since PHP 4.0.5.
com.autoregister_casesensitive | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.autoregister_typelib | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.autoregister_verbose | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP 4. Available since PHP 4.1.0.
com.code_page | "" | PHP_INI_ALL | Available since PHP 5.0.0.
com.typelib_file | "" | PHP_INI_SYSTEM | Available since PHP 4.0.5.
crack.default_dictionary | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM in crack <= 0.2. Available since PHP 4.0.5. Removed in PHP 5.0.0.
daffodildb.default_host | "localhost" | PHP_INI_ALL |
daffodildb.default_password | "daffodil" | PHP_INI_ALL |
daffodildb.default_socket | NULL | PHP_INI_ALL |
daffodildb.default_user | "DAFFODIL" | PHP_INI_ALL |
daffodildb.port | "3456" | PHP_INI_ALL |
date.default_latitude | "31.7667" | PHP_INI_ALL | Available since PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Available since PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Available since PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Available since PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Available since PHP 5.1.0.
dba.default_handler | "" | PHP_INI_ALL | Available since PHP 4.3.3.
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Available since PHP 4.3.0. Removed in PHP 5.1.0.
default_charset | "" | PHP_INI_ALL |
default_mimetype | "text/html" | PHP_INI_ALL |
default_socket_timeout | "60" | PHP_INI_ALL | Available since PHP 4.3.0.
define_syslog_variables | "0" | PHP_INI_ALL |
detect_unicode | "1" | PHP_INI_ALL | Available since PHP 5.1.0. Removed in PHP 6.0.0.
disable_classes | "" | php.ini only | Available since PHP 4.3.2.
disable_functions | "" | php.ini only | Available since PHP 4.0.1.
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "0" | PHP_INI_ALL | Available since PHP 4.0.3.
docref_ext | "" | PHP_INI_ALL | Available since PHP 4.3.2.
docref_root | "" | PHP_INI_ALL | Available since PHP 4.3.0.
doc_root | NULL | PHP_INI_SYSTEM |
enable_dl | "1" | PHP_INI_SYSTEM | Removed in PHP 6.0.0.
engine | "1" | PHP_INI_ALL | Available since PHP 4.0.5.
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
error_prepend_string | NULL | PHP_INI_ALL |
error_reporting | NULL | PHP_INI_ALL |
etpan.default.charset | "utf-8" | PHP_INI_ALL |
etpan.default.protocol | "imap" | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Available since PHP 4.3.0.
expect.logfile | "" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.timeout | "10" | PHP_INI_ALL |
expose_php | "1" | php.ini only |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Available since PHP 4.3.0.
fastcgi.logging | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 5.2.0. Available since PHP 4.4.0. Removed in PHP 5.0.0.
fbsql.allow_persistant | "1" | PHP_INI_SYSTEM | Available since PHP 4.0.6. Removed in PHP 4.2.0.
fbsql.allow_persistent | "1" | PHP_INI_SYSTEM | Available since PHP 4.2.0.
fbsql.autocommit | "1" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.batchSize | "1000" | PHP_INI_SYSTEM | Available since PHP 4.2.0. Removed in PHP 5.1.0.
fbsql.batchsize | "1000" | PHP_INI_ALL | Available since PHP 5.1.0.
fbsql.default_database | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_database_password | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_host | NULL | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_password | "" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.default_user | "_SYSTEM" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.generate_warnings | "0" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_connections | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_links | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.max_results | "128" | PHP_INI_SYSTEM | Available since PHP 4.0.6.
fbsql.mbatchSize | "1000" | PHP_INI_SYSTEM | Available since PHP 4.0.6. Removed in PHP 4.2.0.
fbsql.show_timestamp_decimals | "0" | PHP_INI_SYSTEM | Available since PHP 5.1.5.
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.2.3. Available since PHP 4.0.3.
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL in filter <= 0.9.4. Available since PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL in filter <= 0.9.4. Available since PHP 5.2.0.
from | "" | PHP_INI_ALL |
gd.jpeg_ignore_warning | "0" | PHP_INI_ALL | Available since PHP 5.1.3.
geoip.custom_directory | NULL | PHP_INI_ALL | Available since geoip 1.0.1.
geoip.database_standard | "GeoIP.dat" | PHP_INI_ALL | Removed in geoip 1.0.1.
gpc_order | "GPC" | PHP_INI_ALL | Removed in PHP 5.0.0.
hidef.ini_path | (char*)default_ini_path | PHP_INI_SYSTEM |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Removed in PHP 6.0.0.
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.0.2.
htscanner.config_file | ".htaccess" | PHP_INI_SYSTEM |
htscanner.default_docroot | "/" | PHP_INI_SYSTEM |
htscanner.default_ttl | "300" | PHP_INI_SYSTEM | Available since htscanner 0.6.0.
htscanner.stop_on_error | "0" | PHP_INI_SYSTEM | Available since htscanner 0.7.0.
http.allowed_methods | "" | PHP_INI_ALL | Available since pecl_http 0.4.0. Removed in pecl_http 1.0.0.
http.allowed_methods_log | "" | PHP_INI_ALL | Available since pecl_http 0.12.0. Removed in pecl_http 1.0.0.
http.cache_log | "" | PHP_INI_ALL | Available since pecl_http 0.8.0. Removed in pecl_http 1.0.0.
http.composite_log | "" | PHP_INI_ALL | Available since pecl_http 0.12.0. Removed in pecl_http 1.0.0.
http.etag.mode | "MD5" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.etag_mode | "MD5" | PHP_INI_ALL | Available since pecl_http 0.12.0. Removed in pecl_http 1.0.0.
http.force_exit | "1" | PHP_INI_ALL | Available since pecl_http 0.18.0.
http.log.allowed_methods | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.log.cache | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.log.composite | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.log.not_found | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.log.redirect | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.ob_deflate_auto | "0" | PHP_INI_PERDIR | Available since pecl_http 0.21.0. Removed in pecl_http 1.0.0.
http.ob_deflate_flags | "0" | PHP_INI_ALL | Available since pecl_http 0.21.0. Removed in pecl_http 1.0.0.
http.ob_inflate_auto | "0" | PHP_INI_PERDIR | Available since pecl_http 0.21.0. Removed in pecl_http 1.0.0.
http.ob_inflate_flags | "0" | PHP_INI_ALL | Available since pecl_http 0.21.0. Removed in pecl_http 1.0.0.
http.only_exceptions | "0" | PHP_INI_ALL | Available since pecl_http 0.11.0.
http.persistent.handles.ident | "GLOBAL" | PHP_INI_ALL | Available since pecl_http 1.5.0.
http.persistent.handles.limit | "-1" | PHP_INI_SYSTEM | Available since pecl_http 1.5.0.
http.redirect_log | "" | PHP_INI_ALL | Available since pecl_http 0.12.0. Removed in pecl_http 1.0.0.
http.request.datashare.connect | "0" | PHP_INI_SYSTEM | Available since pecl_http 1.3.0.
http.request.datashare.cookie | "0" | PHP_INI_SYSTEM | Available since pecl_http 1.3.0.
http.request.datashare.dns | "1" | PHP_INI_SYSTEM | Available since pecl_http 1.3.0.
http.request.datashare.ssl | "0" | PHP_INI_SYSTEM | Available since pecl_http 1.3.0.
http.request.methods.allowed | "" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.request.methods.custom | "" | PHP_INI_PERDIR | Available since pecl_http 1.0.0.
http.send.deflate.start_auto | "0" | PHP_INI_PERDIR | Available since pecl_http 1.0.0.
http.send.deflate.start_flags | "0" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.send.inflate.start_auto | "0" | PHP_INI_PERDIR | Available since pecl_http 1.0.0.
http.send.inflate.start_flags | "0" | PHP_INI_ALL | Available since pecl_http 1.0.0.
http.send.not_found_404 | "1" | PHP_INI_ALL | Available since pecl_http 1.0.0.
hyerwave.allow_persistent | "0" | PHP_INI_SYSTEM | Removed in PHP 4.3.2.
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.2. Removed in PHP 5.0.0.
hyperwave.default_port | "418" | PHP_INI_ALL | Removed in PHP 5.0.0.
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
ibase.default_db | NULL | PHP_INI_SYSTEM | Available since PHP 5.0.0.
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_user | NULL | PHP_INI_ALL |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2.
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | Available since PHP 4.0.5.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | Available since PHP 4.0.5.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | Available since PHP 4.0.5.
ifx.allow_persistent | "1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.blobinfile | "1" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.byteasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.charasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.default_host | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_password | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.default_user | NULL | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.max_links | "-1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.max_persistent | "-1" | PHP_INI_SYSTEM | Removed in PHP 5.2.1.
ifx.nullformat | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ifx.textasvarchar | "0" | PHP_INI_ALL | Removed in PHP 5.2.1.
ignore_repeated_errors | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
ignore_repeated_source | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
ignore_user_abort | "0" | PHP_INI_ALL |
imlib2.font_cache_max_size | "524288" | PHP_INI_ALL |
imlib2.font_path | "/usr/share/php/fonts/" | PHP_INI_ALL |
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR in PHP <= 4.2.3.
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.array_index_start | "1" | PHP_INI_ALL | Available since ingres 1.4.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Available since ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Available since ingres 1.1.
ingres.default_database | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.default_password | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.default_user | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.max_links | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.2. Removed in PHP 5.1.0.
ingres.report_db_warnings | "1" | PHP_INI_ALL | Available since ingres 1.1.
ingres.timeout | "-1" | PHP_INI_ALL | Available since ingres 1.4.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Available since ingres 1.2.1.
ircg.control_user | "nobody" | PHP_INI_ALL | Available since PHP 5.0.0. Removed in PHP 5.1.0.
ircg.keep_alive_interval | "60" | PHP_INI_ALL | Available since PHP 5.0.0. Removed in PHP 5.1.0.
ircg.max_format_message_sets | "12" | PHP_INI_ALL | Available since PHP 5.0.0. Removed in PHP 5.1.0.
ircg.shared_mem_size | "6000000" | PHP_INI_ALL | Available since PHP 5.0.0. Removed in PHP 5.1.0.
ircg.work_dir | "/tmp/ircg" | PHP_INI_ALL | Available since PHP 5.0.0. Removed in PHP 5.1.0.
last_modified | "0" | PHP_INI_ALL | Available since PHP 4.0.5.
ldap.base_dn | NULL | PHP_INI_ALL | Removed in PHP 4.2.0.
ldap.max_links | "-1" | PHP_INI_SYSTEM |
log.dbm_dir | "" | PHP_INI_ALL | Removed in PHP 4.0.1.
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | Available since PHP 4.3.0.
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Removed in PHP 6.0.0.
magic_quotes_runtime | "0" | PHP_INI_ALL | Removed in PHP 6.0.0.
magic_quotes_sybase | "0" | PHP_INI_ALL | Removed in PHP 6.0.0.
mail.force_extra_parameters | NULL | php.ini only | Available since PHP 5.0.0.
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Available since PHP 4.1.0. Removed in PHP 4.2.0.
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |
max_execution_time | "30" | PHP_INI_ALL |
max_input_nesting_level | "64" | PHP_INI_PERDIR | Available since PHP 4.4.8. Removed in PHP 5.0.0.
max_input_time | "-1" | PHP_INI_PERDIR | Available since PHP 4.3.0.
mbstring.detect_order | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Available since PHP 4.3.0.
mbstring.func_overload | "0" | PHP_INI_PERDIR | PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.2.0.
mbstring.http_input | "pass" | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.http_output | "pass" | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mbstring.language | "neutral" | PHP_INI_PERDIR | Available since PHP 4.3.0.
mbstring.script_encoding | NULL | PHP_INI_ALL | Available since PHP 4.3.0.
mbstring.strict_detection | "0" | PHP_INI_ALL | Available since PHP 5.1.2.
mbstring.substitute_character | NULL | PHP_INI_ALL | Available since PHP 4.0.6.
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Available since PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Available since PHP 4.0.2.
memcache.allow_failover | "1" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.chunk_size | "8192" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.hash_function | "crc32" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Available since memcache 2.1.0.
memory_limit | "128M" | PHP_INI_ALL |
mime_magic.debug | "0" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Available since PHP 4.3.0.
msql.allow_persistent | "1" | PHP_INI_ALL |
msql.max_links | "-1" | PHP_INI_ALL |
msql.max_persistent | "-1" | PHP_INI_ALL |
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.batchsize | "0" | PHP_INI_ALL | Available since PHP 4.0.4.
mssql.charset | "" | PHP_INI_ALL | Available since PHP 5.1.2.
mssql.compatability_mode | "0" | PHP_INI_ALL |
mssql.connect_timeout | "5" | PHP_INI_ALL |
mssql.datetimeconvert | "1" | PHP_INI_ALL | Available since PHP 4.2.0.
mssql.max_links | "-1" | PHP_INI_SYSTEM |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM |
mssql.max_procs | "-1" | PHP_INI_ALL | Available since PHP 4.3.0.
mssql.min_error_severity | "10" | PHP_INI_ALL |
mssql.min_message_severity | "10" | PHP_INI_ALL |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.0.
mssql.textlimit | "-1" | PHP_INI_ALL |
mssql.textsize | "-1" | PHP_INI_ALL |
mssql.timeout | "60" | PHP_INI_ALL | Available since PHP 4.1.0.
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM | Available since PHP 6.0.0.
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.cache_size | "2000" | PHP_INI_SYSTEM | Available since PHP 6.0.0.
mysql.connect_timeout | "60" | PHP_INI_ALL | PHP_INI_SYSTEM in PHP <= 4.3.2. Available since PHP 4.3.0.
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL | Available since PHP 4.0.1.
mysql.default_user | NULL | PHP_INI_ALL |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
mysqli.allow_local_infile | "1" | PHP_INI_SYSTEM | Available since PHP 6.0.0.
mysqli.cache_size | "2000" | PHP_INI_SYSTEM | Available since PHP 6.0.0.
mysqli.default_host | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
mysqli.default_port | "3306" | PHP_INI_ALL | Available since PHP 5.0.0.
mysqli.default_pw | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
mysqli.default_socket | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
mysqli.default_user | NULL | PHP_INI_ALL | Available since PHP 5.0.0.
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
mysqlnd.collect_statistics | "1" | PHP_INI_SYSTEM | Available since PHP 6.0.0.
namazu.debugmode | "0" | PHP_INI_ALL |
namazu.lang | NULL | PHP_INI_ALL |
namazu.loggingmode | "0" | PHP_INI_ALL |
namazu.sortmethod | NULL | PHP_INI_ALL |
namazu.sortorder | NULL | PHP_INI_ALL |
nsapi.read_timeout | "60" | PHP_INI_ALL | Available since PHP 4.3.3.
oci8.default_prefetch | "10" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.old_oci_close_semantics | "0" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.privileged_connect | "0" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.default_db | NULL | PHP_INI_ALL |
odbc.default_pw | NULL | PHP_INI_ALL |
odbc.default_user | NULL | PHP_INI_ALL |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbtp.datetime_format | "object" | PHP_INI_ALL |
odbtp.detach_default_queries | "0" | PHP_INI_ALL |
odbtp.guid_format | "string" | PHP_INI_ALL | Available since odbtp 1.1.3.
odbtp.interface_file | "/usr/local/share/odbtp.conf" | PHP_INI_ALL |
odbtp.truncation_errors | "1" | PHP_INI_ALL |
opendirectory.default_separator | "/" | PHP_INI_ALL | Removed in opendirectory 0.2.2.
opendirectory.max_refs | "-1" | PHP_INI_ALL |
opendirectory.separator | "/" | PHP_INI_ALL | Available since opendirectory 0.2.2.
open_basedir | NULL | PHP_INI_ALL | PHP_INI_SYSTEM in PHP < 6.
oracle.allow_persistent | "-1" | PHP_INI_ALL | Removed in PHP 5.1.0.
oracle.max_links | "-1" | PHP_INI_ALL | Removed in PHP 5.1.0.
oracle.max_persistent | "-1" | PHP_INI_ALL | Removed in PHP 5.1.0.
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Available since PHP 4.0.4.
pam.servicename | "php" | PHP_INI_ALL |
pcre.backtrack_limit | "100000" | PHP_INI_ALL | Available since PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Available since PHP 5.2.0.
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Available since PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Available since PHP 5.1.1. Removed in PHP 6.0.0.
pfpro.defaulthost | "test-payflow.verisign.com" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.defaultport | "443" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.defaulttimeout | "30" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxyaddress | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxylogon | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxypassword | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pfpro.proxyport | "" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 5.1.0.
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM | Available since PHP 4.2.0.
pgsql.ignore_notice | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
pgsql.log_notice | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
phar.extract_list | "" | PHP_INI_ALL | Available since phar 1.1.0.
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.0.3.
precision | "14" | PHP_INI_ALL |
printer.default_printer | "" | PHP_INI_ALL | Available since PHP 4.0.6. Removed in PHP 4.1.1.
python.append_path | "" | PHP_INI_ALL |
python.prepend_path | "." | PHP_INI_ALL |
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Available since PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Available since PHP 5.1.0.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Removed in PHP 6.0.0.
register_long_arrays | "1" | PHP_INI_PERDIR | Available since PHP 5.0.0. Removed in PHP 6.0.0.
report_memleaks | "1" | PHP_INI_ALL | Available since PHP 4.3.0.
report_zend_debug | "1" | PHP_INI_ALL | Available since PHP 5.0.0.
runkit.internal_override | "0" | PHP_INI_SYSTEM |
runkit.superglobal | "" | PHP_INI_PERDIR |
safe_mode | "0" | PHP_INI_SYSTEM | Removed in PHP 6.0.0.
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM | Removed in PHP 6.0.0.
safe_mode_exec_dir | "" | PHP_INI_SYSTEM | Removed in PHP 6.0.0.
safe_mode_gid | "0" | PHP_INI_SYSTEM | Available since PHP 4.1.0. Removed in PHP 6.0.0.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Available since PHP 4.1.0. Removed in PHP 6.0.0.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM | Removed in PHP 6.0.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
serialize_precision | "100" | PHP_INI_ALL | Available since PHP 4.3.2.
session.auto_start | "0" | PHP_INI_ALL |
session.bug_compat_42 | "1" | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 6.0.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 6.0.0.
session.cache_expire | "180" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_httponly | "" | PHP_INI_ALL | Available since PHP 5.2.0.
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_secure | "" | PHP_INI_ALL | Available since PHP 4.0.4.
session.entropy_file | "" | PHP_INI_ALL |
session.entropy_length | "0" | PHP_INI_ALL |
session.gc_dividend | "100" | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 4.3.2.
session.gc_divisor | "100" | PHP_INI_ALL | Available since PHP 4.3.2.
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.gc_probability | "1" | PHP_INI_ALL |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Available since PHP 5.0.0.
session.hash_function | "0" | PHP_INI_ALL | Available since PHP 5.0.0.
session.name | "PHPSESSID" | PHP_INI_ALL |
session.referer_check | "" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.save_path | "" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Available since PHP 4.3.0.
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.2.3. PHP_INI_PERDIR in PHP < 5. Available since PHP 4.0.3.
session_pgsql.create_table | "1" | PHP_INI_SYSTEM |
session_pgsql.db | "host=localhost dbname=php_session user=nobody" | PHP_INI_SYSTEM |
session_pgsql.disable | "0" | PHP_INI_SYSTEM |
session_pgsql.failover_mode | "0" | PHP_INI_SYSTEM |
session_pgsql.gc_interval | "3600" | PHP_INI_SYSTEM |
session_pgsql.keep_expired | "0" | PHP_INI_SYSTEM |
session_pgsql.sem_file_name | "/tmp/php_session_pgsql" | PHP_INI_SYSTEM |
session_pgsql.serializable | "0" | PHP_INI_SYSTEM |
session_pgsql.short_circuit | "0" | PHP_INI_SYSTEM |
session_pgsql.use_app_vars | "0" | PHP_INI_SYSTEM |
session_pgsql.vacuum_interval | "21600" | PHP_INI_SYSTEM |
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0.
simple_cvs.authMethod | "0" | PHP_INI_ALL |
simple_cvs.compressionLevel | "0" | PHP_INI_ALL |
simple_cvs.cvsRoot | "0" | PHP_INI_ALL |
simple_cvs.host | "0" | PHP_INI_ALL |
simple_cvs.moduleName | "0" | PHP_INI_ALL |
simple_cvs.userName | "0" | PHP_INI_ALL |
simple_cvs.workingDir | "0" | PHP_INI_ALL |
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Available since PHP 4.3.0.
soap.wsdl_cache | "1" | PHP_INI_ALL | Available since PHP 5.1.5.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Available since PHP 5.0.0.
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Available since PHP 5.0.0.
soap.wsdl_cache_limit | "5" | PHP_INI_ALL | Available since PHP 5.1.5.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Available since PHP 5.0.0.
sql.safe_mode | "0" | PHP_INI_SYSTEM |
sqlite.assoc_case | "0" | PHP_INI_ALL | Available since PHP 5.0.0.
sqlite.iso8859.locale | "1" | PHP_INI_ALL | Available since PHP 6.0.0.
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.compatability_mode | "0" | PHP_INI_ALL |
sybase.hostname | NULL | PHP_INI_ALL | Removed in PHP 4.0.2.
sybase.interface_file | "" | PHP_INI_ALL |
sybase.login_timeout | "0" | PHP_INI_ALL | Removed in PHP 4.0.2.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.min_client_severity | "10" | PHP_INI_ALL | Removed in PHP 4.0.2.
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.min_server_severity | "10" | PHP_INI_ALL | Removed in PHP 4.0.2.
sybase.timeout | "0" | PHP_INI_ALL | Removed in PHP 4.0.2.
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Available since PHP 4.3.0.
sybct.hostname | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.login_timeout | "-1" | PHP_INI_ALL | Available since PHP 4.0.2.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.min_client_severity | "10" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.min_server_severity | "10" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.packet_size | "0" | PHP_INI_ALL | Available since PHP 4.3.5.
sybct.timeout | "0" | PHP_INI_ALL | Available since PHP 4.0.2.
sysvshm.init_mem | "10000" | PHP_INI_ALL |
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR in PHP 5. Available since PHP 5.0.0.
tidy.default_config | "" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
track_errors | "0" | PHP_INI_ALL |
track_vars | "1" | PHP_INI_ALL | Removed in PHP 4.0.3.
unicode.fallback_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.filesystem_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.http_input_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.output_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.runtime_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.script_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.semantics | "0" | PHP_INI_SYSTEM | Available since PHP 6.0.0.
unicode.stream_encoding | "UTF-8" | PHP_INI_ALL | Available since PHP 6.0.0.
unserialize_callback_func | NULL | PHP_INI_ALL | Available since PHP 4.2.0.
uploadprogress.file.filename_template | "/tmp/upt_%s.txt" | PHP_INI_ALL |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Available since PHP 4.0.4.
user_agent | NULL | PHP_INI_ALL | Available since PHP 4.3.0.
user_dir | NULL | PHP_INI_SYSTEM |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM | Available since PHP 5.3.0.
valkyrie.auto_validate | "0" | PHP_INI_ALL |
valkyrie.config_path | NULL | PHP_INI_ALL |
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 5.0.5.
velocis.max_links | "-1" | PHP_INI_ALL | Removed in PHP 4.2.0.
vld.active | "0" | PHP_INI_SYSTEM |
vld.execute | "1" | PHP_INI_SYSTEM | Available since vld 0.8.0.
vld.skip_append | "0" | PHP_INI_SYSTEM | Available since vld 0.8.0.
vld.skip_prepend | "0" | PHP_INI_SYSTEM | Available since vld 0.8.0.
xbithack | "0" | PHP_INI_ALL | Available since PHP 4.0.5.
xdebug.auto_profile | "0" | PHP_INI_ALL | Removed in Xdebug 2.0.0.
xdebug.auto_profile_mode | "0" | PHP_INI_ALL | Removed in Xdebug 2.0.0.
xdebug.auto_trace | "0" | PHP_INI_ALL |
xdebug.collect_includes | "1" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.collect_params | "0" | PHP_INI_ALL |
xdebug.collect_return | "0" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.collect_vars | "0" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.default_enable | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in Xdebug 1.
xdebug.dump.COOKIE | NULL | PHP_INI_ALL |
xdebug.dump.ENV | NULL | PHP_INI_ALL |
xdebug.dump.FILES | NULL | PHP_INI_ALL |
xdebug.dump.GET | NULL | PHP_INI_ALL |
xdebug.dump.POST | NULL | PHP_INI_ALL |
xdebug.dump.REQUEST | NULL | PHP_INI_ALL |
xdebug.dump.SERVER | NULL | PHP_INI_ALL |
xdebug.dump.SESSION | NULL | PHP_INI_ALL |
xdebug.dump_globals | "1" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.dump_once | "1" | PHP_INI_ALL |
xdebug.dump_undefined | "0" | PHP_INI_ALL |
xdebug.extended_info | "1" | PHP_INI_SYSTEM | Available since Xdebug 2.0.0.
xdebug.idekey | "" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.manual_url | "http://www.php.net" | PHP_INI_ALL |
xdebug.max_nesting_level | "100" | PHP_INI_ALL |
xdebug.output_dir | "/tmp" | PHP_INI_PERDIR | PHP_INI_SYSTEM in Xdebug <= 1.2.0. Removed in Xdebug 2.0.0.
xdebug.profiler_aggregate | "0" | PHP_INI_PERDIR | Available since Xdebug 2.0.0.
xdebug.profiler_append | "0" | PHP_INI_PERDIR | Available since Xdebug 2.0.0.
xdebug.profiler_enable | "0" | PHP_INI_PERDIR | Available since Xdebug 2.0.0.
xdebug.profiler_enable_trigger | "0" | PHP_INI_PERDIR | Available since Xdebug 2.0.0.
xdebug.profiler_output_dir | "/tmp" | PHP_INI_PERDIR | Available since Xdebug 2.0.0.
xdebug.profiler_output_name | "cachegrind.out.%p" | PHP_INI_PERDIR | Available since Xdebug 2.0.0.
xdebug.remote_autostart | "0" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.remote_enable | "0" | PHP_INI_PERDIR |
xdebug.remote_handler | "dbgp" | PHP_INI_ALL |
xdebug.remote_host | "localhost" | PHP_INI_ALL |
xdebug.remote_log | "" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.remote_mode | "req" | PHP_INI_ALL |
xdebug.remote_port | "9000" | PHP_INI_ALL |
xdebug.show_exception_trace | "0" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.show_local_vars | "0" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.show_mem_delta | "0" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.trace_format | "0" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.trace_options | "0" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.trace_output_dir | "/tmp" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.trace_output_name | "trace.%c" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.var_display_max_children | "128" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.var_display_max_data | "512" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xdebug.var_display_max_depth | "3" | PHP_INI_ALL | Available since Xdebug 2.0.0.
xmlrpc_errors | "0" | PHP_INI_SYSTEM | Available since PHP 4.1.0.
xmlrpc_error_number | "0" | PHP_INI_ALL | Available since PHP 4.1.0.
xmms.path | "/usr/bin/xmms" | PHP_INI_ALL |
xmms.session | "0" | PHP_INI_ALL |
y2k_compliance | "1" | PHP_INI_ALL |
yami.response.timeout | "5" | PHP_INI_ALL | Available since yami 1.0.1.
yaz.keepalive | "120" | PHP_INI_ALL |
yaz.log_file | NULL | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 5.0.0.
yaz.log_mask | NULL | PHP_INI_ALL | Available since yaz 1.0.3.
yaz.max_links | "100" | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 5.0.0.
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Available since PHP 5.0.0. Removed in PHP 6.0.0.
zlib.output_compression | "0" | PHP_INI_ALL | Available since PHP 4.0.5.
zlib.output_compression_level | "-1" | PHP_INI_ALL | Available since PHP 4.3.0.
zlib.output_handler | "" | PHP_INI_ALL | Available since PHP 4.3.0.

표 I.2. Definition of PHP_INI_* constants

Constant | Value | Meaning
PHP_INI_USER | 1 | Entry can be set in user scripts or in Windows registry
PHP_INI_PERDIR | 2 | Entry can be set in php.ini, .htaccess or httpd.conf
PHP_INI_SYSTEM | 4 | Entry can be set in php.ini or httpd.conf
PHP_INI_ALL | 7 | Entry can be set anywhere

이전 | 위로 | 다음
H. Configure options | 처음으로 | Description of core php.ini directives


Description of core php.ini directives

This list includes the core php.ini directives you can set to configure your PHP setup. Directives handled by extensions are listed and detailed at the extension documentation pages respectively; Information on the session directives for example can be found at the sessions page.

Httpd Options

표 I.3. Httpd Options

Name | Default | Changeable | Changelog
async_send | "0" | PHP_INI_ALL |

Language Options

표 I.4. Language and Misc Configuration Options

Name | Default | Changeable | Changelog
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0.
precision | "14" | PHP_INI_ALL |
y2k_compliance | "1" | PHP_INI_ALL |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0.
expose_php | "1" | php.ini only |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Available since PHP 5.0.0.

위 설정 지시어에 대한 간단한 설명입니다.

short_open_tag boolean

Tells whether the short form (<? ?>) of PHP's open tag should be allowed. If you want to use PHP in combination with XML, you can disable this option in order to use <?xml ?> inline. Otherwise, you can print it with PHP, for example: <?php echo '<?xml version="1.0"'; ?>. Also if disabled, you must use the long form of the PHP open tag (<?php ?>).

참고: This directive also affects the shorthand <?=, which is identical to <? echo. Use of this shortcut requires short_open_tag to be on.

asp_tags boolean

Enables the use of ASP-like <% %> tags in addition to the usual <?php ?> tags. This includes the variable-value printing shorthand of <%= $value %>. For more information, see Escaping from HTML.

참고: Support for ASP-style tags was added in 3.0.4.

precision integer
The number of significant digits displayed in floating point numbers.
y2k_compliance boolean
Enforce year 2000 compliance (will cause problems with non-compliant browsers)
allow_call_time_pass_reference boolean

Whether to warn when arguments are passed by reference at function call time. This method is deprecated and is likely to be unsupported in future versions of PHP/Zend. The encouraged method of specifying which arguments should be passed by reference is in the function declaration. You're encouraged to try and turn this option Off and make sure your scripts work properly with it in order to ensure they will work with future versions of the language (you will receive a warning each time you use this feature).

Passing arguments by reference at function call time was deprecated for code cleanliness reason. Function can modify its argument in undocumented way if it didn't declared that the argument is passed by reference. To prevent side-effects it's better to specify which arguments are passed by reference in function declaration only.

See also References Explained.

expose_php boolean

Decides whether PHP may expose the fact that it is installed on the server (e.g. by adding its signature to the Web server header). It is no security threat in any way, but it makes it possible to determine whether you use PHP on your server or not.

zend.ze1_compatibility_mode boolean

Enable compatibility mode with Zend Engine 1 (PHP 4). It affects the cloning, casting (objects with no properties cast to FALSE or 0), and comparing of objects. In this mode, objects are passed by value instead of reference by default.

See also the section titled Migrating from PHP 4 to PHP 5.

Resource Limits

표 I.5. Resource Limits

Name | Default | Changeable | Changelog
memory_limit | "128M" | PHP_INI_ALL | "8M" before PHP 5.2.0, "16M" in PHP 5.2.0

위 설정 지시어에 대한 간단한 설명입니다.

memory_limit integer

This sets the maximum amount of memory in bytes that a script is allowed to allocate. This helps prevent poorly written scripts for eating up all available memory on a server. Note that to have no memory limit, set this directive to -1.

Prior to PHP 5.2.1, in order to use this directive it had to be enabled at compile time by using -enable-memory-limit in the configure line. This was also required to define the functions memory_get_usage() and memory_get_peak_usage().

integer 형이 사용될 때, 바이트로 값을 측정합니다. FAQ에 설명된 단축어를 사용할 수도 있습니다.

See also: max_execution_time.

Performance Tuning

표 I.6. Performance Tuning

Name | Default | Changeable | Changelog
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Available since PHP 5.1.0.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Available since PHP 5.1.0.

위 설정 지시어에 대한 간단한 설명입니다.

realpath_cache_size integer

Determines the size of the realpath cache to be used by PHP. This value should be increased on systems where PHP opens many files, to reflect the quantity of the file operations performed.

realpath_cache_ttl integer

Duration of time (in seconds) for which to cache realpath information for a given file or directory. For systems with rarely changing files, consider increasing the value.

Data Handling

표 I.7. Data Handling Configuration Options

Name | Default | Changeable | Changelog
track_vars | "On" | PHP_INI_?? |
arg_separator.output | "&" | PHP_INI_ALL | Available since PHP 4.0.5.
arg_separator.input | "&" | PHP_INI_PERDIR | Available since PHP 4.0.5.
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 5.0.5.
auto_globals_jit | "1" | PHP_INI_PERDIR | Available since PHP 5.0.0.
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
register_long_arrays | "1" | PHP_INI_PERDIR | Available since PHP 5.0.0.
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.0.3.
gpc_order | "GPC" | PHP_INI_ALL |
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "" | PHP_INI_ALL |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Available since PHP 4.1.0.
allow_webdav_methods | "0" | PHP_INI_PERDIR |

위 설정 지시어에 대한 간단한 설명입니다.

track_vars boolean

If enabled, then Environment, GET, POST, Cookie, and Server variables can be found in the global associative arrays $_ENV, $_GET, $_POST, $_COOKIE, and $_SERVER.

Note that as of PHP 4.0.3, track_vars is always turned on.

arg_separator.output string

The separator used in PHP generated URLs to separate arguments.

arg_separator.input string

List of separator(s) used by PHP to parse input URLs into variables.

참고: Every character in this directive is considered as separator!

variables_order string

Sets the order of the EGPCS (Environment, Get, Post, Cookie, and Server) variable parsing. For example, if variables_order is set to "SP" then PHP will create the superglobals $_SERVER and $_POST, but not create $_ENV, $_GET, and $_COOKIE. Setting to "" means no superglobals will be set.

If the deprecated register_globals directive is on (removed as of PHP 6.0.0), then variables_order also configures the order the ENV, GET, POST, COOKIE and SERVER variables are populated in global scope. So for example if variables_order is set to "EGPCS", register_globals is enabled, and both $_GET['action'] and $_POST['action'] are set, then $action will contain the value of $_POST['action'] as P comes after G in our example directive value.

주의

In both the CGI and FastCGI SAPIs, $_SERVER is also populated by values from the environment; S is always equivelant to ES regardless of the placement of E elsewhere in this directive.

참고: The content and order of $_REQUEST is also affected by this directive.

auto_globals_jit boolean

When enabled, the SERVER and ENV variables are created when they're first used (Just In Time) instead of when the script starts. If these variables are not used within a script, having this directive on will result in a performance gain.

The PHP directives register_globals, register_long_arrays, and register_argc_argv must be disabled for this directive to have any affect. Since PHP 5.1.3 it is not necessary to have register_argc_argv disabled.

register_globals boolean

Whether or not to register the EGPCS (Environment, GET, POST, Cookie, Server) variables as global variables.

As of » PHP 4.2.0, this directive defaults to off.

Please read the security chapter on Using register_globals for related information.

Please note that register_globals cannot be set at runtime (ini_set()). Although, you can use .htaccess if your host allows it as described above. An example .htaccess entry: php_flag register_globals off.

참고: register_globals is affected by the variables_order directive.

주의

This feature is DEPRECATED and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

register_argc_argv boolean

Tells PHP whether to declare the argv & argc variables (that would contain the GET information).

See also command line. Also, this directive became available in PHP 4.0.0 and was always "on" before that.

register_long_arrays boolean

Tells PHP whether or not to register the deprecated long $HTTP_*_VARS type predefined variables. When On (default), long predefined PHP variables like $HTTP_GET_VARS will be defined. If you're not using them, it's recommended to turn them off, for performance reasons. Instead, use the superglobal arrays, like $_GET.

This directive became available in PHP 5.0.0 and was dropped in PHP 6.0.0.

post_max_size integer

Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize.

If memory limit is enabled by your configure script, memory_limit also affects file uploading. Generally speaking, memory_limit should be larger than post_max_size.

integer 형이 사용될 때, 바이트로 값을 측정합니다. FAQ에 설명된 단축어를 사용할 수도 있습니다.

If the size of post data is greater than post_max_size, the $_POST and $_FILES superglobals are empty. This can be tracked in various ways, e.g. by passing the $_GET variable to the script processing the data, i.e. <form action="edit.php?processed=1">, and then checking if $_GET['processed'] is set.

gpc_order string

Set the order of GET/POST/COOKIE variable parsing. The default setting of this directive is "GPC". Setting this to "GP", for example, will cause PHP to completely ignore cookies and to overwrite any GET method variables with POST-method variables of the same name.

참고: This option is not available in PHP 4. Use variables_order instead.

auto_prepend_file string

Specifies the name of a file that is automatically parsed before the main file. The file is included as if it was called with the require() function, so include_path is used.

The special value none disables auto-prepending.

auto_append_file string

Specifies the name of a file that is automatically parsed after the main file. The file is included as if it was called with the require() function, so include_path is used.

The special value none disables auto-appending.

참고: If the script is terminated with exit(), auto-append will not occur.

default_mimetype string

default_charset string

As of 4.0.0, PHP always outputs a character encoding by default in the Content-type: header. To disable sending of the charset, simply set it to be empty.

always_populate_raw_post_data boolean

Always populate the $HTTP_RAW_POST_DATA containing the raw POST data. Otherwise, the variable is populated only with unrecognized MIME type of the data. However, the preferred method for accessing the raw POST data is php://input. $HTTP_RAW_POST_DATA is not available with enctype="multipart/form-data".

allow_webdav_methods boolean

Allow handling of WebDAV http requests within PHP scripts (eg. PROPFIND, PROPPATCH, MOVE, COPY, etc.). This directive does not exist as of PHP 4.3.2. If you want to get the post data of those requests, you have to set always_populate_raw_post_data as well.

See also: magic_quotes_gpc, magic_quotes_runtime, and magic_quotes_sybase.

Paths and Directories

표 I.8. Paths and Directories Configuration Options

Name | Default | Changeable | Changelog
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
extension | NULL | php.ini only |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Available since PHP 5.2.0.
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | Available since PHP 4.3.0. PHP_INI_ALL prior to PHP 5.2.1.
cgi.force_redirect | "1" | PHP_INI_SYSTEM | Available since PHP 4.2.0. PHP_INI_ALL prior to PHP 5.2.1.
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | Available since PHP 4.2.0. PHP_INI_ALL prior to PHP 5.2.1.
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.0. PHP_INI_ALL prior to PHP 5.2.1.
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Available since PHP 4.3.0.

위 설정 지시어에 대한 간단한 설명입니다.

include_path string

Specifies a list of directories where the require(), include(), fopen(), file(), readfile() and file_get_contents() functions look for files. The format is like the system's PATH environment variable: a list of directories separated with a colon in Unix or semicolon in Windows.

예 I.1. Unix include_path

include_path=".:/php/includes"

예 I.2. Windows include_path

include_path=".;c:\php\includes"

Using a . in the include path allows for relative includes as it means the current directory.

doc_root string

PHP's "root directory" on the server. Only used if non-empty. If PHP is configured with 안전 모드, no files outside this directory are served. If PHP was not compiled with FORCE_REDIRECT, you should set doc_root if you are running PHP as a CGI under any web server (other than IIS). The alternative is to use the cgi.force_redirect configuration below.

user_dir string

The base name of the directory used on a user's home directory for PHP files, for example public_html .

extension_dir string

In what directory PHP should look for dynamically loadable extensions. See also: enable_dl, and dl().

extension string

Which dynamically loadable extensions to load when PHP starts up.

cgi.check_shebang_line boolean

Controls whether CGI PHP checks for line starting with #! (shebang) at the top of the running script. This line might be needed if the script support running both as stand-alone script and via PHP CGI. PHP in CGI mode skips this line and ignores its content if this directive is turned on.

cgi.fix_pathinfo boolean

Provides real PATH_INFO/PATH_TRANSLATED support for CGI. PHP's previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting this to 1 will cause PHP CGI to fix it's paths to conform to the spec. A setting of zero causes PHP to behave as before. Default is zero. You should fix your scripts to use SCRIPT_FILENAME rather than PATH_TRANSLATED.

cgi.force_redirect boolean

cgi.force_redirect is necessary to provide security running PHP as a CGI under most web servers. Left undefined, PHP turns this on by default. You can turn it off at your own risk.

참고: Windows Users: You can safely turn this off for IIS, in fact, you must. To get OmniHTTPD or Xitami to work you must turn it off.

cgi.redirect_status_env string

If cgi.force_redirect is turned on, and you are not running under Apache or Netscape (iPlanet) web servers, you may need to set an environment variable name that PHP will look for to know it is OK to continue execution.

참고: Setting this variable may cause security issues, know what you are doing first.

fastcgi.impersonate string

FastCGI under IIS (on WINNT based OS) supports the ability to impersonate security tokens of the calling client. This allows IIS to define the security context that the request runs under. mod_fastcgi under Apache does not currently support this feature (03/17/2002) Set to 1 if running under IIS. Default is zero.

cgi.rfc2616_headers int

Tells PHP what type of headers to use when sending HTTP response code. If it's set 0, PHP sends a Status: header that is supported by Apache and other web servers. When this option is set to 1, PHP will send » RFC 2616 compliant headers. Leave it set to 0 unless you know what you're doing.

File Uploads

표 I.9. File Uploads Configuration Options

Name | Default | Changeable | Changelog
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.2.3. Available since PHP 4.0.3.
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3.

위 설정 지시어에 대한 간단한 설명입니다.

file_uploads boolean

Whether or not to allow HTTP file uploads. See also the upload_max_filesize, upload_tmp_dir, and post_max_size directives.

integer 형이 사용될 때, 바이트로 값을 측정합니다. FAQ에 설명된 단축어를 사용할 수도 있습니다.

upload_tmp_dir string

The temporary directory used for storing files when doing file upload. Must be writable by whatever user PHP is running as. If not specified PHP will use the system's default.

upload_max_filesize integer

The maximum size of an uploaded file.

integer 형이 사용될 때, 바이트로 값을 측정합니다. FAQ에 설명된 단축어를 사용할 수도 있습니다.

General SQL

표 I.10. General SQL Configuration Options

Name | Default | Changeable | Changelog
sql.safe_mode | "0" | PHP_INI_SYSTEM |

위 설정 지시어에 대한 간단한 설명입니다.

sql.safe_mode boolean

If turned on, database connect functions that specify default values will use those values in place of supplied arguments. For default values see connect function documentation for the relevant database.

Debugger Configuration Directives

경고

Only PHP 3 implements a default debugger, for more information see 부록 G. PHP 디버깅하기.

debugger.host string

DNS name or IP address of host used by the debugger.

debugger.port string

Port number used by the debugger.

debugger.enabled boolean

Whether the debugger is enabled.

이전 | 위로 | 다음
I. php.ini directives | 처음으로 | J. List of Supported Timezones


부 II. 설치와 설정

차례

3. General Installation Considerations
4. 유닉스 시스템에 설치
5. Mac OS X에 설치
6. Installation on Windows systems
7. Installation of PECL extensions
8. Problems?
9. Runtime Configuration
이전 | 위로 | 다음
다음은? | 처음으로 | 3. General Installation Considerations


3장. General Installation Considerations

Before starting the installation, first you need to know what do you want to use PHP for. There are three main fields you can use PHP, as described in the What can PHP do? section:

  • Websites and web applications (server-side scripting)
  • Command line scripting
  • Desktop (GUI) applications

For the first and most common form, you need three things: PHP itself, a web server and a web browser. You probably already have a web browser, and depending on your operating system setup, you may also have a web server (e.g. Apache on Linux and MacOS X; IIS on Windows). You may also rent webspace at a company. This way, you don't need to set up anything on your own, only write your PHP scripts, upload it to the server you rent, and see the results in your browser.

In case of setting up the server and PHP on your own, you have two choices for the method of connecting PHP to the server. For many servers PHP has a direct module interface (also called SAPI). These servers include Apache, Microsoft Internet Information Server, Netscape and iPlanet servers. Many other servers have support for ISAPI, the Microsoft module interface (OmniHTTPd for example). If PHP has no module support for your web server, you can always use it as a CGI or FastCGI processor. This means you set up your server to use the CGI executable of PHP to process all PHP file requests on the server.

If you are also interested to use PHP for command line scripting (e.g. write scripts autogenerating some images for you offline, or processing text files depending on some arguments you pass to them), you always need the command line executable. For more information, read the section about writing command line PHP applications. In this case, you need no server and no browser.

With PHP you can also write desktop GUI applications using the PHP-GTK extension. This is a completely different approach than writing web pages, as you do not output any HTML, but manage Windows and objects within them. For more information about PHP-GTK, please » visit the site dedicated to this extension. PHP-GTK is not included in the official PHP distribution.

From now on, this section deals with setting up PHP for web servers on Unix and Windows with server module interfaces and CGI executables. You will also find information on the command line executable in the following sections.

PHP source code and binary distributions for Windows can be found at » http://www.php.net/downloads.php. We recommend you to choose a » mirror nearest to you for downloading the distributions.

이전 | 위로 | 다음
II. 설치와 설정 | 처음으로 | 4. 유닉스 시스템에 설치


5장. Mac OS X에 설치

차례

패키지 사용하기
Compiling for OS X Server
Compiling for MacOS X Client

이 장은 Mac OS X에 PHP를 설치하기 위해 필요한 정보와 힌트를 포함하고 있습니다. Mac OS X에는 클라이언트와 서버의 두가지 다른 버전이 존재합니다만, 매뉴얼은 양쪽의 시스템을 모두 다룹니다. MacOS 9 이전 버전에서는 PHP를 사용할 수 없는 점에 주의하십시오.

패키지 사용하기

Mac OS X를 위해 미리 컴파일 하여 패키지 된 몇몇 PHP 버전이 존재합니다. 이는 일반적인 설정으로 간편하게 설치할 수 있지만, 특별한 기능(보안 서버나 특정 데이터베이스 드라이버)이 필요할 경우에는 직접 PHP를 빌드해야 합니다. 소프트웨어를 컴파일하고 빌드하는 작업에 익숙하지 않다면, 누군가가 필요한 기능을 포함한 PHP 버전을 패키지로 만들어 두었는지 확인해 보는 것도 좋습니다.

이전 | 위로 | 다음
CGI and command line setups | 처음으로 | Compiling for OS X Server


Compiling for MacOS X Client

The following instructions will help you install a PHP module for the Apache web server included in MacOS X. This version includes support for the MySQL and PostgreSQL databases. These instructions are graciously provided by » Marc Liyanage.

주의

Be careful when you do this, you could screw up your Apache web server!

Do this to install:

  1. Open a terminal window.
  2. Type wget http://www.diax.ch/users/liyanage/software/macosx/libphp4.so.gz, wait for the download to finish.
  3. Type gunzip libphp4.so.gz.
  4. Type sudo apxs -i -a -n php4 libphp4.so

  5. Now type sudo open -a TextEdit /etc/httpd/httpd.conf. TextEdit will open with the web server configuration file. Locate these two lines towards the end of the file: (Use the Find command)

#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

    Remove the two hash marks (#), then save the file and quit TextEdit.

  6. Finally, type sudo apachectl graceful to restart the web server.

PHP should now be up and running. You can test it by dropping a file into your Sites folder which is called test.php. Into that file, write this line: <?php phpinfo() ?>.

Now open up 127.0.0.1/~your_username/test.php in your web browser. You should see a status table with information about the PHP module.

이전 | 위로 | 다음
Compiling for OS X Server | 처음으로 | 6. Installation on Windows systems


Compiling for OS X Server

Mac OS X Server install.

  1. Get the latest distributions of Apache and PHP.

  2. Untar them, and run the configure program on Apache like so.

./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache

  3. If you want the compiler to do some optimization, you may also want to add this line:

setenv OPTIM=-O2

  4. Next, go to the PHP 4 source directory and configure it.

./configure --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --mandir=/usr/share/man \
    --with-xml \
    --with-apache=/src/apache_1.3.12

    If you have any other additions (MySQL, GD, etc.), be sure to add them here. For the --with-apache string, put in the path to your apache source directory, for example /src/apache_1.3.12.

  5. Type make and make install. This will add a directory to your Apache source directory under src/modules/php4.

  6. Now, reconfigure Apache to build in PHP 4.

./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache \
--activate-module=src/modules/php4/libphp4.a

    You may get a message telling you that libmodphp4.a is out of date. If so, go to the src/modules/php4 directory inside your Apache source directory and run this command: ranlib libmodphp4.a. Then go back to the root of the Apache source directory and run the above configure command again. That'll bring the link table up to date. Run make and make install again.

  7. Copy and rename the php.ini-dist file to your bin directory from your PHP 4 source directory: cp php.ini-dist /usr/local/bin/php.ini or (if your don't have a local directory) cp php.ini-dist /usr/bin/php.ini.

이전 | 위로 | 다음
5. Mac OS X에 설치 | 처음으로 | Compiling for MacOS X Client


7장. Installation of PECL extensions

차례

Introduction to PECL Installations
Downloading PECL extensions
PECL for Windows users
Compiling shared PECL extensions with the pecl command
Compiling shared PECL extensions with phpize
Compiling PECL extensions statically into PHP

Introduction to PECL Installations

» PECL is a repository of PHP extensions that are made available to you via the » PEAR packaging system. This section of the manual is intended to demonstrate how to obtain and install PECL extensions.

These instructions assume /your/phpsrcdir/ is the path to the PHP source distribution, and that extname is the name of the PECL extension. Adjust accordingly. These instructions also assume a familiarity with the » pear command. The information in the PEAR manual for the pear command also applies to the pecl command.

To be useful, a shared extension must be built, installed, and loaded. The methods described below provide you with various instructions on how to build and install the extensions, but they do not automatically load them. Extensions can be loaded by adding an extension directive. To this php.ini file, or through the use of the dl() function.

When building PHP modules, it's important to have known-good versions of the required tools (autoconf, automake, libtool, etc.) See the » Anonymous CVS Instructions for details on the required tools, and required versions.

이전 | 위로 | 다음
Installation of extensions on Windows | 처음으로 | Downloading PECL extensions


Downloading PECL extensions

There are several options for downloading PECL extensions, such as:

  • » http://pecl.php.net/

    The PECL web site contains information about the different extensions that are offered by the PHP Development Team. The information available here includes: ChangeLog, release notes, requirements and other similar details.

  • pecl download extname

    PECL extensions that have releases listed on the PECL web site are available for download and installation using the » pecl command. Specific revisions may also be specified.

  • CVS

    Most PECL extensions also reside in CVS. A web-based view may be seen at » http://cvs.php.net/pecl/. To download straight from CVS, the following sequence of commands may be used. Note that phpfi is the password for user cvsread:

    $ cvs -d:pserver:cvsread@cvs.php.net:/repository login
$ cvs -d:pserver:cvsread@cvs.php.net:/repository co pecl/extname

  • Windows downloads

    Windows users may find compiled PECL binaries by downloading the Collection of PECL modules from the » PHP Downloads page, or by retrieving a » PECL Snapshot or an extension DLL on » PECL4WIN. To compile PHP under Windows, read the appropriate chapter.

이전 | 위로 | 다음
7. Installation of PECL extensions | 처음으로 | PECL for Windows users


Compiling shared PECL extensions with the pecl command

PECL makes it easy to create shared PHP extensions. Using the » pecl command, do the following:

$ pecl install extname

This will download the source for extname, compile, and install extname.so into your extension_dir. extname.so may then be loaded via php.ini

By default, the pecl command will not install packages that are marked with the alpha or beta state. If no stable packages are available, you may install a beta package using the following command:

$ pecl install extname-beta

You may also install a specific version using this variant:

$ pecl install extname-0.1

참고: After enabling the extension in php.ini, restarting the web service is required for the changes to be picked up.

이전 | 위로 | 다음
PECL for Windows users | 처음으로 | Compiling shared PECL extensions with phpize


Compiling shared PECL extensions with phpize

Sometimes, using the pecl installer is not an option. This could be because you're behind a firewall, or it could be because the extension you want to install is not available as a PECL compatible package, such as unreleased extensions from CVS. If you need to build such an extension, you can use the lower-level build tools to perform the build manually.

The phpize command is used to prepare the build environment for a PHP extension. In the following sample, the sources for an extension are in a directory named extname:

$ cd extname
$ phpize
$ ./configure
$ make
# make install

A successful install will have created extname.so and put it into the PHP extensions directory. You'll need to and adjust php.ini and add an extension=extname.so line before you can use the extension.

If the system is missing the phpize command, and precompiled packages (like RPM's) are used, be sure to also install the appropriate devel version of the PHP package as they often include the phpize command along with the appropriate header files to build PHP and its extensions.

Execute phpize --help to display additional usage information.

이전 | 위로 | 다음
Compiling shared PECL extensions with the pecl command | 처음으로 | Compiling PECL extensions statically into PHP


Compiling PECL extensions statically into PHP

You might find that you need to build a PECL extension statically into your PHP binary. To do this, you'll need to place the extension source under the php-src/ext/ directory and tell the PHP build system to regenerate its configure script.

$ cd /your/phpsrcdir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

This will result in the following directory:

    /your/phpsrcdir/ext/extname

From here, force PHP to rebuild the configure script, and then build PHP as normal:

$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

참고: To run the 'buildconf' script you need autoconf 2.13 and automake 1.4+ (newer versions of autoconf may work, but are not supported).

Whether --enable-extname or --with-extname is used depends on the extension. Typically an extension that does not require external libraries uses --enable. To be sure, run the following after buildconf:

$ ./configure --help | grep extname

이전 | 위로 | 다음
Compiling shared PECL extensions with phpize | 처음으로 | 8. Problems?


PECL for Windows users

As with any other PHP extension DLL, installation is as simple as copying the PECL extension DLLs into the extension_dir folder and loading them from php.ini. For example, add the following line to your php.ini:

extension=php_extname.dll

After doing this, restart the web service.

이전 | 위로 | 다음
Downloading PECL extensions | 처음으로 | Compiling shared PECL extensions with the pecl command


8장. Problems?

차례

Read the FAQ
Other problems
Bug reports

Read the FAQ

Some problems are more common than others. The most common ones are listed in the PHP FAQ, part of this manual.

이전 | 위로 | 다음
Compiling PECL extensions statically into PHP | 처음으로 | Other problems


Bug reports

If you think you have found a bug in PHP, please report it. The PHP developers probably don't know about it, and unless you report it, chances are it won't be fixed. You can report bugs using the bug-tracking system at » http://bugs.php.net/. Please do not send bug reports in mailing list or personal letters. The bug system is also suitable to submit feature requests.

Read the » How to report a bug document before submitting any bug reports!

이전 | 위로 | 다음
Other problems | 처음으로 | 9. Runtime Configuration


Other problems

If you are still stuck, someone on the PHP installation mailing list may be able to help you. You should check out the archive first, in case someone already answered someone else who had the same problem as you. The archives are available from the support page on » http://www.php.net/support.php. To subscribe to the PHP installation mailing list, send an empty mail to » php-install-subscribe@lists.php.net. The mailing list address is » php-install@lists.php.net.

If you want to get help on the mailing list, please try to be precise and give the necessary details about your environment (which operating system, what PHP version, what web server, if you are running PHP as CGI or a server module, 안전 모드, etc...), and preferably enough code to make others able to reproduce and test your problem.

이전 | 위로 | 다음
8. Problems? | 처음으로 | Bug reports


4장. 유닉스 시스템에 설치

차례

HP-UX specific installation notes
OpenBSD installation notes
Solaris specific installation tips
Apache 1.3.x on Unix systems
Apache 2.0 on Unix systems
Caudium
fhttpd 관련 노트
Sun, iPlanet and Netscape servers on Sun Solaris
CGI and command line setups

이 섹션은 유닉스 시스템에 대한 PHP의 일반적인 설정과 설치에 대해서 안내합니다. 진행하기 전에 플래폼 및 웹서버의 사양을 확인하십시오.

일반적인 설치 고려 장에서 나온 매뉴얼 아웃라인에 따라, 이 장에서는 주로 PHP를 웹 중심으로 설정을 합니다. 물론, 명령줄 사용을 위한 PHP 설정도 포함하고 있습니다.

유닉스 플래폼에 PHP를 설치하는 방법은 여러가지가 있습니다. configure 및 컴파일 프로세스를 거치거나, 미리 작성된 패키지 방법 등이 있습니다. 이 문서는 주로 configure와 컴파일을 통한 작업에 맞추어져 있습니다. 많은 유닉스 호환 시스템은 몇몇 패키지 설치 시스템을 갖추고 있습니다. 이는 일반적인 설정에는 도움을 줄 수 있지만, 다른 기능을 필요로 할 경우에는 (보안 서버나, 다른 데이터베이스 드라이버 등), PHP와 웹 서버를 빌드할 필요가 있습니다. 소프트웨어의 컴파일과 빌드에 익숙하지 않다면, 필요한 기능이 들어있는 PHP 패키지를 찾아보는 것도 좋을 것입니다.

컴파일을 위해 필요한 지식과 소프트웨어:

  • 기본적인 유닉스 기술 (C 컴파일러와 "make"를 실행할 수 있어야 함)
  • ANSI C 컴파일러
  • flex: 버전 2.5.4
  • bison: 버전 1.28 (선호됨), 1.35, 또는 1.75
  • 웹 서버
  • 모듈 특정 컴포넌트 (gd, pdf libs 등등)

PHP 설정의 첫 작업은 configure 스크립트의 명령줄 옵션을 통해서 조정합니다. 사용할 수 있는 옵션 목록과 그에 대한 짧은 설명은 ./configure --help를 실행하여 얻을 수 있습니다. 매뉴얼은 여러 옵션을 나누어 다루고 있습니다. 부록에서 코어 옵션을 볼 수 있고, 홧장 전용 옵션은 레퍼런스 페이지에 설명이 있습니다.

PHP가 설정되면, 바로 모듈과 확장을 빌드할 수 있습니다. make 명령이 이를 수행합니다. 이 명령이 실패하고, 원인을 찾을 수 없다면, 문제 장을 참고하십시오.

HP-UX specific installation notes

This section contains notes and hints specific to installing PHP on HP-UX systems.

There are two main options for installing PHP on HP-UX systems. Either compile it, or install a pre-compiled binary.

Official pre-compiled packages are located here: » http://software.hp.com/

Until this manual section is rewritten, the documentation about compiling PHP (and related extensions) on HP-UX systems has been removed. For now, consider reading the following external resource: » Building Apache and PHP on HP-UX 11.11

이전 | 위로 | 다음
3. General Installation Considerations | 처음으로 | OpenBSD installation notes


Apache 1.3.x on Unix systems

This section contains notes and hints specific to Apache installs of PHP on Unix platforms. We also have instructions and notes for Apache 2 on a separate page.

You can select arguments to add to the configure on line 10 below from the list of core configure options and from extension specific options described at the respective places in the manual. The version numbers have been omitted here, to ensure the instructions are not incorrect. You will need to replace the 'xxx' here with the correct values from your files.

예 4.2. Installation Instructions (Apache Shared Module Version) for PHP

1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx

10. Now, configure your PHP.  This is where you customize your PHP
    with various options, like which extensions will be enabled.  Do a
    ./configure --help for a list of available options.  In our example
    we'll do a simple configure with Apache 1 and MySQL support.  Your
    path to apxs may differ from our example.

      ./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

    If you decide to change your configure options after installation,
    you only need to repeat the last three steps. You only need to
    restart apache for the new module to take effect. A recompile of
    Apache is not needed.

    Note that unless told otherwise, 'make install' will also install PEAR,
    various PHP tools such as phpize, install the PHP CLI, and more.

13. Setup your php.ini file:

      cp php.ini-dist /usr/local/lib/php.ini

    You may edit your .ini file to set PHP options.  If you prefer your
    php.ini in another location, use --with-config-file-path=/some/path in
    step 10.

    If you instead choose php.ini-recommended, be certain to read the list
    of changes within, as they affect how PHP behaves.

14. Edit your httpd.conf to load the PHP module.  The path on the right hand
    side of the LoadModule statement must point to the path of the PHP
    module on your system.  The make install from above may have already
    added this for you, but be sure to check.

    For PHP 4:

      LoadModule php4_module libexec/libphp4.so

    For PHP 5:

      LoadModule php5_module libexec/libphp5.so

15. And in the AddModule section of httpd.conf, somewhere under the
    ClearModuleList, add this:

    For PHP 4:

      AddModule mod_php4.c

    For PHP 5:

      AddModule mod_php5.c

16. Tell Apache to parse certain extensions as PHP.  For example,
    let's have Apache parse the .php extension as PHP.  You could
    have any extension(s) parse as PHP by simply adding more, with
    each separated by a space.  We'll add .phtml to demonstrate.

      AddType application/x-httpd-php .php .phtml

    It's also common to setup the .phps extension to show highlighted PHP
    source, this can be done with:

      AddType application/x-httpd-php-source .phps

17. Use your normal procedure for starting the Apache server. (You must
    stop and restart the server, not just cause the server to reload by
    using a HUP or USR1 signal.)

Alternatively, to install PHP as a static object:

예 4.3. Installation Instructions (Static Module Installation for Apache) for PHP

1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2.  cd apache_1.3.x
3.  ./configure
4.  cd ..

5.  gunzip -c php-5.x.y.tar.gz | tar xf -
6.  cd php-5.x.y
7.  ./configure --with-mysql --with-apache=../apache_1.3.x
8.  make
9.  make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
    (The above line is correct! Yes, we know libphp5.a does not exist at this
    stage. It isn't supposed to. It will be created.)

12. make
    (you should now have an httpd binary which you can copy to your Apache bin dir if
    it is your first install then you need to "make install" as well)

13. cd ../php-5.x.y
14. cp php.ini-dist /usr/local/lib/php.ini

15. You can edit /usr/local/lib/php.ini file to set PHP options.
    Edit your httpd.conf or srm.conf file and add:
    AddType application/x-httpd-php .php

참고: Replace php-5 by php-4 and php5 by php4 in PHP 4.

Depending on your Apache install and Unix variant, there are many possible ways to stop and restart the server. Below are some typical lines used in restarting the server, for different apache/unix installations. You should replace /path/to/ with the path to these applications on your systems.

예 4.4. Example commands for restarting Apache

1. Several Linux and SysV variants:
/etc/rc.d/init.d/httpd restart

2. Using apachectl scripts:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl and httpsdctl (Using OpenSSL), similar to apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. Using mod_ssl, or another SSL server, you may want to manually
stop and start:
/path/to/apachectl stop
/path/to/apachectl startssl

The locations of the apachectl and http(s)dctl binaries often vary. If your system has locate or whereis or which commands, these can assist you in finding your server control programs.

Different examples of compiling PHP for apache are as follows:

./configure --with-apxs --with-pgsql

This will create a libphp5.so (or libphp4.so in PHP 4) shared library that is loaded into Apache using a LoadModule line in Apache's httpd.conf file. The PostgreSQL support is embedded into this library.

./configure --with-apxs --with-pgsql=shared

This will create a libphp4.so shared library for Apache, but it will also create a pgsql.so shared library that is loaded into PHP either by using the extension directive in php.ini file or by loading it explicitly in a script using the dl() function.

./configure --with-apache=/path/to/apache_source --with-pgsql

This will create a libmodphp5.a library, a mod_php5.c and some accompanying files and copy this into the src/modules/php5 directory in the Apache source tree. Then you compile Apache using --activate-module=src/modules/php5/libphp5.a and the Apache build system will create libphp5.a and link it statically into the httpd binary (replace php5 by php4 in PHP 4). The PostgreSQL support is included directly into this httpd binary, so the final result here is a single httpd binary that includes all of Apache and all of PHP.

./configure --with-apache=/path/to/apache_source --with-pgsql=shared

Same as before, except instead of including PostgreSQL support directly into the final httpd you will get a pgsql.so shared library that you can load into PHP from either the php.ini file or directly using dl().

When choosing to build PHP in different ways, you should consider the advantages and drawbacks of each method. Building as a shared object will mean that you can compile apache separately, and don't have to recompile everything as you add to, or change, PHP. Building PHP into apache (static method) means that PHP will load and run faster. For more information, see the Apache » web page on DSO support.

참고: Apache's default httpd.conf currently ships with a section that looks like this:

User nobody
Group "#-1"
Unless you change that to "Group nogroup" or something like that ("Group daemon" is also very common) PHP will not be able to open files.

참고: Make sure you specify the installed version of apxs when using --with-apxs=/path/to/apxs. You must NOT use the apxs version that is in the apache sources but the one that is actually installed on your system.

이전 | 위로 | 다음
Solaris specific installation tips | 처음으로 | Apache 2.0 on Unix systems


Apache 2.0 on Unix systems

This section contains notes and hints specific to Apache 2.0 installs of PHP on Unix systems.

주의

제품 환경에서 아파치2 쓰레드 MPM 사용을 권하지 않습니다. prefork MPM을 사용하거나, Apache1을 사용하십시오. 그 이유는 아파치2 쓰레드 MPM에서 관련 FAQ를 읽어보십시오.

You are highly encouraged to take a look at the » Apache Documentation to get a basic understanding of the Apache 2.0 Server.

PHP and Apache 2.0.x compatibility notes: The following versions of PHP are known to work with the most recent version of Apache 2.0.x:

  • PHP 4.3.0 or later available at » http://www.php.net/downloads.php.
  • the latest stable development version. Get the source code » http://snaps.php.net/php5-latest.tar.gz or download binaries for Windows » http://snaps.php.net/win32/php5-win32-latest.zip.
  • a prerelease version downloadable from » http://qa.php.net/.
  • you have always the option to obtain PHP through » anonymous CVS.
These versions of PHP are compatible to Apache 2.0.40 and later.

Apache 2.0 SAPI-support started with PHP 4.2.0. PHP 4.2.3 works with Apache 2.0.39, don't use any other version of Apache with PHP 4.2.3. However, the recommended setup is to use PHP 4.3.0 or later with the most recent version of Apache2.

All mentioned versions of PHP will work still with Apache 1.3.x.

Download the most recent version of » Apache 2.0 and a fitting PHP version from the above mentioned places. This quick guide covers only the basics to get started with Apache 2.0 and PHP. For more information read the » Apache Documentation. The version numbers have been omitted here, to ensure the instructions are not incorrect. You will need to replace the 'NN' here with the correct values from your files.

예 4.5. Installation Instructions (Apache 2 Shared Module Version)

1.  gzip -d httpd-2_0_NN.tar.gz
2.  tar xvf httpd-2_0_NN.tar
3.  gunzip php-NN.tar.gz
4.  tar -xvf php-NN.tar
5.  cd httpd-2_0_NN
6.  ./configure --enable-so
7.  make
8.  make install

    Now you have Apache 2.0.NN available under /usr/local/apache2,
    configured with loadable module support and the standard MPM prefork.
    To test the installation use your normal procedure for starting
    the Apache server, e.g.:
    /usr/local/apache2/bin/apachectl start
    and stop the server to go on with the configuration for PHP:
    /usr/local/apache2/bin/apachectl stop.

9.  cd ../php-NN

10. Now, configure your PHP.  This is where you customize your PHP
    with various options, like which extensions will be enabled.  Do a
    ./configure --help for a list of available options.  In our example
    we'll do a simple configure with Apache 2 and MySQL support.  Your
    path to apxs may differ, in fact, the binary may even be named apxs2 on
    your system.

      ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

11. make
12. make install

    If you decide to change your configure options after installation,
    you only need to repeat the last three steps. You only need to
    restart apache for the new module to take effect. A recompile of
    Apache is not needed.

    Note that unless told otherwise, 'make install' will also install PEAR,
    various PHP tools such as phpize, install the PHP CLI, and more.

13. Setup your php.ini

    cp php.ini-dist /usr/local/lib/php.ini

    You may edit your .ini file to set PHP options.  If you prefer having
    php.ini in another location, use --with-config-file-path=/some/path in
    step 10.

    If you instead choose php.ini-recommended, be certain to read the list
    of changes within, as they affect how PHP behaves.

14. Edit your httpd.conf to load the PHP module.  The path on the right hand
    side of the LoadModule statement must point to the path of the PHP
    module on your system.  The make install from above may have already
    added this for you, but be sure to check.

    For PHP 4:

      LoadModule php4_module modules/libphp4.so

    For PHP 5:

      LoadModule php5_module modules/libphp5.so

15. Tell Apache to parse certain extensions as PHP.  For example,
    let's have Apache parse the .php extension as PHP.  You could
    have any extension(s) parse as PHP by simply adding more, with
    each separated by a space.  We'll add .phtml to demonstrate.

      AddType application/x-httpd-php .php .phtml

    It's also common to setup the .phps extension to show highlighted PHP
    source, this can be done with:

      AddType application/x-httpd-php-source .phps

16. Use your normal procedure for starting the Apache server, e.g.:

      /usr/local/apache2/bin/apachectl start

Following the steps above you will have a running Apache 2.0 with support for PHP as SAPI module. Of course there are many more configuration options available for both, Apache and PHP. For more information use ./configure --help in the corresponding source tree. In case you wish to build a multithreaded version of Apache 2.0 you must overwrite the standard MPM-Module prefork either with worker or perchild. To do so append to your configure line in step 6 above either the option --with-mpm=worker or --with-mpm=perchild. Take care about the consequences and understand what you are doing. For more information read the Apache documentation about the » MPM-Modules.

참고: If you want to use content negotiation, read the Apache MultiViews FAQ.

참고: To build a multithreaded version of Apache your system must support threads. This also implies to build PHP with experimental Zend Thread Safety (ZTS). Therefore not all extensions might be available. The recommended setup is to build Apache with the standard prefork MPM-Module.

이전 | 위로 | 다음
Apache 1.3.x on Unix systems | 처음으로 | Caudium


Caudium

PHP 4 can be built as a Pike module for the » Caudium webserver. Note that this is not supported with PHP 3. Follow the simple instructions below to install PHP 4 for Caudium.

예 4.6. Caudium Installation Instructions

1.  Make sure you have Caudium installed prior to attempting to
    install PHP 4. For PHP 4 to work correctly, you will need Pike
    7.0.268 or newer. For the sake of this example we assume that
    Caudium is installed in /opt/caudium/server/.
2.  Change directory to php-x.y.z (where x.y.z is the version number).
3.  ./configure --with-caudium=/opt/caudium/server
4.  make
5.  make install
6.  Restart Caudium if it's currently running.
7.  Log into the graphical configuration interface and go to the
    virtual server where you want to add PHP 4 support.
8.  Click Add Module and locate and then add the PHP 4 Script Support module.
9.  If the documentation says that the 'PHP 4 interpreter isn't
    available', make sure that you restarted the server. If you did
    check /opt/caudium/logs/debug/default.1 for any errors related to
    <filename>PHP4.so</filename>. Also make sure that
    <filename>caudium/server/lib/[pike-version]/PHP4.so</filename>
    is present.
10. Configure the PHP Script Support module if needed.

You can of course compile your Caudium module with support for the various extensions available in PHP 4. See the reference pages for extension specific configure options.

참고: When compiling PHP 4 with MySQL support you must make sure that the normal MySQL client code is used. Otherwise there might be conflicts if your Pike already has MySQL support. You do this by specifying a MySQL install directory the --with-mysql option.

이전 | 위로 | 다음
Apache 2.0 on Unix systems | 처음으로 | fhttpd 관련 노트


CGI and command line setups

The default is to build PHP as a CGI program. This creates a command line interpreter, which can be used for CGI processing, or for non-web-related PHP scripting. If you are running a web server PHP has module support for, you should generally go for that solution for performance reasons. However, the CGI version enables users to run different PHP-enabled pages under different user-ids.

주의

CGI 설정을 사용할 때, 서버가 여러 공격에 노출됩니다. 이러한 공격을 막기 위해 CGI 보안 섹션을 읽어보십시오.

As of PHP 4.3.0, some important additions have happened to PHP. A new SAPI named CLI also exists and it has the same name as the CGI binary. What is installed at {PREFIX}/bin/php depends on your configure line and this is described in detail in the manual section named Using PHP from the command line. For further details please read that section of the manual.

Testing

If you have built PHP as a CGI program, you may test your build by typing make test. It is always a good idea to test your build. This way you may catch a problem with PHP on your platform early instead of having to struggle with it later.

Benchmarking

If you have built PHP 3 as a CGI program, you may benchmark your build by typing make bench. Note that if 안전 모드 is on by default, the benchmark may not be able to finish if it takes longer then the 30 seconds allowed. This is because the set_time_limit() can not be used in 안전 모드. Use the max_execution_time configuration setting to control this time for your own scripts. make bench ignores the configuration file.

참고: make bench is only available for PHP 3.

Using Variables

Some server supplied environment variables are not defined in the current » CGI/1.1 specification. Only the following variables are defined there: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, and SERVER_SOFTWARE. Everything else should be treated as 'vendor extensions'.

이전 | 위로 | 다음
Sun, iPlanet and Netscape servers on Sun Solaris | 처음으로 | 5. Mac OS X에 설치


fhttpd 관련 노트

PHP를 fttpd 모듈로 빌드하려면, fttpd 소스 기반 디렉토리를 지정하고 "Build as an fhttpd module?"에 "yes"로 답하십시오. (configure에 --with-fhttpd=DIR 옵션을 줍니다) 기본 디렉토리는 /usr/local/src/fhttpd입니다. fhttpd를 사용한다면, PHP를 모듈로 빌드하는 것이 더욱 좋은 퍼포먼스와 많은 조작, 원격 실행을 가능하게 합니다.

참고: PHP 4.3.0부터 fhttpd를 지원하지 않습니다.

이전 | 위로 | 다음
Caudium | 처음으로 | Sun, iPlanet and Netscape servers on Sun Solaris


OpenBSD installation notes

This section contains notes and hints specific to installing PHP on » OpenBSD 3.6.

Using Binary Packages

Using binary packages to install PHP on OpenBSD is the recommended and simplest method. The core package has been separated from the various modules, and each can be installed and removed independently from the others. The files you need can be found on your OpenBSD CD or on the FTP site.

The main package you need to install is php4-core-4.3.8.tgz, which contains the basic engine (plus gettext and iconv). Next, take a look at the module packages, such as php4-mysql-4.3.8.tgz or php4-imap-4.3.8.tgz. You need to use the phpxs command to activate and deactivate these modules in your php.ini.

예 4.1. OpenBSD Package Install Example

# pkg_add php4-core-4.3.8.tgz
# /usr/local/sbin/phpxs -s
# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
  (add in mysql)
# pkg_add php4-mysql-4.3.8.tgz
# /usr/local/sbin/phpxs -a mysql
  (add in imap)
# pkg_add php4-imap-4.3.8.tgz
# /usr/local/sbin/phpxs -a imap
  (remove mysql as a test)
# pkg_delete php4-mysql-4.3.8
# /usr/local/sbin/phpxs -r mysql
  (install the PEAR libraries)
# pkg_add php4-pear-4.3.8.tgz

Read the » packages(7) manual page for more information about binary packages on OpenBSD.

Using Ports

You can also compile up PHP from source using the » ports tree. However, this is only recommended for users familiar with OpenBSD. The PHP 4 port is split into two sub-directories: core and extensions. The extensions directory generates sub-packages for all of the supported PHP modules. If you find you do not want to create some of these modules, use the no_* FLAVOR. For example, to skip building the imap module, set the FLAVOR to no_imap.

Common Problems

  • The default install of Apache runs inside a » chroot(2) jail, which will restrict PHP scripts to accessing files under /var/www. You will therefore need to create a /var/www/tmp directory for PHP session files to be stored, or use an alternative session backend. In addition, database sockets need to be placed inside the jail or listen on the localhost interface. If you use network functions, some files from /etc such as /etc/resolv.conf and /etc/services will need to be moved into /var/www/etc. The OpenBSD PEAR package automatically installs into the correct chroot directories, so no special modification is needed there. More information on the OpenBSD Apache is available in the » OpenBSD FAQ.
  • The OpenBSD 3.6 package for the » gd extension requires XFree86 to be installed. If you do not wish to use some of the font features that require X11, install the php4-gd-4.3.8-no_x11.tgz package instead.

Older Releases

Older releases of OpenBSD used the FLAVORS system to compile up a statically linked PHP. Since it is hard to generate binary packages using this method, it is now deprecated. You can still use the old stable ports trees if you wish, but they are unsupported by the OpenBSD team. If you have any comments about this, the current maintainer for the port is Anil Madhavapeddy (avsm at openbsd dot org).

이전 | 위로 | 다음
4. 유닉스 시스템에 설치 | 처음으로 | Solaris specific installation tips


Solaris specific installation tips

This section contains notes and hints specific to installing PHP on Solaris systems.

Required software

Solaris installs often lack C compilers and their related tools. Read this FAQ for information on why using GNU versions for some of these tools is necessary. The required software is as follows:

  • gcc (recommended, other C compilers may work)
  • make
  • flex
  • bison
  • m4
  • autoconf
  • automake
  • perl
  • gzip
  • tar
  • GNU sed
In addition, you will need to install (and possibly compile) any additional software specific to your configuration, such as Oracle or MySQL.

Using Packages

You can simplify the Solaris install process by using pkgadd to install most of your needed components.

이전 | 위로 | 다음
OpenBSD installation notes | 처음으로 | Apache 1.3.x on Unix systems


Sun, iPlanet and Netscape servers on Sun Solaris

This section contains notes and hints specific to Sun Java System Web Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP on Sun Solaris.

From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to generate custom directory listings and error pages. Additional functions for Apache compatibility are also available. For support in current web servers read the note about subrequests.

You can find more information about setting up PHP for the Netscape Enterprise Server (NES) here: » http://benoit.noss.free.fr/php/install-php4.html

To build PHP with Sun JSWS/Sun ONE WS/iPlanet/Netscape web servers, enter the proper install directory for the --with-nsapi=[DIR] option. The default directory is usually /opt/netscape/suitespot/. Please also read /php-xxx-version/sapi/nsapi/nsapi-readme.txt.

  1. Install the following packages from » http://www.sunfreeware.com/ or another download site:

    autoconf-2.13
    automake-1.4
    bison-1_25-sol26-sparc-local
    flex-2_5_4a-sol26-sparc-local
    gcc-2_95_2-sol26-sparc-local
    gzip-1.2.4-sol26-sparc-local
    m4-1_4-sol26-sparc-local
    make-3_76_1-sol26-sparc-local
    mysql-3.23.24-beta (if you want mysql support)
    perl-5_005_03-sol26-sparc-local
    tar-1.13 (GNU tar)

  2. Make sure your path includes the proper directories PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin and make it available to your system export PATH.
  3. gunzip php-x.x.x.tar.gz (if you have a .gz dist, otherwise go to 4).
  4. tar xvf php-x.x.x.tar
  5. Change to your extracted PHP directory: cd ../php-x.x.x

  6. For the following step, make sure /opt/netscape/suitespot/ is where your netscape server is installed. Otherwise, change to the correct path and run:

./configure --with-mysql=/usr/local/mysql \
--with-nsapi=/opt/netscape/suitespot/ \
--enable-libgcc

  7. Run make followed by make install.

After performing the base install and reading the appropriate readme file, you may need to perform some additional configuration steps.

Configuration Instructions for Sun/iPlanet/Netscape.

Firstly you may need to add some paths to the LD_LIBRARY_PATH environment for the server to find all the shared libs. This can best done in the start script for your web server. The start script is often located in: /path/to/server/https-servername/start. You may also need to edit the configuration files that are located in: /path/to/server/https-servername/config/.

  1. Add the following line to mime.types (you can do that by the administration server):

type=magnus-internal/x-httpd-php exts=php

  2. Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) and add the following, shlib will vary depending on your system, it will be something like /opt/netscape/suitespot/bin/libphp4.so. You should place the following lines after mime types init.

Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]

    (PHP >= 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server config directory.

  3. Configure the default object in obj.conf (for virtual server classes [version 6.0+] in their vserver.obj.conf):

<Object name="default">
.
.
.
.#NOTE this next line should happen after all 'ObjectType' and before all 'AddLog' lines
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
.
.
</Object>

    (PHP >= 4.3.3) As additional parameters you can add some special php.ini-values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

  4. This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

<Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>

    After that you can configure a directory in the Administration server and assign it the style x-httpd-php. All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html.

  5. Setup of authentication: PHP authentication cannot be used with any other authentication. ALL AUTHENTICATION IS PASSED TO YOUR PHP SCRIPT. To configure PHP Authentication for the entire server, add the following line to your default object:

<Object name="default">
AuthTrans fn=php4_auth_trans
.
.
.
</Object>

  6. To use PHP Authentication on a single directory, add the following:

<Object ppath="d:\path\to\authenticated\dir\*">
AuthTrans fn=php4_auth_trans
</Object>

참고: The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

CGI environment and recommended modifications in php.ini

Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE WS/iPlanet/Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct way to try this in the old PHP 3.x way with getenv() or a similar way (register globals to environment, $_ENV). You would only get the environment of the running web server without any valid CGI variables!

참고: Why are there (invalid) CGI variables in the environment?

Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $_SERVER. If you have older scripts which use $HTTP_HOST, etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

variables_order = "GPCS"
register_globals = On

Special use for error pages or self-made directory listings (PHP >= 4.3.3)

You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $_SERVER['ERROR_TYPE'].

Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type="magnus-internal/directory" in obj.conf with the following:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
For both error and directory listing pages the original URI and translated URI are in the variables $_SERVER['PATH_INFO'] and $_SERVER['PATH_TRANSLATED'].

Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)

The NSAPI module now supports the nsapi_virtual() function (alias: virtual()) to make subrequests on the web server and insert the result in the web page. This function uses some undocumented features from the NSAPI library. On Unix the module automatically looks for the needed functions and uses them if available. If not, nsapi_virtual() is disabled.

참고: But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!

이전 | 위로 | 다음
fhttpd 관련 노트 | 처음으로 | CGI and command line setups


6장. Installation on Windows systems

차례

Windows Installer (PHP 5.2 and later)
Windows Installer (PHP 5.1.0 and earlier)
Manual Installation Steps
ActiveScript
Microsoft IIS / PWS
Apache 1.3.x on Microsoft Windows
Apache 2.0.x on Microsoft Windows
Sun, iPlanet and Netscape servers on Microsoft Windows
OmniHTTPd Server
Sambar Server on Microsoft Windows
Xitami on Microsoft Windows
Building from source
Installation of extensions on Windows

This section applies to Windows 98/Me and Windows NT/2000/XP/2003. PHP will not work on 16 bit platforms such as Windows 3.1 and sometimes we refer to the supported Windows platforms as Win32. Windows 95 is no longer supported as of PHP 4.3.0.

There are two main ways to install PHP for Windows: either manually or by using the installer.

If you have Microsoft Visual Studio, you can also build PHP from the original source code.

Once you have PHP installed on your Windows system, you may also want to load various extensions for added functionality.

주의

There are several all-in-one installers over the Internet, but none of those are endorsed by PHP.net, as we believe that using one of the official windows packages from » http://www.php.net/downloads.php is the best choice to have your system secure and optimised.

Windows Installer (PHP 5.2 and later)

The Windows PHP installer for later versions of PHP is built using MSI technology using the Wix Toolkit (» http://wix.sourceforge.net/). It will install and configure PHP and all the built-in and PECL extensions, as well as configure many of the popular web servers such as IIS, Apache, and Xitami.

First, install your selected HTTP (web) server on your system, and make sure that it works. Then proceed with one of the following install types.

Normal Install

Run the MSI installer and follow the instructions provided by the installation wizard. You will be prompted to select the Web Server you wish to configure first, along with any configuration details needed.

You will then be prompted to select which features and extensions you wish to install and enable. By selecting "Will be installed on local hard drive" in the drop-down menu for each item you can trigger whether to install the feature or not. By selecting "Entire feature will be installed on local hard drive", you will be able to install all sub-features of the included feature ( for example by selecting this options for the feature "PDO" you will install all PDO Drivers ).

주의

It is not recommended to install all extensions by default, since many other them require dependencies from outside PHP in order to function properly. Instead, use the Installation Repair Mode that can be triggered thru the 'Add/Remove Programs' control panel to enable or disable extensions and features after installation.

The installer then sets up PHP to be used in Windows and the php.ini file, and configures certain web servers to use PHP. The installer will currently configure IIS, Apache, Xitami, and Sambar Server; if you are using a different web server you'll need to configure it manually.

Silent Install

The installer also supports a silent mode, which is helpful for Systems Administrators to deploy PHP easily. To use silent mode:

msiexec.exe /i php-VERSION-win32-install.msi /q

You can control the install directory by passing it as a parameter to the install. For example, to install to e:\php:

msiexec.exe /i php-VERSION-win32-install.msi /q INSTALLDIR=e:\php
You can also use the same syntax to specify the Apache Configuration Directory (APACHEDIR), the Sambar Server directory (SAMBARDIR), and the Xitami Server directory (XITAMIDIR).

You can also specify what features to install. For example, to install the mysqli extension and the CGI executable:

msiexec.exe /i php-VERSION-win32-install.msi /q ADDLOCAL=cgi,ext_php_mysqli

The current list of Features to install is as follows:

MainExecutable - php.exe executable
ScriptExecutable - php-win.exe executable
ext_php_* - the various extensions ( for example: ext_php_mysql for MySQL )
apache13 - Apache 1.3 module
apache20 - Apache 2.0 module
apache22 - Apache 2,2 module
apacheCGI - Apache CGI executable
iis4ISAPI - IIS ISAPI module
iis4CGI - IIS CGI executable
NSAPI - Sun/iPlanet/Netscape server module
Xitami - Xitami CGI executable
Sambar - Sambar Server ISAPI module
CGI - php-cgi.exe executable
PEAR - PEAR installer
Manual - PHP Manual in CHM Format

For more information on installing MSI installers from the command line, visit » http://msdn.microsoft.com/library/en-us/msi/setup/command_line_options.asp

Upgrading PHP with the Install

To upgrade, run the installer either graphically or from the command line as normal. The installer will read your current install options, remove your old installation, and reinstall PHP with the same options as before. It is recommended that you use this method of keeping PHP updated instead of manually replacing the files in the installation directory.

이전 | 위로 | 다음
Compiling for MacOS X Client | 처음으로 | Windows Installer (PHP 5.1.0 and earlier)


ActiveScript

This section contains notes specific to the ActiveScript installation.

ActiveScript is a Windows only SAPI that enables you to use PHP script in any ActiveScript compliant host, like Windows Script Host, ASP/ASP.NET, Windows Script Components or Microsoft Scriptlet control.

As of PHP 5.0.1, ActiveScript has been moved to the » PECL repository. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

참고: You should read the manual installation steps first!

After installing PHP, you should download the ActiveScript DLL (php5activescript.dll) and place it in the main PHP folder (e.g. C:\php).

After having all the files needed, you must register the DLL on your system. To achieve this, open a Command Prompt window (located in the Start Menu). Then go to your PHP directory by typing something like cd C:\php. To register the DLL just type regsvr32 php5activescript.dll.

To test if ActiveScript is working, create a new file, named test.wsf (the extension is very important) and type:

<job id="test">

 <script language="PHPScript">
  $WScript->Echo("Hello World!");
 </script>

</job>
Save and double-click on the file. If you receive a little window saying "Hello World!" you're done.

참고: In PHP 4, the engine was named 'ActivePHP', so if you are using PHP 4, you should replace 'PHPScript' with 'ActivePHP' in the above example.

참고: ActiveScript doesn't use the default php.ini file. Instead, it will look only in the same directory as the .exe that caused it to load. You should create php-activescript.ini and place it in that folder, if you wish to load extensions, etc.

이전 | 위로 | 다음
Manual Installation Steps | 처음으로 | Microsoft IIS / PWS


Apache 1.3.x on Microsoft Windows

This section contains notes and hints specific to Apache 1.3.x installs of PHP on Microsoft Windows systems. There are also instructions and notes for Apache 2 on a separate page.

참고: Please read the manual installation steps first!

There are two ways to set up PHP to work with Apache 1.3.x on Windows. One is to use the CGI binary (php.exe for PHP 4 and php-cgi.exe for PHP 5), the other is to use the Apache Module DLL. In either case you need to edit your httpd.conf to configure Apache to work with PHP, and then restart the server.

It is worth noting here that now the SAPI module has been made more stable under Windows, we recommend it's use above the CGI binary, since it is more transparent and secure.

Although there can be a few variations of configuring PHP under Apache, these are simple enough to be used by the newcomer. Please consult the Apache Documentation for further configuration directives.

After changing the configuration file, remember to restart the server, for example, NET STOP APACHE followed by NET START APACHE, if you run Apache as a Windows Service, or use your regular shortcuts.

참고: 윈도우 상에서 아파치 설정 파일에 경로값을 추가할 때는 다음과 같이 모든 백슬래쉬를 슬래쉬로 바꿔야 합니다: c:\directory\file.ext을 c:/directory/file.ext로 바꿉니다. 디렉토리에는 마지막에 슬래쉬를 붙여줘야 합니다.

Installing as an Apache module

You should add the following lines to your Apache httpd.conf file:

예 6.3. PHP as an Apache 1.3.x module

This assumes PHP is installed to c:\php. Adjust the path if this is not the case.

For PHP 4:

# Add to the end of the LoadModule section
# Don't forget to copy this file from the sapi directory!
LoadModule php4_module "C:/php/php4apache.dll"

# Add to the end of the AddModule section
AddModule mod_php4.c

For PHP 5:

# Add to the end of the LoadModule section
LoadModule php5_module "C:/php/php5apache.dll"

# Add to the end of the AddModule section
AddModule mod_php5.c

For both:

# Add this line inside the <IfModule mod_mime.c> conditional brace
AddType application/x-httpd-php .php

# For syntax highlighted .phps files, also add
AddType application/x-httpd-php-source .phps

Installing as a CGI binary

If you unzipped the PHP package to C:\php\ as described in the Manual Installation Steps section, you need to insert these lines to your Apache configuration file to set up the CGI binary:

예 6.4. PHP and Apache 1.3.x as CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# For PHP 4
Action application/x-httpd-php "/php/php.exe"

# For PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

# specify the directory where php.ini is
SetEnv PHPRC C:/php

Note that the second line in the list above can be found in the actual versions of httpd.conf, but it is commented out. Remember also to substitute the c:/php/ for your actual path to PHP.

주의

CGI 설정을 사용할 때, 서버가 여러 공격에 노출됩니다. 이러한 공격을 막기 위해 CGI 보안 섹션을 읽어보십시오.

If you would like to present PHP source files syntax highlighted, there is no such convenient option as with the module version of PHP. If you chose to configure Apache to use PHP as a CGI binary, you will need to use the highlight_file() function. To do this simply create a PHP script file and add this code: <?php highlight_file('some_php_script.php'); ?>.

이전 | 위로 | 다음
Microsoft IIS / PWS | 처음으로 | Apache 2.0.x on Microsoft Windows


Apache 2.0.x on Microsoft Windows

This section contains notes and hints specific to Apache 2.0.x installs of PHP on Microsoft Windows systems. We also have instructions and notes for Apache 1.3.x users on a separate page.

참고: You should read the manual installation steps first!

Apache 2.2.x Support: Users of Apache 2.2.x may use the documentation below except the appropriate DLL file is named php5apache2_2.dll and it only exists as of PHP 5.2.0. See also » http://snaps.php.net/

주의

제품 환경에서 아파치2 쓰레드 MPM 사용을 권하지 않습니다. prefork MPM을 사용하거나, Apache1을 사용하십시오. 그 이유는 아파치2 쓰레드 MPM에서 관련 FAQ를 읽어보십시오.

You are highly encouraged to take a look at the » Apache Documentation to get a basic understanding of the Apache 2.0.x Server. Also consider to read the » Windows specific notes for Apache 2.0.x before reading on here.

PHP and Apache 2.0.x compatibility notes: The following versions of PHP are known to work with the most recent version of Apache 2.0.x:

  • PHP 4.3.0 or later available at » http://www.php.net/downloads.php.
  • the latest stable development version. Get the source code » http://snaps.php.net/php5-latest.tar.gz or download binaries for Windows » http://snaps.php.net/win32/php5-win32-latest.zip.
  • a prerelease version downloadable from » http://qa.php.net/.
  • you have always the option to obtain PHP through » anonymous CVS.
These versions of PHP are compatible to Apache 2.0.40 and later.

Apache 2.0 SAPI-support started with PHP 4.2.0. PHP 4.2.3 works with Apache 2.0.39, don't use any other version of Apache with PHP 4.2.3. However, the recommended setup is to use PHP 4.3.0 or later with the most recent version of Apache2.

All mentioned versions of PHP will work still with Apache 1.3.x.

주의

Apache 2.0.x is designed to run on Windows NT 4.0, Windows 2000 or Windows XP. At this time, support for Windows 9x is incomplete. Apache 2.0.x is not expected to work on those platforms at this time.

Download the most recent version of » Apache 2.0.x and a fitting PHP version. Follow the Manual Installation Steps and come back to go on with the integration of PHP and Apache.

There are two ways to set up PHP to work with Apache 2.0.x on Windows. One is to use the CGI binary the other is to use the Apache module DLL. In either case you need to edit your httpd.conf to configure Apache to work with PHP and then restart the server.

참고: 윈도우 상에서 아파치 설정 파일에 경로값을 추가할 때는 다음과 같이 모든 백슬래쉬를 슬래쉬로 바꿔야 합니다: c:\directory\file.ext을 c:/directory/file.ext로 바꿉니다. 디렉토리에는 마지막에 슬래쉬를 붙여줘야 합니다.

Installing as a CGI binary

You need to insert these three lines to your Apache httpd.conf configuration file to set up the CGI binary:

예 6.5. PHP and Apache 2.0 as CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# For PHP 4
Action application/x-httpd-php "/php/php.exe"

# For PHP 5
Action application/x-httpd-php "/php/php-cgi.exe"

주의

CGI 설정을 사용할 때, 서버가 여러 공격에 노출됩니다. 이러한 공격을 막기 위해 CGI 보안 섹션을 읽어보십시오.

Installing as an Apache module

You need to insert these two lines to your Apache httpd.conf configuration file to set up the PHP module for Apache 2.0:

예 6.6. PHP and Apache 2.0 as Module

# For PHP 4 do something like this:
LoadModule php4_module "c:/php/php4apache2.dll"
# Don't forget to copy the php4apache2.dll file from the sapi directory!
AddType application/x-httpd-php .php

# For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

참고: Remember to substitute your actual path to PHP for the c:/php/ in the above examples. Take care to use either php4apache2.dll or php5apache2.dll in your LoadModule directive and not php4apache.dll or php5apache.dll as the latter ones are designed to run with Apache 1.3.x.

참고: If you want to use content negotiation, read related FAQ.

주의

Don't mix up your installation with DLL files from different PHP versions. You have the only choice to use the DLL's and extensions that ship with your downloaded PHP version.

이전 | 위로 | 다음
Apache 1.3.x on Microsoft Windows | 처음으로 | Sun, iPlanet and Netscape servers on Microsoft Windows


Building from source

This chapter teaches how to compile PHP from sources on windows, using Microsoft's tools. To compile PHP with cygwin, please refer to 4장. 유닉스 시스템에 설치.

Build Environment

To compile and build PHP you need a Microsoft Development Environment. The following environments are supported:

  • Microsoft Visual C++ 6.0 (official)
  • Microsoft Visual C++ .NET
  • Microsoft Visual C++ 2005, Windows Platform SDK and .NET Framework SDK (current)

While VC6 (Microsoft Visual C++ 6.0) is used to perform official Windows builds, it can no longer be downloaded from Microsoft's website. New users seeking to build PHP for free must use Microsoft Visual C++ 2005 Express Edition and its auxiliary components.

Setting up Microsoft Visual C++ 2005 Express

참고: Combined, these components are very large and will require over one gigabyte of disk space.

Setting up Microsoft Visual C++ 2005 Express is rather involved, and requires the installation of three separate packages and various compatibility changes. Be sure to keep track of the paths in which these programs are installed into. Download and install the following programs:

  • » Microsoft Visual C++ 2005 Express
  • » Microsoft Windows Server 2005 Platform SDK
  • » .NET Framework 2.0 Software Development Kit

There are a few post-installation steps:

  • » MSVC 2005 Express must be configured to use Windows Platform SDK. It is not necessary to perform step two, as PHP does not use the graphical user interface.
  • Windows Platform SDK contains a file named WinResrc.h usually in Include folder inside the SDK's installation directory. This needs to be copied and renamed to winres.h, the name PHP uses for the file.

Finally, when using MSVC 2005 Express from the command line, several environment variables must be set up. vsvars32.bat usually found in C:\Program Files\Microsoft Visual Studio 8\Common7\Tools (search for the file if otherwise) contains these declarations. The PATH, INCLUDE and LIB environment variables need the corresponding bin, include and lib directories of the two newly installed SDKs added to them.

참고: The .NET SDK paths may already be present in the vsvars32.bat file, as this SDK installs itself into the same directory as Microsoft Visual C++ 2005 Express.

Libraries

To extract the downloaded files you will also need a ZIP extraction utility. Windows XP and newer already include this functionality built-in.

Before you get started, you have to download:

  • the win32 buildtools from the PHP site at » http://www.php.net/extra/win32build.zip.
  • the source code for the DNS name resolver used by PHP from » http://www.php.net/extra/bindlib_w32.zip. This is a replacement for the resolv.lib library included in win32build.zip.
  • If you plan to compile PHP as a Apache module you will also need the » Apache sources.

Finally, you are going to need the source to PHP itself. You can get the latest development version using » anonymous CVS, a » snapshot or the most recent released » source tarball.

Putting it all together

After downloading the required packages you have to extract them in a proper place:

  • Create a working directory where all files end up after extracting, e.g: C:\work.
  • Create the directory win32build under your working directory (C:\work) and unzip win32build.zip into it.
  • Create the directory bindlib_w32 under your working directory (C:\work) and unzip bindlib_w32.zip into it.
  • Extract the downloaded PHP source code into your working directory (C:\work).
  • Build the libraries you are going to need (or download the binaries if available) and place the headers and libs in the C:\work\win32build\include and C:\work\win32build\lib directories, respectively.
  • If you don't have cygwin installed with bison and flex, you also need to make the C:\work\win32build\bin directory available in the PATH, so that thoses tools can be found by the configure script.
Following this steps your directory structure looks like this:

+--C:\work
|  |
|  +--bindlib_w32
|  |  |
|  |  +--arpa
|  |  |
|  |  +--conf
|  |  |
|  |  +--...
|  |
|  +--php-5.x.x
|  |  |
|  |  +--build
|  |  |
|  |  +--...
|  |  |
|  |  +--win32
|  |  |
|  |  +--...
|  |
|  +--win32build
|  |  |
|  |  +--bin
|  |  |
|  |  +--include
|  |  |
|  |  +--lib

If you aren't using » Cygwin, you must also create the directories C:\usr\local\lib and then copy bison.simple from C:\work\win32build\bin to C:\usr\local\lib.

참고: If you want to use PEAR and the comfortable command line installer, the CLI-SAPI is mandatory. For more information about PEAR and the installer read the documentation at the » PEAR website.

Build resolv.lib

You must build the resolv.lib library. Decide whether you want to have debug symbols available (bindlib - Win32 Debug) or not (bindlib - Win32 Release), but please remember the choice you made, because the debug build will only link with PHP when it is also built in debug mode. Build the appropriate configuration:

  • For GUI users, launch VC++, by double-clicking in C:\work\bindlib_w32\bindlib.dsw. Then select Build=>Rebuild All.

  • For command line users, make sure that you either have the C++ environment variables registered, or have run vcvars.bat, and then execute one of the following commands:

    • msdev bindlib.dsp /MAKE "bindlib - Win32 Debug"
    • msdev bindlib.dsp /MAKE "bindlib - Win32 Release"
At this point, you should have a usable resolv.lib in either your C:\work\bindlib_w32\Debug or Release subdirectories. Copy this file into your C:\work\win32build\lib directory over the file by the same name found in there.

Building PHP using the new build system [PHP >=5 only]

This chapter explains how to compile PHP >=5 using the new build system, which is CLI-based and very similar with the main PHP's Unix build system.

참고: This build system isn't available in PHP 4. Please refer to “Building PHP using DSW files [PHP 4]” instead.

Before starting, be sure you have read “Putting it all together” and you have built all needed libraries, like » Libxml or » ICU (needed for PHP >= 6).

First you should open a Visual Studio Command Prompt, which should be available under the Start menu. A regular Command Prompt window shouldn't work, as probably it doesn't have the necessary environment variables set. Then type something like cd C:\work\php-5.x.x to enter in the PHP source dir. Now you are ready to start configuring PHP.

The second step is running the buildconf batch file to make the configure script, by scanning the folder for config.w32 files. By default this command will also search in the following directories: pecl; ..\pecl; pecl\rpc; ..\pecl\rpc. Since PHP 5.1.0, you can change this behaviour by using the --add-modules-dir argument (e.g. cscript /nologo win32/build/buildconf.js --add-modules-dir=../php-gtk2 --add-modules-dir=../pecl).

The third step is configuring. To view the list of the available configuration options type cscript /nologo configure.js --help. After choosing the options that you will enable/disable, type something like: cscript /nologo configure.js --disable-foo --enable-fun-ext. Using --enable-foo=shared will attempt to build the 'foo' extension as a shared, dynamically loadable module.

The last step is compiling. To achieve this just issue the command nmake. The generated files (e.g. .exe and .dll) will be placed in either Release_TS or Debug_TS directories (if built with Thread safety), or in the Release or Debug directories otherwise.

Optionally you may also run PHP's test suite, by typing nmake test. If you want to run just a specific test, you may use the 'TESTS' variable (e.g. nmake /D TESTS=ext/sqlite/tests test - will only run sqlite's tests). To delete the files that were created during the compilation, you can use the nmake clean command.

A very useful configure option to build snapshots is --enable-snapshot-build, which add a new compiling mode (nmake build-snap). This tries to build every extension available (as shared, by default), but it will ignore build errors in individual extensions or SAPI.

Building PHP using DSW files [PHP 4]

Compiling PHP using the DSW files isn't supported as of PHP 5, as a much more flexible system was made available. Anyway, you can still use them, but keep in mind that they are not maintained very often, so you can have compiling problems. To compile PHP 4 for windows, this is the only available way though.

Configure MVC ++

The first step is to configure MVC++ to prepare for compiling. Launch Microsoft Visual C++, and from the menu select Tools => Options. In the dialog, select the directories tab. Sequentially change the dropdown to Executables, Includes, and Library files. Your entries should look like this:

  • Executable files: C:\work\win32build\bin, Cygwin users: C:\cygwin\bin
  • Include files: C:\work\win32build\include
  • Library files: C:\work\win32build\lib

Compiling

The best way to get started is to build the CGI version:

  • For GUI users, launch VC++, and then select File => Open Workspace and select C:\work\php-4.x.x\win32\php4ts.dsw. Then select Build=>Set Active Configuration and select the desired configuration, either php4ts - Win32 Debug_TS or php4ts - Win32 Release_TS. Finally select Build=>Rebuild All.

  • For command line users, make sure that you either have the C++ environment variables registered, or have run vcvars.bat, and then execute one of the following commands from the C:\work\php-4.x.x\win32 directory:

    • msdev php4ts.dsp /MAKE "php4ts - Win32 Debug_TS"
    • msdev php4ts.dsp /MAKE "php4ts - Win32 Release_TS"
    • At this point, you should have a usable php.exe in either your C:\work\php-4.x.x\Debug_TS or Release_TS subdirectories.

It is possible to do minor customization to the build process by editing the main/config.win32.h file. For example you can change the default location of php.ini, the built-in extensions, and the default location for your extensions.

Next you may want to build the CLI version which is designed to use PHP from the command line. The steps are the same as for building the CGI version, except you have to select the php4ts_cli - Win32 Debug_TS or php4ts_cli - Win32 Release_TS project file. After a successful compiling run you will find the php.exe in either the directory Release_TS\cli\ or Debug_TS\cli\.

In order to build the SAPI module (php4isapi.dll) for integrating PHP with Microsoft IIS, set your active configuration to php4isapi-whatever-config and build the desired dll.

이전 | 위로 | 다음
Xitami on Microsoft Windows | 처음으로 | Installation of extensions on Windows


Installation of extensions on Windows

After installing PHP and a web server on Windows, you will probably want to install some extensions for added functionality. You can choose which extensions you would like to load when PHP starts by modifying your php.ini. You can also load a module dynamically in your script using dl().

The DLLs for PHP extensions are prefixed with php_.

Many extensions are built into the Windows version of PHP. This means additional DLL files, and the extension directive, are not used to load these extensions. The Windows PHP Extensions table lists extensions that require, or used to require, additional PHP DLL files. Here's a list of built in extensions:

In PHP 4 (updated PHP 4.3.11): BCMath, Caledar, COM, Ctype, FTP, MySQL, ODBC, Overload, PCRE, Session, Tokenizer, WDDX, XML 그리고 Zlib

In PHP 5 (updated PHP 5.0.4), the following changes exist. Built in: DOM, LibXML, Iconv, SimpleXML, SPL 그리고 SQLite. And the following are no longer built in: MySQL and Overload.

The default location PHP searches for extensions is C:\php4\extensions in PHP 4 and C:\php5 in PHP 5. To change this setting to reflect your setup of PHP edit your php.ini file:

  • You will need to change the extension_dir setting to point to the directory where your extensions lives, or where you have placed your php_*.dll files. For example:

extension_dir = C:\php\extensions

  • Enable the extension(s) in php.ini you want to use by uncommenting the extension=php_*.dll lines in php.ini. This is done by deleting the leading ; from the extension you want to load.

    예 6.8. Enable Bzip2 extension for PHP-Windows

// change the following line from ...
;extension=php_bz2.dll

// ... to
extension=php_bz2.dll

  • Some of the extensions need extra DLLs to work. Couple of them can be found in the distribution package, in the C:\php\dlls\ folder in PHP 4 or in the main folder in PHP 5, but some, for example Oracle (php_oci8.dll) require DLLs which are not bundled with the distribution package. If you are installing PHP 4, copy the bundled DLLs from C:\php\dlls folder to the main C:\php folder. Don't forget to include C:\php in the system PATH (this process is explained in a separate FAQ entry).

  • Some of these DLLs are not bundled with the PHP distribution. See each extensions documentation page for details. Also, read the manual section titled Installation of PECL extensions for details on PECL. An increasingly large number of PHP extensions are found in PECL, and these extensions require a separate download.

참고: If you are running a server module version of PHP remember to restart your web server to reflect your changes to php.ini.

The following table describes some of the extensions available and required additional dlls.

표 6.1. PHP Extensions

Extension | Description | Notes
php_bz2.dll | bzip2 compression functions | None
php_calendar.dll | Calendar conversion functions | Built in since PHP 4.0.3
php_cpdf.dll | ClibPDF functions | None
php_crack.dll | Crack functions | None
php_ctype.dll | ctype family functions | Built in since PHP 4.3.0
php_curl.dll | CURL, Client URL library functions | Requires: libeay32.dll, ssleay32.dll (bundled)
php_cybercash.dll | Cybercash payment functions | PHP <= 4.2.0
php_db.dll | DBM functions | Deprecated. Use DBA instead (php_dba.dll)
php_dba.dll | DBA: DataBase (dbm-style) Abstraction layer functions | None
php_dbase.dll | dBase functions | None
php_dbx.dll | dbx functions |
php_domxml.dll | DOM XML functions | PHP <= 4.2.0 requires: libxml2.dll (bundled) PHP >= 4.3.0 requires: iconv.dll (bundled)
php_dotnet.dll | .NET functions | PHP <= 4.1.1
php_exif.dll | EXIF functions | php_mbstring.dll. And, php_exif.dll must be loaded after php_mbstring.dll in php.ini.
php_fbsql.dll | FrontBase functions | PHP <= 4.2.0
php_fdf.dll | FDF: Forms Data Format functions. | Requires: fdftk.dll (bundled)
php_filepro.dll | filePro functions | Read-only access
php_ftp.dll | FTP functions | Built-in since PHP 4.0.3
php_gd.dll | GD library image functions | Removed in PHP 4.3.2. Also note that truecolor functions are not available in GD1, instead, use php_gd2.dll.
php_gd2.dll | GD library image functions | GD2
php_gettext.dll | Gettext functions | PHP <= 4.2.0 requires gnu_gettext.dll (bundled), PHP >= 4.2.3 requires libintl-1.dll, iconv.dll (bundled).
php_hyperwave.dll | HyperWave functions | None
php_iconv.dll | ICONV characterset conversion | Requires: iconv-1.3.dll (bundled), PHP >=4.2.1 iconv.dll
php_ifx.dll | Informix functions | Requires: Informix libraries
php_iisfunc.dll | IIS management functions | None
php_imap.dll | IMAP POP3 and NNTP functions | None
php_ingres.dll | Ingres II functions | Requires: Ingres II libraries
php_interbase.dll | InterBase functions | Requires: gds32.dll (bundled)
php_java.dll | Java functions | PHP <= 4.0.6 requires: jvm.dll (bundled)
php_ldap.dll | LDAP functions | PHP <= 4.2.0 requires libsasl.dll (bundled), PHP >= 4.3.0 requires libeay32.dll, ssleay32.dll (bundled)
php_mbstring.dll | Multi-Byte String functions | None
php_mcrypt.dll | Mcrypt Encryption functions | Requires: libmcrypt.dll
php_mhash.dll | Mhash functions | PHP >= 4.3.0 requires: libmhash.dll (bundled)
php_mime_magic.dll | Mimetype functions | Requires: magic.mime (bundled)
php_ming.dll | Ming functions for Flash | None
php_msql.dll | mSQL functions | Requires: msql.dll (bundled)
php_mssql.dll | MSSQL functions | Requires: ntwdblib.dll (bundled)
php_mysql.dll | MySQL functions | PHP >= 5.0.0, requires libmysql.dll (bundled)
php_mysqli.dll | MySQLi functions | PHP >= 5.0.0, requires libmysql.dll (libmysqli.dll in PHP <= 5.0.2) (bundled)
php_oci8.dll | Oracle 8 functions | Requires: Oracle 8.1+ client libraries
php_openssl.dll | OpenSSL functions | Requires: libeay32.dll (bundled)
php_oracle.dll | Oracle functions | Requires: Oracle 7 client libraries
php_overload.dll | Object overloading functions | Built in since PHP 4.3.0
php_pdf.dll | PDF functions | None
php_pgsql.dll | PostgreSQL functions | None
php_printer.dll | Printer functions | None
php_shmop.dll | Shared Memory functions | None
php_snmp.dll | SNMP get and walk functions | NT only!
php_soap.dll | SOAP functions | PHP >= 5.0.0
php_sockets.dll | Socket functions | None
php_sybase_ct.dll | Sybase functions | Requires: Sybase client libraries
php_tidy.dll | Tidy functions | PHP >= 5.0.0
php_tokenizer.dll | Tokenizer functions | Built in since PHP 4.3.0
php_w32api.dll | W32api functions | None
php_xmlrpc.dll | XML-RPC functions | PHP >= 4.2.1 requires: iconv.dll (bundled)
php_xslt.dll | XSLT functions | PHP <= 4.2.0 requires sablot.dll, expat.dll (bundled). PHP >= 4.2.1 requires sablot.dll, expat.dll, iconv.dll (bundled).
php_yaz.dll | YAZ functions | Requires: yaz.dll (bundled)
php_zip.dll | Zip File functions | Read only access
php_zlib.dll | ZLib compression functions | Built in since PHP 4.3.0

이전 | 위로 | 다음
Building from source | 처음으로 | 7. Installation of PECL extensions


Microsoft IIS / PWS

This section contains notes and hints specific to IIS (Microsoft Internet Information Server).

주의

CGI 설정을 사용할 때, 서버가 여러 공격에 노출됩니다. 이러한 공격을 막기 위해 CGI 보안 섹션을 읽어보십시오.

General considerations for all installations of PHP with IIS or PWS

  • First, read the Manual Installation Instructions. Do not skip this step as it provides crucial information for installing PHP on Windows.
  • CGI users must set the cgi.force_redirect PHP directive to 0 inside php.ini. Read the faq on cgi.force_redirect for important details. Also, CGI users may want to set the cgi.redirect_status_env directive. When using directives, be sure these directives aren't commented out inside php.ini.
  • The PHP 4 CGI is named php.exe while in PHP 5 it's php-cgi.exe. In PHP 5, php.exe is the CLI, and not the CGI.
  • Modify the Windows PATH environment variable to include the PHP directory. This way the PHP DLL files and PHP executables can all remain in the PHP directory without cluttering up the Windows system directory. For more details, see the FAQ on Setting the PATH.
  • The IIS user (usually IUSR_MACHINENAME) needs permission to read various files and directories, such as php.ini, docroot, and the session tmp directory.
  • Be sure the extension_dir and doc_root PHP directives are appropriately set in php.ini. These directives depend on the system that PHP is being installed on. In PHP 4, the extension_dir is extensions while with PHP 5 it's ext. So, an example PHP 5 extensions_dir value is "c:\php\ext" and an example IIS doc_root value is "c:\Inetpub\wwwroot".
  • PHP extension DLL files, such as php_mysql.dll and php_curl.dll, are found in the zip package of the PHP download (not the PHP installer). In PHP 5, many extensions are part of PECL and can be downloaded in the "Collection of PECL modules" package. Files such as php_zip.dll and php_ssh2.dll. » Download PHP files here.
  • When defining the executable, the 'check that file exists' box may also be checked. For a small performance penalty, the IIS (or PWS) will check that the script file exists and sort out authentication before firing up PHP. This means that the web server will provide sensible 404 style error messages instead of CGI errors complaining that PHP did not output any data.
  • The PHP executable is distributed as a 32bit application. If you are running a 64bit version of Windows you will either need to rebuild the binary yourself, or make sure IIS is configured to also run 32bit extensions. You can usually turn this on by using the IIS Administration script as follows: Cscript.exe adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

Windows NT/200x/XP and IIS 4 or newer

PHP may be installed as a CGI binary, or with the ISAPI module. In either case, you need to start the Microsoft Management Console (may appear as 'Internet Services Manager', either in your Windows NT 4.0 Option Pack branch or the Control Panel=>Administrative Tools under Windows 2000/XP). Then right click on your Web server node (this will most probably appear as 'Default Web Server'), and select 'Properties'.

If you want to use the CGI binary, do the following:

  • Under 'Home Directory', 'Virtual Directory', or 'Directory', do the following:
  • Change the Execute Permissions to 'Scripts only'
  • Click on the 'Configuration' button, and choose the Application Mappings tab. Click Add and set the Executable path to the appropriate CGI file. An example PHP 5 value is: C:\php\php-cgi.exe Supply .php as the extension. Leave 'Method exclusions' blank, and check the 'Script engine' checkbox. Now, click OK a few times.
  • Set up the appropriate security. (This is done in Internet Service Manager), and if your NT Server uses NTFS file system, add execute rights for I_USR_ to the directory that contains php.exe / php-cgi.exe.

To use the ISAPI module, do the following:

  • If you don't want to perform HTTP Authentication using PHP, you can (and should) skip this step. Under ISAPI Filters, add a new ISAPI filter. Use PHP as the filter name, and supply a path to the php4isapi.dll / php5isapi.dll.
  • Under 'Home Directory', 'Virtual Directory', or 'Directory', do the following:
  • Change the Execute Permissions to 'Scripts only'
  • Click on the 'Configuration' button, and choose the Application Mappings tab. Click Add and set the Executable path to the appropriate ISAPI DLL. An example PHP 5 value is: C:\php\php5isapi.dll Supply .php as the extension. Leave 'Method exclusions' blank, and check the 'Script engine' checkbox. Now, click OK a few times.
  • Stop IIS completely (NET STOP iisadmin)
  • Start IIS again (NET START w3svc)

With IIS 6 (2003 Server), open up the IIS Manager, go to Web Service Extensions, choose "Add a new Web service extension", enter in a name such as PHP, choose the Add button and for the value browse to either the ISAPI file (php4isapi.dll or php5isapi.dll) or CGI (php.exe or php-cgi.exe) then check "Set extension status to Allowed" and click OK.

In order to use index.php as a default content page, do the following: From within the Documents tab, choose Add. Type in index.php and click OK. Adjust the order by choosing Move Up or Move Down. This is similar to setting DirectoryIndex with Apache.

The steps above must be repeated for each extension that is to be associated with PHP scripts. .php is the most common although .php3 may be required for legacy applications.

If you experience 100% CPU usage after some time, turn off the IIS setting Cache ISAPI Application.

Windows and PWS 4

PWS 4 does not support ISAPI, only PHP CGI should be used.

  • Edit the enclosed pws-php4cgi.reg / pws-php5cgi.reg file (look into the SAPI folder for PHP 4, or in the main folder for PHP 5) to reflect the location of your php.exe / php-cgi.exe. Backslashes should be escaped, for example: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="C:\\php\\php.exe" (change to C:\\php\\php-cgi.exe if you are using PHP 5) Now merge this registery file into your system; you may do this by double-clicking it.
  • In the PWS Manager, right click on a given directory you want to add PHP support to, and select Properties. Check the 'Execute' checkbox, and confirm.

Windows and PWS/IIS 3

The recommended method for configuring these servers is to use the REG file included with the distribution (pws-php4cgi.reg in the SAPI folder for PHP 4, or pws-php5cgi.reg in the main folder for PHP 5). You may want to edit this file and make sure the extensions and PHP install directories match your configuration. Or you can follow the steps below to do it manually.

주의

These steps involve working directly with the Windows registry. One error here can leave your system in an unstable state. We highly recommend that you back up your registry first. The PHP Development team will not be held responsible if you damage your registry.

  • Run Regedit.
  • Navigate to: HKEY_LOCAL_MACHINE /System /CurrentControlSet /Services /W3Svc /Parameters /ScriptMap.
  • On the edit menu select: New->String Value.
  • Type in the extension you wish to use for your php scripts. For example .php
  • Double click on the new string value and enter the path to php.exe in the value data field. ex: C:\php\php.exe "%s" %s for PHP 4, or C:\php\php-cgi.exe "%s" %s for PHP 5.
  • Repeat these steps for each extension you wish to associate with PHP scripts.

The following steps do not affect the web server installation and only apply if you want your PHP scripts to be executed when they are run from the command line (ex. run C:\myscripts\test.php) or by double clicking on them in a directory viewer window. You may wish to skip these steps as you might prefer the PHP files to load into a text editor when you double click on them.

  • Navigate to: HKEY_CLASSES_ROOT
  • On the edit menu select: New->Key.
  • Name the key to the extension you setup in the previous section. ex: .php
  • Highlight the new key and in the right side pane, double click the "default value" and enter phpfile.
  • Repeat the last step for each extension you set up in the previous section.
  • Now create another New->Key under HKEY_CLASSES_ROOT and name it phpfile.
  • Highlight the new key phpfile and in the right side pane, double click the "default value" and enter PHP Script.
  • Right click on the phpfile key and select New->Key, name it Shell.
  • Right click on the Shell key and select New->Key, name it open.
  • Right click on the open key and select New->Key, name it command.
  • Highlight the new key command and in the right side pane, double click the "default value" and enter the path to php.exe. ex: c:\php\php.exe -q %1. (don't forget the %1).
  • Exit Regedit.
  • If using PWS on Windows, reboot to reload the registry.

PWS and IIS 3 users now have a fully operational system. IIS 3 users can use a nifty » tool from Steven Genusa to configure their script maps.

이전 | 위로 | 다음
ActiveScript | 처음으로 | Apache 1.3.x on Microsoft Windows


Windows Installer (PHP 5.1.0 and earlier)

The Windows PHP installer is available from the downloads page at » http://www.php.net/downloads.php. This installs the CGI version of PHP and for IIS, PWS, and Xitami, it configures the web server as well. The installer does not include any extra external PHP extensions (php_*.dll) as you'll only find those in the Windows Zip Package and PECL downloads.

참고: While the Windows installer is an easy way to make PHP work, it is restricted in many aspects as, for example, the automatic setup of extensions is not supported. Use of the installer isn't the preferred method for installing PHP.

First, install your selected HTTP (web) server on your system, and make sure that it works.

Run the executable installer and follow the instructions provided by the installation wizard. Two types of installation are supported - standard, which provides sensible defaults for all the settings it can, and advanced, which asks questions as it goes along.

The installation wizard gathers enough information to set up the php.ini file, and configure certain web servers to use PHP. One of the web servers the PHP installer does not configure for is Apache, so you'll need to configure it manually.

Once the installation has completed, the installer will inform you if you need to restart your system, restart the server, or just start using PHP.

주의

Be aware, that this setup of PHP is not secure. If you would like to have a secure PHP setup, you'd better go on the manual way, and set every option carefully. This automatically working setup gives you an instantly working PHP installation, but it is not meant to be used on online servers.

이전 | 위로 | 다음
6. Installation on Windows systems | 처음으로 | Manual Installation Steps


Manual Installation Steps

This install guide will help you manually install and configure PHP with a web server on Microsoft Windows. To get started you'll need to download the zip binary distribution from the downloads page at » http://www.php.net/downloads.php.

Although there are many all-in-one installation kits, and we also distribute a PHP installer for Microsoft Windows, we recommend you take the time to setup PHP yourself as this will provide you with a better understanding of the system, and enables you to install PHP extensions easily when needed.

Upgrading from a previous PHP version: Previous editions of the manual suggest moving various ini and DLL files into your SYSTEM (i.e. C:\WINDOWS) folder and while this simplifies the installation procedure it makes upgrading difficult. We advise you remove all of these files (like php.ini and PHP related DLLs from the Windows SYSTEM folder) before moving on with a new PHP installation. Be sure to backup these files as you might break the entire system. The old php.ini might be useful in setting up the new PHP as well. And as you'll soon learn, the preferred method for installing PHP is to keep all PHP related files in one directory and have this directory available to your systems PATH.

MDAC requirements: If you use Microsoft Windows 98/NT4 download the latest version of the Microsoft Data Access Components (MDAC) for your platform. MDAC is available at » http://msdn.microsoft.com/data/. This requirement exists because ODBC is built into the distributed Windows binaries.

The following steps should be completed on all installations before any server specific instructions are performed:

Extract the distribution file into a directory of your choice. If you are installing PHP 4, extract to C:\, as the zip file expands to a foldername like php-4.3.7-Win32. If you are installing PHP 5, extract to C:\php as the zip file doesn't expand as in PHP 4. You may choose a different location but do not have spaces in the path (like C:\Program Files\PHP) as some web servers will crash if you do.

The directory structure extracted from the zip is different for PHP versions 4 and 5 and look like as follows:

예 6.1. PHP 4 package structure

c:\php
   |
   +--cli
   |  |
   |  |-php.exe           -- CLI executable - ONLY for command line scripting
   |
   +--dlls                -- support DLLs required by some extensions
   |  |
   |  |-expat.dll
   |  |
   |  |-fdftk.dll
   |  |
   |  |-...
   |
   +--extensions          -- extension DLLs for PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-..
   |
   +--mibs                -- support files for SNMP
   |
   +--openssl             -- support files for Openssl
   |
   +--pdf-related         -- support files for PDF
   |
   +--sapi                -- SAPI (server module support) DLLs
   |  |
   |  |-php4apache.dll
   |  |
   |  |-php4apache2.dll
   |  |
   |  |-..
   |
   +--PEAR                -- initial copy of PEAR
   |
   |
   |-go-pear.bat          -- PEAR setup script
   |
   |-..
   |
   |-php.exe              -- CGI executable
   |
   |-..
   |
   |-php.ini-dist         -- default php.ini settings
   |
   |-php.ini-recommended  -- recommended php.ini settings
   |
   |-php4ts.dll           -- core PHP DLL
   |
   |-...

Or:

예 6.2. PHP 5 package structure

c:\php
   |
   +--dev
   |  |
   |  |-php5ts.lib
   |
   +--ext                 -- extension DLLs for PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-..
   |
   +--extras
   |  |
   |  +--mibs             -- support files for SNMP
   |  |
   |  +--openssl          -- support files for Openssl
   |  |
   |  +--pdf-related      -- support files for PDF
   |  |
   |  |-mime.magic
   |
   +--pear                -- initial copy of PEAR
   |
   |
   |-go-pear.bat          -- PEAR setup script
   |
   |-fdftk.dll
   |
   |-..
   |
   |-php-cgi.exe          -- CGI executable
   |
   |-php-win.exe          -- executes scripts without an opened command prompt
   |
   |-php.exe              -- CLI executable - ONLY for command line scripting
   |
   |-..
   |
   |-php.ini-dist         -- default php.ini settings
   |
   |-php.ini-recommended  -- recommended php.ini settings
   |
   |-php5activescript.dll
   |
   |-php5apache.dll
   |
   |-php5apache2.dll
   |
   |-..
   |
   |-php5ts.dll           -- core PHP DLL
   |
   |-...

Notice the differences and similarities. Both PHP 4 and PHP 5 have a CGI executable, a CLI executable, and server modules, but they are located in different folders and/or have different names. While PHP 4 packages have the server modules in the sapi folder, PHP 5 distributions have no such directory and instead they're in the PHP folder root. The supporting DLLs for the PHP 5 extensions are also not in a seperate directory.

참고: In PHP 4, you should move all files located in the dll and sapi folders to the main folder (e.g. C:\php).

Here is a list of server modules shipped with PHP 4 and PHP 5:

  • sapi/php4activescript.dll (php5activescript.dll) - ActiveScript engine, allowing you to embed PHP in your Windows applications.

  • sapi/php4apache.dll (php5apache.dll) - Apache 1.3.x module.

  • sapi/php4apache2.dll (php5apache2.dll) - Apache 2.0.x module.

  • sapi/php5apache2_2.dll - Apache 2.2.x module.

  • sapi/php4isapi.dll (php5isapi.dll) - ISAPI Module for ISAPI compliant web servers like IIS 4.0/PWS 4.0 or newer.

  • sapi/php4nsapi.dll (php5nsapi.dll) - Sun/iPlanet/Netscape server module.

  • sapi/php4pi3web.dll (no equivalent in PHP 5) - Pi3Web server module.

Server modules provide significantly better performance and additional functionality compared to the CGI binary. The CLI version is designed to let you use PHP for command line scripting. More information about CLI is available in the chapter about using PHP from the command line.

주의

The SAPI modules have been significantly improved as of the 4.1 release, however, in older systems you may encounter server errors or other server modules failing, such as ASP.

The CGI and CLI binaries, and the web server modules all require the php4ts.dll (php5ts.dll) file to be available to them. You have to make sure that this file can be found by your PHP installation. The search order for this DLL is as follows:

  • The same directory from where php.exe is called, or in case you use a SAPI module, the web server's directory (e.g. C:\Program Files\Apache Group\Apache2\bin).

  • Any directory in your Windows PATH environment variable.

To make php4ts.dll / php5ts.dll available you have three options: copy the file to the Windows system directory, copy the file to the web server's directory, or add your PHP directory, C:\php to the PATH. For better maintenance, we advise you to follow the last option, add C:\php to the PATH, because it will be simpler to upgrade PHP in the future. Read more about how to add your PHP directory to PATH in the corresponding FAQ entry (and then don't forget to restart the computer - logoff isn't enough).

The next step is to set up a valid configuration file for PHP, php.ini. There are two ini files distributed in the zip file, php.ini-dist and php.ini-recommended. We advise you to use php.ini-recommended, because we optimized the default settings in this file for performance, and security. Read this well documented file carefully because it has changes from php.ini-dist that will drastically affect your setup. Some examples are display_errors being off and magic_quotes_gpc being off. In addition to reading these, study the ini settings and set every element manually yourself. If you would like to achieve the best security, then this is the way for you, although PHP works fine with these default ini files. Copy your chosen ini-file to a directory that PHP is able to find and rename it to php.ini. PHP searches for php.ini in the locations described in “The configuration file” section.

If you are running Apache 2, the simpler option is to use the PHPIniDir directive (read the installation on Apache 2 page), otherwise your best option is to set the PHPRC environment variable. This process is explained in the following FAQ entry.

참고: If you're using NTFS on Windows NT, 2000, XP or 2003, make sure that the user running the web server has read permissions to your php.ini (e.g. make it readable by Everyone).

The following steps are optional:

  • Edit your new php.ini file. If you plan to use OmniHTTPd, do not follow the next step. Set the doc_root to point to your web servers document_root. For example:

doc_root = c:\inetpub\wwwroot // for IIS/PWS

doc_root = c:\apache\htdocs // for Apache

  • Choose the extensions you would like to load when PHP starts. See the section about Windows extensions, about how to set up one, and what is already built in. Note that on a new installation it is advisable to first get PHP working and tested without any extensions before enabling them in php.ini.
  • On PWS and IIS, you can set the browscap configuration setting to point to: c:\windows\system\inetsrv\browscap.ini on Windows 9x/Me, c:\winnt\system32\inetsrv\browscap.ini on NT/2000, and c:\windows\system32\inetsrv\browscap.ini on XP. For an up-to-date browscap.ini, read the following FAQ.

PHP is now setup on your system. The next step is to choose a web server, and enable it to run PHP. Choose a web server from the table of contents.

이전 | 위로 | 다음
Windows Installer (PHP 5.1.0 and earlier) | 처음으로 | ActiveScript


OmniHTTPd Server

This section contains notes and hints specific to » OmniHTTPd on Windows.

참고: You should read the manual installation steps first!

주의

CGI 설정을 사용할 때, 서버가 여러 공격에 노출됩니다. 이러한 공격을 막기 위해 CGI 보안 섹션을 읽어보십시오.

You need to complete the following steps to make PHP work with OmniHTTPd. This is a CGI executable setup. SAPI is supported by OmniHTTPd, but some tests have shown that it is not so stable to use PHP as an ISAPI module.

Important for CGI users: Read the faq on cgi.force_redirect for important details. This directive needs to be set to 0.

  1. Install OmniHTTPd server.

  2. Right click on the blue OmniHTTPd icon in the system tray and select Properties

  3. Click on Web Server Global Settings

  4. On the 'External' tab, enter: virtual = .php | actual = c:\php\php.exe (use php-cgi.exe if installing PHP 5), and use the Add button.

  5. On the Mime tab, enter: virtual = wwwserver/stdcgi | actual = .php, and use the Add button.

  6. Click OK

Repeat steps 2 - 6 for each extension you want to associate with PHP.

참고: Some OmniHTTPd packages come with built in PHP support. You can choose at setup time to do a custom setup, and uncheck the PHP component. We recommend you to use the latest PHP binaries. Some OmniHTTPd servers come with PHP 4 beta distributions, so you should choose not to set up the built in support, but install your own. If the server is already on your machine, use the Replace button in Step 4 and 5 to set the new, correct information.

이전 | 위로 | 다음
Sun, iPlanet and Netscape servers on Microsoft Windows | 처음으로 | Sambar Server on Microsoft Windows


Sambar Server on Microsoft Windows

This section contains notes and hints specific to the » Sambar Server for Windows.

참고: You should read the manual installation steps first!

This list describes how to set up the ISAPI module to work with the Sambar server on Windows.

  • Find the file called mappings.ini (in the config directory) in the Sambar install directory.

  • Open mappings.ini and add the following line under [ISAPI]:

    예 6.7. ISAPI configuration of Sambar

#for PHP 4
*.php = c:\php\php4isapi.dll

#for PHP 5
*.php = c:\php\php5isapi.dll

    (This line assumes that PHP was installed in c:\php.)

  • Now restart the Sambar server for the changes to take effect.

참고: If you intend to use PHP to communicate with resources which are held on a different computer on your network, then you will need to alter the account used by the Sambar Server Service. The default account used for the Sambar Server Service is LocalSystem which will not have access to remote resources. The account can be amended by using the Services option from within the Windows Control Panel Administation Tools.

이전 | 위로 | 다음
OmniHTTPd Server | 처음으로 | Xitami on Microsoft Windows


Sun, iPlanet and Netscape servers on Microsoft Windows

This section contains notes and hints specific to Sun Java System Web Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP on Windows.

From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to generate custom directory listings and error pages. Additional functions for Apache compatibility are also available. For support in current web servers read the note about subrequests.

CGI setup on Sun, iPlanet and Netscape servers

To install PHP as a CGI handler, do the following:

  • Copy php4ts.dll to your systemroot (the directory where you installed Windows)

  • Make a file association from the command line. Type the following two lines:

assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • In the Netscape Enterprise Administration Server create a dummy shellcgi directory and remove it just after (this step creates 5 important lines in obj.conf and allow the web server to handle shellcgi scripts).
  • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal/shellcgi, File Suffix:php).
  • Do it for each web server instance you want PHP to run

More details about setting up PHP as a CGI executable can be found here: » http://benoit.noss.free.fr/php/install-php.html

NSAPI setup on Sun, iPlanet and Netscape servers

To install PHP with NSAPI, do the following:

  • Copy php4ts.dll to your systemroot (the directory where you installed Windows)

  • Make a file association from the command line. Type the following two lines:

assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*

  • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal/x-httpd-php, File Suffix: php).

  • Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) and add the following: You should place the lines after mime types init.

Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll"
Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
    (PHP >= 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server configuration directory.

  • Configure the default object in obj.conf (for virtual server classes [Sun Web Server 6.0+] in their vserver.obj.conf): In the <Object name="default"> section, place this line necessarily after all 'ObjectType' and before all 'AddLog' lines:

Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
    (PHP >= 4.3.3) As additional parameters you can add some special php.ini-values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

  • This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

<Object name="x-httpd-php">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
Service fn=php4_execute [inikey=value inikey=value ...]
</Object>
    After that you can configure a directory in the Administration server and assign it the style x-httpd-php. All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html.

  • Restart your web service and apply changes
  • Do it for each web server instance you want PHP to run

참고: More details about setting up PHP as an NSAPI filter can be found here: » http://benoit.noss.free.fr/php/install-php4.html

참고: The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

CGI environment and recommended modifications in php.ini

Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE WS/iPlanet/Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct way to try this in the old PHP 3.x way with getenv() or a similar way (register globals to environment, $_ENV). You would only get the environment of the running web server without any valid CGI variables!

참고: Why are there (invalid) CGI variables in the environment?

Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $_SERVER. If you have older scripts which use $HTTP_HOST, etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

variables_order = "GPCS"
register_globals = On

Special use for error pages or self-made directory listings (PHP >= 4.3.3)

You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $_SERVER['ERROR_TYPE'].

Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type="magnus-internal/directory" in obj.conf with the following:

Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
For both error and directory listing pages the original URI and translated URI are in the variables $_SERVER['PATH_INFO'] and $_SERVER['PATH_TRANSLATED'].

Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)

The NSAPI module now supports the nsapi_virtual() function (alias: virtual()) to make subrequests on the web server and insert the result in the web page. The problem is, that this function uses some undocumented features from the NSAPI library.

Under Unix this is not a problem, because the module automatically looks for the needed functions and uses them if available. If not, nsapi_virtual() is disabled.

Under Windows limitations in the DLL handling need the use of a automatic detection of the most recent ns-httpdXX.dll file. This is tested for servers till version 6.1. If a newer version of the Sun server is used, the detection fails and nsapi_virtual() is disabled.

If this is the case, try the following: Add the following parameter to php4_init in magnus.conf/obj.conf:

Init fn=php4_init ... server_lib="ns-httpdXX.dll"
where XX is the correct DLL version number. To get it, look in the server-root for the correct DLL name. The DLL with the biggest filesize is the right one.

You can check the status by using the phpinfo() function.

참고: But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!

이전 | 위로 | 다음
Apache 2.0.x on Microsoft Windows | 처음으로 | OmniHTTPd Server


Xitami on Microsoft Windows

This section contains notes and hints specific to » Xitami on Windows.

참고: You should read the manual installation steps first!

This list describes how to set up the PHP CGI binary to work with Xitami on Windows.

Important for CGI users: Read the faq on cgi.force_redirect for important details. This directive needs to be set to 0. If you want to use $_SERVER['PHP_SELF'] you have to enable the cgi.fix_pathinfo directive.

주의

CGI 설정을 사용할 때, 서버가 여러 공격에 노출됩니다. 이러한 공격을 막기 위해 CGI 보안 섹션을 읽어보십시오.

  • Make sure the web server is running, and point your browser to xitamis admin console (usually http://127.0.0.1/admin), and click on Configuration.

  • Navigate to the Filters, and put the extension which PHP should parse (i.e. .php) into the field File extensions (.xxx).

  • In Filter command or script put the path and name of your PHP CGI executable i.e. C:\php\php.exe for PHP 4, or C:\php\php-cgi.exe for PHP 5.

  • Press the 'Save' icon.

  • Restart the server to reflect changes.

이전 | 위로 | 다음
Sambar Server on Microsoft Windows | 처음으로 | Building from source


부 VII. PHP 코어: Zend 엔진 해커 가이드

The Zend API has evolved considerably over time, as PHP has become a more robust and widespread language. With the introduction of PHP 5 came the Zend Engine 2 (ZE2). ZE2 came with an almost entirely new Object-Oriented Programming (OOP) model, as well as improvements in most aspects of the API. PHP 6, which is still under active development at the time of this writing, introduces the Zend Engine 3 (ZE3), which brings full Unicode support to the language.

주의

This documentation is still under heavy development. The original Zend documentation is preserved in its entirety in the Zend Engine 1 section for those who need it before this documentation is completed.

This section of the manual is devoted to ZE2. While PHP 4.3 is still in widespread use, the differences in how extensions are written in ZE1 are small; a short reference to them is given in an appendix to this section. ZE3's API may yet change significantly, and is covered in another appendix. It will be more fully documented when PHP 6 enters a beta testing stage.

The documentation in this section is current as of PHP 5.2.3, the most recent stable release at the time of this writing. Notable differences in the minor PHP 5 releases (5.0, 5.1, and 5.2) are given as appropriate.

차례

45. The PHP 5 build system
46. Extension structure
47. Memory management
48. Working with variables
49. Writing functions
50. Working with classes and objects
51. Working with resources
52. Working with INI settings
53. Working with streams
54. PDO Driver How-To
55. Extension FAQs
56. Zend Engine 2 API reference
57. Zend Engine 1
58. The future: PHP 6 and Zend Engine 3
이전 | 위로 | 다음
zlib_get_coding_type | 처음으로 | 45. The PHP 5 build system


56장. Zend Engine 2 API reference

이전 | 위로 | 다음
55. Extension FAQs | 처음으로 | 57. Zend Engine 1


45장. The PHP 5 build system

차례

Building PHP for extension development
The ext_skel script
Talking to the UNIX build system: config.m4
Talking to the Windows build system: config.w32

With all the functionality and flexibility available in PHP 5, it is no surprise that it consists of several thousand files and over one million lines of source code. Equally unsurprising is the necessity of a build system to manage so much data. This section describes how to set PHP up for extension development, the layout of an extension within the PHP source tree, and how to interface your extension with the build system.

Building PHP for extension development

In a typical PHP installation, the need for high performance almost always results in optimization at the cost of debugging facilities. This is a reasonable tradeoff for production use, but when developing an extension it falls short. What we need is a build of PHP which will give us some hints what has gone wrong when something does.

The Zend Engine provides a memory manager which is capable of tracking memory leaks in extensions and providing detailed debugging information. This tracking is disabled by default, as is thread-safety. To turn them on, pass the --enable-debug and --enable-maintainer-zts options to configure, along with whatever options you typically use. For instructions on building PHP from source, see the instructions at 3장. General Installation Considerations. A typical configure line might look like this:

$ ./configure --prefix=/where/to/install/php --enable-debug --enable-maintainer-zts --enable-cgi --enable-cli --with-mysql=/path/to/mysql

이전 | 위로 | 다음
VII. PHP 코어: Zend 엔진 해커 가이드 | 처음으로 | The ext_skel script


Talking to the UNIX build system: config.m4

The config.m4 file for an extension tells the UNIX build system what configure options your extension supports, what external libraries and includes you require, and what source files are to be compiled as part of it. A reference to all the commonly used autoconf macros, both PHP-specific and those built into autoconf, is given in the 56장. Zend Engine 2 API reference section.

작은 정보

When developing a PHP extension, it is strongly recommended that autoconf version 2.13 be installed, despite the newer releases which are available. Version 2.13 is recognized as a common denominator of autoconf availability, usability, and user base. Using later versions will sometimes produce cosmetic differences from the expected output of configure.

예 45.1. An example config.m4 file

dnl $Id: configunix.xml,v 1.1 2007/11/13 13:17:26 acidd15 Exp $
dnl config.m4 for extension example

PHP_ARG_WITH(example, for example support,
[  --with-example[=FILE]       Include example support. File is the optional path to example-config])
PHP_ARG_ENABLE(example-debug, whether to enable debugging support in example,
[  --enable-example-debug        example: Enable debugging support in example], no, no)
PHP_ARG_WITH(example-extra, for extra libraries for example,
[  --with-example-extra=DIR      example: Location of extra libraries for example], no, no)

dnl Check whether the extension is enabled at all
if test "$PHP_EXAMPLE" != "no"; then

  dnl Check for example-config. First try any path that was given to us, then look in $PATH
  AC_MSG_CHECKING([for example-config])
  EXAMPLE_CONFIG="example-config"
  if test "$PHP_EXAMPLE" != "yes"; then
    EXAMPLE_PATH=$PHP_EXAMPLE
  else
    EXAMPLE_PATH=`$php_shtool path $EXAMPLE_CONFIG`
  fi

  dnl If a usable example-config was found, use it
  if test -f "$EXAMPLE_PATH" && test -x "$EXAMPLE_PATH" && $EXAMPLE_PATH --version > /dev/null 2>&1; then
    AC_MSG_RESULT([$EXAMPLE_PATH])
    EXAMPLE_LIB_NAME=`$EXAMPLE_PATH --libname`
    EXAMPLE_INCDIRS=`$EXAMPLE_PATH --incdirs`
    EXAMPLE_LIBS=`$EXAMPLE_PATH --libs`

    dnl Check that the library works properly
    PHP_CHECK_LIBRARY($EXAMPLE_LIB_NAME, example_critical_function,
    [
      dnl Add the necessary include dirs
      PHP_EVAL_INCLINE($EXAMPLE_INCDIRS)
      dnl Add the necessary libraries and library dirs
      PHP_EVAL_LIBLINE($EXAMPLE_LIBS, EXAMPLE_SHARED_LIBADD)
    ],[
      dnl Bail out
      AC_MSG_ERROR([example library not found. Check config.log for more information.])
    ],[$EXAMPLE_LIBS]
    )
  else
    dnl No usable example-config, bail
    AC_MSG_RESULT([not found])
    AC_MSG_ERROR([Please check your example installation.])
  fi

  dnl Check whether to enable debugging
  if test "$PHP_EXAMPLE_DEBUG" != "no"; then
    dnl Yes, so set the C macro
    AC_DEFINE(USE_EXAMPLE_DEBUG,1,[Include debugging support in example])
  fi

  dnl Check for the extra support
  if test "$PHP_EXAMPLE_EXTRA" != "no"; then
    if test "$PHP_EXAMPLE_EXTRA" == "yes"; then
      AC_MSG_ERROR([You must specify a path when using --with-example-extra])
    fi

    PHP_CHECK_LIBRARY(example-extra, example_critical_extra_function,
    [
      dnl Add the neccessary paths
      PHP_ADD_INCLUDE($PHP_EXAMPLE_EXTRA/include)
      PHP_ADD_LIBRARY_WITH_PATH(example-extra, $PHP_EXAMPLE_EXTRA/lib, EXAMPLE_SHARED_LIBADD)
      AC_DEFINE(HAVE_EXAMPLEEXTRALIB,1,[Whether example-extra support is present and requested])
      EXAMPLE_SOURCES="$EXAMPLE_SOURCES example_extra.c"
    ],[
      AC_MSG_ERROR([example-extra lib not found. See config.log for more information.])
    ],[-L$PHP_EXAMPLE_EXTRA/lib]
    )
  fi

  dnl Finally, tell the build system about the extension and what files are needed
  PHP_NEW_EXTENSION(example, example.c $EXAMPLE_SOURCES, $ext_shared)
  PHP_SUBST(EXAMPLE_SHARED_LIBADD)
fi

A short introduction to autoconf syntax

config.m4 files are written using the GNU autoconf syntax. It can be described in a nutshell as shell scripting augmented by a powerful macro language. Comments are delimited by the string dnl, and strings are quoted using left and right brackets (e.g. [ and ]). Quoting of strings can be nested as many times as needed. A full reference to the syntax can be found in the autoconf manual at » http://www.gnu.org/software/autoconf/manual/.

PHP_ARG_*: Giving users the option

The very first thing seen in the example config.m4 above, aside from a couple of comments, are three lines using PHP_ARG_WITH() and PHP_ARG_ENABLE(). These provide configure with the options and help text seen when running ./configure --help. As the names suggest, the difference between the two is whether they create a --with-* option or an --enable-* option. Every extension should provide at least one or the other with the extension name, so that users can choose whether or not to build the extension into PHP. By convention, PHP_ARG_WITH() is used for an option which takes a parameter, such as the location of a library or program required by an extension, while PHP_ARG_ENABLE() is used for an option which represents a simple flag.

예 45.2. Sample configure output

$ ./configure --help
...
  --with-example[=FILE]       Include example support. FILE is the optional path to example-config
  --enable-example-debug        example: Enable debugging support in example
  --with-example-extra=DIR      example: Location of extra libraries for example
...

$ ./configure --with-example=/some/library/path/example-config --disable-example-debug --with-example-extra=/another/library/path
...
checking for example support... yes
checking whether to enable debugging support in example... no
checking for extra libraries for example... /another/library/path
...

참고: Regardless of the order in which options are specified on the command line when configure is called, the checks will be run in the order they are specified in config.m4.

Processing the user's choices

Now that config.m4 can provide the user with some choices of what to do, it's time to act upon those choices. In the example above, the obvious default for all three options, if any of them are unspecified, is "no". As a matter of convention, it is best to use this as the default for the option which enables the extension, as it will be overridden by phpize for extensions built separately, and should not clutter the extension space by default when being built into PHP. The code to process the three options is by far the most complicated.

Handling the --with-example[=FILE] option

The first check made of the --with-example[=FILE] option is whether it was set at all. As this option controls the inclusion of the entire extension, if it was unspecified, given in the negative form (--without-example), or given the value "no", nothing else is done at all. In the example above, it is specified with the value /some/library/path/example-config, so the first test succeeds.

Next, the code calls AC_MSG_CHECKING(), an autoconf macro which outputs a standard "checking for something" line, and checks whether the user gave an explicit path to the fictional example-config. In this example, PHP_EXAMPLE got the value /some/library/path/example-config, which is now copied into the EXAMPLE_PATH variable. Had the user specified only --with-example, the code would have executed $php_shtool path $EXAMPLE_CONFIG, which would try to guess the location of example-config using the user's current PATH. Either way, the next step is to check whether the chosen EXAMPLE_PATH is a regular file, is executable, and can be run successfully. If so, AC_MSG_RESULT() is called, which completes the output line started by AC_MSG_CHECKING(). Otherwise, AC_MSG_ERROR() is called, which prints the given message and halts configure immediately.

The code now determines some site-specific configuration information by running example-config several times. The next call is to PHP_CHECK_LIBRARY(), a macro provided by the PHP buildsystem as a wrapper around autoconf's AC_CHECK_LIB(). PHP_CHECK_LIBRARY() attempts to compile, link, and run a program which calls the symbol specified by the second parameter in the library specified by the first, using the string given in the fifth as extra linker options. If the attempt succeeds, the script given in the third parameter is run. This script tells the PHP buildsystem to extract include paths, library paths, and library names from the raw option strings example-config provided. If the attempt fails, the script in the fourth parameter is run instead. In this case, AC_MSG_ERROR() is called to stop processing.

Handling the --enable-example-debug option

Processing the --enable-example-debug is much simpler. A simple check for its truth value is performed. If that check succeeds, AC_DEFINE() is called to make the C macro USE_EXAMPLE_DEBUG available to the source of the extension. The third parameter is a comment string for config.h; it is safe to leave this empty, and often is.

Handling the --with-example-extra=DIR option

For the sake of this example, the fictional "extra" functionality requested by the --with-example-extra=DIR option does not share the fictional example-config program, nor does it have any default paths to search. Therefore, the user is required to provide the installation prefix of the necessary library. This setup is somewhat unlikely in a real-world extension, but is considered illustrative.

The code begins in a now-familiar way by checking the truth value of PHP_EXAMPLE_EXTRA. If a negative form was provided, no further processing is done; the user did not request extra functionality. If a positive form was provided without a parameter, AC_MSG_ERROR() is called to halt processing. The next step is another invocation of PHP_CHECK_LIBRARY(). This time, since there is no set of predefined compiler options provided, PHP_ADD_INCLUDE() and PHP_ADD_LIBRARY_WITH_PATH() are used to construct the necessary include paths, library paths, and library flags for the extra functionality. AC_DEFINE() is also called to indicate to the code that the extra functionality was both requested and available, and a variable is set to tell later code that there are extra source files to build. If the check fails, the familiar AC_MSG_ERROR() is called. A different way to handle the failure would have been to call AC_MSG_WARNING() instead, e.g.:

      AC_MSG_WARNING([example-extra lib not found. example will be built without extra functionality.])

In this case, configure would print a warning message rather than an error, and continue processing. Which way such failures are handled is a design decision left to the extension developer.

Telling the buildsystem what was decided

With all the necessary includes and libraries specified, with all the options processed and macros defined, one more thing remains to be done: The build system must be told to build the extension itself, and which files are to be used for that. To do this, the PHP_NEW_EXTENSION() macro is called. The first parameter is the name of the extension, which is the same as the name of the directory containing it. The second parameter is the list of all source files which are part of the extension. See PHP_ADD_BUILD_DIR() for information about adding source files in subdirectories to the build process. The third parameter should always be $ext_shared, a value which was determined by configure when PHP_ARG_WITH() was called for --with-example[=FILE]. The fourth parameter specifies a "SAPI class", and is only useful for extensions which require the CGI or CLI SAPIs specifically. It should be left empty in all other cases. The fifth parameter specifies a list of flags to be added to CFLAGS while building the extension; the sixth is a boolean value which, if "yes", will force the entire extension to be built using $CXX instead of $CC. All parameters after the third are optional. Finally, PHP_SUBST() is called to enable shared builds of the extension. See 55장. Extension FAQs for more information on disabling support for building an extension in shared mode.

이전 | 위로 | 다음
The ext_skel script | 처음으로 | Talking to the Windows build system: config.w32


Talking to the Windows build system: config.w32

An extension's config.w32 file is similar in usage to the config.m4 file, with two critical differences: first, it is used for Windows builds, and second, it is written in JavaScript. This section makes no attempt to cover JavaScript syntax. For the moment, this section is incomplete in lieu of a Win32 testbed, and an experimental-only port of the example config.m4 is the only example provided.

예 45.3. An example config.w32 file

// $Id: configwin.xml,v 1.1 2007/11/13 13:17:26 acidd15 Exp $
// vim:ft=javascript

ARG_WITH("example", "for example support", "no");
ARG_ENABLE("example-debug", "for debugging support in example", "no")
ARG_WITH("example-extra", "for extra functionality in example", "no")
if (PHP_EXAMPLE != "no") {
    if (CHECK_LIB("libexample.lib", "example", PHP_EXAMPLE) &&
        CHECK_HEADER_ADD_INCLUDE("example.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + "\\include")) {

        if (PHP_EXAMPLE_DEBUG != "no") {
            AC_DEFINE('USE_EXAMPLE_DEBUG', 1, 'Debug support in example');
        }

        if (PHP_EXAMPLE_EXTRA != "no" &&
            CHECK_LIB("libexample-extra.lib", "example", PHP_EXAMPLE) &&
            CHECK_HEADER_ADD_INCLUDE("example-extra.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + ";" + PHP_PHP_BUILD + "\\include") {
            AC_DEFINE('HAVE_EXAMPLEEXTRA', 1, 'Extra functionality in example');
            HAVE_EXTRA = 1;
        } else {
            WARNING( "extra example functionality not enabled, lib not found" );
        }

        EXTENSION("example", "example.c");
        if (HAVE_EXTRA == 1) {
            ADD_SOURCES("example-extra.c");
        }
    } else {
        WARNING( "example not enabled; libraries not found" );
    }
}

이전 | 위로 | 다음
Talking to the UNIX build system: config.m4 | 처음으로 | 46. Extension structure


The ext_skel script

A Zend extension is composed of several files common to all extensions. As the details of many of those files are similar from extension to extension, it can be laborous to duplicate the content for each one. Fortunately, there is a script which can do all of the initial setup for you. It's called ext_skel, and it's been distributed with PHP since 4.0.

Running ext_skel with no parameters produces this output in PHP 5.2.2:

php-5.2.2/ext$ ./ext_skel
./ext_skel --extname=module [--proto=file] [--stubs=file] [--xml[=file]]
           [--skel=dir] [--full-xml] [--no-help]

  --extname=module   module is the name of your extension
  --proto=file       file contains prototypes of functions to create
  --stubs=file       generate only function stubs in file
  --xml              generate xml documentation to be added to phpdoc-cvs
  --skel=dir         path to the skeleton directory
  --full-xml         generate xml documentation for a self-contained extension
                     (not yet implemented)
  --no-help          don't try to be nice and create comments in the code
                     and helper functions to test if the module compiled
Generally, when developing a new extension the only parameters you will be interested in are --extname and --no-help. Unless you are already experienced with the structure of an extension, you will not want to use --no-help; specifying it causes ext_skel to leave out many helpful comments in the files it generates.

This leaves you with --extname, which tells ext_skel what the name of your extension is. This "name" is an all-lowercase identifier containing only letters and underscores which is unique among everything in the ext/ folder of your PHP distribution.

The --proto option is intended to allow the developer to specify a header file from which a set of PHP functions will be created, ostensibly for the purpose of developing an extension based on a library, but it often functions poorly with most modern header files. A test run on the zlib.h header resulted in a very large number of empty and nonsense prototypes in the ext_skel output files. The --xml and --full-xml options are entirely nonfunctional thus far. The --skel option can be used to specify a modified set of skeleton files to work from, a topic which is beyond the scope of this section.

이전 | 위로 | 다음
45. The PHP 5 build system | 처음으로 | Talking to the UNIX build system: config.m4


55장. Extension FAQs

이전 | 위로 | 다음
Error handling | 처음으로 | 56. Zend Engine 2 API reference


49장. Writing functions

이전 | 위로 | 다음
48. Working with variables | 처음으로 | 50. Working with classes and objects


52장. Working with INI settings

이전 | 위로 | 다음
51. Working with resources | 처음으로 | 53. Working with streams


47장. Memory management

이전 | 위로 | 다음
Testing an extension | 처음으로 | 48. Working with variables


50장. Working with classes and objects

이전 | 위로 | 다음
49. Writing functions | 처음으로 | 51. Working with resources


54장. PDO Driver How-To

이전 VII. PHP 코어: Zend 엔진 해커 가이드 다음

PDO Driver How-To

Bill Abt
Rick McGuire
Wez Furlong

저작권 (C) 2005 IBM Corporation

저작권 (C) 2005 the PHP Documentation Group

초록

The purpose of this How-To is to provide a basic understanding of the steps required to write a database driver that interfaces with the PDO layer. Please note that this is still an evolving API and as such, subject to change. This document was prepared based on version 0.3 of PDO. The learning curve is steep; expect to spend a lot of time on the prerequisites.

차례

A brief note about this How-To
Prerequisites
Preparation and Housekeeping
Fleshing out your skeleton
Building
Testing
Packaging and distribution
pdo_dbh_t definition
pdo_stmt_t definition
Constants
Error handling

A brief note about this How-To

The original version of this PDO driver specification was written by Bill Abt and Rick McGuire of IBM and contributed to the PHP community to assist in the development of drivers for more databases and to encourage the emerging standard for database access in PHP.

이전 | 위로 | 다음
53. Working with streams | 처음으로 | Prerequisites


Building

The build process is designed to work with PEAR (see » http://pear.php.net/ for more information about PEAR). There are two files that are used to assist in configuring your package for building. The first is config.m4 which is the autoconf configuration file for all platforms except Win32. The second is config.w32 which is a build configuration file for use on Win32. Skeleton files for these are built for you when you first set up your project. You then need to customize them to fit the needs of your project. Once you've customized your config files, you can build your driver using the following sequence of commands:

Before first build:

$ sudo pecl install PDO

For each build:

$ cd pdo_SKEL
$ phpize
$ ./configure
$ make
$ sudo make install

The process can then be repeated as necessary during the development process.

이전 | 위로 | 다음
Fleshing out your skeleton | 처음으로 | Testing


Constants

표 54.1. Database and Statement Attributes Table

Attribute

Valid value(s)

PDO_ATTR_AUTOCOMMIT

BOOL

TRUE if autocommit is set, FALSE otherwise.

dbh->auto_commit contains value. Processed by PDO directly.

PDO_ATTR_PREFETCH

LONG

Value of the prefetch size in drivers that support it.

PDO_ATTR_TIMEOUT

LONG

How long to wait for a db operation before timing out.

PDO_ATTR_ERRMODE

LONG

Processed and handled by PDO

PDO_ATTR_SERVER_VERSION

STRING

The “human-readable” string representing the Server/Version this driver is currently connected to.

PDO_ATTR_CLIENT_VERSION

STRING

The “human-readable” string representing the Client/Version this driver supports.

PDO_ATTR_SERVER_INFO

STRING

The “human-readable” description of the Server.

PDO_ATTR_CONNECTION_STATUS

LONG

Values not yet defined

PDO_ATTR_CASE

LONG

Processed and handled by PDO.

PDO_ATTR_CURSOR_NAME

STRING

String representing the name for a database cursor for use in “where current in <name>” SQL statements.

PDO_ATTR_CURSOR

LONG

PDO_CURSOR_FWDONLY

Forward only cursor

PDO_CURSOR_SCROLL

Scrollable cursor

The values for the attributes above are all defined in terms of the Zend API. The Zend API contains macros that can be used to convert a *zval to a value. These macros are defined in the Zend header file, zend_API.h in the Zend directory of your PHP build directory. Some of these attributes can be used with the statement attribute handlers such as the PDO_ATTR_CURSOR and PDO_ATTR_CURSOR_NAME. See the statement attribute handling functions for more information.

이전 | 위로 | 다음
pdo_stmt_t definition | 처음으로 | Error handling


Error handling

Error handling is implemented using a hand-shaking protocol between PDO and the database driver code. The database driver code signals PDO that an error has occurred via a failure (0) return from any of the interface functions. If a zero is returned, set the field error_code in the control block appropriate to the context (either the pdo_dbh_t or pdo_stmt_t block). In practice, it is probably a good idea to set the field in both blocks to the same value to ensure the correct one is getting used.

The error_mode field is a six-byte field containing a 5 character ASCIIZ SQLSTATE identifier code. This code drives the error message process. The SQLSTATE code is used to look up an error message in the internal PDO error message table (see pdo_sqlstate.c for a list of error codes and their messages). If the code is not known to PDO, a default “Unknown Message” value will be used.

In addition to the SQLSTATE code and error message, PDO will call the driver-specific fetch_err() routine to obtain supplemental data for the particular error condition. This routine is passed an array into which the driver may place additional information. This array has slot positions assigned to particular types of supplemental info:

  1. A native error code. This will frequently be an error code obtained from the database API.

  2. A descriptive string. This string can contain any additional information related to the failure. Database drivers typically include information such as an error message, code location of the failure, and any additional descriptive information the driver developer feels worthy of inclusion. It is generally a good idea to include all diagnostic information obtainable from the database interface at the time of the failure. For driver-detected errors (such as memory allocation problems), the driver developer can define whatever error information that seems appropriate.

이전 | 위로 | 다음
Constants | 처음으로 | 55. Extension FAQs


Fleshing out your skeleton

Major Structures and Attributes

The major structures, pdo_dbh_t and pdo_stmt_t are defined and explained in Appendix A and B respectively. Database and Statement attributes are defined in Appendix C. Error handling is explained in Appendix D.

pdo_SKEL.c: PHP extension glue

function entries

static function_entry pdo_SKEL_functions[] = {
  { NULL, NULL, NULL }
};

This structure is used to register functions into the global php function namespace. PDO drivers should try to avoid doing this, so it is recommended that you leave this structure initialized to NULL, as shown in the synopsis above.

Module entry

/* {{{ pdo_SKEL_module_entry */
#if ZEND_EXTENSION_API_NO >= 220050617
static zend_module_dep pdo_SKEL_deps[] = {
    ZEND_MOD_REQUIRED("pdo")
    {NULL, NULL, NULL}
};
#endif
/* }}} */

zend_module_entry pdo_SKEL_module_entry = {
#if ZEND_EXTENSION_API_NO >= 220050617
    STANDARD_MODULE_HEADER_EX, NULL,
    pdo_SKEL_deps,
#else
    STANDARD_MODULE_HEADER,
#endif
    "pdo_SKEL",
    pdo_SKEL_functions,
    PHP_MINIT(pdo_SKEL),
    PHP_MSHUTDOWN(pdo_SKEL),
    NULL,
    NULL,
    PHP_MINFO(pdo_SKEL),
    PHP_PDO_<DB>_MODULE_VERSION,
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

#ifdef COMPILE_DL_PDO_<DB>
ZEND_GET_MODULE(pdo_db)
#endif

A structure of type zend_module_entry called pdo_SKEL_module_entry must be declared and should include reference to the pdo_SKEL_functions table defined previously.

Standard PHP Module Extension Functions

PHP_MINIT_FUNCTION

/* {{{ PHP_MINIT_FUNCTION */
PHP_MINIT_FUNCTION(pdo_SKEL)
{
    return php_pdo_register_driver(&pdo_SKEL_driver);
}
/* }}} */

This standard PHP extension function should be used to register your driver with the PDO layer. This is done by calling the php_pdo_register_driver() function passing a pointer to a structure of type pdo_driver_t typically named pdo_SKEL_driver. A pdo_driver_t contains a header that is generated using the PDO_DRIVER_HEADER(SKEL) macro and pdo_SKEL_handle_factory() function pointer. The actual function is described during the discussion of the SKEL_dbh.c unit.

PHP_MSHUTDOWN_FUNCTION

/* {{{ PHP_MSHUTDOWN_FUNCTION */
PHP_MSHUTDOWN_FUNCTION(pdo_SKEL)
{
    php_pdo_unregister_driver(&pdo_SKEL_driver);
    return SUCCESS;
}
/* }}} */

This standard PHP extension function is used to unregister your driver from the PDO layer. This is done by calling the php_pdo_unregister_driver() function, passing the same pdo_SKEL_driver structure that was passed in the init function above.

PHP_MINFO_FUNCTION

This is again a standard PHP extension function. Its purpose is to display information regarding the module when the phpinfo() is called from a script. The convention is to display the version of the module and also what version of the db you are dependent on, along with any other configuration style information that might be relevant.

SKEL_driver.c: Driver implementation

This unit implements all of the database handling methods that support the PDO database handle object. It also contains the error fetching routines. All of these functions will typically need to access the global variable pool. Therefore, it is necessary to use the Zend macro TSRMLS_DC macro at the end of each of these statements. Consult the Zend programmer documentation for more information on this macro.

pdo_SKEL_error

static int pdo_SKEL_error(pdo_dbh_t *dbh,
  pdo_stmt_t *stmt, const char *file, int line TSRMLS_DC)

The purpose of this function is to be used as a generic error handling function within the driver. It is called by the driver when an error occurs within the driver. If an error occurs that is not related to SQLSTATE, the driver should set either dbh->error_code or stmt->error_code to an SQLSTATE that most closely matches the error or the generic SQLSTATE error “HY000”. The file pdo_sqlstate.c in the PDO source contains a table of commonly used SQLSTATE codes that the PDO code explicitly recognizes. This setting of the error code should be done prior to calling this function.; This function should set the global pdo_err variable to the error found in either the dbh or the stmt (if the variable stmt is not NULL).

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the current statement or NULL. If NULL, the error is derived by error code found in the dbh.

file

The source file where the error occurred or NULL if not available.

line

The line number within the source file if available.

If the dbh member methods is NULL (which implies that the error is being raised from within the PDO constructor), this function should call the zend_throw_exception_ex() function otherwise it should return the error code. This function is usually called using a helper macro that customizes the calling sequence for either database handling errors or statement handling errors.

예 54.1. Example macros for invoking pdo_SKEL_error

#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)
#define pdo_SKEL_drv_error(what) \
    pdo_SKEL_error(dbh, NULL, what, __FILE__, __LINE__ TSRMLS_CC)

For more info on error handling, see “Error handling”.

참고: Despite being documented here, the PDO driver interface does not specify that this function be present; it is merely a convenient way to handle errors, and it just happens to be equally convenient for the majority of database client library APIs to structure your driver implementation in this way.

pdo_SKEL_fetch_error_func

static int pdo_SKEL_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt,
    zval *info TSRMLS_DC)

The purpose of this function is to obtain additional information about the last error that was triggered. This includes the driver specific error code and a human readable string. It may also include additional information if appropriate. This function is called as a result of the PHP script calling the PDO::errorInfo() method.

dbh

Pointer to the database handle initialized by the handle factory

stmt

Pointer to the most current statement or NULL. If NULL, the error translated is derived by error code found in the dbh.

info

A hash table containing error codes and messages.

The error_func should return two pieces of information as successive array elements. The first item is expected to be a numeric error code, the second item is a descriptive string. The best way to set this item is by using add_next_index. Note that the type of the first argument need not be long; use whichever type most closely matches the error code returned by the underlying database API.

/* now add the error information. */
/* These need to be added in a specific order */
add_next_index_long(info, error_code);   /* driver specific error code */
add_next_index_string(info, message, 0); /* readable error message */

This function should return 1 if information is available, 0 if the driver does not have additional info.

SKEL_handle_closer

static int SKEL_handle_closer(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to close an open database.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to close the open database. PDO ignores the return value from this function.

SKEL_handle_preparer

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)

This function will be called by PDO in response to PDO::query() and PDO::prepare() calls from the PHP script. The purpose of the function is to prepare raw SQL for execution, storing whatever state is appropriate into the stmt that is passed in.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

Stmt

Pointer to the returned statement or NULL if an error occurs.

driver_options

Any driver specific/defined options.

This function is essentially the constructor for a stmt object. This function is responsible for processing statement options, and setting driver-specific option fields in the pdo_stmt_t structure.

PDO does not process any statement options on the driver's behalf before calling the preparer function. It is your responsibility to process them before you return, raising an error for any unknown options that are passed.

One very important responsibility of this function is the processing of SQL statement parameters. At the time of this call, PDO does not know if your driver supports binding parameters into prepared statements, nor does it know if it supports named or positional parameter naming conventions.

Your driver is responsible for setting stmt->supports_placeholders as appropriate for the underlying database. This may involve some run-time determination on the part of your driver, if this setting depends on the version of the database server to which it is connected. If your driver doesn't directly support both named and positional parameter conventions, you should use the pdo_parse_params() API to have PDO rewrite the query to take advantage of the support provided by your database.

예 54.2. Using pdo_parse_params

    int ret;
    char *nsql = NULL;
    int nsql_len = 0;

    /* before we prepare, we need to peek at the query; if it uses named parameters,
     * we want PDO to rewrite them for us */
    stmt->supports_placeholders = PDO_PLACEHOLDER_POSITIONAL;
    ret = pdo_parse_params(stmt, (char*)sql, sql_len, &nsql, &nsql_len TSRMLS_CC);

    if (ret == 1) {
        /* query was re-written */
        sql = nsql;
    } else if (ret == -1) {
        /* couldn't grok it */
        strcpy(dbh->error_code, stmt->error_code);
        return 0;
    }

    /* now proceed to prepare the query in "sql" */

Possible values for supports_placeholders are: PDO_PLACEHOLDER_NAMED, PDO_PLACEHOLDER_POSITIONAL and PDO_PLACEHOLDER_NONE. If the driver doesn't support prepare statements at all, then this function should simply allocate any state that it might need, and then return:

예 54.3. Implementing preparer for drivers that don't support native prepared statements

static int SKEL_handle_preparer(pdo_dbh_t *dbh, const char *sql,
    long sql_len, pdo_stmt_t *stmt, zval *driver_options TSRMLS_DC)
{
    pdo_SKEL_db_handle *H = (pdo_SKEL_db_handle *)dbh->driver_data;
    pdo_SKEL_stmt *S = ecalloc(1, sizeof(pdo_SKEL_stmt));

    S->H = H;
    stmt->driver_data = S;
    stmt->methods = &SKEL_stmt_methods;
    stmt->supports_placeholders = PDO_PLACEHOLDER_NONE;

    return 1;
}

This function returns 1 on success or 0 on failure.

SKEL_handle_doer

static long SKEL_handle_doer(pdo_dbh_t *dbh, const char *sql, long sql_len TSRMLS_DC)

This function will be called by PDO to execute a raw SQL statement. No pdo_stmt_t is created.

dbh

Pointer to the database handle initialized by the handle factory

sql

Pointer to a character string containing the SQL statement to be prepared.

sql_len

The length of the SQL statement.

This function returns 1 on success or 0 on failure.

SKEL_handle_quoter

static int SKEL_handle_quoter(pdo_dbh_t *dbh, const char *unquoted,
  int unquoted_len, char **quoted, int quoted_len, enum pdo_param_type param_type TSRMLS_DC)

This function will be called by PDO to turn an unquoted string into a quoted string for use in a query.

dbh

Pointer to the database handle initialized by the handle factory

unquoted

Pointer to a character string containing the string to be quoted.

unquoted_len

The length of the string to be quoted.

quoted

Pointer to the address where a pointer to the newly quoted string will be returned.

quoted_len

The length of the new string.

param_type

A driver specific hint for driver that have alternate quoting styles

This function is called in response to a call to PDO::quote() or when the driver has set supports_placeholder to PDO_PLACEHOLDER_NONE. The purpose is to quote a parameter when building SQL statements.

If your driver does not support native prepared statements, implementation of this function is required.

This function returns 1 if the quoting process reformatted the string, and 0 if it was not necessary to change the string. The original string will be used unchanged with a 0 return.

SKEL_handle_begin

static int SKEL_handle_begin(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to begin a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to begin a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_commit

static int SKEL_handle_commit(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to end a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to commit a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_rollback

static int SKEL_handle_rollback( pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to rollback a database transaction.

dbh

Pointer to the database handle initialized by the handle factory

This should do whatever database specific activity that needs to be accomplished to rollback a transaction. This function returns 1 for success or 0 if an error occurred.

SKEL_handle_get_attribute

static int SKEL_handle_get_attribute(pdo_dbh_t *dbh, long attr, zval *return_value TSRMLS_DC)

This function will be called by PDO to retrieve a database attribute.

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See 표 54.1. “Database and Statement Attributes Table” for valid attributes.

return_value

The returned value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to supply this function. PDO driver handles the PDO_ATTR_PERSISTENT, PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_set_attribute

static int SKEL_handle_set_attribute(pdo_dbh_t *dbh, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to set a database attribute, usually in response to a script calling PDO::setAttribute().

dbh

Pointer to the database handle initialized by the handle factory

attr

long value of one of the PDO_ATTR_xxxx types. See 표 54.1. “Database and Statement Attributes Table” for valid attributes.

val

The new value for the attribute.

It is up to the driver to decide which attributes will be supported for a particular implementation. It is not necessary for a driver to provide this function if it does not need to support additional attributes. The PDO driver handles the PDO_ATTR_CASE, PDO_ATTR_ORACLE_NULLS, and PDO_ATTR_ERRMODE attributes directly.

This function returns 1 on success or 0 on failure.

SKEL_handle_last_id

static char * SKEL_handle_last_id(pdo_dbh_t *dbh, const char *name, unsigned int len TSRMLS_DC)

This function will be called by PDO to retrieve the ID of the last inserted row.

dbh

Pointer to the database handle initialized by the handle factory

name

string representing a table or sequence name.

len

the length of the name parameter.

This function returns a character string containing the id of the last inserted row on success or NULL on failure. This is an optional function.

SKEL_check_liveness

static int SKEL_check_liveness(pdo_dbh_t *dbh TSRMLS_DC)

This function will be called by PDO to test whether or not a persistent connection to a database is alive and ready for use.

dbh

Pointer to the database handle initialized by the handle factory

This function returns 1 if the database connection is alive and ready for use, otherwise it should return 0 to indicate failure or lack of support.

참고: This is an optional function.

SKEL_get_driver_methods

static function_entry *SKEL_get_driver_methods(pdo_dbh_t *dbh, int kind TSRMLS_DC)

This function will be called by PDO in response to a call to any method that is not a part of either the PDO or PDOStatement classes. It's purpose is to allow the driver to provide additional driver specific methods to those classes.

dbh

Pointer to the database handle initialized by the handle factory

kind

One of the following:

PDO_DBH_DRIVER_METHOD_KIND_DBH

Set when the method call was attempted on an instance of the PDO class. The driver should return a pointer a function_entry table for any methods it wants to add to that class, or NULL if there are none.

PDO_DBH_DRIVER_METHOD_KIND_STMT

Set when the method call was attempted on an instance of the PDOStatement class. The driver should return a pointer to a function_entry table for any methods it wants to add to that class, or NULL if there are none.

This function returns a pointer to the function_entry table requested, or NULL there are no driver specific methods.

SKEL_handle_factory

static int SKEL_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_DC)

This function will be called by PDO to create a database handle. For most databases this involves establishing a connection to the database. In some cases, a persistent connection may be requested, in other cases connection pooling may be requested. All of these are database/driver dependent.

dbh

Pointer to the database handle initialized by the handle factory

driver_options

An array of driver options, keyed by integer option number. See 표 54.1. “Database and Statement Attributes Table” for a list of possible attributes.

This function should fill in the passed database handle structure with its driver specific information on success and return 1, otherwise it should return 0 to indicate failure.

PDO processes the AUTOCOMMIT and PERSISTENT driver options before calling the handle_factory. It is the handle factory's responsibility to process other options.

Driver method table

A static structure of type pdo_dbh_methods named SKEL_methods must be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

pdo_SKEL_driver

A structure of type pdo_driver_t named pdo_SKEL_driver should be declared. The PDO_DRIVER_HEADER(SKEL) macro should be used to declare the header and the function pointer to the handle factory function should set.

SKEL_statement.c: Statement implementation

This unit implements all of the database statement handling methods that support the PDO statement object.

SKEL_stmt_dtor

static int SKEL_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to destroy a previously constructed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This should do whatever is necessary to free up any driver specific storage allocated for the statement. The return value from this function is ignored.

SKEL_stmt_execute

static int SKEL_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)

This function will be called by PDO to execute the prepared SQL statement in the passed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_fetch

static int SKEL_stmt_fetch(pdo_stmt_t *stmt, enum pdo_fetch_orientation ori,
   long offset TSRMLS_DC)

This function will be called by PDO to fetch a row from a previously executed statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

ori

One of PDO_FETCH_ORI_xxx which will determine which row will be fetched.

offset

If ori is set to PDO_FETCH_ORI_ABS or PDO_FETCH_ORI_REL, offset represents the row desired or the row relative to the current position, respectively. Otherwise, this value is ignored.

The results of this fetch are driver dependent and the data is usually stored in the driver_data member of the pdo_stmt_t object. The ori and offset parameters are only meaningful if the statement represents a scrollable cursor. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_param_hook

static int SKEL_stmt_param_hook(pdo_stmt_t *stmt,
  struct pdo_bound_param_data *param, enum pdo_param_event event_type TSRMLS_DC)

This function will be called by PDO for handling of both bound parameters and bound columns.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

param

The structure describing either a statement parameter or a bound column.

event_type

The type of event to occur for this parameter, one of the following:

PDO_PARAM_EVT_ALLOC

Called when PDO allocates the binding. Occurs as part of PDOStatement::bindParam(), PDOStatement::bindValue() or as part of an implicit bind when calling PDOStatement::execute(). This is your opportunity to take some action at this point; drivers that implement native prepared statements will typically want to query the parameter information, reconcile the type with that requested by the script, allocate an appropriately sized buffer and then bind the parameter to that buffer. You should not rely on the type or value of the zval at param->parameter at this point in time.

PDO_PARAM_EVT_FREE

Called once per parameter as part of cleanup. You should release any resources associated with that parameter now.

PDO_PARAM_EXEC_PRE

Called once for each parameter immediately before calling SKEL_stmt_execute; take this opportunity to make any final adjustments ready for execution. In particular, you should note that variables bound via PDOStatement::bindParam() are only legal to touch now, and not any sooner.

PDO_PARAM_EXEC_POST

Called once for each parameter immediately after calling SKEL_stmt_execute; take this opportunity to make any post-execution actions that might be required by your driver.

PDO_PARAM_FETCH_PRE

Called once for each parameter immediately prior to calling SKEL_stmt_fetch.

PDO_PARAM_FETCH_POST

Called once for each parameter immediately after calling SKEL_stmt_fetch.

This hook will be called for each bound parameter and bound column in the statement. For ALLOC and FREE events, a single call will be made for each parameter or column. The param structure contains a driver_data field that the driver can use to store implementation specific information about each of the parameters.

For all other events, PDO may call you multiple times as the script issues PDOStatement::execute() and PDOStatement::fetch() calls.

If this is a bound parameter, the is_param flag in the param structure is set, otherwise the param structure refers to a bound column.

This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_describe_col

static int SKEL_stmt_describe_col(pdo_stmt_t *stmt, int colno TSRMLS_DC)

This function will be called by PDO to query information about a particular column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

The driver should populate the pdo_stmt_t member columns(colno) with the appropriate information. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_get_col_data

static int SKEL_stmt_get_col_data(pdo_stmt_t *stmt, int colno,
  char **ptr, unsigned long *len, int *caller_frees TSRMLS_DC)

This function will be called by PDO to retrieve data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number to be queried.

ptr

Pointer to the retrieved data.

len

The length of the data pointed to by ptr.

caller_frees

If set, ptr should point to emalloc'd memory and the main PDO driver will free it as soon as it is done with it. Otherwise, it will be the responsibility of the driver to free any allocated memory as a result of this call.

The driver should return the resultant data and length of that data in the ptr and len variables respectively. It should be noted that the main PDO driver expects the driver to manage the lifetime of the data. This function returns 1 for success or 0 in the event of failure.

SKEL_stmt_set_attr

static int SKEL_stmt_set_attr(pdo_stmt_t *stmt, long attr, zval *val TSRMLS_DC)

This function will be called by PDO to allow the setting of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See 표 54.1. “Database and Statement Attributes Table” for valid attributes.

val

The new value for the attribute.

This function is driver dependent and allows the driver the capability to set database specific attributes for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional settable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_attr

static int SKEL_stmt_get_attr(pdo_stmt_t *stmt, long attr, zval
   *return_value TSRMLS_DC)

This function will be called by PDO to allow the retrieval of driver specific attributes for a statement object.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

attr

long value of one of the PDO_ATTR_xxxx types. See 표 54.1. “Database and Statement Attributes Table” for valid attributes.

return_value

The returned value for the attribute.

This function is driver dependent and allows the driver the capability to retrieve a previously set database specific attribute for a statement. This function returns 1 for success or 0 in the event of failure. This is an optional function. If the driver does not support additional gettable attributes, it can be NULLed in the method table. The PDO driver does not handle any settable attributes on the database driver's behalf.

SKEL_stmt_get_col_meta

static int SKEL_stmt_get_col_meta(pdo_stmt_t *stmt, int colno,
   zval *return_value TSRMLS_DC)
주의

This function is not well defined and is subject to change.

This function will be called by PDO to retrieve meta data from the specified column.

stmt

Pointer to the statement structure initialized by SKEL_handle_preparer.

colno

The column number for which data is to be retrieved.

return_value

Holds the returned meta data.

The driver author should consult the documentation for this function that can be found in the php_pdo_driver.h header as this will be the most current. This function returns 1 for success or 0 in the event of failure. The database driver does not need to provide this function.

Statement handling method table

A static structure of type pdo_stmt_methods named SKEL_stmt_methods should be declared and initialized to the function pointers for each defined function. If a function is not supported or not implemented the value for that function pointer should be set to NULL.

이전 | 위로 | 다음
Preparation and Housekeeping | 처음으로 | Building


Packaging and distribution

Creating a package

PDO drivers are released via PECL; all the usual rules for PECL extensions apply. Packaging is accomplished by creating a valid package.xml file and then running:

$ pecl package

This will create a tarball named PDO_SKEL-X.Y.Z.tgz.

Before releasing the package, you should test that it builds correctly; if you've made a mistake in your config.m4 or package.xml files, the package may not function correctly. You can test the build, without installing anything, using the following invocation:

$ pecl build package.xml

Once this is proven to work, you can test installation:

$ pecl package
$ sudo pecl install PDO_SKEL-X.Y.X.tgz

Full details about package.xml can be found in the PEAR Programmer's documentation (» http://pear.php.net/manual/).

Releasing the package

A PDO driver is released via the PHP Extension Community Library (PECL). Information about PECL can be found at » http://pecl.php.net/index.php.

이전 | 위로 | 다음
Testing | 처음으로 | pdo_dbh_t definition


pdo_dbh_t definition

All fields should be treated as read-only by the driver, unless explicitly stated otherwise.

그림 54.1. pdo_dbh_t

/* represents a connection to a database */
struct _pdo_dbh_t {
    /* driver specific methods */
    struct pdo_dbh_methods *methods;
    /* driver specific data */
    void *driver_data;

    /* credentials */
    char *username, *password;

    /* if true, then data stored and pointed at by this handle must all be
     * persistently allocated */
    unsigned is_persistent:1;

    /* if true, driver should act as though a COMMIT were executed between
     * each executed statement; otherwise, COMMIT must be carried out manually
     * */
    unsigned auto_commit:1;

    /* if true, the driver requires that memory be allocated explicitly for
     * the columns that are returned */
    unsigned alloc_own_columns:1;

    /* if true, commit or rollBack is allowed to be called */
    unsigned in_txn:1;

    /* max length a single character can become after correct quoting */
    unsigned max_escaped_char_length:3;

    /* data source string used to open this handle */
    const char *data_source;
    unsigned long data_source_len;

    /* the global error code. */
    pdo_error_type error_code;

    enum pdo_case_conversion native_case, desired_case;
};

1

The driver must set this during SKEL_handle_factory().

2

This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.

3

The username and password that were passed into the PDO constructor. The driver should use these values when it initiates a connection to the database.

4

If this is set to 1, then any data that is referenced by the dbh, including whatever structure your driver allocates, MUST be allocated persistently. This is easy to achieve; rather than using the usual emalloc() simply use pemalloc() and pass the value of this flag as the last parameter. Failure to use the appropriate kind of memory can lead to serious memory faults, resulting (in the best case) a hard crash, and in the worst case, an exploitable memory problem.

If, for whatever reason, your driver is not suitable to run persistently, you MUST check this flag in your SKEL_handle_factory() and raise an appropriate error.

5

You should check this value in your SKEL_handle_doer() and SKEL_stmt_execute() functions; if it evaluates to true, you must attempt to commit the query now. Most database implementations offer an auto-commit mode that handles this automatically.

6

If your database client library API operates by fetching data into a caller-supplied buffer, you should set this flag to 1 during your SKEL_handle_factory(). When set, PDO will call your SKEL_stmt_describer() earlier than it would otherwise. This early call allows you to determine those buffer sizes and issue appropriate calls to the database client library.

If your database client library API simply returns pointers to its own internal buffers for you to copy after each fetch call, you should leave this value set to 0.

7

If your driver doesn't support native prepared statements (supports_placeholders is set to PDO_PLACEHOLDER_NONE), you must set this value to the maximum length that can be taken up by a single character when it is quoted by your SKEL_handle_quoter() function. This value is used to calculate the amount of buffer space required when PDO executes the statement.

8

This holds the value of the DSN that was passed into the PDO constructor. If your driver implementation needed to modify the DSN for whatever reason, it should update this member during SKEL_handle_factory(). Modifying this member should be avoided. If you do change it, you must ensure that data_source_len is also correct.

9

Whenever an error occurs during a call to one of your driver methods, you should set this member to the SQLSTATE code that best describes the error and return an error. In this HOW-TO, the suggested practice is to call SKEL_handle_error() when an error is detected, and have it set the error code.

10

Your driver should set this during SKEL_handle_factory(); the value should reflect how the database returns the names of the columns in result sets. If the name matches the case that was used in the query, set it to PDO_CASE_NATURAL (this is actually the default). If the column names are always returned in upper case, set it to PDO_CASE_UPPER. If the column names are always returned in lower case, set it to PDO_CASE_LOWER. The value you set is used to determine if PDO should perform case folding when the user sets the PDO_ATTR_CASE attribute.

이전 | 위로 | 다음
Packaging and distribution | 처음으로 | pdo_stmt_t definition


pdo_stmt_t definition

All fields should be treated as read-only unless explicitly stated otherwise.

그림 54.2. pdo_stmt_t

/* represents a prepared statement */
struct _pdo_stmt_t {
    /* driver specifics */
    struct pdo_stmt_methods *methods;
    void *driver_data;

    /* if true, we've already successfully executed this statement at least
     * once */
    unsigned executed:1;
    /* if true, the statement supports placeholders and can implement
     * bindParam() for its prepared statements, if false, PDO should
     * emulate prepare and bind on its behalf */
    unsigned supports_placeholders:2;

    /* the number of columns in the result set; not valid until after
     * the statement has been executed at least once.  In some cases, might
     * not be valid until fetch (at the driver level) has been called at least once.
     * */
    int column_count;
    struct pdo_column_data *columns;

    /* points at the dbh that this statement was prepared on */
    pdo_dbh_t *dbh;

    /* keep track of bound input parameters.  Some drivers support
     * input/output parameters, but you can't rely on that working */
    HashTable *bound_params;
    /* When rewriting from named to positional, this maps positions to names */
    HashTable *bound_param_map;
    /* keep track of PHP variables bound to named (or positional) columns
     * in the result set */
    HashTable *bound_columns;

    /* not always meaningful */
    long row_count;

    /* used to hold the statement's current query */
    char *query_string;
    int query_stringlen;

    /* the copy of the query with expanded binds ONLY for emulated-prepare drivers */
    char *active_query_string;
    int active_query_stringlen;

    /* the cursor specific error code. */
    pdo_error_type error_code;

    /* used by the query parser for driver specific
     * parameter naming (see pgsql driver for example) */
    const char *named_rewrite_template;
};

1 | The driver must set this during SKEL_handle_preparer().
2 | This item is for use by the driver; the intended usage is to store a pointer (during SKEL_handle_factory()) to whatever instance data is required to maintain a connection to the database.
3 | This is set by PDO after the statement has been executed for the first time. Your driver can inspect this value to determine if it can skip one-time actions as an optimization.
4 | Discussed in more detail in “SKEL_handle_preparer”.
5 | Your driver is responsible for setting this field to the number of columns available in a result set. This is usually set during SKEL_stmt_execute() but with some database implementations, the column count may not be available until SKEL_stmt_fetch() has been called at least once. Drivers that implement SKEL_stmt_next_rowset() should update the column count when a new rowset is available.
6 | PDO will allocate this field based on the value that you set for the column count. You are responsible for populating each column during SKEL_stmt_describe(). You must set the precision, maxlen, name, namelen and param_type members for each column. The name is expected to be allocated using emalloc(); PDO will call efree() at the appropriate time.
이전 | 위로 | 다음
pdo_dbh_t definition | 처음으로 | Constants


Preparation and Housekeeping

Source directory layout

The source directory for a typical PDO driver is laid out as follows, where SKEL represents a shortened form of the name of the database that the driver is going to connect to. Even though SKEL is presented here in uppercase (for clarity), the convention is to use lowercase characters.

pdo_SKEL/
  config.m4                  # unix build script
  config.w32                 # win32 build script
  CREDITS
  package.xml                # meta information about the package
  pdo_SKEL.c                 # standard PHP extension glue
  php_pdo_SKEL.h
  php_pdo_SKEL_int.h         # driver private header
  SKEL_dbh.c                 # contains the implementation of the PDO driver interface
  SKEL_stmt.c                # contains the implementation of the PDO statement interface
  tests/

The contents of these files are defined later in this document.

Creating a skeleton

The easiest way to get started is to use the ext_skel shell script found in the PHP build tree in the ext directory. This will build a skeleton directory containing a lot of the files listed above. It can be build by executing the following command from within the ext directory:

./ext_skel --extname=pdo_SKEL

This will generate a directory called pdo_SKEL containing the skeleton files that you can then modify. This directory should then be moved out of the php extension directory . PDO is a PECL extension and should not be included in the standard extension directory. As long as you have PHP and PDO installed, you should be able to build from any directory.

Standard Includes

Build Specific Headers

The header file config.h is generated by the configure process for the platform for the which the driver is being built. If this header is present, the HAVE_CONFIG_H compiler variable is set. This variable should be tested for and if set, the file config.h should be included in the compilation unit.

PHP Headers

The following standard public php headers should be included in each source module:

  1. php.h

  2. php_ini.h

  3. ext/standard/info.h

PDO Interface Headers

The following standard public PDO header files are also included in each source module:

pdo/php_pdo.h

This header file contains definitions of the initialization and shutdown functions in the main driver as well as definitions of global PDO variables.

pdo/php_pdo_driver.h

This header contains the types and API contracts that are used to write a PDO driver. It also contains method signature for calling back into the PDO layer and registering/unregistering your driver with PDO. Most importantly, this header file contains the type definitions for PDO database handles and statements. The two main structures a driver has to deal with, pdo_dbh_t and pdo_stmt_t, are described in more detail in Appendix A and B.

Driver Specific Headers

The typical PDO driver has two header files that are specific to the database implementation. This does not preclude the use of more depending on the implementation. The following two headers are, by convention, standard:

php_pdo_SKEL.h

This header file is virtually an exact duplicate in functionality and content of the previously defined pdo/php_pdo.h that has been specifically tailored for your database. If your driver requires the use of global variables they should be defined using the ZEND_BEGIN_MODULE_GLOBALS and ZEND_END_MODULE_GLOBALS macros. Macros are then used to access these variables. This macro is usually named PDO_SKEL_G(v) where v is global variable to be accessed. Consult the Zend programmer documentation for more information.

php_pdo_SKEL_int.h

This header file typically contains type definitions and function declarations specific to the driver implementation. It also should contain the db specific definitions of a pdo_SKEL_handle and pdo_SKEL_stmt structures. These are the names of the private data structures that are then referenced by the driver_data members of the handle and statement structures.

Optional Headers

Depending on the implementation details for a particular driver it may be necessary to include the following header:

#include <zend_exceptions.h>

이전 | 위로 | 다음
Prerequisites | 처음으로 | Fleshing out your skeleton


Prerequisites

The following is list of prerequisites and assumptions needed for writing a PDO database driver:

  1. A working target database, examples, demos, etc. working as per vendor specifications;

  2. A working development environment:

    1. Linux: standard development tools, gcc, ld, make, autoconf, automake, etc., versions dependent on distribution;

    2. Other Unix: standard development tools supplied by vendor plus the GNU development tool set;

    3. Win32: Visual Studio compiler suite;

  3. A working PHP environment version 5.0.3 or higher with a working PEAR extension version 1.3.5 or higher;

  4. A working PDO environment (can be installed using 'sudo pecl install PDO'), including the headers which will be needed to access the PDO type definitions and function declarations;

  5. A good working knowledge of the C programming language;

  6. A good working knowledge of the way to write a PHP extension; George Schlossnagle's Advanced PHP Programming (published by Developer's Library, chapters 21 and 22) is recommended;

  7. Finally, a familiarity with the Zend API that forms the heart of PHP, in particular paying attention to the memory management aspects.

이전 | 위로 | 다음
54. PDO Driver How-To | 처음으로 | Preparation and Housekeeping


Testing

PDO has a set of "core" tests that all drivers should pass before being released. They're designed to run from the PHP source distribution, so running the tests for your driver requires moving things around a bit. The suggested procedure is to obtain the latest PHP 5.1 snapshot and perform the following step:

$ cp -r pdo_SKEL /path/to/php-5.1/ext

This will allow the test harness to run your tests. The next thing you need to do is create a test that will redirect into the PDO common core tests. The convention is to name this file common.phpt; it should be placed in the tests subdirectory that was created by ext_skel when you created your extension skeleton. The content of this file should look something like the following:

--TEST--
SKEL
--SKIPIF--
<?php # vim:ft=php
if (!extension_loaded('pdo_SKEL')) print 'skip'; ?>
--REDIRECTTEST--
if (false !== getenv('PDO_SKEL_TEST_DSN')) {
# user set them from their shell
   $config['ENV']['PDOTEST_DSN'] = getenv('PDO_SKEL_TEST_DSN');
   $config['ENV']['PDOTEST_USER'] = getenv('PDO_SKEL_TEST_USER');
   $config['ENV']['PDOTEST_PASS'] = getenv('PDO_SKEL_TEST_PASS');
   if (false !== getenv('PDO_SKEL_TEST_ATTR')) {
      $config['ENV']['PDOTEST_ATTR'] = getenv('PDO_SKEL_TEST_ATTR');
   }
   return $config;
}
return array(
   'ENV' => array(
           'PDOTEST_DSN' => 'SKEL:dsn',
           'PDOTEST_USER' => 'username',
           'PDOTEST_PASS' => 'password'
       ),
   'TESTS' => 'ext/pdo/tests'
   );

This will cause the common core tests to be run, passing the values of PDOTEST_DSN, PDOTEST_USER and PDOTEST_PASS to the PDO constructor as the dsn, username and password parameters. It will first check the environment, so that appropriate values can be passed in when the test harness is run, rather than hard-coding the database credentials into the test file.

The test harness can be invoked as follows:

$ cd /path/to/php-5.1
$ make TESTS=ext/pdo_SKEL/tests PDO_SKEL_TEST_DSN="skel:dsn" \
 PDO_SKEL_TEST_USER=user PDO_SKEL_TEST_PASS=pass test

이전 | 위로 | 다음
Building | 처음으로 | Packaging and distribution


51장. Working with resources

이전 | 위로 | 다음
50. Working with classes and objects | 처음으로 | 52. Working with INI settings


53장. Working with streams

이전 | 위로 | 다음
52. Working with INI settings | 처음으로 | 54. PDO Driver How-To


46장. Extension structure

차례

Files which make up an extension
The zend_module structure
Extension globals
Life cycle of an extension
Testing an extension

Many extension-writing guides focus on simple examples first and ignore the requirements of more complex implementations until later. Often such guides must repeat themselves over and over in order to describe these new features. This section describes extension structure from the perspective of a mature, practical implementation, in order to prepare users for needs and issues they will almost always encounter in the process of extension development.

Files which make up an extension

Whether created by hand, using ext_skel, or by an alternate extension generator, such as » CodeGen, all extensions will have at least four files:

config.m4

UNIX build system configuration (see “Talking to the UNIX build system: config.m4”)

config.w32

Windows buildsystem configuration (see “Talking to the Windows build system: config.w32”)

php_example.h

When building an extension as static module into the PHP binary the build system expects a header file with php_ prepended to the extension name which includes a declaration for a pointer to the extension's module structure. This file usually contains additional macros, prototypes, and globals, just like any header.

example.c

Main extension source file. By convention, the name of this file is the extension name, but this is not a requirement. This file contains the module structure declaration, INI entries, management functions, userspace functions, and other requirements of an extension.

The buildsystem files are discussed elsewhere; this section concentrates on the rest. These four files make up the bare minimum for an extension, which may also contain any number of headers, source files, unit tests, and other support files. The list of files in a realistic extension might look like this:

예 46.1. Files in an example "real" extension, in no particular order

ext/
 example/
  .cvsignore
  config.m4
  config.w32
  example_util.h
  example_util.c
  php_example.h
  example.c
  package.xml
  CREDITS
  tests/
   critical_function_001.phpt
   critical_function_002.phpt
   optional_function_001.phpt
   optional_function_002.phpt

Non-source files

The .cvsignore file is used for extensions which are checked into one of the PHP CVS repositories (usually » PECL); the one generated by ext_skel contains:

.deps
*.lo
*.la

These lines tell CVS to ignore interim files generated by the PHP buildsystem. This is only a convenience, and can be omitted completely without ill effect.

The CREDITS file lists the contributors and/or maintainers of the extension in plain text format. The main purpose of this file is generating the credits information for bundled extensions as used by phpcredits(). By convention the first line of the file should hold the name of the extension, the second a comma separated list of contributors. The contributors are usually ordered by the chronological order of their contributions. In a » PECL package, this information is already maintained in package.xml, for example. This is another file which can be omitted without ill effect.

The package.xml file is specific to » PECL-based extensions; it is a metainformation file which gives details about an extension's dependencies, authors, installation requirements, and other tidbits. In an extension not being hosted in » PECL, this file is extraneous.

이전 | 위로 | 다음
Talking to the Windows build system: config.w32 | 처음으로 | The zend_module structure


Extension globals

이전 | 위로 | 다음
The zend_module structure | 처음으로 | Life cycle of an extension


Life cycle of an extension

이전 | 위로 | 다음
Extension globals | 처음으로 | Testing an extension


The zend_module structure

The main source file of a PHP extension contains several new constructs for a C programmer. The most important of these, the one touched first when starting a new extension, is the zend_module structure. This structure contains a wealth of information that tells the Zend Engine about the extension's dependencies, version, callbacks, and other critical data. The structure has mutated considerably over time; this section will focus on the structure as it has appeared since PHP 5.0, and will identify the very few parts which have changed in PHP 5.1 and 5.2.

The zend_module declaration from example.c looks like this before any code has been written (the example file was generated by ext_skel --extname=example):

예 46.2. zend_module declaration in an example extension

/* {{{ example_module_entry
 */
zend_module_entry example_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
    STANDARD_MODULE_HEADER,
#endif
    "example",
    example_functions,
    PHP_MINIT(example),
    PHP_MSHUTDOWN(example),
    PHP_RINIT(example),        /* Replace with NULL if there's nothing to do at request start */
    PHP_RSHUTDOWN(example),    /* Replace with NULL if there's nothing to do at request end */
    PHP_MINFO(example),
#if ZEND_MODULE_API_NO >= 20010901
    "0.1", /* Replace with version number for your extension */
#endif
    STANDARD_MODULE_PROPERTIES
};
/* }}} */

This may look a bit daunting at first glance, but most of it is very simple to understand. Here's the declaration of zend_module from zend_modules.h in PHP 5.2, along with a few relevant nearby constants:

예 46.3. zend_module definition in PHP 5.2

#define ZEND_MODULE_API_NO 20060613
struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    struct _zend_ini_entry *ini_entry;
    struct _zend_module_dep *deps;
    char *name;
    struct _zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    char *version;
    size_t globals_size;
#ifdef ZTS
    ts_rsrc_id* globals_id_ptr;
#else
    void* globals_ptr;
#endif
    void (*globals_ctor)(void *global TSRMLS_DC);
    void (*globals_dtor)(void *global TSRMLS_DC);
    int (*post_deactivate_func)(void);
    int module_started;
    unsigned char type;
    void *handle;
    int module_number;
};
#define STANDARD_MODULE_HEADER_EX sizeof(zend_module_entry), ZEND_MODULE_API_NO, ZEND_DEBUG, USING_ZTS
#define STANDARD_MODULE_HEADER \
    STANDARD_MODULE_HEADER_EX, NULL, NULL
#define ZE2_STANDARD_MODULE_HEADER \
    STANDARD_MODULE_HEADER_EX, ini_entries, NULL

#define STANDARD_MODULE_PROPERTIES_EX 0, 0, NULL, 0

이전 | 위로 | 다음
46. Extension structure | 처음으로 | Extension globals


Testing an extension

이전 | 위로 | 다음
Life cycle of an extension | 처음으로 | 47. Memory management


48장. Working with variables

이전 | 위로 | 다음
47. Memory management | 처음으로 | 49. Writing functions


57장. Zend Engine 1

차례

Old introduction
Streams API for PHP Extension Authors
Zend API: PHP 코어 해킹
TSRM API

Zend Engine 1 is the internal engine used by PHP for the entire version 4 release line. It is no longer considered active, but PHP 4 is still in widespread use, so the old ZE1 documentation is preserved here exactly as it was.

Old introduction

If you are about to begin developing PHP or Zend extensions, you need to prepare yourself for the programming environment provided by the various APIs. This part of the documentation tries to introduce the APIs provided by the different PHP and Zend Engine versions available. Since most of the information available here is somewhat outdated, you'll want to read various files found in the PHP source, files such as README.SELF-CONTAINED-EXTENSIONS and README.EXT_SKEL in addition to the manual.

이전 | 위로 | 다음
56. Zend Engine 2 API reference | 처음으로 | Streams API for PHP Extension Authors


Streams API for PHP Extension Authors

Overview

The PHP Streams API introduces a unified approach to the handling of files and sockets in PHP extension. Using a single API with standard functions for common operations, the streams API allows your extension to access files, sockets, URLs, memory and script-defined objects. Streams is a run-time extensible API that allows dynamically loaded modules (and scripts!) to register new streams.

The aim of the Streams API is to make it comfortable for developers to open files, URLs and other streamable data sources with a unified API that is easy to understand. The API is more or less based on the ANSI C stdio family of functions (with identical semantics for most of the main functions), so C programmers will have a feeling of familiarity with streams.

The streams API operates on a couple of different levels: at the base level, the API defines php_stream objects to represent streamable data sources. On a slightly higher level, the API defines php_stream_wrapper objects which "wrap" around the lower level API to provide support for retrieving data and meta-data from URLs. An additional context parameter, accepted by most stream creation functions, is passed to the wrapper's stream_opener method to fine-tune the behavior of the wrapper.

Any stream, once opened, can also have any number of filters applied to it, which process data as it is read from/written to the stream.

Streams can be cast (converted) into other types of file-handles, so that they can be used with third-party libraries without a great deal of trouble. This allows those libraries to access data directly from URL sources. If your system has the fopencookie() or funopen() function, you can even pass any PHP stream to any library that uses ANSI stdio!

참고: The functions in this chapter are for use in the PHP source code and are not PHP functions. Userland stream functions can be found in the Stream Reference.

Streams Basics

Using streams is very much like using ANSI stdio functions. The main difference is in how you obtain the stream handle to begin with. In most cases, you will use php_stream_open_wrapper() to obtain the stream handle. This function works very much like fopen, as can be seen from the example below:

예 57.1. simple stream example that displays the PHP home page

php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
if (stream) {
    while(!php_stream_eof(stream)) {
        char buf[1024];

        if (php_stream_gets(stream, buf, sizeof(buf))) {
            printf(buf);
        } else {
            break;
        }
    }
    php_stream_close(stream);
}

The table below shows the Streams equivalents of the more common ANSI stdio functions. Unless noted otherwise, the semantics of the functions are identical.

표 57.1. ANSI stdio equivalent functions in the Streams API

ANSI Stdio Function | PHP Streams Function | Notes
fopen | php_stream_open_wrapper | Streams includes additional parameters
fclose | php_stream_close |
fgets | php_stream_gets |
fread | php_stream_read | The nmemb parameter is assumed to have a value of 1, so the prototype looks more like read(2)
fwrite | php_stream_write | The nmemb parameter is assumed to have a value of 1, so the prototype looks more like write(2)
fseek | php_stream_seek |
ftell | php_stream_tell |
rewind | php_stream_rewind |
feof | php_stream_eof |
fgetc | php_stream_getc |
fputc | php_stream_putc |
fflush | php_stream_flush |
puts | php_stream_puts | Same semantics as puts, NOT fputs
fstat | php_stream_stat | Streams has a richer stat structure

Streams as Resources

All streams are registered as resources when they are created. This ensures that they will be properly cleaned up even if there is some fatal error. All of the filesystem functions in PHP operate on streams resources - that means that your extensions can accept regular PHP file pointers as parameters to, and return streams from their functions. The streams API makes this process as painless as possible:

예 57.2. How to accept a stream as a parameter

PHP_FUNCTION(example_write_hello)
{
    zval *zstream;
    php_stream *stream;

    if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream))
        return;

    php_stream_from_zval(stream, &zstream);

    /* you can now use the stream.  However, you do not "own" the
        stream, the script does.  That means you MUST NOT close the
        stream, because it will cause PHP to crash! */

    php_stream_write(stream, "hello\n");

    RETURN_TRUE();
}

예 57.3. How to return a stream from a function

PHP_FUNCTION(example_open_php_home_page)
{
    php_stream *stream;

    stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);

    php_stream_to_zval(stream, return_value);

    /* after this point, the stream is "owned" by the script.
        If you close it now, you will crash PHP! */
}

Since streams are automatically cleaned up, it's tempting to think that we can get away with being sloppy programmers and not bother to close the streams when we are done with them. Although such an approach might work, it is not a good idea for a number of reasons: streams hold locks on system resources while they are open, so leaving a file open after you have finished with it could prevent other processes from accessing it. If a script deals with a large number of files, the accumulation of the resources used, both in terms of memory and the sheer number of open files, can cause web server requests to fail. Sounds bad, doesn't it? The streams API includes some magic that helps you to keep your code clean - if a stream is not closed by your code when it should be, you will find some helpful debugging information in you web server error log.

참고: Always use a debug build of PHP when developing an extension (--enable-debug when running configure), as a lot of effort has been made to warn you about memory and stream leaks.

In some cases, it is useful to keep a stream open for the duration of a request, to act as a log or trace file for example. Writing the code to safely clean up such a stream is not difficult, but it's several lines of code that are not strictly needed. To save yourself the trouble of writing the code, you can mark a stream as being OK for auto cleanup. What this means is that the streams API will not emit a warning when it is time to auto-cleanup a stream. To do this, you can use php_stream_auto_cleanup().

Streams open options

These constants affect the operation of stream factory functions.

IGNORE_PATH
This is the default option for streams; it requests that the include_path is not to be searched for the requested file.
USE_PATH
Requests that the include_path is to be searched for the requested file.
IGNORE_URL
Requests that registered URL wrappers are to be ignored when opening the stream. Other non-URL wrappers will be taken into consideration when decoding the path. There is no opposite form for this flag; the streams API will use all registered wrappers by default.
IGNORE_URL_WIN
On Windows systems, this is equivalent to IGNORE_URL. On all other systems, this flag has no effect.
ENFORCE_SAFE_MODE
Requests that the underlying stream implementation perform safe_mode checks on the file before opening the file. Omitting this flag will skip safe_mode checks and allow opening of any file that the PHP process has rights to access.
REPORT_ERRORS
If this flag is set, and there was an error during the opening of the file or URL, the streams API will call the php_error function for you. This is useful because the path may contain username/password information that should not be displayed in the browser output (it would be a security risk to do so). When the streams API raises the error, it first strips username/password information from the path, making the error message safe to display in the browser.
STREAM_MUST_SEEK

This flag is useful when your extension really must be able to randomly seek around in a stream. Some streams may not be seekable in their native form, so this flag asks the streams API to check to see if the stream does support seeking. If it does not, it will copy the stream into temporary storage (which may be a temporary file or a memory stream) which does support seeking. Please note that this flag is not useful when you want to seek the stream and write to it, because the stream you are accessing might not be bound to the actual resource you requested.

참고: If the requested resource is network based, this flag will cause the opener to block until the whole contents have been downloaded.

STREAM_WILL_CAST

If your extension is using a third-party library that expects a FILE* or file descriptor, you can use this flag to request the streams API to open the resource but avoid buffering. You can then use php_stream_cast() to retrieve the FILE* or file descriptor that the library requires.

The is particularly useful when accessing HTTP URLs where the start of the actual stream data is found after an indeterminate offset into the stream.

Since this option disables buffering at the streams API level, you may experience lower performance when using streams functions on the stream; this is deemed acceptable because you have told streams that you will be using the functions to match the underlying stream implementation. Only use this option when you are sure you need it.

이전 | 위로 | 다음
57. Zend Engine 1 | 처음으로 | Zend API: PHP 코어 해킹


TSRM API

이전 | 위로 | 다음
Zend API: PHP 코어 해킹 | 처음으로 | 58. The future: PHP 6 and Zend Engine 3


Zend API: PHP 코어 해킹

Introduction

Those who know don't talk.

Those who talk don't know.

Sometimes, PHP "as is" simply isn't enough. Although these cases are rare for the average user, professional applications will soon lead PHP to the edge of its capabilities, in terms of either speed or functionality. New functionality cannot always be implemented natively due to language restrictions and inconveniences that arise when having to carry around a huge library of default code appended to every single script, so another method needs to be found for overcoming these eventual lacks in PHP.

As soon as this point is reached, it's time to touch the heart of PHP and take a look at its core, the C code that makes PHP go.

주의

This information is currently rather outdated, parts of it only cover early stages of the ZendEngine 1.0 API as it was used in early versions of PHP 4.

More recent information may be found in the various README files that come with the PHP source and the » Internals section on the Zend website.

Overview

"Extending PHP" is easier said than done. PHP has evolved to a full-fledged tool consisting of a few megabytes of source code, and to hack a system like this quite a few things have to be learned and considered. When structuring this chapter, we finally decided on the "learn by doing" approach. This is not the most scientific and professional approach, but the method that's the most fun and gives the best end results. In the following sections, you'll learn quickly how to get the most basic extensions to work almost instantly. After that, you'll learn about Zend's advanced API functionality. The alternative would have been to try to impart the functionality, design, tips, tricks, etc. as a whole, all at once, thus giving a complete look at the big picture before doing anything practical. Although this is the "better" method, as no dirty hacks have to be made, it can be very frustrating as well as energy- and time-consuming, which is why we've decided on the direct approach.

Note that even though this chapter tries to impart as much knowledge as possible about the inner workings of PHP, it's impossible to really give a complete guide to extending PHP that works 100% of the time in all cases. PHP is such a huge and complex package that its inner workings can only be understood if you make yourself familiar with it by practicing, so we encourage you to work with the source.

What Is Zend? and What Is PHP?

The name Zend refers to the language engine, PHP's core. The term PHP refers to the complete system as it appears from the outside. This might sound a bit confusing at first, but it's not that complicated ( see below). To implement a Web script interpreter, you need three parts:

  1. The interpreter part analyzes the input code, translates it, and executes it.

  2. The functionality part implements the functionality of the language (its functions, etc.).

  3. The interface part talks to the Web server, etc.

Zend takes part 1 completely and a bit of part 2; PHP takes parts 2 and 3. Together they form the complete PHP package. Zend itself really forms only the language core, implementing PHP at its very basics with some predefined functions. PHP contains all the modules that actually create the language's outstanding capabilities.

The following sections discuss where PHP can be extended and how it's done.

Extension Possibilities

As shown above, PHP can be extended primarily at three points: external modules, built-in modules, and the Zend engine. The following sections discuss these options.

External Modules

External modules can be loaded at script runtime using the function dl(). This function loads a shared object from disk and makes its functionality available to the script to which it's being bound. After the script is terminated, the external module is discarded from memory. This method has both advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
External modules don't require recompiling of PHP. | The shared objects need to be loaded every time a script is being executed (every hit), which is very slow.
The size of PHP remains small by "outsourcing" certain functionality. | External additional files clutter up the disk.
 | Every script that wants to use an external module's functionality has to specifically include a call to dl(), or the extension tag in php.ini needs to be modified (which is not always a suitable solution).
To sum up, external modules are great for third-party products, small additions to PHP that are rarely used, or just for testing purposes. To develop additional functionality quickly, external modules provide the best results. For frequent usage, larger implementations, and complex code, the disadvantages outweigh the advantages.

Third parties might consider using the extension tag in php.ini to create additional external modules to PHP. These external modules are completely detached from the main package, which is a very handy feature in commercial environments. Commercial distributors can simply ship disks or archives containing only their additional modules, without the need to create fixed and solid PHP binaries that don't allow other modules to be bound to them.

Built-in Modules

Built-in modules are compiled directly into PHP and carried around with every PHP process; their functionality is instantly available to every script that's being run. Like external modules, built-in modules have advantages and disadvantages, as described in the following table:

Advantages | Disadvantages
No need to load the module specifically; the functionality is instantly available. | Changes to built-in modules require recompiling of PHP.
No external files clutter up the disk; everything resides in the PHP binary. | The PHP binary grows and consumes more memory.
Built-in modules are best when you have a solid library of functions that remains relatively unchanged, requires better than poor-to-average performance, or is used frequently by many scripts on your site. The need to recompile PHP is quickly compensated by the benefit in speed and ease of use. However, built-in modules are not ideal when rapid development of small additions is required.

The Zend Engine

Of course, extensions can also be implemented directly in the Zend engine. This strategy is good if you need a change in the language behavior or require special functions to be built directly into the language core. In general, however, modifications to the Zend engine should be avoided. Changes here result in incompatibilities with the rest of the world, and hardly anyone will ever adapt to specially patched Zend engines. Modifications can't be detached from the main PHP sources and are overridden with the next update using the "official" source repositories. Therefore, this method is generally considered bad practice and, due to its rarity, is not covered in this book.

Source Layout

참고: Prior to working through the rest of this chapter, you should retrieve clean, unmodified source trees of your favorite Web server. We're working with Apache (available at » http://www.apache.org/) and, of course, with PHP (available at » http://www.php.net/ - does it need to be said?).

Make sure that you can compile a working PHP environment by yourself! We won't go into this issue here, however, as you should already have this most basic ability when studying this chapter.

Before we start discussing code issues, you should familiarize yourself with the source tree to be able to quickly navigate through PHP's files. This is a must-have ability to implement and debug extensions.

The following table describes the contents of the major directories.

Directory | Contents
php-src | Main PHP source files and main header files; here you'll find all of PHP's API definitions, macros, etc. (important). Everything else is below this directory.
php-src/ext | Repository for dynamic and built-in modules; by default, these are the "official" PHP modules that have been integrated into the main source tree. From PHP 4.0, it's possible to compile these standard extensions as dynamic loadable modules (at least, those that support it).
php-src/main | This directory contains the main php macros and definitions. (important)
php-src/pear | Directory for the PHP Extension and Application Repository. This directory contains core PEAR files.
php-src/sapi | Contains the code for the different server abstraction layers.
TSRM | Location of the "Thread Safe Resource Manager" (TSRM) for Zend and PHP.
ZendEngine2 | Location of the Zend Engine files; here you'll find all of Zend's API definitions, macros, etc. (important).

Discussing all the files included in the PHP package is beyond the scope of this chapter. However, you should take a close look at the following files:

  • php-src/main/php.h, located in the main PHP directory. This file contains most of PHP's macro and API definitions.

  • php-src/Zend/zend.h, located in the main Zend directory. This file contains most of Zend's macros and definitions.

  • php-src/Zend/zend_API.h, also located in the Zend directory, which defines Zend's API.

You should also follow some sub-inclusions from these files; for example, the ones relating to the Zend executor, the PHP initialization file support, and such. After reading these files, take the time to navigate around the package a little to see the interdependencies of all files and modules - how they relate to each other and especially how they make use of each other. This also helps you to adapt to the coding style in which PHP is authored. To extend PHP, you should quickly adapt to this style.

Extension Conventions

Zend is built using certain conventions; to avoid breaking its standards, you should follow the rules described in the following sections.

Macros

For almost every important task, Zend ships predefined macros that are extremely handy. The tables and figures in the following sections describe most of the basic functions, structures, and macros. The macro definitions can be found mainly in zend.h and zend_API.h. We suggest that you take a close look at these files after having studied this chapter. (Although you can go ahead and read them now, not everything will make sense to you yet.)

Memory Management

Resource management is a crucial issue, especially in server software. One of the most valuable resources is memory, and memory management should be handled with extreme care. Memory management has been partially abstracted in Zend, and you should stick to this abstraction for obvious reasons: Due to the abstraction, Zend gets full control over all memory allocations. Zend is able to determine whether a block is in use, automatically freeing unused blocks and blocks with lost references, and thus prevent memory leaks. The functions to be used are described in the following table:

Function | Description
emalloc() | Serves as replacement for malloc().
efree() | Serves as replacement for free().
estrdup() | Serves as replacement for strdup().
estrndup() | Serves as replacement for strndup(). Faster than estrdup() and binary-safe. This is the recommended function to use if you know the string length prior to duplicating it.
ecalloc() | Serves as replacement for calloc().
erealloc() | Serves as replacement for realloc().
emalloc(), estrdup(), estrndup(), ecalloc(), and erealloc() allocate internal memory; efree() frees these previously allocated blocks. Memory handled by the e*() functions is considered local to the current process and is discarded as soon as the script executed by this process is terminated.
주의

To allocate resident memory that survives termination of the current script, you can use malloc() and free(). This should only be done with extreme care, however, and only in conjunction with demands of the Zend API; otherwise, you risk memory leaks.

Zend also features a thread-safe resource manager to provide better native support for multithreaded Web servers. This requires you to allocate local structures for all of your global variables to allow concurrent threads to be run. Because the thread-safe mode of Zend was not finished back when this was written, it is not yet extensively covered here.

Directory and File Functions

The following directory and file functions should be used in Zend modules. They behave exactly like their C counterparts, but provide virtual working directory support on the thread level.

Zend Function | Regular C Function
V_GETCWD() | getcwd()
V_FOPEN() | fopen()
V_OPEN() | open()
V_CHDIR() | chdir()
V_GETWD() | getwd()
V_CHDIR_FILE() | Takes a file path as an argument and changes the current working directory to that file's directory.
V_STAT() | stat()
V_LSTAT() | lstat()

String Handling

Strings are handled a bit differently by the Zend engine than other values such as integers, Booleans, etc., which don't require additional memory allocation for storing their values. If you want to return a string from a function, introduce a new string variable to the symbol table, or do something similar, you have to make sure that the memory the string will be occupying has previously been allocated, using the aforementioned e*() functions for allocation. (This might not make much sense to you yet; just keep it somewhere in your head for now - we'll get back to it shortly.)

Complex Types

Complex types such as arrays and objects require different treatment. Zend features a single API for these types - they're stored using hash tables.

참고: To reduce complexity in the following source examples, we're only working with simple types such as integers at first. A discussion about creating more advanced types follows later in this chapter.

PHP's Automatic Build System

PHP 4 features an automatic build system that's very flexible. All modules reside in a subdirectory of the ext directory. In addition to its own sources, each module consists of a config.m4 file, for extension configuration. (for example, see » http://www.gnu.org/software/m4/manual/m4.html)

All these stub files are generated automatically, along with .cvsignore, by a little shell script named ext_skel that resides in the ext directory. As argument it takes the name of the module that you want to create. The shell script then creates a directory of the same name, along with the appropriate stub files.

Step by step, the process looks like this:

:~/cvs/php4/ext:> ./ext_skel --extname=my_module
Creating directory my_module
Creating basic files: config.m4 .cvsignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].

To use your new extension, you will have to execute the following steps:

1.  $ cd ..
2.  $ vi ext/my_module/config.m4
3.  $ ./buildconf
4.  $ ./configure --[with|enable]-my_module
5.  $ make
6.  $ ./php -f ext/my_module/my_module.php
7.  $ vi ext/my_module/my_module.c
8.  $ make

Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and
step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
This instruction creates the aforementioned files. To include the new module in the automatic configuration and build process, you have to run buildconf, which regenerates the configure script by searching through the ext directory and including all found config.m4 files.

The default config.m4 shown in 예 57.4. “The default config.m4.” is a bit more complex:

예 57.4. The default config.m4.

dnl $Id: build.xml,v 1.1 2007/11/13 13:18:30 acidd15 Exp $
dnl config.m4 for extension my_module

dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary. This file will not work
dnl without editing.

dnl If your extension references something external, use with:

dnl PHP_ARG_WITH(my_module, for my_module support,
dnl Make sure that the comment is aligned:
dnl [  --with-my_module             Include my_module support])

dnl Otherwise use enable:

dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
dnl Make sure that the comment is aligned:
dnl [  --enable-my_module           Enable my_module support])

if test "$PHP_MY_MODULE" != "no"; then
  dnl Write more examples of tests here...

  dnl # --with-my_module -> check with-path
  dnl SEARCH_PATH="/usr/local /usr"     # you might want to change this
  dnl SEARCH_FOR="/include/my_module.h"  # you most likely want to change this
  dnl if test -r $PHP_MY_MODULE/; then # path given as parameter
  dnl   MY_MODULE_DIR=$PHP_MY_MODULE
  dnl else # search default path list
  dnl   AC_MSG_CHECKING([for my_module files in default path])
  dnl   for i in $SEARCH_PATH ; do
  dnl     if test -r $i/$SEARCH_FOR; then
  dnl       MY_MODULE_DIR=$i
  dnl       AC_MSG_RESULT(found in $i)
  dnl     fi
  dnl   done
  dnl fi
  dnl
  dnl if test -z "$MY_MODULE_DIR"; then
  dnl   AC_MSG_RESULT([not found])
  dnl   AC_MSG_ERROR([Please reinstall the my_module distribution])
  dnl fi

  dnl # --with-my_module -> add include path
  dnl PHP_ADD_INCLUDE($MY_MODULE_DIR/include)

  dnl # --with-my_module -> chech for lib and symbol presence
  dnl LIBNAME=my_module # you may want to change this
  dnl LIBSYMBOL=my_module # you most likely want to change this

  dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
  dnl [
  dnl   PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $MY_MODULE_DIR/lib, MY_MODULE_SHARED_LIBADD)
  dnl   AC_DEFINE(HAVE_MY_MODULELIB,1,[ ])
  dnl ],[
  dnl   AC_MSG_ERROR([wrong my_module lib version or lib not found])
  dnl ],[
  dnl   -L$MY_MODULE_DIR/lib -lm -ldl
  dnl ])
  dnl
  dnl PHP_SUBST(MY_MODULE_SHARED_LIBADD)

  PHP_NEW_EXTENSION(my_module, my_module.c, $ext_shared)
fi

If you're unfamiliar with M4 files (now is certainly a good time to get familiar), this might be a bit confusing at first; but it's actually quite easy.

Note: Everything prefixed with dnl is treated as a comment and is not parsed.

The config.m4 file is responsible for parsing the command-line options passed to configure at configuration time. This means that it has to check for required external files and do similar configuration and setup tasks.

The default file creates two configuration directives in the configure script: --with-my_module and --enable-my_module. Use the first option when referring external files (such as the --with-apache directive that refers to the Apache directory). Use the second option when the user simply has to decide whether to enable your extension. Regardless of which option you use, you should uncomment the other, unnecessary one; that is, if you're using --enable-my_module, you should remove support for --with-my_module, and vice versa.

By default, the config.m4 file created by ext_skel accepts both directives and automatically enables your extension. Enabling the extension is done by using the PHP_EXTENSION macro. To change the default behavior to include your module into the PHP binary when desired by the user (by explicitly specifying --enable-my_module or --with-my_module), change the test for $PHP_MY_MODULE to == "yes":

if test "$PHP_MY_MODULE" == "yes"; then dnl
    Action.. PHP_EXTENSION(my_module, $ext_shared)
    fi
This would require you to use --enable-my_module each time when reconfiguring and recompiling PHP.

Note: Be sure to run buildconf every time you change config.m4!

We'll go into more details on the M4 macros available to your configuration scripts later in this chapter. For now, we'll simply use the default files.

Creating Extensions

We'll start with the creation of a very simple extension at first, which basically does nothing more than implement a function that returns the integer it receives as parameter. 예 57.5. “A simple extension.” shows the source.

예 57.5. A simple extension.

/* include standard header */
#include "php.h"

/* declaration of functions to be exported */
ZEND_FUNCTION(first_module);

/* compiled function list so Zend knows what's in this module */
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};

/* compiled module information */
zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES
};

/* implement standard "stub" routine to introduce ourselves to Zend */
#if COMPILE_DL_FIRST_MODULE
ZEND_GET_MODULE(firstmod)
#endif

/* implement function that is meant to be made available to PHP */
ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &amp;parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}

This code contains a complete PHP module. We'll explain the source code in detail shortly, but first we'd like to discuss the build process. (This will allow the impatient to experiment before we dive into API discussions.)

참고: The example source makes use of some features introduced with the Zend version used in PHP 4.1.0 and above, it won't compile with older PHP 4.0.x versions.

Compiling Modules

There are basically two ways to compile modules:

  • Use the provided "make" mechanism in the ext directory, which also allows building of dynamic loadable modules.

  • Compile the sources manually.

The first method should definitely be favored, since, as of PHP 4.0, this has been standardized into a sophisticated build process. The fact that it is so sophisticated is also its drawback, unfortunately - it's hard to understand at first. We'll provide a more detailed introduction to this later in the chapter, but first let's work with the default files.

The second method is good for those who (for some reason) don't have the full PHP source tree available, don't have access to all files, or just like to juggle with their keyboard. These cases should be extremely rare, but for the sake of completeness we'll also describe this method.

Compiling Using Make.

To compile the sample sources using the standard mechanism, copy all their subdirectories to the ext directory of your PHP source tree. Then run buildconf, which will create an updated configure script containing appropriate options for the new extension. By default, all the sample sources are disabled, so you don't have to fear breaking your build process.

After you run buildconf, configure --help shows the following additional modules:

  --enable-array_experiments   BOOK: Enables array experiments
  --enable-call_userland       BOOK: Enables userland module
  --enable-cross_conversion    BOOK: Enables cross-conversion module
  --enable-first_module        BOOK: Enables first module
  --enable-infoprint           BOOK: Enables infoprint module
  --enable-reference_test      BOOK: Enables reference test module
  --enable-resource_test       BOOK: Enables resource test module
  --enable-variable_creation   BOOK: Enables variable-creation module

The module shown earlier in 예 57.5. “A simple extension.” can be enabled with --enable-first_module or --enable-first_module=yes.

Compiling Manually.

To compile your modules manually, you need the following commands:

Action | Command
Compiling | cc -fpic -DCOMPILE_DL_FIRST_MODULE=1 -I/usr/local/include -I. -I.. -I../Zend -c -o <your_object_file> <your_c_file>
Linking | cc -shared -L/usr/local/lib -rdynamic -o <your_module_file> <your_object_file(s)>

The command to compile the module simply instructs the compiler to generate position-independent code (-fpic shouldn't be omitted) and additionally defines the constant COMPILE_DL_FIRST_MODULE to tell the module code that it's compiled as a dynamically loadable module (the test module above checks for this; we'll discuss it shortly). After these options, it specifies a number of standard include paths that should be used as the minimal set to compile the source files.

Note: All include paths in the example are relative to the directory ext. If you're compiling from another directory, change the pathnames accordingly. Required items are the PHP directory, the Zend directory, and (if necessary), the directory in which your module resides.

The link command is also a plain vanilla command instructing linkage as a dynamic module.

You can include optimization options in the compilation command, although these have been omitted in this example (but some are included in the makefile template described in an earlier section).

Note: Compiling and linking manually as a static module into the PHP binary involves very long instructions and thus is not discussed here. (It's not very efficient to type all those commands.)

Using Extensions

Depending on the build process you selected, you should either end up with a new PHP binary to be linked into your Web server (or run as CGI), or with an .so (shared object) file. If you compiled the example file first_module.c as a shared object, your result file should be first_module.so. To use it, you first have to copy it to a place from which it's accessible to PHP. For a simple test procedure, you can copy it to your htdocs directory and try it with the source in 예 57.6. “A test file for first_module.so.”. If you compiled it into the PHP binary, omit the call to dl(), as the module's functionality is instantly available to your scripts.

주의

For security reasons, you should not put your dynamic modules into publicly accessible directories. Even though it can be done and it simplifies testing, you should put them into a separate directory in production environments.

예 57.6. A test file for first_module.so.

<?php

// remove next comment if necessary
// dl("first_module.so");

$param = 2;
$return = first_module($param);

print("We sent '$param' and got '$return'");

?>

Calling this PHP file should output the following:

We sent '2' and got '2'

If required, the dynamic loadable module is loaded by calling the dl() function. This function looks for the specified shared object, loads it, and makes its functions available to PHP. The module exports the function first_module(), which accepts a single parameter, converts it to an integer, and returns the result of the conversion.

If you've gotten this far, congratulations! You just built your first extension to PHP.

Troubleshooting

Actually, not much troubleshooting can be done when compiling static or dynamic modules. The only problem that could arise is that the compiler will complain about missing definitions or something similar. In this case, make sure that all header files are available and that you specified their path correctly in the compilation command. To be sure that everything is located correctly, extract a clean PHP source tree and use the automatic build in the ext directory with the fresh files; this will guarantee a safe compilation environment. If this fails, try manual compilation.

PHP might also complain about missing functions in your module. (This shouldn't happen with the sample sources if you didn't modify them.) If the names of external functions you're trying to access from your module are misspelled, they'll remain as "unlinked symbols" in the symbol table. During dynamic loading and linkage by PHP, they won't resolve because of the typing errors - there are no corresponding symbols in the main binary. Look for incorrect declarations in your module file or incorrectly written external references. Note that this problem is specific to dynamic loadable modules; it doesn't occur with static modules. Errors in static modules show up at compile time.

Source Discussion

Now that you've got a safe build environment and you're able to include the modules into PHP files, it's time to discuss how everything works.

Module Structure

All PHP modules follow a common structure:

  • Header file inclusions (to include all required macros, API definitions, etc.)

  • C declaration of exported functions (required to declare the Zend function block)

  • Declaration of the Zend function block

  • Declaration of the Zend module block

  • Implementation of get_module()

  • Implementation of all exported functions

Header File Inclusions

The only header file you really have to include for your modules is php.h, located in the PHP directory. This file makes all macros and API definitions required to build new modules available to your code.

Tip: It's good practice to create a separate header file for your module that contains module-specific definitions. This header file should contain all the forward definitions for exported functions and include php.h. If you created your module using ext_skel you already have such a header file prepared.

Declaring Exported Functions

To declare functions that are to be exported (i.e., made available to PHP as new native functions), Zend provides a set of macros. A sample declaration looks like this:

ZEND_FUNCTION ( my_function );

ZEND_FUNCTION declares a new C function that complies with Zend's internal API. This means that the function is of type void and accepts INTERNAL_FUNCTION_PARAMETERS (another macro) as parameters. Additionally, it prefixes the function name with zif. The immediately expanded version of the above definitions would look like this:

void zif_my_function ( INTERNAL_FUNCTION_PARAMETERS );
Expanding INTERNAL_FUNCTION_PARAMETERS results in the following:

void zif_my_function( int ht
                    , zval * return_value
                    , zval * this_ptr
                    , int return_value_used
                    , zend_executor_globals * executor_globals
                    );

Since the interpreter and executor core have been separated from the main PHP package, a second API defining macros and function sets has evolved: the Zend API. As the Zend API now handles quite a few of the responsibilities that previously belonged to PHP, a lot of PHP functions have been reduced to macros aliasing to calls into the Zend API. The recommended practice is to use the Zend API wherever possible, as the old API is only preserved for compatibility reasons. For example, the types zval and pval are identical. zval is Zend's definition; pval is PHP's definition (actually, pval is an alias for zval now). As the macro INTERNAL_FUNCTION_PARAMETERS is a Zend macro, the above declaration contains zval. When writing code, you should always use zval to conform to the new Zend API.

The parameter list of this declaration is very important; you should keep these parameters in mind (see 표 57.2. “Zend's Parameters to Functions Called from PHP” for descriptions).

표 57.2. Zend's Parameters to Functions Called from PHP

Parameter | Description
ht | The number of arguments passed to the Zend function. You should not touch this directly, but instead use ZEND_NUM_ARGS() to obtain the value.
return_value | This variable is used to pass any return values of your function back to PHP. Access to this variable is best done using the predefined macros. For a description of these see below.
this_ptr | Using this variable, you can gain access to the object in which your function is contained, if it's used within an object. Use the function getThis() to obtain this pointer.
return_value_used | This flag indicates whether an eventual return value from this function will actually be used by the calling script. 0 indicates that the return value is not used; 1 indicates that the caller expects a return value. Evaluation of this flag can be done to verify correct usage of the function as well as speed optimizations in case returning a value requires expensive operations (for an example, see how array.c makes use of this).
executor_globals | This variable points to global settings of the Zend engine. You'll find this useful when creating new variables, for example (more about this later). The executor globals can also be introduced to your function by using the macro TSRMLS_FETCH().

Declaration of the Zend Function Block

Now that you have declared the functions to be exported, you also have to introduce them to Zend. Introducing the list of functions is done by using an array of zend_function_entry. This array consecutively contains all functions that are to be made available externally, with the function's name as it should appear in PHP and its name as defined in the C source. Internally, zend_function_entry is defined as shown in 예 57.7. “Internal declaration of zend_function_entry.”.

예 57.7. Internal declaration of zend_function_entry.

typedef struct _zend_function_entry {
    char *fname;
    void (*handler)(INTERNAL_FUNCTION_PARAMETERS);
    unsigned char *func_arg_types;
} zend_function_entry;

Entry | Description
fname | Denotes the function name as seen in PHP (for example, fopen, mysql_connect, or, in our example, first_module).
handler | Pointer to the C function responsible for handling calls to this function. For example, see the standard macro INTERNAL_FUNCTION_PARAMETERS discussed earlier.
func_arg_types | Allows you to mark certain parameters so that they're forced to be passed by reference. You usually should set this to NULL.

In the example above, the declaration looks like this:

zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};
You can see that the last entry in the list always has to be {NULL, NULL, NULL}. This marker has to be set for Zend to know when the end of the list of exported functions is reached.

참고: You cannot use the predefined macros for the end marker, as these would try to refer to a function named "NULL"!

The macro ZEND_FE (short for 'Zend Function Entry') simply expands to a structure entry in zend_function_entry. Note that these macros introduce a special naming scheme to your functions - your C functions will be prefixed with zif_, meaning that ZEND_FE(first_module) will refer to a C function zif_first_module(). If you want to mix macro usage with hand-coded entries (not a good practice), keep this in mind.

Tip: Compilation errors that refer to functions named zif_*() relate to functions defined with ZEND_FE.

표 57.3. “Macros for Defining Functions” shows a list of all the macros that you can use to define functions.

표 57.3. Macros for Defining Functions

Macro Name | Description
ZEND_FE(name, arg_types) | Defines a function entry of the name name in zend_function_entry. Requires a corresponding C function. arg_types needs to be set to NULL. This function uses automatic C function name generation by prefixing the PHP function name with zif_. For example, ZEND_FE("first_module", NULL) introduces a function first_module() to PHP and links it to the C function zif_first_module(). Use in conjunction with ZEND_FUNCTION.
ZEND_NAMED_FE(php_name, name, arg_types) | Defines a function that will be available to PHP by the name php_name and links it to the corresponding C function name. arg_types needs to be set to NULL. Use this function if you don't want the automatic name prefixing introduced by ZEND_FE. Use in conjunction with ZEND_NAMED_FUNCTION.
ZEND_FALIAS(name, alias, arg_types) | Defines an alias named alias for name. arg_types needs to be set to NULL. Doesn't require a corresponding C function; refers to the alias target instead.
PHP_FE(name, arg_types) | Old PHP API equivalent of ZEND_FE.
PHP_NAMED_FE(runtime_name, name, arg_types) | Old PHP API equivalent of ZEND_NAMED_FE.

Note: You can't use ZEND_FE in conjunction with PHP_FUNCTION, or PHP_FE in conjunction with ZEND_FUNCTION. However, it's perfectly legal to mix ZEND_FE and ZEND_FUNCTION with PHP_FE and PHP_FUNCTION when staying with the same macro set for each function to be declared. But mixing is not recommended; instead, you're advised to use the ZEND_* macros only.

Declaration of the Zend Module Block

This block is stored in the structure zend_module_entry and contains all necessary information to describe the contents of this module to Zend. You can see the internal definition of this module in 예 57.8. “Internal declaration of zend_module_entry.”.

예 57.8. Internal declaration of zend_module_entry.

typedef struct _zend_module_entry zend_module_entry;

    struct _zend_module_entry {
    unsigned short size;
    unsigned int zend_api;
    unsigned char zend_debug;
    unsigned char zts;
    char *name;
    zend_function_entry *functions;
    int (*module_startup_func)(INIT_FUNC_ARGS);
    int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    int (*request_startup_func)(INIT_FUNC_ARGS);
    int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
    void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
    char *version;

[ Rest of the structure is not interesting here ]

};

Entry | Description
size, zend_api, zend_debug and zts | Usually filled with the "STANDARD_MODULE_HEADER", which fills these four members with the size of the whole zend_module_entry, the ZEND_MODULE_API_NO, whether it is a debug build or normal build (ZEND_DEBUG) and if ZTS is enabled (USING_ZTS).
name | Contains the module name (for example, "File functions", "Socket functions", "Crypt", etc.). This name will show up in phpinfo(), in the section "Additional Modules."
functions | Points to the Zend function block, discussed in the preceding section.
module_startup_func | This function is called once upon module initialization and can be used to do one-time initialization steps (such as initial memory allocation, etc.). To indicate a failure during initialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINIT.
module_shutdown_func | This function is called once upon module shutdown and can be used to do one-time deinitialization steps (such as memory deallocation). This is the counterpart to module_startup_func(). To indicate a failure during deinitialization, return FAILURE; otherwise, SUCCESS. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MSHUTDOWN.
request_startup_func | This function is called once upon every page request and can be used to do one-time initialization steps that are required to process a request. To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request startup function is called right after the module startup function (both initialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RINIT.
request_shutdown_func | This function is called once after every page request and works as counterpart to request_startup_func(). To indicate a failure here, return FAILURE; otherwise, SUCCESS. Note: As dynamic loadable modules are loaded only on page requests, the request shutdown function is immediately followed by a call to the module shutdown handler (both deinitialization events happen at the same time). To mark this field as unused, use NULL. To declare a function, use the macro ZEND_RSHUTDOWN.
info_func | When phpinfo() is called in a script, Zend cycles through all loaded modules and calls this function. Every module then has the chance to print its own "footprint" into the output page. Generally this is used to dump environmental or statistical information. To mark this field as unused, use NULL. To declare a function, use the macro ZEND_MINFO.
version | The version of the module. You can use NO_VERSION_YET if you don't want to give the module a version number yet, but we really recommend that you add a version string here. Such a version string can look like this (in chronological order): "2.5-dev", "2.5RC1", "2.5" or "2.5pl3".
Remaining structure elements | These are used internally and can be prefilled by using the macro STANDARD_MODULE_PROPERTIES_EX. You should not assign any values to them. Use STANDARD_MODULE_PROPERTIES_EX only if you use global startup and shutdown functions; otherwise, use STANDARD_MODULE_PROPERTIES directly.

In our example, this structure is implemented as follows:

zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL, NULL, NULL, NULL, NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES,
};
This is basically the easiest and most minimal set of values you could ever use. The module name is set to First Module, then the function list is referenced, after which all startup and shutdown functions are marked as being unused.

For reference purposes, you can find a list of the macros involved in declared startup and shutdown functions in 표 57.4. “Macros to Declare Startup and Shutdown Functions”. These are not used in our basic example yet, but will be demonstrated later on. You should make use of these macros to declare your startup and shutdown functions, as these require special arguments to be passed (INIT_FUNC_ARGS and SHUTDOWN_FUNC_ARGS), which are automatically included into the function declaration when using the predefined macros. If you declare your functions manually and the PHP developers decide that a change in the argument list is necessary, you'll have to change your module sources to remain compatible.

표 57.4. Macros to Declare Startup and Shutdown Functions

Macro | Description
ZEND_MINIT(module) | Declares a function for module startup. The generated name will be zend_minit_<module> (for example, zend_minit_first_module). Use in conjunction with ZEND_MINIT_FUNCTION.
ZEND_MSHUTDOWN(module) | Declares a function for module shutdown. The generated name will be zend_mshutdown_<module> (for example, zend_mshutdown_first_module). Use in conjunction with ZEND_MSHUTDOWN_FUNCTION.
ZEND_RINIT(module) | Declares a function for request startup. The generated name will be zend_rinit_<module> (for example, zend_rinit_first_module). Use in conjunction with ZEND_RINIT_FUNCTION.
ZEND_RSHUTDOWN(module) | Declares a function for request shutdown. The generated name will be zend_rshutdown_<module> (for example, zend_rshutdown_first_module). Use in conjunction with ZEND_RSHUTDOWN_FUNCTION.
ZEND_MINFO(module) | Declares a function for printing module information, used when phpinfo() is called. The generated name will be zend_info_<module> (for example, zend_info_first_module). Use in conjunction with ZEND_MINFO_FUNCTION.

Creation of get_module()

This function is special to all dynamic loadable modules. Take a look at the creation via the ZEND_GET_MODULE macro first:

#if COMPILE_DL_FIRSTMOD
     ZEND_GET_MODULE(firstmod)
#endif

The function implementation is surrounded by a conditional compilation statement. This is needed since the function get_module() is only required if your module is built as a dynamic extension. By specifying a definition of COMPILE_DL_FIRSTMOD in the compiler command (see above for a discussion of the compilation instructions required to build a dynamic extension), you can instruct your module whether you intend to build it as a dynamic extension or as a built-in module. If you want a built-in module, the implementation of get_module() is simply left out.

get_module() is called by Zend at load time of the module. You can think of it as being invoked by the dl() call in your script. Its purpose is to pass the module information block back to Zend in order to inform the engine about the module contents.

If you don't implement a get_module() function in your dynamic loadable module, Zend will compliment you with an error message when trying to access it.

Implementation of All Exported Functions

Implementing the exported functions is the final step. The example function in first_module looks like this:

ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &amp;parameter) == FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}
The function declaration is done using ZEND_FUNCTION, which corresponds to ZEND_FE in the function entry table (discussed earlier).

After the declaration, code for checking and retrieving the function's arguments, argument conversion, and return value generation follows (more on this later).

Summary

That's it, basically - there's nothing more to implementing PHP modules. Built-in modules are structured similarly to dynamic modules, so, equipped with the information presented in the previous sections, you'll be able to fight the odds when encountering PHP module source files.

Now, in the following sections, read on about how to make use of PHP's internals to build powerful extensions.

Accepting Arguments

One of the most important issues for language extensions is accepting and dealing with data passed via arguments. Most extensions are built to deal with specific input data (or require parameters to perform their specific actions), and function arguments are the only real way to exchange data between the PHP level and the C level. Of course, there's also the possibility of exchanging data using predefined global values (which is also discussed later), but this should be avoided by all means, as it's extremely bad practice.

PHP doesn't make use of any formal function declarations; this is why call syntax is always completely dynamic and never checked for errors. Checking for correct call syntax is left to the user code. For example, it's possible to call a function using only one argument at one time and four arguments the next time - both invocations are syntactically absolutely correct.

Determining the Number of Arguments

Since PHP doesn't have formal function definitions with support for call syntax checking, and since PHP features variable arguments, sometimes you need to find out with how many arguments your function has been called. You can use the ZEND_NUM_ARGS macro in this case. In previous versions of PHP, this macro retrieved the number of arguments with which the function has been called based on the function's hash table entry, ht, which is passed in the INTERNAL_FUNCTION_PARAMETERS list. As ht itself now contains the number of arguments that have been passed to the function, ZEND_NUM_ARGS has been stripped down to a dummy macro (see its definition in zend_API.h). But it's still good practice to use it, to remain compatible with future changes in the call interface. Note: The old PHP equivalent of this macro is ARG_COUNT.

The following code checks for the correct number of arguments:

if(ZEND_NUM_ARGS() != 2) WRONG_PARAM_COUNT;
If the function is not called with two arguments, it exits with an error message. The code snippet above makes use of the tool macro WRONG_PARAM_COUNT, which can be used to generate a standard error message like: "Warning: Wrong parameter count for firstmodule() in /home/www/htdocs/firstmod.php on line 5"

This macro prints a default error message and then returns to the caller. Its definition can also be found in zend_API.h and looks like this:

ZEND_API void wrong_param_count(void);

#define WRONG_PARAM_COUNT { wrong_param_count(); return; }
As you can see, it calls an internal function named wrong_param_count() that's responsible for printing the warning. For details on generating customized error messages, see the later section "Printing Information."

Retrieving Arguments

New parameter parsing API : This chapter documents the new Zend parameter parsing API introduced by Andrei Zmievski. It was introduced in the development stage between PHP 4.0.6 and 4.1.0 .

Parsing parameters is a very common operation and it may get a bit tedious. It would also be nice to have standardized error checking and error messages. Since PHP 4.1.0, there is a way to do just that by using the new parameter parsing API. It greatly simplifies the process of receiving parameters, but it has a drawback in that it can't be used for functions that expect variable number of parameters. But since the vast majority of functions do not fall into those categories, this parsing API is recommended as the new standard way.

The prototype for parameter parsing function looks like this:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
The first argument to this function is supposed to be the number of actual parameters passed to your function, so ZEND_NUM_ARGS() can be used for that. The second parameter should always be TSRMLS_CC macro. The third argument is a string that specifies the number and types of arguments your function is expecting, similar to how printf format string specifies the number and format of the output values it should operate on. And finally the rest of the arguments are pointers to variables which should receive the values from the parameters.

zend_parse_parameters() also performs type conversions whenever possible, so that you always receive the data in the format you asked for. Any type of scalar can be converted to another one, but conversions between complex types (arrays, objects, and resources) and scalar types are not allowed.

If the parameters could be obtained successfully and there were no errors during type conversion, the function will return SUCCESS, otherwise it will return FAILURE. The function will output informative error messages, if the number of received parameters does not match the requested number, or if type conversion could not be performed.

Here are some sample error messages:

     Warning - ini_get_all() requires at most 1 parameter, 2 given
     Warning - wddx_deserialize() expects parameter 1 to be string, array given
Of course each error message is accompanied by the filename and line number on which it occurs.

Here is the full list of type specifiers:

  • l - long

  • d - double

  • s - string (with possible null bytes) and its length

  • b - boolean

  • r - resource, stored in zval*

  • a - array, stored in zval*

  • o - object (of any class), stored in zval*

  • O - object (of class specified by class entry), stored in zval*

  • z - the actual zval*

The following characters also have a meaning in the specifier string:

  • | - indicates that the remaining parameters are optional. The storage variables corresponding to these parameters should be initialized to default values by the extension, since they will not be touched by the parsing function if the parameters are not passed.

  • / - the parsing function will call SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows, to provide a copy of the parameter, unless it's a reference.

  • ! - the parameter it follows can be of specified type or NULL (only applies to a, o, O, r, and z). If NULL value is passed by the user, the storage pointer will be set to NULL.

The best way to illustrate the usage of this function is through examples:

/* Gets a long, a string and its length, and a zval. */
long l;
char *s;
int s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "lsz", &l, &s, &s_len, &param) == FAILURE) {
    return;
}

/* Gets an object of class specified by my_ce, and an optional double. */
zval *obj;
double d = 0.5;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "O|d", &obj, my_ce, &d) == FAILURE) {
    return;
}

/* Gets an object or null, and an array.
   If null is passed for object, obj will be set to NULL. */
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O!a", &obj, &arr) == FAILURE) {
    return;
}

/* Gets a separated array. */
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) {
    return;
}

/* Get only the first three parameters (useful for varargs functions). */
zval *z;
zend_bool b;
zval *r;
if (zend_parse_parameters(3, "zbr!", &z, &b, &r) == FAILURE) {
    return;
}

Note that in the last example we pass 3 for the number of received parameters, instead of ZEND_NUM_ARGS(). What this lets us do is receive the least number of parameters if our function expects a variable number of them. Of course, if you want to operate on the rest of the parameters, you will have to use zend_get_parameters_array_ex() to obtain them.

The parsing function has an extended version that allows for an additional flags argument that controls its actions.

int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);

The only flag you can pass currently is ZEND_PARSE_PARAMS_QUIET, which instructs the function to not output any error messages during its operation. This is useful for functions that expect several sets of completely different arguments, but you will have to output your own error messages.

For example, here is how you would get either a set of three longs or a string:

long l1, l2, l3;
char *s;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                             ZEND_NUM_ARGS() TSRMLS_CC,
                             "lll", &l1, &l2, &l3) == SUCCESS) {
    /* manipulate longs */
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
                                    ZEND_NUM_ARGS(), "s", &s, &s_len) == SUCCESS) {
    /* manipulate string */
} else {
    php_error(E_WARNING, "%s() takes either three long values or a string as argument",
              get_active_function_name(TSRMLS_C));
    return;
}

With all the abovementioned ways of receiving function parameters you should have a good handle on this process. For even more example, look through the source code for extensions that are shipped with PHP - they illustrate every conceivable situation.

Old way of retrieving arguments (deprecated)

Deprecated parameter parsing API : This API is deprecated and superseded by the new ZEND parameter parsing API.

After having checked the number of arguments, you need to get access to the arguments themselves. This is done with the help of zend_get_parameters_ex():

zval **parameter;

if(zend_get_parameters_ex(1, &parameter) != SUCCESS)
  WRONG_PARAM_COUNT;
All arguments are stored in a zval container, which needs to be pointed to twice. The snippet above tries to retrieve one argument and make it available to us via the parameter pointer.

zend_get_parameters_ex() accepts at least two arguments. The first argument is the number of arguments to retrieve (which should match the number of arguments with which the function has been called; this is why it's important to check for correct call syntax). The second argument (and all following arguments) are pointers to pointers to pointers to zvals. (Confusing, isn't it?) All these pointers are required because Zend works internally with **zval; to adjust a local **zval in our function,zend_get_parameters_ex() requires a pointer to it.

The return value of zend_get_parameters_ex() can either be SUCCESS or FAILURE, indicating (unsurprisingly) success or failure of the argument processing. A failure is most likely related to an incorrect number of arguments being specified, in which case you should exit with WRONG_PARAM_COUNT.

To retrieve more than one argument, you can use a similar snippet:

zval **param1, **param2, **param3, **param4;

if(zend_get_parameters_ex(4, &param1, &param2, &param3, &param4) != SUCCESS)
    WRONG_PARAM_COUNT;

zend_get_parameters_ex() only checks whether you're trying to retrieve too many parameters. If the function is called with five arguments, but you're only retrieving three of them with zend_get_parameters_ex(), you won't get an error but will get the first three parameters instead. Subsequent calls of zend_get_parameters_ex() won't retrieve the remaining arguments, but will get the same arguments again.

Dealing with a Variable Number of Arguments/Optional Parameters

If your function is meant to accept a variable number of arguments, the snippets just described are sometimes suboptimal solutions. You have to create a line calling zend_get_parameters_ex() for every possible number of arguments, which is often unsatisfying.

For this case, you can use the function zend_get_parameters_array_ex(), which accepts the number of parameters to retrieve and an array in which to store them:

zval **parameter_array[4];

/* get the number of arguments */
argument_count = ZEND_NUM_ARGS();

/* see if it satisfies our minimal request (2 arguments) */
/* and our maximal acceptance (4 arguments) */
if(argument_count < 2 || argument_count > 4)
    WRONG_PARAM_COUNT;

/* argument count is correct, now retrieve arguments */
if(zend_get_parameters_array_ex(argument_count, parameter_array) != SUCCESS)
    WRONG_PARAM_COUNT;
First, the number of arguments is checked to make sure that it's in the accepted range. After that, zend_get_parameters_array_ex() is used to fill parameter_array with valid pointers to the argument values.

A very clever implementation of this can be found in the code handling PHP's fsockopen() located in ext/standard/fsock.c, as shown in 예 57.9. “PHP's implementation of variable arguments in fsockopen().”. Don't worry if you don't know all the functions used in this source yet; we'll get to them shortly.

예 57.9. PHP's implementation of variable arguments in fsockopen().

pval **args[5];
int *sock=emalloc(sizeof(int));
int *sockp;
int arg_count=ARG_COUNT(ht);
int socketd = -1;
unsigned char udp = 0;
struct timeval timeout = { 60, 0 };
unsigned short portno;
unsigned long conv;
char *key = NULL;
FLS_FETCH();

if (arg_count > 5 || arg_count < 2 || zend_get_parameters_array_ex(arg_count,args)==FAILURE) {
    CLOSE_SOCK(1);
    WRONG_PARAM_COUNT;
}

switch(arg_count) {
    case 5:
        convert_to_double_ex(args[4]);
        conv = (unsigned long) (Z_DVAL_PP(args[4]) * 1000000.0);
        timeout.tv_sec = conv / 1000000;
        timeout.tv_usec = conv % 1000000;
        /* fall-through */
    case 4:
        if (!PZVAL_IS_REF(*args[3])) {
            php_error(E_WARNING,"error string argument to fsockopen not passed by reference");
        }
        pval_copy_constructor(*args[3]);
        ZVAL_EMPTY_STRING(*args[3]);
        /* fall-through */
    case 3:
        if (!PZVAL_IS_REF(*args[2])) {
            php_error(E_WARNING,"error argument to fsockopen not passed by reference");
            return;
        }
        ZVAL_LONG(*args[2], 0);
        break;
}

convert_to_string_ex(args[0]);
convert_to_long_ex(args[1]);
portno = (unsigned short) Z_LVAL_P(args[1]);

key = emalloc(Z_STRLEN_P(args[0]) + 10);

fsockopen() accepts two, three, four, or five parameters. After the obligatory variable declarations, the function checks for the correct range of arguments. Then it uses a fall-through mechanism in a switch() statement to deal with all arguments. The switch() statement starts with the maximum number of arguments being passed (five). After that, it automatically processes the case of four arguments being passed, then three, by omitting the otherwise obligatory break keyword in all stages. After having processed the last case, it exits the switch() statement and does the minimal argument processing needed if the function is invoked with only two arguments.

This multiple-stage type of processing, similar to a stairway, allows convenient processing of a variable number of arguments.

Accessing Arguments

To access arguments, it's necessary for each argument to have a clearly defined type. Again, PHP's extremely dynamic nature introduces some quirks. Because PHP never does any kind of type checking, it's possible for a caller to pass any kind of data to your functions, whether you want it or not. If you expect an integer, for example, the caller might pass an array, and vice versa - PHP simply won't notice.

To work around this, you have to use a set of API functions to force a type conversion on every argument that's being passed (see 표 57.5. “Argument Conversion Functions”).

Note: All conversion functions expect a **zval as parameter.

표 57.5. Argument Conversion Functions

Function | Description
convert_to_boolean_ex() | Forces conversion to a Boolean type. Boolean values remain untouched. Longs, doubles, and strings containing 0 as well as NULL values will result in Boolean 0 (FALSE). Arrays and objects are converted based on the number of entries or properties, respectively, that they have. Empty arrays and objects are converted to FALSE; otherwise, to TRUE. All other values result in a Boolean 1 (TRUE).
convert_to_long_ex() | Forces conversion to a long, the default integer type. NULL values, Booleans, resources, and of course longs remain untouched. Doubles are truncated. Strings containing an integer are converted to their corresponding numeric representation, otherwise resulting in 0. Arrays and objects are converted to 0 if empty, 1 otherwise.
convert_to_double_ex() | Forces conversion to a double, the default floating-point type. NULL values, Booleans, resources, longs, and of course doubles remain untouched. Strings containing a number are converted to their corresponding numeric representation, otherwise resulting in 0.0. Arrays and objects are converted to 0.0 if empty, 1.0 otherwise.
convert_to_string_ex() | Forces conversion to a string. Strings remain untouched. NULL values are converted to an empty string. Booleans containing TRUE are converted to "1", otherwise resulting in an empty string. Longs and doubles are converted to their corresponding string representation. Arrays are converted to the string "Array" and objects to the string "Object".
convert_to_array_ex(value) | Forces conversion to an array. Arrays remain untouched. Objects are converted to an array by assigning all their properties to the array table. All property names are used as keys, property contents as values. NULL values are converted to an empty array. All other values are converted to an array that contains the specific source value in the element with the key 0.
convert_to_object_ex(value) | Forces conversion to an object. Objects remain untouched. NULL values are converted to an empty object. Arrays are converted to objects by introducing their keys as properties into the objects and their values as corresponding property contents in the object. All other types result in an object with the property scalar , having the corresponding source value as content.
convert_to_null_ex(value) | Forces the type to become a NULL value, meaning empty.

참고: You can find a demonstration of the behavior in cross_conversion.php on the accompanying CD-ROM.

Using these functions on your arguments will ensure type safety for all data that's passed to you. If the supplied type doesn't match the required type, PHP forces dummy contents on the resulting value (empty strings, arrays, or objects, 0 for numeric values, FALSE for Booleans) to ensure a defined state.

Following is a quote from the sample module discussed previously, which makes use of the conversion functions:

zval **parameter;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &parameter) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

convert_to_long_ex(parameter);

RETURN_LONG(Z_LVAL_P(parameter));
After retrieving the parameter pointer, the parameter value is converted to a long (an integer), which also forms the return value of this function. Understanding access to the contents of the value requires a short discussion of the zval type, whose definition is shown in 예 57.10. “PHP/Zend zval type definition.”.

예 57.10. PHP/Zend zval type definition.

typedef pval zval;

typedef struct _zval_struct zval;

typedef union _zvalue_value {
    long lval;                 /* long value */
    double dval;               /* double value */
    struct {
        char *val;
        int len;
    } str;
    HashTable *ht;             /* hash table value */
    struct {
        zend_class_entry *ce;
        HashTable *properties;
    } obj;
} zvalue_value;

struct _zval_struct {
    /* Variable information */
    zvalue_value value;        /* value */
    unsigned char type;        /* active type */
    unsigned char is_ref;
    short refcount;
};

Actually, pval (defined in php.h) is only an alias of zval (defined in zend.h), which in turn refers to _zval_struct. This is a most interesting structure. _zval_struct is the "master" structure, containing the value structure, type, and reference information. The substructure zvalue_value is a union that contains the variable's contents. Depending on the variable's type, you'll have to access different members of this union. For a description of both structures, see 표 57.6. “Zend zval Structure”, 표 57.7. “Zend zvalue_value Structure” and 표 57.8. “Zend Variable Type Constants”.

표 57.6. Zend zval Structure

Entry | Description
value | Union containing this variable's contents. See 표 57.7. “Zend zvalue_value Structure” for a description.
type | Contains this variable's type. For a list of available types, see 표 57.8. “Zend Variable Type Constants”.
is_ref | 0 means that this variable is not a reference; 1 means that this variable is a reference to another variable.
refcount | The number of references that exist for this variable. For every new reference to the value stored in this variable, this counter is increased by 1. For every lost reference, this counter is decreased by 1. When the reference counter reaches 0, no references exist to this value anymore, which causes automatic freeing of the value.

표 57.7. Zend zvalue_value Structure

Entry | Description
lval | Use this property if the variable is of the type IS_LONG, IS_BOOLEAN, or IS_RESOURCE.
dval | Use this property if the variable is of the type IS_DOUBLE.
str | This structure can be used to access variables of the type IS_STRING. The member len contains the string length; the member val points to the string itself. Zend uses C strings; thus, the string length contains a trailing 0x00.
ht | This entry points to the variable's hash table entry if the variable is an array.
obj | Use this property if the variable is of the type IS_OBJECT.

표 57.8. Zend Variable Type Constants

Constant | Description
IS_NULL | Denotes a NULL (empty) value.
IS_LONG | A long (integer) value.
IS_DOUBLE | A double (floating point) value.
IS_STRING | A string.
IS_ARRAY | Denotes an array.
IS_OBJECT | An object.
IS_BOOL | A Boolean value.
IS_RESOURCE | A resource (for a discussion of resources, see the appropriate section below).
IS_CONSTANT | A constant (defined) value.

To access a long you access zval.value.lval, to access a double you use zval.value.dval, and so on. Because all values are stored in a union, trying to access data with incorrect union members results in meaningless output.

Accessing arrays and objects is a bit more complicated and is discussed later.

Dealing with Arguments Passed by Reference

If your function accepts arguments passed by reference that you intend to modify, you need to take some precautions.

What we didn't say yet is that under the circumstances presented so far, you don't have write access to any zval containers designating function parameters that have been passed to you. Of course, you can change any zval containers that you created within your function, but you mustn't change any zvals that refer to Zend-internal data!

We've only discussed the so-called *_ex() API so far. You may have noticed that the API functions we've used are called zend_get_parameters_ex() instead of zend_get_parameters(), convert_to_long_ex() instead of convert_to_long(), etc. The *_ex() functions form the so-called new "extended" Zend API. They give a minor speed increase over the old API, but as a tradeoff are only meant for providing read-only access.

Because Zend works internally with references, different variables may reference the same value. Write access to a zval container requires this container to contain an isolated value, meaning a value that's not referenced by any other containers. If a zval container were referenced by other containers and you changed the referenced zval, you would automatically change the contents of the other containers referencing this zval (because they'd simply point to the changed value and thus change their own value as well).

zend_get_parameters_ex() doesn't care about this situation, but simply returns a pointer to the desired zval containers, whether they consist of references or not. Its corresponding function in the traditional API, zend_get_parameters(), immediately checks for referenced values. If it finds a reference, it creates a new, isolated zval container; copies the referenced data into this newly allocated space; and then returns a pointer to the new, isolated value.

This action is called zval separation (or pval separation). Because the *_ex() API doesn't perform zval separation, it's considerably faster, while at the same time disabling write access.

To change parameters, however, write access is required. Zend deals with this situation in a special way: Whenever a parameter to a function is passed by reference, it performs automatic zval separation. This means that whenever you're calling a function like this in PHP, Zend will automatically ensure that $parameter is being passed as an isolated value, rendering it to a write-safe state:

my_function(&amp;$parameter);

But this is not the case with regular parameters! All other parameters that are not passed by reference are in a read-only state.

This requires you to make sure that you're really working with a reference - otherwise you might produce unwanted results. To check for a parameter being passed by reference, you can use the macro PZVAL_IS_REF. This macro accepts a zval* to check if it is a reference or not. Examples are given in in 예 57.11. “Testing for referenced parameter passing.”.

예 57.11. Testing for referenced parameter passing.

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &parameter) == FAILURE)
    return;

/* check for parameter being passed by reference */
if (!PZVAL_IS_REF(parameter)) {
{
    zend_error(E_WARNING, "Parameter wasn't passed by reference");
    RETURN_NULL();
}

/* make changes to the parameter */
ZVAL_LONG(parameter, 10);

Assuring Write Safety for Other Parameters

You might run into a situation in which you need write access to a parameter that's retrieved with zend_get_parameters_ex() but not passed by reference. For this case, you can use the macro SEPARATE_ZVAL, which does a zval separation on the provided container. The newly generated zval is detached from internal data and has only a local scope, meaning that it can be changed or destroyed without implying global changes in the script context:

zval **parameter;

/* retrieve parameter */
zend_get_parameters_ex(1, &parameter);

/* at this stage, <parameter> still is connected */
/* to Zend's internal data buffers */

/* make <parameter> write-safe */
SEPARATE_ZVAL(parameter);

/* now we can safely modify <parameter> */
/* without implying global changes */
SEPARATE_ZVAL uses emalloc() to allocate the new zval container, which means that even if you don't deallocate this memory yourself, it will be destroyed automatically upon script termination. However, doing a lot of calls to this macro without freeing the resulting containers will clutter up your RAM.

Note: As you can easily work around the lack of write access in the "traditional" API (with zend_get_parameters() and so on), this API seems to be obsolete, and is not discussed further in this chapter.

Creating Variables

When exchanging data from your own extensions with PHP scripts, one of the most important issues is the creation of variables. This section shows you how to deal with the variable types that PHP supports.

Overview

To create new variables that can be seen "from the outside" by the executing script, you need to allocate a new zval container, fill this container with meaningful values, and then introduce it to Zend's internal symbol table. This basic process is common to all variable creations:

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
ZEND_SET_SYMBOL(EG(active_symbol_table), "new_variable_name", new_variable);

/* the variable is now accessible to the script by using $new_variable_name */

The macro MAKE_STD_ZVAL allocates a new zval container using ALLOC_ZVAL and initializes it using INIT_ZVAL. As implemented in Zend at the time of this writing, initializing means setting the reference count to 1 and clearing the is_ref flag, but this process could be extended later - this is why it's a good idea to keep using MAKE_STD_ZVAL instead of only using ALLOC_ZVAL. If you want to optimize for speed (and you don't have to explicitly initialize the zval container here), you can use ALLOC_ZVAL, but this isn't recommended because it doesn't ensure data integrity.

ZEND_SET_SYMBOL takes care of introducing the new variable to Zend's symbol table. This macro checks whether the value already exists in the symbol table and converts the new symbol to a reference if so (with automatic deallocation of the old zval container). This is the preferred method if speed is not a crucial issue and you'd like to keep memory usage low.

Note that ZEND_SET_SYMBOL makes use of the Zend executor globals via the macro EG. By specifying EG(active_symbol_table), you get access to the currently active symbol table, dealing with the active, local scope. The local scope may differ depending on whether the function was invoked from within a function.

If you need to optimize for speed and don't care about optimal memory usage, you can omit the check for an existing variable with the same value and instead force insertion into the symbol table by using zend_hash_update():

zval *new_variable;

/* allocate and initialize new container */
MAKE_STD_ZVAL(new_variable);

/* set type and variable contents here, see the following sections */

/* introduce this variable by the name "new_variable_name" into the symbol table */
zend_hash_update(
    EG(active_symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &amp;new_variable,
    sizeof(zval *),
    NULL
);
This is actually the standard method used in most modules.

The variables generated with the snippet above will always be of local scope, so they reside in the context in which the function has been called. To create new variables in the global scope, use the same method but refer to another symbol table:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
ZEND_SET_SYMBOL(&amp;EG(symbol_table), "new_variable_name", new_variable);
The macro ZEND_SET_SYMBOL is now being called with a reference to the main, global symbol table by referring EG(symbol_table).

Note: The active_symbol_table variable is a pointer, but symbol_table is not. This is why you have to use EG(active_symbol_table) and &EG(symbol_table) as parameters to ZEND_SET_SYMBOL - it requires a pointer.

Similarly, to get a more efficient version, you can hardcode the symbol table update:

zval *new_variable;

// allocate and initialize new container
MAKE_STD_ZVAL(new_variable);

//
// set type and variable contents here
//

// introduce this variable by the name "new_variable_name" into the global symbol table
zend_hash_update(
    &amp;EG(symbol_table),
    "new_variable_name",
    strlen("new_variable_name") + 1,
    &amp;new_variable,
    sizeof(zval *),
    NULL
);
예 57.12. “Creating variables with different scopes.” shows a sample source that creates two variables - local_variable with a local scope and global_variable with a global scope (see Figure 9.7). The full example can be found on the CD-ROM.

Note: You can see that the global variable is actually not accessible from within the function. This is because it's not imported into the local scope using global $global_variable; in the PHP source.

예 57.12. Creating variables with different scopes.

ZEND_FUNCTION(variable_creation)
{
    zval *new_var1, *new_var2;

    MAKE_STD_ZVAL(new_var1);
    MAKE_STD_ZVAL(new_var2);

    ZVAL_LONG(new_var1, 10);
    ZVAL_LONG(new_var2, 5);

    ZEND_SET_SYMBOL(EG(active_symbol_table), "local_variable", new_var1);
    ZEND_SET_SYMBOL(&amp;EG(symbol_table), "global_variable", new_var2);

    RETURN_NULL();

}

Longs (Integers)

Now let's get to the assignment of data to variables, starting with longs. Longs are PHP's integers and are very simple to store. Looking at the zval.value container structure discussed earlier in this chapter, you can see that the long data type is directly contained in the union, namely in the lval field. The corresponding type value for longs is IS_LONG (see 예 57.13. “Creation of a long.”).

예 57.13. Creation of a long.

zval *new_long;

MAKE_STD_ZVAL(new_long);

new_long-&gt;type = IS_LONG;
new_long-&gt;value.lval = 10;

Alternatively, you can use the macro ZVAL_LONG:

zval *new_long;

MAKE_STD_ZVAL(new_long);
ZVAL_LONG(new_long, 10);

Doubles (Floats)

Doubles are PHP's floats and are as easy to assign as longs, because their value is also contained directly in the union. The member in the zval.value container is dval; the corresponding type is IS_DOUBLE.

zval *new_double;

MAKE_STD_ZVAL(new_double);

new_double-&gt;type = IS_DOUBLE;
new_double-&gt;value.dval = 3.45;
Alternatively, you can use the macro ZVAL_DOUBLE:

zval *new_double;

MAKE_STD_ZVAL(new_double);
ZVAL_DOUBLE(new_double, 3.45);

Strings

Strings need slightly more effort. As mentioned earlier, all strings that will be associated with Zend's internal data structures need to be allocated using Zend's own memory-management functions. Referencing of static strings or strings allocated with standard routines is not allowed. To assign strings, you have to access the structure str in the zval.value container. The corresponding type is IS_STRING:

zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = strlen(string_contents);
new_string-&gt;value.str.val = estrdup(string_contents);
    </programlisting>
    Note the usage of Zend's <function>estrdup</function> here.
    Of course, you can also use the predefined macro
    <literal>ZVAL_STRING</literal>:
    <programlisting>
zval *new_string;
char *string_contents = "This is a new string variable";

MAKE_STD_ZVAL(new_string);
ZVAL_STRING(new_string, string_contents, 1);
ZVAL_STRING accepts a third parameter that indicates whether the supplied string contents should be duplicated (using estrdup()). Setting this parameter to 1 causes the string to be duplicated; 0 simply uses the supplied pointer for the variable contents. This is most useful if you want to create a new variable referring to a string that's already allocated in Zend internal memory.

If you want to truncate the string at a certain position or you already know its length, you can use ZVAL_STRINGL(zval, string, length, duplicate), which accepts an explicit string length to be set for the new string. This macro is faster than ZVAL_STRING and also binary-safe.

To create empty strings, set the string length to 0 and use empty_string as contents:

new_string-&gt;type = IS_STRING;
new_string-&gt;value.str.len = 0;
new_string-&gt;value.str.val = empty_string;
Of course, there's a macro for this as well (ZVAL_EMPTY_STRING):

MAKE_STD_ZVAL(new_string);
ZVAL_EMPTY_STRING(new_string);

Booleans

Booleans are created just like longs, but have the type IS_BOOL. Allowed values in lval are 0 and 1:

zval *new_bool;

MAKE_STD_ZVAL(new_bool);

new_bool-&gt;type = IS_BOOL;
new_bool-&gt;value.lval = 1;
The corresponding macros for this type are ZVAL_BOOL (allowing specification of the value) as well as ZVAL_TRUE and ZVAL_FALSE (which explicitly set the value to TRUE and FALSE, respectively).

Arrays

Arrays are stored using Zend's internal hash tables, which can be accessed using the zend_hash_*() API. For every array that you want to create, you need a new hash table handle, which will be stored in the ht member of the zval.value container.

There's a whole API solely for the creation of arrays, which is extremely handy. To start a new array, you call array_init().

zval *new_array;

MAKE_STD_ZVAL(new_array);

array_init(new_array);
array_init() always returns SUCCESS.

To add new elements to the array, you can use numerous functions, depending on what you want to do. 표 57.9. “Zend's API for Associative Arrays”, 표 57.10. “Zend's API for Indexed Arrays, Part 1” and 표 57.11. “Zend's API for Indexed Arrays, Part 2” describe these functions. All functions return FAILURE on failure and SUCCESS on success.

표 57.9. Zend's API for Associative Arrays

Function | Description
add_assoc_long(zval *array, char *key, long n);() | Adds an element of type long.
add_assoc_unset(zval *array, char *key);() | Adds an unset element.
add_assoc_bool(zval *array, char *key, int b);() | Adds a Boolean element.
add_assoc_resource(zval *array, char *key, int r);() | Adds a resource to the array.
add_assoc_double(zval *array, char *key, double d);() | Adds a floating-point value.
add_assoc_string(zval *array, char *key, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_assoc_stringl(zval *array, char *key, char *str, uint length, int duplicate); () | Adds a string with the desired length length to the array. Otherwise, behaves like add_assoc_string().
add_assoc_zval(zval *array, char *key, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

표 57.10. Zend's API for Indexed Arrays, Part 1

Function | Description
add_index_long(zval *array, uint idx, long n);() | Adds an element of type long.
add_index_unset(zval *array, uint idx);() | Adds an unset element.
add_index_bool(zval *array, uint idx, int b);() | Adds a Boolean element.
add_index_resource(zval *array, uint idx, int r);() | Adds a resource to the array.
add_index_double(zval *array, uint idx, double d);() | Adds a floating-point value.
add_index_string(zval *array, uint idx, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_index_stringl(zval *array, uint idx, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_index_zval(zval *array, uint idx, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

표 57.11. Zend's API for Indexed Arrays, Part 2

Function | Description
add_next_index_long(zval *array, long n);() | Adds an element of type long.
add_next_index_unset(zval *array);() | Adds an unset element.
add_next_index_bool(zval *array, int b);() | Adds a Boolean element.
add_next_index_resource(zval *array, int r);() | Adds a resource to the array.
add_next_index_double(zval *array, double d);() | Adds a floating-point value.
add_next_index_string(zval *array, char *str, int duplicate);() | Adds a string to the array. The flag duplicate specifies whether the string contents have to be copied to Zend internal memory.
add_next_index_stringl(zval *array, char *str, uint length, int duplicate);() | Adds a string with the desired length length to the array. This function is faster and binary-safe. Otherwise, behaves like add_index_string().
add_next_index_zval(zval *array, zval *value);() | Adds a zval to the array. Useful for adding other arrays, objects, streams, etc...

All these functions provide a handy abstraction to Zend's internal hash API. Of course, you can also use the hash functions directly - for example, if you already have a zval container allocated that you want to insert into an array. This is done using zend_hash_update() for associative arrays (see 예 57.14. “Adding an element to an associative array.”) and zend_hash_index_update() for indexed arrays (see 예 57.15. “Adding an element to an indexed array.”):

예 57.14. Adding an element to an associative array.

zval *new_array, *new_element;
char *key = "element_key";

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_update(new_array-&gt;value.ht, key, strlen(key) + 1, (void *)&amp;new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

예 57.15. Adding an element to an indexed array.

zval *new_array, *new_element;
int key = 2;

MAKE_STD_ZVAL(new_array);
MAKE_STD_ZVAL(new_element);

array_init(new_array);

ZVAL_LONG(new_element, 10);

if(zend_hash_index_update(new_array-&gt;value.ht, key, (void *)&amp;new_element, sizeof(zval *), NULL) == FAILURE)
{
    // do error handling here
}

To emulate the functionality of add_next_index_*(), you can use this:

zend_hash_next_index_insert(ht, zval **new_element, sizeof(zval *), NULL)

Note: To return arrays from a function, use array_init() and all following actions on the predefined variable return_value (given as argument to your exported function; see the earlier discussion of the call interface). You do not have to use MAKE_STD_ZVAL on this.

Tip: To avoid having to write new_array->value.ht every time, you can use HASH_OF(new_array), which is also recommended for compatibility and style reasons.

Objects

Since objects can be converted to arrays (and vice versa), you might have already guessed that they have a lot of similarities to arrays in PHP. Objects are maintained with the same hash functions, but there's a different API for creating them.

To initialize an object, you use the function object_init():

zval *new_object;

MAKE_STD_ZVAL(new_object);

if(object_init(new_object) != SUCCESS)
{
    // do error handling here
}
You can use the functions described in 표 57.12. “Zend's API for Object Creation” to add members to your object.

표 57.12. Zend's API for Object Creation

Function | Description
add_property_long(zval *object, char *key, long l);() | Adds a long to the object.
add_property_unset(zval *object, char *key);() | Adds an unset property to the object.
add_property_bool(zval *object, char *key, int b);() | Adds a Boolean to the object.
add_property_resource(zval *object, char *key, long r);() | Adds a resource to the object.
add_property_double(zval *object, char *key, double d);() | Adds a double to the object.
add_property_string(zval *object, char *key, char *str, int duplicate);() | Adds a string to the object.
add_property_stringl(zval *object, char *key, char *str, uint length, int duplicate);() | Adds a string of the specified length to the object. This function is faster than add_property_string() and also binary-safe.
add_property_zval(zval *obect, char *key, zval *container):() | Adds a zval container to the object. This is useful if you have to add properties which aren't simple types like integers or strings but arrays or other objects.

Resources

Resources are a special kind of data type in PHP. The term resources doesn't really refer to any special kind of data, but to an abstraction method for maintaining any kind of information. Resources are kept in a special resource list within Zend. Each entry in the list has a correspondending type definition that denotes the kind of resource to which it refers. Zend then internally manages all references to this resource. Access to a resource is never possible directly - only via a provided API. As soon as all references to a specific resource are lost, a corresponding shutdown function is called.

For example, resources are used to store database links and file descriptors. The de facto standard implementation can be found in the MySQL module, but other modules such as the Oracle module also make use of resources.

참고: In fact, a resource can be a pointer to anything you need to handle in your functions (e.g. pointer to a structure) and the user only has to pass a single resource variable to your function.

To create a new resource you need to register a resource destruction handler for it. Since you can store any kind of data as a resource, Zend needs to know how to free this resource if its not longer needed. This works by registering your own resource destruction handler to Zend which in turn gets called by Zend whenever your resource can be freed (whether manually or automatically). Registering your resource handler within Zend returns you the resource type handle for that resource. This handle is needed whenever you want to access a resource of this type later and is most of time stored in a global static variable within your extension. There is no need to worry about thread safety here because you only register your resource handler once during module initialization.

The Zend function to register your resource handler is defined as:

ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, char *type_name, int module_number);

There are two different kinds of resource destruction handlers you can pass to this function: a handler for normal resources and a handler for persistent resources. Persistent resources are for example used for database connection. When registering a resource, either of these handlers must be given. For the other handler just pass NULL.

zend_register_list_destructors_ex() accepts the following parameters:

ld | Normal resource destruction handler callback
pld | Pesistent resource destruction handler callback
type_name | A string specifying the name of your resource. It's always a good thing to specify a unique name within PHP for the resource type so when the user for example calls var_dump($resource); he also gets the name of the resource.
module_number | The module_number is automatically available in your PHP_MINIT_FUNCTION function and therefore you just pass it over.
The return value is a unique integer ID for your resource type.

The resource destruction handler (either normal or persistent resources) has the following prototype:

void resource_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC);
The passed rsrc is a pointer to the following structure:

typedef struct _zend_rsrc_list_entry {

    void *ptr;
    int type;
    int refcount;

} zend_rsrc_list_entry;
The member void *ptr is the actual pointer to your resource.

Now we know how to start things, we define our own resource we want register within Zend. It is only a simple structure with two integer members:

typedef struct {

    int resource_link;
    int resource_type;

} my_resource;
Our resource destruction handler is probably going to look something like this:

void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

    // You most likely cast the void pointer to your structure type

    my_resource *my_rsrc = (my_resource *) rsrc->ptr;

    // Now do whatever needs to be done with you resource. Closing
    // Files, Sockets, freeing additional memory, etc.
    // Also, don't forget to actually free the memory for your resource too!

    do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
}

참고: One important thing to mention: If your resource is a rather complex structure which also contains pointers to memory you allocated during runtime you have to free them before freeing the resource itself!

Now that we have defined

  1. what our resource is and

  2. our resource destruction handler

we can go on and do the rest of the steps:

  1. create a global variable within the extension holding the resource ID so it can be accessed from every function which needs it

  2. define the resource name

  3. write the resource destruction handler

  4. and finally register the handler

    // Somewhere in your extension, define the variable for your registered resources.
    // If you wondered what 'le' stands for: it simply means 'list entry'.
    static int le_myresource;

    // It's nice to define your resource name somewhere
    #define le_myresource_name  "My type of resource"

    [...]

    // Now actually define our resource destruction handler
    void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {

        my_resource *my_rsrc = (my_resource *) rsrc->ptr;
        do_whatever_needs_to_be_done_with_the_resource(my_rsrc);
    }

    [...]

    PHP_MINIT_FUNCTION(my_extension) {

        // Note that 'module_number' is already provided through the
        // PHP_MINIT_FUNCTION() function definition.

        le_myresource = zend_register_list_destructors_ex(my_destruction_handler, NULL, le_myresource_name, module_number);

        // You can register additional resources, initialize
        // your global vars, constants, whatever.
    }

To actually register a new resource you use can either use the zend_register_resource() function or the ZEND_REGISTER_RESOURE() macro, both defined in zend_list.h . Although the arguments for both map 1:1 it's a good idea to always use macros to be upwards compatible:

int ZEND_REGISTER_RESOURCE(zval *rsrc_result, void *rsrc_pointer, int rsrc_type);

rsrc_result | This is an already initialized zval * container.
rsrc_pointer | Your resource pointer you want to store.
rsrc_type | The type which you received when you registered the resource destruction handler. If you followed the naming scheme this would be le_myresource.
The return value is a unique integer identifier for that resource.

What is really going on when you register a new resource is it gets inserted in an internal list in Zend and the result is just stored in the given zval * container:

    rsrc_id = zend_list_insert(rsrc_pointer, rsrc_type);

    if (rsrc_result) {
        rsrc_result->value.lval = rsrc_id;
        rsrc_result->type = IS_RESOURCE;
    }

    return rsrc_id;
The returned rsrc_id uniquely identifies the newly registered resource. You can use the macro RETURN_RESOURE to return it to the user:
    RETURN_RESOURCE(rsrc_id)

참고: It is common practice that if you want to return the resource immediately to the user you specify the return_value as the zval * container.

Zend now keeps track of all references to this resource. As soon as all references to the resource are lost, the destructor that you previously registered for this resource is called. The nice thing about this setup is that you don't have to worry about memory leakages introduced by allocations in your module - just register all memory allocations that your calling script will refer to as resources. As soon as the script decides it doesn't need them anymore, Zend will find out and tell you.

Now that the user got his resource, at some point he is passing it back to one of your functions. The value.lval inside the zval * container contains the key to your resource and thus can be used to fetch the resource with the following macro: ZEND_FETCH_RESOURCE:

ZEND_FETCH_RESOURCE(rsrc, rsrc_type, rsrc_id, default_rsrc_id, resource_type_name, resource_type)

rsrc | This is your pointer which will point to your previously registered resource.
rsrc_type | This is the typecast argument for your pointer, e.g. myresource *.
rsrc_id | This is the address of the zval *container the user passed to your function, e.g. &z_resource if zval *z_resource is given.
default_rsrc_id | This integer specifies the default resource ID if no resource could be fetched or -1.
resource_type_name | This is the name of the requested resource. It's a string and is used when the resource can't be found or is invalid to form a meaningful error message.
resource_type | The resource_type you got back when registering the resource destruction handler. In our example this was le_myresource.
This macro has no return value. It is for the developers convenience and takes care of TSRMLS arguments passing and also does check if the resource could be fetched. It throws a warning message and returns the current PHP function with NULL if there was a problem retrieving the resource.

To force removal of a resource from the list, use the function zend_list_delete(). You can also force the reference count to increase if you know that you're creating another reference for a previously allocated value (for example, if you're automatically reusing a default database link). For this case, use the function zend_list_addref(). To search for previously allocated resource entries, use zend_list_find(). The complete API can be found in zend_list.h.

Macros for Automatic Global Variable Creation

In addition to the macros discussed earlier, a few macros allow easy creation of simple global variables. These are nice to know in case you want to introduce global flags, for example. This is somewhat bad practice, but Table 표 57.13. “Macros for Global Variable Creation” describes macros that do exactly this task. They don't need any zval allocation; you simply have to supply a variable name and value.

표 57.13. Macros for Global Variable Creation

Macro | Description
SET_VAR_STRING(name, value) | Creates a new string.
SET_VAR_STRINGL(name, value, length) | Creates a new string of the specified length. This macro is faster than SET_VAR_STRING and also binary-safe.
SET_VAR_LONG(name, value) | Creates a new long.
SET_VAR_DOUBLE(name, value) | Creates a new double.

Creating Constants

Zend supports the creation of true constants (as opposed to regular variables). Constants are accessed without the typical dollar sign ($) prefix and are available in all scopes. Examples include TRUE and FALSE, to name just two.

To create your own constants, you can use the macros in 표 57.14. “Macros for Creating Constants”. All the macros create a constant with the specified name and value.

You can also specify flags for each constant:

  • CONST_CS - This constant's name is to be treated as case sensitive.

  • CONST_PERSISTENT - This constant is persistent and won't be "forgotten" when the current process carrying this constant shuts down.

To use the flags, combine them using a inary OR:
 // register a new constant of type "long"
     REGISTER_LONG_CONSTANT("NEW_MEANINGFUL_CONSTANT", 324, CONST_CS |
     CONST_PERSISTENT);
There are two types of macros - REGISTER_*_CONSTANT andREGISTER_MAIN_*_CONSTANT. The first type creates constants bound to the current module. These constants are dumped from the symbol table as soon as the module that registered the constant is unloaded from memory. The second type creates constants that remain in the symbol table independently of the module.

표 57.14. Macros for Creating Constants

Macro | Description
REGISTER_LONG_CONSTANT(name, value, flags) REGISTER_MAIN_LONG_CONSTANT(name, value, flags) | Registers a new constant of type long.
REGISTER_DOUBLE_CONSTANT(name, value, flags) REGISTER_MAIN_DOUBLE_CONSTANT(name, value, flags) | Registers a new constant of type double.
REGISTER_STRING_CONSTANT(name, value, flags) REGISTER_MAIN_STRING_CONSTANT(name, value, flags) | Registers a new constant of type string. The specified string must reside in Zend's internal memory.
REGISTER_STRINGL_CONSTANT(name, value, length, flags) REGISTER_MAIN_STRINGL_CONSTANT(name, value, length, flags) | Registers a new constant of type string. The string length is explicitly set to length. The specified string must reside in Zend's internal memory.

Duplicating Variable Contents: The Copy Constructor

Sooner or later, you may need to assign the contents of one zval container to another. This is easier said than done, since the zval container doesn't contain only type information, but also references to places in Zend's internal data. For example, depending on their size, arrays and objects may be nested with lots of hash table entries. By assigning one zval to another, you avoid duplicating the hash table entries, using only a reference to them (at most).

To copy this complex kind of data, use the copy constructor. Copy constructors are typically defined in languages that support operator overloading, with the express purpose of copying complex types. If you define an object in such a language, you have the possibility of overloading the "=" operator, which is usually responsible for assigning the contents of the rvalue (result of the evaluation of the right side of the operator) to the lvalue (same for the left side).

Overloading means assigning a different meaning to this operator, and is usually used to assign a function call to an operator. Whenever this operator would be used on such an object in a program, this function would be called with the lvalue and rvalue as parameters. Equipped with that information, it can perform the operation it intends the "=" operator to have (usually an extended form of copying).

This same form of "extended copying" is also necessary for PHP's zval containers. Again, in the case of an array, this extended copying would imply re-creation of all hash table entries relating to this array. For strings, proper memory allocation would have to be assured, and so on.

Zend ships with such a function, called zend_copy_ctor() (the previous PHP equivalent was pval_copy_constructor()).

A most useful demonstration is a function that accepts a complex type as argument, modifies it, and then returns the argument:

zval *parameter;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &amp;parameter) == FAILURE)
   return;
}

// do modifications to the parameter here

// now we want to return the modified container:
*return_value = *parameter;
zval_copy_ctor(return_value);

The first part of the function is plain-vanilla argument retrieval. After the (left out) modifications, however, it gets interesting: The container of parameter is assigned to the (predefined) return_value container. Now, in order to effectively duplicate its contents, the copy constructor is called. The copy constructor works directly with the supplied argument, and the standard return values are FAILURE on failure and SUCCESS on success.

If you omit the call to the copy constructor in this example, both parameter and return_value would point to the same internal data, meaning that return_value would be an illegal additional reference to the same data structures. Whenever changes occurred in the data that parameter points to, return_value might be affected. Thus, in order to create separate copies, the copy constructor must be used.

The copy constructor's counterpart in the Zend API, the destructor zval_dtor(), does the opposite of the constructor.

Returning Values

Returning values from your functions to PHP was described briefly in an earlier section; this section gives the details. Return values are passed via the return_value variable, which is passed to your functions as argument. The return_value argument consists of a zval container (see the earlier discussion of the call interface) that you can freely modify. The container itself is already allocated, so you don't have to run MAKE_STD_ZVAL on it. Instead, you can access its members directly.

To make returning values from functions easier and to prevent hassles with accessing the internal structures of the zval container, a set of predefined macros is available (as usual). These macros automatically set the correspondent type and value, as described in 표 57.15. “Predefined Macros for Returning Values from a Function” and 표 57.16. “Predefined Macros for Setting the Return Value of a Function”.

참고: The macros in 표 57.15. “Predefined Macros for Returning Values from a Function” automatically return from your function, those in 표 57.16. “Predefined Macros for Setting the Return Value of a Function” only set the return value; they don't return from your function.

표 57.15. Predefined Macros for Returning Values from a Function

Macro | Description
RETURN_RESOURCE(resource) | Returns a resource.
RETURN_BOOL(bool) | Returns a Boolean.
RETURN_NULL() | Returns nothing (a NULL value).
RETURN_LONG(long) | Returns a long.
RETURN_DOUBLE(double) | Returns a double.
RETURN_STRING(string, duplicate) | Returns a string. The duplicate flag indicates whether the string should be duplicated using estrdup().
RETURN_STRINGL(string, length, duplicate) | Returns a string of the specified length; otherwise, behaves like RETURN_STRING. This macro is faster and binary-safe, however.
RETURN_EMPTY_STRING() | Returns an empty string.
RETURN_FALSE | Returns Boolean false.
RETURN_TRUE | Returns Boolean true.

표 57.16. Predefined Macros for Setting the Return Value of a Function

Macro | Description
RETVAL_RESOURCE(resource) | Sets the return value to the specified resource.
RETVAL_BOOL(bool) | Sets the return value to the specified Boolean value.
RETVAL_NULL | Sets the return value to NULL.
RETVAL_LONG(long) | Sets the return value to the specified long.
RETVAL_DOUBLE(double) | Sets the return value to the specified double.
RETVAL_STRING(string, duplicate) | Sets the return value to the specified string and duplicates it to Zend internal memory if desired (see also RETURN_STRING).
RETVAL_STRINGL(string, length, duplicate) | Sets the return value to the specified string and forces the length to become length (see also RETVAL_STRING). This macro is faster and binary-safe, and should be used whenever the string length is known.
RETVAL_EMPTY_STRING | Sets the return value to an empty string.
RETVAL_FALSE | Sets the return value to Boolean false.
RETVAL_TRUE | Sets the return value to Boolean true.

Complex types such as arrays and objects can be returned by using array_init() and object_init(), as well as the corresponding hash functions on return_value. Since these types cannot be constructed of trivial information, there are no predefined macros for them.

Printing Information

Often it's necessary to print messages to the output stream from your module, just as print() would be used within a script. PHP offers functions for most generic tasks, such as printing warning messages, generating output for phpinfo(), and so on. The following sections provide more details. Examples of these functions can be found on the CD-ROM.

zend_printf()

zend_printf() works like the standard printf(), except that it prints to Zend's output stream.

zend_error()

zend_error() can be used to generate error messages. This function accepts two arguments; the first is the error type (see zend_errors.h), and the second is the error message.

zend_error(E_WARNING, "This function has been called with empty arguments");
표 57.17. “Zend's Predefined Error Messages.” shows a list of possible values (see below). These values are also referred to in php.ini. Depending on which error type you choose, your messages will be logged.

표 57.17. Zend's Predefined Error Messages.

Error | Description
E_ERROR | Signals an error and terminates execution of the script immediately.
E_WARNING | Signals a generic warning. Execution continues.
E_PARSE | Signals a parser error. Execution continues.
E_NOTICE | Signals a notice. Execution continues. Note that by default the display of this type of error messages is turned off in php.ini.
E_CORE_ERROR | Internal error by the core; shouldn't be used by user-written modules.
E_COMPILE_ERROR | Internal error by the compiler; shouldn't be used by user-written modules.
E_COMPILE_WARNING | Internal warning by the compiler; shouldn't be used by user-written modules.

Including Output in phpinfo()

After creating a real module, you'll want to show information about the module in phpinfo() (in addition to the module name, which appears in the module list by default). PHP allows you to create your own section in the phpinfo() output with the ZEND_MINFO() function. This function should be placed in the module descriptor block (discussed earlier) and is always called whenever a script calls phpinfo().

PHP automatically prints a section in phpinfo() for you if you specify the ZEND_MINFO function, including the module name in the heading. Everything else must be formatted and printed by you.

Typically, you can print an HTML table header using php_info_print_table_start() and then use the standard functions php_info_print_table_header() and php_info_print_table_row(). As arguments, both take the number of columns (as integers) and the column contents (as strings). 예 57.16. “ Source code and screenshot for output in phpinfo. ” shows a source example and its output. To print the table footer, use php_info_print_table_end().

예 57.16. Source code and screenshot for output in phpinfo().

php_info_print_table_start();
php_info_print_table_header(2, "First column", "Second column");
php_info_print_table_row(2, "Entry in first row", "Another entry");
php_info_print_table_row(2, "Just to fill", "another row here");
php_info_print_table_end();

Execution Information

You can also print execution information, such as the current file being executed. The name of the function currently being executed can be retrieved using the function get_active_function_name(). This function returns a pointer to the function name and doesn't accept any arguments. To retrieve the name of the file currently being executed, use zend_get_executed_filename(). This function accesses the executor globals, which are passed to it using the TSRMLS_C macro. The executor globals are automatically available to every function that's called directly by Zend (they're part of the INTERNAL_FUNCTION_PARAMETERS described earlier in this chapter). If you want to access the executor globals in another function that doesn't have them available automatically, call the macro TSRMLS_FETCH() once in that function; this will introduce them to your local scope.

Finally, the line number currently being executed can be retrieved using the function zend_get_executed_lineno(). This function also requires the executor globals as arguments. For examples of these functions, see 예 57.17. “Printing execution information.”.

예 57.17. Printing execution information.

zend_printf("The name of the current function is %s&lt;br&gt;", get_active_function_name(TSRMLS_C));
zend_printf("The file currently executed is %s&lt;br&gt;", zend_get_executed_filename(TSRMLS_C));
zend_printf("The current line being executed is %i&lt;br&gt;", zend_get_executed_lineno(TSRMLS_C));

Startup and Shutdown Functions

Startup and shutdown functions can be used for one-time initialization and deinitialization of your modules. As discussed earlier in this chapter (see the description of the Zend module descriptor block), there are module, and request startup and shutdown events.

The module startup and shutdown functions are called whenever a module is loaded and needs initialization; the request startup and shutdown functions are called every time a request is processed (meaning that a file is being executed).

For dynamic extensions, module and request startup/shutdown events happen at the same time.

Declaration and implementation of these functions can be done with macros; see the earlier section "Declaration of the Zend Module Block" for details.

Calling User Functions

You can call user functions from your own modules, which is very handy when implementing callbacks; for example, for array walking, searching, or simply for event-based programs.

User functions can be called with the function call_user_function_ex(). It requires a hash value for the function table you want to access, a pointer to an object (if you want to call a method), the function name, return value, number of arguments, argument array, and a flag indicating whether you want to perform zval separation.

ZEND_API int call_user_function_ex(HashTable *function_table, zval *object,
zval *function_name, zval **retval_ptr_ptr,
int param_count, zval **params[],
int no_separation);

Note that you don't have to specify both function_table and object; either will do. If you want to call a method, you have to supply the object that contains this method, in which case call_user_function()automatically sets the function table to this object's function table. Otherwise, you only need to specify function_table and can set object to NULL.

Usually, the default function table is the "root" function table containing all function entries. This function table is part of the compiler globals and can be accessed using the macro CG. To introduce the compiler globals to your function, call the macro TSRMLS_FETCH once.

The function name is specified in a zval container. This might be a bit surprising at first, but is quite a logical step, since most of the time you'll accept function names as parameters from calling functions within your script, which in turn are contained in zval containers again. Thus, you only have to pass your arguments through to this function. This zval must be of type IS_STRING.

The next argument consists of a pointer to the return value. You don't have to allocate memory for this container; the function will do so by itself. However, you have to destroy this container (using zval_dtor()) afterward!

Next is the parameter count as integer and an array containing all necessary parameters. The last argument specifies whether the function should perform zval separation - this should always be set to 0. If set to 1, the function consumes less memory but fails if any of the parameters need separation.

예 57.18. “Calling user functions.” shows a small demonstration of calling a user function. The code calls a function that's supplied to it as argument and directly passes this function's return value through as its own return value. Note the use of the constructor and destructor calls at the end - it might not be necessary to do it this way here (since they should be separate values, the assignment might be safe), but this is bulletproof.

예 57.18. Calling user functions.

zval **function_name;
zval *retval;

if((ZEND_NUM_ARGS() != 1) || (zend_get_parameters_ex(1, &function_name) != SUCCESS))
{
    WRONG_PARAM_COUNT;
}

if((*function_name)->type != IS_STRING)
{
    zend_error(E_ERROR, "Function requires string argument");
}

TSRMSLS_FETCH();

if(call_user_function_ex(CG(function_table), NULL, *function_name, &retval, 0, NULL, 0) != SUCCESS)
{
    zend_error(E_ERROR, "Function call failed");
}

zend_printf("We have %i as type\n", retval->type);

*return_value = *retval;
zval_copy_ctor(return_value);
zval_ptr_dtor(&retval);

<?php

dl("call_userland.so");

function test_function()
{
    echo "We are in the test function!\n";
    return 'hello';
}

$return_value = call_userland("test_function");

echo "Return value: '$return_value'";
?>

위 예제의 출력:

We are in the test function!
We have 3 as type
Return value: 'hello'

Initialization File Support

PHP 4 features a redesigned initialization file support. It's now possible to specify default initialization entries directly in your code, read and change these values at runtime, and create message handlers for change notifications.

To create an .ini section in your own module, use the macros PHP_INI_BEGIN() to mark the beginning of such a section and PHP_INI_END() to mark its end. In between you can use PHP_INI_ENTRY() to create entries.

PHP_INI_BEGIN()
PHP_INI_ENTRY("first_ini_entry",  "has_string_value", PHP_INI_ALL, NULL)
PHP_INI_ENTRY("second_ini_entry", "2",                PHP_INI_SYSTEM, OnChangeSecond)
PHP_INI_ENTRY("third_ini_entry",  "xyz",              PHP_INI_USER, NULL)
PHP_INI_END()
The PHP_INI_ENTRY() macro accepts four parameters: the entry name, the entry value, its change permissions, and a pointer to a change-notification handler. Both entry name and value must be specified as strings, regardless of whether they really are strings or integers.

The permissions are grouped into three sections:PHP_INI_SYSTEM allows a change only directly in the php.ini file; PHP_INI_USER allows a change to be overridden by a user at runtime using additional configuration files, such as .htaccess; and PHP_INI_ALL allows changes to be made without restrictions. There's also a fourth level, PHP_INI_PERDIR, for which we couldn't verify its behavior yet.

The fourth parameter consists of a pointer to a change-notification handler. Whenever one of these initialization entries is changed, this handler is called. Such a handler can be declared using the PHP_INI_MH macro:

PHP_INI_MH(OnChangeSecond);             // handler for ini-entry "second_ini_entry"

// specify ini-entries here

PHP_INI_MH(OnChangeSecond)
{

    zend_printf("Message caught, our ini entry has been changed to %s&lt;br&gt;", new_value);

    return(SUCCESS);

}
The new value is given to the change handler as string in the variable new_value. When looking at the definition of PHP_INI_MH, you actually have a few parameters to use:

#define PHP_INI_MH(name) int name(php_ini_entry *entry, char *new_value,
                                  uint new_value_length, void *mh_arg1,
                                  void *mh_arg2, void *mh_arg3)
All these definitions can be found in php_ini.h. Your message handler will have access to a structure that contains the full entry, the new value, its length, and three optional arguments. These optional arguments can be specified with the additional macros PHP_INI_ENTRY1 (allowing one additional argument), PHP_INI_ENTRY2 (allowing two additional arguments), and PHP_INI_ENTRY3 (allowing three additional arguments).

The change-notification handlers should be used to cache initialization entries locally for faster access or to perform certain tasks that are required if a value changes. For example, if a constant connection to a certain host is required by a module and someone changes the hostname, automatically terminate the old connection and attempt a new one.

Access to initialization entries can also be handled with the macros shown in 표 57.18. “Macros to Access Initialization Entries in PHP”.

표 57.18. Macros to Access Initialization Entries in PHP

Macro | Description
INI_INT(name) | Returns the current value of entry name as integer (long).
INI_FLT(name) | Returns the current value of entry name as float (double).
INI_STR(name) | Returns the current value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_BOOL(name) | Returns the current value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).
INI_ORIG_INT(name) | Returns the original value of entry name as integer (long).
INI_ORIG_FLT(name) | Returns the original value of entry name as float (double).
INI_ORIG_STR(name) | Returns the original value of entry name as string. Note: This string is not duplicated, but instead points to internal data. Further access requires duplication to local memory.
INI_ORIG_BOOL(name) | Returns the original value of entry name as Boolean (defined as zend_bool, which currently means unsigned char).

Finally, you have to introduce your initialization entries to PHP. This can be done in the module startup and shutdown functions, using the macros REGISTER_INI_ENTRIES() and UNREGISTER_INI_ENTRIES():

ZEND_MINIT_FUNCTION(mymodule)
{

    REGISTER_INI_ENTRIES();

}

ZEND_MSHUTDOWN_FUNCTION(mymodule)
{

    UNREGISTER_INI_ENTRIES();

}

Where to Go from Here

You've learned a lot about PHP. You now know how to create dynamic loadable modules and statically linked extensions. You've learned how PHP and Zend deal with internal storage of variables and how you can create and access these variables. You know quite a set of tool functions that do a lot of routine tasks such as printing informational texts, automatically introducing variables to the symbol table, and so on.

Even though this chapter often had a mostly "referential" character, we hope that it gave you insight on how to start writing your own extensions. For the sake of space, we had to leave out a lot; we suggest that you take the time to study the header files and some modules (especially the ones in the ext/standard directory and the MySQL module, as these implement commonly known functionality). This will give you an idea of how other people have used the API functions - particularly those that didn't make it into this chapter.

Reference: Some Configuration Macros

config.m4

The file config.m4 is processed by buildconf and must contain all the instructions to be executed during configuration. For example, these can include tests for required external files, such as header files, libraries, and so on. PHP defines a set of macros that can be used in this process, the most useful of which are described in 표 57.19. “M4 Macros for config.m4”.

표 57.19. M4 Macros for config.m4

Macro | Description
AC_MSG_CHECKING(message) | Prints a "checking <message>" text during configure.
AC_MSG_RESULT(value) | Gives the result to AC_MSG_CHECKING; should specify either yes or no as value.
AC_MSG_ERROR(message) | Prints message as error message during configure and aborts the script.
AC_DEFINE(name,value,description) | Adds #define to php_config.h with the value of value and a comment that says description (this is useful for conditional compilation of your module).
AC_ADD_INCLUDE(path) | Adds a compiler include path; for example, used if the module needs to add search paths for header files.
AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath) | Specifies an additional library to link.
AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest) | Quite a powerful macro, adding the module with description to the configure --help output. PHP checks whether the option --with-<modulename> is given to the configure script. If so, it runs the script unconditionaltest (for example, --with-myext=yes), in which case the value of the option is contained in the variable $withval. Otherwise, it executes conditionaltest.
PHP_EXTENSION(modulename, [shared]) | This macro is a must to call for PHP to configure your extension. You can supply a second argument in addition to your module name, indicating whether you intend compilation as a shared module. This will result in a definition at compile time for your source as COMPILE_DL_<modulename>.

API Macros

A set of macros was introduced into Zend's API that simplify access to zval containers (see 표 57.20. “API Macros for Accessing zval Containers”).

표 57.20. API Macros for Accessing zval Containers

Macro | Refers to
Z_LVAL(zval) | (zval).value.lval
Z_DVAL(zval) | (zval).value.dval
Z_STRVAL(zval) | (zval).value.str.val
Z_STRLEN(zval) | (zval).value.str.len
Z_ARRVAL(zval) | (zval).value.ht
Z_LVAL_P(zval) | (*zval).value.lval
Z_DVAL_P(zval) | (*zval).value.dval
Z_STRVAL_P(zval_p) | (*zval).value.str.val
Z_STRLEN_P(zval_p) | (*zval).value.str.len
Z_ARRVAL_P(zval_p) | (*zval).value.ht
Z_LVAL_PP(zval_pp) | (**zval).value.lval
Z_DVAL_PP(zval_pp) | (**zval).value.dval
Z_STRVAL_PP(zval_pp) | (**zval).value.str.val
Z_STRLEN_PP(zval_pp) | (**zval).value.str.len
Z_ARRVAL_PP(zval_pp) | (**zval).value.ht

이전 | 위로 | 다음
Streams API for PHP Extension Authors | 처음으로 | TSRM API


58장. The future: PHP 6 and Zend Engine 3

이전 | 위로 | 다음
TSRM API | 처음으로 | VIII. FAQ: 자주 물어보는 질문들


extends

때때로 기존의 클래스와 비슷한 변수와 함수를 갖는 클래스가 필요할때 가 있다. 실제로, 모든 프로젝트에서 사용할수 있는 범용의 클래스를 선언하고, 특정 프로젝트에서 이런 클래스를 필요에 의해 변경하는 것은 좋은 습관이다. 이런 일을 수월하게 하기 위해서 클래스는 다른 클래스에서 확장(extension) 될수 있다. 이렇게 확장되거나 파생된 클래스는 원래 클래스의 모든 변수와 함수를 소유하고 (이런 경우를 아무도 죽지 않았음 에도 불구하고 '상속'이라고 부른다) 필요로 하는 확장된 선언을 추가할수 있다. 기존 클래스에서 기존 함수나 변수의 선언을 해제하여 뺄수는 없다. 확장 클래스는 항상 하나의 기존 클래스에만 연관되어있다. 즉 다중 상속은 지원되지 않는다. 클래스는 'extends'라는 키워드를 사용하여 확장된다.

<?php
class Named_Cart extends Cart
{
    var $owner;

    function set_owner ($name)
    {
        $this->owner = $name;
    }
}
?>

위 코드는 Cart의 모든 변수와 함수는 물론 추가된 변수 $owner 와 추가된 함수 set_owner()를 갖는 클래스를 선언한다. 이로써 이름이 있는 카트를 만들고 카트의 소유자를 설정하고 얻어올수 있다. 이름이 있는 카트에서는 물론 기존의 일반 카트 함수 도 쓸수 있다:

<?php
$ncart = new Named_Cart;    // 이름이 있는 카트 만들기
$ncart->set_owner("kris");  // 그 카트에 소유자를 설정
print $ncart->owner;        // 소유자 이름을 출력
$ncart->add_item("10", 1);  // (기존 cart에서 상속한 함수 사용)
?>

이런 경우를 "부모-자식" 관계라고 부르기도 한다. 부모 클래스를 만들고, 부모 클래스에 기반한 새 클래스를 만들려면 extends를 사용한다: 자식 클래스. 심지어 이런 새로운 자식 클래스를 사용하거나 이 자식 클래스에 기반한 다른 클래스도 만들수 있다.

참고: 클래스는 그것이 사용되기 전에 이미 선언되어 있어야 한다! Cart클래스를 상속하는 Named_Cart클래스가 필요하면 우선 Cart클래스를 먼저 선언해야 할것이다. Named_Cart클래스에 기반한 다른 클래스 Yellow_named_cart 를 생성하고자 한다면 Named_Cart클래스를 먼저 선언해야 한다. 짧게 말해서: 클래스가 선언되는 순서는 중요하다.

이전 | 위로 | 다음
18. 클래스와 객체 | 처음으로 | 생성자


::

경고

다음은 PHP 4 이후에서만 적용되는 글이다.

때때로 원래 클래스의 함수와 변수를 참조하거나 아직 어떤 인스턴스도 갖지 않는 클래스의 함수를 참조할 필요가 있다. 이런 목적으로 :: 연산자를 사용한다.

<?php
class A
{
    function example()
    {
        echo "I am the original function A::example().<br>\n";
    }
}

class B extends A
{
    function example()
    {
        echo "I am the redefined function B::example().<br>\n";
        A::example();
    }
}

// 여기서는 클래스 A의 객체가 존재하지 않는다.
// 이 코드는
//   I am the original function A::example().<br>를 출력한다.
A::example();

// B 클래스의 객체를 생성한다.
$b = new B;

// 여기서는 다음과 같이 출력할것이다.
//   I am the redefined function B::example().<br>
//   I am the original function A::example().<br>
$b->example();
?>

위 예제 코드는 클래스 A의 함수 example()이 호출된다. 그러나 클래스 A의 객체가 존재하지 않는다. 그래서 $a->example()와 비슷한 코드를 쓸수 없다. 대신에 '클래스 함수'인 example()을 호출한다. 즉, 그 클래스의 객체가 아니라 클래스 자체의 함수를 호출하는 것이다.

클래스 함수는 존재하지만, 클래스 변수는 존재하지 않는다. 실제로, 호출의 모든 시간동안 전혀 객체가 없었고 따라서, 클래스 함수는 어떤 객체 변수도 사용할수 없다 (그러나 로컬 변수와 전역 변수는 사용할수 있다) 그래서 $this를 전혀 사용하지 않는다.

위 예제 코드에서 클래스 B는 함수 example()을 재선언한다. ::을 사용하여 클래스 A의 example 구현에 대해 특별히 참조하지 않으면, 클래스 A의 원래 선언은 가려지게 되고 더이상 가용하지 않다. 이와 같이 하려면 A::example()라고 써야 한다 (다음섹션에서 설명한대로 parent::example() 라고 써야 한다).

이런 환경에서는 현재 객체가 있고 그 객체는 객체 변수를 갖을수도 있다. 따라서 객체 함수 안에서 사용할때에는 $this와 객체 변수를 사용해야 할것이다.

이전 | 위로 | 다음
생성자 | 처음으로 | parent


parent

원래 클래스의 변수와 함수를 참조하는 코드를 짜야할 필요가 생길수 있다. 파생 클래스가 세분화되어 고안되었거나 원래 클래스의 코드에서 특수화되어 있는경우에는 더욱 그럴 필요성이 생긴다.

코드에서 원래 클래스명을 사용하는 대신에, 특별한 이름 parent 을 사용해야 한다. 이 용어는 현재 클래스의 extends선언 안에 주어진 원래 클래스를 참조한다는 의미를 갖는다. 이렇게 씀으로써 여러 곳에서 원래 클래스명을 쓰는것을 피할수 있다. 구현중에 상속이 세번 바뀌게 되면, 단순히 현재 클래스의 extends선언을 바꾸기만 하면 된다.

<?php
class A
{
    function example()
    {
        echo "I am A::example() and provide basic functionality.<br>\n";
    }
}

class B extends A
{
    function example()
    {
        echo "I am B::example() and provide additional functionality.<br>\n";
        parent::example();
    }
}

$b = new B;

// This will call B::example(), which will in turn call A::example().
$b->example();
?>
이전 | 위로 | 다음
:: | 처음으로 | 객체 일렬화 - 세션 내의 객체


21장. Exceptions

차례

Extending Exceptions

PHP 5 has an exception model similar to that of other programming languages. An exception can be thrown, and caught ("catched") within PHP. Code may be surrounded in a try block, to facilitate the catching of potential exceptions. Each try must have at least one corresponding catch block. Multiple catch blocks can be used to catch different classes of exeptions. Normal execution (when no exception is thrown within the try block, or when a catch matching the thrown exception's class is not present) will continue after that last catch block defined in sequence. Exceptions can be thrown (or re-thrown) within a catch block.

When an exception is thrown, code following the statement will not be executed, and PHP will attempt to find the first matching catch block. If an exception is not caught, a PHP Fatal Error will be issued with an "Uncaught Exception ..." message, unless a handler has been defined with set_exception_handler().

예 21.1. Throwing an Exception

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Division by zero.');
    }
    else return 1/$x;
}

try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

위 예제의 출력:

0.2
Caught exception: Division by zero.
Hello World

Extending Exceptions

A User defined Exception class can be defined by extending the built-in Exception class. The members and properties below, show what is accessible within the child class that derives from the built-in Exception class.

예 21.2. The Built in Exception class

<?php
class Exception
{
    protected $message = 'Unknown exception';   // exception message
    protected $code = 0;                        // user defined exception code
    protected $file;                            // source filename of exception
    protected $line;                            // source line of exception

    function __construct($message = null, $code = 0);

    final function getMessage();                // message of exception
    final function getCode();                   // code of exception
    final function getFile();                   // source filename
    final function getLine();                   // source line
    final function getTrace();                  // an array of the backtrace()
    final function getTraceAsString();          // formated string of trace

    /* Overrideable */
    function __toString();                       // formated string for display
}
?>

If a class extends the built-in Exception class and re-defines the constructor, it is highly recomended that it also call parent::__construct() to ensure all available data has been properly assigned. The __toString() method can be overriden to provide a custom output when the object is presented as a string.

예 21.3. Extending the Exception class

<?php
/**
 * Define a custom exception class
 */
class MyException extends Exception
{
    // Redefine the exception so message isn't optional
    public function __construct($message, $code = 0) {
        // some code

        // make sure everything is assigned properly
        parent::__construct($message, $code);
    }

    // custom string representation of object
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function customFunction() {
        echo "A Custom function for this type of exception\n";
    }
}

/**
 * Create a class to test the exception
 */
class TestException
{
    public $var;

    const THROW_NONE    = 0;
    const THROW_CUSTOM  = 1;
    const THROW_DEFAULT = 2;

    function __construct($avalue = self::THROW_NONE) {

        switch ($avalue) {
            case self::THROW_CUSTOM:
                // throw custom exception
                throw new MyException('1 is an invalid parameter', 5);
                break;

            case self::THROW_DEFAULT:
                // throw default one.
                throw new Exception('2 isnt allowed as a parameter', 6);
                break;

            default:
                // No exception, object will be created.
                $this->var = $avalue;
                break;
        }
    }
}

// Example 1
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (MyException $e) {      // Will be caught
    echo "Caught my exception\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // Skipped
    echo "Caught Default Exception\n", $e;
}

// Continue execution
var_dump($o);
echo "\n\n";

// Example 2
try {
    $o = new TestException(TestException::THROW_DEFAULT);
} catch (MyException $e) {      // Doesn't match this type
    echo "Caught my exception\n", $e;
    $e->customFunction();
} catch (Exception $e) {        // Will be caught
    echo "Caught Default Exception\n", $e;
}

// Continue execution
var_dump($o);
echo "\n\n";

// Example 3
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (Exception $e) {        // Will be caught
    echo "Default Exception caught\n", $e;
}

// Continue execution
var_dump($o);
echo "\n\n";

// Example 4
try {
    $o = new TestException();
} catch (Exception $e) {        // Skipped, no exception
    echo "Default Exception caught\n", $e;
}

// Continue execution
var_dump($o);
echo "\n\n";
?>

이전 | 위로 | 다음
Name resolution rules | 처음으로 | 22. 참조 표현


20장. Namespaces

차례

Namespaces overview
Namespace definition
Using namespaces
Global space
__NAMESPACE__
Name resolution rules

Namespaces overview

Namespaces in PHP are designed to solve scoping problem in large PHP libraries. In PHP, all class definitions are global. Thus, when a library author creates various utility or public API classes for the library, he must be aware of the possibility that other libraries with similar functionality would exist and thus choose unique names so that these libraries could be used together. Usually it is solved by prefixing the class names with an unique string - e.g., database classes would have prefix My_Library_DB, etc. As the library grows, prefixes add up, leading to the very long names.

The namespaces allow the developer to manage naming scopes without using the long names each time the class is referred to, and solve the problem of shared globals space without making code unreadable.

Namespaces are available in PHP as of PHP 5.3.0. This section is experimental and subject to changes.

이전 | 위로 | 다음
Reflection | 처음으로 | Namespace definition


__NAMESPACE__

The compile-time constant __NAMESPACE__ is defined to the name of the current namespace. Outside namespace this constant has the value of empty string. This constant is useful when one needs to compose full name for local namespaced names.

예 20.5. Using __NAMESPACE__

<?php
namespace A::B::C;

function foo() {
// do stuff
}

set_error_handler(__NAMESPACE__ . "::foo");
?>

이전 | 위로 | 다음
Global space | 처음으로 | Name resolution rules


Namespace definition

The namespace is declared using namespace keyword, which should be at the very beginning of the file. Example:

예 20.1. Defining namespace

<?php
    namespace MyProject::DB;

    const CONNECT_OK = 1;

    class Connection { /* ... */ }

    function connect() { /* ... */  }

?>

Same namespace name can be used in multiple files.

Namespace can contain class, constant and function definitions, but no free code.

Namespace definition does the following:

  • Inside namespace, all class, function and constant names in definitions are automatically prefixed with namespace name. The class name is always the full name, i.e. in the example above the class is called MyProject::DB::Connection.
  • Constant definitions create constant which is composed of namespace name and constant name. Like class constants, namespace constant can only contains static values.

  • Unqualified class name (i.e., name not containing ::) is resolved at runtime following this procedure:

    1. Class is looked up inside the current namespace (i.e. prefixing the name with the current namespace name) without attempting to autoload.
    2. Class is looked up inside the global namespace without attempting to autoload.
    3. Autoloading for name in current namespace is attempted.
    4. If previous failed, lookup fails.

  • Unqualified function name (i.e., name not containing ::) is looked up at runtime first in the current namespace and then in the global space.

  • Unqualified constant names are looked up first at current namespace and then among globally defined constants.

See also the full name resolution rules.

이전 | 위로 | 다음
20. Namespaces | 처음으로 | Using namespaces


Global space

Without any namespace definition, all class and function definitions are placed into the global space - as it was in PHP before namespaces were supported. Prefixing a name with :: will specify that the name is required from the global space even in the context of the namespace.

예 20.4. Using global space specification

<?php
    namespace A::B::C;

 /* This function is A::B::C::fopen */
    function fopen() {
         /* ... */
         $f = ::fopen(...); // call global fopen
         return $f;
    }
?>

이전 | 위로 | 다음
Using namespaces | 처음으로 | __NAMESPACE__


Name resolution rules

Names are resolved following these resolution rules:

  1. All qualified names are translated during compilation according to current import rules. In example, if the namespace A::B::C is imported, a call to C::D::e() is translated to A::B::C::D::e().
  2. Unqualified class names are translated during compilation according to current import rules (full name substituted for short imported name). In example, if the namespace A::B::C is imported, new C() is translated to new A::B::C().
  3. Inside namespace, calls to unqualified functions that are defined in the current namespace (and are known at the time the call is parsed) are interpreted as calls to these namespace functions, at compile time.

  4. Inside namespace (say A::B), calls to unqualified functions that are not defined in current namespace are resolved at run-time. Here is how a call to function foo() is resolved:

    1. It looks for a function from the current namespace : A::B::foo().
    2. It tries to find and call the internal function foo().

    To call a user defined function in the global namespace, ::foo() has to be used.

  5. Inside namespace (say A::B), calls to unqualified class names are resolved at run-time. Here is how a call to new C() is resolved:

    1. It looks for a class from the current namespace : A::B::C().
    2. It tries to find and call the internal class C().
    3. It attemts to autoload A::B::C(). C().

    To reference a user defined class in the global namespace, new ::C() has to be used.

  6. Calls to qualified functions are resolved at run-time. Here is how a call to A::B::foo() is resolved:

    1. It looks for a function foo() in the namespace A::B.
    2. It looks for a class A::B and call its static method foo(). It will autoload the class if necessary.
  7. Qualified class names are resolved in compile-time as class from corresponding namespace. For example, new A::B::C() refers to class C from namespace >A::B.

예 20.6. Name resolutions illustrated

<?php
namespace A;

// function calls

foo();      // first tries to call "foo" defined in namespace "A"
            // then calls internal function "foo"

::foo();    // calls function "foo" defined in global scope

// class references

new B();    // first tries to create object of class "B" defined in namespace "A"
            // then creates object of internal class "B"

new ::B();  // creates object of class "B" defined in global scope

// static methods/namespace functions from another namespace

B::foo();   // first tries to call function "foo" from namespace "A::B"
            // then calls method "foo" of internal class "B"

::B::foo(); // first tries to call function "foo" from namespace "B"
            // then calls method "foo" of class "B" from global scope

// static methods/namespace functions of current namespace

A::foo();   // first tries to call function "foo" from namespace "A::A"
            // then tries to call method "foo" of class "A" from namespace "A"
            // then tries to call function "foo" from namespace "A"
            // then calls method "foo" of internal class "A"

::A::foo(); // first tries to call function "foo" from namespace "A"
            // then calls method "foo" of class "A" from global scope
?>

이전 | 위로 | 다음
__NAMESPACE__ | 처음으로 | 21. Exceptions


Using namespaces

Every class and function in a namespace can be referred to by the full name - e.g. MyProject::DB::Connection or MyProject::DB::connect - at any time.

예 20.2. Using namespaced name

<?php
    require 'MyProject/Db/Connection.php';
    $x = new MyProject::DB::Connection;
    MyProject::DB::connect();
?>

Namespaces can be imported into current context (global or namespace) using the use operator. The syntax for the operator is:

<?php
/* ... */
use Some::Name as Othername;

// The simplified form of use:
use Foo::Bar;
// which is the same as :
use Foo::Bar as Bar;
?>
The imported name works as follows: every time that the compiler encounters the local name Othername (as stand-alone name or as prefix to the longer name separated by ::) the imported name Some::Name is substituted instead.

use can be used only in global scope, not inside function or class. Imported names have effect from the point of import to the end of the current file. It is recommended to put imports at the beginning of the file to avoid confusion.

예 20.3. Importing and accessing namespace

<?php
    require 'MyProject/Db/Connection.php';
    use MyProject::DB;
    use MyProject::DB::Connection as DbConnection;

    $x = new MyProject::DB::Connection();
    $y = new DB::connection();
    $z = new DbConnection();
    DB::connect();
?>

참고: The import operation is compile-time only, all local names are converted to their full equivalents by the compiler. Note that it won't translate names in strings, so callbacks can't rely on import rules.

이전 | 위로 | 다음
Namespace definition | 처음으로 | Global space


생성자

경고

PHP 3와 PHP 4에서 생성자(constructor)는 서로 다르게 동작한다. PHP 4의 문법이 강력히 추천하는 바이다.

생성자는 new를 사용하여 클래스의 새 인스턴스를 생성할때 자동으로 호출되는 클래스 내의 함수를 말한다. PHP 3에서는 클래스의 이름과 동일한 함수가 생성자가 된다. PHP 4에서는 클래스가 선언될때의 클래스명과 동일한 이름을 갖는 함수가 생성자가 된다. - 차이는 미묘하지만 매우 중요하다 (다음 글을 보세요).

<?php
// PHP 3와  PHP 4에서 작동함
class Auto_Cart extends Cart
{
    function Auto_Cart()
    {
        $this->add_item ("10", 1);
    }
}
?>

위 코드는 Cart와 같은 Auto_Cart 클래스를 선언하고 "new"로 새로운 Auto_Cart가 생성될때마다 상품번호 "10"인 아이템 하나를 갖는 카트로 초기화하는 생성자를 만든다. 생성자는 인자를 취할수 있고 이런 인자로 인해 생성자를 더 유용하게 만들어주지만 없을수도 있다. 인자가 없는 클래스를 사용하려면 생성자의 모든 인자는 기본값을 제공해 줄수 있다.

<?php
// PHP 3와 PHP 4에서 동작함.
class Constructor_Cart extends Cart
{
    function Constructor_Cart($item = "10", $num = 1)
    {
        $this->add_item ($item, $num);
    }
}

// Shop the same old boring stuff.

$default_cart = new Constructor_Cart;

// Shop for real...

$different_cart = new Constructor_Cart("20", 17);
?>

생성자에서 발생할수 있는 에러 메시지를 보이지 않게 하려면 @연산자를 사용할수 있다.즉, @new를 쓸수 있다.

경고

PHP 3에서 파생 클래스와 생성자는 많은 제약을 갖는다. 다음 예제 코드는 이런 제약을 이해하기 위해 주의깊게 살펴봐야할것이다.

<?php
class A
{
    function A()
    {
      echo "I am the constructor of A.<br>\n";
    }
}

class B extends A
{
    function C()
    {
        echo "I am a regular function.<br>\n";
    }
}

// PHP 3에서는 어떤 생성자도 호출되지 않는다.
$b = new B;
?>

위 예제 코드는 PHP 3에서는 어떤 생성자도 호출되지 않는다. PHP 3의 규칙은 : '생성자는 클래스와 같은 이름을 갖는 함수이다'. 클래스명 이 B이고 이 클래스에서는 B()함수가 없으므로 아무일도 일어나지 않는다.

PHP 4에서는 다른 규칙이 적용되어서 이런 규칙의 문제가 해결되었다: 클래스가 생성자를 갖지 않을때, 원래 클래스에서 생성자가 존재하면 그 생성자가 호출된다. 위 예제 코드는 PHP 4에서 'I am the constructor of A.<br>' 를 출력할것이다.

<?php
class A
{
    function A()
    {
        echo "I am the constructor of A.<br>\n";
    }

    function B()
    {
        echo "I am a regular function named B in class A.<br>\n";
        echo "I am not a constructor in A.<br>\n";
    }
}

class B extends A
{
    function C()
    {
        echo "I am a regular function.<br>\n";
    }
}

// This will call B() as a constructor.
$b = new B;
?>

PHP 3에서 클래스 A의 함수 B()는 의도하지 않았을지라도 즉시 클래스 B의 생성자가 될것이다. PHP 3의 규칙: '생성자는 클래스와 같은 이름을 갖는 함수이다'. PHP 3에서는 그 함수가 클래스 B에서 선언되었는지 또는 거기서 상속되었는지는 상관하지 않는다.

위 규칙의 문제점을 PHP 4에서는 다음과 같은 규칙으로 해결했다 : '생성자는 그것이 선언된 클래스와 같은 이름을 갖는 함수이다'. 따라서 PHP 4는 클래스 B가 생성자를 갖지 않으므로 원래 클래스의 생성자가 호출되어서 'I am the constructor of A.<br>'를 출력한다.

경고

PHP 3와 PHP 4 모두 파생 클래스의 생성자에서 자동으로 원래 클래스의 생성자를 호출하지 않는다. 적절하게 상단에 생성자 호출을 전달할 책임은 당신에게 달려있다.

참고: PHP 3나 PHP 4에서는 소멸자(destructor)를 지원하지 않는다. 대신에 이런 소멸자의 기능을 수행하기 위해 register_shutdown_function() 함수를 사용할수 있다.

소멸자는 객체가 파괴될때, unset()함수나, 단순히 현재 영역을 벗어남으로써 자동으로 호출되는 함수이다. PHP에서는 소멸자가 없다.

이전 | 위로 | 다음
extends | 처음으로 | ::


매직함수 __sleep와 __wakeup

serialize()는 클래스가 __sleep라는 매직 이름을 갖는 함수를 갖는지 체크한다. 이 함수를 갖고있다면, 일렬화되기 전에 이 함수가 수행된다. 이 함수는 객체를 깨끗하게 비울수 있고, 일렬화되어야 하는 그 객체의 모든 변수명을 갖는 배열을 돌려준다.

__sleep의 의도된 사용은 그 객체가 소유할지도 모르는 모든 데이터베이스의 접속을 종료하고, 아직 수행되지 않은 커밋(commit) 을 수행하거나 청소작업을 수행한다. 또한, 완전히 저장할 필요가 없는 매우 거대한 객체를 갖고 있다면 이 함수를 유용하게 쓸수 있다.

반대로, unserialize()는 __wakeup라는 매직 이름을 갖는 함수의 존재를 체크한다. 이 함수가 존재하면, 객체가 갖고 있을지도 모르는 모든 자원을 해제할수 있다.

__wakeup의 의도된 사용은 일렬화동안에 소실될수 있는 모든 데이터베이스 접속을 재구축하고 다른 재초기화 작업을 수행 한다.

이전 | 위로 | 다음
객체 일렬화 - 세션 내의 객체 | 처음으로 | 생성자의 재참조


empty("0")

아마도 동작에 있어서 가장 쟁점이 되었던 변화가 empty()의 동작에 대한 것이다. 문자 '0' (제로) 만을 내포하는 문자열은 현재 비어있다고 본다. 반면에 PHP 3는 그렇지 않았다.

이런 새로운 동작은 숫자 입력이 요구될지라도 문자열을 리턴하는 입력 필드를 갖고, 자동으로 타입 변환을 하는 기능이 있는 PHP의 웹 응용프로그램에서는 적절하다. 그러나 다른면에서는 적절한 방식의 코드를 제대로 동작시키지 않을수도 있다. 무엇을 찾아야할지 알수 없다면 이런 잘못된 동작을 유도하는것을 추적하기 힘들것이다.

이전 | 위로 | 다음
초기화 | 처음으로 | 사라진 함수들


부록 C. Migrating from PHP 5.0.x to PHP 5.1.x

차례

Key PHP 5.1.x features
Changes in reference handling
Reading []
Integer values in function parameters
Class and object changes
Extensions
Date/time support
Changes in database support
Checking for E_STRICT

Key PHP 5.1.x features

Some of the key features of PHP 5.1.x include:

  • A complete rewrite of date handling code, with improved timezone support.

  • Significant performance improvements compared to PHP 5.0.X.

  • PDO extension is now enabled by default.

  • Over 30 new functions in various extensions and built-in functionality.

  • Over 400 various bug fixes.

이전 | 위로 | 다음
Other Enhancements | 처음으로 | Changes in reference handling


Changes in database support

  • PDO overview

  • Changes in MySQL support

  • Changes in SQLite support

PDO overview

PHP Data Objects (PDO) were introduced as a PECL extension under PHP 5.0, and became part of the core PHP distribution in PHP 5.1.x. The PDO extension provides a consistent interface for database access, and is used alongside database-specific PDO drivers. Each driver may also have database-specific functions of its own, but basic data access functionality such as issuing queries and fetching data is covered by PDO functions, using the driver named in PDO::__construct().

Note that the PDO extension, and its drivers, are intended to be built as shared extensions. This will enable straightforward driver upgrades from PECL, without forcing you to rebuild all of PHP.

At the point of the PHP 5.1.x release, PDO is more than ready for widespread testing and could be adopted in most situations. However, it is important to understand that PDO and its drivers are comparatively young and may be missing certain database-specific features; evaluate PDO carefully before you use it in new projects.

Legacy code will generally rely on the pre-existing database extensions, which are still maintained.

Changes in MySQL support

In PHP 4, MySQL 3 support was built-in. With the release of PHP 5.0 there were two MySQL extensions, named 'mysql' and 'mysqli', which were designed to support MySQL < 4.1 and MySQL 4.1 and up, respectively. With the introduction of PDO, which provides a very fast interface to all the database APIs supported by PHP, the PDO_MYSQL driver can support any of the current versions (MySQL 3, 4 or 5) in PHP code written for PDO, depending on the MySQL library version used during compilation. The older MySQL extensions remain in place for reasons of back compatibility, but are not enabled by default.

Changes in SQLite support

In PHP 5.0.x, SQLite 2 support was provided by the built-in sqlite extension, which was also available as a PECL extension in PHP 4.3 and PHP 4.4. With the introduction of PDO, the sqlite extension doubles up to act as a 'sqlite2' driver for PDO; it is due to this that the sqlite extension in PHP 5.1.x has a dependency upon the PDO extension.

PHP 5.1.x ships with a number of alternative interfaces to sqlite:

The sqlite extension provides the "classic" sqlite procedural/OO API that you may have used in prior versions of PHP. It also provides the PDO 'sqlite2' driver, which allows you to access legacy SQLite 2 databases using the PDO API.

PDO_SQLITE provides the 'sqlite' version 3 driver. SQLite version 3 is vastly superior to SQLite version 2, but the file formats of the two versions are not compatible.

If your SQLite-based project is already written and working against earlier PHP versions, then you can continue to use ext/sqlite without problems, but will need to explicitly enable both PDO and sqlite. New projects should use PDO and the 'sqlite' (version 3) driver, as this is faster than SQLite 2, has improved locking concurrency, and supports both prepared statements and binary columns natively.

You must enable PDO to use the SQLite extension. If you want to build the PDO extension as a shared extension, then the SQLite extension must also be built shared. The same holds true for any extension that provides a PDO driver

이전 | 위로 | 다음
Date/time support | 처음으로 | Checking for E_STRICT


Date/time support

Date/time support has been fully rewritten in PHP 5.1.x, and no longer uses the system settings to 'know' the timezone in operation. It will instead utilize, in the following order:

  • The timezone set using the date_default_timezone_set() function (if any)

  • The TZ environment variable (if non empty)

  • "magical" guess (if the operating system supports it)

  • If none of the above options succeeds, UTC

To ensure accuracy (and avoid an E_STRICT warning), you will need to define your timezone in your php.ini using the following format:

date.timezone = Europe/London

The supported timezones are listed, in this format, in the timezones appendix.

Also note that strtotime() now returns FALSE on failure, instead of -1.

이전 | 위로 | 다음
Extensions | 처음으로 | Changes in database support


Checking for E_STRICT

If you only have a single script to check, you can pick up E_STRICT errors using PHP's commandline lint facility:

    php -d error_reporting=4095 -l script_to_check.php

For larger projects, the shell script below will achieve the same task:

#!/bin/sh

directory=$1

shift

# These extensions are checked
extensions="php inc"

check_file ()
{
  echo -ne "Doing PHP syntax check on $1 ..."

  # Options:
  ERRORS=`/www/php/bin/php -d display_errors=1 -d html_errors=0 -d error_prepend_string=" " -d error_append_string=" " -d error_reporting=4095 -l $1 | grep -v "No syntax errors detected"`

  if test -z "$ERRORS"; then
    echo -ne "OK."
  else
    echo -e "Errors found!\n$ERRORS"
  fi

  echo
}

# loop over remaining file args
for FILE in "$@" ; do
  for ext in $extensions; do
     if echo $FILE | grep "\.$ext$" > /dev/null; then
       if test -f $FILE; then
         check_file "$FILE"
       fi
     fi
  done
done

이전 | 위로 | 다음
Changes in database support | 처음으로 | D. PHP 4에서 PHP 5로 이행


Extensions

  • Extensions that are gone from the PHP core

  • Class constants in new PHP 5.1.x extensions

Extensions that are gone from the PHP core

One of the first things you're likely to notice when you download PHP 5.1.x is that several of the older extensions have disappeared. Those extensions that are still actively maintained are available in the PHP Extension Community Library (PECL), at » http://pecl.php.net/. Windows binaries are built regularly, and you can obtain the binaries for PECL extensions built against PHP 5.1.x from » http://pecl4win.php.net/.

표 C.1. Removed extensions

Extension | Alternative/Status
ext/cpdf | pecl/pdflib
ext/dbx | pecl/dbx
ext/dio | pecl/dio
ext/fam | Not actively maintained
ext/ingres_ii | pecl/ingres
ext/ircg | Not actively maintained
ext/mcve | pecl/mcve
ext/mnogosearch | Not actively maintained
ext/oracle | ext/oci8 or ext/pdo_oci
ext/ovrimos | Not actively maintained
ext/pfpro | Not actively maintained
ext/w32api | » pecl/ffi
ext/yp | Not actively maintained
ext/activescript | » pecl/activescript

Modules in PECL that are not actively maintained (i.e. have not been supported for some time, have no active maintainer working on them currently, and do not have any PECL package releases), are still available in CVS at » http://cvs.php.net/pecl. However, unreleased PHP modules are by their nature unsupported, and your mileage may vary when attempting to install or use them.

Class constants in new PHP 5.1.x extensions

The Zend Engine 2.1 API allows extension developers to declare class constants in object oriented extensions. New extensions written for PHP 5.1.x, including SPL, PDO, XMLReader and date, have their constants in the format PDO::CLASS_CONSTANT rather than in the C format PDO_CLASS_CONSTANT in order to minimise pollution of the global namespace in PHP.

이전 | 위로 | 다음
Class and object changes | 처음으로 | Date/time support


Integer values in function parameters

With the advent of PHP 5.0.x, a new parameter parsing API was introduced which is used by a large number of PHP functions. In all versions of PHP between 5.0.x and 5.1.x, the handling of integer values was very strict and would reject non-well formed numeric values when a PHP function expected an integer. These checks have now been relaxed to support non-well formed numeric strings such as " 123" and "123 ", and will no longer fail as they did under PHP 5.0.x. However, to promote code safety and input validation, PHP functions will now emit an E_NOTICE when such strings are passed as integers.

이전 | 위로 | 다음
Reading [] | 처음으로 | Class and object changes


Class and object changes

  • instanceof, is_a(), is_subclass_of() and catch

  • Abstract private methods

  • Access modifiers in interfaces

  • Changes in inheritance rules

  • Class constants

instanceof, is_a(), is_subclass_of() and catch

In PHP 5.0, is_a() was deprecated and replaced by the instanceof operator. There were some issues with the initial implementation of instanceof, which relied on __autoload() to search for missing classes. If the class was not present, instanceof would throw a fatal E_ERROR due to the failure of __autoload() to discover that class. The same behaviour occurred in the catch operator and the is_subclass_of() function, for the same reason.

None of these functions or operators call __autoload() in PHP 5.1.x, and the class_exists() workarounds used in code written for PHP 5.0.x, while not problematic in any way, are no longer necessary.

Abstract private methods

Abstract private methods were supported between PHP 5.0.0 and PHP 5.0.4, but were then disallowed on the grounds that the behaviours of private and abstract are mutually exclusive.

Access modifiers in interfaces

Under PHP 5.0, function declarations in interfaces were treated in exactly the same way as function declarations in classes. This has not been the case since October 2004, at which point only the public access modifier was allowed in interface function declarations. Since April 2005 - which pre-dates the PHP 5.0b1 release - the static modifier has also been allowed. However, the protected and private modifiers will now throw an E_ERROR, as will abstract. Note that this change should not affect your existing code, as none of these modifiers makes sense in the context of interfaces anyway.

Changes in inheritance rules

Under PHP 5.0, it was possible to have a function declaration in a derived class that did not match the declaration of the same function in the base class, e.g.

This code will cause an E_STRICT error to be emitted under PHP 5.1.x.

<?php
class Base {
    function &return_by_ref() {
        $r = 1;
        return $r;
    }
}

class Derived extends Base {
    function return_by_ref() {
        return 1;
    }
}
?>

Class constants

Under PHP 5.0.x, the following code was valid:

Under PHP 5.1.x, redefinition of a class constant will throw a fatal E_ERROR.

<?php
class test {
    const foobar = 'foo';
    const foobar = 'bar';
}

?>
이전 | 위로 | 다음
Integer values in function parameters | 처음으로 | Extensions


Reading []

<?php
class XmlTest {

    function test_ref(&$test) {
        $test = "ok";
    }

    function test($test) { }

    function run() {
        $ar = array();
        $this->test_ref($ar[]);
        var_dump($ar);
        $this->test($ar[]);
    }
}

$o = new XmlTest();
$o->run();
?>

This should always have thrown a fatal E_ERROR, because [] cannot be used for reading in PHP. It is invalid code in PHP 4.4.2 and PHP 5.0.5 upward.

이전 | 위로 | 다음
Changes in reference handling | 처음으로 | Integer values in function parameters


Changes in reference handling

  • Overview

  • Code that worked under PHP 4.3.x, but now fails

  • Code that worked under PHP 4.3.x, but now throws an error

  • Code that failed under PHP 4.3.x, but now works

  • Code that should have worked under PHP 5.0.x

  • Warnings that came and went

Overview

From the PHP script writer's point of view, the change most likely to impact legacy code is in the way that references are handled in all PHP versions post-dating the PHP 4.4.0 release.

Until and including PHP 4.3, it was possible to send, assign or return variables by reference that should really be returned by value, such as a constant, a temporary value (e.g. the result of an expression), or the result of a function that had itself been returned by value, as here:

<?php
$foo = "123";

function return_value() {
    global $foo;
    return $foo;
}

$bar = &return_value();
?>

Although this code would usually work as expected under PHP 4.3, in the general case the result is undefined. The Zend Engine could not act correctly on these values as references. This bug could and did lead to various hard-to-reproduce memory corruption problems, particularly where the code base was large.

In PHP 4.4.0, PHP 5.0.4 and all subsequent PHP releases, the Engine was fixed to 'know' when the reference operation is being used on a value that should not be referenced. The actual value is now used in such cases, and a warning is emitted. The warning takes the form of an E_NOTICE in PHP 4.4.0 and up, and E_STRICT in PHP 5.0.4 and up.

Code that could potentially produce memory corruption can no longer do so. However, some legacy code might work differently as a result.

Code that worked under PHP 4.3, but now fails

<?php
function func(&$arraykey) {
    return $arraykey; // function returns by value!
}

$array = array('a', 'b', 'c');
foreach (array_keys($array) as $key) {
    $y = &func($array[$key]);
    $z[] =& $y;
}

var_dump($z);
?>
<

Running the above script under any version of PHP that pre-dates the reference fix would produce this output:

array(3) {
  [0]=>
  &string(1) "a"
  [1]=>
  &string(1) "b"
  [2]=>
  &string(1) "c"
}

Following the reference fix, the same code would result in:

array(3) {
  [0]=>
  &string(1) "c"
  [1]=>
  &string(1) "c"
  [2]=>
  &string(1) "c"
}

This is because, following the changes, func() assigns by value. The value of $y is re-assigned, and reference-binding is preserved from $z. Prior to the fix, the value was assigned by reference, leading $y to be re-bound on each assignment. The attempt to bind to a temporary value by reference was the cause of the memory corruption.

Such code can be made to work identically in both the pre-fix and the post-fix PHP versions. The signature of func() can be altered to return by reference, or the reference assignment can be removed from the result of func().

<?php
function func() {
    return 'function return';
}

$x = 'original value';
$y =& $x;
$y = &func();
echo $x;
?>

In PHP 4.3 $x would be 'original value', whereas after the changes it would be 'function return' - remember that where the function does not return by reference, the reference assignment is converted to a regular assignment. Again, this can be brought to a common base, either by forcing func() to return by reference or by eliminating the by-reference assignment.

Code that worked under PHP 4.3.x, but now throws an error

<?php
class Foo {

    function getThis() {
        return $this;
    }

    function destroyThis() {
        $baz =& $this->getThis();
    }
}

$bar = new Foo();
$bar->destroyThis();
var_dump($bar);
?>

In PHP 5.0.3, $bar evaluated to NULL instead of returning an object. That happened because getThis() returns by value, but the value here is assigned by reference. Although it now works in the expected way, this is actually invalid code which will throw an E_NOTICE under PHP 4.4 or an E_STRICT under PHP 5.0.4 and up.

Code that failed under PHP 4.3.x, but now works

<?php
function &f() {
    $x = "foo";
    var_dump($x);
    print "$x\n";
    return($a);
}

for ($i = 0; $i < 3; $i++) {
    $h = &f();
}
?>

In PHP 4.3 the third call to var_dump() produces NULL, due to the memory corruption caused by returning an uninitialized value by reference. This is valid code in PHP 5.0.4 and up, but threw errors in earlier releases of PHP.

<?php
$arr = array('a1' => array('alfa' => 'ok'));
$arr =& $arr['a1'];
echo '-'.$arr['alfa']."-\n";
?>

Until PHP 5.0.5, it wasn't possible to assign an array element by reference in this way. It now is.

Code that should have worked under PHP 5.0.x

There are a couple of instances of bugs reported under PHP 5.0 prior to the reference fixes which now 'work'. However, in both cases errors are thrown by PHP 5.1.x, because the code was invalid in the first place. Returning values by reference using self:: now works in the general case but throws an E_STRICT warning, and although your mileage may vary when assigning by reference to an overloaded object, you will still see an E_ERROR when you try it, even where the assignment itself appears to work.

Warnings that came and went

Nested calls to functions returning by reference are valid code under both PHP 4.3.x and PHP 5.1.x, but threw an unwarranted E_NOTICE or E_STRICT under the intervening PHP releases.

<?php
function & foo() {
    $var = 'ok';
    return $var;
}

function & bar() {
    return foo();
}

$a =& bar();
echo "$a\n";
?>
이전 | 위로 | 다음
C. Migrating from PHP 5.0.x to PHP 5.1.x | 처음으로 | Reading []


부록 B. Migrating from PHP 5.1.x to PHP 5.2.x

차례

What has changed in PHP 5.2.x
Backward Incompatible Changes
New Error Messages
Changes in PHP datetime support
New Parameters
New Functions
New Methods
Removed Extensions
New Extensions
New Classes
New Global Constants
New Class Constants
New INI Configuration Directives
Error Reporting
Other Enhancements

What has changed in PHP 5.2.x

Most improvements in PHP 5.2.x have no impact on existing code. There are a few incompatibilities and new error messages that should be considered, and code should be tested before switching PHP versions in production environments.

If the system is being upgraded from PHP 5.0.x, the manual section titled Upgrade Notes for PHP 5.1.x should also be read.

Similarly, if the system is being upgraded from PHP 4, the manual section titled Migrating from PHP 4 to PHP 5 should be read as well.

이전 | 위로 | 다음
PHP에 관한 출판물 | 처음으로 | Backward Incompatible Changes


New Class Constants

pdo:

  • PDO::ATTR_DEFAULT_FETCH_MODE
  • PDO::FETCH_PROPS_LATE

  • PDO::FETCH_KEY_PAIR

    Fetches a 2 column result set into an associated array. (Added in PHP 5.2.3)

spl:

  • CachingIterator::FULL_CACHE
  • CachingIterator::TOSTRING_USE_INNER
  • SplFileObject::READ_AHEAD
  • SplFileObject::READ_CSV
  • SplFileObject::SKIP_EMPTY
이전 | 위로 | 다음
New Global Constants | 처음으로 | New INI Configuration Directives


New Classes

The following classes were introduced in PHP 5.2.0:

  • DateTime
  • DateTimeZone

  • RegexIterator - extends FilterIterator; implements Iterator, Traversable, OuterIterator

    Constants:

    • RegexIterator::ALL_MATCHES
    • RegexIterator::GET_MATCH
    • RegexIterator::MATCH
    • RegexIterator::REPLACE
    • RegexIterator::SPLIT
    • RegexIterator::USE_KEY

    Properties:

    • public replacement

    Methods:

    • RegexIterator::__construct(Iterator it, string regex [, int mode [, int flags [, int preg_flags]]]) - Create an RegexIterator from another iterator and a regular expression
    • bool RegexIterator::accept() - Match (string)current() against regular expression
    • bool RegexIterator::getFlags() - Returns current operation flags
    • bool RegexIterator::getMode() - Returns current operation mode
    • bool RegexIterator::getPregFlags() - Returns current PREG flags (if in use or NULL)
    • bool RegexIterator::setFlags(int new_flags) - Set operation flags
    • bool RegexIterator::setMode(int new_mode) - Set new operation mode
    • bool RegexIterator::setPregFlags(int new_flags) - Set PREG flags

  • RecursiveRegexIterator

    Constants:

    • RecursiveRegexIterator::ALL_MATCHES
    • RecursiveRegexIterator::GET_MATCH
    • RecursiveRegexIterator::MATCH
    • RecursiveRegexIterator::REPLACE
    • RecursiveRegexIterator::SPLIT
    • RecursiveRegexIterator::USE_KEY

    Methods:

    • RecursiveRegexIterator::__construct(RecursiveIterator it, string regex [, int mode [, int flags [, int preg_flags]]]) - Create an RecursiveRegexIterator from another recursive iterator and a regular expression
    • RecursiveRegexIterator RecursiveRegexIterator::getChildren() - Return the inner iterator's children contained in a RecursiveRegexIterator
    • bool RecursiveRegexIterator::hasChildren() - Check whether the inner iterator's current element has children
이전 | 위로 | 다음
New Extensions | 처음으로 | New Global Constants


Changes in PHP datetime support

Since PHP 5.1.0, there has been an extension named date in the PHP core. This is the new implementation of PHP's datetime support. Although it will attempt to guess your system's timezone setting, you should set the timezone manually. You can do this in any of three ways:

  • in your php.ini using the date.timezone INI directive
  • on your system using the TZ environmental variable
  • from your script using the convenience function date_default_timezone_set()

All supported timezones are listed in the PHP Manual.

With the advent of PHP 5.2.x, there are object representations of the date and timezone, named DateTime and DateTimeZone respectively. The methods map to existing procedural date functions.

이전 | 위로 | 다음
New Error Messages | 처음으로 | New Parameters


New Error Messages

Below are the new error messages that have not been discussed elsewhere in this document.

예 B.1. In PHP Core

<?php
echo " ";
session_regenerate_id();
/*  Warning:  session_regenerate_id(): Cannot regenerate
    session id - headers already sent in filename on line n */

str_word_count("string", 4);
/* Warning:  str_word_count(): Invalid format value 4
   in filename on line n */

strripos("foo", "f", 4);
/* Notice:  strripos(): Offset is greater than the
   length of haystack string in filename on line n */

strrpos("foo", "f", 4);
/* Notice:  strrpos(): Offset is greater than the
   length of haystack string in filename on line n */

/* As of PHP 5.2.1, when allow_url_include is OFF (default) */
include "php://input";
/* Warning:  include(): URL file-access is disabled
   in the server configuration in filename on line n */
?>

예 B.2. Object Oriented Code in PHP Core

<?php
interface foo {
}
class bar implements foo, foo {
}
/* Fatal error: Class bar cannot implement previously
   implemented interface foo in filename on line n */

class foo {
    public $bar;
    function __get($var)
    {
        return $this->bar;
    }
}

$foo = new foo;
$bar =& $foo->prop;
/* Notice: Indirect modification of overloaded property
   foo::$prop has no effect in filename on line n */

class foo implements iterator {
    public function current() {
    }
    public function next() {
    }
    public function key() {
    }
    public function valid() {
    }
    public function rewind() {
    }
}

$foo = new foo();
foreach($foo as &$ref) {}
/* Fatal error: An iterator cannot be used with foreach
   by reference in filename on line n */

class foo {
    private function __construct() {
    }
}
class bar extends foo {
    public function __construct() {
        parent::__construct();
        /* Fatal error:  Cannot call private
           foo::__construct() in filename on line n */
    }
}
new bar;

stream_filter_register("", "class");
/* Warning:  stream_filter_register(): Filter name
   cannot be empty in filename on line n */

stream_filter_register("filter", "");
/* Warning:  stream_filter_register(): Class name
   cannot be empty in filename on line n */

예 B.3. In the bzip2 Extension

<?php
bzopen("", "w");
/* Warning:  bzopen(): filename cannot be empty
   in filename on line n */

bzopen("foo", "a");
/* Warning:  bzopen(): 'a' is not a valid mode for
   bzopen(). Only 'w' and 'r' are supported in
   filename on line n */

$fp = fopen("foo", "w");
bzopen($fp, "r");
/* Warning:  bzopen(): cannot read from a stream
   opened in write only mode in filename on line n */
?>

예 B.4. In the datetime Extension

<?php
strtotime("today", "now");
/* Warning:  strtotime() expects parameter 2 to be
   long, string given in filename on line n */

/* As of PHP 5.2.1 */
new DateTime(new stdclass);
/* Fatal error: Uncaught exception 'Exception' with
   message 'DateTime::__construct() expects parameter
   1 to be string, object given' in filename:n */
?>

예 B.5. In the dBase Extension

<?php
dbase_open("foo", -1);
/* Warning: Invalid access mode -1 in filename on line n */

/* As of PHP 5.2.1 */
dbase_open("foo", null);
/* Warning: The filename cannot be empty in filename on line n */
?>

예 B.6. In the mcrypt Extension

<?php
$key = "this is a secret key";
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td),
                        MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, "");
/* Warning: mcrypt_generic(): An empty string was
   passed in filename on line n */
?>

예 B.7. In the oci8 Extension

<?php
oci_connect("user", "pass", "db", "bogus_charset");
/* Warning: Invalid character set name:
   bogus_charset in filename on line n */

$oci = oci_connect("user", "pass", "db");
oci_password_change($oci, "", "old", "new");
/* Warning: username cannot be empty in filename
   on line n */

oci_password_change($oci, "user", "", "new");
/* Warning: old password cannot be empty in filename
   on line n */

oci_password_change($oci, "user", "old", "");
/* Warning: new password cannot be empty in filename
   on line n */
?>

예 B.8. In the SPL Extension

<?php
$obj = new SplFileObject(__FILE__);
$obj->fgetcsv("foo");
/* Warning:  SplFileObject::fgetcsv(): delimiter must
   be a character in filename on line n */

$obj->fgetcsv(",", "foo");
/* Warning:  SplFileObject::fgetcsv(): enclosure must
   be a character in filename on line n */
?>

예 B.9. In the Semaphore (sysvmsg) extension

<?php
/* Warning:  maximum size of the message has to be
   greater then zero in filename on line n */
?>

예 B.10. A 5.2.1+ Zip Example

<?php
$obj = new ZipArchive();
$obj->open('archive.zip');
$obj->setCommentName('', 'comment');
/* Notice:  ZipArchive::setCommentName(): Empty string
   as entry name in filename on line n */

/* As of PHP 5.2.1 */
$obj->getCommentName('');
/* Notice:  ZipArchive::getCommentName(): Empty string
   as entry name in filename on line n */
?>

이전 | 위로 | 다음
Backward Incompatible Changes | 처음으로 | Changes in PHP datetime support


Error Reporting

Some of the existing E_ERROR conditions have been converted to something that can be caught with a user-defined error handler. If an E_RECOVERABLE_ERROR is not handled, it will behave in the same way as E_ERROR behaves in all versions of PHP. Errors of this type are logged as Catchable fatal error.

This change means that the value of the E_ALL error_reporting constant is now 6143, where the previous value was 2047. Because PHP constants have no meaning outside of PHP, in some cases the integer value is used instead so these will need to be adjusted. So for example by setting the error_reporting mode from either the httpd.conf or the .htaccess files, the value has to be changed accordingly. The same applies when the numeric values are used rather than the constants in PHP scripts.

As a side-effect of a change made to prevent duplicate error messages when track_errors is On, it is now necessary to return FALSE from user defined error handlers in order to populate $php_errormsg. This provides a fine-grain control over the levels of messages stored.

이전 | 위로 | 다음
New INI Configuration Directives | 처음으로 | Other Enhancements


New Functions

PHP 5.2.x introduced some new functions:

PHP Core:

  • array_fill_keys() - Create an array using the elements of the first parameter as keys, each initialized to val
  • error_get_last() - Get the last occurred error as associative array. Returns NULL if there hasn't been an error yet
  • image_type_to_extension() - Get file extension for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • memory_get_peak_usage() - Returns the peak allocated by PHP memory
  • sys_get_temp_dir() - Returns directory path used for temporary files. (Added in 5.2.1)
  • timezone_abbreviations_list() - Returns associative array containing DST, offset and the timezone name
  • timezone_identifiers_list() - Returns numerically indexed array with all timezone identifiers
  • timezone_name_from_abbr() - Returns the timezone name from abbreviation
  • stream_socket_shutdown() - Causes all or part of a full-duplex connection on the socket associated with stream to be shut down. As of PHP 5.2.1.

Image:

  • imagegrabscreen() - Grabs a screenshot of the whole screen. As of PHP 5.2.2.
  • imagegrabwindow() - Captures a window. As of PHP 5.2.2.

mbstring:

  • mb_list_encodings_alias_names() - Returns an array of all supported entity encodings
  • mb_list_mime_names() - Returns an array or string of all supported mime names
  • mb_stripos() - Finds position of first occurrence of a string within another, case insensitive
  • mb_stristr() - Finds first occurrence of a string within another, case insensitive
  • mb_strrchr() - Finds the last occurrence of a character in a string within another
  • mb_strrichr() - Finds the last occurrence of a character in a string within another, case insensitive
  • mb_strripos() - Finds position of last occurrence of a string within another, case insensitive
  • mb_strstr() - Finds first occurrence of a string within another

ming (As of PHP 5.2.1):

  • void ming_setSWFCompression(int num) - Sets output compression
  • void swfmovie::namedanchor(string name) - Creates anchor
  • void swfmovie::protect([string pasword]) - Protects

openssl:

  • openssl_csr_get_public_key() - Extracts public key from a CERT and prepares it for use
  • openssl_csr_get_subject() - Returns the subject of a CERT
  • openssl_pkey_get_details() - Returns an array with the key details (bits, pkey, type)

spl:

  • spl_object_hash() - Return hash id for given object
  • int iterator_apply(Traversable it, mixed function [, mixed params]) - Calls a function for every element in an iterator

pcre:

  • preg_last_error() - Returns the error code of the last regex execution

pgsql:

  • pg_field_table() - Returns the name of the table field belongs to, or table's oid if oid_only is true

posix:

  • posix_initgroups() - Calculate the group access list for the user specified in name

gmp:

  • gmp_nextprime() - Finds next prime of a

xmlwriter:

  • xmlwriter_full_end_element() - End current element - returns FALSE on error
  • xmlwriter_write_raw() - Write text - returns FALSE on error
  • xmlwriter_start_dtd_entity() - Create start DTD Entity - returns FALSE on error
  • xmlwriter_end_dtd_entity() - End current DTD Entity - returns FALSE on error
  • xmlwriter_write_dtd_entity() - Write full DTD Entity tag - returns FALSE on error
이전 | 위로 | 다음
New Parameters | 처음으로 | New Methods


New Global Constants

PHP Core:

  • M_EULER
  • M_LNPI
  • M_SQRT3
  • M_SQRTPI
  • PATHINFO_FILENAME
  • PREG_BACKTRACK_LIMIT_ERROR
  • PREG_BAD_UTF8_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_NO_ERROR
  • PREG_RECURSION_LIMIT_ERROR
  • UPLOAD_ERR_EXTENSION
  • STREAM_SHUT_RD
  • STREAM_SHUT_WR
  • STREAM_SHUT_RDWR

curl:

  • CURLE_FILESIZE_EXCEEDED
  • CURLE_FTP_SSL_FAILED
  • CURLE_LDAP_INVALID_URL
  • CURLFTPAUTH_DEFAULT
  • CURLFTPAUTH_SSL
  • CURLFTPAUTH_TLS
  • CURLFTPSSL_ALL
  • CURLFTPSSL_CONTROL
  • CURLFTPSSL_NONE
  • CURLFTPSSL_TRY
  • CURLOPT_FTP_SSL
  • CURLOPT_FTPSSLAUTH

  • CURLOPT_TCP_NODELAY

    Added in PHP 5.2.1.

  • CURLOPT_TIMEOUT_MS

    Added in PHP 5.2.3

  • CURLOPT_CONNECTTIMEOUT_MS

    Added in PHP 5.2.3

GMP:

  • GMP_VERSION

    Added in PHP 5.2.2.

ming:

  • SWFTEXTFIELD_USEFONT
  • SWFTEXTFIELD_AUTOSIZE
  • SWF_SOUND_NOT_COMPRESSED
  • SWF_SOUND_ADPCM_COMPRESSED
  • SWF_SOUND_MP3_COMPRESSED
  • SWF_SOUND_NOT_COMPRESSED_LE
  • SWF_SOUND_NELLY_COMPRESSED
  • SWF_SOUND_5KHZ
  • SWF_SOUND_11KHZ
  • SWF_SOUND_22KHZ
  • SWF_SOUND_44KHZ
  • SWF_SOUND_8BITS
  • SWF_SOUND_16BITS
  • SWF_SOUND_MONO
  • SWF_SOUND_STEREO

openssl:

  • OPENSSL_VERSION_NUMBER
  • OPENSSL_VERSION_TEXT

snmp:

  • SNMP_OID_OUTPUT_FULL
  • SNMP_OID_OUTPUT_NUMERIC

Semaphore:

  • MSG_EAGAIN
  • MSG_ENOMSG
이전 | 위로 | 다음
New Classes | 처음으로 | New Class Constants


Backward Incompatible Changes

Although most existing PHP 5 code should work without changes, you should pay attention to the following backward incompatible changes:

  • getrusage() returns NULL when passed incompatible arguments as of PHP 5.2.1.
  • ZipArchive::setCommentName() returns TRUE on success as of PHP 5.2.1.
  • ZipArchive::setCommentIndex() returns TRUE on success as of PHP 5.2.1.
  • SplFileObject::getFilename() returns the filename, not relative/path/to/file, as of PHP 5.2.1.

  • Changed priority of PHPRC environment variable on Win32

    The PHPRC environment variable now takes priority over the path stored in the Windows registry.

  • CLI SAPI no longer checks cwd for php.ini or the php-cli.ini file

    In PHP 5.1.x an undocumented feature was added that made the CLI binary check the current working directory for a PHP configuration file, potentially leading to unpredictable behavior if an unexpected configuration file were read. This functionality was removed in 5.2.0, and PHP will no longer search CWD for the presence of php.ini or php-cli.ini files. See also the command line section of the manual.

  • Added a warning when performing modulus 0 operations

    In earlier versions of PHP, performing integer % 0 did not emit any warning messages, instead returning an unexpected return value of FALSE. As of PHP 5.2.0, this operation will emit an E_WARNING, as is the case in all other instances where division by zero is performed.

    <?php
    print 10 % 0;
    /* Warning:  Division by zero in filename on line n */
    ?>

  • Changed __toString() to be called wherever applicable.

    The magic method __toString() will now be called in a string context, that is, anywhere an object is used as a string.

    The fallback of returning a string that contains the object identifier was dropped in PHP 5.2.0. It became problematic because an object identifier cannot be considered unique. This change will mean that your application is flawed if you have relied on the object identifier as a return value. An attempt to use that value as a string will now result in a catchable fatal error.

    <?php
    class foo {}
    $foo = new foo;
    print     $foo;
    /* Catchable fatal error:  Object of class foo could
       not be converted to string in filename on line n */
    ?>

    Even with __toString(), objects cannot be used as array indices or keys. We may add built-in hash support for this at a later date, but as of PHP 5.2.x you will need to either provide your own hashing or use the new SPL function spl_object_hash().

    Exceptions can not be thrown from __toString() methods.

    <?php
    class foo {
        public function     __toString() {
            throw new     Exception;
        }
    }

    try {
        print new     foo;
            /* Fatal error:  Method foo::__toString() must
           not throw an exception in filename on line n */
    } catch(Exception $e) {}
    ?>

  • Dropped abstract static class functions.

    Due to an oversight, PHP 5.0.x and 5.1.x allowed abstract static functions in classes. As of PHP 5.2.x, only interfaces can have them.

    <?php
    abstract class foo {
        abstract static function     bar();
            /* Strict Standards:  Static function foo::bar()
           should not be abstract in filename on line n */
    }
    ?>
  • Oracle extension requires at least Oracle 10 on Windows.

  • Added RFC2397 (data: stream) support.

    The introduction of the 'data' URL scheme has the potential to lead to a change of behavior under Windows. If you are working with a NTFS file system and making use of meta streams in your application, and if you just happen to be using a file with the name 'data:' that is accessed without any path information - it won't work any more. The fix is to use the 'file:' protocol when accessing it.

    See also » RFC 2397

    <?php
    /* when allow_url_include is OFF (default) */
    include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
    /* Warning:  include(): URL file-access is disabled
       in the server configuration in filename on line n */
    ?>

  • Regression in glob() patterns

    In version 5.2.4 a security fix caused a regression for patterns of the form "/foo/*/bar/*". Since version 5.2.5 instead of raising a warning the glob() function will return false when openbase_dir restrictions are violated.

이전 | 위로 | 다음
B. Migrating from PHP 5.1.x to PHP 5.2.x | 처음으로 | New Error Messages


New Methods

New methods were introduced in 5.2.0:

dom:

  • DOMDocument::registerNodeClass() - Register extended class used to create base node type
  • DOMElement::setIDAttribute() - Declares the attribute specified by name to be of type ID
  • DOMElement::setIDAttributeNode() - Declares the attribute specified by node to be of type ID
  • DOMElement::setIDAttributeNS() - Declares the attribute specified by local name and namespace URI to be of type ID
  • DOMNode::C14N([bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Canonicalize nodes to a string
  • DOMNode::C14NFile(string uri [, bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Canonicalize nodes to a file
  • DOMNode::getNodePath() - Gets an xpath for a node

soap:

  • SoapServer::setObject(object obj) - Sets object which will handle SOAP requests

spl:

  • int ArrayObject::asort(void) - Sort the entries by values
  • int ArrayObject::ksort(void) - Sort the entries by key
  • int ArrayObject::natcasesort(void) - Sort the entries by key using case insensitive "natural order" algorithm.
  • int ArrayObject::natsort(void) - Sort the entries by values using "natural order" algorithm.
  • int ArrayObject::uasort(callback cmp_function) - Sort the entries by values user defined function
  • int ArrayObject::uksort(callback cmp_function) - Sort the entries by key using user defined function.
  • ArrayIterator AppendIterator::getArrayIterator() - Get access to inner ArrayIterator
  • int AppendIterator::getIteratorIndex() - Get index of iterator
  • bool CachingIterator::getCache() - Return the cache
  • int CachingIterator::getFlags() - Return the internal flags
  • bool CachingIterator::offsetExists(mixed index) - Return whether the requested index exists
  • string CachingIterator::offsetGet(mixed index) - Return the internal cache if used
  • void CachingIterator::offsetSet(mixed index, mixed newval) - Set given index in cache
  • void CachingIterator::offsetUnset(mixed index) - Unset given index in cache
  • void CachingIterator::setFlags() - Set the internal flags
  • array("delimiter" =>, "enclosure" =>) SplFileObject::getCsvControl(void) - Get the delimiter and enclosure character used in fgetcsv
  • void SplFileObject::setCsvControl([string delimiter = ',' [, string enclosure = '"']]) - Set the delimiter and enclosure character used in fgetcsv

Tidy

  • tidyNode tidyNode::getParent(void) - Returns the parent node of the current node (Added in PHP 5.2.2)

XMLReader

  • boolean XMLReader::setSchema(string filename) - Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read()

zip:

  • ZipArchive::addEmptyDir() - Creates an empty directory in the archive
이전 | 위로 | 다음
New Functions | 처음으로 | Removed Extensions


New Extensions

The following are new extensions added (by default) as of PHP 5.2.0:

  • Filter - validates and filters data, and is designed for use with insecure data such as user input. This extension is enabled by default; the default mode RAW does not impact input data in any way.
  • JSON - implements the JavaScript Object Notation (JSON) data interchange format. This extension is enabled by default.
  • Zip - enables you to transparently read or write ZIP compressed archives and the files inside them.
이전 | 위로 | 다음
Removed Extensions | 처음으로 | New Classes


New INI Configuration Directives

New php.ini directives introduced in PHP 5.2.0:

  • allow_url_include

    This useful option makes it possible to differentiate between standard file operations on remote files, and the inclusion of remote files. While the former is usually desirable, the latter can be a security risk if used naively. Starting with PHP 5.2.0, you can allow remote file operations while disallowing the inclusion of remote files in local scripts. In fact, this is the default configuration.

  • pcre.backtrack_limit

    PCRE's backtracking limit.

  • pcre.recursion_limit

    PCRE's recursion limit. Please note that if you set this value to a high number you may consume all the available process stack and eventually crash PHP (due to reaching the stack size limit imposed by the Operating System).

  • session.cookie_httponly

    Marks the cookie as accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. This setting can effectively help to reduce identity theft through XSS attacks (although it is not supported by all browsers).

New directives in PHP 5.2.2:

  • max_input_nesting_level

    Limits how deep input variables can be nested, default is 64.

이전 | 위로 | 다음
New Class Constants | 처음으로 | Error Reporting


Other Enhancements

  • Improved memory manager and increased default memory limit.

    The new memory manager allocates less memory and works faster than the previous incarnation. It allocates memory from the system in large blocks, and then manages the heap by itself. The memory_limit value in php.ini is checked, not for each emalloc() call (as before), but for actual blocks requested from the system. This means that memory_limit is far more accurate than it used to be, since the old memory manager didn't calculate all the memory overhead used by the malloc library.

    Thanks to this new-found accuracy memory usage may appear to have increased, although actually it has not. To accommodate this apparent increase, the default memory_limit setting was also increased - from 8 to 16 megabytes.

  • Added support for constructors in interfaces to force constructor signature checks in implementations.

    Starting with PHP 5.2.0, interfaces can have constructors. However, if you choose to declare a constructor in an interface, each class implementing that interface MUST include a constructor with a signature matching that of the base interface constructor. By 'signature' we mean the parameter and return type definitions, including any type hints and including whether the data is passed by reference or by value.

이전 | 위로 | 다음
Error Reporting | 처음으로 | C. Migrating from PHP 5.0.x to PHP 5.1.x


New Parameters

Some functions were given new, optional, parameters in PHP 5.2.x:

PHP Core:

  • htmlentities() - added double_encode in PHP 5.2.3.
  • htmlspecialchars() - added double_encode in PHP 5.2.3.
  • base64_decode() - added strict
  • setcookie() - added httponly
  • setrawcookie() - added httponly
  • session_set_cookie_params() - added httponly
  • memory_get_usage() - added real_usage
  • get_loaded_extensions() - added zend_extensions in PHP 5.2.4

curl:

  • curl_multi_info_read() - added msgs_in_queue

datetime

  • date() - added "u" (milliseconds) format character in PHP 5.2.2

imap:

  • imap_open() - added n_retries
  • imap_reopen() - added n_retries

mbstring:

  • mb_strrpos() - added offset

    주의

    The offset parameter was put in the position the encoding parameter used to be. Backward compatibility has been provided by allowing encoding to be specified as the third parameter. Using this backward compatibility mode is not recommended because it will be removed in a future release of PHP.

ming:

  • swfmovie::streamMP3() - added skip in PHP 5.2.1

openssl:

  • openssl_verify() - added signature_algo

pgsql:

  • pg_escape_bytea() - added connection
  • pg_escape_string() - added connection

simplexml:

  • SimpleXMLElement::__construct() - added is_prefix
  • SimpleXMLElement::attributes() - added is_prefix
  • SimpleXMLElement::children() - added is_prefix
  • simplexml_load_file() - added is_prefix
  • simplexml_load_string() - added is_prefix

spl:

  • array iterator_to_array(Traversable it [, bool use_keys = true]) - added use_keys in PHP 5.2.1

xmlreader:

  • XMLReader::open() - added encoding and options
  • XMLReader::XML() - added encoding and options

XMLWriter:

  • XMLWriter::WriteElement() - the content became optional in PHP 5.2.3
  • XMLWriter::WriteElementNs() - the content became optional in PHP 5.2.3
이전 | 위로 | 다음
Changes in PHP datetime support | 처음으로 | New Functions


Removed Extensions

These extensions have been moved to PECL and are no longer part of the PHP distribution. The PECL package version of these extensions will be created according to user demand.

  • filePro
  • Hyperwave API
이전 | 위로 | 다음
New Methods | 처음으로 | New Extensions


old_function

old_function 구문은 PHP/FI2와 동일한 문법을 사용하는 함수를 선언하도록 해준다. ('function'을 'old_function'으로 변경하는것만 빼고)

이것은 사라져가는 기능이고, PHP/FI2->PHP 3변환기만으로 사용해야 한다.

주의

old_function으로 선언된 함수는 PHP의 내부 코드에서 호출될수 없다. 이 말의 의미는 usort(), array_walk(), register_shutdown_function()과 같은 함수 안에서 이 함수를 사용할수 없다는것이다. old_function을 호출하기 위해 래퍼함수(일반적인 PHP 3 형태)를 작성함으로써 이런 제한을 극복할수 있다.

이전 | 위로 | 다음
F. PHP/FI 2 에서 PHP 3로 이주하기 | 처음으로 | Start/end tags


함수 TRUE/FALSE 리턴 값

대부분의 내장함수들은 성공하면 TRUE를 실패하면 FALSE를 리턴하도록 재작성되었다. PHP/FI 2.0은 각각 0과 -1을 리턴하는것과 반대된다. 이 새로운 동작은 $fp = fopen("/your/file")나 fail("darn!");같은 좀더 논리적인 코드를 작성할수 있도록 해준다. PHP/FI 2.0은 함수가 실패했을때 무엇을 리턴해야 하는지에 대한 명확한 규칙이 없기때문에, 대부분의 이런 스크립트들은 2.0에서 3.0으로의 변환기를 사용한 후에 수작업으로 확인해야 할것이다.

예 F.9. 2.0으로부터의 이주: 리턴 값, 구버전의 코드

$fp = fopen($file, "r");
if ($fp == -1);
    echo("Could not open $file for reading<br>\n");
endif;

예 F.10. 2.0으로부터의 이주: 리턴 값, 새로운 코드

$fp = @fopen($file, "r") or print("Could not open $file for reading<br>\n");

이전 | 위로 | 다음
짧은-순환 논리 비교 | 처음으로 | 다른 비호환성


SWFAction

(No version information available, might be only in CVS)

SWFAction -- SWFAction Class

설명

The script syntax is based on the C language, but with a lot taken out- the SWF bytecode machine is just too simpleminded to do a lot of things we might like. For instance, we can't implement function calls without a tremendous amount of hackery because the jump bytecode has a hardcoded offset value. No pushing your calling address to the stack and returning- every function would have to know exactly where to return to.

So what's left? The compiler recognises the following tokens:

  • break
  • for
  • continue
  • if
  • else
  • do
  • while

There is no typed data; all values in the SWF action machine are stored as strings. The following functions can be used in expressions:

time()
Returns the number of milliseconds (?) elapsed since the movie started.
random(seed)
Returns a pseudo-random number in the range 0-seed.
length(expr)
Returns the length of the given expression.
int(number)
Returns the given number rounded down to the nearest integer.
concat(expr, expr)
Returns the concatenation of the given expressions.
ord(expr)
Returns the ASCII code for the given character
chr(num)
Returns the character for the given ASCII code
substr(string, location, length)
Returns the substring of length length at location location of the given string string.

Additionally, the following commands may be used:

duplicateClip(clip, name, depth)
Duplicate the named movie clip (aka sprite). The new movie clip has name name and is at depth depth.
removeClip(expr)
Removes the named movie clip.
trace(expr)
Write the given expression to the trace log. Doubtful that the browser plugin does anything with this.
startDrag(target, lock, [left, top, right, bottom])
Start dragging the movie clip target. The lock argument indicates whether to lock the mouse (?)- use 0 (FALSE) or 1 (TRUE). Optional parameters define a bounding area for the dragging.
stopDrag()
Stop dragging my heart around. And this movie clip, too.
callFrame(expr)
Call the named frame as a function.
getURL(url, target, [method])
Load the given URL into the named target. The target argument corresponds to HTML document targets (such as "_top" or "_blank"). The optional method argument can be POST or GET if you want to submit variables back to the server.
loadMovie(url, target)
Load the given URL into the named target. The target argument can be a frame name (I think), or one of the magical values "_level0" (replaces current movie) or "_level1" (loads new movie on top of current movie).
nextFrame()
Go to the next frame.
prevFrame()
Go to the last (or, rather, previous) frame.
play()
Start playing the movie.
stop()
Stop playing the movie.
toggleQuality()
Toggle between high and low quality.
stopSounds()
Stop playing all sounds.
gotoFrame(num)
Go to frame number num. Frame numbers start at 0.
gotoFrame(name)
Go to the frame named name. Which does a lot of good, since I haven't added frame labels yet.
setTarget(expr)
Sets the context for action. Or so they say- I really have no idea what this does.
And there's one weird extra thing. The expression frameLoaded(num) can be used in if statements and while loops to check if the given frame number has been loaded yet. Well, it's supposed to, anyway, but I've never tested it and I seriously doubt it actually works. You can just use /:framesLoaded instead.

Movie clips (all together now- aka sprites) have properties. You can read all of them (or can you?), you can set some of them, and here they are:

  • x
  • y
  • xScale
  • yScale
  • currentFrame - (read-only)
  • totalFrames - (read-only)
  • alpha - transparency level
  • visible - 1=on, 0=off (?)
  • width - (read-only)
  • height - (read-only)
  • rotation
  • target - (read-only) (???)
  • framesLoaded - (read-only)
  • name
  • dropTarget - (read-only) (???)
  • url - (read-only) (???)
  • highQuality - 1=high, 0=low (?)
  • focusRect - (???)
  • soundBufTime - (???)
So, setting a sprite's x position is as simple as /box.x = 100;. Why the slash in front of the box, though? That's how flash keeps track of the sprites in the movie, just like a Unix filesystem- here it shows that box is at the top level. If the sprite named box had another sprite named biff inside of it, you'd set its x position with /box/biff.x = 100;. At least, I think so; correct me if I'm wrong here.

Class Members

메쏘드

SWFAction->__construct()

예제

This simple example will move the red square across the window.

예 1226. swfaction() example

<?php
  $s = new SWFShape();
  $f = $s->addFill(0xff, 0, 0);
  $s->setRightFill($f);

  $s->movePenTo(-500, -500);
  $s->drawLineTo(500, -500);
  $s->drawLineTo(500, 500);
  $s->drawLineTo(-500, 500);
  $s->drawLineTo(-500, -500);

  $p = new SWFSprite();
  $i = $p->add($s);
  $i->setDepth(1);
  $p->nextFrame();

  for ($n=0; $n<5; ++$n) {
    $i->rotate(-15);
    $p->nextFrame();
  }

  $m = new SWFMovie();
  $m->setBackground(0xff, 0xff, 0xff);
  $m->setDimension(6000, 4000);

  $i = $m->add($p);
  $i->setDepth(1);
  $i->moveTo(-500,2000);
  $i->setName("box");

  $m->add(new SWFAction("/box.x += 3;"));
  $m->nextFrame();
  $m->add(new SWFAction("gotoFrame(0); play();"));
  $m->nextFrame();

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

This simple example tracks down your mouse on the screen.

예 1227. swfaction() example

<?php

  $m = new SWFMovie();
  $m->setRate(36.0);
  $m->setDimension(1200, 800);
  $m->setBackground(0, 0, 0);

  /* mouse tracking sprite - empty, but follows mouse so we can
     get its x and y coordinates */

  $i = $m->add(new SWFSprite());
  $i->setName('mouse');

  $m->add(new SWFAction("
    startDrag('/mouse', 1); /* '1' means lock sprite to the mouse */
  "));

  /* might as well turn off antialiasing, since these are just squares. */

  $m->add(new SWFAction("
    this.quality = 0;
  "));

  /* morphing box */
  $r = new SWFMorph();
  $s = $r->getShape1();

  /* Note this is backwards from normal shapes.  No idea why. */
  $s->setLeftFill($s->addFill(0xff, 0xff, 0xff));
  $s->movePenTo(-40, -40);
  $s->drawLine(80, 0);
  $s->drawLine(0, 80);
  $s->drawLine(-80, 0);
  $s->drawLine(0, -80);

  $s = $r->getShape2();

  $s->setLeftFill($s->addFill(0x00, 0x00, 0x00));
  $s->movePenTo(-1, -1);
  $s->drawLine(2, 0);
  $s->drawLine(0, 2);
  $s->drawLine(-2, 0);
  $s->drawLine(0, -2);

  /* sprite container for morphing box -
     this is just a timeline w/ the box morphing */

  $box = new SWFSprite();
  $box->add(new SWFAction("
    stop();
  "));
  $i = $box->add($r);

  for ($n=0; $n<=20; ++$n) {
    $i->setRatio($n/20);
    $box->nextFrame();
  }

  /* this container sprite allows us to use the same action code many times */

  $cell = new SWFSprite();
  $i = $cell->add($box);
  $i->setName('box');

  $cell->add(new SWFAction("

    setTarget('box');

    /* ...x means the x coordinate of the parent, i.e. (..).x */
    dx = (/mouse.x + random(6)-3 - ...x)/5;
    dy = (/mouse.y + random(6)-3 - ...y)/5;
    gotoFrame(int(dx*dx + dy*dy));

  "));

  $cell->nextFrame();
  $cell->add(new SWFAction("

    gotoFrame(0);
    play();

  "));

  $cell->nextFrame();

  /* finally, add a bunch of the cells to the movie */

  for ($x=0; $x<12; ++$x) {
    for ($y=0; $y<8; ++$y) {
      $i = $m->add($cell);
      $i->moveTo(100*$x+50, 100*$y+50);
    }
  }

  $m->nextFrame();

  $m->add(new SWFAction("

    gotoFrame(1);
    play();

  "));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

Same as above, but with nice colored balls...

예 1228. swfaction() example

<?php

  $m = new SWFMovie();
  $m->setDimension(11000, 8000);
  $m->setBackground(0x00, 0x00, 0x00);

  $m->add(new SWFAction("

this.quality = 0;
/frames.visible = 0;
startDrag('/mouse', 1);

  "));

  // mouse tracking sprite
  $t = new SWFSprite();
  $i = $m->add($t);
  $i->setName('mouse');

  $g = new SWFGradient();
  $g->addEntry(0, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.1, 0xff, 0xff, 0xff, 0xff);
  $g->addEntry(0.5, 0xff, 0xff, 0xff, 0x5f);
  $g->addEntry(1.0, 0xff, 0xff, 0xff, 0);

  // gradient shape thing
  $s = new SWFShape();
  $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT);
  $f->scaleTo(0.03);
  $s->setRightFill($f);
  $s->movePenTo(-600, -600);
  $s->drawLine(1200, 0);
  $s->drawLine(0, 1200);
  $s->drawLine(-1200, 0);
  $s->drawLine(0, -1200);

  // need to make this a sprite so we can multColor it
  $p = new SWFSprite();
  $p->add($s);
  $p->nextFrame();

  // put the shape in here, each frame a different color
  $q = new SWFSprite();
  $q->add(new SWFAction("gotoFrame(random(7)+1); stop();"));
  $i = $q->add($p);

  $i->multColor(1.0, 1.0, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 0.75, 0.5);
  $q->nextFrame();
  $i->multColor(1.0, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 1.0, 0.5);
  $q->nextFrame();
  $i->multColor(0.5, 0.5, 1.0);
  $q->nextFrame();
  $i->multColor(1.0, 0.5, 1.0);
  $q->nextFrame();

  // finally, this one contains the action code
  $p = new SWFSprite();
  $i = $p->add($q);
  $i->setName('frames');
  $p->add(new SWFAction("

dx = (/:mousex-/:lastx)/3 + random(10)-5;
dy = (/:mousey-/:lasty)/3;
x = /:mousex;
y = /:mousey;
alpha = 100;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("

this.x = x;
this.y = y;
this.alpha = alpha;
x += dx;
y += dy;
dy += 3;
alpha -= 8;

  "));
  $p->nextFrame();

  $p->add(new SWFAction("prevFrame(); play();"));
  $p->nextFrame();

  $i = $m->add($p);
  $i->setName('frames');
  $m->nextFrame();

  $m->add(new SWFAction("

lastx = mousex;
lasty = mousey;
mousex = /mouse.x;
mousey = /mouse.y;

++num;

if (num == 11)
  num = 1;

removeClip('char' & num);
duplicateClip(/frames, 'char' & num, num);

  "));

  $m->nextFrame();
  $m->add(new SWFAction("prevFrame(); play();"));

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>

이전 | 위로 | 다음
LXXXIX. Ming functions for Flash | 처음으로 | SWFAction->__construct()


SWFBitmap

(No version information available, might be only in CVS)

SWFBitmap -- SWFBitmap Class

설명

Class Members

메쏘드

SWFBitmap->__construct()
SWFBitmap->getHeight()
SWFBitmap->getWidth()
이전 | 위로 | 다음
SWFAction->__construct() | 처음으로 | SWFBitmap->__construct()


SWFButton

(No version information available, might be only in CVS)

SWFButton -- SWFButton Class

설명

Class Members

메쏘드

SWFButton->__construct()
SWFButton->addAction()
SWFButton->addASound()
SWFButton->addShape()
SWFButton->setAction()
SWFButton->setDown()
SWFButton->setHit()
SWFButton->setMenu()
SWFButton->setOver()
SWFButton->setUp()
이전 | 위로 | 다음
SWFBitmap->getWidth() | 처음으로 | SWFButton->__construct()


SWFDisplayItem

(No version information available, might be only in CVS)

SWFDisplayItem -- SWFDisplayItem Class

설명

Class Members

메쏘드

SWFDisplayItem->addAction()
SWFDisplayItem->addColor()
SWFDisplayItem->endMask()
SWFDisplayItem->getRot()
SWFDisplayItem->getX()
SWFDisplayItem->getXScale()
SWFDisplayItem->getXSkew()
SWFDisplayItem->getY()
SWFDisplayItem->getYScale()
SWFDisplayItem->getYSkew()
SWFDisplayItem->move()
SWFDisplayItem->moveTo()
SWFDisplayItem->multColor()
SWFDisplayItem->remove()
SWFDisplayItem->rotate()
SWFDisplayItem->rotateTo()
SWFDisplayItem->scale()
SWFDisplayItem->scaleTo()
SWFDisplayItem->setDepth()
SWFDisplayItem->setMaskLevel()
SWFDisplayItem->setMatrix()
SWFDisplayItem->setName()
SWFDisplayItem->setRatio()
SWFDisplayItem->skewX()
SWFDisplayItem->skewXTo()
SWFDisplayItem->skewY()
SWFDisplayItem->skewYTo()
이전 | 위로 | 다음
SWFButton->setUp() | 처음으로 | SWFDisplayItem->addAction()


SWFFill

(No version information available, might be only in CVS)

SWFFill -- SWFFill Class

설명

The SWFFill object allows you to transform (scale, skew, rotate) bitmap and gradient fills.

swffill objects are created by the SWFShape->addFill() method.

Class Members

메쏘드

SWFFill->moveTo()
SWFFill->rotateTo()
SWFFill->scaleTo()
SWFFill->skewXTo()
SWFFill->skewYTo()
이전 | 위로 | 다음
SWFDisplayItem->skewYTo() | 처음으로 | SWFFill->moveTo()


SWFFont

(No version information available, might be only in CVS)

SWFFont -- SWFFont Class

설명

The SWFFont object represent a reference to the font definition, for us with SWFText->setFont() and SWFTextField->setFont().

Class Members

메쏘드

SWFFont->__construct()
SWFFont->getAscent()
SWFFont->getDescent()
SWFFont->getLeading()
SWFFont->getShape()
SWFFont->getUTF8Width()
SWFFont->getWidth()
이전 | 위로 | 다음
SWFFill->skewYTo() | 처음으로 | SWFFont->__construct()


SWFFontChar

(No version information available, might be only in CVS)

SWFFontChar -- SWFFontChar Class

설명

Class Members

메쏘드

SWFFontChar->addChars()
SWFFontChar->addUTF8Chars()
이전 | 위로 | 다음
SWFFont->getWidth() | 처음으로 | SWFFontChar->addChars()


SWFGradient

(No version information available, might be only in CVS)

SWFGradient -- SWFGradient Class

설명

Class Members

메쏘드

SWFGradient->__construct()
SWFGradient->addEntry()
이전 | 위로 | 다음
SWFFontChar->addUTF8Chars() | 처음으로 | SWFGradient->__construct()


SWFMorph

(No version information available, might be only in CVS)

SWFMorph -- SWFMorph Class

설명

The methods here are sort of weird. It would make more sense to just have newSWFMorph(shape1, shape2);, but as things are now, shape2 needs to know that it's the second part of a morph. (This, because it starts writing its output as soon as it gets drawing commands- if it kept its own description of its shapes and wrote on completion this and some other things would be much easier.)

Class Members

메쏘드

SWFMorph->__construct()
SWFMorph->getShape1()
SWFMorph->getShape2()
이전 | 위로 | 다음
SWFGradient->addEntry() | 처음으로 | SWFMorph->__construct()


SWFMovie

(No version information available, might be only in CVS)

SWFMovie -- SWFMovie Class

설명

SWFMovie is a movie object representing an SWF movie.

Class Members

메쏘드

SWFMovie->__construct()
SWFMovie->add()
SWFMovie->addExport()
SWFMovie->addFont()
SWFMovie->importChar()
SWFMovie->importFont()
SWFMovie->labelFrame()
SWFMovie->nextFrame()
SWFMovie->output()
SWFMovie->remove()
SWFMovie->save()
SWFMovie->saveToFile()
SWFMovie->setbackground()
SWFMovie->setDimension()
SWFMovie->setFrames()
SWFMovie->setRate()
SWFMovie->startSound()
SWFMovie->stopSound()
SWFMovie->streamMP3()
SWFMovie->writeExports()
이전 | 위로 | 다음
SWFMorph->getShape2() | 처음으로 | SWFMovie->__construct()


SWFPrebuiltClip

(No version information available, might be only in CVS)

SWFPrebuiltClip -- SWFPrebuiltClip Class

설명

Class Members

메쏘드

SWFPrebuiltClip->__construct()
이전 | 위로 | 다음
SWFMovie->writeExports() | 처음으로 | SWFPrebuiltClip->__construct()


SWFShape

(No version information available, might be only in CVS)

SWFShape -- SWFShape Class

설명

Class Members

메쏘드

SWFShape->__construct()
SWFShape->addFill()
SWFShape->drawArc()
SWFShape->drawCircle()
SWFShape->drawCubic()
SWFShape->drawCubicTo()
SWFShape->drawCurve()
SWFShape->drawCurveTo()
SWFShape->drawGlyph()
SWFShape->drawLine()
SWFShape->drawLineTo()
SWFShape->movePen()
SWFShape->movePenTo()
SWFShape->setLeftFill()
SWFShape->setLine()
SWFShape->setRightFill()
이전 | 위로 | 다음
SWFPrebuiltClip->__construct() | 처음으로 | SWFShape->__construct()


SWFSound

(No version information available, might be only in CVS)

SWFSound -- SWFSound Class

설명

Class Members

메쏘드

SWFSound
이전 | 위로 | 다음
SWFShape->setRightFill() | 처음으로 | SWFSound


SWFSoundInstance

(No version information available, might be only in CVS)

SWFSoundInstance -- SWFSoundInstance Class

설명

SWFSoundInstance objects are returned by the SWFSprite->startSound() and SWFMovie->startSound() methods.

Class Members

메쏘드

SWFSoundInstance->loopCount()
SWFSoundInstance->loopInPoint()
SWFSoundInstance->loopOutPoint()
SWFSoundInstance->noMultiple()
이전 | 위로 | 다음
SWFSound | 처음으로 | SWFSoundInstance->loopCount()


SWFSprite

(No version information available, might be only in CVS)

SWFSprite -- SWFSprite Class

설명

An SWFSprite is also known as a "movie clip", this allows one to create objects which are animated in their own timelines. Hence, the sprite has most of the same methods as the movie.

Class Members

메쏘드

SWFSprite->__construct()
SWFSprite->add()
SWFSprite->labelFrame()
SWFSprite->nextFrame()
SWFSprite->remove()
SWFSprite->setFrames()
SWFSprite->startSound()
SWFSprite->stopSound()

예제

This simple example will spin gracefully a big red square.

예 1243. swfsprite() example

<?php
$s = new SWFShape();
$s->setRightFill($s->addFill(0xff, 0, 0));
$s->movePenTo(-500, -500);
$s->drawLineTo(500, -500);
$s->drawLineTo(500, 500);
$s->drawLineTo(-500, 500);
$s->drawLineTo(-500, -500);

$p = new SWFSprite();
$i = $p->add($s);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();
$i->rotate(15);
$p->nextFrame();

$m = new SWFMovie();
$i = $m->add($p);
$i->moveTo(1500, 1000);
$i->setName("blah");

$m->setBackground(0xff, 0xff, 0xff);
$m->setDimension(3000, 2000);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

이전 | 위로 | 다음
SWFSoundInstance->noMultiple() | 처음으로 | SWFSprite->__construct()


SWFText

(No version information available, might be only in CVS)

SWFText -- SWFText Class

설명

Class Members

메쏘드

SWFText->__construct()
SWFText->addString()
SWFText->addUTF8String()
SWFText->getAscent()
SWFText->getDescent()
SWFText->getLeading()
SWFText->getUTF8Width()
SWFText->getWidth()
SWFText->moveTo()
SWFText->setColor()
SWFText->setFont()
SWFText->setHeight()
SWFText->setSpacing()
이전 | 위로 | 다음
SWFSprite->stopSound() | 처음으로 | SWFText->__construct()


SWFTextField

(No version information available, might be only in CVS)

SWFTextField -- SWFTextField Class

설명

Class Members

메쏘드

SWFTextField->__construct()
SWFTextField->addChars()
SWFTextField->addString()
SWFTextField->align()
SWFTextField->setBounds()
SWFTextField->setColor()
SWFTextField->setFont()
SWFTextField->setHeight()
SWFTextField->setIndentation()
SWFTextField->setLeftMargin()
SWFTextField->setLineSpacing()
SWFTextField->setMargins()
SWFTextField->setName()
SWFTextField->setPadding()
SWFTextField->setRightMargin()
이전 | 위로 | 다음
SWFText->setSpacing() | 처음으로 | SWFTextField->__construct()


SWFVideoStream

(No version information available, might be only in CVS)

SWFVideoStream -- SWFVideoStream Class

설명

Class Members

메쏘드

SWFVideoStream->__construct()
SWFVideoStream->getNumFrames()
SWFVideoStream->setDimension()
이전 | 위로 | 다음
SWFTextField->setRightMargin() | 처음으로 | SWFVideoStream->__construct()


부록 X. 빠진 내용

이전 | 위로 | 다음
W. 함수 인덱스 | 처음으로 | X. HTML 도움말 에디션


Usage

(No version information available, might be only in CVS)

Usage -- Examples on using the ogg:// wrapper.

예제

예 1570. Reading an OGG/Vorbis file

<?php
dl("oggvorbis.so");

/* By default, ogg:// will decode to Signed 16-bit Little Endian */
$fp = fopen('ogg://myaudio.ogg', 'r');

/* Collect some information about the file. */
$metadata = stream_get_meta_data($fp);

/* Inspect the first song (usually the only song,
   but OGG/Vorbis files may be chained) */
$songdata = $metadata['wrapper_data'][0];

echo "OGG/Vorbis file encoded by: {$songdata['vendor']}\n.";
echo "  {$songdata['channels']} channels of {$songdata['rate']}Hz sampling encoded at {$songdata['bitrate_nominal']}bps.\n";
foreach($songdata['comments'] as $comment) {
    echo "  $comment\n";
}

while ($audio_data = fread($fp, 8192)) {
  /* Do something with the PCM audio we're extracting from the OGG.
     Copying to /dev/dsp is a good target on linux systems,
     just remember to setup the device for your sampling mode first. */
}

fclose($fp);

?>

예 1571. Encode an audio file to OGG/Vorbis

<?php
dl('oggvorbis.so');

$context = stream_context_create(array('ogg'=>array(
             'pcm_mode' => OGGVORBIS_PCM_S8,  /* Signed 8bit audio */
             'rate' => 44100,                 /* 44kHz CD quality */
             'bitrate' => 0.5,                /* Midquality VBR */
             'channels' => 1,                 /* Mono */
             'serialno' => 12345)));          /* Unique within our stream */

/* Open file for appending.  This will "chain" a second OGG stream at the end of the first. */
$ogg = fopen('ogg://mysong.ogg', 'a', false, $context);

$pcm = fopen('mysample.pcm', 'r');

/* Compress the raw PCM audio from mysample.pcm into mysong.ogg */
stream_copy_to_stream($pcm, $ogg);

fclose($pcm);
fclose($ogg);
?>

이전 | 위로 | 다음
CX. oggvorbis | 처음으로 | CXI. OpenAL Audio Bindings


Constants

(No version information available, might be only in CVS)

Constants -- Printer Predefined Constants

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

PRINTER_COPIES (integer)
PRINTER_MODE (integer)
PRINTER_TITLE (integer)
PRINTER_DEVICENAME (integer)
PRINTER_DRIVERVERSION (integer)
PRINTER_OUTPUT_FILE (integer)
PRINTER_RESOLUTION_Y (integer)
PRINTER_RESOLUTION_X (integer)
PRINTER_SCALE (integer)
PRINTER_BACKGROUND_COLOR (integer)
PRINTER_PAPER_LENGTH (integer)
PRINTER_PAPER_WIDTH (integer)
PRINTER_PAPER_FORMAT (integer)
PRINTER_FORMAT_CUSTOM (integer)
PRINTER_FORMAT_LETTER (integer)
PRINTER_FORMAT_LEGAL (integer)
PRINTER_FORMAT_A3 (integer)
PRINTER_FORMAT_A4 (integer)
PRINTER_FORMAT_A5 (integer)
PRINTER_FORMAT_B4 (integer)
PRINTER_FORMAT_B5 (integer)
PRINTER_FORMAT_FOLIO (integer)
PRINTER_ORIENTATION (integer)
PRINTER_ORIENTATION_PORTRAIT (integer)
PRINTER_ORIENTATION_LANDSCAPE (integer)
PRINTER_TEXT_COLOR (integer)
PRINTER_TEXT_ALIGN (integer)
PRINTER_TA_BASELINE (integer)
PRINTER_TA_BOTTOM (integer)
PRINTER_TA_TOP (integer)
PRINTER_TA_CENTER (integer)
PRINTER_TA_LEFT (integer)
PRINTER_TA_RIGHT (integer)
PRINTER_PEN_SOLID (integer)
PRINTER_PEN_DASH (integer)
PRINTER_PEN_DOT (integer)
PRINTER_PEN_DASHDOT (integer)
PRINTER_PEN_DASHDOTDOT (integer)
PRINTER_PEN_INVISIBLE (integer)
PRINTER_BRUSH_SOLID (integer)
PRINTER_BRUSH_CUSTOM (integer)
PRINTER_BRUSH_DIAGONAL (integer)
PRINTER_BRUSH_CROSS (integer)
PRINTER_BRUSH_DIAGCROSS (integer)
PRINTER_BRUSH_FDIAGONAL (integer)
PRINTER_BRUSH_HORIZONTAL (integer)
PRINTER_BRUSH_VERTICAL (integer)
PRINTER_FW_THIN (integer)
PRINTER_FW_ULTRALIGHT (integer)
PRINTER_FW_LIGHT (integer)
PRINTER_FW_NORMAL (integer)
PRINTER_FW_MEDIUM (integer)
PRINTER_FW_BOLD (integer)
PRINTER_FW_ULTRABOLD (integer)
PRINTER_FW_HEAVY (integer)
PRINTER_ENUM_LOCAL (integer)
PRINTER_ENUM_NAME (integer)
PRINTER_ENUM_SHARED (integer)
PRINTER_ENUM_DEFAULT (integer)
PRINTER_ENUM_CONNECTIONS (integer)
PRINTER_ENUM_NETWORK (integer)
PRINTER_ENUM_REMOTE (integer)
이전 | 위로 | 다음
CXXIX. Printer Functions | 처음으로 | printer_abort


Alternative PHP Cache

이전 VI. 함수 레퍼런스 다음

III. Alternative PHP Cache

소개

The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. It was conceived of to provide a free, open, and robust framework for caching and optimizing PHP intermediate code.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/apc.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

참고: On Windows, APC needs a temp path to exist, and be writable by the web server. It checks TMP, TEMP, USERPROFILE environment variables in that order and finally tries the WINDOWS directory if none of those are set.

참고: For more in-depth, highly technical implementation details, see the » developer-supplied TECHNOTES file .

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

Although the default APC settings are fine for many installations, serious users should consider tuning the following parameters.

There are two main decisions you have to make. First, how much shared memory do you want to set aside for APC, and second, whether you want APC to check if a file has been modified on every request. The two ini directives involved here are apc.shm_size and apc.stat. Read the sections on these two directives carefully below.

Once you have a running server, you should copy the apc.php script that comes with the extension to somewhere in your docroot and load it up in your browser. It provides you with a detailed look at what is happening in your cache. If you have GD enabled in PHP, it will even have pretty graphs. First thing to check is of course that it is actually caching files. Assuming it is working you should then pay close attention to the Cache full count number on the left. That tells you the number of times the cache has filled up and has had to forcefully clean up any entries not accessed within the last apc.ttl seconds. You should configure your cache to minimize this number. If you are constantly filling your cache, the resulting cache churn is going to hurt performance. You should either set more memory aside for APC, or use apc.filters to cache fewer scripts.

표 16. APC configuration options

Name | Default | Changeable | Changelog
apc.enabled | "1" | PHP_INI_SYSTEM | PHP_INI_SYSTEM in APC 2. PHP_INI_ALL in APC <= 3.0.12.
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "30" | PHP_INI_SYSTEM |
apc.optimization | "0" | PHP_INI_ALL | PHP_INI_SYSTEM in APC 2. Removed in APC 3.0.13.
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.user_entries_hint | "4096" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.ttl | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.user_ttl | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.cache_by_default | "1" | PHP_INI_ALL | PHP_INI_SYSTEM in APC <= 3.0.12. Available since APC 3.0.0.
apc.filters | NULL | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.slam_defense | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
apc.file_update_protection | "2" | PHP_INI_SYSTEM | Available since APC 3.0.6.
apc.enable_cli | "0" | PHP_INI_SYSTEM | Available since APC 3.0.7.
apc.max_file_size | "1M" | PHP_INI_SYSTEM | Available since APC 3.0.7.
apc.stat | "1" | PHP_INI_SYSTEM | Available since APC 3.0.10.
apc.write_lock | "1" | PHP_INI_SYSTEM | Available since APC 3.0.11.
apc.report_autofilter | "0" | PHP_INI_SYSTEM | Available since APC 3.0.11.
apc.include_once_override | "0" | PHP_INI_SYSTEM | Available since APC 3.0.12.
apc.rfc1867 | "0" | PHP_INI_SYSTEM | Available since APC 3.0.13.
apc.rfc1867_prefix | "upload_" | PHP_INI_SYSTEM |
apc.rfc1867_name | "APC_UPLOAD_PROGRESS" | PHP_INI_SYSTEM |
apc.rfc1867_freq | "0" | PHP_INI_SYSTEM |
apc.localcache | "0" | PHP_INI_SYSTEM | Available since APC 3.0.14.
apc.localcache.size | "512" | PHP_INI_SYSTEM | Available since APC 3.0.14.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

apc.enabled boolean

apc.enabled can be set to 0 to disable APC. This is primarily useful when APC is statically compiled into PHP, since there is no other way to disable it (when compiled as a DSO, the extension line in php.ini can just be commented-out).

apc.shm_segments integer

The number of shared memory segments to allocate for the compiler cache. If APC is running out of shared memory but you have already set apc.shm_size as high as your system allows, you can try raising this value.

apc.shm_size integer

The size of each shared memory segment in MB. By default, some systems (including most BSD variants) have very low limits on the size of a shared memory segment.

apc.optimization integer

The optimization level. Zero disables the optimizer, and higher values use more aggressive optimizations. Expect very modest speed improvements. This is experimental.

apc.num_files_hint integer

A "hint" about the number of distinct source files that will be included or requested on your web server. Set to zero or omit if you're not sure; this setting is mainly useful for sites that have many thousands of source files.

apc.user_entries_hint integer

Just like apc.num_files_hint, a "hint" about the number of distinct user cache variables to store. Set to zero or omit if not sure.

apc.ttl integer

The number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that your cache could potentially fill up with stale entries while newer entries won't be cached.

apc.user_ttl integer

The number of seconds a user cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry. Leaving this at zero means that your cache could potentially fill up with stale entries while newer entries won't be cached.

apc.gc_ttl integer

The number of seconds that a cache entry may remain on the garbage-collection list. This value provides a fail-safe in the event that a server process dies while executing a cached source file; if that source file is modified, the memory allocated for the old version will not be reclaimed until this TTL reached. Set to zero to disable this feature.

apc.cache_by_default boolean

On by default, but can be set to off and used in conjunction with positive apc.filters so that files are only cached if matched by a positive filter.

apc.filters string

A comma-separated list of POSIX extended regular expressions. If any pattern matches the source filename, the file will not be cached. Note that the filename used for matching is the one passed to include/require, not the absolute path. If the first character of the expression is a + then the expression will be additive in the sense that any files matched by the expression will be cached, and if the first character is a - then anything matched will not be cached. The - case is the default, so it can be left off.

apc.mmap_file_mask string

If compiled with MMAP support by using --enable-mmap this is the mktemp-style file_mask to pass to the mmap module for determing whether your mmap'ed memory region is going to be file-backed or shared memory backed. For straight file-backed mmap, set it to something like /tmp/apc.XXXXXX (exactly 6 Xs). To use POSIX-style shm_open/mmap put a .shm somewhere in your mask. e.g. /apc.shm.XXXXXX You can also set it to /dev/zero to use your kernel's /dev/zero interface to anonymous mmap'ed memory. Leaving it undefined will force an anonymous mmap.

apc.slam_defense integer

On very busy servers whenever you start the server or modify files you can create a race of many processes all trying to cache the same file at the same time. This option sets the percentage of processes that will skip trying to cache an uncached file. Or think of it as the probability of a single process to skip caching. For example, setting apc.slam_defense to 75 would mean that there is a 75% chance that the process will not cache an uncached file. So, the higher the setting the greater the defense against cache slams. Setting this to 0 disables this feature.

Deprecated by apc.write_lock.

apc.file_update_protection integer

When you modify a file on a live web server you really should do so in an atomic manner. That is, write to a temporary file and rename (mv) the file into its permanent position when it is ready. Many text editors, cp, tar and other such programs don't do this. This means that there is a chance that a file is accessed (and cached) while it is still being written to. This apc.file_update_protection setting puts a delay on caching brand new files. The default is 2 seconds which means that if the modification timestamp (mtime) on a file shows that it is less than 2 seconds old when it is accessed, it will not be cached. The unfortunate person who accessed this half-written file will still see weirdness, but at least it won't persist. If you are certain you always atomically update your files by using something like rsync which does this correctly, you can turn this protection off by setting it to 0. If you have a system that is flooded with io causing some update procedure to take longer than 2 seconds, you may want to increase this a bit.

apc.enable_cli integer

Mostly for testing and debugging. Setting this enables APC for the CLI version of PHP. Normally you wouldn't want to create, populate and tear down the APC cache on every CLI request, but for various test scenarios it is handy to be able to enable APC for the CLI version of APC easily.

apc.max_file_size integer

Prevent files larger than this value from getting cached. Defaults to 1M.

apc.stat integer

Be careful if you change this setting. The default is for this to be On which means that APC will stat (check) the script on each request to see if it has been modified. If it has been modified it will recompile and cache the new version. If you turn this setting off, it will not check. That means that in order to have changes become active you need to restart your web server. On a production server where you rarely change the code, turning stats off can produce a significant performance boost.

For included/required files this option applies as well, but note that if you are using relative path includes (any path that doesn't start with / on Unix) APC has to check in order to uniquely identify the file. If you use absolute path includes APC can skip the stat and use that absolute path as the unique identifier for the file.

apc.write_lock boolean

On busy servers when you first start up the server, or when many files are modified, you can end up with all your processes trying to compile and cache the same files. With write_lock enabled, only one process at a time will try to compile an uncached script while the other processes will run uncached instead of sitting around waiting on a lock.

apc.report_autofilter boolean

Logs any scripts that were automatically excluded from being cached due to early/late binding issues.

apc.include_once_override boolean

Optimize include_once() and require_once() calls and avoid the expensive system calls used.

apc.rfc1867 boolean

RFC1867 File Upload Progress hook handler is only available if you compiled APC against PHP 5.2.0 or later. When enabled, any file uploads which includes a field called APC_UPLOAD_PROGRESS before the file field in an upload form will cause APC to automatically create an upload_key user cache entry where key is the value of the APC_UPLOAD_PROGRESS form entry.

Note that the file upload tracking is not threadsafe at this point, so new uploads that happen while a previous one is still going will disable the tracking for the previous.

예 168. An apc.rfc1867 example

<?php
print_r(apc_fetch("upload_$_POST[APC_UPLOAD_PROGRESS]"));
?>

위 예제의 출력 예:

Array
(
    [total] => 1142543
    [current] => 1142543
    [rate] => 1828068.8
    [filename] => test
    [name] => file
    [temp_filename] => /tmp/php8F
    [cancel_upload] => 0
    [done] => 1
)

apc.rfc1867_prefix string

Key prefix to use for the user cache entry generated by rfc1867 upload progress functionality.

apc.rfc1867_name string

Specify the hidden form entry name that activates APC upload progress and specifies the user cache key suffix.

apc.rfc1867_freq string

The frequency that updates should be made to the user cache entry for upload progress. This can take the form of a percentage of the total file size or a size in bytes optionally suffixed with 'k', 'm', or 'g' for kilobytes, megabytes, or gigabytes respectively (case insensitive). A setting of 0 updates as often as possible, which may cause slower uploads.

apc.localcache boolean

This enables a lock-free local process shadow-cache which reduces lock contention when the cache is being written to.

apc.localcache.size integer

The size of the local process shadow-cache, should be set to a sufficently large value, approximately half of apc.num_files_hint.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

apc_add -- Cache a variable in the data store (only if it's not stored)
apc_cache_info -- Retrieves cached information (and meta-data) from APC's data store
apc_clear_cache -- Clears the APC cache
apc_compile_file -- Stores a file in the bytecode cache, bypassing all filters.
apc_define_constants -- Defines a set of constants for retrieval and mass-definition
apc_delete -- Removes a stored variable from the cache
apc_fetch -- Fetch a stored variable from the cache
apc_load_constants -- Loads a set of constants from the cache
apc_sma_info -- Retrieves APC's Shared Memory Allocation information
apc_store -- Cache a variable in the data store
이전 | 위로 | 다음
virtual | 처음으로 | apc_add


BBCode Functions

이전 VI. 함수 레퍼런스 다음

VII. BBCode Functions

소개

This extension aims to help parse BBCode text in order to convert it to HTML or another markup language. It uses one pass parsing and provides great speed improvement over the common approach based on regular expressions. Further more, it helps provide valid HTML by reordering open / close tags and by automatically closing unclosed tags.

Since 0.10.1 It supports argument quoting with single quotes, double quotes and HTML escaped double quotes.

설치

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/bbcode

An alternative solution, written in PHP, is the PEAR package » HTML_BBCodeParser.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

One resource is used in the BBCode extension: a BBCode_Container returned by bbcode_create().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

BBCODE_TYPE_NOARG (integer)
This BBCode tag does not accept any arguments.
BBCODE_TYPE_SINGLE (integer)
This BBCode tag does not have a corresponding close tag.
BBCODE_TYPE_ARG (integer)
This BBCode tag need an argument.
BBCODE_TYPE_OPTARG (integer)
This BBCode tag accept an optional argument.
BBCODE_TYPE_ROOT (integer)
This BBCode tag is the special tag root (nesting level 0).
BBCODE_FLAGS_ARG_PARSING (integer)
This BBCode tag require argument sub-parsing (the argument is also parsed by the BBCode extension). As Of 0.10.2 another parser can be used as argument parser.
BBCODE_FLAGS_CDATA_NOT_ALLOWED (integer)
This BBCode Tag does not accept content (it voids it automatically).
BBCODE_FLAGS_SMILEYS_ON (integer) - since 0.10.2
This BBCode Tag accepts smileys.
BBCODE_FLAGS_SMILEYS_OFF (integer) - since 0.10.2
This BBCode Tag does not accept smileys.
BBCODE_FLAGS_ONE_OPEN_PER_LEVEL (integer) - since 0.10.2
This BBCode Tag automatically closes if another tag of the same type is found at the same nesting level.
BBCODE_FLAGS_REMOVE_IF_EMPTY (integer) - since 0.10.2
This BBCode Tag is automatically removed if content is empty it allows to produce ligther HTML.
BBCODE_FLAGS_DENY_REOPEN_CHILD (integer) - since 0.10.3
This BBCode Tag does not allow unclosed childs to reopen when automatically closed.
BBCODE_ARG_DOUBLE_QUOTE (integer) - since 0.10.2
This is a parser option allowing argument quoting with double quotes (")
BBCODE_ARG_SINGLE_QUOTE (integer) - since 0.10.2
This is a parser option allowing argument quoting with single quotes (')
BBCODE_ARG_HTML_QUOTE (integer) - since 0.10.2
This is a parser option allowing argument quoting with HTML version of double quotes (&quot;)
BBCODE_AUTO_CORRECT (integer) - since 0.10.2
This is a parser option changing the way errors are treated. It automatically closes tag in the order they are opened. And treat tags with only an open tag as if there were a close tag present.
BBCODE_CORRECT_REOPEN_TAGS (integer) - since 0.10.2
This is a parser option changing the way errors are treated. It automatically reopens tag if close tags are not in the good order.
BBCODE_DISABLE_TREE_BUILD (integer) - since 0.10.2
This is a parser option disabling the BBCode parsing it can be useful if only the "smiley" replacement must be used.
BBCODE_DEFAULT_SMILEYS_ON (integer) - since 0.10.2
This is a parser option setting smileys to ON if no flag is given at tag level.
BBCODE_DEFAULT_SMILEYS_OFF (integer) - since 0.10.2
This is a parser option setting smileys to OFF if no flag is given at tag level.
BBCODE_FORCE_SMILEYS_OFF (integer) - since 0.10.2
This is a parser option disabling completely the smileys parsing.
BBCODE_SMILEYS_CASE_INSENSITIVE (integer) - since 0.10.3
Use a case insensitive Detection for smileys instead of a simple binary search.
BBCODE_SET_FLAGS_SET (integer) - since 0.10.2
This permits to SET the complete flag set on a parser.
BBCODE_SET_FLAGS_ADD (integer) - since 0.10.2
This permits to switch a flag set ON on a parser.
BBCODE_SET_FLAGS_REMOVE (integer) - since 0.10.2
This permits to switch a flag set OFF on a parser.

차례

bbcode_add_element -- Adds a bbcode element
bbcode_add_smiley -- Adds a smiley to the parser
bbcode_create -- Create a BBCode Resource
bbcode_destroy -- Close BBCode_container resource
bbcode_parse -- Parse a string following a given rule set
bbcode_set_arg_parser -- Attach another parser in order to use another rule set for argument parsing
bbcode_set_flags -- Set or alter parser options
이전 | 위로 | 다음
aspell_suggest | 처음으로 | bbcode_add_element


PHP bytecode Compiler

이전 VI. 함수 레퍼런스 다음

IX. PHP bytecode Compiler

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

Bcompiler was written for several reasons:
To encode entire script in a proprietary PHP application
To encode some classes and/or functions in a proprietary PHP application
To enable the production of php-gtk applications that could be used on client desktops, without the need for a php.exe.
To do the feasibility study for a PHP to C converter
The first of these goals is achieved using the bcompiler_write_header(), bcompiler_write_file() and bcompiler_write_footer() functions. The bytecode files can be written as either uncompressed or plain. To use the generated bytecode, you can simply include it with include or require statements.

The second of these goals is achieved using the bcompiler_write_header(), bcompiler_write_class(), bcompiler_write_footer(), bcompiler_read(), and bcompiler_load() functions. The bytecode files can be written as either uncompressed or plain. The bcompiler_load() reads a bzip compressed bytecode file, which tends to be 1/3 of the size of the original file.

To create EXE type files, bcompiler has to be used with a modified sapi file or a version of PHP which has been compiled as a shared library. In this scenario, bcompiler reads the compressed bytecode from the end of the exe file.

bcompiler can improve performance by about 30% when used with uncompressed bytecodes only. But keep in mind that uncompressed bytecode can be up to 5 times larger than the original source code. Using bytecode compression can save your space, but decompression requires much more time than parsing a source. bcompiler also does not do any bytecode optimization, this could be added in the future...

In terms of code protection, it is safe to say that it would be impossible to recreate the exact source code that it was built from, and without the accompanying source code comments. It would effectively be useless to use the bcompiler bytecodes to recreate and modify a class. However it is possible to retrieve data from a bcompiled bytecode file - so don't put your private passwords or anything in it.

설치

short installation note:

  • You need at least PHP 4.3.0 for the compression to work
  • To install on PHP 4.3.0 and later at the Unix command prompt type pear install bcompiler
  • To install on Windows, until the binary package distribution mechanism is finished please search the archives of the pear-general mailing list for pre-built packages. (or send an email to it if you could not find a reference)
  • To install on older versions you need to make some slight changes to the build.
  • untar the bcompiler.tgz archive into php4/ext.(Get it directly from PECL » http://pecl.php.net/get/bcompiler)
  • If the new directory is now called something like bcompiler-0.x, then you should rename it to bcompiler (except you only want to build it as self-contained php-module).
  • If you are using versions before PHP 4.3.0, the you will need to copy the Makefile.in.old to Makefile.in and config.m4.old to config.m4.
  • run phpize in ext/bcompiler
  • run ./buildconf in php4
  • run configure with --enable-bcompiler (and your other options)
  • make; make install
  • that's it.

Contact Information

If you have comments, bugfixes, enhancements or want to help developing this beast, you can drop me a mail at » alan_k@php.net. Any help is very welcome.

차례

bcompiler_load_exe -- Reads and creates classes from a bcompiler exe file
bcompiler_load -- Reads and creates classes from a bz compressed file
bcompiler_parse_class -- Reads the bytecodes of a class and calls back to a user function
bcompiler_read -- Reads and creates classes from a filehandle
bcompiler_write_class -- Writes an defined class as bytecodes
bcompiler_write_constant -- Writes a defined constant as bytecodes
bcompiler_write_exe_footer -- Writes the start pos, and sig to the end of a exe type file
bcompiler_write_file -- Writes a php source file as bytecodes
bcompiler_write_footer -- Writes the single character \x00 to indicate End of compiled data
bcompiler_write_function -- Writes an defined function as bytecodes
bcompiler_write_functions_from_file -- Writes all functions defined in a file as bytecodes
bcompiler_write_header -- Writes the bcompiler header
bcompiler_write_included_filename -- Writes an included file as bytecodes
이전 | 위로 | 다음
bcsub | 처음으로 | bcompiler_load_exe


Credit Mutuel CyberMUT functions

이전 VI. 함수 레퍼런스 다음

XXI. Credit Mutuel CyberMUT functions

소개

This extension allows you to process credit cards transactions using » Credit Mutuel CyberMUT system.

CyberMUT is a popular Web Payment Service in France, provided by the Credit Mutuel bank. If you are foreign in France, these functions will not be useful for you.

The use of these functions is almost identical to the original functions, except for the parameters of return for CreerFormulaireCM and CreerReponseCM, which are returned directly by functions PHP, whereas they had passed in reference in the original functions.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

참고: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 4.3.0

요구 조건

You will require the appropriate SDK for your platform, which may be sent to you after your CyberMUT's subscription (contact them via Web, or go to the nearest Credit Mutuel).

참고: These functions only provide a link to CyberMUT SDK. Be sure to read the CyberMUT Developers Guide for full details of the required parameters.

차례

cybermut_creerformulairecm -- Generate HTML form of request for payment
cybermut_creerreponsecm -- Generate the delivery's acknowledgement of the payment's confirmation
cybermut_testmac -- Make sure that there was no data diddling contained in the received message of confirmation
이전 | 위로 | 다음
cybercash_encr | 처음으로 | cybermut_creerformulairecm


enchant Functions

이전 VI. 함수 레퍼런스 다음

XXXIII. enchant Functions

소개

Enchant is the PHP binding for the » Enchant library. Enchant steps in to provide uniformity and conformity on top of all spelling libraries, and implement certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working."

Enchat supports the following backends:

  • Aspell/Pspell (intends to replace Ispell)

  • Ispell (old as sin, could be interpreted as a defacto standard)

  • MySpell/Hunspell (an OOo projects, also used by Mozilla)

  • Uspell (primarily Yiddish, Hebrew, and Eastern European languages - hosted in AbiWord's CVS under the module "uspell")

  • Hspell (Hebrew)

  • AppleSpell (Mac OSX)

요구 조건

This version uses the functions of the » Enchant library by Dom Lachowicz. You need Enchant 1.2.4 or later.

설치

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/enchant.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

There are two types of resources in this extension. The first one is the broker (backends manager) and the second is for the dictionary.

예제

예 512. Enchant Usage Example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
if (enchant_broker_dict_exists($r,$tag)) {
    $d = enchant_broker_request_dict($r, $tag);
    $dprovides = enchant_dict_describe($d);
    echo "dictionary $tag provides:\n";
    $spellerrors = enchant_dict_check($d, "soong");
    print_r($dprovides);
    echo "found $spellerrors spell errors\n";
    if ($spellerrors) {
        $suggs = enchant_dict_suggest($d, "soong");
        echo "Suggestions for 'soong':";
        print_r($suggs);
    }
    enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>

차례

enchant_broker_describe -- Enumerates the Enchant providers
enchant_broker_dict_exists -- Whether a dictionary exists or not. Using non-empty tag
enchant_broker_free_dict -- Free a dictionary resource
enchant_broker_free -- Free the broker resource and its dictionnaries
enchant_broker_get_error -- Returns the last error of the broker
enchant_broker_init -- create a new broker object capable of requesting
enchant_broker_list_dicts -- Returns a list of available dictionaries
enchant_broker_request_dict -- create a new dictionary using a tag
enchant_broker_request_pwl_dict -- creates a dictionary using a PWL file. A PWL file is personal word file one word per line.
enchant_broker_set_ordering -- Declares a preference of dictionaries to use for the language
enchant_dict_add_to_personal -- add a word to personal word list
enchant_dict_add_to_session -- add 'word' to this spell-checking session
enchant_dict_check -- Check whether a word is correctly spelled or not.
enchant_dict_describe -- Describes an individual dictionary
enchant_dict_get_error -- Returns the last error of the current spelling-session
enchant_dict_is_in_session -- whether or not 'word' exists in this spelling-session
enchant_dict_quick_check -- Check the word is correctly spelled and provide suggestions
enchant_dict_store_replacement -- add a correction for a word.
enchant_dict_suggest -- Will return a list of values if any of those pre-conditions are not met.
이전 | 위로 | 다음
xptr_new_context | 처음으로 | enchant_broker_describe


Expect Functions

이전 VI. 함수 레퍼런스 다음

XXXVI. Expect Functions

소개

This extension allows to interact with processes through PTY. You may consider using the expect:// wrapper with the filesystem functions which provide a simpler and more intuitive interface.

요구 조건

This module uses the functions of the » expect library. You need libexpect version >= 5.43.0.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/expect.

PHP 4에서 이 PECL 확장의 소스는 PHP 소스의 ext/ 디렉토리 안이나, 위의 PECL 링크에서 찾을 수 있습니다. In order to use these functions you must compile PHP with expect support by using the --with-expect[=DIR] configure option.

Windows users will enable php_expect.dll inside of php.ini in order to use these functions. PHP 4에서 이 DLL 형식은 내려받은 PHP 윈도우 바이너리 안의 extensions/ 디렉토리 안에 있습니다. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

In order to configure expect extension, there are configuration options in the configuration file php.ini.

표 85. Expect 설정 옵션

이름 | 기본값 | 가변성 | Changelog
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

expect.timeout integer

The timeout period for waiting for the data, when using the expect_expectl() function.

A value of "-1" disables a timeout from occurring.

참고: A value of "0" causes the expect_expectl() function to return immediately.

expect.loguser boolean

Whether expect should send any output from the spawned process to stdout. Since interactive programs typically echo their input, this usually suffices to show both sides of the conversation.

expect.logfile string

Name of the file, where the output from the spawned process will be written. If this file doesn't exist, it will be created.

참고: If this configuration is not empty, the output is written regardless of the value of expect.loguser.

자원형

expect_popen() returns an open PTY stream used by expect_expectl().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

EXP_GLOB (integer)
Indicates that the pattern is a glob-style string pattern.
EXP_EXACT (integer)
Indicates that the pattern is an exact string.
EXP_REGEXP (integer)
Indicates that the pattern is a regexp-style string pattern.
EXP_EOF (integer)
Value, returned by expect_expectl(), when EOF is reached.
EXP_TIMEOUT (integer)
Value, returned by expect_expectl() upon timeout of seconds, specified in value of expect.timeout
EXP_FULLBUFFER (integer)
Value, returned by expect_expectl() if no pattern have been matched.

예제

This example connects to the remote host via SSH, and prints the remote uptime.

예 533. Expect Usage Example

<?php
ini_set ("expect.loguser", "Off");

$stream = fopen ("expect://ssh root@remotehost uptime", "r");

$cases = array (
  array (0 => "password:", 1 => PASSWORD)
);

switch (expect_expectl ($stream, $cases)) {
 case PASSWORD:
  fwrite ($stream, "password\n");
  break;

 default:
  die ("Error was occurred while connecting to the remote host!\n");
}

while ($line = fgets ($stream)) {
  print $line;
}
fclose ($stream);
?>

The following example connects to the remote host, determines whether installed OS is for 32 or 64 bit, then runs update for specific package.

예 534. Another Expect Usage Example

<?php
ini_set ("expect.timeout", -1);
ini_set ("expect.loguser", "Off");

$stream = expect_popen ("ssh root@remotehost");

while (true) {
    switch (expect_expectl ($stream, array (
            array ("password:", PASSWORD), // SSH is asking for password
            array ("yes/no)?", YESNO), // SSH is asking whether to store the host entry
            array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
    ))) {
        case PASSWORD:
            fwrite ($stream, "secret\n");
            break;

        case YESNO:
            fwrite ($stream, "yes\n");
            break;

        case SHELL:
            fwrite ($stream, "uname -a\n");
            while (true) {
                    switch (expect_expectl ($stream, array (
                            array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
                            array ("^Linux.*$", UNAME, EXP_REGEXP), // uname -a output
                    ), $match)) {
                        case UNAME:
                            $uname .= $match[0];
                            break;

                        case SHELL:
                            // Run update:
                            if (strstr ($uname, "x86_64")) {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_64bit.rpm\n");
                            } else {
                                    fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_32bit.rpm\n");
                            }
                            fwrite ($stream, "exit\n");
                            break 2;

                        case EXP_TIMEOUT:
                        case EXP_EOF:
                            break 2;

                        default:
                            die ("Error has occurred!\n");
                    }
            }
            break 2;

        case EXP_TIMEOUT:
        case EXP_EOF:
            break 2;

        default:
            die ("Error has occurred!\n");
    }
}

fclose ($stream);
?>

차례

expect_expectl -- Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
expect_popen -- Execute command via Bourne shell, and open the PTY stream to the process
이전 | 위로 | 다음
read_exif_data | 처음으로 | expect_expectl


Fileinfo Functions

이전 VI. 함수 레퍼런스 다음

XXXIX. Fileinfo Functions

소개

The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.

요구 조건

magic_open library is needed to build this extension.

설치

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/fileinfo

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

There is one resource used in Fileinfo extension: a magic database descriptor returned by finfo_open().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

FILEINFO_NONE (integer)
No special handling.
FILEINFO_SYMLINK (integer)
Follow symlinks.
FILEINFO_MIME (integer)
Return a mime string, instead of a textual description.
FILEINFO_COMPRESS (integer)
Decompress compressed files.
FILEINFO_DEVICES (integer)
Look at the contents of blocks or character special devices.
FILEINFO_CONTINUE (integer)
Return all matches, not just the first.
FILEINFO_PRESERVE_ATIME (integer)
If possible preserve the original access time.
FILEINFO_RAW (integer)
Don't translate unprintable characters to a \ooo octal representation.

차례

finfo_buffer -- Return information about a string buffer
finfo_close -- Close fileinfo resource
finfo_file -- Return information about a file
finfo_open -- Create a new fileinfo resource
finfo_set_flags -- Set libmagic configuration options
이전 | 위로 | 다음
fdf_set_version | 처음으로 | finfo_buffer


Filter Functions

이전 VI. 함수 레퍼런스 다음

XLII. Filter Functions

소개

This extension serves to validate and filter data coming from some insecure source, such as user input.

The following filters currently exist; be sure to read the Filter Constants section for information that describes the behavior of each constant:

표 91. Existing filters

ID | Name | Options | Flags | Description
FILTER_VALIDATE_INT | "int" | min_range, max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Validates value as integer, optionally from the specified range.
FILTER_VALIDATE_BOOLEAN | "boolean" |  | FILTER_NULL_ON_FAILURE | Returns TRUE for "1", "true", "on" and "yes". Returns FALSE otherwise. If FILTER_NULL_ON_FAILURE is set, FALSE is returned only for "0", "false", "off", "no", and "", and NULL is returned for all non-boolean values.
FILTER_VALIDATE_FLOAT | "float" | decimal | FILTER_FLAG_ALLOW_THOUSAND | Validates value as float.
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp |  | Validates value against regexp, a Perl-compatible regular expression.
FILTER_VALIDATE_URL | "validate_url" |  | FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Validates value as URL, optionally with required components.
FILTER_VALIDATE_EMAIL | "validate_email" |  |  | Validates value as e-mail.
FILTER_VALIDATE_IP | "validate_ip" |  | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | Validates value as IP address, optionally only IPv4 or IPv6 or not from private or reserved ranges.
FILTER_SANITIZE_STRING | "string" |  | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Strip tags, optionally strip or encode special characters.
FILTER_SANITIZE_STRIPPED | "stripped" |  |  | Alias of "string" filter.
FILTER_SANITIZE_ENCODED | "encoded" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | URL-encode string, optionally strip or encode special characters.
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | HTML-escape '"<>& and characters with ASCII value less than 32, optionally strip or encode other special characters.
FILTER_UNSAFE_RAW | "unsafe_raw" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Do nothing, optionally strip or encode special characters.
FILTER_SANITIZE_EMAIL | "email" |  |  | Remove all characters except letters, digits and !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_URL | "url" |  |  | Remove all characters except letters, digits and $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_SANITIZE_NUMBER_INT | "number_int" |  |  | Remove all characters except digits, plus and minus sign.
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" |  | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Remove all characters except digits, +- and optionally .,eE.
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" |  |  | Apply addslashes().
FILTER_CALLBACK | "callback" | callback function or method |  | Call user-defined function to filter data.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

A short installation note: just type

$ pecl install filter
in your console.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 92. Filter Configuration Options

Name | Default | Changeable | Changelog
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL in filter <= 0.9.4. Available since PHP 5.2.0.
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL in filter <= 0.9.4. Available since PHP 5.2.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

filter.default string

Filter all $_GET, $_POST, $_COOKIE and $_REQUEST data by this filter. Original data can be accessed through filter_input().

Accepts the name of the filter you like to use by default. See the existing filter list for the list of the filter names.

filter.default_flags integer

Default flags

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

INPUT_POST (integer)
POST variables.
INPUT_GET (integer)
GET variables.
INPUT_COOKIE (integer)
COOKIE variables.
INPUT_ENV (integer)
ENV variables.
INPUT_SERVER (integer)
SERVER variables.
INPUT_SESSION (integer)
SESSION variables. (not implemented yet)
INPUT_REQUEST (integer)
REQUEST variables. (not implemented yet)
FILTER_FLAG_NONE (integer)
No flags.
FILTER_REQUIRE_SCALAR (integer)
Flag used to require scalar as input
FILTER_REQUIRE_ARRAY (integer)
Require an array as input.
FILTER_FORCE_ARRAY (integer)
Always returns an array.
FILTER_NULL_ON_FAILURE (integer)
Use NULL instead of FALSE on failure.
FILTER_VALIDATE_INT (integer)
ID of "int" filter.
FILTER_VALIDATE_BOOLEAN (integer)
ID of "boolean" filter.
FILTER_VALIDATE_FLOAT (integer)
ID of "float" filter.
FILTER_VALIDATE_REGEXP (integer)
ID of "validate_regexp" filter.
FILTER_VALIDATE_URL (integer)
ID of "validate_url" filter.
FILTER_VALIDATE_EMAIL (integer)
ID of "validate_email" filter.
FILTER_VALIDATE_IP (integer)
ID of "validate_ip" filter.
FILTER_DEFAULT (integer)
ID of default ("string") filter.
FILTER_UNSAFE_RAW (integer)
ID of "unsafe_raw" filter.
FILTER_SANITIZE_STRING (integer)
ID of "string" filter.
FILTER_SANITIZE_STRIPPED (integer)
ID of "stripped" filter.
FILTER_SANITIZE_ENCODED (integer)
ID of "encoded" filter.
FILTER_SANITIZE_SPECIAL_CHARS (integer)
ID of "special_chars" filter.
FILTER_SANITIZE_EMAIL (integer)
ID of "email" filter.
FILTER_SANITIZE_URL (integer)
ID of "url" filter.
FILTER_SANITIZE_NUMBER_INT (integer)
ID of "number_int" filter.
FILTER_SANITIZE_NUMBER_FLOAT (integer)
ID of "number_float" filter.
FILTER_SANITIZE_MAGIC_QUOTES (integer)
ID of "magic_quotes" filter.
FILTER_CALLBACK (integer)
ID of "callback" filter.
FILTER_FLAG_ALLOW_OCTAL (integer)
Allow octal notation (0[0-7]+) in "int" filter.
FILTER_FLAG_ALLOW_HEX (integer)
Allow hex notation (0x[0-9a-fA-F]+) in "int" filter.
FILTER_FLAG_STRIP_LOW (integer)
Strip characters with ASCII value less than 32.
FILTER_FLAG_STRIP_HIGH (integer)
Strip characters with ASCII value greater than 127.
FILTER_FLAG_ENCODE_LOW (integer)
Encode characters with ASCII value less than 32.
FILTER_FLAG_ENCODE_HIGH (integer)
Encode characters with ASCII value greater than 127.
FILTER_FLAG_ENCODE_AMP (integer)
Encode &.
FILTER_FLAG_NO_ENCODE_QUOTES (integer)
Don't encode ' and ".
FILTER_FLAG_EMPTY_STRING_NULL (integer)
(No use for now.)
FILTER_FLAG_ALLOW_FRACTION (integer)
Allow fractional part in "number_float" filter.
FILTER_FLAG_ALLOW_THOUSAND (integer)
Allow thousand separator (,) in "number_float" filter.
FILTER_FLAG_ALLOW_SCIENTIFIC (integer)
Allow scientific notation (e, E) in "number_float" filter.
FILTER_FLAG_SCHEME_REQUIRED (integer)
Require scheme in "validate_url" filter.
FILTER_FLAG_HOST_REQUIRED (integer)
Require host in "validate_url" filter.
FILTER_FLAG_PATH_REQUIRED (integer)
Require path in "validate_url" filter.
FILTER_FLAG_QUERY_REQUIRED (integer)
Require query in "validate_url" filter.
FILTER_FLAG_IPV4 (integer)
Allow only IPv4 address in "validate_ip" filter.
FILTER_FLAG_IPV6 (integer)
Allow only IPv6 address in "validate_ip" filter.
FILTER_FLAG_NO_RES_RANGE (integer)
Deny reserved addresses in "validate_ip" filter.
FILTER_FLAG_NO_PRIV_RANGE (integer)
Deny private addresses in "validate_ip" filter.

차례

filter_has_var -- Checks if variable of specified type exists
filter_id -- Returns the filter ID belonging to a named filter
filter_input_array -- Gets multiple variables from outside PHP and optionally filters them
filter_input -- Gets variable from outside PHP and optionally filters it
filter_list -- Returns a list of all supported filters
filter_var_array -- Gets multiple variables and optionally filters them
filter_var -- Filters a variable with a specified filter
이전 | 위로 | 다음
unlink | 처음으로 | filter_has_var


GeoIP Functions

이전 VI. 함수 레퍼런스 다음

XLIX. GeoIP Functions

소개

The GeoIP extension allows you to find the location of an IP address. City, State, Country, Longitude, Latitude, and other information as all, such as ISP and connection type can be obtained with the help of GeoIP.

요구 조건

This extension requires the GeoIP C library version 1.4.0 or higher to be installed. You can grab the latest version from » http://www.maxmind.com/app/c and compile it yourself.

By default, you will only have access to the Free GeoIP Country or GeoLite City databases. While this module can work with other types of database, you must buy a commercial license from » Maxmind.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/geoip.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

GEOIP_COUNTRY_EDITION (integer)
GEOIP_REGION_EDITION_REV0 (integer)
GEOIP_CITY_EDITION_REV0 (integer)
GEOIP_ORG_EDITION (integer)
GEOIP_ISP_EDITION (integer)
GEOIP_CITY_EDITION_REV1 (integer)
GEOIP_REGION_EDITION_REV1 (integer)
GEOIP_PROXY_EDITION (integer)
GEOIP_ASNUM_EDITION (integer)
GEOIP_NETSPEED_EDITION (integer)
GEOIP_DOMAIN_EDITION (integer)

The following constants are for net speed:

GEOIP_UNKNOWN_SPEED (integer)
GEOIP_DIALUP_SPEED (integer)
GEOIP_CABLEDSL_SPEED (integer)
GEOIP_CORPORATE_SPEED (integer)

차례

geoip_country_code_by_name -- Get the two letter country code
geoip_country_code3_by_name -- Get the three letter country code
geoip_country_name_by_name -- Get the full country name
geoip_database_info -- Get GeoIP Database information
geoip_db_avail -- Determine if GeoIP Database is available
geoip_db_filename -- Returns the filename of the corresponding GeoIP Database
geoip_db_get_all_info -- Returns detailed informations about all GeoIP database types
geoip_id_by_name -- Get the Internet connection speed
geoip_isp_by_name -- Get the Internet Service Provider (ISP) name
geoip_org_by_name -- Get the organization name
geoip_record_by_name -- Returns the detailed City information found in the GeoIP Database
geoip_region_by_name -- Get the country code and region
이전 | 위로 | 다음
unregister_tick_function | 처음으로 | geoip_country_code_by_name


gnupg 함수

이전 VI. 함수 레퍼런스 다음

LII. gnupg 함수

소개

This module allows you to interact with » gnupg.

요구 조건

The gnupg extension requires PHP 4.3. To use this extension in an OO style, PHP 5 is required.

This extension requires the » gpgme library

설치

The gnupg-extension is not bundled with PHP. It is a » PECL extension and can be located here: » http://pecl.php.net/package/gnupg.

예약 상수

GNUPG_SIG_MODE_NORMAL (integer)
GNUPG_SIG_MODE_DETACH (integer)
GNUPG_SIG_MODE_CLEAR (integer)
GNUPG_VALIDITY_UNKNOWN (integer)
GNUPG_VALIDITY_UNDEFINED (integer)
GNUPG_VALIDITY_NEVER (integer)
GNUPG_VALIDITY_MARGINAL (integer)
GNUPG_VALIDITY_FULL (integer)
GNUPG_VALIDITY_ULTIMATE (integer)
GNUPG_PROTOCOL_OpenPGP (integer)
GNUPG_PROTOCOL_CMS (integer)
GNUPG_SIGSUM_VALID (integer)
GNUPG_SIGSUM_GREEN (integer)
GNUPG_SIGSUM_RED (integer)
GNUPG_SIGSUM_KEY_REVOKED (integer)
GNUPG_SIGSUM_KEY_EXPIRED (integer)
GNUPG_SIGSUM_KEY_MISSING (integer)
GNUPG_SIGSUM_SIG_EXPIRED (integer)
GNUPG_SIGSUM_CRL_MISSING (integer)
GNUPG_SIGSUM_CRL_TOO_OLD (integer)
GNUPG_SIGSUM_BAD_POLICY (integer)
GNUPG_SIGSUM_SYS_ERROR (integer)
GNUPG_ERROR_WARNING (integer)
GNUPG_ERROR_EXCEPTION (integer)
GNUPG_ERROR_SILENT (integer)

주의

This extension makes use of the keyring of the current user. This keyring is normally located in ~./.gnupg/. To specify a custom location, store the path to the keyring in the environment variable GNUPGHOME. See putenv for more information how to do this.

Some functions require the specification of a key. This specification can be anything that refers to an unique key (userid, key-id, fingerprint, ...). This documentation uses the fingerprint in all examples.

keylistiterator

    This extension also comes with an Iterator for your keyring.

<?php
// create a new iterator for listing all public keys that matches 'example'
$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
echo $fingerprint." -> ".$userid."\n";
}
?>

예제

This example will clearsign a given text.

예 718. gnupg clearsign example (procedural)

<?php
// init gnupg
$res = gnupg_init();
// not really needed. Clearsign is default
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = gnupg_sign($res,"just a test");
echo $signed;
?>

예 719. gnupg clearsign example (OO)

<?php
// new class
$gnupg = new gnupg();
// not really needed. Clearsign is default
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = $gnupg->sign("just a test");
echo $signed;
?>

차례

gnupg_adddecryptkey -- Add a key for decryption
gnupg_addencryptkey -- Add a key for encryption
gnupg_addsignkey -- Add a key for signing
gnupg_cleardecryptkeys -- Removes all keys which were set for decryption before
gnupg_clearencryptkeys -- Removes all keys which were set for encryption before
gnupg_clearsignkeys -- Removes all keys which were set for signing before
gnupg_decrypt -- Decrypts a given text
gnupg_decryptverify -- Decrypts and verifies a given text
gnupg_encrypt -- Encrypts a given text
gnupg_encryptsign -- Encrypts and signs a given text
gnupg_export -- Exports a key
gnupg_geterror -- Returns the errortext, if a function fails
gnupg_getprotocol -- Returns the currently active protocol for all operations
gnupg_import -- Imports a key
gnupg_keyinfo -- Returns an array with information about all keys that matches the given pattern
gnupg_setarmor -- Toggle armored output
gnupg_seterrormode -- Sets the mode for error_reporting
gnupg_setsignmode -- Sets the mode for signing
gnupg_sign -- Signs a given text
gnupg_verify -- Verifies a signed text
이전 | 위로 | 다음
gmp_xor | 처음으로 | gnupg_adddecryptkey


Haru PDF Functions

이전 VI. 함수 레퍼런스 다음

LIV. Haru PDF Functions

소개

The PECL/haru extension provides bindings for Haru Free PDF Library - free, cross platform, opensource software library for generating PDF files.

You can find the library here: » http://libharu.sourceforge.net.

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

요구 조건

You need to install libharu first to be able to use PECL/haru. PECL/haru is tested with libharu 2.0.8, older versions might or might not work for you. PECL/haru also requires PHP 5.1.3 or newer.

설치

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/haru.

The latest PECL/haru Win32 DLL can be downloaded here: » php_haru.dll.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

예제

예 762. Basic PECL/haru example

<?php

$doc = new HaruDoc;

$doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS); /* show thumbnails */

$page = $doc->addPage(); /* add page to the document */
$page->setSize(HaruPage::SIZE_A4, HaruPage::LANDSCAPE); /* set the page to use A4 landscape format */

$courier = $doc->getFont("Courier-Bold"); /* we'll use the bundled font a few lines below */

$page->setRGBStroke(0, 0, 0); /* set colors */
$page->setRGBFill(0.7, 0.8, 0.9);
$page->rectangle(150, 150, 550, 250); /* draw a rectangle */

$page->fillStroke(); /* fill and stroke it */

$page->setDash(array(3, 3), 0); /* set dash style for lines at this page */
$page->setFontAndSize($courier, 60); /* set font and size */

$page->setRGBStroke(0.5, 0.5, 0.1); /* set line color */
$page->setRGBFill(1, 1, 1); /* set filling color */

$page->setTextRenderingMode(HaruPage::FILL_THEN_STROKE); /* fill and stroke text */

/* print the text */
$page->beginText();
$page->textOut(210, 270, "Hello World!");
$page->endText();

$doc->save("/tmp/test.pdf"); /* save the document into a file */

?>

Open the result document in your favourite PDF viewer and you should see a light-blue rectangle and white "Hello World!" on it.

예약 클래스

HaruException
HaruDoc
HaruPage
HaruFont
HaruImage
HaruEncoder
HaruOutline
HaruAnnotation
HaruDestination

Builtin Fonts And Encodings

Builtin Fonts

These Base14 fonts are built-in into PDF and all viewers can display them. Using these fonts may decrease the size of the result file and make the processing faster, avoiding loading external fonts. However the fonts support only latin1 character set and you have to load external fonts if you need to use an other character set.

The Base14 fonts:

  • Courier

  • Courier-Bold

  • Courier-Oblique

  • Courier-BoldOblique

  • Helvetica

  • Helvetica-Bold

  • Helvetica-Oblique

  • Helvetica-BoldOblique

  • Times-Roman

  • Times-Bold

  • Times-Italic

  • Times-BoldItalic

  • Symbol

  • ZapfDingbats

Builtin Encodings

표 100. Single-byte character set encodings

Name | Description
StandardEncoding | The default encoding of PDF.
MacRomanEncoding | The standard encoding of Mac OS.
WinAnsiEncoding | The standard encoding of Windows.
FontSpecific | The font built-in encoding.
ISO8859-2 | Latin2 (East European)
ISO8859-3 | Latin3 (South European)
ISO8859-4 | Latin4 (North European)
ISO8859-5 | Cyrillic
ISO8859-6 | Arabic
ISO8859-7 | Greek
ISO8859-8 | Hebrew
ISO8859-9 | Latin5 (Turkish)
ISO8859-10 | Latin6 (Nordic)
ISO8859-11 | Thai
ISO8859-13 | Latin7 (Baltic Rim)
ISO8859-14 | Latin8 (Celtic)
ISO8859-15 | Latin9
ISO8859-16 | Latin10
CP1250 | MS Windows Codepage 1250.
CP1251 | MS Windows Codepage 1251.
CP1252 | MS Windows Codepage 1252.
CP1253 | MS Windows Codepage 1253.
CP1254 | MS Windows Codepage 1254.
CP1255 | MS Windows Codepage 1255.
CP1256 | MS Windows Codepage 1256.
CP1257 | MS Windows Codepage 1257.
CP1258 | MS Windows Codepage 1258.
KOI8-R | Cyrillic character set.

표 101. Multi-byte character set encodings

Name | Description
GB-EUC-H | EUC-CN encoding.
GB-EUC-V | Vertical writing version of GB-EUC-H.
GBK-EUC-H | Microsoft Code Page 936 (lfCharSet 0x86) GBK encoding.
GBK-EUC-V | Vertical writing version of GBK-EUC-H.
ETen-B5-H | Microsoft Code Page 950 (lfCharSet 0x88) Big Five character set with ETen extensions.
ETen-B5-V | Vertical writing version of ETen-B5-H.
90ms-RKSJ-H | Microsoft Code Page 932, JIS X 0208 character.
90ms-RKSJ-V | Vertical writing version of 90ms-RKSJ-V.
90msp-RKSJ-H | Microsoft Code Page 932, JIS X 0208 character (proportional).
EUC-H | JIS X 0208 character set, EUC-JP encoding.
EUC-V | Vertical writing version of EUC-H.
KSC-EUC-H | KS X 1001:1992 character set, EUC-KR encoding.
KSC-EUC-V | Vertical writing version of KSC-EUC-V.
KSCms-UHC-H | Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encoding (proportional).
KSCms-UHC-HW-H | Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encoding (fixed width).
KSCms-UHC-HW-V | Vertical writing version of KSCms-UHC-HW-H.

차례

HaruException -- Haru PDF Exception Class
HaruDoc -- Haru PDF Document Class
HaruPage -- Haru PDF Page Class
HaruFont -- Haru PDF Font Class
HaruImage -- Haru PDF Image Class
HaruEncoder -- Haru PDF Encoder Class
HaruOutline -- Haru PDF Outline Class
HaruAnnotation -- Haru PDF Annotation Class
HaruDestination -- Haru PDF Destination Class
HaruAnnotation::setBorderStyle -- Set the border style of the annotation
HaruAnnotation::setHighlightMode -- Set the highlighting mode of the annotation
HaruAnnotation::setIcon -- Set the icon style of the annotation
HaruAnnotation::setOpened -- Set the initial state of the annotation
HaruDestination::setFit -- Set the appearance of the page to fit the window
HaruDestination::setFitB -- Set the appearance of the page to fit the bounding box of the page within the window
HaruDestination::setFitBH -- Set the appearance of the page to fit the width of the bounding box
HaruDestination::setFitBV -- Set the appearance of the page to fit the height of the boudning box
HaruDestination::setFitH -- Set the appearance of the page to fit the window width
HaruDestination::setFitR -- Set the appearance of the page to fit the specified rectangle
HaruDestination::setFitV -- Set the appearance of the page to fit the window height
HaruDestination::setXYZ -- Set the appearance of the page
HaruDoc::addPage -- Add new page to the document
HaruDoc::addPageLabel -- Set the numbering style for the specified range of pages
HaruDoc::__construct -- Construct new HaruDoc instance
HaruDoc::createOutline -- Create a HaruOutline instance
HaruDoc::getCurrentEncoder -- Get HaruEncoder currently used in the document
HaruDoc::getCurrentPage -- Return current page of the document
HaruDoc::getEncoder -- Get HaruEncoder instance for the specified encoding
HaruDoc::getFont -- Get HaruFont instance
HaruDoc::getInfoAttr -- Get current value of the specified document attribute
HaruDoc::getPageLayout -- Get current page layout
HaruDoc::getPageMode -- Get current page mode
HaruDoc::getStreamSize -- Get the size of the temporary stream
HaruDoc::insertPage -- Insert new page just before the specified page
HaruDoc::loadJPEG -- Load JPEG image and return new HaruImage instance
HaruDoc::loadPNG -- Load PNG image and return HaruImage instance
HaruDoc::loadRaw -- Load RAW image and return HaruImage instance
HaruDoc::loadTTC -- Load the font with the specified index from TTC file
HaruDoc::loadTTF -- Load TTF font file
HaruDoc::loadType1 -- Load Type1 font
HaruDoc::output -- Write the document data to the output buffer
HaruDoc::readFromStream -- Read data from the temporary stream
HaruDoc::resetError -- Reset error state of the document handle
HaruDoc::resetStream -- Rewind the temporary stream
HaruDoc::save -- Save the document into the specified file
HaruDoc::saveToStream -- Save the document into a temporary stream
HaruDoc::setCompressionMode -- Set compression mode for the document
HaruDoc::setCurrentEncoder -- Set the current encoder for the document
HaruDoc::setEncryptionMode -- Set encryption mode for the document
HaruDoc::setInfoAttr -- Set the info attribute of the document
HaruDoc::setInfoDateAttr -- Set the datetime info attributes of the document
HaruDoc::setOpenAction -- Define which page is shown when the document is opened
HaruDoc::setPageLayout -- Set how pages should be displayed
HaruDoc::setPageMode -- Set how the document should be displayed
HaruDoc::setPagesConfiguration -- Set the number of pages per set of pages
HaruDoc::setPassword -- Set owner and user passwords for the document
HaruDoc::setPermission -- Set permissions for the document
HaruDoc::useCNSEncodings -- Enable Chinese simplified encodings
HaruDoc::useCNSFonts -- Enable builtin Chinese simplified fonts
HaruDoc::useCNTEncodings -- Enable Chinese traditional encodings
HaruDoc::useCNTFonts -- Enable builtin Chinese traditional fonts
HaruDoc::useJPEncodings -- Enable Japanese encodings
HaruDoc::useJPFonts -- Enable builtin Japanese fonts
HaruDoc::useKREncodings -- Enable Korean encodings
HaruDoc::useKRFonts -- Enable builtin Korean fonts
HaruEncoder::getByteType -- Get the type of the byte in the text
HaruEncoder::getType -- Get the type of the encoder
HaruEncoder::getUnicode -- Convert the specified character to unicode
HaruEncoder::getWritingMode -- Get the writing mode of the encoder
HaruFont::getAscent -- Get the vertical ascent of the font
HaruFont::getCapHeight -- Get the distance from the baseline of uppercase letters
HaruFont::getDescent -- Get the vertical descent of the font
HaruFont::getEncodingName -- Get the name of the encoding
HaruFont::getFontName -- Get the name of the font
HaruFont::getTextWidth -- Get the total width of the text, number of characters, number of words and number of spaces
HaruFont::getUnicodeWidth -- Get the width of the character in the font
HaruFont::getXHeight -- Get the distance from the baseline of lowercase letters
HaruFont::measureText -- Calculate the number of characters which can be included within the specified width
HaruImage::getBitsPerComponent -- Get the number of bits used to describe each color component of the image
HaruImage::getColorSpace -- Get the name of the color space
HaruImage::getHeight -- Get the height of the image
HaruImage::getSize -- Get size of the image
HaruImage::getWidth -- Get the width of the image
HaruImage::setColorMask -- Set the color mask of the image
HaruImage::setMaskImage -- Set the image mask
HaruOutline::setDestination -- Set the destination for the outline
HaruOutline::setOpened -- Set the initial state of the outline
HaruPage::arc -- Append an arc to the current path
HaruPage::beginText -- Begin a text object and set the current text position to (0,0)
HaruPage::circle -- Append a circle to the current path
HaruPage::closePath -- Append a straight line from the current point to the start point of the path
HaruPage::concat -- Concatenate current transformation matrix of the page and the specified matrix
HaruPage::createDestination -- Create new HaruDestination instance
HaruPage::createLinkAnnotation -- Create new HaruAnnotation instance
HaruPage::createTextAnnotation -- Create new HaruAnnotation instance
HaruPage::createURLAnnotation -- Create and return new HaruAnnotation instance
HaruPage::curveTo2 -- Append a Bezier curve to the current path
HaruPage::curveTo3 -- Append a Bezier curve to the current path
HaruPage::curveTo -- Append a Bezier curve to the current path
HaruPage::drawImage -- Show image at the page
HaruPage::ellipse -- Append an ellipse to the current path
HaruPage::endPath -- End current path object without filling and painting operations
HaruPage::endText -- End current text object
HaruPage::eofill -- Fill current path using even-odd rule
HaruPage::eoFillStroke -- Fill current path using even-odd rule, then paint the path
HaruPage::fill -- Fill current path using nonzero winding number rule
HaruPage::fillStroke -- Fill current path using nonzero winding number rule, then paint the path
HaruPage::getCharSpace -- Get the current value of character spacing
HaruPage::getCMYKFill -- Get the current filling color
HaruPage::getCMYKStroke -- Get the current stroking color
HaruPage::getCurrentFont -- Get the currently used font
HaruPage::getCurrentFontSize -- Get the current font size
HaruPage::getCurrentPos -- Get the current position for path painting
HaruPage::getCurrentTextPos -- Get the current position for text printing
HaruPage::getDash -- Get the current dash pattern
HaruPage::getFillingColorSpace -- Get the current filling color space
HaruPage::getFlatness -- Get the flatness of the page
HaruPage::getGMode -- Get the current graphics mode
HaruPage::getGrayFill -- Get the current filling color
HaruPage::getGrayStroke -- Get the current stroking color
HaruPage::getHeight -- Get the height of the page
HaruPage::getHorizontalScaling -- Get the current value of horizontal scaling
HaruPage::getLineCap -- Get the current line cap style
HaruPage::getLineJoin -- Get the current line join style
HaruPage::getLineWidth -- Get the current line width
HaruPage::getMiterLimit -- Get the value of miter limit
HaruPage::getRGBFill -- Get the current filling color
HaruPage::getRGBStroke -- Get the current stroking color
HaruPage::getStrokingColorSpace -- Get the current stroking color space
HaruPage::getTextLeading -- Get the current value of line spacing
HaruPage::getTextMatrix -- Get the current text transformation matrix of the page
HaruPage::getTextRenderingMode -- Get the current text rendering mode
HaruPage::getTextRise -- Get the current value of text rising
HaruPage::getTextWidth -- Get the width of the text using current fontsize, character spacing and word spacing
HaruPage::getTransMatrix -- Get the current transformation matrix of the page
HaruPage::getWidth -- Get the width of the page
HaruPage::getWordSpace -- Get the current value of word spacing
HaruPage::lineTo -- Draw a line from the current point to the specified point
HaruPage::measureText -- Calculate the number of characters which can be included within the specified width
HaruPage::moveTextPos -- Move text position to the specified offset
HaruPage::moveTo -- Set starting point for new drawing path
HaruPage::moveToNextLine -- Move text position to the start of the next line
HaruPage::rectangle -- Append a rectangle to the current path
HaruPage::setCharSpace -- Set character spacing for the page
HaruPage::setCMYKFill -- Set filling color for the page
HaruPage::setCMYKStroke -- Set stroking color for the page
HaruPage::setDash -- Set the dash pattern for the page
HaruPage::setFlatness -- Set flatness for the page
HaruPage::setFontAndSize -- Set font and fontsize for the page
HaruPage::setGrayFill -- Set filling color for the page
HaruPage::setGrayStroke -- Sets stroking color for the page
HaruPage::setHeight -- Set height of the page
HaruPage::setHorizontalScaling -- Set horizontal scaling for the page
HaruPage::setLineCap -- Set the shape to be used at the ends of lines
HaruPage::setLineJoin -- Set line join style for the page
HaruPage::setLineWidth -- Set line width for the page
HaruPage::setMiterLimit -- Set the current value of the miter limit of the page
HaruPage::setRGBFill -- Set filling color for the page
HaruPage::setRGBStroke -- Set stroking color for the page
HaruPage::setRotate -- Set rotation angle of the page
HaruPage::setSize -- Set size and direction of the page
HaruPage::setSlideShow -- Set transition style for the page
HaruPage::setTextLeading -- Set text leading (line spacing) for the page
HaruPage::setTextMatrix -- Set the current text transformation matrix of the page
HaruPage::setTextRenderingMode -- Set text rendering mode for the page
HaruPage::setTextRise -- Set the current value of text rising
HaruPage::setWidth -- Set width of the page
HaruPage::setWordSpace -- Set word spacing for the page
HaruPage::showText -- Print text at the current position of the page
HaruPage::showTextNextLine -- Move the current position to the start of the next line and print the text
HaruPage::stroke -- Paint current path
HaruPage::textOut -- Print the text on the specified position
HaruPage::textRect -- Print the text inside the specified region
이전 | 위로 | 다음
gopher_parsedir | 처음으로 | HaruException


hash Functions

이전 VI. 함수 레퍼런스 다음

LV. hash Functions

소개

Message Digest (hash) engine. Allows direct or incremental processing of arbitrary length messages using a variety of hashing algorithms.

요구 조건

The Hash extension requires no external libraries and is enabled by default as of PHP 5.1.2. It may be explicitly disabled by using the --disable-hash switch to configure. Earlier versions of PHP may incorporate the Hash extension by installing the » PECL module.

자원형

This extension defines a Hashing Context resource returned by hash_init().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

HASH_HMAC (integer)
Optional flag for hash_init(). Indicates that the HMAC digest-keying algorithm should be applied to the current hashing context.

차례

hash_algos -- Return a list of registered hashing algorithms
hash_file -- Generate a hash value using the contents of a given file
hash_final -- Finalize an incremental hash and return resulting digest
hash_hmac_file -- Generate a keyed hash value using the HMAC method and the contents of a given file
hash_hmac -- Generate a keyed hash value using the HMAC method
hash_init -- Initialize an incremental hashing context
hash_update_file -- Pump data into an active hashing context from a file
hash_update_stream -- Pump data into an active hashing context from an open stream
hash_update -- Pump data into an active hashing context
hash -- Generate a hash value (message digest)
이전 | 위로 | 다음
HaruPage::textRect | 처음으로 | hash_algos


i18n 함수

이전 VI. 함수 레퍼런스 다음

LIX. i18n 함수

소개

I18n (short for internationalization) are means of adapting an application for different languages and cultures. The scope of i18n support includes support for local date and time, currency, measures, number formatting and strings in different encoding. Native support for i18n and l10n (localization) appeared in PHP6.

Please note that in PHP6, POSIX locales are obsoleted by the set of locales included with the ICU library.

주의

This extension is still in development and it isn't available to public yet.

요구 조건

The Unicode Extension.

차례

locale_get_default -- Get the default Locale
locale_set_default -- Set the default Locale
이전 | 위로 | 다음
hw_api->userlist | 처음으로 | locale_get_default


IBM DB2, Cloudscape and Apache Derby Functions

이전 VI. 함수 레퍼런스 다음

LXI. IBM DB2, Cloudscape and Apache Derby Functions

소개

These functions enable you to access IBM DB2 Universal Database, IBM Cloudscape, and Apache Derby databases using the DB2 Call Level Interface (DB2 CLI).

요구 조건

To connect to IBM DB2 Universal Database for Linux, UNIX, and Windows, or IBM Cloudscape, or Apache Derby, you must install an IBM DB2 Universal Database client on the same computer on which you are running PHP. The extension has been developed and tested with DB2 Version 8.2.

To connect to IBM DB2 Universal Database for z/OS or iSeries, you also require IBM DB2 Connect or the equivalent DRDA gateway software.

Requirements on Linux or Unix

The user invoking the PHP executable or SAPI must specify the DB2 instance before accessing these functions. You can set the name of the DB2 instance in php.ini using the ibm_db2.instance_name configuration option, or you can source the DB2 instance profile before invoking the PHP executable.

If you created a DB2 instance named db2inst1 in /home/db2inst1/, for example, you can add the following line to php.ini:

ibm_db2.instance_name=db2inst1
If you do not set this option in php.ini, you must issue the following command to modify your environment variables to enable access to DB2:

bash$ source /home/db2inst1/sqllib/db2profile
To enable your PHP-enabled Web server to access these functions, you must either set the ibm_db2.instance_name configuration option in php.ini, or source the DB2 instance environment in your Web server start script (typically /etc/init.d/httpd or /etc/init.d/apache).

설치

To build the ibm_db2 extension, the DB2 application development header files and libraries must be installed on your system. DB2 does not install these by default, so you may have to return to your DB2 installer and add this option. The header files are included with the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database » support site.

If you add the DB2 application development header files and libraries to a Linux or Unix operating system on which DB2 was already installed, you must issue the command db2iupdt -e to update the symbolic links to the header files and libraries in your DB2 instances.

ibm_db2 is a » PECL extension, so follow the instructions in 7장. Installation of PECL extensions to install the ibm_db2 extension for PHP. Issue the configure command to point to the location of your DB2 header files and libraries as follows:

bash$ ./configure --with-IBM_DB2=/path/to/DB2
The configure command defaults to /opt/IBM/db2/V8.1.

Note for IIS users: If you are using the ibm_db2 driver with Microsoft Internet Information Server (IIS) you may have to do the following:

Install DB2 with extended operating system security.
Add the PHP binary path to the PATH system environment variable (default C:\php\).
Create another system environment variable equal to the path where the PHP.INI file is located (eg: PHPRC = C:\php\).
Add the IUSR_COMPUTERNAME to the DB2USERS group.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 120. ibm_db2 설정 옵션

이름 | 기본값 | 가변성 | Changelog
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2.

위 설정 지시어에 대한 간단한 설명입니다.

ibm_db2.binmode integer

This option controls the mode used for converting to and from binary data in the PHP application.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_allow_commit integer

This option controls the commit mode used for i5 schema collections in the PHP application.

  • 0 no commit (see i5_commit for override)

  • 1 allow commit (see i5_commit for override)

ibm_db2.i5_dbcs_alloc integer

This option controls the internal ibm_db2 allocation scheme for large DBCS column buffers.

  • 0 no expanded allocations (see i5_dbcs_alloc for override)

  • 1 use expanded allocations (see i5_dbcs_alloc for override)

ibm_db2.instance_name string

On Linux and UNIX operating systems, this option defines the name of the instance to use for cataloged database connections. If this option is set, its value overrides the DB2INSTANCE environment variable setting.

This option is ignored on Windows operating systems.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

DB2_BINARY (integer)
Specifies that binary data shall be returned as is. This is the default mode.
DB2_CONVERT (integer)
Specifies that binary data shall be converted to a hexadecimal encoding and returned as an ASCII string.
DB2_PASSTHRU (integer)
Specifies that binary data shall be converted to a NULL value.
DB2_SCROLLABLE (integer)
Specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.
DB2_FORWARD_ONLY (integer)
Specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.
DB2_PARAM_IN (integer)
Specifies the PHP variable should be bound as an IN parameter for a stored procedure.
DB2_PARAM_OUT (integer)
Specifies the PHP variable should be bound as an OUT parameter for a stored procedure.
DB2_PARAM_INOUT (integer)
Specifies the PHP variable should be bound as an INOUT parameter for a stored procedure.
DB2_PARAM_FILE (integer)
Specifies that the column should be bound directly to a file for input.
DB2_AUTOCOMMIT_ON (integer)
Specifies that autocommit should be turned on.
DB2_AUTOCOMMIT_OFF (integer)
Specifies that autocommit should be turned off.
DB2_DOUBLE (integer)
Specifies that the variable should be bound as a DOUBLE, FLOAT, or REAL data type.
DB2_LONG (integer)
Specifies that the variable should be bound as a SMALLINT, INTEGER, or BIGINT data type.
DB2_CHAR (integer)
Specifies that the variable should be bound as a CHAR or VARCHAR data type.
DB2_CASE_NATURAL (integer)
Specifies that column names will be returned in their natural case.
DB2_CASE_LOWER (integer)
Specifies that column names will be returned in lower case.
DB2_CASE_UPPER (integer)
Specifies that column names will be returned in upper case.
DB2_DEFERRED_PREPARE_ON (integer)
Specifies that deferred prepare should be turned on for the specified statement resource.
DB2_DEFERRED_PREPARE_OFF (integer)
Specifies that deferred prepare should be turned off for the specified statement resource.

자원형

The ibm_db2 extension returns connection resources, statement resources, and result set resources.

차례

db2_autocommit -- Returns or sets the AUTOCOMMIT state for a database connection
db2_bind_param -- Binds a PHP variable to an SQL statement parameter
db2_client_info -- Returns an object with properties that describe the DB2 database client
db2_close -- Closes a database connection
db2_column_privileges -- Returns a result set listing the columns and associated privileges for a table
db2_columns -- Returns a result set listing the columns and associated metadata for a table
db2_commit -- Commits a transaction
db2_conn_error -- Returns a string containing the SQLSTATE returned by the last connection attempt
db2_conn_errormsg -- Returns the last connection error message and SQLCODE value
db2_connect -- Returns a connection to a database
db2_cursor_type -- Returns the cursor type used by a statement resource
db2_escape_string -- Used to escape certain characters.
db2_exec -- Executes an SQL statement directly
db2_execute -- Executes a prepared SQL statement
db2_fetch_array -- Returns an array, indexed by column position, representing a row in a result set
db2_fetch_assoc -- Returns an array, indexed by column name, representing a row in a result set
db2_fetch_both -- Returns an array, indexed by both column name and position, representing a row in a result set
db2_fetch_object -- Returns an object with properties representing columns in the fetched row
db2_fetch_row -- Sets the result set pointer to the next row or requested row
db2_field_display_size -- Returns the maximum number of bytes required to display a column
db2_field_name -- Returns the name of the column in the result set
db2_field_num -- Returns the position of the named column in a result set
db2_field_precision -- Returns the precision of the indicated column in a result set
db2_field_scale -- Returns the scale of the indicated column in a result set
db2_field_type -- Returns the data type of the indicated column in a result set
db2_field_width -- Returns the width of the current value of the indicated column in a result set
db2_foreign_keys -- Returns a result set listing the foreign keys for a table
db2_free_result -- Frees resources associated with a result set
db2_free_stmt -- Frees resources associated with the indicated statement resource
db2_get_option -- Retrieves an option value for a statement resource or a connection resource
db2_lob_read -- Gets a user defined size of LOB files with each invocation
db2_next_result -- Requests the next result set from a stored procedure
db2_num_fields -- Returns the number of fields contained in a result set
db2_num_rows -- Returns the number of rows affected by an SQL statement
db2_pconnect -- Returns a persistent connection to a database
db2_prepare -- Prepares an SQL statement to be executed
db2_primary_keys -- Returns a result set listing primary keys for a table
db2_procedure_columns -- Returns a result set listing stored procedure parameters
db2_procedures -- Returns a result set listing the stored procedures registered in a database
db2_result -- Returns a single column from a row in the result set
db2_rollback -- Rolls back a transaction
db2_server_info -- Returns an object with properties that describe the DB2 database server
db2_set_option -- Set options for connection or statement resources
db2_special_columns -- Returns a result set listing the unique row identifier columns for a table
db2_statistics -- Returns a result set listing the index and statistics for a table
db2_stmt_error -- Returns a string containing the SQLSTATE returned by an SQL statement
db2_stmt_errormsg -- Returns a string containing the last SQL statement error message
db2_table_privileges -- Returns a result set listing the tables and associated privileges in a database
db2_tables -- Returns a result set listing the tables and associated metadata in a database
이전 | 위로 | 다음
PDO_IBM DSN | 처음으로 | db2_autocommit


IIS Administration Functions

이전 VI. 함수 레퍼런스 다음

LXIV. IIS Administration Functions

소개

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. This extension is available for Win32 only. It provides functions to administrate Microsoft Internet Information Server (IIS). The extension includes function to create web sites and virtual directories as well as configuring security and script mapping. These functions have been added in PHP 4.

In order to use these functions you must enable the php_iisfunc.dll DLL inside of php.ini. PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

요구 조건

이 확장을 빌드할 때 외부 라이브러리가 필요하지 않습니다.

설치

이 함수들은 설치하지 않아도 사용할 수 있습니다; PHP 코어의 일부입니다.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

IIS_READ (integer)
IIS_WRITE (integer)
IIS_EXECUTE (integer)
IIS_SCRIPT (integer)
IIS_ANONYMOUS (integer)
IIS_BASIC (integer)
IIS_NTLM (integer)
IIS_STARTING (integer)
IIS_STOPPED (integer)
IIS_PAUSED (integer)
IIS_RUNNING (integer)

차례

iis_add_server -- Creates a new virtual web server
iis_get_dir_security -- Gets Directory Security
iis_get_script_map -- Gets script mapping on a virtual directory for a specific extension
iis_get_server_by_comment -- Return the instance number associated with the Comment
iis_get_server_by_path -- Return the instance number associated with the Path
iis_get_server_rights -- Gets server rights
iis_get_service_state -- Returns the state for the service defined by ServiceId
iis_remove_server -- Removes the virtual web server indicated by ServerInstance
iis_set_app_settings -- Creates application scope for a virtual directory
iis_set_dir_security -- Sets Directory Security
iis_set_script_map -- Sets script mapping on a virtual directory
iis_set_server_rights -- Sets server rights
iis_start_server -- Starts the virtual web server
iis_start_service -- Starts the service defined by ServiceId
iis_stop_server -- Stops the virtual web server
iis_stop_service -- Stops the service defined by ServiceId
이전 | 위로 | 다음
id3_set_tag | 처음으로 | iis_add_server


Imagick Image Library

이전 VI. 함수 레퍼런스 다음

LXVI. Imagick Image Library

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

Imagick is a native php extension to create and modify images using the ImageMagick API.

ImageMagick® is a software suite to create, edit, and compose bitmap images.. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF.

Copyright 1999-2007 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available.

예제

Imagick makes image manipulation in PHP extremely easy through an OO interface. Here is a quick example on how to make a thumbnail:

예 925. Creating a thumbnail in Imagick

<?php

header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');

// If 0 is provided as a width or height parameter,
// aspect ratio is maintained
$image->thumbnailImage(100, 0);

echo $image;

?>

Using SPL and other OO features supported in Imagick, it can be simple to resize all files in a directory (useful for batch resizing large digital camera images to be web viewable). Here we use resize, as we might want to retain certain meta-data:

예 926. Make a thumbnail of all JPG files in a directory

<?php

$images = new Imagick(glob('images/*.JPG'));

foreach($images as $image) {

    // Providing 0 forces thumbnailImage to maintain aspect ratio
    $image->thumbnailImage(1024,0);

}

$images->writeImages();

?>

차례

Constants -- Imagick class constants
Installation -- Installing the Imagick extension
Imagick -- Imagick Class
Imagick::adaptiveBlurImage -- Adds adaptive blur filter to image
Imagick::adaptiveResizeImage -- Adaptively resize image with data dependent triangulation
Imagick::adaptiveSharpenImage -- Adaptively sharpen the image
Imagick::adaptiveThresholdImage -- Selects a threshold for each pixel based on a range of intensity
Imagick::addImage -- Adds new image to Imagick object image list
Imagick::addNoiseImage -- Adds random noise to the image
Imagick::affineTransformImage -- Transforms an image
Imagick::annotateImage -- Annotates an image with text
Imagick::appendImages -- Append a set of images
Imagick::averageImages -- Average a set of images
Imagick::blackThresholdImage -- Forces all pixels below the threshold into black
Imagick::blurImage -- Adds blur filter to image
Imagick::borderImage -- Surrounds the image with a border
Imagick::charcoalImage -- Simulates a charcoal drawing
Imagick::chopImage -- Removes a region of an image and trims
Imagick::clear -- Clears all resources associated to Imagick object
Imagick::clipImage -- Clips along the first path from the 8BIM profile
Imagick::clipPathImage -- Clips along the named paths from the 8BIM profile
Imagick::clone -- Makes an exact copy of the Imagick object
Imagick::coalesceImages -- Composites a set of images
Imagick::colorFloodfillImage -- Changes the color value of any pixel that matches target
Imagick::colorizeImage -- Blends the fill color with the image
Imagick::clutImage -- Replaces colors in the image from a color lookup table
Imagick::combineImages -- Combines one or more images into a single image
Imagick::commentImage -- Adds a comment to your image
Imagick::compareImageChannels -- Returns the difference in one or more images
Imagick::compareImageLayers -- Returns the maximum bounding region between images
Imagick::compositeImage -- Composite one image onto another
Imagick::__construct -- The Imagick constructor
Imagick::contrastImage -- Change the contrast of the image
Imagick::contrastStretchImage -- Enhances the contrast of a color image
Imagick::convolveImage -- Applies a custom convolution kernel to the image
Imagick::cropImage -- Extracts a region of the image
Imagick::current -- Sets image pointer at the correct sequence
Imagick::cycleColormapImage -- Displaces an image's colormap
Imagick::deconstructImages -- Returns certain pixel differences between images
Imagick::despeckleImage -- Reduces the speckle noise in an image
Imagick::destroy -- Destroys the Imagick object
Imagick::drawImage -- Renders the ImagickDrawing object on the current image
Imagick::edgeImage -- Enhance edges within the image
Imagick::embossImage -- Returns a grayscale image with a three-dimensional effect
Imagick::enhanceImage -- Improves the quality of a noisy image
Imagick::equalizeImage -- Equalizes the image histogram
Imagick::evaluateImage -- Applies an expression to an image
Imagick::flattenImages -- Merges a sequence of images
Imagick::flipImage -- Creates a vertical mirror image
Imagick::flopImage -- Creates a horizontal mirror image
Imagick::frameImage -- Adds a simulated three-dimensional border
Imagick::fxImage -- Evaluate expression for each pixel in the image
Imagick::gammaImage -- Gamma-corrects an image
Imagick::gaussianBlurImage -- Blurs an image
Imagick::getCompressionQuality -- Gets the object compression quality
Imagick::getCompression -- Gets the object compression type
Imagick::getCopyright -- Returns the ImageMagick API copyright as a string constant
Imagick::getFilename -- The filename associated with an image sequence
Imagick::getFormat -- Returns the format of the Imagick object
Imagick::getHomeURL -- Returns the ImageMagick home URL
Imagick::getImageBackgroundColor -- Returns the image background color
Imagick::getImageBlob -- Returns the image sequence as a blob
Imagick::getImageBluePrimary -- Returns the chromaticy blue primary point
Imagick::getImageBorderColor -- Returns the image border color
Imagick::getImageChannelDepth -- Gets the depth for a particular image channel
Imagick::getImageChannelDistortion -- Compares image channels of an image to a reconstructed image
Imagick::getImageChannelExtrema -- Gets the extrema for one or more image channels
Imagick::getImageChannelMean -- Gets the mean and standard deviation
Imagick::getImageChannelStatistics -- Returns statistics for each channel in the image
Imagick::getImageColormapColor -- Returns the color of the specified colormap index
Imagick::getImageColorspace -- Gets the image colorspace
Imagick::getImageColors -- Gets the number of unique colors in the image
Imagick::getImageCompose -- Returns the composite operator associated with the image
Imagick::getImageDelay -- Gets the image delay
Imagick::getImageDepth -- Gets the image depth
Imagick::getImageDispose -- Gets the image disposal method
Imagick::getImageDistortion -- Compares an image to a reconstructed image
Imagick::getImageExtrema -- Gets the extrema for the image
Imagick::getImageFilename -- Returns the filename of a particular image in a sequence
Imagick::getImageSize -- Returns the image length in bytes
Imagick::getImageLength -- Returns the image length in bytes
Imagick::getImageFormat -- Returns the format of a particular image in a sequence
Imagick::getImageGamma -- Gets the image gamma
Imagick::getImageGeometry -- Gets the width and height as an associative array
Imagick::getImageGreenPrimary -- Returns the chromaticy green primary point
Imagick::getImageHeight -- Returns the image height
Imagick::getImageHistogram -- Gets the image histogram
Imagick::getImageIndex -- Gets the index of the current active image
Imagick::getIteratorIndex -- Gets the index of the current active image
Imagick::getImageInterlaceScheme -- Gets the image interlace scheme
Imagick::getImageInterpolateMethod -- Returns the interpolation method
Imagick::getImageIterations -- Gets the image iterations
Imagick::getImageMatteColor -- Returns the image matte color
Imagick::getImageMatte -- Return if the image has a matte channel
Imagick::getImagePage -- Returns the page geometry
Imagick::getImagePixelColor -- Returns the color of the specified pixel
Imagick::getImageProfile -- Returns the named image profile
Imagick::getImageProfiles -- Returns the image profiles
Imagick::getImageProperty -- Returns the named image property
Imagick::getImageProperties -- Returns the image properties
Imagick::getImageRedPrimary -- Returns the chromaticy red primary point
Imagick::getImageRegion -- Extracts a region of the image
Imagick::getImageRenderingIntent -- Gets the image rendering intent
Imagick::getImageResolution -- Gets the image X and Y resolution
Imagick::getImageScene -- Gets the image scene
Imagick::getImageSignature -- Generates an SHA-256 message digest
Imagick::getImageTicksPerSecond -- Gets the image ticks-per-second
Imagick::getImageTotalInkDensity -- Gets the image total ink density
Imagick::getImageType -- Gets the potential image type
Imagick::getImageUnits -- Gets the image units of resolution
Imagick::getImageVirtualPixelMethod -- Returns the virtual pixel method
Imagick::getImageWhitePoint -- Returns the chromaticy white point
Imagick::getImageWidth -- Returns the image width
Imagick::getImage -- Returns a new Imagick object
Imagick::getInterlaceScheme -- Gets the object interlace scheme
Imagick::getImageOrientation -- Gets the image orientation.
Imagick::getNumberImages -- Returns the number of images in the object
Imagick::getOption -- Returns a value associated with the specified key
Imagick::getPackageName -- Returns the ImageMagick package name
Imagick::getPage -- Returns the page geometry
Imagick::getPixelIterator -- Returns a MagickPixelIterator
Imagick::getPixelRegionIterator -- Get an ImagickPixelIterator for an image section
Imagick::getQuantumDepth -- Gets the quantum depth
Imagick::getQuantumRange -- Returns the Imagick quantum range
Imagick::getReleaseDate -- Returns the ImageMagick release date
Imagick::getResourceLimit -- Returns the specified resource limit
Imagick::getResource -- Returns the specified resource's memory usage
Imagick::getSamplingFactors -- Gets the horizontal and vertical sampling factor
Imagick::getSizeOffset -- Returns the size offset
Imagick::getSize -- Returns the size associated with the Imagick object
Imagick::getVersion -- Returns the ImageMagick API version
Imagick::hasNextImage -- Checks if the object has more images
Imagick::hasPreviousImage -- Checks if the object has a previous image
Imagick::identifyImage -- Identifies an image and fetches attributes
Imagick::implodeImage -- Creates a new image as a copy
Imagick::labelImage -- Adds a label to an image
Imagick::levelImage -- Adjusts the levels of an image
Imagick::linearStretchImage -- Stretches with saturation the image intensity
Imagick::magnifyImage -- Scales an image proportionally 2x
Imagick::matteFloodfillImage -- Changes the transparency value of a color
Imagick::medianFilterImage -- Applies a digital filter
Imagick::minifyImage -- Scales an image proportionally to half its size
Imagick::modulateImage -- Control the brightness, saturation, and hue
Imagick::montageImage -- Creates a composite image
Imagick::morphImages -- Method morphs a set of images
Imagick::compareImages -- Compares an image to a reconstructed image
Imagick::mosaicImages -- Forms a mosaic from images
Imagick::motionBlurImage -- Simulates motion blur
Imagick::negateImage -- Negates the colors in the reference image
Imagick::distortImage -- Distorts an image using various distortion methods
Imagick::newImage -- Creates a new image
Imagick::setImage -- Replaces image in the object
Imagick::setImageOpacity -- Sets the image opacity level
Imagick::newPseudoImage -- Creates a new image
Imagick::nextImage -- Moves to the next image
Imagick::normalizeImage -- Enhances the contrast of a color image
Imagick::oilPaintImage -- Simulates an oil painting
Imagick::optimizeImageLayers -- Removes repeated portions of images to optimize
Imagick::paintOpaqueImage -- Change any pixel that matches color
Imagick::paintTransparentImage -- Changes any pixel that matches color with the color defined by fill
Imagick::pingImageBlob -- Quickly fetch attributes
Imagick::pingImageFile -- Get basic image attributes in a lightweight manner
Imagick::pingImage -- Fetch basic attributes about the image
Imagick::posterizeImage -- Reduces the image to a limited number of color level
Imagick::previousImage -- Move to the previous image in the object
Imagick::profileImage -- Adds or removes a profile from an image
Imagick::queryFormats -- Returns formats supported by Imagick
Imagick::radialBlurImage -- Radial blurs an image
Imagick::raiseImage -- Creates a simulated 3d button-like effect
Imagick::randomThresholdImage -- Creates a high-contrast, two-color image
Imagick::readImageBlob -- Reads image from a binary string
Imagick::readImageFile -- Reads image from open filehandle
Imagick::readImage -- Reads image from filename
Imagick::reduceNoiseImage -- Smooths the contours of an image
Imagick::removeImageProfile -- Removes the named image profile and returns it
Imagick::removeImage -- Removes an image from the image list
Imagick::render -- Renders all preceding drawing commands
Imagick::resampleImage -- Resample image to desired resolution
Imagick::resizeImage -- Scales an image
Imagick::rollImage -- Offsets an image
Imagick::rotateImage -- Rotates an image
Imagick::sampleImage -- Scales an image with pixel sampling
Imagick::scaleImage -- Scales the size of an image
Imagick::separateImageChannel -- Separates a channel from the image
Imagick::sepiaToneImage -- Sepia tones an image
Imagick::setBackgroundColor -- Sets the object's default background color
Imagick::setCompressionQuality -- Sets the object's default compression quality
Imagick::setCompression -- Sets the object's default compression type
Imagick::setFilename -- Sets the filename before you read or write the image
Imagick::setFirstIterator -- Sets the Imagick iterator to the first image
Imagick::setLastIterator -- Sets the Imagick iterator to the last image
Imagick::setFormat -- Sets the format of the Imagick object
Imagick::setImageBackgroundColor -- Sets the image background color
Imagick::setImageBias -- Sets the image bias for any method that convolves an image
Imagick::setImageBluePrimary -- Sets the image chromaticity blue primary point
Imagick::setImageBorderColor -- Sets the image border color
Imagick::setImageChannelDepth -- Sets the depth of a particular image channel
Imagick::setImageColormapColor -- Sets the color of the specified colormap index
Imagick::setImageColorspace -- Sets the image colorspace
Imagick::setImageCompose -- Sets the image composite operator
Imagick::setImageCompression -- Sets the image compression
Imagick::setImageDelay -- Sets the image delay
Imagick::setImageDepth -- Sets the image depth
Imagick::setImageDispose -- Sets the image disposal method
Imagick::setImageExtent -- Sets the image size
Imagick::setImageFilename -- Sets the filename of a particular image
Imagick::setImageFormat -- Sets the format of a particular image
Imagick::setImageGamma -- Sets the image gamma
Imagick::setImageGreenPrimary -- Sets the image chromaticity green primary point
Imagick::setImageIndex -- Set the iterator position
Imagick::setIteratorIndex -- Set the iterator position
Imagick::setImageInterlaceScheme -- Sets the image compression
Imagick::setImageInterpolateMethod -- Sets the image interpolate pixel method
Imagick::setImageIterations -- Sets the image iterations
Imagick::setImageMatteColor -- Sets the image matte color
Imagick::setImageMatte -- Sets the image matte channel
Imagick::setImagePage -- Sets the page geometry of the image
Imagick::setImageProfile -- Adds a named profile to the Imagick object
Imagick::setImageProperty -- Sets an image property
Imagick::setImageRedPrimary -- Sets the image chromaticity red primary point
Imagick::setImageRenderingIntent -- Sets the image rendering intent
Imagick::setImageResolution -- Sets the image resolution
Imagick::setImageScene -- Sets the image scene
Imagick::setImageTicksPerSecond -- Sets the image ticks-per-second
Imagick::setImageType -- Sets the image type
Imagick::setImageUnits -- Sets the image units of resolution
Imagick::setImageVirtualPixelMethod -- Sets the image virtual pixel method
Imagick::setImageWhitePoint -- Sets the image chromaticity white point
Imagick::setInterlaceScheme -- Sets the image compression
Imagick::setImageOrientation -- Sets the image orientation.
Imagick::setOption -- Set an option
Imagick::setPage -- Sets the page geometry of the Imagick object
Imagick::setResolution -- Sets the image resolution
Imagick::setResourceLimit -- Sets the limit for a particular resource in megabytes
Imagick::setSamplingFactors -- Sets the image sampling factors
Imagick::setSizeOffset -- Sets the size and offset of the Imagick object
Imagick::setSize -- Sets the size of the Imagick object
Imagick::setType -- Sets the image type attribute
Imagick::shadeImage -- Creates a 3D effect
Imagick::shadowImage -- Simulates an image shadow
Imagick::sharpenImage -- Sharpens an image
Imagick::shaveImage -- Shaves pixels from the image edges
Imagick::shearImage -- Creating a parallelogram
Imagick::sigmoidalContrastImage -- Adjusts the contrast of an image
Imagick::sketchImage -- Simulates a pencil sketch
Imagick::solarizeImage -- Applies a solarizing effect to the image
Imagick::spliceImage -- Splices a solid color into the image
Imagick::spreadImage -- Randomly displaces each pixel in a block
Imagick::steganoImage -- Hides a digital watermark within the image
Imagick::stereoImage -- Composites two images
Imagick::stripImage -- Strips an image of all profiles and comments
Imagick::swirlImage -- Swirls the pixels about the center of the image
Imagick::textureImage -- Repeatedly tiles the texture image
Imagick::thresholdImage -- Changes the value of individual pixels based on a threshold
Imagick::thumbnailImage -- Changes the size of an image
Imagick::tintImage -- Applies a color vector to each pixel in the image
Imagick::transverseImage -- Creates a horizontal mirror image
Imagick::trimImage -- Remove edges from the image
Imagick::uniqueImageColors -- Discards all but one of any pixel color
Imagick::unsharpMaskImage -- Sharpens an image
Imagick::valid -- Checks if the current item is valid
Imagick::vignetteImage -- Adds vignette filter to the image
Imagick::waveImage -- Adds wave filter to the image
Imagick::whiteThresholdImage -- Force all pixels above the threshold into white
Imagick::writeImages -- Writes an image or image sequence
Imagick::writeImage -- Writes an image to the specified filename
Imagick::displayImage -- Displays an image
Imagick::displayImages -- Displays an image or image sequence
Imagick::cropThumbnailImage -- Creates a crop thumbnail
Imagick::roundCorners -- Rounds image corners
Imagick::polaroidImage -- Simulates a Polaroid picture
Imagick::queryFonts -- Returns the configured fonts
Imagick::queryFontMetrics -- Returns an array representing the font metrics
ImagickDraw::affine -- Adjusts the current affine transformation matrix
ImagickDraw::annotation -- Draws text on the image
ImagickDraw::arc -- Draws an arc
ImagickDraw::bezier -- Draws a bezier curve
ImagickDraw::circle -- Draws a circle
ImagickDraw::clear -- Clears the ImagickDraw
ImagickDraw::clone -- Makes an exact copy of the specified ImagickDraw object
ImagickDraw::color -- Draws color on image
ImagickDraw::comment -- Adds a comment
ImagickDraw::composite -- Composites an image onto the current image
ImagickDraw::__construct -- The ImagickDraw constructor
ImagickDraw::destroy -- Frees all associated resources
ImagickDraw::ellipse -- Draws an ellipse on the image
ImagickDraw::getClipPath -- Obtains the current clipping path ID
ImagickDraw::getClipRule -- Returns the current polygon fill rule
ImagickDraw::getClipUnits -- Returns the interpretation of clip path units
ImagickDraw::getFillColor -- Returns the fill color
ImagickDraw::getFillOpacity -- Returns the opacity used when drawing
ImagickDraw::getFillRule -- Returns the fill rule
ImagickDraw::getFontFamily -- Returns the font family
ImagickDraw::getFontSize -- Returns the font pointsize
ImagickDraw::getFontStyle -- Returns the font style
ImagickDraw::getFontWeight -- Returns the font weight
ImagickDraw::getFont -- Returns the font
ImagickDraw::getGravity -- Returns the text placement gravity
ImagickDraw::getStrokeAntialias -- Returns the current stroke antialias setting
ImagickDraw::getStrokeColor -- Returns the color used for stroking object outlines
ImagickDraw::getStrokeDashArray -- Returns an array representing the pattern of dashes and gaps used to stroke paths
ImagickDraw::getStrokeDashOffset -- Returns the offset into the dash pattern to start the dash
ImagickDraw::getStrokeLineCap -- Returns the shape to be used at the end of open subpaths when they are stroked
ImagickDraw::getStrokeLineJoin -- Returns the shape to be used at the corners of paths when they are stroked
ImagickDraw::getStrokeMiterLimit -- Returns the stroke miter limit
ImagickDraw::getStrokeOpacity -- Returns the opacity of stroked object outlines
ImagickDraw::getStrokeWidth -- Returns the width of the stroke used to draw object outlines
ImagickDraw::getTextAlignment -- Returns the text alignment
ImagickDraw::getTextAntialias -- Returns the current text antialias setting
ImagickDraw::getTextDecoration -- Returns the text decoration
ImagickDraw::getTextEncoding -- Returns the code set used for text annotations
ImagickDraw::getTextUnderColor -- Returns the text under color
ImagickDraw::getVectorGraphics -- Returns a string containing vector graphics
ImagickDraw::line -- Draws a line
ImagickDraw::matte -- Paints on the image's opacity channel
ImagickDraw::pathClose -- Adds a path element to the current path
ImagickDraw::pathCurveToAbsolute -- Draws a cubic Bezier curve
ImagickDraw::pathCurveToQuadraticBezierAbsolute -- Draws a quadratic Bezier curve
ImagickDraw::pathCurveToQuadraticBezierRelative -- Draws a quadratic Bezier curve
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute -- Draws a quadratic Bezier curve
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative -- Draws a quadratic Bezier curve
ImagickDraw::pathCurveToRelative -- Draws a cubic Bezier curve
ImagickDraw::pathCurveToSmoothAbsolute -- Draws a cubic Bezier curve
ImagickDraw::pathCurveToSmoothRelative -- Draws a cubic Bezier curve
ImagickDraw::pathEllipticArcAbsolute -- Draws an elliptical arc
ImagickDraw::pathEllipticArcRelative -- Draws an elliptical arc
ImagickDraw::pathFinish -- Terminates the current path
ImagickDraw::pathLineToAbsolute -- Draws a line path
ImagickDraw::pathLineToHorizontalAbsolute -- Draws a horizontal line path
ImagickDraw::pathLineToHorizontalRelative -- Draws a horizontal line
ImagickDraw::pathLineToRelative -- Draws a line path
ImagickDraw::pathLineToVerticalAbsolute -- Draws a vertical line
ImagickDraw::pathLineToVerticalRelative -- Draws a vertical line path
ImagickDraw::pathMoveToAbsolute -- Starts a new sub-path
ImagickDraw::pathMoveToRelative -- Starts a new sub-path
ImagickDraw::pathStart -- Declares the start of a path drawing list
ImagickDraw::point -- Draws a point
ImagickDraw::polygon -- Draws a polygon
ImagickDraw::polyline -- Draws a polyline
ImagickDraw::popClipPath -- Terminates a clip path definition
ImagickDraw::popDefs -- Terminates a definition list
ImagickDraw::pop -- Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw
ImagickDraw::popPattern -- Terminates a pattern definition
ImagickDraw::pushClipPath -- Starts a clip path definition
ImagickDraw::pushDefs -- Indicates that following commands create named elements for early processing
ImagickDraw::push -- Clones the current ImagickDraw and pushes it to the stack
ImagickDraw::pushPattern -- Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern
ImagickDraw::rectangle -- Draws a rectangle
ImagickDraw::render -- Renders all preceding drawing commands onto the image
ImagickDraw::rotate -- Applies the specified rotation to the current coordinate space
ImagickDraw::roundRectangle -- Draws a rounted rectangle
ImagickDraw::scale -- Adjusts the scaling factor
ImagickDraw::setClipPath -- Associates a named clipping path with the image
ImagickDraw::setClipRule -- Set the polygon fill rule to be used by the clipping path
ImagickDraw::setClipUnits -- Sets the interpretation of clip path units
ImagickDraw::setFillAlpha -- Sets the opacity to use when drawing using the fill color or fill texture
ImagickDraw::setFillColor -- Sets the fill color to be used for drawing filled objects
ImagickDraw::setFillOpacity -- Sets the opacity to use when drawing using the fill color or fill texture
ImagickDraw::setFillPatternURL -- Sets the URL to use as a fill pattern for filling objects
ImagickDraw::setFillRule -- Sets the fill rule to use while drawing polygons
ImagickDraw::setFontFamily -- Sets the font family to use when annotating with text
ImagickDraw::setFontSize -- Sets the font pointsize to use when annotating with text
ImagickDraw::setFontStretch -- Sets the font stretch to use when annotating with text
ImagickDraw::setFontStyle -- Sets the font style to use when annotating with text
ImagickDraw::setFontWeight -- Sets the font weight
ImagickDraw::setFont -- Sets the fully-specified font to use when annotating with text
ImagickDraw::setGravity -- Sets the text placement gravity
ImagickDraw::setStrokeAlpha -- Specifies the opacity of stroked object outlines
ImagickDraw::setStrokeAntialias -- Controls whether stroked outlines are antialiased
ImagickDraw::setStrokeColor -- Sets the color used for stroking object outlines
ImagickDraw::setStrokeDashArray -- Specifies the pattern of dashes and gaps used to stroke paths
ImagickDraw::setStrokeDashOffset -- Specifies the offset into the dash pattern to start the dash
ImagickDraw::setStrokeLineCap -- Specifies the shape to be used at the end of open subpaths when they are stroked
ImagickDraw::setStrokeLineJoin -- Specifies the shape to be used at the corners of paths when they are stroked
ImagickDraw::setStrokeMiterLimit -- Specifies the miter limit
ImagickDraw::setStrokeOpacity -- Specifies the opacity of stroked object outlines
ImagickDraw::setStrokePatternURL -- Sets the pattern used for stroking object outlines
ImagickDraw::setStrokeWidth -- Sets the width of the stroke used to draw object outlines
ImagickDraw::setTextAlignment -- Specifies a text alignment
ImagickDraw::setTextAntialias -- Controls whether text is antialiased
ImagickDraw::setTextDecoration -- Specifies a decoration
ImagickDraw::setTextEncoding -- Specifies specifies the text code set
ImagickDraw::setTextUnderColor -- Specifies the color of a background rectangle
ImagickDraw::setVectorGraphics -- Sets the vector graphics
ImagickDraw::setViewbox -- Sets the overall canvas size
ImagickDraw::skewX -- Skews the current coordinate system in the horizontal direction
ImagickDraw::skewY -- Skews the current coordinate system in the vertical direction
ImagickDraw::translate -- Applies a translation to the current coordinate system
ImagickPixel::clear -- Clears resources associated with this object
ImagickPixel::__construct -- The ImagickPixel constructor
ImagickPixel::destroy -- Deallocates resources associated with this object
ImagickPixel::getColor -- Returns the color
ImagickPixel::getColorCount -- Returns the color count associated with this color
ImagickPixel::getColorValue -- Gets the normalized value of the provided color channel
ImagickPixel::getHSL -- Returns the normalized HSL color of the ImagickPixel object
ImagickPixel::isSimilar -- Check the distance between this color and another
ImagickPixel::setColorValue -- Sets the normalized value of one of the channels
ImagickPixel::setColor -- Sets the color
ImagickPixel::setHSL -- Sets the normalized HSL color
ImagickPixelIterator::clear -- Clear resources associated with a PixelIterator
ImagickPixelIterator::__construct -- The ImagickPixelIterator constructor
ImagickPixelIterator::destroy -- Deallocates resources associated with a PixelIterator
ImagickPixelIterator::getCurrentIteratorRow -- Returns the current row of ImagickPixel objects
ImagickPixelIterator::getIteratorRow -- Returns the current pixel iterator row
ImagickPixelIterator::getNextIteratorRow -- Returns the next row of the pixel iterator
ImagickPixelIterator::getPreviousIteratorRow -- Returns the previous row
ImagickPixelIterator::newPixelIterator -- Returns a new pixel iterator
ImagickPixelIterator::newPixelRegionIterator -- Returns a new pixel iterator
ImagickPixelIterator::resetIterator -- Resets the pixel iterator
ImagickPixelIterator::setIteratorFirstRow -- Sets the pixel iterator to the first pixel row
ImagickPixelIterator::setIteratorLastRow -- Sets the pixel iterator to the last pixel row
ImagickPixelIterator::setIteratorRow -- Set the pixel iterator row
ImagickPixelIterator::syncIterator -- Syncs the pixel iterator
이전 | 위로 | 다음
png2wbmp | 처음으로 | Constants


JSON Functions

이전 VI. 함수 레퍼런스 다음

LXXIII. JSON Functions

소개

This extension implements the » JavaScript Object Notation (JSON) data-interchange format. The decoding is handled by a parser based on the JSON_checker by Douglas Crockford.

요구 조건

As of PHP 5.2.0, the JSON extension is bundled and compiled into PHP by default.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/json

차례

json_decode -- Decodes a JSON string
json_encode -- Returns the JSON representation of a value
이전 | 위로 | 다음
java_last_exception_get | 처음으로 | json_decode


KADM5

이전 VI. 함수 레퍼런스 다음

LXXIV. KADM5

소개

These package allows you to access Kerberos V administration servers. You can create, modify, and delete Kerberos V principals and policies.

More information about Kerberos can be found at » http://web.mit.edu/kerberos/www/.

Documentation for Kerberos and KADM5 can be found at » http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.8/doc/admin_toc.html.

자원형

This extension defines a KADM5 handle returned by kadm5_init_with_password().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Constants for Attribute Flags

The functions kadm5_create_principal(),
kadm5_modify_principal(), and
kadm5_modify_principal() allow to specify
special attributes using a bitfield. The symbols are defined below:

표 148. Attributes for use by the KDC

constant
KRB5_KDB_DISALLOW_POSTDATED
KRB5_KDB_DISALLOW_FORWARDABLE
KRB5_KDB_DISALLOW_TGT_BASED
KRB5_KDB_DISALLOW_RENEWABLE
KRB5_KDB_DISALLOW_PROXIABLE
KRB5_KDB_DISALLOW_DUP_SKEY
KRB5_KDB_DISALLOW_ALL_TIX
KRB5_KDB_REQUIRES_PRE_AUTH
KRB5_KDB_REQUIRES_HW_AUTH
KRB5_KDB_REQUIRES_PWCHANGE
KRB5_KDB_DISALLOW_SVR
KRB5_KDB_PWCHANGE_SERVER
KRB5_KDB_SUPPORT_DESMD5
KRB5_KDB_NEW_PRINC

Constants for Options

The functions kadm5_create_principal(),
kadm5_modify_principal(), and
kadm5_get_principal() allow to specify or return
principal's options as an associative array. The keys for the associative
array are defined as string constants below:

표 149. Options for creating/modifying/retrieving principals

constant | funcdef | description
KADM5_PRINCIPAL | long | The expire time of the princial as a Kerberos timestamp.
KADM5_PRINC_EXPIRE_TIME | long | The expire time of the princial as a Kerberos timestamp.
KADM5_LAST_PW_CHANGE | long | The time this principal's password was last changed.
KADM5_PW_EXPIRATION | long | The expire time of the principal's current password, as a Kerberos timestamp.
KADM5_MAX_LIFE | long | The maximum lifetime of any Kerberos ticket issued to this principal.
KADM5_MAX_RLIFE | long | The maximum renewable lifetime of any Kerberos ticket issued to or for this principal.
KADM5_MOD_NAME | string | The name of the Kerberos principal that most recently modified this principal.
KADM5_MOD_TIME | long | The time this principal was last modified, as a Kerberos timestamp.
KADM5_KVNO | long | The version of the principal's current key.
KADM5_POLICY | string | The name of the policy controlling this principal.
KADM5_CLEARPOLICY | long | Standard procedure is to assign the 'default' policy to new principals. KADM5_CLEARPOLICY suppresses this behaviour.
KADM5_LAST_SUCCESS | long | The KDC time of the last successfull AS_REQ.
KADM5_LAST_FAILED | long | The KDC time of the last failed AS_REQ.
KADM5_FAIL_AUTH_COUNT | long | The number of consecutive failed AS_REQs.
KADM5_RANDKEY | long | Generates a random password for the principal. The parameter password will be ignored.
KADM5_ATTRIBUTES | long | A bitfield of attributes for use by the KDC.

예제

This simple example shows how to connect, query, print resulting principals and disconnect from a KADM5 database.

예 994. KADM5 extension overview example

<?php

  $handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");

  print "<h1>get_principals</h1>\n";
  $principals = kadm5_get_principals($handle);
  for( $i=0; $i<count($principals); $i++)
      print "$principals[$i]<br>\n";

  print "<h1>get_policies</h1>\n";
  $policies = kadm5_get_policies($handle);
  for( $i=0; $i<count($policies); $i++)
      print "$policies[$i]<br>\n";

  print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";

  $options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );
  $keys = array_keys($options);
  for( $i=0; $i<count($keys); $i++) {
    $value = $options[$keys[$i]];
    print "$keys[$i]: $value<br>\n";
  }

  $options = array(KADM5_PRINC_EXPIRE_TIME => 0);
  kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);

  kadm5_destroy($handle);
?>

Contact Information

If you have comments, bugfixes, enhancements or want to help in developing this you can send me a mail at » holger.burbach@gonicus.de. The project homepage can be found at » http://oss.gonicus.de/project/?group_id=7.

차례

kadm5_chpass_principal -- Changes the principal's password
kadm5_create_principal -- Creates a kerberos principal with the given parameters
kadm5_delete_principal -- Deletes a kerberos principal
kadm5_destroy -- Closes the connection to the admin server and releases all related resources
kadm5_flush -- Flush all changes to the Kerberos database, leaving the connection to the Kerberos admin server open
kadm5_get_policies -- Gets all policies from the Kerberos database
kadm5_get_principal -- Gets the principal's entries from the Kerberos database
kadm5_get_principals -- Gets all principals from the Kerberos database
kadm5_init_with_password -- Opens a connection to the KADM5 library and initializes any neccessary state information
kadm5_modify_principal -- Modifies a kerberos principal with the given parameters
이전 | 위로 | 다음
json_encode | 처음으로 | kadm5_chpass_principal


libxml Functions

이전 VI. 함수 레퍼런스 다음

LXXVI. libxml Functions

소개

These functions/constants are available since PHP 5.1.0 and if you have compiled one of the extensions based on libxml, like DOM, SimpleXML and XSLT.

요구 조건

This extension requires » libxml >= 2.6.0.

예약 클래스

LibXMLError

속성

  • code - the error's code

  • column - the column where the error occurred. Please note that this property isn't entirely implemented in libxml and therefore 0 is often returned.

  • file - the filename, or empty if the XML was loaded from a string

  • level - the severity of the error (one of the following constants: LIBXML_ERR_WARNING, LIBXML_ERR_ERROR or LIBXML_ERR_FATAL)

  • line - the line where the error occurred

  • message - the error message

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

LIBXML_COMPACT (integer)

Activate small nodes allocation optimization. This may speed up your application without needing to change the code.

참고: Only available in Libxml >= 2.6.21

LIBXML_DTDATTR (integer)
Default DTD attributes
LIBXML_DTDLOAD (integer)
Load the external subset
LIBXML_DTDVALID (integer)
Validate with the DTD
LIBXML_NOBLANKS (integer)
Remove blank nodes
LIBXML_NOCDATA (integer)
Merge CDATA as text nodes
LIBXML_NOEMPTYTAG (integer)

Expand empty tags (e.g. <br/> to <br></br>)

참고: This option is currently just available in the DOMDocument->save() and DOMDocument->saveXML() functions.

LIBXML_NOENT (integer)
Substitute entities
LIBXML_NOERROR (integer)
Suppress error reports
LIBXML_NONET (integer)
Disable network access when loading documents
LIBXML_NOWARNING (integer)
Suppress warning reports
LIBXML_NOXMLDECL (integer)

Drop the XML declaration when saving a document

참고: Only available in Libxml >= 2.6.21

LIBXML_NSCLEAN (integer)
Remove redundant namespaces declarations
LIBXML_XINCLUDE (integer)
Implement XInclude substitution
LIBXML_ERR_ERROR (integer)
A recoverable error
LIBXML_ERR_FATAL (integer)
A fatal error
LIBXML_ERR_NONE (integer)
No errors
LIBXML_ERR_WARNING (integer)
A simple warning
LIBXML_VERSION (integer)
libxml version like 20605 or 20617
LIBXML_DOTTED_VERSION (string)
libxml version like 2.6.5 or 2.6.17

차례

libxml_clear_errors -- Clear libxml error buffer
libxml_get_errors -- Retrieve array of errors
libxml_get_last_error -- Retrieve last error from libxml
libxml_set_streams_context -- Set the streams context for the next libxml document load or write
libxml_use_internal_errors -- Disable libxml errors and allow user to fetch error information as needed
이전 | 위로 | 다음
ldap_unbind | 처음으로 | libxml_clear_errors


MaxDB PHP Extension

이전 VI. 함수 레퍼런스 다음

LXXXII. MaxDB PHP Extension

소개

The MaxDB PHP extension allows you to access the functionality provided by MaxDB 7.5.0 and above. More information about the MaxDB Database server can be found at » http://www.mysql.com/products/maxdb/.

The MaxDB PHP extension is compatible to the MySQL mysqli extension. There are only minor differences in the behaviour of some functions due to the differences of the underlying database servers, MaxDB and MySQL.

The main differences to mysqli are in the following functions:

maxdb_character_set_name() - Returns only ascii or unicode.
maxdb_get_client_info() - Returns a different version string.
maxdb_get_client_version() - Returns a different version string.
maxdb_get_host_info() - Returns localhost or hostname.
maxdb_get_server_info() - Returns a different version string.
maxdb_get_server_version() - Returns a different version string.
maxdb_kill() - Only disconnects the session.
maxdb_multi_query() - Can not handle multiple SQL statements.
maxdb_next_result() - Function returns always false.
maxdb_options() - Supports a different set of options.
maxdb_report() - Supports a different report mode.
maxdb_stat() - Returns a different system status string.
maxdb_stmt_store_result() - Is not necessary for MaxDB.
maxdb_store_result() - Is not necessary for MaxDB.

Documentation for MaxDB can be found at » http://dev.mysql.com/doc/maxdb/.

요구 조건

In order to have these functions available, you must compile PHP with MaxDB support. Additionally, you must have the MaxDB SQLDBC runtime library available to access the MaxDB server.

Documentation for MaxDB SQLDBC can be found at » http://dev.mysql.com/doc/maxdb/.

Download the MaxDB SQLDBC package from » http://dev.mysql.com/downloads/maxdb/clients.html.

설치

By using the --with-maxdb[=DIR] configuration option you enable PHP to access MaxDB databases. [DIR] points to the directory that contains the installed MaxDB SQLDBC package.

Windows users will need to enable php_maxdb.dll inside of php.ini.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 154. MaxDB Configuration Options

Name | Default | Changeable | Changelog
maxdb.default_host | NULL | PHP_INI_ALL |
maxdb.default_db | NULL | PHP_INI_ALL |
maxdb.default_user | NULL | PHP_INI_ALL |
maxdb.default_pw | NULL | PHP_INI_ALL |
maxdb.long_readlen | "200" | PHP_INI_ALL |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

maxdb.default_host string

The default server host to use when connecting to the database server if no other host is specified.

maxdb.default_db string

The default server database to use when connecting if no other database is specified.

maxdb.default_user string

The default user name to use when connecting to the database server if no other name is specified.

maxdb.default_pw string

The default password to use when connecting to the database server if no other password is specified.

maxdb.long_readlen integer

The default maximum length of bytes that is transferred to the client if long data is retrieved from the MaxDB database server.

예약 클래스

maxdb

Represents a connection between PHP and a MaxDB database.

생성자

  • maxdb - construct a new maxdb object

메쏘드

  • autocommit - turns on or off auto-commiting database modifications

  • change_user - changes the user of the specified database connection

  • character_set_name - returns the default character set for the database connection

  • close - closes a previously opened connection

  • commit - commits the current transaction

  • connect - opens a new connection to MaxDB database server

  • debug - performs debugging operations

  • dump_debug_info - dumps debug information

  • get_client_info - returns client version

  • get_host_info - returns type of connection used

  • get_server_info - returns version of the MaxDB server

  • get_server_version - returns version of the MaxDB server

  • init - initializes maxdb object

  • info - retrieves information about the most recently executed query

  • kill - asks the server to kill a MaxDB thread

  • multi_query - performs multiple queries

  • more_results - check if more results exist from currently executed multi-query

  • next_result - reads next result from currently executed multi-query

  • options - set options

  • ping - pings a server connection or reconnects if there is no connection

  • prepare - prepares a SQL query

  • query - performs a query

  • real_connect - attempts to open a connection to MaxDB database server

  • escape_string - escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection

  • rollback - rolls back the current transaction

  • select_db - selects the default database

  • ssl_set - sets ssl parameters

  • stat - gets the current system status

  • stmt_init- initializes a statement for use with maxdb_stmt_prepare

  • store_result - transfers a resultset from last query

  • use_result - transfers an unbuffered resultset from last query

  • thread-safe - returns whether thread safety is given or not

속성

  • affected_rows - gets the number of affected rows in a previous MaxDB operation

  • client_info - returns the MaxDB client version as a string

  • client_version - returns the MaxDB client version as an integer

  • errno - returns the error code for the most recent function call

  • error - returns the error string for the most recent function call

  • field_count - returns the number of columns for the most recent query

  • host_info - returns a string representing the type of connection used

  • info - retrieves information about the most recently executed query

  • insert_id - returns the auto generated id used in the last query

  • protocol_version - returns the version of the MaxDB protocol used

  • sqlstate - returns a string containing the SQLSTATE error code for the last error

  • thread_id - returns the thread ID for the current connection

  • warning_count - returns the number of warnings generated during execution of the previous SQL statement

maxdb_stmt

Represents a prepared statement.

메쏘드

  • bind_param - binds variables to a prepared statement

  • bind_result - binds variables to a prepared statement for result storage

  • close - closes a prepared statement

  • data-seek - seeks to an arbitrary row in a statement result set

  • execute - executes a prepared statement

  • fetch - fetches result from a prepared statement into bound variables

  • free_result - frees stored result memory for the given statement handle

  • result_metadata - retrieves a resultset from a prepared statement for metadata information

  • prepare - prepares a SQL query

  • send_long_data - sends data in chunks

  • close_long_data - end sending long data

  • reset - resets a prepared statement

  • store_result - buffers complete resultset from a prepared statement

속성

  • affected_rows - returns affected rows from last statement execution

  • errno - returns errorcode for last statement function

  • errno - returns errormessage for last statement function

  • param_count - returns number of parameter for a given prepare statement

  • sqlstate - returns a string containing the SQLSTATE error code for the last statement function

maxdb_result

Represents the result set obtained from a query against the database.

메쏘드

  • close - closes resultset

  • data_seek - moves internal result pointer

  • fetch_field - gets column information from a resultset

  • fetch_fields - gets information for all columns from a resulset

  • fetch_field_direct - gets column information for specified column

  • fetch_array - fetches a result row as an associative array, a numeric array, or both.

  • fetch_assoc - fetches a result row as an associative array

  • fetch_object - fetches a result row as an object

  • fetch_row - gets a result row as an enumerated array

  • close - frees result memory

  • field_seek - set result pointer to a specified field offset

속성

  • current_field - returns offset of current fieldpointer

  • field_count - returns number of fields in resultset

  • lengths - returns an array of columnlengths

  • num_rows - returns number of rows in resultset

자원형

This extension defines resources.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

The following constants to use with maxdb_options() are defined. For further description of these constants see » http://dev.mysql.com/doc/maxdb/.

표 155. MaxDB PHP client constants

Constant | Description
MAXDB_COMPNAME | The component name used to initialise the SQLDBC runtime environment.
MAXDB_APPLICATION | The application to be connected to the database.
MAXDB_APPVERSION | The version of the application.
MAXDB_SQLMODE | The SQL mode.
MAXDB_UNICODE | TRUE, if the connection is an unicode (UCS2) client or FALSE, if not.
MAXDB_TIMEOUT | The maximum allowed time of inactivity after which the connection to the database is closed by the system.
MAXDB_ISOLATIONLEVEL | Specifies whether and how shared locks and exclusive locks are implicitly requested or released.
MAXDB_PACKETCOUNT | The number of different request packets used for the connection.
MAXDB_STATEMENTCACHESIZE | The number of prepared statements to be cached for the connection for re-use.
MAXDB_CURSORPREFIX | The prefix to use for result tables that are automatically named.

The function maxdb_fetch_array() uses a constant for the different types of result arrays. The following constants are defined:

표 156. MaxDB fetch constants

Constant | Description
MAXDB_ASSOC | Columns are returned into the array having the fieldname as the array index.
MAXDB_ASSOC_UPPER | Columns are returned into the array having the upper case fieldname as the array index.
MAXDB_ASSOC_LOWER | Columns are returned into the array having the lower case fieldname as the array index.
MAXDB_BOTH | Columns are returned into the array having both a numerical index and the fieldname as the array index.
MAXDB_NUM | Columns are returned into the array having a numerical index to the fields. This index starts with 0, the first field in the result.

예제

All examples in the MaxDB PHP documentation use the HOTELDB demo database from MaxDB. More about this database can be found at » http://dev.mysql.com/doc/maxdb/en/98/11b83fa6b33c17e10000000a114084/frameset.htm.

To use the examples in the MaxDB PHP documentation, you have to load the tutorial data into your database. Then you have to set maxdb.default_db in php.ini to the database that contains the tutorial data.

This simple example shows how to connect, execute a query, print resulting rows and disconnect from a MaxDB database.

예 1058. MaxDB extension overview example

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (maxdb_connect_errno()) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$query = "SELECT * FROM hotel.city";
$result = maxdb_query($link, $query) or die("Query failed : " . maxdb_error());

/* Printing results in HTML */
echo "<table>\n";
while ($line = maxdb_fetch_array($result, MAXDB_ASSOC)) {
    echo "  <tr>\n";
    foreach ($line as $col_value) {
        echo "    <td>$col_value</td>\n";
    }
    echo "  </tr>\n";
}
echo "</table>\n";

/* Free resultset */
maxdb_free_result($result);

/* Closing connection */
maxdb_close($link);
?>

The following example shows how to bind variables to a SELECT INTO statement.

예 1059. Example for use of SELECT INTO statements

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "SELECT percentage INTO ? FROM hotel.countrylanguage where language = ?");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

$name = "Mbundu";

maxdb_stmt_bind_param($stmt, 'ds', $percentage, $name);
maxdb_stmt_execute($stmt);

printf ("%f\n", $percentage);

maxdb_stmt_close ($stmt);
?>

The following example shows how to use MaxDB database procedures.

예 1060. Example fore using database procedures

<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

/* check connection */
if (!$link) {
   printf("Connect failed: %s\n", maxdb_connect_error());
   exit();
}

maxdb_report (MAXDB_REPORT_OFF);
maxdb_query($link,"DROP DBPROC test_proc");
maxdb_report (MAXDB_REPORT_ERROR);

$query = "create dbproc test_proc (INOUT e_text char(72)) AS select * from SYSDBA.DUAL; fetch into :e_text;";

maxdb_query($link, $query);

/* Performing SQL query */
$stmt = maxdb_prepare ($link, "CALL test_proc (?)");
if (!$stmt) {
  printf ("Prepare failed: %s\n", maxdb_error($link));
}

maxdb_stmt_bind_param($stmt, 's', $result);
maxdb_stmt_execute($stmt);

printf ("%s\n", $result);

maxdb_stmt_close ($stmt);
?>

차례

maxdb_affected_rows -- Gets the number of affected rows in a previous MaxDB operation
maxdb_autocommit -- Turns on or off auto-commiting database modifications
maxdb_bind_param -- Alias of maxdb_stmt_bind_param()
maxdb_bind_result -- Alias of maxdb_stmt_bind_result()
maxdb_change_user -- Changes the user of the specified database connection
maxdb_character_set_name -- Returns the default character set for the database connection
maxdb_client_encoding -- Alias of maxdb_character_set_name()
maxdb_close_long_data -- Alias of maxdb_stmt_close_long_data()
maxdb_close -- Closes a previously opened database connection
maxdb_commit -- Commits the current transaction
maxdb_connect_errno -- Returns the error code from last connect call
maxdb_connect_error -- Returns a string description of the last connect error
maxdb_connect -- Open a new connection to the MaxDB server
maxdb_data_seek -- Adjusts the result pointer to an arbitary row in the result
maxdb_debug -- Performs debugging operations
maxdb_disable_reads_from_master -- Disable reads from master
maxdb_disable_rpl_parse -- Disable RPL parse
maxdb_dump_debug_info -- Dump debugging information into the log
maxdb_embedded_connect -- Open a connection to an embedded MaxDB server
maxdb_enable_reads_from_master -- Enable reads from master
maxdb_enable_rpl_parse -- Enable RPL parse
maxdb_errno -- Returns the error code for the most recent function call
maxdb_error -- Returns a string description of the last error
maxdb_escape_string -- Alias of maxdb_real_escape_string()
maxdb_execute -- Alias of maxdb_stmt_execute()
maxdb_fetch_array -- Fetch a result row as an associative, a numeric array, or both
maxdb_fetch_assoc -- Fetch a result row as an associative array
maxdb_fetch_field_direct -- Fetch meta-data for a single field
maxdb_fetch_field -- Returns the next field in the result set
maxdb_fetch_fields -- Returns an array of resources representing the fields in a result set
maxdb_fetch_lengths -- Returns the lengths of the columns of the current row in the result set
maxdb_fetch_object -- Returns the current row of a result set as an object
maxdb_fetch_row -- Get a result row as an enumerated array
maxdb_fetch -- Alias of maxdb_stmt_fetch()
maxdb_field_count -- Returns the number of columns for the most recent query
maxdb_field_seek -- Set result pointer to a specified field offset
maxdb_field_tell -- Get current field offset of a result pointer
maxdb_free_result -- Frees the memory associated with a result
maxdb_get_client_info -- Returns the MaxDB client version as a string
maxdb_get_client_version -- Get MaxDB client info
maxdb_get_host_info -- Returns a string representing the type of connection used
maxdb_get_metadata -- Alias of maxdb_stmt_result_metadata()
maxdb_get_proto_info -- Returns the version of the MaxDB protocol used
maxdb_get_server_info -- Returns the version of the MaxDB server
maxdb_get_server_version -- Returns the version of the MaxDB server as an integer
maxdb_info -- Retrieves information about the most recently executed query
maxdb_init -- Initializes MaxDB and returns an resource for use with maxdb_real_connect
maxdb_insert_id -- Returns the auto generated id used in the last query
maxdb_kill -- Disconnects from a MaxDB server
maxdb_master_query -- Enforce execution of a query on the master in a master/slave setup
maxdb_more_results -- Check if there any more query results from a multi query
maxdb_multi_query -- Performs a query on the database
maxdb_next_result -- Prepare next result from multi_query
maxdb_num_fields -- Get the number of fields in a result
maxdb_num_rows -- Gets the number of rows in a result
maxdb_options -- Set options
maxdb_param_count -- Alias of maxdb_stmt_param_count()
maxdb_ping -- Pings a server connection, or tries to reconnect if the connection has gone down
maxdb_prepare -- Prepare a SQL statement for execution
maxdb_query -- Performs a query on the database
maxdb_real_connect -- Opens a connection to a MaxDB server
maxdb_real_escape_string -- Escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection
maxdb_real_query -- Execute an SQL query
maxdb_report -- Enables or disables internal report functions
maxdb_rollback -- Rolls back current transaction
maxdb_rpl_parse_enabled -- Check if RPL parse is enabled
maxdb_rpl_probe -- RPL probe
maxdb_rpl_query_type -- Returns RPL query type
maxdb_select_db -- Selects the default database for database queries
maxdb_send_long_data -- Alias of maxdb_stmt_send_long_data()
maxdb_send_query -- Send the query and return
maxdb_server_end -- Shut down the embedded server
maxdb_server_init -- Initialize embedded server
maxdb_set_opt -- Alias of maxdb_options()
maxdb_sqlstate -- Returns the SQLSTATE error from previous MaxDB operation
maxdb_ssl_set -- Used for establishing secure connections using SSL
maxdb_stat -- Gets the current system status
maxdb_stmt_affected_rows -- Returns the total number of rows changed, deleted, or inserted by the last executed statement
maxdb_stmt_bind_param -- Binds variables to a prepared statement as parameters
maxdb_stmt_bind_result -- Binds variables to a prepared statement for result storage
maxdb_stmt_close_long_data -- Ends a sequence of maxdb_stmt_send_long_data()
maxdb_stmt_close -- Closes a prepared statement
maxdb_stmt_data_seek -- Seeks to an arbitray row in statement result set
maxdb_stmt_errno -- Returns the error code for the most recent statement call
maxdb_stmt_error -- Returns a string description for last statement error
maxdb_stmt_execute -- Executes a prepared Query
maxdb_stmt_fetch -- Fetch results from a prepared statement into the bound variables
maxdb_stmt_free_result -- Frees stored result memory for the given statement handle
maxdb_stmt_init -- Initializes a statement and returns an resource for use with maxdb_stmt_prepare
maxdb_stmt_num_rows -- Return the number of rows in statements result set
maxdb_stmt_param_count -- Returns the number of parameter for the given statement
maxdb_stmt_prepare -- Prepare a SQL statement for execution
maxdb_stmt_reset -- Resets a prepared statement
maxdb_stmt_result_metadata -- Returns result set metadata from a prepared statement
maxdb_stmt_send_long_data -- Send data in blocks
maxdb_stmt_sqlstate -- Returns SQLSTATE error from previous statement operation
maxdb_stmt_store_result -- Transfers a result set from a prepared statement
maxdb_store_result -- Transfers a result set from the last query
maxdb_thread_id -- Returns the thread ID for the current connection
maxdb_thread_safe -- Returns whether thread safety is given or not
maxdb_use_result -- Initiate a result set retrieval
maxdb_warning_count -- Returns the number of warnings from the last query for the given link
이전 | 위로 | 다음
tanh | 처음으로 | maxdb_affected_rows


Net_Gopher

이전 VI. 함수 레퍼런스 다음

LIII. Net_Gopher

소개

The gopher protocol, as defined by » RFC 1436, is generally considered the ancestor of the modern HTTP protocol. However, gopher was also intended to provide references to non-gopher resources including telnet, wais, nntp, and even http. This extension adds gopher support to PHP's URL Wrappers, and provides a helper function gopher_parsedir() to make sense of gopher formatted directory listings.

요구 조건

설치

Prerequisite: PHP 4.3.0 or higher.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/net_gopher

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

표 99. Net_Gopher constants

Constant | Value | Description
GOPHER_DOCUMENT | 0 | Standard text/plain document.
GOPHER_DIRECTORY | 1 | A resource containing a gopher formatted directory listing.
GOPHER_BINHEX | 4 | A BinHex encoded binary file.
GOPHER_DOSBINARY | 5 | A DOS formatted binary archive.
GOPHER_UUENCODED | 6 | A UUEncoded file.
GOPHER_BINARY | 9 | A generic binary file.
GOPHER_INFO | 255 | An Informational entry
GOPHER_HTTP | 254 | A reference to an HTTP resource.
GOPHER_UNKNOWN | -1 | An unrecognized entry.

예제

<?php
readfile("gopher://gopher.example.com/somedocument");
?>

차례

gopher_parsedir -- Translate a gopher formatted directory entry into an associative array.
이전 | 위로 | 다음
gnupg_verify | 처음으로 | gopher_parsedir


Newt Functions

이전 VI. 함수 레퍼런스 다음

CIII. Newt Functions

소개

This is a PHP language extension for RedHat Newt library, a terminal-based window and widget library for writing applications with user friendly interface. Once this extension is enabled in PHP it will provide the use of Newt widgets, such as windows, buttons, checkboxes, radiobuttons, labels, editboxes, scrolls, textareas, scales, etc. Use of this extension if very similar to the original Newt API of C programming language.

요구 조건

This module uses the functions of the RedHat Newt library. You need libnewt version >= 0.51.0.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다. PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/newt.

PHP 4에서 이 PECL 확장의 소스는 PHP 소스의 ext/ 디렉토리 안이나, 위의 PECL 링크에서 찾을 수 있습니다. In order to use these functions you must compile CGI or CLI PHP with newt support by using the --with-newt[=DIR] configure option.

참고: This extension is not available for Windows platform.

You may need also curses and slang libraries, in order to compile this extension. To specify locations of these libraries, use the following configuration options: --with-curses-dir=/path/to/libcurses --with-slang-dir=/path/to/libslang

자원형

This extension uses two resource types: "newt component" and "newt grid". Resource type "newt component" is returned by functions, which create common newt widgets (for example: newt_button()) Resource type "newt grid" is a special link identifier for components, returned by newt grid factory functions (for example: newt_create_grid())

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Newt form exit reasons

표 203. Newt form exit reasons

constant | meaning
NEWT_EXIT_HOTKEY | hotkey defined by newt_form_add_hot_key() was pressed
NEWT_EXIT_COMPONENT | some component has caused form to exit
NEWT_EXIT_FDREADY | file descriptor specified in newt_form_watch_fd() is ready to be read or written to
NEWT_EXIT_TIMER | time specified in newt_form_set_timer() has elapsed

Newt colorsets

표 204. Newt colorsets

constant | meaning
NEWT_COLORSET_ROOT |
NEWT_COLORSET_BORDER |
NEWT_COLORSET_WINDOW |
NEWT_COLORSET_SHADOW |
NEWT_COLORSET_TITLE |
NEWT_COLORSET_BUTTON |
NEWT_COLORSET_ACTBUTTON |
NEWT_COLORSET_CHECKBOX |
NEWT_COLORSET_ACTCHECKBOX |
NEWT_COLORSET_ENTRY |
NEWT_COLORSET_LABEL |
NEWT_COLORSET_LISTBOX |
NEWT_COLORSET_ACTLISTBOX |
NEWT_COLORSET_TEXTBOX |
NEWT_COLORSET_ACTTEXTBOX |
NEWT_COLORSET_HELPLINE |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_ROOTTEXT |
NEWT_COLORSET_EMPTYSCALE |
NEWT_COLORSET_FULLSCALE |
NEWT_COLORSET_DISENTRY |
NEWT_COLORSET_COMPACTBUTTON |
NEWT_COLORSET_ACTSELLISTBOX |
NEWT_COLORSET_SELLISTBOX |

Newt argument flags

표 205. Newt argument flags

constant | meaning
NEWT_ARG_LAST |
NEWT_ARG_APPEND |

Newt Flags Sense

표 206. Newt Flags Sense

constant | meaning
NEWT_FLAGS_SET |
NEWT_FLAGS_RESET |
NEWT_FLAGS_TOGGLE |

Newt Components Flags

표 207. Newt Components Flags

constant | meaning
NEWT_FLAG_RETURNEXIT | Exit form, when component is activated
NEWT_FLAG_HIDDEN | Component is hidden
NEWT_FLAG_SCROLL | Component is scrollable
NEWT_FLAG_DISABLED | Component is disabled
NEWT_FLAG_BORDER |
NEWT_FLAG_WRAP | Wrap text
NEWT_FLAG_NOF12 | Don't exit form on pressing F12
NEWT_FLAG_MULTIPLE |
NEWT_FLAG_SELECTED | Component is selected
NEWT_FLAG_CHECKBOX | Component is checkbox
NEWT_FLAG_PASSWORD | Entry component is password entry
NEWT_FLAG_SHOWCURSOR | Show cursor

File Descriptor Flags

표 208. File Descriptor Flags

constant | meaning
NEWT_FD_READ |
NEWT_FD_WRITE |
NEWT_FD_EXCEPT |

Checkbox Tree Flags

표 209. Checkbox Tree Flags

constant | meaning
NEWT_CHECKBOXTREE_UNSELECTABLE |
NEWT_CHECKBOXTREE_HIDE_BOX |
NEWT_CHECKBOXTREE_COLLAPSED |
NEWT_CHECKBOXTREE_EXPANDED |
NEWT_CHECKBOXTREE_UNSELECTED |
NEWT_CHECKBOXTREE_SELECTED |

Entry Flags

표 210. Entry Flags

constant | meaning
NEWT_ENTRY_SCROLL |
NEWT_ENTRY_HIDDEN |
NEWT_ENTRY_RETURNEXIT |
NEWT_ENTRY_DISABLED |

Listbox Flags

표 211. Listbox Flags

constant | meaning
NEWT_LISTBOX_RETURNEXIT |

Textbox Flags

표 212. Textbox Flags

constant | meaning
NEWT_TEXTBOX_WRAP | Wrap text in the textbox
NEWT_TEXTBOX_SCROLL | Scroll text in the textbox

Form Flags

표 213. Form Flags

constant | meaning
NEWT_FORM_NOF12 | Don't exit form on F12 press

Newt Keys

표 214. Newt Keys

constant | meaning
NEWT_KEY_TAB |
NEWT_KEY_ENTER |
NEWT_KEY_SUSPEND |
NEWT_KEY_ESCAPE |
NEWT_KEY_RETURN |
NEWT_KEY_EXTRA_BASE |
NEWT_KEY_UP |
NEWT_KEY_DOWN |
NEWT_KEY_LEFT |
NEWT_KEY_RIGHT |
NEWT_KEY_BKSPC |
NEWT_KEY_DELETE |
NEWT_KEY_HOME |
NEWT_KEY_END |
NEWT_KEY_UNTAB |
NEWT_KEY_PGUP |
NEWT_KEY_PGDN |
NEWT_KEY_INSERT |
NEWT_KEY_F1 |
NEWT_KEY_F2 |
NEWT_KEY_F3 |
NEWT_KEY_F4 |
NEWT_KEY_F5 |
NEWT_KEY_F6 |
NEWT_KEY_F7 |
NEWT_KEY_F8 |
NEWT_KEY_F9 |
NEWT_KEY_F10 |
NEWT_KEY_F11 |
NEWT_KEY_F12 |
NEWT_KEY_RESIZE |

Newt Anchors

표 215. Newt Anchors

constant | meaning
NEWT_ANCHOR_LEFT |
NEWT_ANCHOR_RIGHT |
NEWT_ANCHOR_TOP |
NEWT_ANCHOR_BOTTOM |

Grid Flags

표 216. Grid Flags

constant | meaning
NEWT_GRID_FLAG_GROWX |
NEWT_GRID_FLAG_GROWY |
NEWT_GRID_EMPTY |
NEWT_GRID_COMPONENT |
NEWT_GRID_SUBGRID |

예제

This example is a PHP port of RedHat 'setup' utility dialog, executed in text mode.

예 1501. Newt Usage Example

<?php
    newt_init ();
    newt_cls ();

    newt_draw_root_text (0, 0, "Test Mode Setup Utility 1.12");
    newt_push_help_line (null);
    newt_draw_root_text (-30, 0, "(c) 1999-2002 RedHat, Inc");

    newt_get_screen_size (&$rows, &$cols);

    newt_open_window ($rows/2-17, $cols/2-10, 34, 17, "Choose a Tool");

    $form = newt_form ();

    $list = newt_listbox (3, 2, 10);

    foreach (array (
        "Authentication configuration",
        "Firewall configuration",
        "Mouse configuration",
        "Network configuration",
        "Printer configuration",
        "System services") as $l_item)
    {
        newt_listbox_add_entry ($list, $l_item, $l_item);
    }

    $b1 = newt_button (5, 12, "Run Tool");
    $b2 = newt_button (21, 12, "Quit");

    newt_form_add_component ($form, $list);
    newt_form_add_components ($form, array($b1, $b2));

    newt_refresh ();
    newt_run_form ($form);

    newt_pop_window ();
    newt_pop_help_line ();
    newt_finished ();
    newt_form_destroy ($form);
?>

차례

newt_bell -- Send a beep to the terminal
newt_button_bar -- This function returns a grid containing the buttons created.
newt_button -- Create a new button
newt_centered_window -- Open a centered window of the specified size
newt_checkbox_get_value -- Retreives value of checkox resource
newt_checkbox_set_flags -- Configures checkbox resource
newt_checkbox_set_value -- Sets the value of the checkbox
newt_checkbox_tree_add_item -- Adds new item to the checkbox tree
newt_checkbox_tree_find_item -- Finds an item in the checkbox tree
newt_checkbox_tree_get_current -- Returns checkbox tree selected item
newt_checkbox_tree_get_entry_value
newt_checkbox_tree_get_multi_selection
newt_checkbox_tree_get_selection
newt_checkbox_tree_multi
newt_checkbox_tree_set_current
newt_checkbox_tree_set_entry_value
newt_checkbox_tree_set_entry
newt_checkbox_tree_set_width
newt_checkbox_tree
newt_checkbox
newt_clear_key_buffer -- Discards the contents of the terminal's input buffer without waiting for additional input
newt_cls
newt_compact_button
newt_component_add_callback
newt_component_takes_focus
newt_create_grid
newt_cursor_off
newt_cursor_on
newt_delay
newt_draw_form
newt_draw_root_text -- Displays the string text at the position indicated
newt_entry_get_value
newt_entry_set_filter
newt_entry_set_flags
newt_entry_set
newt_entry
newt_finished -- Uninitializes newt interface
newt_form_add_component -- Adds a single component to the form
newt_form_add_components -- Add several components to the form
newt_form_add_hot_key
newt_form_destroy -- Destroys a form
newt_form_get_current
newt_form_run -- Runs a form
newt_form_set_background
newt_form_set_height
newt_form_set_size
newt_form_set_timer
newt_form_set_width
newt_form_watch_fd
newt_form -- Create a form
newt_get_screen_size -- Fills in the passed references with the current size of the terminal
newt_grid_add_components_to_form
newt_grid_basic_window
newt_grid_free
newt_grid_get_size
newt_grid_h_close_stacked
newt_grid_h_stacked
newt_grid_place
newt_grid_set_field
newt_grid_simple_window
newt_grid_v_close_stacked
newt_grid_v_stacked
newt_grid_wrapped_window_at
newt_grid_wrapped_window
newt_init -- Initialize newt
newt_label_set_text
newt_label
newt_listbox_append_entry
newt_listbox_clear_selection
newt_listbox_clear
newt_listbox_delete_entry
newt_listbox_get_current
newt_listbox_get_selection
newt_listbox_insert_entry
newt_listbox_item_count
newt_listbox_select_item
newt_listbox_set_current_by_key
newt_listbox_set_current
newt_listbox_set_data
newt_listbox_set_entry
newt_listbox_set_width
newt_listbox
newt_listitem_get_data
newt_listitem_set
newt_listitem
newt_open_window -- Open a window of the specified size and position
newt_pop_help_line -- Replaces the current help line with the one from the stack
newt_pop_window -- Removes the top window from the display
newt_push_help_line -- Saves the current help line on a stack, and displays the new line
newt_radio_get_current
newt_radiobutton
newt_redraw_help_line
newt_reflow_text
newt_refresh -- Updates modified portions of the screen
newt_resize_screen
newt_resume -- Resume using the newt interface after calling newt_suspend()
newt_run_form -- Runs a form
newt_scale_set
newt_scale
newt_scrollbar_set
newt_set_help_callback
newt_set_suspend_callback -- Set a callback function which gets invoked when user presses the suspend key
newt_suspend -- Tells newt to return the terminal to its initial state
newt_textbox_get_num_lines
newt_textbox_reflowed
newt_textbox_set_height
newt_textbox_set_text
newt_textbox
newt_vertical_scrollbar
newt_wait_for_key -- Doesn't return until a key has been pressed
newt_win_choice
newt_win_entries
newt_win_menu
newt_win_message
newt_win_messagev
newt_win_ternary
이전 | 위로 | 다음
syslog | 처음으로 | newt_bell


oggvorbis

이전 VI. 함수 레퍼런스 다음

CX. oggvorbis

소개

The OGG/Vorbis file format, as defined by » http://www.vorbis.com/, is a scheme for compressing audio streams by multiple factors with a minimum of quality loss. This extension adds Ogg Vorbis support to PHP's URL Wrappers. When used in read mode, compressed OGG/Vorbis data is expanded to raw PCM audio in one of six PCM encoding formats listed below.

요구 조건

This extension requires PHP >= 4.3.0, » libogg >= 1.0, and » libvorbis >= 1.0.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

설치

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/oggvorbis

Context options

표 226. OGG/Vorbis tuning options

Option | Definition | Relevance | Default
pcm_mode | PCM byte encoding used. See constants below. | Read / Write | OGGVORBIS_PCM_S16_LE
rate | PCM Sampling rate. Measured in Hz. | Write only | 44100
bitrate | Vorbis Average Bitrate Encoding / Variable Bitrate Encoding. Measured in bps (ABR) or Quality level (VBR: 0.0 to 1.0). 128000 ABR is rough equal to 0.4 VBR. | Write only | 128000
channels | Number of PCM channels. 1 == Mono, 2 == Stereo. | Write only | 2
serialno | Serial Number of stream within file. Must be unique within file. Because of the potential to select a duplicate serial number within a chained file, make efforts to manually assign unique numbers when encoding. | Write only | Random
comments | Associative array of file comments. Will be translated to strtoupper($name) . "=$value". Note: This context option is not available in oggvorbis-0.1 | Write only | array('ENCODER' => 'PHP/OggVorbis, http://pear.php.net/oggvorbis')

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

표 227. OGG/Vorbis supports PCM encodings in the following formats

Constant | Definition
OGGVORBIS_PCM_U8 | Unsigned 8-bit PCM.
OGGVORBIS_PCM_S8 | Signed 8-bit PCM.
OGGVORBIS_PCM_U16_LE | Unsigned 16-bit PCM. Little Endian byte order.
OGGVORBIS_PCM_U16_BE | Unsigned 16-bit PCM. Big Endian byte order.
OGGVORBIS_PCM_S16_LE | Signed 16-bit PCM. Little Endian byte order.
OGGVORBIS_PCM_S16_BE | Signed 16-bit PCM. Big Endian byte order.

차례

Usage -- Examples on using the ogg:// wrapper.
이전 | 위로 | 다음
PDO_ODBC DSN | 처음으로 | Usage


Paradox File Access

이전 VI. 함수 레퍼런스 다음

CXVII. Paradox File Access

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

This module allows to read and write Paradox databases, primary index files and blob files. Write support has been proven to be quite reliable, though due to lack of documentation the produced files may not in any case be readable by other applications. Encrypted databases can be read without specifying a password if pxlib >= 0.5.0 is used.

참고: This module is also in development and may change, though I don't expect major changes to the API.

요구 조건

You need at least PHP 5.0.0 and pxlib >= 0.4.4 for the basic set of functions. Some newer functions are only available with pxlib >= 0.6.0. Reading and writing of encrypted databases requires at least pxlib >= 0.5.0. The paradox library (pxlib) is available at » http://pxlib.sourceforge.net.

설치

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/paradox

Make sure you have pxlib installed before. If you install pxlib from an rpm or debian package, do not forget to install the development package as well.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

Object oriented API

The paradox extension provides also an object oriented API. It consists of only one class called paradox_db. Its methods only differ from the functions in its name and of course the missing first parameter. The following table will list all methods and its equivalent functions.

표 232. Methods of class paradox_db

Name of method | Equivalent function
Constructor | px_new()
Destructor | px_delete()
open_fp() | px_open_fp()
create_fp() | px_create_fp()
close() | px_close()
numrecords() | px_numrecords()
numfields() | px_numfields()
get_record() | px_get_record()
put_record() | px_put_record()
retrieve_record() | px_retrieve_record()
delete_record() | px_delete_record()
insert_record() | px_insert_record()
update_record() | px_update_record()
get_field() | px_get_field()
get_schema() | px_get_schema()
get_info() | px_get_info()
set_parameter() | px_set_parameter()
get_parameter() | px_get_parameter()
set_value() | px_set_value()
get_value() | px_get_value()
get_info() | px_get_info()
set_targetencoding() | px_set_targetencoding()
set_tablename() | px_set_tablename()
set_blob_file() | px_set_blob_file()
date2string() | px_date2string()
timestamp2string() | px_timestamp2string()

자원형

px_new() creates a new Paradox object required by all Paradox functions.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

The following two tables lists all constants defined by the paradox extension.

표 233. Contants for field types

Name | Meaning
PX_FIELD_ALPHA | Character data with fixed length
PX_FIELD_DATE | Date, number of days since 1.1.0000
PX_FIELD_SHORT | Short integer (2 Bytes)
PX_FIELD_LONG | Long integer (4 Bytes)
PX_FIELD_CURRENCY | same as PX_FIELD_NUMBER
PX_FIELD_NUMBER | Double
PX_FIELD_LOGICAL | Boolean
PX_FIELD_MEMOBLOB | Binary large object
PX_FIELD_BLOB | Binary large object (not supported)
PX_FIELD_FMTMEMOBLOB | Binary large object
PX_FIELD_OLE | OLE object (basically a blob, not supported)
PX_FIELD_GRAPHIC | Graphic (basically a blob, not supported)
PX_FIELD_TIME | time, number of milli seconds since midnight
PX_FIELD_TIMESTAMP | timestamp, number of milli seconds since 1.1.0000
PX_FIELD_AUTOINC | Auto incrementing interger (like PX_FIELD_LONG)
PX_FIELD_BCD | Decimal number stored in bcd format (not supported)
PX_FIELD_BYTES | Array of Bytes with not more than 255 bytes (not supported)
PX_KEYTOLOWER | Turn all field names into lower case
PX_KEYTOUPPER | Turn all field names into upper case

표 234. Contants for file types

Name | Meaning
PX_FILE_INDEX_DB | Indexed database
PX_FILE_PRIM_INDEX | Primary index
PX_FILE_NON_INDEX_DB | None indexed database
PX_FILE_NON_INC_SEC_INDEX | None incremental secondary index
PX_FILE_SEC_INDEX | Secondary index
PX_FILE_INC_SEC_INDEX | Incremental secondary index
PX_FILE_NON_INC_SEC_INDEX_G | Non incremental secondary index
PX_FILE_SEC_INDEX_G | Secondary index
PX_FILE_INC_SEC_INDEX_G | Non incremental secondary index

차례

px_close -- Closes a paradox database
px_create_fp -- Create a new paradox database
px_date2string -- Converts a date into a string.
px_delete_record -- Deletes record from paradox database
px_delete -- Deletes resource of paradox database
px_get_field -- Returns the specification of a single field
px_get_info -- Return lots of information about a paradox file
px_get_parameter -- Gets a parameter
px_get_record -- Returns record of paradox database
px_get_schema -- Returns the database schema
px_get_value -- Gets a value
px_insert_record -- Inserts record into paradox database
px_new -- Create a new paradox object
px_numfields -- Returns number of fields in a database
px_numrecords -- Returns number of records in a database
px_open_fp -- Open paradox database
px_put_record -- Stores record into paradox database
px_retrieve_record -- Returns record of paradox database
px_set_blob_file -- Sets the file where blobs are read from
px_set_parameter -- Sets a parameter
px_set_tablename -- Sets the name of a table (deprecated)
px_set_targetencoding -- Sets the encoding for character fields (deprecated)
px_set_value -- Sets a value
px_timestamp2string -- Converts the timestamp into a string.
px_update_record -- Updates record in paradox database
이전 | 위로 | 다음
ovrimos_rollback | 처음으로 | px_close


Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

이전 VI. 함수 레퍼런스 다음

XCIII. Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

PDO_DBLIB is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Microsoft SQL Server and Sybase databases through the FreeTDS libary.

On Windows, you should use the PDO_ODBC driver to connect to Microsoft SQL Server and Sybase databases, as the native Windows DB-LIB is ancient, thread un-safe and no longer supported by Microsoft.

차례

PDO_DBLIB DSN -- Connecting to Microsoft SQL Server and Sybase databases
이전 | 위로 | 다음
mssql_select_db | 처음으로 | PDO_DBLIB DSN


PDO_DBLIB DSN

(No version information available, might be only in CVS)

PDO_DBLIB DSN -- Connecting to Microsoft SQL Server and Sybase databases

설명

The PDO_DBLIB Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is sybase: if PDO_DBLIB was linked against the FreeTDS libraries, mssql: if PDO_DBLIB was linked against the Microsoft SQL Server libraries, or dblib: if linked against any other variety of DB-lib.

host

The hostname on which the database server resides.

dbname

The name of the database.

예제

예 1273. PDO_DBLIB DSN examples

The following examples show a PDO_DBLIB DSN for connecting to Microsoft SQL Server and Sybase databases:

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb

이전 | 위로 | 다음
XCIII. Microsoft SQL Server and Sybase Functions (PDO_DBLIB) | 처음으로 | XCIV. Mohawk Software Session Handler Functions


Firebird/Interbase Functions (PDO_FIREBIRD)

이전 VI. 함수 레퍼런스 다음

XLIV. Firebird/Interbase Functions (PDO_FIREBIRD)

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

PDO_FIREBIRD is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Firebird and Interbase databases.

차례

PDO_FIREBIRD DSN -- Connecting to Firebird and Interbase databases
이전 | 위로 | 다음
ibase_wait_event | 처음으로 | PDO_FIREBIRD DSN


PDO_FIREBIRD DSN

(No version information available, might be only in CVS)

PDO_FIREBIRD DSN -- Connecting to Firebird and Interbase databases

설명

The PDO_FIREBIRD Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is firebird:.

DataSource

The hostname on which the database server resides.

Port

The port number for the server on which the database is running.

Database

The name of the database.

User

The name of the user that will connect to the database.

Password

The password for the user.

예제

예 587. PDO_FIREBIRD DSN examples

The following example shows a PDO_FIREBIRD DSN for connecting to Firebird and Interbase databases:

firebird:User=john;Password=mypass;Database=DATABASE.GDE;DataSource=localhost;Port=3050

이전 | 위로 | 다음
XLIV. Firebird/Interbase Functions (PDO_FIREBIRD) | 처음으로 | XLV. FriBiDi Functions


IBM Functions (PDO_IBM)

이전 VI. 함수 레퍼런스 다음

LX. IBM Functions (PDO_IBM)

소개

PDO_IBM is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to IBM databases.

설치

To build the PDO_IBM extension, the DB2 Client v9.1 or later must be installed on the same system as PHP. The DB2 Client can be downloaded from the IBM » Application Development Site.

Note: The DB2 Client v9.1 or later supports direct access to DB2 for Linux, UNIX, and Windows v8 and v9.1 servers.

The DB2 Client v9.1 also supports access to DB2 UDB for i5 and DB2 UDB for z/OS servers using the separately purchased » DB2 Connect product.

PDO_IBM is a » PECL extension, so follow the instructions in 7장. Installation of PECL extensions to install the PDO_IBM extension. Issue the configure command to point to the location of your DB2 Client header files and libraries as follows:

bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
The configure command defaults to the value of the DB2DIR environment variable.

차례

PDO_IBM DSN -- Connecting to IBM databases
이전 | 위로 | 다음
locale_set_default | 처음으로 | PDO_IBM DSN


PDO_IBM DSN

(No version information available, might be only in CVS)

PDO_IBM DSN -- Connecting to IBM databases

설명

The PDO_IBM Data Source Name (DSN) is based on the IBM CLI DSN. The major components of the PDO_IBM DSN are:

DSN prefix

The DSN prefix is ibm:.

DSN

The DSN can be any of the following:

  • a) Data source setup using db2cli.ini or odbc.ini

  • b) Catalogued database name i.e. database alias in the DB2 client catalog

  • c) Complete connection string in the following format: DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; where the parameters represent the following values:

    database

    The name of the database.

    hostname

    The hostname or IP address of the database server.

    port

    The TCP/IP port on which the database is listening for requests.

    username

    The username with which you are connecting to the database.

    password

    The password with which you are connecting to the database.

예제

예 807. PDO_IBM DSN example using db2cli.ini

The following example shows a PDO_IBM DSN for connecting to an DB2 database cataloged as DB2_9 in db2cli.ini:

$db = new PDO("ibm:DSN=DB2_9", "", "");

[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789

예 808. PDO_IBM DSN example using a connection string

The following example shows a PDO_IBM DSN for connecting to an DB2 database named testdb using the DB2 CLI connection string syntax.

$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
  "HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");

이전 | 위로 | 다음
LX. IBM Functions (PDO_IBM) | 처음으로 | LXI. IBM DB2, Cloudscape and Apache Derby Functions


Informix Functions (PDO_INFORMIX)

이전 VI. 함수 레퍼런스 다음

LXIX. Informix Functions (PDO_INFORMIX)

소개

PDO_INFORMIX is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Informix databases.

설치

To build the PDO_INFORMIX extension, the Informix Client SDK 2.81 UC1 or higher must be installed on the same system as PHP. The Informix Client SDK is available from the » IBM Informix Support Site.

PDO_INFORMIX is a » PECL extension, so follow the instructions in 7장. Installation of PECL extensions to install the PDO_INFORMIX extension. Issue the configure command to point to the location of your Informix Client SDK header files and libraries as follows:

   bash$ ./configure --with-pdo-informix=/path/to/SDK[,shared]
The configure command defaults to the value of the INFORMIXDIR environment variable.

Scrollable cursors

PDO_INFORMIX supports scrollable cursors; however, they are not enabled by default. To enable scrollable cursor support, you must either set ENABLESCROLLABLECURSORS=1 in the corresponding ODBC connection settings in odbc.ini or pass the EnableScrollableCursors=1 clause in the DSN connection string.

차례

PDO_INFORMIX DSN -- Connecting to Informix databases
이전 | 위로 | 다음
ifxus_write_slob | 처음으로 | PDO_INFORMIX DSN


PDO_INFORMIX DSN

(No version information available, might be only in CVS)

PDO_INFORMIX DSN -- Connecting to Informix databases

설명

The PDO_INFORMIX Data Source Name (DSN) is based on the Informix ODBC DSN string. Details on configuring an Informix ODBC DSN are available from the » Informix Dynamic Server Information Center. The major components of the PDO_INFORMIX DSN are:

DSN prefix

The DSN prefix is informix:.

DSN

The DSN can be either a data source setup using odbc.ini or a complete » connection string.

예제

예 974. PDO_INFORMIX DSN example using odbc.ini

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database cataloged as Infdrv33 in odbc.ini:

$db = new PDO("informix:DSN=Infdrv33", "", "");

[ODBC Data Sources]
Infdrv33=INFORMIX 3.3 32-BIT

[Infdrv33]
Driver=/opt/informix/csdk_2.81.UC1G2/lib/cli/iclis09b.so
Description=INFORMIX 3.3 32-BIT
Database=common_db
LogonID=testuser
pwd=testpass
Servername=ids_server
DB_LOCALE=en_US.819
OPTIMIZEAUTOCOMMIT=1
ENABLESCROLLABLECURSORS=1

예 975. PDO_INFORMIX DSN example using a connection string

The following example shows a PDO_INFORMIX DSN for connecting to an Informix database named common_db using the Informix connection string syntax.

$db = new PDO("informix:host=host.domain.com; service=9800;
    database=common_db; server=ids_server; protocol=onsoctcp;
    EnableScrollableCursors=1", "testuser", "tespass");

이전 | 위로 | 다음
LXIX. Informix Functions (PDO_INFORMIX) | 처음으로 | LXX. Ingres II Functions


MySQL Functions (PDO_MYSQL)

이전 VI. 함수 레퍼런스 다음

XCIX. MySQL Functions (PDO_MYSQL)

소개

PDO_MYSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MySQL 3.x, 4.x and 5.x databases.

PDO_MYSQL will take advantage of native prepared statement support present in MySQL 4.1 and higher. If you're using an older version of the mysql client libraries, PDO will emulate them for you.

주의

Beware: Some MySQL table types (storage engines) do not support transactions. When writing transactional database code using a table type that does not support transactions, MySQL will pretend that a transaction was initiated successfully. In addition, any DDL queries issued will implicitly commit any pending transactions.

예약 상수

아래 상수는 이 드라이버에서 정의된 것으로, 확장을 PHP에 컴파일하였거나 실행중에 동적 로드하였을 때만 사용할 수 있습니다. 추가로, 드라이버-특정 상수는 이 드라이버를 사용할 때만 사용할 수 있습니다. mysql-특정 속성를 postgres 드라이버에서 사용하면 기대하지 않은 작동을 할 수 있습니다. 코드에서 여러 드라이버를 실행한다면, PDO::getAttribute()를 사용하여 PDO_ATTR_DRIVER_NAME 속성으로 드라이버를 확인할 수 있습니다.

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (integer)

If this attribute is set to TRUE on a PDOStatement, the MySQL driver will use the buffered versions of the MySQL API. If you're writing portable code, you should use PDOStatement::fetchAll() instead.

예 1360. Forcing queries to be buffered in mysql

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
    $stmt = $db->prepare('select * from foo',
        array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
    die("my application only works with mysql; I should use \$stmt->fetchAll() instead");
}
?>

PDO::MYSQL_ATTR_LOCAL_INFILE (integer)

Enable LOAD LOCAL INFILE.

PDO::MYSQL_ATTR_INIT_COMMAND (integer)

Command to execute when connecting to the MySQL server. Will automatically be re-executed when reconnecting.

PDO::MYSQL_ATTR_READ_DEFAULT_FILE (integer)

Read options from the named option file instead of from my.cnf.

PDO::MYSQL_ATTR_READ_DEFAULT_GROUP (integer)

Read options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE.

PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (integer)

Maximum buffer size. Defaults to 1 MiB.

PDO::MYSQL_ATTR_DIRECT_QUERY (integer)

Perform direct queries, don't use prepared statements.

차례

PDO_MYSQL DSN -- Connecting to MySQL databases
이전 | 위로 | 다음
mysql_unbuffered_query | 처음으로 | PDO_MYSQL DSN


PDO_MYSQL DSN

(No version information available, might be only in CVS)

PDO_MYSQL DSN -- Connecting to MySQL databases

설명

The PDO_MYSQL Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is mysql:.

host

The hostname on which the database server resides.

port

The port number where the database server is listening.

dbname

The name of the database.

unix_socket

The MySQL Unix socket (shouldn't be used with host or port).

예제

예 1361. PDO_MYSQL DSN examples

The following example shows a PDO_MYSQL DSN for connecting to MySQL databases:

mysql:host=localhost;dbname=testdb

More complete examples:

mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

이전 | 위로 | 다음
XCIX. MySQL Functions (PDO_MYSQL) | 처음으로 | C. MySQL Improved Extension


Oracle Functions (PDO_OCI)

이전 VI. 함수 레퍼런스 다음

CXIV. Oracle Functions (PDO_OCI)

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

PDO_OCI is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Oracle databases through the OCI library.

차례

PDO_OCI DSN -- Connecting to Oracle databases
이전 | 위로 | 다음
ora_rollback | 처음으로 | PDO_OCI DSN


PDO_OCI DSN

(No version information available, might be only in CVS)

PDO_OCI DSN -- Connecting to Oracle databases

설명

The PDO_OCI Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is oci:.

dbname (Oracle Instant Client)

The URI for the Oracle Instant Client connection takes the form of dbname=//hostname:port-number/database. If you are connecting to a database defined in tnsnames.ora, use only the name of the database: dbname=database.

charset

The client-side character set for the current environment handle.

예제

예 1584. PDO_OCI DSN examples

The following examples show a PDO_OCI DSN for connecting to Oracle databases:

// Connect to a database defined in tnsnames.ora
oci:dbname=mydb

// Connect using the Oracle Instant Client
oci:dbname=//localhost:1521/mydb

이전 | 위로 | 다음
CXIV. Oracle Functions (PDO_OCI) | 처음으로 | CXV. 출력 제어 함수


ODBC and DB2 Functions (PDO_ODBC)

이전 VI. 함수 레퍼런스 다음

CIX. ODBC and DB2 Functions (PDO_ODBC)

소개

PDO_ODBC is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to databases through ODBC drivers or through the IBM DB2 Call Level Interface (DB2 CLI) library. PDO_ODBC currently supports three different "flavours" of database drivers:

ibm-db2

Supports access to IBM DB2 Universal Database, Cloudscape, and Apache Derby servers through the free DB2 client.

unixODBC

Supports access to database servers through the unixODBC driver manager and the database's own ODBC drivers.

generic

Offers a compile option for ODBC driver managers that are not explicitly supported by PDO_ODBC.

On Windows, PDO_ODBC is built into the PHP core by default. It is linked against the Windows ODBC Driver Manager so that PHP can connect to any database cataloged as a System DSN, and is the recommended driver for connecting to Microsoft SQL Server databases.

설치

절차 1. PDO_ODBC on UNIX systems

  • As of PHP 5.1, PDO_ODBC is included in the PHP source. You can compile the PDO_ODBC extension as either a static or shared module using the following configure commands.

    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/

    To build PDO_ODBC with the ibm-db2 flavour, you have to have previously installed the DB2 application development headers on the same machine on which you are compiling PDO_ODBC. The DB2 application development headers are an installable option in the DB2 servers, and are also available as part of the DB2 Application Development Client freely available for download from the IBM DB2 Universal Database » support site.

    If you do not supply a location for the DB2 libraries and headers to the configure command, PDO_ODBC defaults to /home/db2inst1/sqllib.

    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local

    If you do not supply a location for the unixODBC libraries and headers to the configure command, PDO_ODBC defaults to /usr/local.

    generic
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 225. PDO_ODBC Configuration Options

Name | Default | Changeable | Changelog
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Available since PHP 5.1.0.
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Available since PHP 5.1.1. Removed in PHP 6.0.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

pdo_odbc.connection_pooling string

Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" (equals to ""). The parameter describes how strict the connection manager should be when matching connection parameters to existing pooled connections. strict is the recommend default, and will result in the use of cached connections only when all the connection parameters match exactly. relaxed will result in the use of cached connections when similar connection parameters are used. This can result in increased use of the cache, at the risk of bleeding connection information between (for example) virtual hosts.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

주의

relaxed matching should not be used on a shared server, for security reasons.

작은 정보

Leave this setting at the default strict setting unless you have good reason to change it.

pdo_odbc.db2_instance_name string

If you compile PDO_ODBC using the db2 flavour, this setting sets the value of the DB2INSTANCE environment variable on Linux and UNIX operating systems to the specified name of the DB2 instance. This enables PDO_ODBC to resolve the location of the DB2 libraries and make cataloged connections to DB2 databases.

This setting can only be changed from the php.ini file, and affects the entire process; any other modules loaded into the process that use the same ODBC libraries will be affected too, including the Unified ODBC extension.

This setting has no effect on Windows.

차례

PDO_ODBC DSN -- Connecting to ODBC or DB2 databases
이전 | 위로 | 다음
odbc_tables | 처음으로 | PDO_ODBC DSN


PDO_ODBC DSN

(No version information available, might be only in CVS)

PDO_ODBC DSN -- Connecting to ODBC or DB2 databases

설명

The PDO_ODBC Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is odbc:. If you are connecting to a database cataloged in the ODBC driver manager or the DB2 catalog, you can append the cataloged name of the database to the DSN.

DSN

The name of the database as cataloged in the ODBC driver manager or the DB2 catalog. Alternately, you can provide a complete ODBC connection string to connect to a database as described at » http://www.connectionstrings.com/.

UID

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

PWD

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

예제

예 1567. PDO_ODBC DSN example (ODBC driver manager)

The following example shows a PDO_ODBC DSN for connecting to an ODBC database cataloged as testdb in the ODBC driver manager:

odbc:testdb

예 1568. PDO_ODBC DSN example (IBM DB2 uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to an IBM DB2 database named SAMPLE using the full ODBC DSN syntax:

odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;

예 1569. PDO_ODBC DSN example (Microsoft Access uncataloged connection)

The following example shows a PDO_ODBC DSN for connecting to a Microsoft Access database stored at C:\db.mdb using the full ODBC DSN syntax:

odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin

이전 | 위로 | 다음
CIX. ODBC and DB2 Functions (PDO_ODBC) | 처음으로 | CX. oggvorbis


PostgreSQL Functions (PDO_PGSQL)

이전 VI. 함수 레퍼런스 다음

CXXVIII. PostgreSQL Functions (PDO_PGSQL)

소개

PDO_PGSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to PostgreSQL databases.

자원형

This extension defines a stream resource returned by PDO::pgsqlLOBOpen().

차례

PDO_PGSQL DSN -- Connecting to PostgreSQL databases
PDO::pgsqlLOBCreate -- Creates a new large object
PDO::pgsqlLOBOpen -- Opens an existing large object stream
PDO::pgsqlLOBUnlink -- Deletes the large object
이전 | 위로 | 다음
pg_version | 처음으로 | PDO_PGSQL DSN


PDO_PGSQL DSN

(No version information available, might be only in CVS)

PDO_PGSQL DSN -- Connecting to PostgreSQL databases

설명

The PDO_PGSQL Data Source Name (DSN) is composed of the following elements, delimited by spaces:

DSN prefix

The DSN prefix is pgsql:.

host

The hostname on which the database server resides.

port

The port on which the database server is running.

dbname

The name of the database.

user

The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.

password

The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.

참고: The bytea fields are returned as streams.

예제

예 1879. PDO_PGSQL DSN examples

The following example shows a PDO_PGSQL DSN for connecting to a PostgreSQL database:

pgsql:host=localhost port=5432 dbname=testdb user=bruce password=mypass

이전 | 위로 | 다음
CXXVIII. PostgreSQL Functions (PDO_PGSQL) | 처음으로 | PDO::pgsqlLOBCreate


SQLite Functions (PDO_SQLITE)

이전 VI. 함수 레퍼런스 다음

CLVII. SQLite Functions (PDO_SQLITE)

소개

PDO_SQLITE is a driver that implements the PHP Data Objects (PDO) interface to enable access to SQLite 3 databases.

In PHP 5.1, the SQLite extension also provides a driver for SQLite 2 databases; while it is not technically a part of the PDO_SQLITE driver, it behaves similarly, so it is documented alongside it. The SQLite 2 driver for PDO is provided primarily to make it easier to import legacy sqlite 2 database files into an application that uses the faster, more efficient sqlite 3 driver. As a result, the SQLite 2 driver is not as feature-rich as the SQLite 3 driver.

차례

PDO_SQLITE DSN -- Connecting to SQLite databases
PDO->sqliteCreateAggregate() -- Registers an aggregating User Defined Function for use in SQL statements
PDO->sqliteCreateFunction() -- Registers a User Defined Function for use in SQL statements
이전 | 위로 | 다음
sqlite_valid | 처음으로 | PDO_SQLITE DSN


PDO_SQLITE DSN

(No version information available, might be only in CVS)

PDO_SQLITE DSN -- Connecting to SQLite databases

설명

The PDO_SQLITE Data Source Name (DSN) is composed of the following elements:

DSN prefix (SQLite 3)

The DSN prefix is sqlite:.

  • To access a database on disk, append the absolute path to the DSN prefix.

  • To create a database in memory, append memory: to the DSN prefix.

DSN prefix (SQLite 2)

The SQLite extension in PHP 5.1 provides a PDO driver that supports accessing and creating SQLite 2 databases. This enables you to access databases you may have created with the SQLite extension in previous versions of PHP.

참고: The sqlite2 driver is only available in PHP 5.1.x if you have enabled both PDO and ext/sqlite. It is not currently available via PECL.

The DSN prefix for connecting to SQLite 2 databases is sqlite2:.

  • To access a database on disk, append the absolute path to the DSN prefix.

  • To create a database in memory, append :memory: to the DSN prefix.

예제

예 2234. PDO_SQLITE DSN examples

The following examples show PDO_SQLITE DSN for connecting to SQLite databases:

sqlite:/opt/databases/mydb.sq3
sqlite::memory:
sqlite2:/opt/databases/mydb.sq2
sqlite2::memory:

이전 | 위로 | 다음
CLVII. SQLite Functions (PDO_SQLITE) | 처음으로 | PDO->sqliteCreateAggregate()


Phar archive stream and classes

이전 VI. 함수 레퍼런스 다음

CXXIII. Phar archive stream and classes

소개

The phar extension provides the phar stream wrapper and the Phar class for manipulating self-contained PHP Archive (phar) files. The Phar class can be used to create and to extract contents of phar files as well as iterating over their contents.

PHP Archive files (Phars) are special collections of files that can be transparently run right out of the file, similar to Java's jar archive files. Using a phar archive, it is possible to distribute a complete PHP application in a single file that will run out of the file without modification or extraction. Phar archives can also be used to store files for extraction similar to tar or zip archive files. Phars support compression using gzip if the zlib extension is present, and using bzip2 if the bz2 extension is present. In addition, iteration and other features are available if the SPL extension is available. Phar signature verification using md5 or sha1 is natively supported to ensure archive integrity.

The original implementation for Phar archives was in the PEAR package » PHP_Archive, and the implementation details are very similar, although the Phar extension is more full-featured. PHP_Archive has more flexibility in Phar creation, and helpful debugging tools like the PHP_Archive_Manager class, and the Phar extension supports iteration, array access, and directly manipulating Phar contents through a simple interface. PHP_Archive supports creation of Phar archives that can be processed using the Phar extension or PHP_Archive seamlessly, whereas the Phar extension is designed to create extensions that function with the Phar extension. In addition, the Phar extension will continue to work even if the allow_url_include or allow_url_fopen INI variables are disabled, while PHP_Archive-based Phar archives (without the Phar extension) will not function.

요구 조건

Phar requires PHP 5.2.0 or newer. Additional features require the SPL extension in order to take advantage of iteration and array access to a Phar's file contents. The phar stream does not require any additional extensions to function.

You may optionally wish to enable the zlib and bzip2 extensions to take advantage of compressed phar support.

설치

Windows binaries may be found at » http://snaps.php.net/. To install, download php_phar.dll to the folder specified by your php.ini file's extension_dir directive. Enable it by adding extension=php_phar.dll to your php.ini and restarting your web server.

extension_dir=c:/php5/exts/
extension=php_phar.dll

Linux, BSD, and other *nix variants can be compiled using the following steps:

  • Either:

    • Run the pear installer for PECL/phar: pecl install phar
    • Copy phar.so from the directory indicated by the build process to the location specified in your php.ini file under extension_dir.
    • Add extension=phar.so to your php.ini

    Or:

    • Set the path to your php.ini via:

      pecl config-set php_ini /path/to/php.ini

    • Run the pear installer for PECL/phar: pecl install phar

  • Restart your web server to reload your php.ini settings.

Development Versions: There are currently no stable versions of PECL/phar, to force installation of the alpha version of PECL/phar execute: pecl install phar-alpha

Compiling PECL/phar without using the PEAR command

Rather than using pecl install phar to automatically download and install PECL/phar, you may download the tarball from » PECL. From the root of the unpacked tarball, run: phpize && ./configure --enable-phar && make to generate phar.so. Once built, continue the installation from step 4 above.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/phar.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 244. Filesystem and Streams Configuration Options

Name | Default | Changeable | Changelog
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
phar.extract_list | "" | PHP_INI_ALL | Available since phar 1.1.0.

위 설정 지시어에 대한 간단한 설명입니다.

phar.readonly boolean

This option disables creation or modification of Phar archives using the phar stream or Phar object's write support. This setting should always be enabled on production machines, as the phar extension's convenient write support could allow straightforward creation of a php-based virus when coupled with other common security vulnerabilities.

참고: This setting can only be unset in php.ini due to security reasons. If phar.readonly is disabled in php.ini, the user may enable phar.readonly in a script or disable it later. If phar.readonly is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

phar.require_hash boolean

This option will force all opened Phar archives to contain some kind of signature (currently MD5 and SHA1 are supported), and will refuse to process any Phar archive that does not contain a signature.

참고: This setting can only be unset in php.ini due to security reasons. If phar.require_hash is disabled in php.ini, the user may enable phar.require_hash in a script or disable it later. If phar.require_hash is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

phar.extract_list string

Allows mappings from a full path to a phar archive or its alias to the location of its extracted files. The format of the parameter is name=archive,name2=archive2. This allows extraction of phar files to disk, and allows phar to act as a kind of mapper to extracted disk files. This is often done for performance reasons, or to assist with debugging a phar.

예 1695. phar.extract_list usage example

in php.ini:
phar.extract_list = archive=/full/path/to/archive/,arch2=/full/path/to/arch2
<?php
include "phar://archive/content.php";
include "phar://arch2/foo.php";
?>

자원형

The Phar extension provides the phar stream, which allows accessing files contained within a phar transparently. The file format of a Phar is described here

예약 클래스

Phar
PharFileInfo
PharException

Using Phar Archives: Introduction

Phar archives are similar in concept to Java JAR archives, but are tailored to the needs and to the flexibility of PHP applications. A Phar archive is used to distribute a complete PHP application or library in a single file. Unlike Java's implementation of JAR archives, no external tool is required to process or run a PHP Phar archive. A Phar archive application is processed exactly like any other PHP application:

php coolapplication.phar

Using a Phar archive library is identical to using any other PHP library:

<?php
include 'coollibrary.phar';
?>

What makes Phar archives incredibly useful is the phar stream wrapper, which is explained in depth here. Using this stream wrapper, it is possible to access individual files within a phar as if the phar were its own filesystem. The phar stream wrapper supports all read/write operations on files, and opendir() on directories.

<?php
include 'phar://coollibrary.phar/internal/file.php';
header('Content-type: image/jpeg');
// phars can be accessed by full path or by alias
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>

Also provided with the Phar extension is the Phar class, which allows accessing the files of the Phar archive as if it were an associative array, and other functionality. The Phar class is explained here.

<?php
try {
    // open an existing phar
    $p = new Phar('coollibrary.phar');
    foreach ($p as $file) {
        // $file is a PharFileInfo class, and inherits from SplFileInfo
        echo $file->getFileName() . "\n";
        echo $file . "\n"; // display contents;
    }
    if (isset($p['internal/file.php'])) {
        var_dump($p['internal/file.php']->getMetaData());
    }

    // create a new phar - phar.readonly must be 0 in php.ini
    // phar.readonly is enabled by default for security reasons.
    // On production servers, Phars need never be created,
    // only executed.
    if (Phar::canWrite()) {
        $p = new Phar(dirname(__FILE__) . '/newphar.phar', 0, 'newphar.phar');
        // create transaction - nothing is written to newphar.phar
        // until commit() is called, although temporary storage is needed
        $p->begin();
        // add a new file, set its contents
        $p['file1.txt'] = 'Information';
        $fp = fopen('hugefile.dat', 'rb');
        // copy from the stream
        $p['data/hugefile.dat'] = $fp;
        if (Phar::canCompress()) {
            $p['data/hugefile.dat']->setCompressedGZ();
        }
        $p['images/wow.jpg'] = file_get_contents('images/wow.jpg');
        // any value can be saved as file-specific meta-data
        $p['images/wow.jpg']->setMetaData(array('mime-type' => 'image/jpeg'));
        $p['index.php'] = file_get_contents('index.php');
        $p->setMetaData(array('bootstrap' => 'index.php'));
        // set the loader stub
        $p->setStub('<?php
$p = new Phar(__FILE__);
$m = $p->getMetaData();
require "phar://" . __FILE__ . "/" . $m["bootstrap"];
__HALT_COMPILER();');
        // save the phar archive to disk
        $p->commit();
    }
} catch (Exception $e) {
    echo 'Could not open Phar: ', $e;
}
?>

Using Phar Archives: the phar stream wrapper

The Phar stream wrapper fully supports fopen() for read, write or append, unlink(), stat(), fstat(), fseek(), rename() and directory stream operation opendir(). The Phar stream wrapper does not support creating or erasing a directory, as files are stored only as files, and the concept of an abstract directory does not exist.

Individual file compression and per-file metadata can also be manipulated in a Phar archive using stream contexts:

<?php
$context = stream_context_create(array('phar' =>
                                    array('compression' => Phar::GZ)),
                                    array('metadata' => array('user' => 'cellog')));
file_put_contents('phar://my.phar/somefile.php', 0, $context);
?>

The phar stream wrapper does not operate on remote files, and cannot operate on remote files, and so is allowed even when the allow_url_fopen and allow_url_include INI options are disabled.

Although it is possible to create phar archives from scratch just using stream operations, it is best to use the functionality built into the Phar class. The stream wrapper is best used for read operations.

Using Phar Archives: the Phar class

The Phar class supports reading and manipulation of Phar archives, as well as iteration through inherited functionality of the » RecursiveDirectoryIterator class. With support for the ArrayAccess interface, files inside a Phar archive can be accessed as if they were part of an associative array.

It is important to note that when creating a Phar archive, the full path should be passed to the Phar object constructor. Relative paths will fail to initialize.

Assuming that $p is a Phar object initialized as follows:

<?php
$p = new Phar('/path/to/myphar.phar', 0, 'myphar.phar');
?>

An empty Phar archive will be created at /path/to/myphar.phar, or if /path/to/myphar.phar already exists, it will be opened again. The literal myphar.phar deomnstrates the concept of an alias that can be used to reference /path/to/myphar.phar in URLs as in:

<?php
// these two calls to file_get_contents() are equivalent if
// /path/to/myphar.phar has an explicit alias of "myphar.phar"
// in its manifest, or if the phar was initialized with the
// previous example's Phar object setup
$f = file_get_contents('phar:///path/to/myphar.phar/whatever.txt');
$f = file_get_contents('phar://myphar.phar/whatever.txt');
?>

With the newly created $p Phar object, the following is possible:

  • $a = $p['file.php'] creates a PharFileInfo class that refers to the contents of phar://myphar.phar/file.php
  • $p['file.php'] = $v creates a new file (phar://myphar.phar/file.php), or overwrites an existing file within myphar.phar. $v can be either a string or an open file pointer, in which case the entire contents of the file will be used to create the new file.
  • isset($p['file.php']) can be used to determine whether phar://myphar.phar/file.php exists within myphar.phar.
  • unset($p['file.php']) erases phar://myphar.phar/file.php from myphar.phar.

In addition, the Phar object is the only way to access Phar-specific metadata, through Phar->getMetaData(), and the only way to set or retrieve a Phar archive's PHP loader stub through Phar->getStub() and Phar->setStub(). Additionally, compression for the entire Phar archive at once can only be manipulated using the Phar class.

The full list of Phar object functionality is documented below.

The PharFileInfo class extends the » SplFileInfo class, and adds several methods for manipulating Phar-specific details of a file contained within a Phar, such as manipulating compression and metadata.

Phar file format

All Phar files contain three to four sections:

  1. a stub

  2. a manifest describing the contents

  3. the file contents

  4. [optional] a signature for verifying Phar integrity

Phar file stub

A Phar's stub is a simple PHP file. The smallest possible stub follows:

<?php __HALT_COMPILER();

A stub must contain as a minimum, the __HALT_COMPILER(); token at its conclusion. Typically, a stub will contain loader functionality like so:

<?php
Phar::mapPhar();
include 'phar://myphar.phar/index.php';
__HALT_COMPILER();

There are no restrictions on the contents of a Phar stub, except for the requirement that it conclude with __HALT_COMPILER();. The closing PHP tag ?> may be included or omitted, but there can be no more than 1 space between the ; and the close tag ?> or the phar extension will be unable to process the Phar archive's manifest.

Phar Manifest Format

The Phar manifest is a highly optimized format that allows per-file specification of file compression, file permissions, and even user-defined meta-data such as file user or group. All values greater than 1 byte are stored in little-endian byte order, with the exception of the API version, which for historical reasons is stored as 3 nibbles in big-endian order.

All unused flags are reserved for future use, and must not be used to store custom information. Use the per-file meta-data facility to store customized information about particular files.

The basic file format of a Phar archive manifest is as follows:

표 245. Global Phar manifest format

Size in bytes | Description
4 bytes | Length of manifest in bytes (1 MB limit)
4 bytes | Number of files in the Phar
2 bytes | API version of the Phar manifest (currently 1.0.0)
4 bytes | Global Phar bitmapped flags
4 bytes | Length of Phar alias
?? | Phar alias (length based on previous)
4 bytes | Length of Phar metadata (0 for none)
?? | Serialized Phar Meta-data, stored in serialize() format
at least 24 * number of entries bytes | entries for each file

Global Phar bitmapped flags

Here are the bitmapped flags currently recognized by the Phar extension for the global Phar flat bitmap:

표 246. Bitmap values recognized

Value | Description
0x00010000 | If set, this Phar contains a verification signature
0x00001000 | If set, this Phar contains at least 1 file that is compressed with zlib compression
0x00002000 | If set, this Phar contains at least 1 file that is compressed with bzip compression

Phar manifest file entry definition

Each file in the manifest contains the following information:

표 247. Phar Manifest file entry

Size in bytes | Description
4 bytes | Filename length in bytes
?? | Filename (length specified in previous)
4 bytes | Un-compressed file size in bytes
4 bytes | Unix timestamp of file
4 bytes | Compressed file size in bytes
4 bytes | CRC32 checksum of un-compressed file contents
4 bytes | Bit-mapped File-specific flags
4 bytes | Serialized File Meta-data length (0 for none)
?? | Serialized File Meta-data, stored in serialize() format

The File-specific bitmap values recognized are:

표 248. Bitmap values recognized

Value | Description
0x000001FF | These bits are reserved for defining specific file permissions of a file. Permissions are used for fstat() and can be used to recreate desired permissions upon extraction.
0x00001000 | If set, this file is compressed with zlib compression
0x00002000 | If set, this file is compressed with bzip compression

Phar Signature format

Phars containing a signature always have the signature appended to the end of the Phar archive after the loader, manifest, and file contents. The two signature formats supported at this time are MD5 and SHA1.

표 249. Signature format

Length in bytes | Description
16 or 20 bytes | The actual signature, 20 bytes for an SHA1 signature, 16 bytes for an MD5 signature.
4 bytes | Signature flags. 0x0001 is used to define an MD5 signature, and 0x0002 is used to define an SHA1 signature.
4 bytes | Magic GBMB used to define the presence of a signature.

차례

Phar::apiVersion -- Returns the api version
Phar::canCompress -- Returns whether phar extension supports compression using either zlib or bzip2
Phar::canWrite -- Returns whether phar extension supports writing and creating phars
Phar->compressAllFilesBZIP2 -- Compresses all files in the current Phar archive using Bzip2 compression
Phar->compressAllFilesGZ -- Compresses all files in the current Phar archive using Gzip compression
Phar::__construct -- Construct a Phar archive object
Phar->count -- Returns the number of entries (files) in the Phar archive
Phar->getMetaData -- Returns phar archive meta-data
Phar->getModified -- Return whether phar was modified
Phar->getSignature -- Return MD5/SHA1 signature of a Phar archive
Phar->getStub -- Return the PHP loader or bootstrap stub of a Phar archive
Phar->getVersion -- Return version info of Phar archive
Phar->isBuffering -- Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
Phar::loadPhar -- Loads any phar archive with an alias
Phar::mapPhar -- Reads the currently executed file (a phar) and registers its manifest
Phar::offsetExists -- determines whether a file exists in the phar
Phar::offsetGet -- get a PharFileInfo object for a specific file
Phar::offsetSet -- set the contents of an internal file to those of an external file
Phar::offsetUnset -- remove a file from a phar
Phar->setMetaData -- Sets phar archive meta-data
Phar->setStub -- Used to set the PHP loader or bootstrap stub of a Phar archive
Phar->startBuffering -- Start buffering Phar write operations, do not modify the Phar object on disk
Phar->stopBuffering -- Stop buffering write requests to the Phar archive, and save changes to disk
Phar->uncompressAllFiles -- Uncompresses all files in the current Phar archive
PharFileInfo->chmod -- Sets file-specific permission bits
PharFileInfo::__construct -- Construct a Phar entry object
PharFileInfo->getCompressedSize -- Returns the actual size of the file (with compression) inside the Phar archive
PharFileInfo->getCRC32 -- Returns CRC32 code or throws an exception if not CRC checked
PharFileInfo->getMetaData -- Returns file-specific meta-data saved with a file
PharFileInfo->getPharFlags -- Returns the Phar file entry flags
PharFileInfo->isCompressed -- Returns whether the entry is compressed
PharFileInfo->isCompressedBZIP2 -- Returns whether the entry is compressed using bzip2
PharFileInfo->isCompressedGZ -- Returns whether the entry is compressed using gz
PharFileInfo->isCRCChecked -- Returns whether file entry has had its CRC verified
PharFileInfo->setCompressedBZIP2 -- Compresses the current Phar entry within the phar using Bzip2 compression
PharFileInfo->setCompressedGZ -- Compresses the current Phar entry within the phar using gz compression
PharFileInfo->setMetaData -- Sets file-specific meta-data saved with a file
PharFileInfo->setUncompressed -- Uncompresses the current Phar entry within the phar, if it is compressed
이전 | 위로 | 다음
PDOStatement->setFetchMode() | 처음으로 | Phar::apiVersion


PostScript document creation

이전 VI. 함수 레퍼런스 다음

CXXXI. PostScript document creation

소개

This module allows to create PostScript documents. It has many similarities with the pdf extension. Actually the API is almost identical and one can in many cases just replace the prefix of each function from pdf_ to ps_. This also works for functions which has no meaning in the PostScript document (like adding hyperlinks) but will have an effect if the document is converted to PDF.

Documents created by this extension are sometimes even superior to documents created with the pdf extension, because pslib's text rendering functions can handle kerning, hyphenation and ligatures which results in much better output of boxed text.

요구 조건

You need at least PHP 4.3.0 and pslib >= 0.1.12. The ps library (pslib) is available at » http://pslib.sourceforge.net/.

설치

A short installation note: just type

$ pecl install ps
in your console.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

자원형

This extension defines a PostScript document resource returned by ps_new().

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

The following two tables lists all constants defined by the ps extension.

표 266. Contants for line caps

Name | Meaning
ps_LINECAP_BUTT |
ps_LINECAP_ROUND |
ps_LINECAP_SQUARED |

표 267. Contants for line joins

Name | Meaning
ps_LINEJOIN_MITER |
ps_LINEJOIN_ROUND |
ps_LINEJOIN_BEVEL |

Contact Information

If you have comments, bugfixes, enhancements for either this extension or pslib then please drop me a mail » steinm@php.net. Any help is very welcome.

차례

ps_add_bookmark -- Add bookmark to current page
ps_add_launchlink -- Adds link which launches file
ps_add_locallink -- Adds link to a page in the same document
ps_add_note -- Adds note to current page
ps_add_pdflink -- Adds link to a page in a second pdf document
ps_add_weblink -- Adds link to a web location
ps_arc -- Draws an arc counterclockwise
ps_arcn -- Draws an arc clockwise
ps_begin_page -- Start a new page
ps_begin_pattern -- Start a new pattern
ps_begin_template -- Start a new template
ps_circle -- Draws a circle
ps_clip -- Clips drawing to current path
ps_close_image -- Closes image and frees memory
ps_close -- Closes a PostScript document
ps_closepath_stroke -- Closes and strokes path
ps_closepath -- Closes path
ps_continue_text -- Continue text in next line
ps_curveto -- Draws a curve
ps_delete -- Deletes all resources of a PostScript document
ps_end_page -- End a page
ps_end_pattern -- End a pattern
ps_end_template -- End a template
ps_fill_stroke -- Fills and strokes the current path
ps_fill -- Fills the current path
ps_findfont -- Loads a font
ps_get_buffer -- Fetches the full buffer containig the generated PS data
ps_get_parameter -- Gets certain parameters
ps_get_value -- Gets certain values
ps_hyphenate -- Hyphenates a word
ps_include_file -- Reads an external file with raw PostScript code
ps_lineto -- Draws a line
ps_makespotcolor -- Create spot color
ps_moveto -- Sets current point
ps_new -- Creates a new PostScript document object
ps_open_file -- Opens a file for output
ps_open_image_file -- Opens image from file
ps_open_image -- Reads an image for later placement
ps_open_memory_image -- Takes an GD image and returns an image for placement in a PS document
ps_place_image -- Places image on the page
ps_rect -- Draws a rectangle
ps_restore -- Restore previously save context
ps_rotate -- Sets rotation factor
ps_save -- Save current context
ps_scale -- Sets scaling factor
ps_set_border_color -- Sets color of border for annotations
ps_set_border_dash -- Sets length of dashes for border of annotations
ps_set_border_style -- Sets border style of annotations
ps_set_info -- Sets information fields of document
ps_set_parameter -- Sets certain parameters
ps_set_text_pos -- Sets position for text output
ps_set_value -- Sets certain values
ps_setcolor -- Sets current color
ps_setdash -- Sets appearance of a dashed line
ps_setflat -- Sets flatness
ps_setfont -- Sets font to use for following output
ps_setgray -- Sets gray value
ps_setlinecap -- Sets appearance of line ends
ps_setlinejoin -- Sets how contected lines are joined
ps_setlinewidth -- Sets width of a line
ps_setmiterlimit -- Sets the miter limit
ps_setoverprintmode -- Sets overprint mode
ps_setpolydash -- Sets appearance of a dashed line
ps_shading_pattern -- Creates a pattern based on a shading
ps_shading -- Creates a shading for later use
ps_shfill -- Fills an area with a shading
ps_show_boxed -- Output text in a box
ps_show_xy2 -- Output text at position
ps_show_xy -- Output text at given position
ps_show2 -- Output a text at current position
ps_show -- Output text
ps_string_geometry -- Gets geometry of a string
ps_stringwidth -- Gets width of a string
ps_stroke -- Draws the current path
ps_symbol_name -- Gets name of a glyph
ps_symbol_width -- Gets width of a glyph
ps_symbol -- Output a glyph
ps_translate -- Sets translation
이전 | 위로 | 다음
system | 처음으로 | ps_add_bookmark


Radius

이전 VI. 함수 레퍼런스 다음

CXXXIV. Radius

소개

This package is based on the libradius of FreeBSD. This PECL adds full support for Radius Authentication (» RFC 2865) and Radius Accounting (» RFC 2866). This package is available for Unix (tested on FreeBSD and Linux) and for Windows.

참고: An exact description for libradius can be found » here. A detailed description of the configuration file can be found » here.

설치

Howto install the package?

  • untar the package (usually into php4/ext)
  • rename radius-x.x to radius
  • run ./buildconf in php4
  • run ./configure --enable-radius
  • make; make install
or if you would like to have it as .so:
  • untar the package
  • run phpize in the radius-x.x directory
  • run ./configure in the radius-x.x directory
  • make; make install

For Windows I recommend to use the php_radius.dll from » http://snaps.php.net/. 번들되지 않은 PECL 확장은 » http://pecl4win.php.net/에서 받을 수 있습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

RADIUS_ACCESS_REQUEST ()
Authentication Request
RADIUS_ACCESS_ACCEPT ()
Access accepted
RADIUS_ACCESS_REJECT ()
Access rejected
RADIUS_ACCOUNTING_REQUEST ()
Accounting request
RADIUS_ACCOUNTING_RESPONSE ()
Accounting response
RADIUS_ACCESS_CHALLENGE ()
Accsess challenge
RADIUS_USER_NAME (string)
Username
RADIUS_USER_PASSWORD (string)
Password
RADIUS_CHAP_PASSWORD (string)
Chap Password: chappass = md5(ident + plaintextpass + challenge)
RADIUS_NAS_IP_ADDRESS (string)
NAS IP-Adress
RADIUS_NAS_PORT (int)
NAS Port
RADIUS_SERVICE_TYPE (int)

Type of Service, one of:

RADIUS_LOGIN
RADIUS_FRAMED
RADIUS_CALLBACK_LOGIN
RADIUS_CALLBACK_FRAMED
RADIUS_OUTBOUND
RADIUS_ADMINISTRATIVE
RADIUS_NAS_PROMPT
RADIUS_AUTHENTICATE_ONLY
RADIUS_CALLBACK_NAS_PROMPT

RADIUS_FRAMED_PROTOCOL (int)

Framed Protocol, one of:

RADIUS_PPP
RADIUS_SLIP
RADIUS_ARAP
RADIUS_GANDALF
RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (string)
IP-Address
RADIUS_FRAMED_IP_NETMASK (string)
Netmask
RADIUS_FRAMED_ROUTING (int)
Routing
RADIUS_FILTER_ID (string)
Filter ID
RADIUS_FRAMED_MTU (int)
MTU
RADIUS_FRAMED_COMPRESSION (int)

Compression, one of:

RADIUS_COMP_NONE
RADIUS_COMP_VJ
RADIUS_COMP_IPXHDR

RADIUS_LOGIN_IP_HOST (string)
Login IP Host
RADIUS_LOGIN_SERVICE (int)
Login Service
RADIUS_LOGIN_TCP_PORT (int)
Login TCP Port
RADIUS_REPLY_MESSAGE (string)
Reply Message
RADIUS_CALLBACK_NUMBER (string)
Callback Number
RADIUS_CALLBACK_ID (string)
Callback ID
RADIUS_FRAMED_ROUTE (string)
Framed Route
RADIUS_FRAMED_IPX_NETWORK (string)
Framed IPX Network
RADIUS_STATE (string)
State
RADIUS_CLASS (int)
Class
RADIUS_VENDOR_SPECIFIC (int)
Vendor specific attribute
RADIUS_SESSION_TIMEOUT (int)
Session timeout
RADIUS_IDLE_TIMEOUT (int)
Idle timeout
RADIUS_TERMINATION_ACTION (int)
Termination action
RADIUS_CALLED_STATION_ID (int)
Called Station Id
RADIUS_CALLING_STATION_ID (string)
Calling Station Id
RADIUS_NAS_IDENTIFIER (int)
NAS ID
RADIUS_PROXY_STATE (int)
Proxy State
RADIUS_LOGIN_LAT_SERVICE (int)
Login LAT Service
RADIUS_LOGIN_LAT_NODE (int)
Login LAT Node
RADIUS_LOGIN_LAT_GROUP (int)
Login LAT Group
RADIUS_FRAMED_APPLETALK_LINK (int)
Framed Appletalk Link
RADIUS_FRAMED_APPLETALK_NETWORK (int)
Framed Appletalk Network
RADIUS_FRAMED_APPLETALK_ZONE (int)
Framed Appletalk Zone
RADIUS_CHAP_CHALLENGE (string)
Challenge
RADIUS_NAS_PORT_TYPE (int)

NAS port type, one of:

RADIUS_ASYNC
RADIUS_SYNC
RADIUS_ISDN_SYNC
RADIUS_ISDN_ASYNC_V120
RADIUS_ISDN_ASYNC_V110
RADIUS_VIRTUAL
RADIUS_PIAFS
RADIUS_HDLC_CLEAR_CHANNEL
RADIUS_X_25
RADIUS_X_75
RADIUS_G_3_FAX
RADIUS_SDSL
RADIUS_ADSL_CAP
RADIUS_ADSL_DMT
RADIUS_IDSL
RADIUS_ETHERNET
RADIUS_XDSL
RADIUS_CABLE
RADIUS_WIRELESS_OTHER
RADIUS_WIRELESS_IEEE_802_11

RADIUS_PORT_LIMIT (int)
Port Limit
RADIUS_LOGIN_LAT_PORT (int)
Login LAT Port
RADIUS_CONNECT_INFO (string)
Connect info
RADIUS_ACCT_STATUS_TYPE (int)

Accounting status type, one of:

RADIUS_START
RADIUS_STOP
RADIUS_ACCOUNTING_ON
RADIUS_ACCOUNTING_OFF

RADIUS_ACCT_DELAY_TIME (int)
Accounting delay time
RADIUS_ACCT_INPUT_OCTETS (int)
Accounting input bytes
RADIUS_ACCT_OUTPUT_OCTETS (int)
Accounting output bytes
RADIUS_ACCT_SESSION_ID (int)
Accounting session ID
RADIUS_ACCT_AUTHENTIC (int)

Accounting authentic, one of:

RADIUS_AUTH_RADIUS
RADIUS_AUTH_LOCAL
RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (int)
Accounting session time
RADIUS_ACCT_INPUT_PACKETS (int)
Accounting input packets
RADIUS_ACCT_OUTPUT_PACKETS (int)
Accounting output packets
RADIUS_ACCT_TERMINATE_CAUSE (int)

Accounting terminate cause, one of:

RADIUS_TERM_USER_REQUEST
RADIUS_TERM_LOST_CARRIER
RADIUS_TERM_LOST_SERVICE
RADIUS_TERM_IDLE_TIMEOUT
RADIUS_TERM_SESSION_TIMEOUT
RADIUS_TERM_ADMIN_RESET
RADIUS_TERM_ADMIN_REBOOT
RADIUS_TERM_PORT_ERROR
RADIUS_TERM_NAS_ERROR
RADIUS_TERM_NAS_REQUEST
RADIUS_TERM_NAS_REBOOT
RADIUS_TERM_PORT_UNNEEDED
RADIUS_TERM_PORT_PREEMPTED
RADIUS_TERM_PORT_SUSPENDED
RADIUS_TERM_SERVICE_UNAVAILABLE
RADIUS_TERM_CALLBACK
RADIUS_TERM_USER_ERROR
RADIUS_TERM_HOST_REQUEST

RADIUS_ACCT_MULTI_SESSION_ID (string)
Accounting multi session ID
RADIUS_ACCT_LINK_COUNT (int)
Accounting link count
RADIUS_VENDOR_MICROSOFT (int)

Microsoft specific vendor attributes (» RFC 2548), one of:

RADIUS_MICROSOFT_MS_CHAP_RESPONSE
RADIUS_MICROSOFT_MS_CHAP_ERROR
RADIUS_MICROSOFT_MS_CHAP_PW_1
RADIUS_MICROSOFT_MS_CHAP_PW_2
RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
RADIUS_MICROSOFT_MS_RAS_VENDOR
RADIUS_MICROSOFT_MS_CHAP_DOMAIN
RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
RADIUS_MICROSOFT_MS_BAP_USAGE
RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD
RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT
RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
RADIUS_MICROSOFT_MS_RAS_VERSION
RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
RADIUS_MICROSOFT_MS_FILTER
RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
RADIUS_MICROSOFT_MS_CHAP2_PW
RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
RADIUS_MICROSOFT_MS_ARAP_CHALLENGE

Quickstart

Howto start?

  • get a radius resource
  • configure the library
  • create the request
  • put attributes
  • send the request
  • receive attributes
  • close the radius resource (optional)
Take also a look at the examples in this package.

The package contains an example php script. This script demonstrates howto authenticate with radius using PAP or CHAP (md5). If you authenticate with Microsoft Radius servers then its not possible to use CHAP (md5). If you would like to authenticate with Microsoft Servers you have to use MS-CHAPv1 or MS-CHAPv2, but its more complicated, because you need md4, sha1 and des to generate the right data. The enclosed examples demonstrate all authentication-methods, including MS-CHAPv1 and MS-CHAPv2. To get the MS-CHAP to work you need the mcrypt and the mhash extension, starting with version 1.2 of the package, the mcrypt extension is no longer needed.

Contact Information

If you have comments, bugfixes, enhancements or want to help to develop this you can send me a mail at » mbretter@php.net. Binaries for Windows can be downloaded from » here.

차례

radius_acct_open -- Creates a Radius handle for accounting
radius_add_server -- Adds a server
radius_auth_open -- Creates a Radius handle for authentication
radius_close -- Frees all ressources
radius_config -- Causes the library to read the given configuration file
radius_create_request -- Create accounting or authentication request
radius_cvt_addr -- Converts raw data to IP-Address
radius_cvt_int -- Converts raw data to integer
radius_cvt_string -- Converts raw data to string
radius_demangle_mppe_key -- Derives mppe-keys from mangled data
radius_demangle -- Demangles data
radius_get_attr -- Extracts an attribute
radius_get_vendor_attr -- Extracts a vendor specific attribute
radius_put_addr -- Attaches an IP-Address attribute
radius_put_attr -- Attaches a binary attribute
radius_put_int -- Attaches an integer attribute
radius_put_string -- Attaches a string attribute
radius_put_vendor_addr -- Attaches a vendor specific IP-Address attribute
radius_put_vendor_attr -- Attaches a vendor specific binary attribute
radius_put_vendor_int -- Attaches a vendor specific integer attribute
radius_put_vendor_string -- Attaches a vendor specific string attribute
radius_request_authenticator -- Returns the request authenticator
radius_send_request -- Sends the request and waites for a reply
radius_server_secret -- Returns the shared secret
radius_strerror -- Returns an error message
이전 | 위로 | 다음
qdom_tree | 처음으로 | radius_acct_open


RPM Header Reading 함수

이전 VI. 함수 레퍼런스 다음

CXXXVIII. RPM Header Reading 함수

소개

This module allows you to read the meta information stored in the headers of a » RedHat Package Manager (» RPM) file.

요구 조건

The RPMReader extension requires PHP 5.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/rpmreader.

자원형

There is one resource type used by the RPMReader module. The resource is a file pointer which identifies the RPM file with which to work.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

The following list of constants are used to obtain information using the rpm_get_tag() function. These constants represent the tag number to be retrieved from the RPM file's header section. Descriptions are given below as to what data the tag number constants reference.

RPMREADER_MINIMUM (integer)
The minimum valid value of any RPM tag number.
RPMREADER_NAME (integer)
The name of the RPM package.
RPMREADER_VERSION (integer)
The version of the RPM package.
RPMREADER_RELEASE (integer)
The release of the RPM package.
RPMREADER_EPOCH (integer)
RPMREADER_SERIAL (integer)
RPMREADER_SUMMARY (integer)
The summary text of the RPM package.
RPMREADER_DESCRIPTION (integer)
The full description text of the RPM package.
RPMREADER_BUILDTIME (integer)
The date and time when the RPM package was built.
RPMREADER_BUILDHOST (integer)
The name of the host on which the RPM package was built.
RPMREADER_INSTALLTIME (integer)
RPMREADER_SIZE (integer)
The size of the RPM package.
RPMREADER_DISTRIBUTION (integer)
RPMREADER_VENDOR (integer)
RPMREADER_GIF (integer)
RPMREADER_XPM (integer)
RPMREADER_LICENSE (integer)
RPMREADER_COPYRIGHT (integer)
RPMREADER_PACKAGER (integer)
RPMREADER_GROUP (integer)
RPMREADER_SOURCE (integer)
RPMREADER_PATCH (integer)
RPMREADER_URL (integer)
RPMREADER_OS (integer)
RPMREADER_ARCH (integer)
RPMREADER_PREIN (integer)
RPMREADER_POSTIN (integer)
RPMREADER_PREUN (integer)
RPMREADER_POSTUN (integer)
RPMREADER_OLDFILENAMES (integer)
The list of files in an RPM package (deprecated format). The correct way is now to use a combination of 3 tags (RPMREADER_BASENAMES, RPMREADER_DIRINDEXES, RPMREADER_DIRNAMES) in what RPM now calls "CompressedFileNames". This tag is still used in older RPM files that did not use the "CompressedFileNames" method and is maintained for backward compatibility.
RPMREADER_FILESIZES (integer)
RPMREADER_FILESTATES (integer)
RPMREADER_FILEMODES (integer)
RPMREADER_FILERDEVS (integer)
RPMREADER_FILEMTIMES (integer)
RPMREADER_FILEMD5S (integer)
RPMREADER_FILELINKTOS (integer)
RPMREADER_FILEFLAGS (integer)
RPMREADER_FILEUSERNAME (integer)
RPMREADER_FILEGROUPNAME (integer)
RPMREADER_ICON (integer)
RPMREADER_SOURCERPM (integer)
RPMREADER_FILEVERIFYFLAGS (integer)
RPMREADER_ARCHIVESIZE (integer)
RPMREADER_PROVIDENAME (integer)
RPMREADER_PROVIDES (integer)
RPMREADER_REQUIREFLAGS (integer)
RPMREADER_REQUIRENAME (integer)
RPMREADER_REQUIREVERSION (integer)
RPMREADER_CONFLICTFLAGS (integer)
RPMREADER_CONFLICTNAME (integer)
RPMREADER_CONFLICTVERSION (integer)
RPMREADER_EXCLUDEARCH (integer)
RPMREADER_EXCLUDEOS (integer)
RPMREADER_EXCLUSIVEARCH (integer)
RPMREADER_EXCLUSIVEOS (integer)
RPMREADER_RPMVERSION (integer)
RPMREADER_TRIGGERSCRIPTS (integer)
RPMREADER_TRIGGERNAME (integer)
RPMREADER_TRIGGERVERSION (integer)
RPMREADER_TRIGGERFLAGS (integer)
RPMREADER_TRIGGERINDEX (integer)
RPMREADER_VERIFYSCRIPT (integer)
RPMREADER_CHANGELOGTIME (integer)
The list of dates from changelog entries.
RPMREADER_CHANGELOGNAME (integer)
The list of changelog entry names.
RPMREADER_CHANGELOGTEXT (integer)
The list of the text from changelog entries.
RPMREADER_PREINPROG (integer)
RPMREADER_POSTINPROG (integer)
RPMREADER_PREUNPROG (integer)
RPMREADER_POSTUNPROG (integer)
RPMREADER_BUILDARCHS (integer)
RPMREADER_OBSOLETENAME (integer)
RPMREADER_OBSOLETES (integer)
RPMREADER_VERIFYSCRIPTPROG (integer)
RPMREADER_TRIGGERSCRIPTPROG (integer)
RPMREADER_COOKIE (integer)
RPMREADER_FILEDEVICES (integer)
RPMREADER_FILEINODES (integer)
RPMREADER_FILELANGS (integer)
RPMREADER_PREFIXES (integer)
RPMREADER_INSTPREFIXES (integer)
RPMREADER_PROVIDEFLAGS (integer)
RPMREADER_PROVIDEVERSION (integer)
RPMREADER_OBSOLETEFLAGS (integer)
RPMREADER_OBSOLETEVERSION (integer)
RPMREADER_DIRINDEXES (integer)
The list of indices that relate directory names to files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.
RPMREADER_BASENAMES (integer)
The list of the names of files in the RPM package without path information. This tag is used in conjunction with RPMREADER_DIRINDEXES and RPMREADER_DIRNAMES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.
RPMREADER_DIRNAMES (integer)
The list of directory names used by files in the RPM package. This tag is used in conjunction with RPMREADER_BASENAMES and RPMREADER_DIRINDEXES to reconstruct filenames in the RPM package stored with the new "CompressedFileNames" method in RPM.
RPMREADER_OPTFLAGS (integer)
RPMREADER_DISTURL (integer)
RPMREADER_PAYLOADFORMAT (integer)
RPMREADER_PAYLOADCOMPRESSOR (integer)
RPMREADER_PAYLOADFLAGS (integer)
RPMREADER_INSTALLCOLOR (integer)
RPMREADER_INSTALLTID (integer)
RPMREADER_REMOVETID (integer)
RPMREADER_RHNPLATFORM (integer)
RPMREADER_PLATFORM (integer)
RPMREADER_PATCHESNAME (integer)
RPMREADER_PATCHESFLAGS (integer)
RPMREADER_PATCHESVERSION (integer)
RPMREADER_CACHECTIME (integer)
RPMREADER_CACHEPKGPATH (integer)
RPMREADER_CACHEPKGSIZE (integer)
RPMREADER_CACHEPKGMTIME (integer)
RPMREADER_FILECOLORS (integer)
RPMREADER_FILECLASS (integer)
RPMREADER_CLASSDICT (integer)
RPMREADER_FILEDEPENDSX (integer)
RPMREADER_FILEDEPENDSN (integer)
RPMREADER_DEPENDSDICT (integer)
RPMREADER_SOURCEPKGID (integer)
RPMREADER_FILECONTEXTS (integer)
RPMREADER_FSCONTEXTS (integer)
RPMREADER_RECONTEXTS (integer)
RPMREADER_POLICIES (integer)
RPMREADER_MAXIMUM (integer)
The maximum valid value of any RPM tag number.

예제

This example will open an RPM file and read the name, version, and release from the RPM file, echo the results, and close the RPM file.

예 1964. Basic RPMReader Example

<?php

$filename = "/path/to/file.rpm";

// open file
$rpmr = rpm_open($filename);

// get "Name" tag
$name = rpm_get_tag($rpmr, RPMREADER_NAME);

// get "Version" tag
$ver = rpm_get_tag($rpmr, RPMREADER_VERSION);

// get "Release" tag
$rel = rpm_get_tag($rpmr, RPMREADER_RELEASE);

echo "$name-$ver-$rel<br>\n";

// close file
rpm_close($rpmr);

?>

차례

rpm_close -- Closes an RPM file
rpm_get_tag -- Retrieves a header tag from an RPM file
rpm_is_valid -- Tests a filename for validity as an RPM file
rpm_open -- Opens an RPM file
rpm_version -- Returns a string representing the current version of the rpmreader extension
이전 | 위로 | 다음
recode | 처음으로 | rpm_close


runkit Functions

이전 VI. 함수 레퍼런스 다음

CXXXIX. runkit Functions

소개

The runkit extension provides means to modify constants, user-defined functions, and user-defined classes. It also provides for custom superglobal variables and embeddable sub-interpreters via sandboxing.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/runkit.

This package is meant as a feature added replacement for the » classkit package. When compiled with the --enable-runkit=classkit option to ./configure, it will export classkit compatible function definitions and constants.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/runkit.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

요구 조건

Modifying Constants, Functions, Classes, and Methods works with all releases of PHP 4 and PHP 5. No special requirements are necessary.

Custom Superglobals are only available in PHP 4.2.0 or later.

Sandboxing requires PHP 5.1.0 or later, or PHP 5.0.0 with a special TSRM patch applied. Regardless of which version of PHP is in use it must be compiled with the --enable-maintainer-zts option. See the README file in the runkit package for additional information.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 268. Runkit Configuration Options

Name | Default | Changeable | Changelog
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

runkit.superglobal string

Comma-separated list of variable names to be treated as superglobals. This value should be set in the systemwide php.ini file, but may work in perdir configuration contexts depending on your SAPI.

예 1970. Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini

<?php
function show_values() {
  echo "Foo is $_FOO\n";
  echo "Bar is $_BAR\n";
  echo "Baz is $_BAZ\n";
}

$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';

/* Displays foo and bar, but not baz */
show_values();
?>

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

RUNKIT_IMPORT_FUNCTIONS (integer)
runkit_import() flag indicating that normal functions should be imported from the specified file.
RUNKIT_IMPORT_CLASS_METHODS (integer)
runkit_import() flag indicating that class methods should be imported from the specified file.
RUNKIT_IMPORT_CLASS_CONSTS (integer)
runkit_import() flag indicating that class constants should be imported from the specified file. Note that this flag is only meaningful in PHP versions 5.1.0 and above.
RUNKIT_IMPORT_CLASS_PROPS (integer)
runkit_import() flag indicating that class standard properties should be imported from the specified file.
RUNKIT_IMPORT_CLASSES (integer)
runkit_import() flag representing a bitwise OR of the RUNKIT_IMPORT_CLASS_* constants.
RUNKIT_IMPORT_OVERRIDE (integer)
runkit_import() flag indicating that if any of the imported functions, methods, constants, or properties already exist, they should be replaced with the new definitions. If this flag is not set, then any imported definitions which already exist will be discarded.
RUNKIT_ACC_PUBLIC (integer)
PHP 5 specific flag to runkit_method_add()
RUNKIT_ACC_PROTECTED (integer)
PHP 5 specific flag to runkit_method_add()
RUNKIT_ACC_PRIVATE (integer)
PHP 5 specific flag to runkit_method_add()
CLASSKIT_ACC_PUBLIC (integer)
PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.
CLASSKIT_ACC_PROTECTED (integer)
PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.
CLASSKIT_ACC_PRIVATE (integer)
PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.
CLASSKIT_AGGREGATE_OVERRIDE (integer)
PHP 5 specific flag to classkit_import() Only defined when classkit compatibility is enabled.
RUNKIT_VERSION (string)
Defined to the current version of the runkit package.
CLASSKIT_VERSION (string)
Defined to the current version of the runkit package. Only defined when classkit compatibility is enabled.

차례

Runkit_Sandbox -- Runkit Sandbox Class -- PHP Virtual Machine
Runkit_Sandbox_Parent -- Runkit Anti-Sandbox Class
runkit_class_adopt -- Convert a base class to an inherited class, add ancestral methods when appropriate
runkit_class_emancipate -- Convert an inherited class to a base class, removes any method whose scope is ancestral
runkit_constant_add -- Similar to define(), but allows defining in class definitions as well
runkit_constant_redefine -- Redefine an already defined constant
runkit_constant_remove -- Remove/Delete an already defined constant
runkit_function_add -- Add a new function, similar to create_function()
runkit_function_copy -- Copy a function to a new function name
runkit_function_redefine -- Replace a function definition with a new implementation
runkit_function_remove -- Remove a function definition
runkit_function_rename -- Change a function's name
runkit_import -- Process a PHP file importing function and class definitions, overwriting where appropriate
runkit_lint_file -- Check the PHP syntax of the specified file
runkit_lint -- Check the PHP syntax of the specified php code
runkit_method_add -- Dynamically adds a new method to a given class
runkit_method_copy -- Copies a method from class to another
runkit_method_redefine -- Dynamically changes the code of the given method
runkit_method_remove -- Dynamically removes the given method
runkit_method_rename -- Dynamically changes the name of the given method
runkit_return_value_used -- Determines if the current functions return value will be used
runkit_sandbox_output_handler -- Specify a function to capture and/or process output from a runkit sandbox
runkit_superglobals -- Return numerically indexed array of registered superglobals
이전 | 위로 | 다음
rpm_version | 처음으로 | Runkit_Sandbox


SAM - Simple Asynchronous Messaging

이전 VI. 함수 레퍼런스 다음

CXL. SAM - Simple Asynchronous Messaging

소개

This extension provides access to the functionality of messaging and queueing systems, such as the IBM WebSphere MQSeries family of products, from PHP scripts. The interface is designed to make it extremely simple to do the more commonly required tasks such as deliver simple text messages to queues while still allowing skilled users to do more complex messaging operations. For many users the complexities of setting up numerous options can be simply ignored.

The SAM extension is a framework that provides a very simple API that can be used to access a number of messaging middleware systems. Currently the package includes built-in support for the MQTT (MQ Telemetry Transport) messaging protocol and support for the IBM Messaging and Queuing middleware products. SAM is designed to be readily extended to support other messaging systems and extension modules may be written in C or PHP.

설치

The SAM framework and MQTT support can be built and used without any other prerequisites. Support for protocols other than MQTT is provided via a set of libraries and some client side code referred to as XMS.

If you only intend to use the built-in MQTT support then you can build and configure SAM as an extension or simply refer to "php_sam.php" with a "requires" or "requires_once" clause in your PHP script. In this case you need only install the code without building the extension using the pear installer:

      pecl install -B SAM

Prerequisites

The SAM extension interfaces to the IBM Messaging and Queuing middleware products using a set of libraries and some client side code referred to as XMS. This package is available as a free download in the guise of IBM support pack IA94. There is a description of this package and download links in the article » Introducing XMS - The IBM Message Service API.

If you intend to use SAM to access the Messaging and Queuing infrastructure within WebSphere MQ then you will also need to have installed a local MQ queue manager or installed the WebSphere MQ clients package. The clients package is freely available as a support pack (» MQC6).

If you are only aiming to experiment with sending messages to and from WebSphere Application Server queues using the WebSphere Platform Messaging protocol (WPM) then you do not need to install the MQC6 package.

After installing these packages you will need to ensure the XMS binary and, if you are using it, the MQ client bin directory are included in the PATH environment variable so that Apache and PHP can find the dependent .DLLs/libraries.

Linux installation steps

The sam extension is supplied as a PECL module, which you should be able to download and install in one step as follows:

pecl install sam
(Depending on your php environment, you will probably need to be root to do this.)

Make sure that the module is loaded by PHP, by adding following line to php.ini:

extension=sam.so
If you intend to use the XMS support to access the IBM Messaging and Queuing family you must also enable the SAM XMS extension.

extension=sam_xms.so

If you cannot use the PEAR installer, you can download the extension and build it manually:

pear download sam          #downloads sam-<version>.tgz
tar -xzf sam-<version>.tgz
cd sam-<version>
phpize
./configure
make
make install               #you may need to be root for this step

To work with the very latest source, you'll need to extract it from cvs and build manually as above.

Windows installation steps

You will probably need to build the sam extension for Windows as there are only a limited range of pre-built binaries available from the SAM website. The extension can be built using the standard Windows extension build procedures.

You will need the PHP source tree for the version of PHP you wish to build the SAM extension against which you can obtain from php.net. This should be unpacked into a working directory of your choice.

You will also need the libraries and headers used by PHP extensions available from http://www.php.net/extra/win32build.zip and this should be unzipped so that is in your working directory.

You should have something like:

c:\php-build\-
              |
              |---php-5.0.5--|---build
              |              |---ext
              |              |--- ...
              |
              |---win32build--|---bin
                              |---include
                              |---lib

You will need a compiler such as the free version of Visual Studio C++ Express from the Microsoft web site. Also you need the Microsoft Windows Platform SDK which again can be downloaded from the Microsoft web site.

Obtain the SAM extension source using pear (pecl download sam) or by using CVS and copy the files to a new "sam" directory under the "ext" directory in your PHP source tree.

To build the extension open a build environment window by going to the start menu->all programs->microsoft platform SDK for windows-> open build environment window->windows 200 build environment-> set windows 2000 build environment (retail)

This should open a command prompt with all the environment variables set up to access the platform SDK etc. You then need to set the environment variables for Visual Studio by issuing the command "vcvars32.bat" in the window.

Change directory to your working directory e.g. cd c:\php-build. Then make sure the win32build tools are accessible by adding them to the PATH environment variable:

set PATH=..\win32build\bin;%PATH%

Run the buildconf.bat command. This should rebuild the configure.js file.

Run the cscript command with the appropriate options. To build just the SAM extension framework and MQTT support use:

cscript /nologo configure.js --with-sam
To build the SAM framework and the XMS support use:

cscript /nologo configure.js --with-sam --with-sam_xms="c:\program files\ibm\xms"

The additional parameter passed for sam_xms is the installation path to the XMS libraries and runtime that were installed as described under prerequisites at the top of this page.

You can specify whatever other cscript parameters you require to include or exclude items from the php build or select options.

Assuming all has gone well so far you can now finally run a make for the SAM framework!

nmake php_sam.dll
Also if you are using the XMS support you must make the sam_xms extensions:

nmake php_sam_xms.dll

If you have used Visual Studio 2005 to build the DLLs please see below for additional steps that must be carried out before proceeding further.

The DLLs created (php_sam.dll and optionally php_sam_xms.dll) can now be copied to the subdirectory appropriate for your PHP set-up. Make sure that the module(s) are loaded by PHP, by adding following line to php.ini :

extension=php_sam.dll
If you intend to use the XMS support to access the IBM Messgaing and Queuing family you must also enable the SAM XMS extension.

extension=php_sam_xms.dll

Additional steps for Visual Studio 2005

If you build the SAM extension with the Microsoft Visual Studio 2005 compiler and tools you need to perform an additional step in the build process to ensure the php_sam.dll is able to link with the C runtime libraries at runtime. This step includes the dependancy manifest into the DLL. Switch to the directory where the php_sam.dll has been generated (usually Release_TS or Debug_TS below the php source directory) and issue the following magic incantation:

mt.exe -manifest php_sam.dll.manifest -outputresource:php_sam.dll;2
If you are using the XMS capabilities you will need to do the same with the SAM XMS DLL:

mt.exe -manifest php_sam_xms.dll.manifest -outputresource:php_sam_xms.dll;2

If you build the SAM extension using the compiler and libaries from Microsoft Visual Studio 2005 you will also need to ensure that the runtime components are installed on the system on which you intend to use SAM. This can be accomplished by installing Visual Studio 2005 or by using the freely distributable » runtime package.

Protocol support and mapping

The SAM framework can be extended to support other messaging protocols and connection mechanisms. To add support for a new protocol or connection library a support class has to be defined, either as a C extension or as a PHP script, and a "factory" script must be created. The support class must implement all the methods of the SAMConnection class though it should not inherit from SAMConnection. The factory script will be called by the SAM framework to create an instance of the implemented class. The way SAM chooses which factory to call is based on the protocol specified as the first parameter of the "connect" call.

By default the built-in MQTT support will be used if a connect call specifies a protocol of SAM_MQTT ("mqtt"), for any other protocol SAM will attempt to use the XMS support extension. To add support for additional protocols or to modify the default behavior entries may be added to php.ini in the [sam] section. The default mapping is equivalent to the following entries:

[sam]
sam.factory.mqtt=mqtt
sam.factory.wmq=xms
sam.factory.wmq:client=xms
sam.factory.wmq:bindings=xms
sam.factory.wpm=xms
sam.factory.rtt=xms
As can be seen from these examples the entries take the form of "sam.factory.pppp=xxx" where pppp is the protocol string specified on the connect call and xxx is a factory suffix. Note: SAM defines constants for these protocol strings such that SAM_WMQ=wmq, SAM_WPM=wpm, SAM_RTT=rtt, SAM_MQTT=mqtt, etc.

When identifying the support code to use on a connect call SAM looks up the protocol name in the php.ini entries and then invokes a factory script named sam_factory_xxx.php. If no entry is found the support will default to XMS.

API Usage

Connections

In order to perform any messaging and queueing functions a connection must be established with a messaging server by creating a SAMConnection object and calling its "connect" method, with a set of connection properties, to connect the PHP script to the messaging server. Until such time as the SAMConnection object is destroyed the connection will be maintained and available for use. All SAMConnection objects are destroyed when the PHP script exits.

A set of default properties may be used in connecting to a messaging server but as a minimum the PHP script must specify a protocol to be used.

예 1989. Creating a connection and connecting to a remote WebSphere MQSeries Messaging Server

<?php
   $conn = new SAMConnection();
   $conn->connect(SAM_WMQ, array(SAM_HOST => 'myhost.mycompany.com',
                                 SAM_PORT => 1506,
                                 SAM_BROKER => 'mybroker'));
?>

예 1990. Creating a connection and connecting to a remote WebSphere Application Server

<?php
   $conn = new SAMConnection();
   $conn->connect(SAM_WPM, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                                 SAM_BUS => 'Bus1',
                                 SAM_TARGETCHAIN => 'InboundBasicMessaging'));
?>

예 1991. Creating a connection and connecting to an MQTT server

<?php
   $conn = new SAMConnection();
   $conn->connect(SAM_MQTT, array(SAM_HOST => 'myhost.mycompany.com',
                                 SAM_PORT => 1883));
?>

Messages

Messages sent to and received from queues are represented by the SAMMessage object. The SAMMessage object encapsulates the body of the message (if one exists) and the header properties associated with the message. A SAMMessage object is either supplied as a parameter to a messaging operation or returned as a result.

예 1992. Creating a message with a simple text body

<?php
$msg = new SAMMessage('This is a simple text message');
?>

Messages may have header properties associated with them that provide control over the transport of the message or further information to the receiving application. By default message properties are delivered to the underlying messaging system as strings and in this case they may be set with the following simple syntax:

예 1993. Setting a text format property using the default syntax

<?php
   $msg->header->myPropertyName = 'textData';
?>

If it is desired to pass type information an alternative syntax may be used where the value and the type hint are passed in an associative array:

예 1994. Setting a property using a type hint

<?php
   $msg->header->myPropertyName = array(3.14159, SAM_FLOAT);
?>

Properties may also be extracted from the header of a message.

예 1995. Retrieving a property from a message header

<?php
   $myProperty = $msg->header->myPropertyName;
?>

Messaging operations

All messaging operations are performed through calls to methods on the connection object. To add a message to a queue the "send" method is used, to obtain a message from a queue the "receive" method is used. Other methods provide publish and subscribe functionality and control of transaction boundaries.

예 1996. Adding a message to a queue and receiving a response

<?php
$msg = new SAMMessage('This is a simple text message');
$msg->header->SAM_REPLY_TO = 'queue://receive/test';
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // The Send failed!
  echo "Send failed ($conn->errno) $conn->error";
} else {
  $resp = $conn->receive('queue://receive/test', array(SAM_CORRELID => $correlid));
}
?>

Publish/Subscribe and suscriptions to topics

SAM allows messages to be sent either to queues or, for WebSphere MQ and WPM, to publish/subscribe topics. A topic desintation is specified to SAM in the usual way, i.e. in the form 'topic://fred', rather than the form 'queue://AQUEUE' used for point to point operation. To use publish/subscribe it is simply necessary to specify the correct broker name on the SAMConnect "connect" call and the desired topic in the destination argument to the SAMConnect "send" and "receive" calls. The PHP interface is otherwise identical to the point to point model.

By default, SAM creates non-durable subscriptions when using publish/subscribe. This means that if a client application is inactive when messages are published to a topic, then it will not receive them when it subsequently restarted. SAM does also allow durable subscriptions to be made to topics when using WPM or WebSphere MQ publish/subscribe. The purpose of these subscriptions is to allow data to be received by a client application even if that client was not active at the time the data was published.

Durable subscriptions are specified by using the SAMConnect "subscribe" call. This method takes the destination topic as an input parameter and returns a subscription identifier that may be used on subsequent "receive" calls. When the subscription is no longer required the SAMConnection "unsubscribe" method should be used to delete the subscription.

예 1997. Creating a durable subscription to a topic

<?php

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe failed";
} else {
   # Subscribe was OK
   // ...
}
?>

예 1998. Subscribing to a topic using a WebSphere Platform Messaging (WPM) server

<?php
$conn = new SAMConnection();
// Note: For pub/sub on WPM, when connecting the name of a messaging engine
//   to hold the durable subscription (SAM_WPM_DUR_SUB_HOME) must be specified.
$conn->connect(SAM_WMQ, array(SAM_ENDPOINTS => 'localhost:7278:BootstrapBasicMessaging',
                              SAM_BUS => 'Bus1',
                              SAM_TARGETCHAIN => 'InboundBasicMessaging'
                              SAM_WPM_DUR_SUB_HOME => 'MyMachineNode01.server1-Bus1'));

$subName = $conn->subscribe('topic://A');

if (!$subName) {
   echo "Subscribe failed";
} else {
   # Subscribe was OK
   // ...
}
?>

예 1999. Receiving published data using a durable subscription

<?php

$msg = $conn->receive($subName);
if ($msg) {
   echo "Received a message OK";
} else {
   echo "The receive failed";
}

?>

예 2000. Deleting a durable subscription to a topic

<?php

if (!$conn->unsubscribe($subName)) {
   echo "Unsubscribe failed";
}

?>

Error handling

All SAMConnection methods that provide access to messaging operations return FALSE if an error occurred in processing the request. In addition the SAMConnection object has two properties, "errno" and "error", that provide respectively the error number and text description of the last error to occur on the connection.

예 2001. Handling an error from a method that returns no result

<?php
   if (!$conn->commit()) {
     // The commit failed!
     echo "Commit failed ($conn->errno) $conn->error";
   }
?>

예 2002. Handling an error from a method that returns a result

<?php
$correlid = $conn->send('queue://send/test', $msg);

if (!$correlid) {
  // The Send failed!
  echo "Send failed ($conn->errno) $conn->error";
} else {
  ...
}
?>

예약 클래스

SAMConnection

Object representing a connection to a Messaging Server

생성자

  • new SAMConnection - construct a new connection object to allow connection to a messaging infrastructure.

메쏘드

  • commit - a method that commits (successfully completes) an in-flight unit of work.

  • connect - a method that connects a PHP script to a messaging server.

  • disconnect - a method that disconnects a PHP script from a messaging server.

  • isConnected - a method that checks whether a PHP script is connected to a messaging server.

  • peek - a method that receives a message from a queue without removing it from the queue.

  • peekAll - a method that receives one or messages from a queue without removing them from the queue.

  • receive - a method that receives a message from a queue or subscription.

  • remove - a method that removes a message from a queue.

  • rollback - a method that cancels (rolls back) an in-flight unit of work.

  • send - a method that sends a message to a queue or posts to a topic

  • setDebug - a method that switches additional debugging output on or off

  • subscribe - a method that creates a subscription to one or more topics

  • unsubscribe - a method that destroys a subscription to one or more topics

속성

  • errno - the numeric error code for the last encountered error on this connection. This property is set to 0 if the last operation was successful.

  • error - the text description for the last encountered error on this connection

SAMMessage

Object representing a message to be sent or received

생성자

  • new SAMMessage - construct a new message.

속성

  • body - the body of the message.

  • header - the header properties of the message.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

SAM_AUTO (string)
Automatic behaviour
SAM_BOOLEAN (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_BUS (string)
Connect attribute used to set the name of the enterprise service bus to connect to.
SAM_BYTE (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_BYTES (string)
Message body type descriptor.
SAM_CORRELID (string)
Attribute used on receive, send and remove requests to identify specific messages.
SAM_DELIVERYMODE (string)
Message header property.
SAM_DOUBLE (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_ENDPOINTS (string)
Connect attribute used to define the possible endpoints to connect to.
SAM_FLOAT (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_HOST (string)
Connect attribute used to set the hostname of the required messaging server.
SAM_INT (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_LONG (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_MANUAL (string)
Manual (script controlled) behaviour
SAM_MESSAGEID (string)
Attribute used on receive and remove requests to identify specific messages.
SAM_MQTT (string)
Connect protocol definition for selecting the MQTT (MQ Telemetry Transport) protocol.
SAM_MQTT_CLEANSTART (bool)
Optional connect option to indicate to an MQTT server that all previous connection data for this client should be removed and that subscriptions should be deleted when the client disconnects explicitly or unexpectedly.
SAM_NON_PERSISTENT (string)
Connect attribute value used to request messages are not made persistent on the messaging server.
SAM_PASSWORD (string)
Connect attribute used to define the password to be used for the user account being used to connect to a messaging server that requires authorisation for connections.
SAM_PERSISTENT (string)
Connect attribute value used to request messages are made persistent on the messaging server to protect against loss of messages in the event of failure.
SAM_PORT (string)
Connect attribute used to set the port number on which to communicate with the messaging server.
SAM_PRIORITY (string)
Option name used on send requests to specify a delivery priority value.
SAM_REPLY_TO (string)
Message propery used to specify the queue identity on to which the script expects response or reply messages to be posted.
SAM_RTT (string)
Connect protocol definition for selecting the IBM Realtime Transport protocol for communication with a business integration messaging server.
SAM_STRING (string)
Type specifier used when setting properties on SAM_Message objects.
SAM_TARGETCHAIN (string)
Connection attribute used to set the required target chain identifier.
SAM_TEXT (string)
Message body type descriptor.
SAM_TIMETOLIVE (string)
Message send option name used to specify the length of time a message should be retained in milliseconds.
SAM_TRANSACTIONS (string)
Connection attribute used to set required transactional behaviour. May be set to SAM_AUTO (default) or SAM_MANUAL.
SAM_USERID (string)
Connect attribute used to define the account to being used to connect to a messaging server that requires authorisation for connections.
SAM_WAIT (string)
Receive property used to specify the wait timeout to be used when receiving a message from a queue or subscription.
SAM_WMQ (string)
Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with the desired messaging server.
SAM_WMQ_BINDINGS (string)
Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with a local messaging server.
SAM_WMQ_CLIENT (string)
Connect protocol definition for selecting the IBM WebSphere MQSeries protocol for communication with a remote messaging server.
SAM_WMQ_TARGET_CLIENT (string)
Option name used on send requests to specify the target client mode. This can either be default to 'jms' or 'mq'. The default is 'jms' which means an RFH2 header is sent with the message whereas the 'mq' setting means no RFH2 is included.
SAM_WPM (string)
Connect protocol definition for selecting the IBM WebSphere Platform Messaging protocol for communication with a WebSphere Application Server messaging server.

차례

SAMConnection->commit() -- Commits (completes) the current unit of work.
SAMConnection->connect() -- Establishes a connection to a Messaging Server
SAMConnection->__construct() -- Creates a new connection to a Messaging Server
SAMConnection->disconnect() -- Disconnects from a Messaging Server
SAMConnection->errno -- Contains the unique numeric error code of the last executed SAM operation.
SAMConnection->error -- Contains the text description of the last failed SAM operation.
SAMConnection->isConnected() -- Queries whether a connection is established to a Messaging Server
SAMConnection->peek() -- Read a message from a queue without removing it from the queue.
SAMConnection->peekAll() -- Read one or more messages from a queue without removing it from the queue.
SAMConnection->receive() -- Receive a message from a queue or subscription.
SAMConnection->remove() -- Remove a message from a queue.
SAMConnection->rollback() -- Cancels (rolls back) an in-flight unit of work.
SAMConnection->send() -- Send a message to a queue or publish an item to a topic.
SAMConnection::setDebug() -- Turn on or off additional debugging output.
SAMConnection->subscribe() -- Create a subscription to a specified topic.
SAMConnection->unsubscribe() -- Cancel a subscription to a specified topic.
SAMMessage->body -- The body of the message.
SAMMessage->__construct() -- Creates a new Message object
SAMMessage->header -- The header properties of the message.
이전 | 위로 | 다음
runkit_superglobals | 처음으로 | SAMConnection->commit()


Satellite CORBA client extension [deprecated]

이전 VI. 함수 레퍼런스 다음

CXLI. Satellite CORBA client extension [deprecated]

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

Satellite is deprecated. It is suggested that you use Universe (» http://universe-phpext.sourceforge.net/) and not Satellite.

The Satellite extension is used for accessing CORBA objects. You will need to set the idl_directory= entry in php.ini to a path where you store all IDL files you use.

See the Satellite README file for details about installing Satellite.

차례

OrbitEnum -- Use CORBA enums
OrbitObject -- Access CORBA objects
OrbitStruct -- Use CORBA structs
satellite_caught_exception -- See if an exception was caught from the previous function
satellite_exception_id -- Get the repository id for the latest exception.
satellite_exception_value -- Get the exception struct for the latest exception
satellite_get_repository_id -- NOT IMPLEMENTED
satellite_load_idl -- Instruct the type manager to load an IDL file
satellite_object_to_string -- Convert an object to its string representation
이전 | 위로 | 다음
SAMMessage->header | 처음으로 | OrbitEnum


SCA Functions

이전 VI. 함수 레퍼런스 다음

CXLII. SCA Functions

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

SCA for PHP makes it possible for a PHP programmer to write reusable components, which can be called in a variety of ways, with an identical interface and with a minimum of fuss. At present components can call each other either locally or via Web services, but in the future it is expected that other ways will be possible. It provides the programmer with a way of doing this which will look as natural as possible in PHP.

SCA components use phpDocumentor-style (see http://www.phpdoc.org/) annotations to declare dependencies on other SCA components or Web services. The SCA for PHP runtime resolves these dependencies at runtime on behalf of the components, and thus allows the PHP programmer to focus on the business logic rather than on locating and obtaining references to dependencies.

The SCA for PHP programming model can be extended to support a number of service types, such as REST and Atompub. However, Web services (more accurately, WSDL defined, SOAP/HTTP services), are the only type currently specified.

Components also use annotations to define the interface which they expose as a service. The SCA for PHP runtime will automatically generate WSDL from these annotations, so that an SCA component is easily exposed as a web service. These annotations are a natural extension to those provided by phpDocumentor. Deploying a Web service can be as simple as placing a PHP component under the document root of a web server.

Components also use annotations to specify data structures (expressed using XML schema complex types) which are then handled using Service Data Objects (SDOs).

A PHP script which is not an SCA component and which contains no annotations can use the services of an SCA component. A PHP script or component can make calls to a web service that is not an SCA component, but using the same system of calls or annotations to obtain a reference.

First we show a single SCA component, ConvertedStockQuote which illustrates many of the features of SCA for PHP. It has one method, getQuote(), which given a stock "ticker" obtains a price quote for that stock, converted to a given currency. We shall be using this example as a basis for explaining the SCA for PHP throughout the rest of this document.

예 2043. A sample SCA component

<?php

include "SCA/SCA.php";

/**
 * Calculate a stock price for a given ticker symbol in a given currency.
 *
 * @service
 * @binding.soap
 */
class ConvertedStockQuote {

    /**
     * The currency exchange rate service to use.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;

    /**
     * The stock quote service to use.
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;

    /**
     * Get a stock quote for a given ticker symbol in a given currency.
     *
     * @param string $ticker The ticker symbol.
     * @param string $currency What currency to convert the value to.
     * @return float The stock value is the target currency.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
}
?>

In this example, we see that an SCA component is implemented by a script containing a PHP class and includes SCA.php. The class contains a mixture of business logic and references to other components or services. In the illustrated getQuote() method there is only business logic, but it relies on the instance variables $stock_quote and $exchange_rate having been initialized. These refer to two other components and will be initialized by the SCA runtime with proxies for these two services, whenever this component executes. The annotations for these two services show one to be a local component, which will be called within the same PHP runtime, and one to be a remote component which will be called via a SOAP request. This component also exposes the getQuote() method both locally and as a web service, so it in turn can be called either locally or remotely.

요구 조건

If you want to use SCA to consume or produce Web services then you need PHP 5.2.0 or later, built with the soap extension enabled. If you just want to use local components, and do not wish to use the Web service bindings, then this version of SCA for PHP will also run with PHP 5.1.6.

설치

SCA is packaged along with SDO in one combined package on PECL. See http://www.php.net/sdo#sdo.installation for installing the SCA_SDO package from PECL. The SCA code must be on the include path of your PHP installation, for example if it is installed as /usr/local/lib/php/SCA, the include_path directive must include /usr/local/lib/php

예제

The examples in the subsequent sections illustrate the following aspects of PHP for SCA:

  • How PHP annotations are used to define PHP classes as SCA components, and how annotations are used to define the services.

  • How an SCA component can be exposed as a Web service

  • How an SCA component can consume a Web service, whether provided by another SCA component or by some other service which knows nothing of SCA

  • How an SCA component can call another SCA component locally (within the same process and on the same call stack)

  • How a client script which is not an SCA component can use the getService call to obtain a proxy for an SCA component.

  • How data structures such as Addresses, or Puchase Orders, are represented as Service Data Objects, and handled.

  • How SCA components are deployed, and in particular how and when WSDL is generated for a service.

  • How parameters are always passed by value (and not by reference) between components, even when the calls are local. This ensures that the semantics of a call do not change depending on the location of a component.

  • How positional parameters to a service are supported, even when the underlying WSDL is document literal wrapped, and naturally supports only named parameters.

  • How business and runtime exceptions are handled.

The structure of a Service Component

A service component is implemented by a class. To identify it as a service component, it contains an @service annotation. The SCA runtime will use the file name of the script to determine the component name, by convention. The class and script file must therefore share the same name.

PHP SCA components always expose a service, and there is no way for a component to be invoked other than to be called as a result of a Web service request, or called directly from another component or from a script. For this reason a valid PHP SCA component will always contain an @service annotation and at least one public method.

Each SCA Component requires that the SCA.php script is included. As well as containing the definition of the SCA class, this script contains executable PHP code that will run whenever the script is called, and which will be responsible for making the component behave as needed.

경고

It is very important that if your file contains other includes, they come before the include for SCA.php. If there are includes after the include for SCA.php, they will not have been processed when the SCA runtime runs your class.

The example below illustrates this overall structure

예 2044. The structure of an SCA for PHP component

<?php

// any includes

include "SCA/SCA.php";

/**
 * @service
 */

class ConvertedStockQuote {

       // instance variables, business logic, including at least one public method

}
?>

Obtaining a proxy for another Service Component

One SCA component can call the service provided by another SCA component. The service a component provides is made up of all of its public methods. SCA for PHP currently provides two ways for one component to call another: either locally (i.e. within the same PHP run-time, and on the same call stack) or remotely if the called component exposes a Web service binding.

In order for one component to call another, the calling component needs a proxy for the called component. This proxy is usually provided as an instance variable in the calling component, though proxies can also be obtained with the SCA::getService() call, as we shall see later. When a component is constructed, proxies are constructed for any instance variable which refer to another component, and these proxies are "injected" into the instance variables. Proxies are always used, whether the component is local or remote, in order to provide identical calling behavior between remote and local calls (for example, local calls are made to always pass data by-value). The proxies know how to locate the required component and to pass the calls made on to them.

Instance variables which are intended to hold proxies for services are indicated by the two PHPDocumentor-style annotations, @reference and @binding. Both annotations are placed in the documentation section for a class instance variable, as shown by the code below.

The @reference annotation before an instance variable indicates that that instance variable is to be initialized with a proxy to a component.

The @binding annotation has two forms @binding.php and @binding.soap, and indicates that the proxy is either for a local component or for a Web service respectively. For both @binding.php and @binding.soap, the annotation gives a target URI.

At the moment, with the annotation-based method of specifying dependencies, the only way to alter the intended target of a reference is to alter the annotation within the component.

In our ConvertedStockQuote example, the $exchange_rate instance variable will be initialized with a proxy to the local ExchangeRate component whenever an instance of the ConvertedStockQuote is constructed.

예 2045. Obtaining a proxy for a local PHP class

<?php
   /**
     * The currency exchange rate service to use.
     *
     * @reference
     * @binding.php ../ExchangeRate/ExchangeRate.php
     */
    public $exchange_rate;
?>

For @binding.php, the URI identifies the location of the script containing the implementation of the component. The component will be called locally. The service provided is the set of public methods of the component. The URI must be a simple pathname, either absolute or relative. The component will be loaded with the PHP include directive, after testing to see if it is already loaded with class_exists(). If the URI is a relative path, it is resolved relative to the component containing the annotation. Note that this is different from the normal PHP behaviour where scripts would be looked for along the PHP include_path, This is intended to provide some location-independence for cross-component references.

If this ExchangeRate service were remote and to be called as a Web service, only the @binding line changes. Instead of giving the location of a PHP class, it gives the location of the WSDL describing the web service. In our example component, this is illustrated by the second reference:

예 2046. Obtaining a proxy for a web service

<?php
/**
     * The stock quote service to use.
     *
     * @reference
     * @binding.soap ../StockQuote/StockQuote.wsdl
     */
    public $stock_quote;
?>

The StockQuote component will be called via a Web service request. In this case the URI for the WSDL can be a simple pathname, or may contain a PHP wrapper and begin, for example, with file:// or http://. In the event that it is a simple pathname, it can be absolute or relative, and if relative will be resolved relative to the component containing the annotation. Note that this is like the behaviour for @binding.php, and different from the normal PHP behaviour where the file would be looked for relative to the PHP current working directory, which would usually be the location of the first script to be called. This behaviour is intended to give consistency across the different bindings and to provide some location-independence for references between components.

Calling another Service Component

The ConvertedStockQuote example also calls the proxies for the two components to which it refers.

예 2047. Calling services

<?php
$quote  = $this->stock_quote->getQuote($ticker);
$rate   = $this->exchange_rate->getRate($currency);
?>

The call to the StockQuote service is a call to a local service; the call to the ExchangeRate service is a call to a remote service. Note that the way the call is made looks the same regardless of whether the call is to a local service or a remote one.

The proxies which have been injected ensure that the way calls to components look and behave are the same way regardless of whether they are to a local or remote service, so that components are not sensitive to whether a call is to a local or a remote service. For example, the proxy for a local service takes copies of the arguments and passes only those copies, to ensure that calls are made to be pass-by-value, as they would be for a remote call. Also, the proxy for a remote service takes the arguments from a positional parameter list and ensures they are packaged properly in a SOAP request and converted back to a positional parameter list at the far end.

In the example above, the $ticker and $currency are clearly PHP scalar types. Components can pass the PHP scalar types string, integer, float and boolean, but data structures on service calls are always passed as Service Data Objects (SDOs). A later section describes how a component can create an SDO to pass on a local or Web service call, or how a component can create an SDO to return. The PHP SDO project documentation describes how to work with the SDO APIs (see the SDO pages.

Locating and calling services from a script which is not an SCA Component

SCA components obtain proxies for other components or services as instance variables annotated with @reference, but this is not possible for a script that is not itself also a component. A client script which is not a component must use the SCA::getService() static method to obtain a proxy for a service, whether local or remote. The getService() method takes a URI as the argument. Typically this is the location of a local PHP script containing a component, or of a wsdl file, and is used in exactly the same way as the targets of the @binding annotations described in the previous section: that is, relative URIs are resolved against the location of the client script and not against the PHP include_path or current working directory.

For example, a script that needed to obtain proxies for the ExchangeRate and StockQuote services but was not a component would use the getService() method as follows:

예 2048. Obtaining a proxy using getService

<?php
$exchange_rate = SCA::getService('../ExchangeRate/ExchangeRate.php');
$stock_quote   = SCA::getService('../StockQuote/StockQuote.wsdl');
?>

Methods on services can then be called on the returned proxy, just as they can in a component.

예 2049. Making calls on the proxy

<?php
$quote  = $stock_quote->getQuote($ticker);
$rate   = $exchange_rate->getRate($currency);
?>

Exposing a Service Component as a Web service

SCA for PHP can generate WSDL from the annotations within a service component, so that it can be easily deployed and exposed as a Web service. To provide SCA with the information it needs to generate the WSDL, it is necessary to add the annotation @binding.soap under the @service annotation and to specify the parameters and return values of the methods using the @param and @return annotations. These annotations will be read when WSDL is generated, and the order and types of the parameters determine the contents of the <schema> section of the WSDL.

SCA for PHP always generates document/literal wrapped WSDL for components that are exposing a Web service. Note that this does not stop components from consuming Web services which are not SCA components and which are documented with WSDL written in a different style.

The scalar types which can be used in the @param annotation are the four common PHP scalar types: boolean, integer, float and string. These are simply mapped to the XML schema types of the same name in the WSDL. The example below, which is a trivial implementation of the StockQuote service that the ConvertedStockQuote component calls, illustrates string and float types.

예 2050. StockQuote Service

<?php

include "SCA/SCA.php";

/**
 * Scaffold implementation for a remote StockQuote Web service.
 *
 * @service
 * @binding.soap
 *
 */
class StockQuote {

    /**
     * Get a stock quote for a given ticker symbol.
     *
     * @param string $ticker The ticker symbol.
     * @return float The stock quote.
     */
    function getQuote($ticker) {
        return 80.9;
  }
}
?>

WSDL much like the following (though with a service location other than 'localhost', probably) would be generated from this service:

예 2051. Generated WSDL

<?xml version="1.0" encoding="UTF-8" ?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xsi:type="tDefinitions"
xmlns:tns2="http://StockQuote" xmlns:tns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns3="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://StockQuote">
<types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://StockQuote">
<xs:element name="getQuote">
<xs:complexType>
<xs:sequence>
<xs:element name="ticker" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getQuoteResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="getQuoteReturn" type="xs:float"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>

<message name="getQuoteRequest">
<part name="getQuoteRequest" element="tns2:getQuote"/>
</message>
<message name="getQuoteResponse">
<part name="return" element="tns2:getQuoteResponse"/>
</message>
<portType name="StockQuotePortType">
<operation name="getQuote">
<input message="tns2:getQuoteRequest"/>
<output message="tns2:getQuoteResponse"/>
</operation>
</portType>
<binding name="StockQuoteBinding" type="tns2:StockQuotePortType">
<operation name="getQuote">
<input>
<tns3:body xsi:type="tBody" use="literal"/>
</input>
<output>
<tns3:body xsi:type="tBody" use="literal"/>
</output>
<tns3:operation xsi:type="tOperation" soapAction=""/>
</operation>
<tns3:binding xsi:type="tBinding" transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort" binding="tns2:StockQuoteBinding">
<tns3:address xsi:type="tAddress" location="http://localhost/StockQuote/StockQuote.php"/>
</port>
</service>
</definitions>

<!-- this line identifies this file as WSDL generated by SCA for PHP. Do not remove -->

Deploying an SCA component

There are no special steps needed to deploy a PHP SCA component. It is sufficient to place the component PHP script in its proper place under the web server document root, just like any other PHP script. It is the SCA::initComponent() executable line within each component that will be executed whenever the script is called, and which will be responsible for making the component respond appropriately to Web service calls, local calls, or requests for WSDL.

Obtaining the WSDL for an SCA component offering a Service as a Web service

SCA components that expose a Web service interface (i.e. have an @binding.soap annotation) will return their WSDL definition in response to an HTTP request with a get parameter of "wsdl". The usual way to obtain this is with "?wsdl" on the end of a URL. The example below uses file_get_contents() to obtain WSDL from a service and writes it to a temporary file before then obtaining a proxy for the service in the usual way. You could of course also obtain the WSDL in a browser, or by some other means, and save the file yourself.

예 2052. Generated WSDL

<?php
$wsdl = file_get_contents('http://www.example.com/Services/Example.php?wsdl');
file_put_contents("service.wsdl",$wsdl); //write the wsdl to a file
$service = SCA::getService('service.wsdl');
?>

NOTE: If the wsdl requires imported xsds, these will need to be fetched separately.

Understanding how the WSDL is generated

SCA for PHP generates WSDL for components which contain an @binding.soap annotation after the @service annotation. To generate WSDL, the SCA runtime reflects on the component and examines the @param and @return annotations for each public method, as well as any @types annotations within the component. The information from the @param and @return annotations is used to build the <types> section of the WSDL. Any @types annotations which specify a separate schema file will result in an <import> element for that schema within the WSDL.

Location attribute of the <service> element

At the bottom of the WSDL is the <service> element which uses the location attribute to identify the URL of the service. For example this might look as follows:

예 2053. location attribute

<service name="ConvertedStockQuote"
...
location="http://localhost/ConvertedStockQuote/ConvertedStockQuote.php"/>

Note that this location is relative to the document root of the web server, and cannot be worked out in advance. It can only be worked out once the component is in its proper place under a running web server, when the hostname and port can be known and placed in the WSDL. Detail from the URL that requests the WSDL is used, so for example if the WSDL is generated in response to a request to http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php?wsdl, a location of http://www.example.com:1111/ConvertedStockQuote/ConvertedStockQuote.php is what will be inserted into the location attribute in the WSDL.

Document/literal wrapped WSDL and positional parameters

SCA for PHP generates WSDL in the document/literal wrapped style. This style encloses the parameters and return types of a method in 'wrappers' which are named after the corresponding method. The <types> element at the top of the WSDL defines each of these wrappers. If we consider the getQuote() method of the ConvertedStockQuote example:

예 2054. method with two arguments

<?php
   /**
     * Get a stock quote for a given ticker symbol in a given currency.
     *
     * @param string $ticker The ticker symbol.
     * @param string $currency What currency to convert the value to.
     * @return float The stock value is the target currency.
     */
    function getQuote($ticker, $currency)
    {
        $quote  = $this->stock_quote->getQuote($ticker);
        $rate   = $this->exchange_rate->getRate($currency);
        return  $rate * $quote;
    }
?>

The WSDL generated to define this method will name both the method and the parameters, and give an XML schema type for the parameters. The types section of the WSDL looks like this:

예 2055. types section illustrating named parameters

<types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://ConvertedStockQuote">
<xs:element name="getQuote">
<xs:complexType>
<xs:sequence>
<xs:element name="ticker" type="xs:string"/>
<xs:element name="currency" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getQuoteResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="getQuoteReturn" type="xs:float"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>

The SCA run-time has special processing to handle how positional parameter lists in the interface are converted to XML containing named parameters in the soap request, and then back to positional parameter lists again. To see why this matters, consider how a PHP script which used a different interface to make a SOAP call would need to construct the parameter list. A PHP script using the PHP SoapClient, for example, would need to pass the SoapClient a single parameter giving the values for "ticker" and "currency", perhaps as an associative array. To insist that SCA components construct parameter lists to make Web service calls in this way would be to make local and remote calls look different, so a different approach is needed.

When SCA generates WSDL for an SCA component it includes a comment in the WSDL which marks that WSDL as being the interface for an SCA component. In this case, when one SCA component calls another through a Web service, the SCA runtime on the calling end takes the positional parameter list from the call and assigns the values one by one to the named elements in the soap message. For example a call to the getQuote() method defined above that passes the values 'IBM' and 'USD' and looks like this:

$quote = $remote_service->getQuote('IBM','USD');

will result in a soap message containing the following:

<getQuote>
  <ticker>IBM</ticker>
  <currency>USD</currency>
</getQuote>

On the service-providing end, the SCA run-time takes the parameters one by one from the soap message and forms a positional parameter list from them, re-forming the argument list ('IBM','USD').

경고

At both ends the SCA runtime relies on the order in which the parameters appear in the soap message being the same as that in the target method's parameter list. This is ultimately determined by the order of the @param annotations: this determines the order in which the parameters appear in the WSDL and thereby the order in which they appear in the soap message. Therefore it is essential that the order of the @param annotations matches that of the parameters in the method's parameter list.

Working with Data Structures

SCA components can pass and return the four PHP scalar types boolean, integer, float and string, but to pass or return data structures, SCA components use Service Data Objects (SDOs). SDOs are described in much more detail in the SDO pages of this manual. Readers familiar with SDOs will know that they are suitable for representing the sort of structured and semi-structured data that is frequently modeled in XML, and that they serialize very naturally for passing between remote components, or in Web services. SDOs are presently the only supported way to pass and return data structures. It is not possible to pass or return PHP objects, or PHP arrays.

The SCA runtime always assures data is passed by-value, even for local calls. To do this, the SCA runtime copies any SDOs in the parameter list before passing them on, just as it does for scalar types.

How data structures are defined to SCA components

Currently the only mechanism for specifying the location of a data structure definition is by specifying the types in an XML schema file. However, in the future it may be possible to define types in other ways, such as based on PHP classes or interfaces, or based on definitions expressed as associative arrays.

To illustrate the use of SDOs we introduce a new component. The PortfolioMangement service below returns an SDO representing a stock portfolio for a given customer.

예 2056. A Component that uses Data Structures

<?php

include "SCA/SCA.php";

/**
 * Manage the portfolio for a customer.
 *
 * @service
 * @binding.soap
 *
 * @types http://www.example.org/Portfolio PortfolioTypes.xsd
 *
 */
class PortfolioManagement {

    /**
     * Get the stock portfolio for a given customer.
     *
     * @param integer $customer_id The id for the customer
     * @return Portfolio http://www.example.org/Portfolio The stock portfolio (symbols and quantities)
     */
    function getPortfolio($customer_id) {
        // Pretend we just got this from a database
        $portfolio = SCA::createDataObject('http://www.example.org/Portfolio', 'Portfolio');
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'AAPL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'INTL';
        $holding->number = 100.5;
        $holding = $portfolio->createDataObject('holding');
        $holding->ticker = 'IBM';
        $holding->number = 100.5;
        return $portfolio;
    }

}
?>

The @types annotation:

<?php
@types http://www.example.org/Portfolio PortfolioTypes.xsd
?>

indicates that types in the namespace http://www.example.org/Portfolio will be found in the schema file located by the URI PortfolioTypes.xsd. The generated WSDL would reproduce this information with an import statement as follows:

<xs:import schemaLocation="PortfolioTypes.xsd"
namespace="http://www.example.org/Portfolio"/>

so the URI, absolute or relative, must be one that can be resolved when included in the schemaLocation attribute.

Creating SDOs

Readers familiar with SDOs will know that they are always created according to a description of the permitted structure (sometimes referred to as the 'schema' or 'model') and that, rather than creating them directly using 'new', some form of data factory is needed. Often, an existing data object can be used as the data factory, but sometimes, and especially in order to get the first data object, something else must act as the data factory.

In SCA, either the SCA runtime class or the proxies for services, whether local or remote, can act as the data factories for SDOs. The choice of which to use, and when, is described in the next two sections.

We switch to a new example in order to illustrate the creation of SDOs, both to pass to a service, and to be returned from a service.

Creating an SDO to pass to a service

A caller of a service which requires a data structure to be passed in to it uses the proxy to the service as the data factory for the corresponding SDOs. For example, suppose a component makes use of a proxy for a service provided by a local AddressBook component.

<?php
/**
 * @reference
 * @binding.local AddressBook.php
 */
$address_book;
?>

The AddressBook component that it wishes to call is defined as follows:

<?php
/**
* @service
* @binding.soap
* @types http://addressbook ../AddressBook/AddressBook.xsd
*/
class AddressBook {

    /**
     * @param personType $person http://addressbook (a person object)
     * @return addressType http://addressbook (the address object for the person object)
     */
    function lookupAddress($person)  {
        ...
    }
}
?>

The AddressBook component provides a service method called lookupAddress() which uses types from the http://addressbook namespace. The lookupAddress method takes a personType data structure and returns an addressType. Both types are defined in the schema file addressbook.xsd.

Once the component that wishes to use the AddressBook component has been constructed, so that the $address_book instance variable contains a proxy for the service, the calling component can use the proxy in $address_book to create the person SDO, as shown below:

<?php
$william_shakespeare        = $address_book->createDataObject('http://addressbook','personType');
$william_shakespeare ->name = "William Shakespeare";
$address                    = $address_book->lookupAddress($william_shakespeare);
?>

Note, the use of the proxy as the means to create the SDO is not limited to SCA components. If a service is being called from a general PHP script, and the proxy was obtained with getService() then the same approach is used.

<?php
$address_book = SCA::getService('AddressBook.php');
$william_shakespeare = $address_book->createDataObject('http://addressbook','personType');
?>

Creating an SDO to return from a component

A component that needs to create a data object for return to a caller will not have a proxy to use as a data object, In this case it uses the createDataObject() static method on SCA.php. Hence if the AddressBook component described above needed to create an object of type addressType within the namespace http://addressbook, it might do so as follows:

<?php
$address = SCA::createDataObject('http://addressbook','addressType');
?>

Error handling

This section describes how errors are handled. There are two types of errors:

  • SCA runtime exceptions are those that signal problems in the management of the execution of components, and in the interaction with remote services. These might occur due to network or configuration problems.

  • Business exceptions are those that are defined by the programmer. They extend the PHP Exception class, and are thrown and caught deliberately as part of the business logic.

Handling of Runtime exceptions

There are two types of SCA runtime exception:

  • SCA_RuntimeException - signals a problem found by or perhaps occurring within the SCA runtime. This can be thrown for a variety of reasons, many of which can occur regardless of whether a connection is being made to a local or a remote service: an error in one of the annotations within a component, a missing WSDL or php file, and so on. In the case of Web services, an SCA_RuntimeException can also be thrown if a SoapFault is received from a remote Web service and the fault code in the SoapFault indicates that a retry is unlikely to be successful.

  • SCA_ServiceUnavailableException - this is a subclass of SCA_RuntimeException and signals a problem in connecting to or using a remote service, but one which might succeed if retried. In the case of Web services, this exception is thrown if a SoapFault is received with a fault code that indicates that a retry might be successful.

Handling of Business exceptions

Business exceptions may be defined and thrown by a component in the normal way, regardless of whether the component has been called locally or remotely. The SCA runtime does not catch business exceptions that have been thrown by a component called locally, so they will be returned to a caller in the normal way. If a component has been called via a Web service, on the other hand, the SCA runtime on the service providing end does catch business exceptions, and will ensure these are passed back to the calling end and re-thrown. Assuming that the calling end has a definition of the exception (that is, is able to include a file containing the PHP class defining the exception) the re-thrown exception will contain the same details as the original, so that the getLine() and getFile() methods for example will contain the location where the exception was thrown within the business logic. The exception will be passed in the detail field of a soap fault with a fault code of "Client".

예약 클래스

Most of the interface to SCA is through the annotations within SCA components so there are few public classes and methods. The only SCA classes that scripts or components can call are the SCA class itself, and the proxy classes SCA_LocalProxy and SCA_SoapProxy.

SCA

Much of the work of the SCA class is performed when the file SCA.php is included within an SCA component. However, a PHP script may include SCA.php and call the getService() method on the SCA class in order to obtain a proxy for a service. A component will not need to do this as proxies are obtained instead by defining an instance variable with the @reference annotation.

Components that need to create an SDO to return to a caller will need a data factory to call. For this purpose the SCA class supports the createDataObject() method, which will create an SDO according to the model defined by the component's @types annotations. The arguments to createDataObject() are the same as those to SDO's XML Data Access Service.

메쏘드

  • getService - obtain a proxy for a service

  • createDataObject - create an SDO

SCA_LocalProxy

When getService() is called with the target of a local PHP component, a local proxy is returned. A local proxy is also injected into the instance variables of a component that are defined with an @reference and an @binding.php anotation. When the script or component makes calls on the local proxy, they are passed on to the target component itself.

Components that need to create an SDO to pass to a component will need a data factory to call. For this purpose the SCA_LocalProxy class supports the createDataObject method, which will create an SDO according to the model defined by the components' @types annotations. The arguments to the createDataObject are the same as those to SDO's XML Data Access Service.

메쏘드

  • createDataObject - create an SDO

SCA_SoapProxy

When getService() is called with the target of a WSDL file, a SOAP proxy is returned. A SOAP proxy is also injected into the instance variables of a component that are defined with an @reference and an @binding.soap anotations. When the script or component makes calls on the SOAP proxy, they are formed into Web service SOAP requests and passed on to the target component, with the help of the PHP Soap extension.

Components that need to create an SDO to pass to a component will need a data factory to call. For this purpose the SCA_SoapProxy class supports the createDataObject method, which will create an SDO according to the model defined within the target WSDL. The arguments to the createDataObject are the same as those to SDO's XML Data Access Service.

메쏘드

  • createDataObject - create an SDO

차례

SCA_LocalProxy::createDataObject -- create an SDO
SCA_SoapProxy::createDataObject -- create an SDO
SCA::createDataObject -- create an SDO
SCA::getService -- Obtain a proxy for a service
이전 | 위로 | 다음
satellite_object_to_string | 처음으로 | SCA_LocalProxy::createDataObject


SDO Functions

이전 VI. 함수 레퍼런스 다음

CXLIII. SDO Functions

소개

Service Data Objects (SDOs) enable PHP applications to work with data from different sources (like a database query, an XML file, and a spreadsheet) using a single interface.

Each different kind of data source requires a Data Access Service (DAS) to provide access to the data in the data source. In your PHP application, you use a DAS to create an SDO instance that represents some data in the data source. You can then set and get values in the SDO instance using the standard SDO interface. Finally, you use a DAS to write the modified data back to a data source, typically the same one.

See the list of Data Access Services for details on those currently available. In addition to the provided DASs, SDO also provides interfaces to enable others to be implemented (see the section on SDO Data Access Services Interface for more details).

This extension is derived from concepts taken from the » Service Data Objects specification. It includes a version of the » Apache Tuscany SDO for C++ project.

The Structure of a Service Data Object

A Service Data Object instance is made up of a tree of data objects. The tree is defined by containment relationships between the data objects. For example, a Company data object might consist of a number of Department data objects and therefore the Company would have a containment relationship to the Departments.

An SDO may also have non-containment references between data objects in the tree. For example, one Employee data object might reference another Employee to identify a career mentor.

As well as data objects referencing each other, they can also have primitive properties. For example, the Company data object might have a property called "name" of type string, for holding the name of the company (for example, "Acme").

Each of these properties of a data object - containment relationships, non-containment references, or primitive properties - may be many-valued or single-valued. In the above examples, Departments is many-valued and the Company name is single-valued.

In PHP, each SDO data object is represented as a PHP object. The properties of the data object can be accessed using either object syntax or associative array syntax. We'll see some examples of this later.

요구 조건

The SDO extension requires PHP 5.1.0 or higher. It also requires the libxml2 library. Normally libxml2 will already be installed, but if not, it can be downloaded from » http://www.xmlsoft.org/ .

설치

참고: Earlier versions of the SDO extension required a separate shared library for the XML DAS. This is now obsolete and any references to php_sdo_das_xml.dll or sdo_das_xml.so should be removed from your php.ini .

절차 5. Unix systems

  1. The three SDO components - the SDO core, the XML DAS and the Relational DAS - are packaged together with Service Component Architecture (SCA) into one PECL project, SCA_SDO, so you can download SCA and all three parts of SDO with the command:

pecl install SCA_SDO

    This command will build the SDO shared library as well as installing the PHP files that make up SCA and the SDO Relational DAS.

    If you want to use the latest beta version, then instead run:

pecl install SCA_SDO-beta

  2. The pecl command automatically installs the SDO module into your PHP extensions directory. To enable the SDO extension you must add the following line to php.ini :

extension=sdo.so

    For more information about building PECL packages, consult the PECL installation section of the manual.

절차 6. Windows

  1. The latest SDO DLL can be downloaded from » php_sdo.dll .

    Note that currently the » pecl4win site does not provide this binary at the current release level; you can only download the latest level.

  2. The pecl command automatically installs the SDO module into your PHP extensions directory. To enable the SDO extension you must add the following line to php.ini :

extension=php_sdo.dll

  3. The Relational DAS can be downloaded and installed with the command:

pecl install -B sdo

    The Relational DAS is written in PHP. You may need to update your include_path in php.ini to point to the directory that contains sdo/DAS/Relational .

절차 7. Building SDO on Linux

This section describes how to build the SDO core and XML DAS on Linux. You would only need to know how to do this if you wish to build a recent version that you have checked out of CVS.

  1. Change to the main extension directory: cd < wherever your sdo code is >

  2. Run phpize , which will set up the environment to compile SDO.

  3. Next, run ./configure; make; make install . Please note, you may need to login as root to install the extension.

  4. Make sure that the module is loaded by PHP, by adding extension=sdo.so to your php.ini file.

Data Access Services

The table below lists the currently provided SDO Data Access Services:

DAS Name | Description
SDO_DAS_XML | An XML Data Access Service supporting reading/writing SDOs as XML documents.
SDO_DAS_Relational | A PDO-based Data Access Service supporting reading/writing SDO to relational databases. Implements an optimistic concurrency policy for updates.

Limitations

절차 8. Implementation Limitations

The following are limitations in the current SDO implementation:

  • There is no support for multi-byte character sets. This will be considered, depending on community requirements, in the Unicode-enabled version of PHP. See Unicode Functions.

절차 9. SDO Limitations

The following SDO 2.0 concepts are not supported in the current PHP implementation. It is not necessarily the case that these will all be added over time. Their inclusion will depend on community requirements.

  1. Bi-directional relationships.

  2. Type and property alias names.

  3. Read-only properties.

  4. The Helper classes defined in SDO 2.0 are not directly implemented. However equivalent function is provided in a more natural way for PHP. For example the function of CopyHelper::copy() is provided by applying the PHP clone keyword to a data object.

예제

The examples below assume an SDO created with the schema and instance information shown below, using the XML Data Access Service.

The instance document below describes a single company, called 'MegaCorp', which contains a single department, called 'Advanced Technologies'. The Advanced Technologies department contains three employees. The company employeeOfTheMonth is referencing the second employee, 'Jane Doe'.

<?xml version="1.0" encoding="UTF-8" ?>
<company xmlns="companyNS" name="MegaCorp"
employeeOfTheMonth="E0003">
<departments name="Advanced Technologies" location="NY" number="123">
<employees name="John Jones" SN="E0001"/>
<employees name="Jane Doe" SN="E0003"/>
<employees name="Al Smith" SN="E0004" manager="true"/>
</departments>
</company>

The root element of the schema is a company. The company contains departments, and each department contains employees. Each element has a number of attributes to store things like name, serial number, and so on. Finally, the company also has an IDREF attribute which identifies one of the employees as the 'employeeOfTheMonth'.

<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sdo="commonj.sdo"
xmlns:sdoxml="commonj.sdo/xml"
xmlns:company="companyNS"
targetNamespace="companyNS">
<xsd:element name="company" type="company:CompanyType"/>
<xsd:complexType name="CompanyType">
<xsd:sequence>
<xsd:element name="departments" type="company:DepartmentType"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="employeeOfTheMonth" type="xsd:IDREF"
sdoxml:propertyType="company:EmployeeType"/>
</xsd:complexType>
<xsd:complexType name="DepartmentType">
<xsd:sequence>
<xsd:element name="employees" type="company:EmployeeType"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="location" type="xsd:string"/>
<xsd:attribute name="number" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="EmployeeType">
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="SN" type="xsd:ID"/>
<xsd:attribute name="manager" type="xsd:boolean"/>
</xsd:complexType>
</xsd:schema>

The XML Data Access Service maps the schema to an SDO. Attributes such as "name" become primitive properties, the sequence of employees becomes a many-valued containment relationship, and so on. Note that the containment relationships are expressed as one complex type within another, whereas non-containment references are expressed in terms of ID and IDREF, with a special sdoxml:propertyType attribute specifying the type of the non-containment reference.

Setting and Getting Property Values

The following examples assume $company is the root of a tree of data objects created from the schema and instance document shown above.

예 2058. Access via property name

Data object properties can be accessed using the object property access syntax. The following sets the company name to 'Acme'.

<?php
  $company->name = 'Acme';
?>

예 2059. Access via property name as array index

We can also access properties using associative array syntax. The simplest form of this uses the property name as the array index. For example, the following sets the company name and gets the employeeOfTheMonth.

<?php
  $company['name'] = 'UltraCorp';
  $eotm = $company['employeeOfTheMonth'];
?>

예 2060. Data Object iteration

We can iterate over the properties of a data object using foreach. The following iterates over the properties of the employee of the month.

<?php
  $eotm = $company->employeeOfTheMonth;
  foreach ($eotm as $name => $value) {
      echo "$name: $value\n";
  }
?>

which will output:

name: Jane Doe
SN: E0003

The 'manager' property is not output, because it has not been set.

예 2061. Access many-valued property by name

Many-valued data object properties can also be accessed using the object property name syntax. The following gets the list of departments.

<?php
  $departments = $company->departments;
?>

예 2062. Many-valued element access

We can access individual elements of many-valued properties using array syntax. The following accesses the first department in the company.

<?php
  $ad_tech_dept = $company->departments[0];
?>

예 2063. Many-valued property iteration

Many-valued properties can also be iterated over using foreach. The following iterates over the company's departments.

<?php
  foreach ($company->departments as $department) {
    // ...
  }
?>

Each iteration will assign the next department in the list to the variable $department.

예 2064. Chained property access

We can chain property references on a single line. The following sets and gets the name of the first department.

<?php
  $company->departments[0]->name = 'Emerging Technologies';
  $dept_name = $company->departments[0]->name;
?>

Using the associative array syntax, this is equivalent to

<?php
  $company['departments'][0]['name'] = 'Emerging Technologies';
  $dept_name = $company['departments'][0]['name'];
?>

In either case, the dept_name variable is set to 'Emerging Technologies'.

예 2065. XPath navigation

The associative array index can be an XPath-like expression. Valid expressions are defined by an augmented sub-set of XPath.

Two forms of indexing into many-valued properties are supported. The first is the standard XPath array syntax with the indexing starting at one, the second is an SDO extension to XPath with an index starting at zero. The standard syntax is:

<?php
  $jane_doe = $company["departments[1]/employees[2]"];
?>

and the SDO XPath extension syntax is:

<?php
  $jane_doe = $company["departments.0/employees.1"];
?>

Both these examples get the second employee from the first department.

예 2066. XPath querying

We can use XPath to query and identify parts of a data object based on instance data. The following retrieves the manager from the 'Advanced Technologies' department.

<?php
 $ad_tech_mgr =
  $company["departments[name='Advanced Technologies']/employees[manager=true]"];
?>

예 2067. Creating child data objects

A data object can be a factory for its child data objects. A child data object is automatically part of the data graph. The following add a new employee to the 'Advanced Technologies' department.

<?php
  $ad_tech_dept = $company["departments[name='Advanced Technologies']"];
  $new_hire = $ad_tech_dept->createDataObject('employees');
  $new_hire->name = 'John Johnson';
  $new_hire->SN = 'E0005';
  $new_hire->manager = false;
?>

예 2068. Unset a primitive property

We can use the isset() and unset() functions to test and remove items from the data object.

The following clears the name of the first department.

<?php
  unset($company->departments[0]->name);
?>

예 2069. Unset a data object

unset can also be used to remove a data object from the tree. The following example shows John Jones leaving the company.

<?php
  unset($company->departments[0]->employees[0]);
?>

예 2070. Unset a referenced data object

The following removes the 'employeeOfTheMonth' from the company. If this were a containment relationship then the employee would be removed from the company (probably not a good idea to sack your best employee each month!), but since this is a non-containment reference, the employee being referenced will remain in the department in the company, but will no longer be accessible via the employeeOfTheMonth property.

<?php
  if (isset($company->employeeOfTheMonth)) {
    unset($company->employeeOfTheMonth);
  }
?>

예 2071. Access via property index

Data object properties can be accessed via their property index using array syntax. The property index is the position at which the property's definition appears in the model (in this case the xml schema). We can see from the schema listing above that the company name attribute is the second company property (the SDO interface makes no distinction between XML attributes and elements). The following sets the company name to 'Acme', with the same result as Access via property name

<?php
  $company[1] = 'Acme';
?>

Using the index directly in this way is likely to be fragile. Normally the property name syntax should be preferred, but the property index may be required in special cases.

Working with Sequenced Data Objects

Sequenced data objects are SDOs which can track property ordering across the properties of a data object. They can also contain unstructured text elements (text element which do not belong to any of the SDO's properties). Sequenced data objects are useful for working with XML documents which allow unstructured text (i.e. mixed=true) or if the elements can be interleaved ( <A/><B/><A/>). This can occur for example when the schema defines maxOccurs>1 on a element which is a complexType with a choice order indicator.

The examples below assume an SDO created with the following schema and instance information, using the XML Data Access Service.

The schema below describes the format of a letter. The letter can optionally contain three properties; date, firstName, and lastName. The schema states mixed="true" which means that unstructured text can be interspersed between the three properties.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:letter="http://letterSchema"
targetNamespace="http://letterSchema">
<xsd:element name="letters" type="letter:FormLetter"/>
<xsd:complexType name="FormLetter" mixed="true">
<xsd:sequence>
<xsd:element name="date" minOccurs="0" type="xsd:string"/>
<xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
<xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

The following is an instance letter document. It contains the three letter properties; date, firstName and lastName, and has unstructured text elements for the address and letter body.

<letter:letters xmlns:letter="http://letterSchema">
<date>March 1, 2005</date>
Mutual of Omaha
Wild Kingdom, USA
Dear
<firstName>Casy</firstName>
<lastName>Crocodile</lastName>
Please buy more shark repellent.
Your premium is past due.
</letter:letters>

When loaded, the letter data object will have the sequence and property indices shown in the table below:

Sequence Index | Property Index:Name | Value
0 | 0:date | March 1, 2005
1 | - | Mutual of Omaha
2 | - | Wild Kingdom, USA
3 | - | Dear
4 | 1:firstName | Casy
5 | 2:lastName | Crocodile
6 | - | Please buy more shark repellent.
7 | - | Your premium is past due.

To ensure sequence indices are maintained, sequenced data objects should be manipulated through the SDO_Sequence interface. This allows the data object's instance data to be manipulated in terms of the sequence index as opposed to the property index (shown in the table above). The following examples assume the letter instance has been loaded into a data object referenced by the variable $letter.

예 2072. Getting the SDO_Sequence interface

We obtain a data object's sequence using the getSequence() method. The follow gets the sequence for the letter data object.

<?php
  $letter_seq = $letter->getSequence();
?>

All subsequent examples assume that the $letter_seq variable has been assigned the sequence for the letter data object.

예 2073. Get/set sequence values

We can get and set individual values (including unstructured text) using the sequence index. The following sets the firstName to 'Snappy' and gets the last sequence values (the unstructured text, 'Your premium is past due.').

<?php
  $letter_seq[4] = 'Snappy';
  $text = $letter_seq[count($letter_seq) - 1];
?>

예 2074. Sequence iteration

We can iterate through the individual sequence values using foreach. The following runs through the individual values in sequence order.

<?php
  foreach ($letter->getSequence() as $value) {
    // ...
  }
?>

예 2075. Sequence versus Data Object

Setting values through the data object interface may result in the value not being part of the sequence. A value set through the data object will only be accessible through the sequence if the property was already part of the sequence. The following example sets the lastName through the data object and gets it through the sequence. This is fine because lastName already exists in the sequence. If it had not previously been set, then lastName would be set to 'Smith', but would not be part of the sequence.

<?php
  $letter[2] = 'Smith';
  $last_name = $letter_seq[5];
?>

예 2076. Adding to a sequence

We can add new values to a sequence using the SDO_Sequence::insert() method. The following examples assume that the 'firstName' and 'lastName' properties are initially unset.

<?php
  // Append a firstName value to the sequence
  // value: 'Smith'
  // sequence index: NULL (append)
  // propertyIdentifier: 1 (firtName property index)
  $letter_seq->insert('Smith', NULL, 1);

  // Append a lastName value to the sequence
  // value: 'Jones'
  // sequence index: NULL (append)
  // propertyIdentifier: 'lastName' (lastName property name)
  $letter_seq->insert('Jones', NULL, 'lastName');

  // Append unstructured text
  // value: 'Cancel Subscription.'
  // sequence index: absent (append)
  // propertyIdentifier: absent (unstructured text)
  $letter_seq->insert('Cancel Subscription.');

  // Insert new unstructured text.  Subsequent sequence values
  // are shifted up.
  // value: 'Care of:'
  // sequence index: 1 (insert as second element)
  // propertyIdentifier: absent (unstructured text)
  $letter_seq->insert('Care of:', 1);
?>

예 2077. Removing from a sequence

We can use the isset() and unset() functions to test and remove items from the sequence (Note: unset() currently leaves the values in the data object, but this behaviour is likely to change to also remove the data from the data object). A sequence behaves like a contiguous list; therefore, removing items from the middle will shift entries at higher indices down. The following example tests to see if the first sequence element is set and unsets it if is.

<?php
  if (isset($letter_seq[0])) {
    unset($letter_seq[0]);
  }
?>

Reflecting on Service Data Objects

SDOs have a knowledge of the structure they have been created to represent (the model). For example, a Company SDO created using the Company XML schema above would only be permitted to contain DepartmentType data objects which in turn could only contain EmployeeType data objects.

Sometimes it is useful to be able to access this model information at runtime. For example, this could be used to automatically generate a user interface for populating a data object. The model information is accessed using reflection.

예 2078. Reflecting on a Data Object

The following example shows how we can reflect on an empty Employee data object.

<?php
  // Create the employee data object (e.g. from an XML Data Access Service)
  $employee = ...;
  $reflection = new SDO_Model_ReflectionDataObject($employee);
  print($reflection);
?>

위 예제의 출력:

object(SDO_Model_ReflectionDataObject)#4 { - ROOT OBJECT - Type {
companyNS:EmployeeType[3] { commonj.sdo:String $name;
commonj.sdo:String $SN; commonj.sdo:Boolean $manager; } }

Using print on the SDO_Model_ReflectionDataObject writes out the data object's model. We can see from the output how the type companyNS:EmployeeType has three properties and we can see the names of the properties along with their types. Note, the primitive types are listed as SDO types (e.g. commonj.sdo namespace, String type). It is worth noting that this is the SDO model and when these are surfaced to an application they can be treated as the PHP equivalent types (e.g. string and boolean).

예 2079. Accessing the type information

We can query the type information of a data object using reflection. The following example checks the type corresponds to a data object rather than a primitive and then iterates through the properties of the type, writing out the name of each property ($type and $property are SDO_Model_Type and SDO_Model_Property objects, respectively).

<?php
    // Create the employee data object (e.g. from an XML Data Access Service)
    $employee = ...;
    $reflection = new SDO_Model_ReflectionDataObject($employee);
    $type = $reflection->getType();
    if (! $type->isDataType()) {
        foreach ($type->getProperties() as $property) {
            print $property->getName() . "\n";
        }
    }
?>

위 예제의 출력:

name
SN
manager

예약 클래스

SDO consists of three sets of interfaces. The first set covers those interfaces for use by typical SDO applications. These are identified by the package prefix 'SDO_'. The second set is those used to reflect on, and work with, the model of a data object. These are identified by the package prefix 'SDO_Model_'. Finally, the third set are those use by Data Access Service implementations and are identified by the package prefix 'SDO_DAS_'. The majority of SDO users will not need to use or understand the 'SDO_Model_' and 'SDO_DAS_' interfaces.

SDO Application Programmer Interface

SDO_DataObject

The main interface through which data objects are manipulated. In addition to the methods below, SDO_DataObject extends the ArrayAccess, SDO_PropertyAccess (defines __get() / __set() methods for property access overloading), Iterator, and Countable interfaces.

메쏘드

  • getSequence - get the sequence for the data object

  • createDataObject - create a child data object

  • clear - unset the properties of a data object

  • getContainer - get the container (also known as 'parent') of this data object

  • getTypeName - get the name of the type for this data object

  • getTypeNamespaceURI - get the namespace URI of the type for this data object

SDO_Sequence

The interface through which sequenced data objects can be accessed to preserve ordering across a data object's properties and to allow unstructured text. SDO_Sequence preserves contiguous indices and therefore inserting or removing elements may shift other elements up or down. In addition to the methods below, SDO_Sequence extends the ArrayAccess, Iterator and Countable interface.

메쏘드

  • getProperty - get the property for a given sequence index

  • move - move an element from one property index to another

  • insert - insert a new value into the sequence

SDO_List

The interface through which many-valued properties are manipulated. In addition to the method defined below, SDO_List extends ArrayAccess, Iterator and Countable. SDO_List preserves contiguous indices and therefore inserting or removing elements may shift other elements up or down.

메쏘드

  • insert - insert a new value into the list

SDO_DataFactory

The interface through which data objects can be created. A Data Access Service is responsible for populating the model (i.e. configuring the data factory with the type and structure information for the data objects it can create.) for the factory and can then optionally return an instance of, or implement, the SDO_DataFactory interface.

메쏘드

  • create - create a new data object

SDO_Exception

An SDO_Exception is thrown when the caller's request cannot be completed. The subclasses of SDO_Exception are:

  • SDO_PropertyNotSetException - the property specified exists but has not been set or does not have a default value

  • SDO_PropertyNotFoundException - the property specified is not part of the data object's type

  • SDO_TypeNotFoundException - the specified namespace URI or type name is unknown

  • SDO_InvalidConversionException - conversion between the types of the assignment is not possible

  • SDO_IndexOutOfBoundsException - the numeric index into a data object, sequence or list is not in the valid range

  • SDO_UnsupportedOperationException - the request cannot be completed because it is not allowed, for example an attempt to set a read-only property.

메쏘드

One method is added to those inherited from the built in Exception class:

  • getCause - get the cause of this SDO_Exception

SDO Reflection Application Programmer Interfaces

SDO_Model_ReflectionDataObject

The main interface used to reflect on a data object instance to obtain its model type and property information. It is designed to follow the reflection pattern introduced in PHP 5.

생성자

  • __construct - construct a new SDO_Model_ReflectionDataObject.

메쏘드

  • export - get a string describing the data object.

  • getType - get the SDO_Model_Type for the data object.

  • getInstanceProperties - get the instance properties of the data object.

  • getContainmentProperty - get the property which defines the containment relationship to the data object.

SDO_Model_Type

The interface through which a data object's type information can be retrieved. This interface can be used to find out the type name and namespace URI of the type, whether the type allow open content, and so on.

메쏘드

  • getName - get the name of the type.

  • getNamespaceURI - get the namespace URI of the type.

  • isInstance - test for a data object being an instance of the type.

  • getProperties - get the properties of the type.

  • getProperty - get a property of the type.

  • isDataType - test to see if this type is a primitive scalar type.

  • isSequencedType - test to see if this is a sequenced type.

  • isOpenType - test to see if this is an open type.

  • isAbstractType - test to see if this is an abstract type.

  • getBaseType - get the base type of this type (if one exists).

SDO_Model_Property

The interface through which a data object's property information can be retrieved. This interface can be used to find out the type of a property, whether a property has a default value, whether the property is contained or reference by its parent, its cardinality, and so on.

메쏘드

  • getName - get the name of the property.

  • getType - get the type of the property.

  • isMany - test to see if the property is many-valued.

  • isContainment - test to see if the property describes a containment relationship.

  • getContainingType - get the type which contains this property.

  • getDefault - get the default value for a property.

SDO Data Access Service Developer Interfaces

SDO_DAS_DataObject

The interface through which a Data Access Service can access a data object's SDO_DAS_ChangeSummary. The change summary is used by the Data Access Service to check for conflicts when applying changes back to a data source.

메쏘드

  • getChangeSummary - get the change summary for a data object

SDO_DAS_ChangeSummary

The interface through which the change history of a data object is accessed. The change summary holds information for any modifications on a data object which occurred since logging was activated. In the case of deletions and modifications, the old values are also held in the change summary.

If logging is no longer active then the change summary only holds changes made up to the point when logging was deactivated. Reactivating logging clears the change summary. This is useful when a set of changes have been written out by a DAS and the data object is to be reused.

메쏘드

  • beginLogging - begin logging changes made to a data object

  • endLogging - end logging changes made to a data object

  • isLogging - test to see if change logging is on

  • getChangedDataObjects - get a list of the data objects which have been changed

  • getChangeType - get the type of change which has been made to a data object

  • getOldValues - get a list of old values for a data object

  • getOldContainer - get the old container data object for a deleted data object

SDO_DAS_Setting

The interface through which the old value for a property is accessed. A list of settings is returned by the change summary method getOldValues() .

메쏘드

  • getPropertyIndex - get the property index for the changed property

  • getPropertyName - get the property name for the changed property

  • getValue - get the old value for the changed property

  • getListIndex - get the list index for the old value if it was part of a many-valued property

  • isSet - test to see if the property was set prior to being modified

SDO_DAS_DataFactory

The interface for constructing the model for an SDO_DataObject. The SDO_DAS_DataFactory is an abstract class providing a static method which returns a concrete data factory implementation. The implementation is used by Data Access Services to create an SDO model from their model. For example, a Relational Data Access Service might create and populate an SDO_DAS_DataFactory model based on a schema for a relational database.

메쏘드

  • getDataFactory - static methods for getting a concrete data factory instance

  • addType - add a new type to the SDO model

  • addPropertyToType - add a new property to a type definition in the SDO model

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

SDO_DAS_ChangeSummary::NONE=0 (integer)
Represents a change type of 'none'.
SDO_DAS_ChangeSummary::MODIFICATION=1 (integer)
Represents a change type of 'modification'.
SDO_DAS_ChangeSummary::ADDITION=2 (integer)
Represents a change type of 'addition'.
SDO_DAS_ChangeSummary::DELETION=3 (integer)
Represents a change type of 'deletion'.

차례

SDO_DAS_ChangeSummary::beginLogging -- Begin change logging
SDO_DAS_ChangeSummary::endLogging -- End change logging
SDO_DAS_ChangeSummary::getChangeType -- Get the type of change made to an SDO_DataObject
SDO_DAS_ChangeSummary::getChangedDataObjects -- Get the changed data objects from a change summary
SDO_DAS_ChangeSummary::getOldContainer -- Get the old container for a deleted SDO_DataObject
SDO_DAS_ChangeSummary::getOldValues -- Get the old values for a given changed SDO_DataObject
SDO_DAS_ChangeSummary::isLogging -- Test to see whether change logging is switched on
SDO_DAS_DataFactory::addPropertyToType -- Adds a property to a type
SDO_DAS_DataFactory::addType -- Add a new type to a model
SDO_DAS_DataFactory::getDataFactory -- Get a data factory instance
SDO_DAS_DataObject::getChangeSummary -- Get a data object's change summary
SDO_DAS_Setting::getListIndex -- Get the list index for a changed many-valued property
SDO_DAS_Setting::getPropertyIndex -- Get the property index for a changed property
SDO_DAS_Setting::getPropertyName -- Get the property name for a changed property
SDO_DAS_Setting::getValue -- Get the old value for the changed property
SDO_DAS_Setting::isSet -- Test whether a property was set prior to being modified
SDO_DataFactory::create -- Create an SDO_DataObject
SDO_DataObject::clear -- Clear an SDO_DataObject's properties
SDO_DataObject::createDataObject -- Create a child SDO_DataObject
SDO_DataObject::getContainer -- Get a data object's container
SDO_DataObject::getSequence -- Get the sequence for a data object
SDO_DataObject::getTypeName -- Return the name of the type for a data object.
SDO_DataObject::getTypeNamespaceURI -- Return the namespace URI of the type for a data object.
SDO_Exception::getCause -- Get the cause of the exception.
SDO_List::insert -- Insert into a list
SDO_Model_Property::getContainingType -- Get the SDO_Model_Type which contains this property
SDO_Model_Property::getDefault -- Get the default value for the property
SDO_Model_Property::getName -- Get the name of the SDO_Model_Property
SDO_Model_Property::getType -- Get the SDO_Model_Type of the property
SDO_Model_Property::isContainment -- Test to see if the property defines a containment relationship
SDO_Model_Property::isMany -- Test to see if the property is many-valued
SDO_Model_ReflectionDataObject::__construct -- Construct an SDO_Model_ReflectionDataObject
SDO_Model_ReflectionDataObject::export -- Get a string describing the SDO_DataObject.
SDO_Model_ReflectionDataObject::getContainmentProperty -- Get the property which defines the containment relationship to the data object
SDO_Model_ReflectionDataObject::getInstanceProperties -- Get the instance properties of the SDO_DataObject
SDO_Model_ReflectionDataObject::getType -- Get the SDO_Model_Type for the SDO_DataObject
SDO_Model_Type::getBaseType -- Get the base type for this type
SDO_Model_Type::getName -- Get the name of the type
SDO_Model_Type::getNamespaceURI -- Get the namespace URI of the type
SDO_Model_Type::getProperties -- Get the SDO_Model_Property objects defined for the type
SDO_Model_Type::getProperty -- Get an SDO_Model_Property of the type
SDO_Model_Type::isAbstractType -- Test to see if this SDO_Model_Type is an abstract data type
SDO_Model_Type::isDataType -- Test to see if this SDO_Model_Type is a primitive data type
SDO_Model_Type::isInstance -- Test for an SDO_DataObject being an instance of this SDO_Model_Type
SDO_Model_Type::isOpenType -- Test to see if this type is an open type
SDO_Model_Type::isSequencedType -- Test to see if this is a sequenced type
SDO_Sequence::getProperty -- Return the property for the specified sequence index.
SDO_Sequence::insert -- Insert into a sequence
SDO_Sequence::move -- Move an item to another sequence position
이전 | 위로 | 다음
SCA::getService | 처음으로 | SDO_DAS_ChangeSummary::beginLogging


SDO XML Data Access Service Functions

이전 VI. 함수 레퍼런스 다음

CXLIV. SDO XML Data Access Service Functions

소개

In order to use the XML Data Access Service for Service Data Objects, you will need to understand some of the concepts behind SDO: the data graph, the data object, XPath and property expressions, and so on. If you are not familiar with these ideas, you might want to look first at the section on SDO.

The job of the XML DAS is to move data between the application and an XML data source, which can be either a file or a URL. SDOs are always created and maintained according to a model which defines type names and what property names each type may have. For data which is from XML, this SDO model is built from a schema file written in XML schema language (an xsd file). This schema file is usually passed to the create method when the XMLDAS is initialised. The » SDO 2.0 specification defines the mapping between XML types and SDO types. There are a number of small limitations in the PHP support - not everything which is in the specification can be done - and these limitations are summarised in a later section.

요구 조건

The SDO XML Data Access Service requires PHP 5.1.0 or higher. It is packaged with the SDO extension and requires SDO to have been installed. See the SDO installation instructions for the details of how to do this.

설치

The XML Data Access Service is packaged and installed as part of the SDO extension. Please Refer SDO installation instructions.

예제

Several of the following examples are based on the letter example described in the SDO documentation. The examples assume the XML Schema for the letter is contained in a file letter.xsd and the letter instance is in the file letter.xml. These two files are reproduced here:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:letter="http://letterSchema"
targetNamespace="http://letterSchema">
<xsd:element name="letters" type="letter:FormLetter"/>
<xsd:complexType name="FormLetter" mixed="true">
<xsd:sequence>
<xsd:element name="date" minOccurs="0" type="xsd:string"/>
<xsd:element name="firstName" minOccurs="0" type="xsd:string"/>
<xsd:element name="lastName" minOccurs="0" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

<letter:letters xmlns:letter="http://letterSchema">
<date>March 1, 2005</date>
Mutual of Omaha
Wild Kingdom, USA
Dear
<firstName>Casy</firstName>
<lastName>Crocodile</lastName>
Please buy more shark repellent.
Your premium is past due.
</letter:letters>

예 2082. Loading, altering, and saving an XML document

The following example shows how an XML document can be loaded from a file, altered, and written back.

<?php
/**
 * Load, update, and save an XML document
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $root_data_object = $document->getRootDataObject();
   $root_data_object->date = "September 03, 2004";
   $root_data_object->firstName = "Anantoju";
   $root_data_object->lastName = "Madhu";
   $xmldas->saveFile($document, "letter-out.xml");
   echo "New file has been written:\n";
   print file_get_contents("letter-out.xml");
} catch (SDO_Exception $e) {
   print($e->getMessage());
}
?>

An instance of the XML DAS is first obtained from the SDO_DAS_XML::create() method, which is a static method of the SDO_DAS_XML class. The location of the xsd is passed as a parameter. Once we have an instance of the XML DAS initialised with a given schema, we can use it to load the instance document using the loadFile() method. There is also a loadString() method if you want to load an XML instance document from a string. If the instance document loads successfully, you will be returned an object of type SDO_DAS_XML_Document, on which you can call the getRootDataObject() method to get the SDO data object which is the root of the SDO data graph. You can then use SDO operations to change the graph. In this example we alter the date, firstName, and lastName properties. Then we use the saveFile() method to write the changed document back to the file system. The saveFile method has an optional extra integer argument which if specified will cause the XML DAS to format the XML, using the integer as the amount to indent by at each change in level on the document.

This will write the following to letter-out.xml.

<?xml version="1.0" encoding="UTF-8" ?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<date>September 03, 2004</date>
Mutual of Omaha
Wild Kingdom, USA
Dear
<firstName>Anantoju</firstName>
<lastName>Madhu</lastName>
Please buy more shark repellent.
Your premium is past due.
</FormLetter>

예 2083. Creating a new XML document

The previous example loaded the document from a file. This example shows how to create an SDO data graph in memory. In this example it is then saved to an XML string. Furthermore, because the letter contains both structured and unstructured content, it uses the Sequence API as well assignments to properties to construct the data graph.

<?php
/**
 * Create an XML document from scratch
 */
try {
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   try {
       $doc = $xmldas->createDocument();
       $rdo = $doc->getRootDataObject();
       $seq = $rdo->getSequence();
       $seq->insert("April 09, 2005", NULL, 'date');
       $seq->insert("Acme Inc. ", NULL, NULL);
       $seq->insert("United Kingdom. ");
       $seq->insert("Dear", NULL, NULL);
       $seq->insert("Tarun", NULL, "firstName");
       $seq->insert("Nayaraaa", NULL, "lastName");
       $rdo->lastName = "Nayar";
       $seq->insert("Please note that your order number ");
       $seq->insert(12345);
       $seq->insert(" has been dispatched today. Thanks for your business with us.");
       print($xmldas->saveString($doc));
   } catch (SDO_Exception $e) {
       print($e);
   }
} catch (SDO_Exception $e) {
   print("Problem creating an XML document: " . $e->getMessage());
}
?>

The createDocument() method on the XML DAS returns a document object with a single root data object corresponding to an empty document element. The element name of the document element is known from the schema file. If there is any ambiguity about what the document element is, as there can be when more than one schema has been loaded into the same XML DAS, the element name and the namespace URI can be passed to the createDocument() method.

This will emit the following output (line breaks have been inserted for readability):

<?xml version="1.0" encoding="UTF-8" ?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<date>April 09, 2005</date>
Acme Inc. United Kingdom.
Dear
<firstName>Tarun</firstName>
<lastName>Nayar</lastName>
Please note that your order number 12345 has been
dispatched today. Thanks for your business with us.
</FormLetter>

예 2084. Setting XML document properties

This third example shows you how to set the XML version and encoding on the document object. These will be used when the XML is written out. If no XML declaration is wanted at all (perhaps you want to generate the XML as a string to embed in something) then you can use the setXMLDeclaration() method to suppress it.

<?php
/**
 * Illustrate the calls that control the XML declaration
 */
   $xmldas = SDO_DAS_XML::create("letter.xsd");
   $document = $xmldas->loadFile("letter.xml");
   $document->setXMLVersion("1.1");
   $document->setEncoding("ISO-8859-1");
   print($xmldas->saveString($document));
?>

The XML version and encoding are set in the XML declaration at the top of the XML document.

<?xml version="1.1" encoding="ISO-8859-1" ?>
.../...

예 2085. Using an open type

This fourth example illustrates the use of an SDO open type and the use of the createDataObject() method. For this example we use the following two schema:

<schema
xmlns="http://www.w3.org/2001/XMLSchema">

<element name="jungle">
<complexType>
<sequence>
<any minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>

</schema>

Note the presence of the any element in the definition. This first schema defines the jungle complex type as containing a sequence of any other type. The other types that the example will use are defined in a second schema file:

<schema xmlns= "http://www.w3.org/2001/XMLSchema">

<complexType name="snakeType">
<sequence>
<element name= "name" type="string"/>
<element name= "length" type="positiveInteger" />
</sequence>
</complexType>

<complexType name="bearType">
<sequence>
<element name= "name" type="string"/>
<element name= "weight" type="positiveInteger" />
</sequence>
</complexType>

<complexType name="pantherType">
<sequence>
<element name= "name" type="string"/>
<element name= "colour" type="string" />
</sequence>
</complexType>

</schema>

Here is the example PHP code that uses these two schema files:

<?php

/**
 * Illustrate open types and the use of the addTypes() method
 */

$xmldas = SDO_DAS_XML::create();
$xmldas->addTypes("jungle.xsd"); // this is an open type i.e. the xsd specifies it can contain "any" type
$xmldas->addTypes('animalTypes.xsd');

$baloo            = $xmldas->createDataObject('','bearType');
$baloo->name      = "Baloo";
$baloo->weight    = 800;

$bagheera         = $xmldas->createDataObject('','pantherType');
$bagheera->name   = "Bagheera";
$bagheera->colour = 'inky black';

$kaa              = $xmldas->createDataObject('','snakeType');
$kaa->name        = "Kaa";
$kaa->length      = 25;

$document         = $xmldas->createDocument();
$do               = $document->getRootDataObject();
$do->bear         = $baloo;
$do->panther      = $bagheera;
$do->snake        = $kaa;

print($xmldas->saveString($document,2));

?>

These two schema files are loaded into the XML DAS with first the create() and addTypes() methods. The createDataObject() method is used to create three separate data objects. In each case the namespaceURI and typename of the type are passed to the createDataObject() method: in this example the namespace URI is blank because no namespace is used in the schema. Once the three data objects - representing a bear, a panther and a snake - have been created, a document object is created with the createDocument() method. In this case there is no ambiguity about what the document element of the document should be - as the second schema file only defines complex types, the document element can only be the global jungle element defined in the first schema. This document will have a single root data object corresponding to an empty document element jungle. As this is an open type, properties can be added at will. When the first assignment is made to $do->bear, a property bear is added to the root data object: likewise for the next two assignments. When the document is written out by the saveString() method, the resulting document is:

<?xml version="1.0" encoding="UTF-8" ?>
<jungle xsi:type="jungle" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<bear xsi:type="bearType">
<name>Baloo</name>
<weight>800</weight>
</bear>
<panther xsi:type="pantherType">
<name>Bagheera</name>
<colour>inky black</colour>
</panther>
<snake xsi:type="snakeType">
<name>Kaa</name>
<length>25</length>
</snake>
</jungle>

예 2086. Finding out what you can from the document

This example is intended to illustrate how you can find the element name and namespace of the document element from the XML Document object, and the SDO type and namespace from the root data object of the XML data object, and how they relate to one another. This can be difficult to understand because there are four method calls: two can be made against the Document object, and two that can be made against any data object including the root data object. Because of the rules that define how the SDO model is derived from the XML model, when the data object concerned is the root object that represents the document object for the document, only three possible values can come back from these four method calls.

The two method calls that can be made against the document are getRootElementName() and getRootEelementURI(). These return the element name and namespace of the document element, respectively.

The two method calls that can be made against any data object are getTypeName() and getTypeNamespaceURI(). These return the SDO type name and type namespace of the data object, respectively.

Always, calling getRootElementURI() on the document object will return the same value as calling getNamespaceURI() on the root data object. Essentially, the information is all derived from the first few lines of the schema file, where there are three distinct pieces of information. For illustration, here again are the first few lines of the letter.xsd that we used above.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:letter="http://letterSchema"
targetNamespace="http://letterSchema">

<xsd:element name="letters" type="letter:FormLetter"/>

<xsd:complexType name="FormLetter" mixed="true">
.../...

The three important values are:

  • letters, the name of the document element

  • FormLetter, the name of the complex type of the document element. This is also the name of the SDO type of the root data object.

  • http://letterSchema, the namespace to which the document element belongs. This is also the namespaceURI of the SDO type of the root data object.

It is part of the XML-SDO mapping rules that when the SDO model is built from the schema file, the typename and namespaceURI of the SDO types for the root element are taken from those of the complex type of the document element, where it exists. Hence in this example the typename of the root data object is FormLetter. In the event that there is no separate complex type definition for the document element, when the the type is defined inline and is anonymous, the SDO type name will be the same as the element name.

The following program loads the letter document and checks the return values from each of the four calls.

<?php
/**
 * Finding out what you can about the document and document element
 * This can be quite hard to understand because there are four calls
 * Two calls are made against the document
 * Two calls are made against the root data object and its model
 * Because of the SDO-XML mapping rules and how the SDO model is derived
 * from the XML model, only three possible values can come back from these four calls.
 * Always, $document->getRootElementURI() == (type of root data object)->namespaceURI
 * Essentially, it all comes form the first few lines of the xsd:
 * <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 *   xmlns:letter="http://letterSchema"
 *   targetNamespace="http://letterSchema">
 *   <xsd:element name="letters" type="letter:FormLetter"/>
 */

$xmldas = SDO_DAS_XML::create("letter.xsd");
$document = $xmldas->loadFile("letter.xml");
$root_do = $document->getRootDataObject();

/**
 * The "root element name" is the element name of the document element
 * in this case 'letters'
 * This matches the 'name' attribute of the document element in the xsd and matches
 * the element name from the xml
 */
echo "The document element name is " . $document->getRootElementName() . "\n";
assert($document->getRootElementName() == 'letters'); // a property of the document

/**
 * The "root element URI" is the namespace part of the element name of the document element
 * in this case 'http://letterSchema' since 'letters' is in that namespace
 * This is taken from the xsd and matches the namespace picked up from the xml
 */
echo "The document element is in the namespace " . $document->getRootElementURI() . "\n";
assert($document->getRootElementURI() == 'http://letterSchema'); // a property of the document

/**
 * The type name is taken from the SDO model
 * The XML-SDO mapping rules make this either:
 *   The name of the complexType if there is one (in this case there is)
 *   The document element name if there no complexType
 * This is taken from the xsd
 */
echo "The type name of the root data object is " . $root_do->getTypeName() . "\n";
assert($root_do->getTypeName() == 'FormLetter');

/**
 * The type's namespaceURI is taken from the SDO model
 * The XML-SDO mapping rules ensure that this will always be the same as
 * the namepace URI of the document element
 */
echo "The namespaceURI of the root data object is " . $root_do->getTypeNamespaceURI() . "\n";
assert($root_do->getTypeNamespaceURI() == 'http://letterSchema');

?>

The output from this program is as follows:

The document element name is letters
The document element is in the namespace http://letterSchema
The type name of the root data object is FormLetter
The namespaceURI of the root data object is http://letterSchema

예 2087. Printing the SDO model

The XML DAS provides a simple means to see what types and properties have been loaded. The php "print" or "echo" instruction will print out the types and properties.

<?php
/**
 * Illustrate printing out the model
 */

$xmldas = SDO_DAS_XML::create("letter.xsd");
print $xmldas;

?>

The output from this program is as follows:

object(SDO_XML_DAS)#1 {
18 types have been defined. The types and their properties are::
1. commonj.sdo:BigDecimal
2. commonj.sdo:BigInteger
3. commonj.sdo:Boolean
4. commonj.sdo:Byte
5. commonj.sdo:Bytes
6. commonj.sdo:ChangeSummary
7. commonj.sdo:Character
8. commonj.sdo:DataObject
9. commonj.sdo:Date
10. commonj.sdo:Double
11. commonj.sdo:Float
12. commonj.sdo:Integer
13. commonj.sdo:Long
14. commonj.sdo:Short
15. commonj.sdo:String
16. commonj.sdo:URI
17. http://letterSchema:FormLetter
- date (commonj.sdo:String)
- firstName (commonj.sdo:String)
- lastName (commonj.sdo:String)
18. http://letterSchema:RootType
- letters (http://letterSchema:FormLetter)

예약 클래스

The XML DAS provides two main classes. The first is SDO_DAS_XML which is the main class used to fetch the data from the XML source and used to write the data back. The second is the SDO_DAS_XML_Document class, which represents the data in the XML document.

There are also some exception classes which can be thrown if errors are found when looking for or parsing the xsd or xml files.

SDO_DAS_XML

This is the main class of the XML DAS, which is used fetch the data from the xml source and also used to write the data back. Other than the methods to load and save xml files,

메쏘드

  • create This is a static method available in the SDO_DAS_XML class. Used to construct an SDO_DAS_XML object.

  • addTypes Works in much the same way as create() but used to add the contents of a second or subsequent schema file to an XML DAS that has already been created.

  • createDataObject Can be used to construct an SDO data object of a given type.

  • createDocument Can be used to construct an XML Document object from scratch.

  • loadFile Loads the xml instance document from a file. This file can be at local file system or it can be on a remote host.

  • loadString same as the above method. Loads the xml instance which is available as string.

  • saveFile save SDO_DAS_XML_Document object as a xml file.

  • saveString save SDO_DAS_XML_Document object as a xml string.

SDO_DAS_XML_Document

This class can be used to get to the name and namespace of the document element, and to get to the root data object of the document. Lastly, it can also be used to set the XML version and encoding of a document on output.

메쏘드

  • getRootDataObject gets the root DataObject.

  • getRootElementName gets the root DataObject's name.

  • getRootElementURI gets the root DataObject's URI.

  • setEncoding sets the encoding string with the given value.

  • setXMLDeclaraion to set/unset the xml declaration.

  • setXMLVersion sets the xml version with the given value.

SDO_DAS_XML_ParserException

Is a subclass of SDO_Exception. Thrown for any parser errors while loading the xsd/xml file.

SDO_DAS_XML_FileException

Is a subclass of SDO_Exception. Thrown by any of the methods that load data from a file, when the file cannot be found.

Limitations compared with SDO 2.0 specification

The » SDO 2.0 specification defines the mapping between XML types and SDO types. With Java SDO, this mapping is implemented by the XMLHelper. With SDO for PHP, this mapping is implemented by the XML Data Access Service. The XML DAS implements the mapping described in the SDO 2.0 specification with some restrictions. A detailed list is of the limitations is:

절차 10. XML Simple Types

  1. Simple Type with sdoJava:instanceClass - no PHP equivalent provided.

  2. Simple Type with sdoJava:extendedInstanceClass - no PHP equivalent provided.

  3. Simple Type with list of itemType.

  4. Simple Type with union.

절차 11. XML Complex Types

  • Complex Type with sdo:aliasName - no PHP support for SDO Type aliases.

절차 12. XSD Attribute

  1. Attribute with sdo:aliasName - no PHP support for SDO property aliases.

  2. Attribute with default value - no PHP support for SDO property defaults.

  3. Attribute with fixed value - no PHP support for SDO read-only properties or default values.

  4. Attribute referencing a DataObject with sdo:propertyType - no support for sdo:propertyType="...".

  5. Attribute with bi-directional property to a DataObject with sdo:oppositeProperty and sdo:propertyType - no PHP support for SDO opposite.

절차 13. XSD Elements

  1. Element with sdo:aliasName - no PHP support for SDO property aliases.

  2. Element with substitution group.

절차 14. XSD Elements with Simple Type

  1. Element of SimpleType with default - no PHP support for SDO defaults

  2. Element of SimpleType with fixed value - no PHP support for SDO read-only properties or default values.

  3. Element of SimpleType with sdo:string - no support for sdo:string="true".

  4. Element referencing a DataObject with sdo:propertyType - no support for sdo:propertyType="..."

  5. Element with bi-directional reference to a DataObject with sdo:oppositeProperty and sdo:propertyType - no PHP support for SDO opposite.

차례

SDO_DAS_XML_Document::getRootDataObject -- Returns the root SDO_DataObject
SDO_DAS_XML_Document::getRootElementName -- Returns root element's name
SDO_DAS_XML_Document::getRootElementURI -- Returns root element's URI string
SDO_DAS_XML_Document::setEncoding -- Sets the given string as encoding
SDO_DAS_XML_Document::setXMLDeclaration -- Sets the xml declaration
SDO_DAS_XML_Document::setXMLVersion -- Sets the given string as xml version
SDO_DAS_XML::addTypes -- To load a second or subsequent schema file to a SDO_DAS_XML object
SDO_DAS_XML::create -- To create SDO_DAS_XML object for a given schema file
SDO_DAS_XML::createDataObject -- Creates SDO_DataObject for a given namespace URI and type name
SDO_DAS_XML::createDocument -- Creates an XML Document object from scratch, without the need to load a document from a file or string.
SDO_DAS_XML::loadFile -- Returns SDO_DAS_XML_Document object for a given path to xml instance document
SDO_DAS_XML::loadString -- Returns SDO_DAS_XML_Document for a given xml instance string
SDO_DAS_XML::saveFile -- Saves the SDO_DAS_XML_Document object to a file
SDO_DAS_XML::saveString -- Saves the SDO_DAS_XML_Document object to a string
이전 | 위로 | 다음
SDO_Sequence::move | 처음으로 | SDO_DAS_XML_Document::getRootDataObject


SDO Relational Data Access Service Functions

이전 VI. 함수 레퍼런스 다음

CXLV. SDO Relational Data Access Service Functions

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

In order to use the Relational Data Access Service for Service Data Objects, you will need to understand some of the concepts behind SDO: the data graph, the data object, the disconnected way of working, the change summary, XPath and property expressions, and so on. If you are not familiar with these ideas, you might want to look first at the section on SDO. In addition, the Relational DAS makes use of the PDO extension to isolate itself from specifics of different back-end relational databases. In order to use the Relational DAS you will need to be able to create and pass a PDO database connection; for this reason you might also want to take a look at the section on PDO.

The job of the Relational DAS is to move data between the application and a relational database. In order to do this it needs to be told the mapping between the database entities - tables, columns, primary keys and foreign keys - and the elements of the SDO model - types, properties, containment relationships and so on. You specify this information as metadata when you construct the Relational DAS.

절차 15. Overview of Operation

  1. The first step is to call the Relational DAS's constructor, passing the metadata that defines the mapping between database and SDO model. There are examples of this below.

  2. The next step might be to call the executeQuery() or executePreparedQuery() methods on the Relational DAS, passing either a literal SQL statement for the DAS to prepare and execute, or a prepared statement with placeholders and a list of values to be inserted. You may also need to specify a small amount of metadata about the query itself, so that the Relational DAS knows exactly what columns will be returned from the database and in what order. You will also need to pass a PDO database connection.

    The return value from executeQuery() or executePreparedQuery() is a normalised data graph containing all the data from the result set. For a query that returns data obtained from a number of tables, this graph will contain a number of data objects, linked by SDO containment relationships. There may also be SDO non-containment references within the data.

    Once the query has been executed and the data graph constructed, there is no need for either that instance of the the Relational DAS or the database connection. There are no locks held on the database. Both the Relational DAS and the PDO database connection can be garbage collected.

  3. Quite possibly the data in the data graph will go through a number of modifications. The data graph can be serialised into the PHP session and so may have a lifetime beyond just one client-server interaction. Data objects can be created and added to the graph, the data objects already in the graph can be deleted, and data objects in the graph can be modified.

  4. Finally, the changes made to the data graph can be applied back to the database using the applyChanges() method of the Relational DAS. For this, another instance of the Relational DAS must be constructed, using the same metadata, and another connection to the database obtained. The connection and the data graph are passed to applyChanges(). At this point the Relational DAS examines the change summary and generates the necessary INSERT, UPDATE and DELETE SQL statements to apply the changes. Any UPDATE and DELETE statements are qualified with the original values of the data so that should the data have changed in the database in the meantime this will be detected. Assuming no such collisions have occurred the changes will be committed to the database. The application can then continue to work with the data graph, make more changes and apply them, or can discard it.

There are other ways of working with the data in the database: it is possible to just create data objects and write them to the database without a preliminary call to executeQuery(), for example. This scenario and others are explored in the Examples section below.

설치

The installation instructions for all the SDO components are in the SDO install section of the SDO documentation.

In any case, the essential facts are that the Relational DAS is written in PHP and it should be placed somewhere on the PHP include_path .

Your application will of course need to include the Relational DAS with a statement like this: <?php
require_once 'SDO/DAS/Relational.php';
?>

요구 조건

The Relational DAS requires that the SDO extension be installed. The SDO extension requires a version of PHP 5.1, and the Relational DAS requires a recent version that contains an important fix for PDO. The most up-to-date information about required levels of PHP should be found in the changelog for the package on PECL. At the time of writing, though, the Relational DAS requires the most recent beta level of PHP 5.1, that is PHP 5.1.0.

The Relational DAS uses PDO to access the relational database, and so should run with a variety of different relational databases. At the time of writing it has been tested in the following configurations

  • MySQL 4.1.14, on Windows. The Relational DAS operates correctly with the php_pdo_mysql driver that comes with the pre-built binaries for PHP 5.1.0.

  • MySQL 4.1.13, on Linux. It is necessary to have the most up-to-date PDO driver for MySQL, which comes built in to PHP 5.1.0. It may be necessary to uninstall the usual driver that would have come from PECL using pear uninstall pdo_mysql . You will need to configure PHP with the --with-pdo-mysql option.

  • DB2 8.2 Personal Edition, on Windows. The Relational DAS operates correctly with the php_pdo_odbc driver that comes with the pre-built binaries for PHP 5.1.0.

  • DB2 8.2 Personal Developer's Edition, on Linux. The Developer's Edition is needed because it contains the include files needed when PHP is configured and built. You will need to configure PHP with the --with-pdo-odbc=ibm-db2 option.

The Relational DAS applies changes to the database within a user-delimited transaction: that is, it issues a call to PDO::beginTransaction() before beginning to apply changes, and PDO::commit() or PDO::rollback() on completion. Whichever database is chosen, the database and the PDO driver for the database must support these calls.

Limitations

There are the following limitations in the current release of the Relational DAS:

  • No support for nulls. There is no support for SQL NULL type. It is not legal to assign PHP NULL to a data object property and the Relational DAS will not write that back as a NULL to the database. If nulls are found in the database on a query, the property will remain unset.

  • Only two types of SDO relationship. The metadata described below allows the Relational DAS to model just two types of SDO relationship: multi-valued containment relationships and single-valued non-containment references. In SDO, whether a property describes a single- or multi-valued relationship, and whether it is containment or non-containment, are independent. The full range of possibilities that SDO allows cannot all be defined. There may be relationships that it would be useful to model but which the current implementation cannot manage. One example is a single-valued containment relationship.

  • No support for the full range of SDO data types. The Relational DAS defines all primitive properties in the SDO model as being of type string. SDO defines a richer set of types containing various integer, float, boolean and data and time types. String is adequate for the purposes of the Relational DAS since the combination of PHP, PDO and the database will ensure that values passed as strings will be converted to the proper type before being put in the database. This does affect some scenarios in which the Relational DAS has to work with a data graph that has come from or will go to a different DAS.

  • Only one foreign key per table. The metadata only provides the means to specify one foreign key per table. This foreign key may be mapped to one of the two types of SDO relationship supported. Obviously there are some scenarios that cannot be described under this limitation - it is not possible to have two non-containment references from one table to another for example.

예제

This section illustrates how the Relational DAS can be used to create, retrieve, update and delete data in a relational database. Many of the examples are illustrated with a three-table database that contains companies, departments within those companies, and employees that work in those departments. This example is used in a number of places within the SDO literature. See the examples section of the » Service Data Objects specification or the Examples section of the documentation for the SDO extension.

The Relational DAS is constructed with metadata that defines the relational database and how it should be mapped to SDO. The long section that follows describes this metadata and how to construct the Relational DAS. The examples that follow it all assume that this metadata is in an included php file.

The examples below and others can all be found in the Scenarios directory in the Relational DAS package.

The Relational DAS throws exceptions in the event that it finds errors in the metadata or errors when executing SQL statements against the database. For brevity the examples below all omit the use of try/catch blocks around the calls to the Relational DAS.

These examples all differ from the expected use of SDO in two important respects.

First, they show all interactions with the database completed within one script. In this respect these scenarios are not realistic but are chosen to illustrate just the use of the Relational DAS. It is expected that interactions with the database will be separated in time and the data graph serialised and deserialised into the PHP session one or more times as the application interacts with an end user.

Second, all queries executed against the database use hard-coded queries with no variables substituted. In this case it is safe to use the simple executeQuery() call, and this is what the examples illustrate. In practice, though, it is unlikely that the SQL statement is known entirely ahead of time. In order to allow variables to be safely substituted into the SQL queries, without running the risk of injecting SQL with unknown effects, it is safer to use the executePreparedQuery() which takes a prepared SQL statement containing placeholders and a list of values to be substituted.

Specifying the metadata

This first long section describes in detail how the metadata describing the database and the required SDO model is supplied to the Relational DAS.

When the constructor for the Relational DAS is invoked, it needs to be passed several pieces of information. The bulk of the information, passed as an associative array in the first argument to the constructor, tells the Relational DAS what it needs to know about the relational database. It describes the names of the tables, columns, primary keys and foreign keys. It should be fairly easy to understand what is required, and once written it can be placed in a php file and included when needed. The remainder of the information, passed in the second and third arguments to the constructor, tells the Relational DAS what it needs to know about the relationships between objects and the shape of the data graph; it ultimately determines how the data from the database is to be normalised into a graph.

Database metadata

The first argument to the constructor describes the target relational database.

Each table is described by an associative array with up to four keys.

Key | Value
name | The name of the table.
columns | An array listing the names of the columns, in any order.
PK | The name of the column containing the primary key.
FK | An array with two entries, 'from' and 'to', which define a column containing a foreign key, and a table to which the foreign key points. If there are no foreign keys in the table then the 'FK' entry does not need to be specified. Only one foreign key can be specified. Only a foreign key pointing to the primary key of a table can be specified.

<?php
/*****************************************************************
* METADATA DEFINING THE DATABASE
******************************************************************/
$company_table = array (
    'name' => 'company',
    'columns' => array('id', 'name',  'employee_of_the_month'),
    'PK' => 'id',
    'FK' => array (
        'from' => 'employee_of_the_month',
        'to' => 'employee',
        ),
    );
$department_table = array (
    'name' => 'department',
    'columns' => array('id', 'name', 'location', 'number', 'co_id'),
    'PK' => 'id',
    'FK' => array (
        'from' => 'co_id',
        'to' => 'company',
        )
    );
$employee_table = array (
    'name' => 'employee',
    'columns' => array('id', 'name', 'SN', 'manager', 'dept_id'),
    'PK' => 'id',
    'FK' => array (
        'from' => 'dept_id',
        'to' => 'department',
        )
    );
$database_metadata = array($company_table, $department_table, $employee_table);
?>

This metadata corresponds to a relational database that might have been defined to MySQL as:

 create table company (
   id integer auto_increment,
   name char(20),
   employee_of_the_month integer,
   primary key(id)
 );
 create table department (
   id integer auto_increment,
   name char(20),
   location char(10),
   number integer(3),
   co_id integer,
   primary key(id)
 );
 create table employee (
   id integer auto_increment,
   name char(20),
   SN char(4),
   manager tinyint(1),
   dept_id integer,
   primary key(id)
 );

or to DB2 as:

create table company ( \
    id integer not null generated by default as identity,  \
    name varchar(20), \
    employee_of_the_month integer, \
    primary key(id) )
create table department ( \
    id integer not null generated by default as identity, \
    name varchar(20), \
    location varchar(10), \
    number integer, \
    co_id integer, \
    primary key(id) )
create table employee ( \
    id integer not null generated by default as identity, \
    name varchar(20), \
    SN char(4), \
    manager smallint, \
    dept_id integer, \
    primary key(id) )

Note that although in this example there are no foreign keys specified to the database and so the database is not expected to enforce referential integrity, the intention behind the co_id column on the department table and the dept_id column on the employee table is they should contain the primary key of their containing company or department record, respectively. So these two columns are acting as foreign keys.

There is a third foreign key in this example, that from the employee_of_the_month column of the company record to a single row of the employee table. Note the difference in intent between this foreign key and the other two. The employee_of_the_month column represents a single-valued relationship: there can be only one employee of the month for a given company. The co_id and dept_id columns represent multi-valued relationships: a company can contain many departments and a department can contain many employees. This distinction will become evident when the remainder of the metadata picks out the company-department and department-employee relationships as containment relationships.

There are a few simple rules to be followed when constructing the database metadata:

  • All tables must have primary keys, and the primary keys must be specified in the metadata. Without primary keys it is not possible to keep track of object identities. As you can see from the SQL statements that create the tables, primary keys can be auto-generated, that is, generated and assigned by the database when a record is inserted. In this case the auto-generated primary key is obtained from the database and inserted into the data object immediately after the row is inserted into the database.

  • It is not necessary to specify in the metadata all the columns that exist in the database, only those that will be used. For example, if the company table had another column that the application did not want to access with SDO, this need not be specified in the metadata. On the other hand it would have done no harm to specify it: if specified in the metadata but never retrieved, or assigned to by the application, then the unused column will not affect anything.

  • In the database metadata note that the foreign key definitions identify not the destination column in the table which is pointed to, but the table name itself. Strictly, the relational model permits the destination of a foreign key to be a non-primary key. Only foreign keys that point to a primary key are useful for constructing the SDO model, so the metadata specifies the table name. It is understood that the foreign key points to the primary key of the given table.

Given these rules, and given the SQL statements that define the database, the database metadata should be easy to construct.

What the Relational DAS does with the metadata

The Relational DAS uses the database metadata to form most of the SDO model. For each table in the database metadata, an SDO type is defined. Each column which can represent a primitive value (columns which are not defined as foreign keys) are added as properties to the SDO type.

All primitive properties are given a type of string in the SDO model, regardless of their SQL type. When writing values back to the database the Relational DAS will create SQL statements that treat the values as strings, and the database will convert them to the appropriate type.

Foreign keys are interpreted in one of two ways, depending on the metadata in the third argument to the constructor that defines the SDO containment relationships. A discussion of this is therefore deferred until the section on SDO containment relationships below.

Specifying the application root type

The second argument to the constructor is the application root type. The true root of each data graph is an object of a special root type and all application data objects come somewhere below that. Of the various application types in the SDO model, one has to be the application type immediately below the root of the data graph. If there is only one table in the database metadata, the application root type can be inferred, and this argument can be omitted.

Specifying the SDO containment relationships

The third argument to the constructor defines how the types in the model are to be linked together to form a graph. It identifies the parent-child relationships between the types which collectively form a graph. The relationships need to be supported by foreign keys to be found in the data, in a way shortly to be described.

The metadata is an array containing one or more associative arrays, each of which identifies a parent and a child. The example below shows a parent-child relationship from company to department, and another from department to employee. Each of these will become an SDO property defining a multi-valued containment relationship in the SDO model.

<?php
$department_containment = array( 'parent' => 'company', 'child' => 'department');
$employee_containment = array( 'parent' => 'department', 'child' => 'employee');

$SDO_containment_metadata = array($department_containment, $employee_containment);
?>

Foreign keys in the database metadata are interpreted as properties with either multi-valued containment relationships or single-valued non-containment references, depending on whether they have a corresponding SDO containment relationship specified in the metadata. In the example here, the foreign keys from department to company (the co_id column in the department table) and from employee to department (the dept_id column in the employee table) are interpreted as supporting the SDO containment relationships. Each containment relationship mentioned in the SDO containment relationships metadata must have a corresponding foreign key present in the database and defined in the database metadata. The values of the foreign key columns for containment relationships do not appear in the data objects, instead each is represented by a containment relationship from the parent to the child. So the co_id column in the department row in the database, for example, does not appear as a property on the department type, but instead as a containment relationship called department on the company type. Note that the foreign key and the parent-child relationship appear to have opposite senses: the foreign key points from the department to the company, but the parent-child relationship points from company to department.

The third foreign key in this example, the employee_of_the_month , is handled differently. This is not mentioned in the SDO containment relationships metadata. As a consequence this is interpreted in the second way: it becomes a single-valued non-containment reference on the company object, to which can be assigned references to SDO data objects of the employee type. It does appear as a property on the company type. The way to assign a value to it in the SDO data graph is to have a graph that contains an employee object through the containment relationships, and to assign the object to it. This is illustrated in the later examples below.

One-table examples

The following set of examples all use the Relational DAS to work with a data graph containing just one application data object, a single company and the data just to be found the company table. These examples do not exercise the power of SDO or the Relational DAS and of course the same result could be achieved more economically with direct SQL statements but they are intended to illustrate how to work with the Relational DAS.

For this very simple scenario it would be possible to simplify the database metadata to include just the company table - if that were done the second and third arguments to the constructor and the column specifier used in the query example would become optional.

예 2088. Creating a data object

The simplest example is that of creating a single data object and writing it to the database. In this example a single company object is created, its name is set to 'Acme', and the Relational DAS is called to write the changes to the database. The company name is set here using the property name method. See the Examples section on the SDO extension for other ways of accessing the properties of an object.

Data objects can only be created when you have a data object to start with, however. It is for that reason that the first call to the Relational DAS here is to obtain a root object. This is in effect how to ask for an empty data graph - the special root object is the true root of the tree. The company data object is then created with a call to createDataObject() on the root object. This creates the company data object and inserts it in the graph by inserting into a multi-valued containment property on the root object called 'company'.

When the Relational DAS is called to apply the changes a simple insert statement 'INSERT INTO company (name) VALUES ("Acme");' will be constructed and executed. The auto-generated primary key will be set into the data object and the change summary will be reset, so that it would be possible to continue working with the same data object, modify it, and apply the newer changes a second time.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
 * Obtain a root object and create a company object underneath.
 * Make a simple change to the data object.
 ***************************************************************/
$root = $das  -> createRootDataObject();
$acme = $root -> createDataObject('company');

$acme->name = "Acme";

/**************************************************************
 * Get a database connection and write the object to the database
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das -> applyChanges($dbh, $root);
?>

예 2089. Retrieving a data object

In this example a single data object is retrieved from the database - or possibly more than one if there is more than one company called 'Acme'. For each company returned, the name and id properties are echoed.

In this example the third argument to executeQuery(), the column specifier is needed as there are other tables in the metadata with column names of name and id. If there were no possible ambiguity it could be omitted.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 ***************************************************************/
$root = $das->executeQuery($dbh,
           'select name, id from company where name="Acme"',
            array('company.name', 'company.id') );

/**************************************************************
 * Echo name and id
 ***************************************************************/
foreach ($root['company'] as $company) {
    echo "Company obtained from the database has name = " .
    $company['name'] . " and id " . $company['id'] . "\n";
}
?>

예 2090. Updating a data object

This example combines the previous two, in the sense that in order to be updated the object must first be retrieved. The application code reverses the company name (so 'Acme' becomes 'emcA') and then the changes are written back to the database in the same way that they were when the object was created. Because the query searches for the name both ways round the program can be run repeatedly to find the company and reverse its name each time.

In this example the same instance of the Relational DAS is reused for the applyChanges(), as is the PDO database handle. This is quite alright; it also alright to allow the previous instances to be garbage collected and to obtain new instances. No state data regarding the graph is held the Relational DAS once it has returned a data graph to the application. All necessary data is either within the graph itself, or can be reconstructed from the metadata.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 ***************************************************************/
$root = $das->executeQuery($dbh,
    'select name, id from company where name="Acme" or name="emcA"',
    array('company.name', 'company.id') );

/**************************************************************
 * Alter the name of just the first company
 ***************************************************************/
$company = $root['company'][0];
echo "obtained a company with name of " . $company->name . "\n";
$company->name = strrev($company->name);

/**************************************************************
 * Write the change back
 ***************************************************************/
$das->applyChanges($dbh,$root);
?>

예 2091. Deleting a data object

Any companies called 'Acme' or its reverse 'emcA' are retrieved. They are then all deleted from the graph with unset.

In this example they are all deleted in one go by unsetting the containing property (the property defining the containment relationship). It is also possible to delete them individually.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Construct the DAS with the metadata
 ***************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

/**************************************************************
 * Get a database connection
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

/**************************************************************
 * Issue a query to obtain a company object - possibly more if they exist
 ***************************************************************/
$root = $das->executeQuery($dbh,
    'select name, id from company where name="Acme" or name="emcA"',
    array('company.name', 'company.id') );

/**************************************************************
 * Delete any companies found from the data graph
 ***************************************************************/
unset($root['company']);

/**************************************************************
 * Write the change(s) back
 ***************************************************************/
$das->applyChanges($dbh,$root);
?>

Two-table examples

The following set of examples all use two tables from the company database: the company and department tables. These examples exercise more of the function of the Relational DAS.

In this series of examples a company and department are created, retrieved, updated, and finally deleted. This illustrates the lifecycle for a data graph containing more than one object. Note that this example clears out the company and department tables at the start so that the exact results of the queries can be known.

You can find these examples combined into one script called 1cd-CRUD in the Scenarios directory in the Relational DAS package.

예 2092. One company, one department - Create

As in the earlier example of creating just one company data object, the first action after constructing the Relational DAS is to call createRootDataObject() to obtain the special root object of the otherwise empty data graph. The company object is then created as a child of the root object, and the department object as a child of the company object.

When it comes to applying the changes, the Relational DAS has to perform special processing to maintain the foreign keys that support the containment relationships, especially if auto-generated primary keys are involved. In this example, the relationship between the auto-generated primary key id in the company table and the co_id column in the department table must be maintained. When inserting a company and department for the first time the Relational DAS has to first insert the company row, then call PDO's getLastInsertId() method to obtain the auto-generated primary key, then add that as the value of the co_id column when inserting the department row.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Empty out the two tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPANY;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTMENT;');
$rows_affected = $pdo_stmt->execute();

/**************************************************************
* Create a company with name Acme and one department, the Shoe department
***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das -> createRootDataObject();

$acme = $root -> createDataObject('company');
$acme -> name = "Acme";

$shoe = $acme->createDataObject('department');
$shoe->name = 'Shoe';

$das -> applyChanges($dbh, $root);

?>

예 2093. One company, one department - Retrieve and Update

In this case the SQL query passed to executeQuery() performs an inner join to join the data from the company and department tables. Primary keys for both the company and department tables must be included in the query. The result set is re-normalised to form a normalised data graph. Note that a column specifier is passed as the third argument to the executeQuery() call enabling the Relational DAS to know which column is which in the result set.

Note that the co_id column although used in the query is not needed in the result set. In order to understand what the Relational DAS is doing when it builds the data graph it may be helpful to visualise what the result set looks like. Although the data in the database is normalised, so that multiple department rows can point through their foreign key to one company row, the data in the result set is non-normalised: that is, if there is one company and multiple departments, the values for the company are repeated in each row. The Relational DAS has to reverse this process and turn the result set back into a normalised data graph, with just one company object.

In this example the Relational DAS will examine the result set and column specifier, find data for both the company and department tables, find primary keys for both, and interpret each row as containing data for a department and its parent company. If it has not seen data for that company before (it uses the primary key to check) it creates a company object and then a department object underneath it. If it has seen data for that company before and has already created the company object it just creates the department object underneath.

In this way the Relational DAS can retrieve and renormalise data for multiple companies and multiple departments underneath them.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Retrieve the company and Shoe department, then delete Shoe and add IT
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.name, d.id, d.name from company c, department d where d.co_id = c.id',
array('company.id','company.name','department.id','department.name'));

$acme = $root['company'][0];            // get the first company - will be 'Acme'
$shoe = $acme['department'][0];         // get the first department underneath - will be 'Shoe'

unset($acme['department'][0]);

$it = $acme->createDataObject('department');
$it->name = 'IT';

$das -> applyChanges($dbh, $root);
?>

예 2094. One company, two departments - Retrieve and Delete

In this example the company and department are retrieved and then deleted. It is not necessary to delete them individually (although that would be possible) - deleting the company object from the data graph also deletes any departments underneath it.

Note the way that the company object is actually deleted using the PHP unset call. The unset has to be performed on the containing property which in this case is the company property on the special root object. You must use: <?php
unset($root['company'][0]);
?> and not: <?php
unset($acme); //WRONG
?> Simply unsetting $acme would destroy the variable but leave the data in the data graph untouched.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/**************************************************************
 * Retrieve the company and IT department, then delete the whole company
 ***************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);

$root = $das->executeQuery($dbh,
'select c.id, c.name, d.id, d.name from company c, department d where d.co_id = c.id',
array('company.id','company.name','department.id','department.name'));

$acme = $root['company'][0];
$it = $acme['department'][0];

unset($root['company'][0]);

$das -> applyChanges($dbh, $root);

?>

Three-table example

The following examples use all three tables from the company database: the company, department, and employee tables. These introduce the final piece of function not exercised by the examples above: the non-containment reference employee_of_the_month.

Like the examples above for company and department, this set of examples is intended to illustrate the full lifecycle of such a data graph.

예 2095. One company, one department, one employee - Create

In this example a company is created containing one department and just one employee. Note that this example clears out all three tables at the start so that the exact results of the queries can be known.

Note how once the company, department and employee have been created, the employee_of_the_month property of the company can be made to point at the new employee. As this is a non-containment reference, this cannot be done until the employee object has been created within the graph. Non-containment references need to be managed carefully. For example if the employee were now deleted from under the department, it would not be correct to try to save the graph without first clearing or re-assigning the employee_of_the_month property. The closure rule for SDO data graphs requires that any object pointed at by a non-containment reference must also be reachable by containment relationships.

When it comes to inserting the graph into the database, the procedure is similar to the example of inserting the company and department, but employee_of_the_month introduces an extra complexity. The Relational DAS needs to insert the objects working down the tree formed by containment relationships, so company, then department, then employee. This is necessary so that it always has the auto-generated primary key of a parent on hand to include in a child row. But when the company row is inserted the employee who is employee of the month has not yet been inserted and the primary key is not known. The procedure is that after the employee record is inserted and its primary key known, a final step is performed in which the the company record is updated with the employee's primary key.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
* Empty out the three tables
*************************************************************************************/
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);
$pdo_stmt = $dbh->prepare('DELETE FROM COMPANY;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM DEPARTMENT;');
$rows_affected = $pdo_stmt->execute();
$pdo_stmt = $dbh->prepare('DELETE FROM EMPLOYEE;');
$rows_affected = $pdo_stmt->execute();

/*************************************************************************************
* Create a tiny but complete company.
* The company name is Acme.
* There is one department, Shoe.
* There is one employee, Sue.
* The employee of the month is Sue.
*************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root             = $das  -> createRootDataObject();
$acme             = $root -> createDataObject('company');
$acme -> name     = "Acme";
$shoe             = $acme -> createDataObject('department');
$shoe -> name     = 'Shoe';
$shoe -> location = 'A-block';
$sue              = $shoe -> createDataObject('employee');
$sue -> name      = 'Sue';
$acme -> employee_of_the_month = $sue;

$das -> applyChanges($dbh, $root);

echo "Wrote back Acme with one department and one employee\n";
?>

예 2096. One company, one department, one employee - Retrieve and update

The SQL statement passed to the Relational DAS is this time an inner join that retrieves data from all three tables. Otherwise this example introduces nothing that has not appeared in a previous example.

The graph is updated by the addition of a new department and employee and some alterations to the name properties of the existing objects in the graph. The combined changes are then written back. The Relational DAS will process and apply an arbitrary mixture of additions, modifications and deletions to and from the data graph.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
 * Find the company again and change various aspects.
 * Change the name of the company, department and employee.
 * Add a second department and a new employee.
 * Change the employee of the month.
 *************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
    "select c.id, c.name, c.employee_of_the_month, d.id, d.name, e.id, e.name " .
    "from company c, department d, employee e " .
    "where e.dept_id = d.id and d.co_id = c.id and c.name='Acme'",
     array('company.id','company.name','company.employee_of_the_month',
     'department.id','department.name','employee.id','employee.name'));
$acme         = $root['company'][0];

$shoe         = $acme->department[0];
$sue          = $shoe -> employee[0];

$it           = $acme->createDataObject('department');
$it->name     = 'IT';
$it->location = 'G-block';
$billy        = $it->createDataObject('employee');
$billy->name  = 'Billy';

$acme->name   = 'MegaCorp';
$shoe->name   = 'Footwear';
$sue->name    = 'Susan';

$acme->employee_of_the_month = $billy;
$das -> applyChanges($dbh, $root);
echo "Wrote back company with extra department and employee and all the names changed (Megacorp/Footwear/Susan)\n";

?>

예 2097. One company, two departments, two employees - Retrieve and delete

The company is retrieved as a complete data graph containing five data objects - the company, two departments and two employees. They are all deleted by deleting the company object. Deleting an object from the graph deletes all the object beneath it in the graph. Five SQL DELETE statements will be generated and executed. As always they will be qualified with a WHERE clause that contains all of the fields that were retrieved, so that any updates to the data in the database in the meantime by another process will be detected.

<?php
require_once 'SDO/DAS/Relational.php';
require_once 'company_metadata.inc.php';

/*************************************************************************************
 * Now read it one more time and delete it.
 * You can delete part, apply the changes, then carry on working with the same graph but
 * care is needed to keep closure - you cannot delete the employee who is eotm without
 * reassigning. For safety here we delete the company all in one go.
 *************************************************************************************/
$das = new SDO_DAS_Relational ($database_metadata,'company',$SDO_containment_metadata);
$dbh = new PDO(PDO_DSN,DATABASE_USER,DATABASE_PASSWORD);

$root = $das->executeQuery($dbh,
    "select c.id, c.name, c.employee_of_the_month, d.id, d.name, e.id, e.name " .
    "from company c, department d, employee e " .
    "where e.dept_id = d.id and d.co_id = c.id and c.name='MegaCorp';",
     array('company.id','company.name','company.employee_of_the_month',
     'department.id','department.name','employee.id','employee.name'));
$megacorp = $root['company'][0];

unset($root['company']);
$das -> applyChanges($dbh, $root);

echo "Deleted the company, departments and employees all in one go.\n";

?>

Tracing

You may be interested in seeing the SQL statements that are generated in order to apply changes back to the database. At the top of the SDO/DAS/Relational.php you will find a number of constants which control whether the process of constructing and executing the SQL statements is to be traced. Try setting DEBUG_EXECUTE_PLAN to TRUE to see the generated SQL statements.

예약 클래스

The Relational DAS provides two classes: the Relational DAS itself and the subclass of Exception that can be thrown. The Relational DAS has four publicly useful calls: the constructor, the createRootDataObject() call to obtain the root object of an empty data graph, the executeQuery() call to obtain a data graph containing data from a relational database, and the applyChanges() call to write changes made to a data graph back to the relational database.

SDO_DAS_Relational

The only object other than an SDO_DAS_Relational_Exception with which the application is expected to interact.

메쏘드

  • __construct - construct the Relational DAS with a model derived from the passed metadata

  • createRootDataObject - obtain an otherwise empty data graph containing just the special root object

  • executeQuery - execute an SQL query passed as a literal string and return the results as a normalised data graph

  • executePreparedQuery - execute an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph

  • applyChanges - examine the change summary in the data graph and apply those changes back to the database, subject to an assumption of optimistic concurrency

SDO_DAS_Relational_Exception

Is a subclass of PHP's Exception. It adds no behaviour to Exception. Thrown, with useful descriptive text, to signal errors in the metadata or unexpected failures to perform SQL operations.

차례

SDO_DAS_Relational::applyChanges -- Applies the changes made to a data graph back to the database.
SDO_DAS_Relational::__construct -- Creates an instance of a Relational Data Access Service
SDO_DAS_Relational::createRootDataObject -- Returns the special root object in an otherwise empty data graph. Used when creating a data graph from scratch.
SDO_DAS_Relational::executePreparedQuery -- Executes an SQL query passed as a prepared statement, with a list of values to substitute for placeholders, and return the results as a normalised data graph.
SDO_DAS_Relational::executeQuery -- Executes a given SQL query against a relational database and returns the results as a normalised data graph.
이전 | 위로 | 다음
SDO_DAS_XML::saveString | 처음으로 | SDO_DAS_Relational::applyChanges


PostgreSQL Session Save Handler

이전 VI. 함수 레퍼런스 다음

CXLVIII. PostgreSQL Session Save Handler

소개

참고: 이 확장 모듈은 윈도우 플랫폼에서는 사용할 수 없습니다.

This module provides an additional session save handler for the session module using » PostgreSQL as a storage system. A user-level session storage function may also be used - session_set_save_handler(), but this module is written in C and therefore could be twice as fast, compared to a session save handler written in PHP.

Session PgSQL is designed to scale any size of web sites and offers some advanced features:
session tables are created automatically
automatic session table vacuum
better garbage collection
multiple PostgreSQL servers support
automatic database server failover (switching)
automatic database server load balancing if there are multiple PostgreSQL servers.
short circuit UPDATE

요구 조건

You need at least PHP >= 4.3.0, and PostgreSQL >=7.2.0 as database server. libpq that comes with PostgreSQL 7.2.0 or later (and header files to build) and » libmm (and header files).

설치

Short installation note:

  • Untar the tar.gz archive into php4/ext (Latest official releases can be found at SourceForge » PHP Form Extension Project)
  • If the new directory is now called something like session_pgsql. You should name it to session_pgsql (except you only want to build it as self-contained php-module).
  • Run ./buildconf in php4
  • Run configure --with-session-pgsql (and your other options)
  • make; make install

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

PostgreSQL session save handler is still under development. Refer to the README file in the source distribution for configuration details.

Table definitions

Session table definition

CREATE TABLE php_session (
  sess_id            text,
  sess_name          text,
  sess_data          text,
  sess_created       integer,
  sess_modified      integer,
  sess_expire        integer,
  sess_addr_created  text,
  sess_addr_modified text,
  sess_counter       integer,
  sess_error         integer,
  sess_warning       integer,
  sess_notice        integer,
  sess_err_message   text,
  sess_custom        text
);

CREATE INDEX php_session_idx ON php_session USING BTREE (sess_id);

주의

If you use HASH for INDEX, you'll have a deadlock problem when the server load is very high. Even if it's unlikely to have a deadlock under normal operation, it can occur. Do not use HASH for INDEX.

You may change the session table as long as all fields are defined.

Application variables table definition

CREATE TABLE php_app_vars (
  app_modified       integer,
  app_name           text,
  app_vars           text
);

Contact Information

I have at the moment not very much time to further develop this extension. I will implement more and more features in the near future.

If you have comments, bug fixes, enhancements or want to help developing this, you can drop me a mail at » yohgaki@php.net. Any help is very welcome.

차례

session_pgsql_add_error -- Increments error counts and sets last error message
session_pgsql_get_error -- Returns number of errors and last error message
session_pgsql_get_field -- Get custom field value
session_pgsql_reset -- Reset connection to session database servers
session_pgsql_set_field -- Set custom field value
session_pgsql_status -- Get current save handler status
이전 | 위로 | 다음
sesam_settransaction | 처음으로 | session_pgsql_add_error


Secure Shell2 Functions

이전 VI. 함수 레퍼런스 다음

CLVIII. Secure Shell2 Functions

소개

Bindings to the » libssh2 library which provide access to resources (shell, remote exec, tunneling, file transfer) on a remote machine using a secure cryptographic transport.

설치

Windows binaries may be found at » http://snaps.php.net/. To install, download php_ssh2.dll to the folder specified by your php.ini file's extension_dir directive. Enable it by adding extension=php_ssh2.dll to your php.ini and restarting your web server.

extension_dir=c:/php5/exts/
extension=php_ssh2.dll

Linux, BSD, and other *nix variants can be compiled using the following steps:

  • Download and install » OpenSSL. If you install OpenSSL via your distribution's packaging system be sure to install the development libraries as well. This will typically be a package named openssl-dev, openssl_devel, or some variation thereof.
  • Download and install » libssh2. Typically this means executing the following command from the libssh2 source tree. ./configure && make all install.
  • Run the pear installer for PECL/ssh2: pear install ssh2
  • Copy ssh2.so from the directory indicated by the build process to the location specified in your php.ini file under extension_dir.
  • Add extension=ssh2.so to your php.ini
  • Restart your web server to reload your php.ini settings.

Development Versions: There are currently no stable versions of PECL/ssh2, to force installation of the beta version of PECL/ssh2 execute: pear install ssh2-beta

Compiling PECL/ssh2 without using the PEAR command

Rather than using pear install ssh2 to automatically download and install PECL/ssh2, you may download the tarball from » PECL. From the root of the unpacked tarball, run: phpize && ./configure --with-ssh2 && make to generate ssh2.so. Once built, continue the installation from step 4 above.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/ssh2.

참고: You will need version 0.4 or greater of the libssh2 library (possibly higher, see release notes).

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

SSH2_FINGERPRINT_MD5 (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an MD5 hash.
SSH2_FINGERPRINT_SHA1 (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an SHA1 hash.
SSH2_FINGERPRINT_HEX (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a string of hexits.
SSH2_FINGERPRINT_RAW (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a raw string of 8-bit characters.
SSH2_TERM_UNIT_CHARS (integer)
Flag to ssh2_shell() specifying that width and height are provided as character sizes.
SSH2_TERM_UNIT_PIXELS (integer)
Flag to ssh2_shell() specifying that width and height are provided in pixel units.
SSH2_DEFAULT_TERM_WIDTH (integer)
Default terminal width requested by ssh2_shell().
SSH2_DEFAULT_TERM_HEIGHT (integer)
Default terminal height requested by ssh2_shell().
SSH2_DEFAULT_TERM_UNIT (integer)
Default terminal units requested by ssh2_shell().
SSH2_STREAM_STDIO (integer)
Flag to ssh2_fetch_stream() requesting STDIO subchannel.
SSH2_STREAM_STDERR (integer)
Flag to ssh2_fetch_stream() requesting STDERR subchannel.
SSH2_DEFAULT_TERMINAL (string)
Default terminal type (e.g. vt102, ansi, xterm, vanilla) requested by ssh2_shell().

차례

ssh2_auth_hostbased_file -- Authenticate using a public hostkey
ssh2_auth_none -- Authenticate as "none"
ssh2_auth_password -- Authenticate over SSH using a plain password
ssh2_auth_pubkey_file -- Authenticate using a public key
ssh2_connect -- Connect to an SSH server
ssh2_exec -- Execute a command on a remote server
ssh2_fetch_stream -- Fetch an extended data stream
ssh2_fingerprint -- Retreive fingerprint of remote server
ssh2_methods_negotiated -- Return list of negotiated methods
ssh2_publickey_add -- Add an authorized publickey
ssh2_publickey_init -- Initialize Publickey subsystem
ssh2_publickey_list -- List currently authorized publickeys
ssh2_publickey_remove -- Remove an authorized publickey
ssh2_scp_recv -- Request a file via SCP
ssh2_scp_send -- Send a file via SCP
ssh2_sftp_lstat -- Stat a symbolic link
ssh2_sftp_mkdir -- Create a directory
ssh2_sftp_readlink -- Return the target of a symbolic link
ssh2_sftp_realpath -- Resolve the realpath of a provided path string
ssh2_sftp_rename -- Rename a remote file
ssh2_sftp_rmdir -- Remove a directory
ssh2_sftp_stat -- Stat a file on a remote filesystem
ssh2_sftp_symlink -- Create a symlink
ssh2_sftp_unlink -- Delete a file
ssh2_sftp -- Initialize SFTP subsystem
ssh2_shell -- Request an interactive shell
ssh2_tunnel -- Open a tunnel through a remote server
이전 | 위로 | 다음
PDO->sqliteCreateFunction() | 처음으로 | ssh2_auth_hostbased_file


Statistics Functions

이전 VI. 함수 레퍼런스 다음

CLIX. Statistics Functions

소개

This is the statistics extension. It contains few dozens of functions useful for statistical computations. It is a wrapper around 2 scientific libraries, namely DCDFLIB (Library of C routines for Cumulative Distributions Functions, Inverses, and Other parameters) by B. Brown & J. Lavato and RANDLIB by Barry Brown, James Lavato & Kathy Russell. Includes CD and PD functions.

설치

이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/stats.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

요구 조건

No external libraries are needed. The extension comes bundled with the libraries used.

차례

stats_absolute_deviation -- Returns the absolute deviation of an array of values
stats_cdf_beta -- CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.
stats_cdf_binomial -- Calculates any one parameter of the binomial distribution given values for the others.
stats_cdf_cauchy -- Not documented
stats_cdf_chisquare -- Calculates any one parameter of the chi-square distribution given values for the others.
stats_cdf_exponential -- Not documented
stats_cdf_f -- Calculates any one parameter of the F distribution given values for the others.
stats_cdf_gamma -- Calculates any one parameter of the gamma distribution given values for the others.
stats_cdf_laplace -- Not documented
stats_cdf_logistic -- Not documented
stats_cdf_negative_binomial -- Calculates any one parameter of the negative binomial distribution given values for the others.
stats_cdf_noncentral_chisquare -- Calculates any one parameter of the non-central chi-square distribution given values for the others.
stats_cdf_noncentral_f -- Calculates any one parameter of the Non-central F distribution given values for the others.
stats_cdf_poisson -- Calculates any one parameter of the Poisson distribution given values for the others.
stats_cdf_t -- Calculates any one parameter of the T distribution given values for the others.
stats_cdf_uniform -- Not documented
stats_cdf_weibull -- Not documented
stats_covariance -- Computes the covariance of two data sets
stats_den_uniform -- Not documented
stats_dens_beta -- Not documented
stats_dens_cauchy -- Not documented
stats_dens_chisquare -- Not documented
stats_dens_exponential -- Not documented
stats_dens_f
stats_dens_gamma -- Not documented
stats_dens_laplace -- Not documented
stats_dens_logistic -- Not documented
stats_dens_negative_binomial -- Not documented
stats_dens_normal -- Not documented
stats_dens_pmf_binomial -- Not documented
stats_dens_pmf_hypergeometric
stats_dens_pmf_poisson -- Not documented
stats_dens_t -- Not documented
stats_dens_weibull -- Not documented
stats_harmonic_mean -- Returns the harmonic mean of an array of values
stats_kurtosis -- Computes the kurtosis of the data in the array
stats_rand_gen_beta -- Generates beta random deviate
stats_rand_gen_chisquare -- Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.
stats_rand_gen_exponential -- Generates a single random deviate from an exponential distribution with mean "av"
stats_rand_gen_f -- Generates a random deviate
stats_rand_gen_funiform -- Generates uniform float between low (exclusive) and high (exclusive)
stats_rand_gen_gamma -- Generates random deviates from a gamma distribution
stats_rand_gen_ibinomial_negative -- Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).
stats_rand_gen_ibinomial -- Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE
stats_rand_gen_int -- Generates random integer between 1 and 2147483562
stats_rand_gen_ipoisson -- Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).
stats_rand_gen_iuniform -- Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
stats_rand_gen_noncenral_chisquare -- Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0
stats_rand_gen_noncentral_f -- Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.
stats_rand_gen_noncentral_t -- Generates a single random deviate from a noncentral T distribution
stats_rand_gen_normal -- Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.
stats_rand_gen_t -- Generates a single random deviate from a T distribution
stats_rand_get_seeds -- Not documented
stats_rand_phrase_to_seeds -- generate two seeds for the RGN random number generator
stats_rand_ranf -- Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator
stats_rand_setall -- Not documented
stats_skew -- Computes the skewness of the data in the array
stats_standard_deviation -- Returns the standard deviation
stats_stat_binomial_coef -- Not documented
stats_stat_correlation -- Not documented
stats_stat_gennch -- Not documented
stats_stat_independent_t -- Not documented
stats_stat_innerproduct
stats_stat_noncentral_t -- Calculates any one parameter of the noncentral t distribution give values for the others.
stats_stat_paired_t -- Not documented
stats_stat_percentile -- Not documented
stats_stat_powersum -- Not documented
stats_variance -- Returns the population variance
이전 | 위로 | 다음
ssh2_tunnel | 처음으로 | stats_absolute_deviation


Subversion 함수

이전 VI. 함수 레퍼런스 다음

CLXII. Subversion 함수

소개

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

This extension implements PHP bindings for » Subversion (SVN), a version control system, allowing PHP scripts to communicate with SVN repositories and working copies without direct command line calls to the svn executable.

요구 조건

The Subversion binaries are not necessary to use this extension. However, when compiling the extension, libsvn (the Subversion headers) must be available.

설치

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/svn

If ./configure is having trouble finding the SVN files (for example, Subversion was installed with a different prefix directory), use ./configure --with-svn=$USR_PATH to specify the directory where the include/subversion-1/ folder is located.

PECL 확장 DLL은 » PHP 내려받기 페이지나 » http://pecl4win.php.net/에서 받을 수 있습니다.

주의

If the extension is compiled against libsvn 1.3, functions that work with working copies will fail when used on working copies created by Subversion 1.4.

자원형

Subversion's lower-level svn_fs_* functions make use of resources that reference local file-system repositories. They can probably be created using svn_repos_fs() and svn_fs_revision_root(). (verify?)

이 확장은 리소스형을 정의하지 않습니다.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

SVN_REVISON_HEAD (integer)
Magic number (-1) specifying the HEAD revision

Constants usable with svn_auth_set_parameter()

SVN_AUTH_PARAM_DEFAULT_USERNAME (string)
Property for default username to use when performing basic authentication
SVN_AUTH_PARAM_DEFAULT_PASSWORD (string)
Property for default password to use when performing basic authentication
SVN_AUTH_PARAM_NON_INTERACTIVE (string)
SVN_AUTH_PARAM_DONT_STORE_PASSWORDS (string)
SVN_AUTH_PARAM_NO_AUTH_CACHE (string)
SVN_AUTH_PARAM_SSL_SERVER_FAILURES (string)
SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO (string)
SVN_AUTH_PARAM_CONFIG (string)
SVN_AUTH_PARAM_SERVER_GROUP (string)
SVN_AUTH_PARAM_CONFIG_DIR (string)
PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS (string)
Custom property for ignoring SSL cert verification errors

Filesystem constants

SVN_FS_CONFIG_FS_TYPE (string)
Configuration key that determines filesystem type
SVN_FS_TYPE_BDB (string)
Filesystem is Berkeley-DB implementation
SVN_FS_TYPE_FSFS (string)
Filesystem is native-filesystem implementation

Reserved property constants

SVN_PROP_REVISION_DATE (string)
svn:date
SVN_PROP_REVISION_ORIG_DATE (string)
svn:original-date
SVN_PROP_REVISION_AUTHOR (string)
svn:author
SVN_PROP_REVISION_LOG (string)
svn:log

Working copy status constants

svn_wc_status_none (int)
Status does not exist
svn_wc_status_unversioned (int)
Item is not versioned in working copy
svn_wc_status_normal (int)
Item exists, nothing else is happening
svn_wc_status_added (int)
Item is scheduled for addition
svn_wc_status_missing (int)
Item is versioned but missing from the working copy
svn_wc_status_deleted (int)
Item is scheduled for deletion
svn_wc_status_replaced (int)
Item was deleted and then re-added
svn_wc_status_modified (int)
Item (text or properties) was modified
svn_wc_status_merged (int)
Item's local modifications were merged with repository modifications
svn_wc_status_conflicted (int)
Item's local modifications conflicted with repository modifications
svn_wc_status_ignored (int)
Item is unversioned but configured to be ignored
svn_wc_status_obstructed (int)
Unversioned item is in the way of a versioned resource
svn_wc_status_external (int)
Unversioned path that is populated using svn:externals
svn_wc_status_incomplete (int)
Directory does not contain complete entries list

Node type constants

svn_node_none (int)
Absent
svn_node_file (int)
File
svn_node_dir (int)
Directory
svn_node_unknown (int)
Something Subversion cannot identify

차례

svn_add -- Schedules the addition of an item in a working directory
svn_auth_get_parameter -- Retrieves authentication parameter
svn_auth_set_parameter -- Sets an authentication parameter
svn_cat -- Returns the contents of a file in a repository
svn_checkout -- Checks out a working copy from the repository
svn_cleanup -- Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
svn_client_version -- Returns the version of the SVN client libraries
svn_commit -- Sends changes from the local working copy to the repository
svn_diff -- Recursively diffs two paths
svn_fs_abort_txn -- Abort a transaction, returns true if everything is ok, false othewise
svn_fs_apply_text -- Creates and returns a stream that will be used to replace
svn_fs_begin_txn2 -- Create a new transaction
svn_fs_change_node_prop -- Return true if everything is ok, false otherwise
svn_fs_check_path -- Determines what kind of item lives at path in a given repository fsroot
svn_fs_contents_changed -- Return true if content is different, false otherwise
svn_fs_copy -- Copies a file or a directory, returns true if all is ok, false otherwise
svn_fs_delete -- Deletes a file or a directory, return true if all is ok, false otherwise
svn_fs_dir_entries -- Enumerates the directory entries under path; returns a hash of dir names to file type
svn_fs_file_contents -- Returns a stream to access the contents of a file from a given version of the fs
svn_fs_file_length -- Returns the length of a file from a given version of the fs
svn_fs_is_dir -- Return true if the path points to a directory, false otherwise
svn_fs_is_file -- Return true if the path points to a file, false otherwise
svn_fs_make_dir -- Creates a new empty directory, returns true if all is ok, false otherwise
svn_fs_make_file -- Creates a new empty file, returns true if all is ok, false otherwise
svn_fs_node_created_rev -- Returns the revision in which path under fsroot was created
svn_fs_node_prop -- Returns the value of a property for a node
svn_fs_props_changed -- Return true if props are different, false otherwise
svn_fs_revision_prop -- Fetches the value of a named property
svn_fs_revision_root -- Get a handle on a specific version of the repository root
svn_fs_txn_root -- Creates and returns a transaction root
svn_fs_youngest_rev -- Returns the number of the youngest revision in the filesystem
svn_import -- Imports an unversioned path into a repository
svn_log -- Returns the commit log messages of a repository URL
svn_ls -- Returns list of directory contents in repository URL, optionally at revision number
svn_repos_create -- Create a new subversion repository at path
svn_repos_fs_begin_txn_for_commit -- Create a new transaction
svn_repos_fs_commit_txn -- Commits a transaction and returns the new revision
svn_repos_fs -- Gets a handle on the filesystem for a repository
svn_repos_hotcopy -- Make a hot-copy of the repos at repospath; copy it to destpath
svn_repos_open -- Open a shared lock on a repository.
svn_repos_recover -- Run recovery procedures on the repository located at path.
svn_status -- Returns the status of working copy files and directories
svn_update -- Update working copy
이전 | 위로 | 다음
wordwrap | 처음으로 | svn_add


Swish Functions

이전 VI. 함수 레퍼런스 다음

CLXIV. Swish Functions

소개

The swish extension provides the bindings for Swish-e API. Swish-e stands for "Simple Web Indexing System for Humans - Enhanced" and is an open source system for indexing and search. Swish-e itself is licensed under GPL license, but uses a clause that allows applications to link against the library if every copy of the combined work is accompanied by the URL to Swish-e source code. Here it is: » http://swish-e.org.

주의

이 확장 모듈은 실험적입니다. 이 확장 모듈의 작동 -- 함수의 이름과 이 확장 모듈에 대한 모든 문서 자료에 대해서 -- 은 이후의 PHP 릴리즈에서 예고 없이 변경될 수 있습니다. 이 확장 모듈의 사용은 사용자의 책임하에 이루어집니다.

요구 조건

PECL/swish requires PHP 5.1.3 or newer.

설치

PECL 확장 설치에 관한 정보는 매뉴얼의 PECL 확장 설치에 있습니다. 새 릴리즈, 내려받기, 소스파일, 개발자 정보, CHANGELOG 등의 추가 정보는 여기에 있습니다: » http://pecl.php.net/package/swish.

The latest PECL/swish Win32 DLL can be downloaded here: » php_swish.dll.

실행시 설정

이 확장은 php.ini 설정이 존재하지 않습니다.

예제

예 2382. Basic search query

<?php

try {

    $swish = new Swish("index.swish-e");
    $results = $swish->query("test OR text");

    echo "Found ", $results->hits, " results\n";
    while ($result = $results->nextResult()) {
        var_dump($result);
        break; //break after the first result
    }

} catch (SwishException $e) {
    echo "Error: ", $e->getMessage(), "\n";
}

?>

위 예제의 출력 예:

Found 9 results
object(SwishResult)#3 (8) {
  ["swishreccount"]=>
  int(1)
  ["swishrank"]=>
  int(1000)
  ["swishfilenum"]=>
  int(10)
  ["swishdbfile"]=>
  string(13) "index.swish-e"
  ["swishdocpath"]=>
  string(23) "README.SUBMITTING_PATCH"
  ["swishtitle"]=>
  NULL
  ["swishdocsize"]=>
  int(4557)
  ["swishlastmodified"]=>
  int(1072136752)
}

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

Swish::META_TYPE_UNDEF (integer)
Swish::META_TYPE_STRING (integer)
Swish::META_TYPE_ULONG (integer)
Swish::META_TYPE_DATE (integer)
Swish::IN_FILE_BIT (integer)
Swish::IN_TITLE_BIT (integer)
Swish::IN_HEAD_BIT (integer)
Swish::IN_BODY_BIT (integer)
Swish::IN_COMMENTS_BIT (integer)
Swish::IN_HEADER_BIT (integer)
Swish::IN_EMPHASIZED_BIT (integer)
Swish::IN_META_BIT (integer)
Swish::IN_FILE (integer)
Swish::IN_TITLE (integer)
Swish::IN_HEAD (integer)
Swish::IN_BODY (integer)
Swish::IN_COMMENTS (integer)
Swish::IN_HEADER (integer)
Swish::IN_EMPHASIZED (integer)
Swish::IN_META (integer)
Swish::IN_ALL (integer)

예약 클래스

예약 클래스

Swish

속성

  • indexes - the array of indexes used and their properties. Certain list of properties depends on Swish-e version.

메쏘드

  • Swish::__construct - constructs new Swish object. Throws SwishException on error.

  • Swish->prepare - prepares and returns SwishSearch object. Throws SwishException on error.

  • Swish->query - executes the query and returns SwishResults object. Throws SwishException on error.

  • Swish->getMetaList - returns an array of meta entries for the given index file.

  • Swish->getPropertyList - returns an array of properties for the given index file.

SwishSearch

메쏘드

  • SwishSearch->setStructure - sets the structure flag in the search object. This flag is used to limit search to certain parts of HTML documents.

  • SwishSearch->setPhraseDelimiter - sets the phrase delimiter character. The default delimiter is double-quotes.

  • SwishSearch->setSort - sets the sort order of the results.

  • SwishSearch->setLimit - sets the limits for the search. Throws SwishException on error.

  • SwishSearch->resetLimit - resets the limits.

  • SwishSearch->execute - executes the query and returns SwishResults object. Throws SwishException on error.

SwishResults

속성

  • hits - the number of results in this SwishResults object.

  • indexes - the array of indexes used in the search.

메쏘드

  • SwishResults->nextResult - returns next SwishResult object or FALSE if no more results are available.

  • SwishResults->seekResult - sets the current seek position in the SwishResults object. Throws SwishException on error.

  • SwishResults->getParsedWords - returns an array of words in the query with stopwords removed.

  • SwishResults->getRemovedStopwords - returns an array of removed stopwords.

SwishResult

속성

  • Properties list depends on Swish-e version, see examples.

메쏘드

  • SwishResult->getMetaList - returns an array of meta entries for the index used in this result.

  • SwishResult->stem - stems the word and returns result as an array of strings. Throws SwishException on error.

SwishException

SwishException extends the built in Exception class and possesses the same set of properties and methods. See “Extending Exceptions” for more details.

차례

Swish::__construct -- Construct a Swish object
Swish->getMetaList -- Get the list of meta entries for the index
Swish->getPropertyList -- Get the list of properties for the index
Swish->prepare -- Prepare a search query
Swish->query -- Execute a query and return results object
SwishResult->getMetaList -- Get a list of meta entries
SwishResult->stem -- Stems the given word
SwishResults->getParsedWords -- Get an array of parsed words
SwishResults->getRemovedStopwords -- Get an array of stopwords removed from the query
SwishResults->nextResult -- Get the next search result
SwishResults->seekResult -- Set current seek pointer to the given position
SwishSearch->execute -- Execute the search and get the results
SwishSearch->resetLimit -- Reset the search limits
SwishSearch->setLimit -- Set the search limits
SwishSearch->setPhraseDelimiter -- Set the phrase delimiter
SwishSearch->setSort -- Set the sort order
SwishSearch->setStructure -- Set the structure flag in the search object
이전 | 위로 | 다음
swf_viewport | 처음으로 | Swish::__construct


Unicode Functions

이전 VI. 함수 레퍼런스 다음

CLXIX. Unicode Functions

소개

Unicode Support.

주의

This extension is still in development and it isn't available to public yet.

요구 조건

» ICU 3.4 or later is required.

설치

First you should download and install ICU:

예 2433. install ICU on Unix

./configure --disable-threads --enable-extras --enable-icuio --enable-layout
make && make install

Then checkout latest PHP and configure it --with-icu-dir=<dir> option, where <dir> was the dir to where you installed ICU. You don't need to explicitly use this option if you install ICU to a standard location.

실행시 설정

이 함수의 작동은 php.ini 설정에 영향을 받습니다.

표 317. Unicode Configuration Options

Name | Default | Changeable | Changelog
unicode.fallback_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.from_error_mode | "2" | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.from_error_subst_char | "3f" | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.http_input_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.output_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.runtime_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.script_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.semantics | "0" | PHP_INI_SYSTEM | Available since PHP 6.0.0.

PHP_INI_* 상수에 대한 자세한 상세와 정의는 부록 I. php.ini directives를 참고하십시오.

위 설정 지시어에 대한 간단한 설명입니다.

unicode.output_encoding string

Default encoding for output.

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

표 318.

constant | value | description
U_INVALID_STOP | 0 | stop at first invalid character
U_INVALID_SKIP | 1 | skip invalid characters
U_INVALID_SUBSTITUTE | 2 | replace invalid characters
U_INVALID_ESCAPE | 3 | escape invalid characters

차례

unicode_decode -- Convert a binary string into a Unicode string
unicode_encode -- Convert a unicode string in any encoding
unicode_get_error_mode -- Get the error mode for strings conversions
unicode_get_subst_char -- Get the substitution character for string conversion errors
unicode_semantics -- Check whether unicode semantics is enabled
unicode_set_error_mode -- Set the error mode for strings conversions
unicode_set_subst_char -- Set the substitution character for string conversion errors
이전 | 위로 | 다음
token_name | 처음으로 | unicode_decode


win32ps Functions

이전 VI. 함수 레퍼런스 다음

CLXXVI. win32ps Functions

소개

The win32ps extension is a Windows specific extension that allows PHP retrieve statistics about process and memory utilization.

요구 조건

Windows NT, Windows 2000, Windows XP or Windows Server 2003. Any version of Windows derived from Windows NT should be compatible.

설치

절차 16. Installing from PECL

  1. You can download php_win32ps.dll from » pecl4win.php.net.

  2. Copy the php_win32ps.dll into your extension_dir.

  3. Load the extension from your php.ini

extension=php_win32ps.dll

예제

예 2473. Statistics about the current PHP process

<?php
print_r(win32_ps_stat_proc());
/*
    Array
    (
        [pid] => 936
        [exe] => D:\Daten\Source\php-5.1\Debug_TS\php.exe
        [mem] => Array
            (
                [page_fault_count] => 2062
                [peak_working_set_size] => 8396800
                [working_set_size] => 8396800
                [quota_peak_paged_pool_usage] => 32080
                [quota_paged_pool_usage] => 31876
                [quota_peak_non_paged_pool_usage] => 4240
                [quota_non_paged_pool_usage] => 3888
                [pagefile_usage] => 5865472
                [peak_pagefile_usage] => 5865472
            )

        [tms] => Array
            (
                [created] => 0.093
                [kernel] => 0.015
                [user] => 0.062
            )

    )
*/
?>

예 2474. Statistics about global memory utilization

<?php
print_r(win32_ps_stat_mem());
/*
    Array
    (
        [load] => 37
        [unit] => 1024
        [total_phys] => 1048096
        [avail_phys] => 649960
        [total_pagefile] => 2521368
        [avail_pagefile] => 2237940
        [total_virtual] => 2097024
        [avail_virtual] => 2057848
    )
*/
?>

차례

win32_ps_list_procs -- List running processes
win32_ps_stat_mem -- Stat memory utilization
win32_ps_stat_proc -- Stat process
이전 | 위로 | 다음
wddx_unserialize | 처음으로 | win32_ps_list_procs


win32service Functions

이전 VI. 함수 레퍼런스 다음

CLXXVII. win32service Functions

소개

The win32service extension is a Windows specific extension that allows PHP to communicate with the Service Control Manager to start, stop, register and unregister services, and even allows your PHP scripts to run as a service.

요구 조건

Windows NT, Windows 2000, Windows XP or Windows Server 2003. Any version of Windows derived from Windows NT should be compatible.

설치

절차 17. Installing from PECL

  1. You can download php_win32service.dll from http://snaps.php.net/win32/. Choose the PECL_X_X folder that matches you PHP version.

  2. Copy the php_win32service.dll into your extension_dir.

  3. Load the extension from your php.ini

extension=php_win32service.dll

예제

예 2475. Registering a PHP script to run as a service

<?php
win32_create_service(array(
        'service' => 'dummyphp',                 # the name of your service
        'display' => 'sample dummy PHP service', # description
        'params' => 'c:\path\to\script.php run', # path to the script and parameters
    ));
?>

예 2476. Unregistering a service

<?php
win32_delete_service('dummyphp');
?>

예 2477. Running as a service

<?php
if ($argv[1] == 'run') {
  win32_start_service_ctrl_dispatcher('dummyphp');

  while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
    # do your work here.
    # try not to take up more than 30 seconds before going around the loop
    # again
  }
}
?>

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

WIN32_SERVICE_CONTROL_CONTINUE (integer)
WIN32_SERVICE_CONTROL_INTERROGATE (integer)
WIN32_SERVICE_CONTROL_PAUSE (integer)
WIN32_SERVICE_CONTROL_STOP (integer)
WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE (integer)
WIN32_SERVICE_CONTROL_POWEREVENT (integer)
WIN32_SERVICE_CONTROL_SESSIONCHANGE (integer)
WIN32_ERROR_CALL_NOT_IMPLEMENTED (integer)
WIN32_NO_ERROR (integer)
WIN32_SERVICE_RUNNING (integer)
WIN32_SERVICE_STOPPED (integer)
WIN32_SERVICE_STOP_PENDING (integer)
WIN32_SERVICE_WIN32_OWN_PROCESS (integer)
WIN32_SERVICE_INTERACTIVE_PROCESS (integer)
WIN32_SERVICE_STOPPED (integer)
WIN32_SERVICE_START_PENDING (integer)
WIN32_SERVICE_STOP_PENDING (integer)
WIN32_SERVICE_RUNNING (integer)
WIN32_SERVICE_CONTINUE_PENDING (integer)
WIN32_SERVICE_PAUSE_PENDING (integer)
WIN32_SERVICE_PAUSED (integer)
WIN32_SERVICE_ACCEPT_NETBINDCHANGE (integer)
WIN32_SERVICE_ACCEPT_PARAMCHANGE (integer)
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE (integer)
WIN32_SERVICE_ACCEPT_SHUTDOWN (integer)
WIN32_SERVICE_ACCEPT_STOP (integer)
WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE (integer)
WIN32_SERVICE_ACCEPT_POWEREVENT (integer)
WIN32_SERVICE_ACCEPT_SESSIONCHANGE (integer)
WIN32_SERVICE_FILE_SYSTEM_DRIVER (integer)
WIN32_SERVICE_KERNEL_DRIVER (integer)
WIN32_SERVICE_WIN32_SHARE_PROCESS (integer)
WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS (integer)

차례

win32_create_service -- Creates a new service entry in the SCM database
win32_delete_service -- Deletes a service entry from the SCM database
win32_get_last_control_message -- Returns the last control message that was sent to this service
win32_query_service_status -- Queries the status of a service
win32_set_service_status -- Update the service status
win32_start_service_ctrl_dispatcher -- Registers the script with the SCM, so that it can act as the service with the given name
win32_start_service -- Starts a service
win32_stop_service -- Stops a service
이전 | 위로 | 다음
win32_ps_stat_proc | 처음으로 | win32_create_service


XMLReader functions

이전 VI. 함수 레퍼런스 다음

CLXXXII. XMLReader functions

소개

The XMLReader extension is an XML Pull parser. The reader acts as a cursor going forward on the document stream and stopping at each node on the way.

인코딩

It is important to note that internally, libxml uses the UTF-8 encoding and as such, the encoding of the retrieved contents will always be in UTF-8 encoding.

설치

The XMLReader extension is available in PECL as of PHP 5.0.0 and is included and enabled as of PHP 5.1.0 by default. It can be enabled by adding the argument --enable-xmlreader (or --with-xmlreader before 5.1.0) to your configure line. The libxml extension is required.

예약 클래스

XMLReader

메쏘드

  • XMLReader::close - Close the XMLReader input

  • XMLReader::expand - Export current node to a DOM node

  • XMLReader::getAttribute - Get value of attribute by name

  • XMLReader::getAttributeNo - Get value of attribute by position

  • XMLReader::getAttributeNs - Get value of attribute by name and URI

  • XMLReader::getParserProperty - Indicates if parser property is set or not

  • XMLReader::isValid - Indicates if document is valid

  • XMLReader::lookupNamespace - Get URI for prefix in scope of node

  • XMLReader::moveToAttribute - Positions reader on named attribute

  • XMLReader::moveToAttributeNo - Positions reader on attribute by index

  • XMLReader::moveToAttributeNs - Position reader on attribute by name and URI

  • XMLReader::moveToElement - Move to parent element of current attribute node

  • XMLReader::moveToFirstAttribute - Move to first attribute of node

  • XMLReader::moveToNextAttribute - Move to next attribute of node

  • XMLReader::next - Move to next element skipping children

  • XMLReader::open - Set URI to be parsed

  • XMLReader::read - Move to next node in stream

  • XMLReader::setParserProperty - Set parser property

  • XMLReader::setRelaxNGSchema - Set URI of RelaxNG schema to validate against

  • XMLReader::setRelaxNGSchemaSource - Set string containing RelaxNG schema to validate against

  • XMLReader::XML - Set string of data to be parsed

속성

표 331.

Name | Type | Read-only | Description
attributeCount | int | yes | The number of attributes on the node
baseURI | string | yes | The base URI of the node
depth | int | yes | Depth of the node in the tree starting at 0
hasAttributes | bool | yes | Indicates if node has attributes
hasValue | bool | yes | Indicates if node has a text value
isDefault | bool | yes | Indicates if attribute is defaulted from DTD
isEmptyElement | bool | yes | Indicates if node is an empty element tag
localName | string | yes | The local name of the node
name | string | yes | The qualified name of the node
namespaceURI | string | yes | The URI of the namespace associated with the node
nodeType | int | yes | The node type for the node
prefix | string | yes | The prefix of the namespace associated with the node
value | string | yes | The text value of the node
xmlLang | string | yes | The xml:lang scope which the node resides

예약 상수

이 확장은 다음의 상수들을 정의합니다. 이 확장을 PHP에 내장했거나, 실행시에 동적으로 읽어들일 경우에만 사용할 수 있습니다.

주의

XMLReader uses class constants since PHP 5.1. Prior releases use global constants in the form XMLREADER_ELEMENT.

표 332. XMLReader Node Types

Constant | Value | Description
XMLReader::NONE (integer) | 0 | No node type
XMLReader::ELEMENT (integer) | 1 | Start element
XMLReader::ATTRIBUTE (integer) | 2 | Attribute node
XMLReader::TEXT (integer) | 3 | Text node
XMLReader::CDATA (integer) | 4 | CDATA node
XMLReader::ENTITY_REF (integer) | 5 | Entity Reference node
XMLReader::ENTITY (integer) | 6 | Entity Declaration node
XMLReader::PI (integer) | 7 | Processing Instruction node
XMLReader::COMMENT (integer) | 8 | Comment node
XMLReader::DOC (integer) | 9 | Document node
XMLReader::DOC_TYPE (integer) | 10 | Document Type node
XMLReader::DOC_FRAGMENT (integer) | 11 | Document Fragment node
XMLReader::NOTATION (integer) | 12 | Notation node
XMLReader::WHITESPACE (integer) | 13 | Whitespace node
XMLReader::SIGNIFICANT_WHITESPACE (integer) | 14 | Significant Whitespace node
XMLReader::END_ELEMENT (integer) | 15 | End Element
XMLReader::END_ENTITY (integer) | 16 | End Entity
XMLReader::XML_DECLARATION (integer) | 17 | XML Declaration node

표 333. XMLReader Parser Options

Constant | Value | Description
XMLReader::LOADDTD (integer) | 1 | Load DTD but do not validate
XMLReader::DEFAULTATTRS (integer) | 2 | Load DTD and default attributes but do not validate
XMLReader::VALIDATE (integer) | 3 | Load DTD and validate while parsing
XMLReader::SUBST_ENTITIES (integer) | 4 | Substitute entities and expand references

차례

XMLReader::close -- Close the XMLReader input
XMLReader::expand -- Returns a copy of the current node as a DOM object
XMLReader::getAttribute -- Get the value of a named attribute
XMLReader::getAttributeNo -- Get the value of an attribute by index
XMLReader::getAttributeNs -- Get the value of an attribute by localname and URI
XMLReader::getParserProperty -- Indicates if specified property has been set
XMLReader::isValid -- Indicates if the parsed document is valid
XMLReader::lookupNamespace -- Lookup namespace for a prefix
XMLReader::moveToAttribute -- Move cursor to a named attribute
XMLReader::moveToAttributeNo -- Move cursor to an attribute by index
XMLReader::moveToAttributeNs -- Move cursor to a named attribute
XMLReader::moveToElement -- Position cursor on the parent Element of current Attribute
XMLReader::moveToFirstAttribute -- Position cursor on the first Attribute
XMLReader::moveToNextAttribute -- Position cursor on the next Attribute
XMLReader::next -- Move cursor to next node skipping all subtrees
XMLReader::open -- Set the URI containing the XML to parse
XMLReader::read -- Move to next node in document
XMLReader::setParserProperty -- Set or Unset parser options
XMLReader::setRelaxNGSchema -- Set the filename or URI for a RelaxNG Schema
XMLReader::setRelaxNGSchemaSource -- Set the data containing a RelaxNG Schema
XMLReader::XML -- Set the data containing the XML to parse
이전 | 위로 | 다음
xmlrpc_set_type | 처음으로 | XMLReader::close


XMLWriter Functions

이전 VI. 함수 레퍼런스 다음

CLXXXIII. XMLWriter Functions

소개

This is the XMLWriter extension. It wraps the libxml xmlWriter API.

This extension represents a writer that provides a non-cached, forward-only means of generating streams or files containing XML data.

This extension can be used in an object oriented style or a procedural one. Every method documented describes the alternative procedural call.

예약 클래스

XMLWriter

메쏘드

  • XMLWriter::endAttribute - End attribute

  • XMLWriter::endCData - End current CDATA

  • XMLWriter::endComment - Create end comment

  • XMLWriter::endDocument - End current document

  • XMLWriter::endDTDAttlist - End current DTD AttList

  • XMLWriter::endDTDElement - End current DTD element

  • XMLWriter::endDTDEntity - End current DTD Entity

  • XMLWriter::endDTD - End current DTD

  • XMLWriter::endElement - End current element

  • XMLWriter::endPI - End current PI

  • XMLWriter::flush - Flush current buffer

  • XMLWriter::fullEndElement - End current element

  • XMLWriter::openMemory - Create new xmlwriter using memory for string output

  • XMLWriter::openURI - Create new xmlwriter using source uri for output

  • XMLWriter::outputMemory - Returns current buffer

  • XMLWriter::setIndentString - Set string used for indenting

  • XMLWriter::setIndent - Toggle indentation on/off

  • XMLWriter::startAttributeNS - Create start namespaced attribute

  • XMLWriter::startAttribute - Create start attribute

  • XMLWriter::startCData - Create start CDATA tag

  • XMLWriter::startComment - Create start comment

  • XMLWriter::startDocument - Create document tag

  • XMLWriter::startDTDAttlist - Create start DTD AttList

  • XMLWriter::startDTDElement - Create start DTD element

  • XMLWriter::startDTDEntity - Create start DTD Entity

  • XMLWriter::startDTD - Create start DTD tag

  • XMLWriter::startElementNS - Create start namespaced element tag

  • XMLWriter::startElement - Create start element tag

  • XMLWriter::startPI - Create start PI tag

  • XMLWriter::text - Write text

  • XMLWriter::writeAttributeNS - Write full namespaced attribute

  • XMLWriter::writeAttribute - Write full attribute

  • XMLWriter::writeCData - Write full CDATA tag

  • XMLWriter::writeComment - Write full comment tag

  • XMLWriter::writeDTDAttlist - Write full DTD AttList tag

  • XMLWriter::writeDTDElement - Write full DTD element tag

  • XMLWriter::writeDTDEntity - Write full DTD Entity tag

  • XMLWriter::writeDTD - Write full DTD tag

  • XMLWriter::writeElementNS - Write full namesapced element tag

  • XMLWriter::writeElement - Write full element tag

  • XMLWriter::writePI - Writes a PI

  • XMLWriter::writeRaw - Write a raw XML text

자원형

There is one resource used by the procedural version of the XMLWriter extension: returned by xmlwriter_open_memory() or xmlwriter_open_uri().

예약 상수

이 확장은 상수를 정의하지 않습니다.

차례

XMLWriter::endAttribute -- End attribute
XMLWriter::endCData -- End current CDATA
XMLWriter::endComment -- Create end comment
XMLWriter::endDocument -- End current document
XMLWriter::endDTDAttlist -- End current DTD AttList
XMLWriter::endDTDElement -- End current DTD element
XMLWriter::endDTDEntity -- End current DTD Entity
XMLWriter::endDTD -- End current DTD
XMLWriter::endElement -- End current element
XMLWriter::endPI -- End current PI
XMLWriter::flush -- Flush current buffer
XMLWriter::fullEndElement -- End current element
XMLWriter::openMemory -- Create new xmlwriter using memory for string output
XMLWriter::openURI -- Create new xmlwriter using source uri for output
XMLWriter::outputMemory -- Returns current buffer
XMLWriter::setIndentString -- Set string used for indenting
XMLWriter::setIndent -- Toggle indentation on/off
XMLWriter::startAttributeNS -- Create start namespaced attribute
XMLWriter::startAttribute -- Create start attribute
XMLWriter::startCData -- Create start CDATA tag
XMLWriter::startComment -- Create start comment
XMLWriter::startDocument -- Create document tag
XMLWriter::startDTDAttlist -- Create start DTD AttList
XMLWriter::startDTDElement -- Create start DTD element
XMLWriter::startDTDEntity -- Create start DTD Entity
XMLWriter::startDTD -- Create start DTD tag
XMLWriter::startElementNS -- Create start namespaced element tag
XMLWriter::startElement -- Create start element tag
XMLWriter::startPI -- Create start PI tag
XMLWriter::text -- Write text
XMLWriter::writeAttributeNS -- Write full namespaced attribute
XMLWriter::writeAttribute -- Write full attribute
XMLWriter::writeCData -- Write full CDATA tag
XMLWriter::writeComment -- Write full comment tag
XMLWriter::writeDTDAttlist -- Write full DTD AttList tag
XMLWriter::writeDTDElement -- Write full DTD element tag
XMLWriter::writeDTDEntity -- Write full DTD Entity tag
XMLWriter::writeDTD -- Write full DTD tag
XMLWriter::writeElementNS -- Write full namesapced element tag
XMLWriter::writeElement -- Write full element tag
XMLWriter::writePI -- Writes a PI
XMLWriter::writeRaw -- Write a raw XML text
이전 | 위로 | 다음
XMLReader::XML | 처음으로 | XMLWriter::endAttribute


Runkit_Sandbox

(No version information available, might be only in CVS)

Runkit_Sandbox -- Runkit Sandbox Class -- PHP Virtual Machine

설명

Instantiating the Runkit_Sandbox class creates a new thread with its own scope and program stack. Using a set of options passed to the constructor, this environment may be restricted to a subset of what the primary interpreter can do and provide a safer environment for executing user supplied code.

참고: Sandbox 지원(runkit_linux(), runkit_lint_file(), Runkit_Sandbox 클래스에 필요합니다)은 PHP 5.1이나 특별히 패치된 PHP 5.0에서 쓰레드 안전(therad safety)을 활성화해야 합니다. 자세한 정보는 runkit 패키지에 포함된 README 파일을 참고하십시오.

Constructor

void Runkit_Sandbox::__construct ( [array $options] )

options is an associative array containing any combination of the special ini options listed below.

safe_mode

If the outer script which is instantiating the Runkit_Sandbox class is configured with safe_mode = off, then safe_mode may be turned on for the sandbox environment. This setting can not be used to disable safe_mode when it's already enabled in the outer script.

safe_mode_gid

If the outer script which is instantiating the Runkit_Sandbox class is configured with safe_mode_gid = on, then safe_mode_gid may be turned off for the sandbox environment. This setting can not be used to enable safe_mode_gid when it's already disabled in the outer script.

safe_mode_include_dir

If the outer script which is instantiating the Runkit_Sandbox class is configured with a safe_mode_include_dir, then a new safe_mode_include_dir may be set for sandbox environments below the currently defined value. safe_mode_include_dir may also be cleared to indicate that the bypass feature is disabled. If safe_mode_include_dir was blank in the outer script, but safe_mode was not enabled, then any arbitrary safe_mode_include_dir may be set while turning safe_mode on.

open_basedir

open_basedir may be set to any path below the current setting of open_basedir. If open_basedir is not set within the global scope, then it is assumed to be the root directory and may be set to any location.

allow_url_fopen

Like safe_mode, this setting can only be made more restrictive, in this case by setting it to FALSE when it is previously set to TRUE

disable_functions

Comma separated list of functions to disable within the sandbox sub-interpreter. This list need not contain the names of the currently disabled functions, they will remain disabled whether listed here or not.

disable_classes

Comma separated list of classes to disable within the sandbox sub-interpreter. This list need not contain the names of the currently disabled classes, they will remain disabled whether listed here or not.

runkit.superglobal

Comma separated list of variables to be treated as superglobals within the sandbox sub-interpreter. These variables will be used in addition to any variables defined internally or through the global runkit.superglobal setting.

runkit.internal_override

Ini option runkit.internal_override may be disabled (but not re-enabled) within sandboxes.

예 1971. Instantiating a restricted sandbox

<?php
$options = array(
  'safe_mode'=>true,
  'open_basedir'=>'/var/www/users/jdoe/',
  'allow_url_fopen'=>'false',
  'disable_functions'=>'exec,shell_exec,passthru,system',
  'disable_classes'=>'myAppClass');
$sandbox = new Runkit_Sandbox($options);
/* Non-protected ini settings may set normally */
$sandbox->ini_set('html_errors',true);
?>

Accessing Variables

All variables in the global scope of the sandbox environment are accessible as properties of the sandbox object. The first thing to note is that because of the way memory between these two threads is managed, object and resource variables can not currently be exchanged between interpreters. Additionally, all arrays are deep copied and any references will be lost. This also means that references between interpreters are not possible.

예 1972. Working with variables in a sandbox

<?php
$sandbox = new Runkit_Sandbox();

$sandbox->foo = 'bar';
$sandbox->eval('echo "$foo\n"; $bar = $foo . "baz";');
echo "{$sandbox->bar}\n";
if (isset($sandbox->foo)) unset($sandbox->foo);
$sandbox->eval('var_dump(isset($foo));');
?>

위 예제의 출력:

bar
barbaz
bool(false)

Calling PHP Functions

Any function defined within the sandbox may be called as
a method on the sandbox object.  This also includes a few
pseudo-function language constructs:  eval(),
include(), include_once(),
require(), require_once(),
echo(), print(),
die(), and exit().

예 1973. Calling sandbox functions

<?php
$sandbox = new Runkit_Sandbox();

echo $sandbox->str_replace('a','f','abc');
?>

위 예제의 출력:

fbc

When passing arguments to a sandbox function, the arguments are taken from the outer instance of PHP. If you wish to pass arguments from the sandbox's scope, be sure to access them as properties of the sandbox object as illustrated above.

예 1974. Passing arguments to sandbox functions

<?php
$sandbox = new Runkit_Sandbox();

$foo = 'bar';
$sandbox->foo = 'baz';
echo $sandbox->str_replace('a',$foo,'a');
echo $sandbox->str_replace('a',$sandbox->foo,'a');
?>

위 예제의 출력:

bar
baz

Changing Sandbox Settings

As of runkit version 0.5, certain Sandbox settings may be modified on the fly using ArrayAccess syntax. Some settings, such as active are read-only and meant to provide status information. Other settings, such as output_handler may be set and read much like a normal array offset. Future settings may be write-only, however no such settings currently exist.

표 269. Sandbox Settings / Status Indicators

Setting | Type | Purpose | Default
active | Boolean (Read Only) | TRUE if the Sandbox is still in a usable state, FALSE if the request is in bailout due to a call to die(), exit(), or because of a fatal error condition. | TRUE (Initial)
output_handler | Callback | When set to a valid callback, all output generated by the Sandbox instance will be processed through the named function. Sandbox output handlers follow the same calling conventions as the system-wide output handler. | None
parent_access | Boolean | May the sandbox use instances of the Runkit_Sandbox_Parent class? Must be enabled for other Runkit_Sandbox_Parent related settings to work. | FALSE
parent_read | Boolean | May the sandbox read variables in its parent's context? | FALSE
parent_write | Boolean | May the sandbox modify variables in its parent's context? | FALSE
parent_eval | Boolean | May the sandbox evaluate arbitrary code in its parent's context? DANGEROUS | FALSE
parent_include | Boolean | May the sandbox include php code files in its parent's context? DANGEROUS | FALSE
parent_echo | Boolean | May the sandbox echo data in its parent's context effectively bypassing its own output_handler? | FALSE
parent_call | Boolean | May the sandbox call functions in its parent's context? | FALSE
parent_die | Boolean | May the sandbox kill its own parent? (And thus itself) | FALSE
parent_scope | Integer | What scope will parental property access look at? 0 == Global scope, 1 == Calling scope, 2 == Scope preceeding calling scope, 3 == The scope before that, etc..., etc... | 0 (Global)
parent_scope | String | When parent_scope is set to a string value, it refers to a named array variable in the global scope. If the named variable does not exist at the time of access it will be created as an empty array. If the variable exists but it not an array, a dummy array will be created containing a reference to the named global variable. |

이전 | 위로 | 다음
CXXXIX. runkit Functions | 처음으로 | Runkit_Sandbox_Parent


Runkit_Sandbox_Parent

(No version information available, might be only in CVS)

Runkit_Sandbox_Parent -- Runkit Anti-Sandbox Class

설명

void Runkit_Sandbox_Parent::__construct ( void )

Instantiating the Runkit_Sandbox_Parent class from within a sandbox environment created from the Runkit_Sandbox class provides some (controlled) means for a sandbox child to access its parent.

참고: Sandbox 지원(runkit_linux(), runkit_lint_file(), Runkit_Sandbox 클래스에 필요합니다)은 PHP 5.1이나 특별히 패치된 PHP 5.0에서 쓰레드 안전(therad safety)을 활성화해야 합니다. 자세한 정보는 runkit 패키지에 포함된 README 파일을 참고하십시오.

In order for any of the Runkit_Sandbox_Parent features to function. Support must be enabled on a per-sandbox basis by enabling the parent_access flag from the parent's context.

예 1975. Working with variables in a sandbox

<?php
$sandbox = new Runkit_Sandbox();
$sandbox['parent_access'] = true;
?>

Accessing the Parent's Variables

Just as with sandbox variable access, a sandbox parent's variables may be read from and written to as properties of the Runkit_Sandbox_Parent class. Read access to parental variables may be enabled with the parent_read setting (in addition to the base parent_access setting). Write access, in turn, is enabled through the parent_write setting.

Unlike sandbox child variable access, the variable scope is not limited to globals only. By setting the parent_scope setting to an appropriate integer value, other scopes in the active call stack may be inspected instead. A value of 0 (Default) will direct variable access at the global scope. 1 will point variable access at whatever variable scope was active at the time the current block of sandbox code was executed. Higher values progress back through the functions that called the functions that led to the sandbox executing code that tried to access its own parent's variables.

예 1976. Accessing parental variables

<?php
$php = new Runkit_Sandbox();
$php['parent_access'] = true;
$php['parent_read'] = true;

$test = "Global";

$php->eval('$PARENT = new Runkit_Sandbox_Parent;');

$php['parent_scope'] = 0;
one();

$php['parent_scope'] = 1;
one();

$php['parent_scope'] = 2;
one();

$php['parent_scope'] = 3;
one();

$php['parent_scope'] = 4;
one();

$php['parent_scope'] = 5;
one();

function one() {
    $test = "one()";
    two();
}

function two() {
    $test = "two()";
    three();
}

function three() {
    $test = "three()";
    $GLOBALS['php']->eval('var_dump($PARENT->test);');
}
?>

위 예제의 출력:

string(6) "Global"
string(7) "three()"
string(5) "two()"
string(5) "one()"
string(6) "Global"
string(6) "Global"

Calling the Parent's Functions

Just as with sandbox access, a sandbox may access its parents functions providing that the proper settings have been enabled. Enabling parent_call will allow the sandbox to call all functions available to the parent scope. Language constructs are each controlled by their own setting: print() and echo() are enabled with parent_echo. die() and exit() are enabled with parent_die. eval() is enabled with parent_eval while include(), include_once(), require(), and require_once() are enabled through parent_include.

이전 | 위로 | 다음
Runkit_Sandbox | 처음으로 | runkit_class_adopt


부록 J. List of Supported Timezones

차례

List of timezones in the group Africa
List of timezones in the group America
List of timezones in the group Antarctica
List of timezones in the group Arctic
List of timezones in the group Asia
List of timezones in the group Atlantic
List of timezones in the group Australia
List of timezones in the group Europe
List of timezones in the group Indian
List of timezones in the group Pacific
List of timezones in the group Others

Here you'll find the complete list of timezones supported by PHP, which are meant to be used with e.g. date_default_timezone_set().

참고: The latest version of the timezone database can be installed via PECL's » timezonedb. For Windows users, a pre-compiled DLL can be downloaded from the PECL4Win site: » php_timezonedb.dll.

List of timezones in the group Africa

표 J.1. Africa

Africa/Abidjan | Africa/Accra | Africa/Addis_Ababa | Africa/Algiers | Africa/Asmera
Africa/Bamako | Africa/Bangui | Africa/Banjul | Africa/Bissau | Africa/Blantyre
Africa/Brazzaville | Africa/Bujumbura | Africa/Cairo | Africa/Casablanca | Africa/Ceuta
Africa/Conakry | Africa/Dakar | Africa/Dar_es_Salaam | Africa/Djibouti | Africa/Douala
Africa/El_Aaiun | Africa/Freetown | Africa/Gaborone | Africa/Harare | Africa/Johannesburg
Africa/Kampala | Africa/Khartoum | Africa/Kigali | Africa/Kinshasa | Africa/Lagos
Africa/Libreville | Africa/Lome | Africa/Luanda | Africa/Lubumbashi | Africa/Lusaka
Africa/Malabo | Africa/Maputo | Africa/Maseru | Africa/Mbabane | Africa/Mogadishu
Africa/Monrovia | Africa/Nairobi | Africa/Ndjamena | Africa/Niamey | Africa/Nouakchott
Africa/Ouagadougou | Africa/Porto-Novo | Africa/Sao_Tome | Africa/Timbuktu | Africa/Tripoli
Africa/Tunis | Africa/Windhoek |  |  |

이전 | 위로 | 다음
Description of core php.ini directives | 처음으로 | List of timezones in the group America


List of timezones in the group America

표 J.2. America

America/Adak | America/Anchorage | America/Anguilla | America/Antigua | America/Araguaina
America/Argentina/Buenos_Aires | America/Argentina/Catamarca | America/Argentina/ComodRivadavia | America/Argentina/Cordoba | America/Argentina/Jujuy
America/Argentina/La_Rioja | America/Argentina/Mendoza | America/Argentina/Rio_Gallegos | America/Argentina/San_Juan | America/Argentina/Tucuman
America/Argentina/Ushuaia | America/Aruba | America/Asuncion | America/Atikokan | America/Atka
America/Bahia | America/Barbados | America/Belem | America/Belize | America/Blanc-Sablon
America/Boa_Vista | America/Bogota | America/Boise | America/Buenos_Aires | America/Cambridge_Bay
America/Campo_Grande | America/Cancun | America/Caracas | America/Catamarca | America/Cayenne
America/Cayman | America/Chicago | America/Chihuahua | America/Coral_Harbour | America/Cordoba
America/Costa_Rica | America/Cuiaba | America/Curacao | America/Danmarkshavn | America/Dawson
America/Dawson_Creek | America/Denver | America/Detroit | America/Dominica | America/Edmonton
America/Eirunepe | America/El_Salvador | America/Ensenada | America/Fort_Wayne | America/Fortaleza
America/Glace_Bay | America/Godthab | America/Goose_Bay | America/Grand_Turk | America/Grenada
America/Guadeloupe | America/Guatemala | America/Guayaquil | America/Guyana | America/Halifax
America/Havana | America/Hermosillo | America/Indiana/Indianapolis | America/Indiana/Knox | America/Indiana/Marengo
America/Indiana/Petersburg | America/Indiana/Vevay | America/Indiana/Vincennes | America/Indianapolis | America/Inuvik
America/Iqaluit | America/Jamaica | America/Jujuy | America/Juneau | America/Kentucky/Louisville
America/Kentucky/Monticello | America/Knox_IN | America/La_Paz | America/Lima | America/Los_Angeles
America/Louisville | America/Maceio | America/Managua | America/Manaus | America/Martinique
America/Mazatlan | America/Mendoza | America/Menominee | America/Merida | America/Mexico_City
America/Miquelon | America/Moncton | America/Monterrey | America/Montevideo | America/Montreal
America/Montserrat | America/Nassau | America/New_York | America/Nipigon | America/Nome
America/Noronha | America/North_Dakota/Center | America/North_Dakota/New_Salem | America/Panama | America/Pangnirtung
America/Paramaribo | America/Phoenix | America/Port-au-Prince | America/Port_of_Spain | America/Porto_Acre
America/Porto_Velho | America/Puerto_Rico | America/Rainy_River | America/Rankin_Inlet | America/Recife
America/Regina | America/Rio_Branco | America/Rosario | America/Santiago | America/Santo_Domingo
America/Sao_Paulo | America/Scoresbysund | America/Shiprock | America/St_Johns | America/St_Kitts
America/St_Lucia | America/St_Thomas | America/St_Vincent | America/Swift_Current | America/Tegucigalpa
America/Thule | America/Thunder_Bay | America/Tijuana | America/Toronto | America/Tortola
America/Vancouver | America/Virgin | America/Whitehorse | America/Winnipeg | America/Yakutat
America/Yellowknife |  |  |  |

이전 | 위로 | 다음
J. List of Supported Timezones | 처음으로 | List of timezones in the group Antarctica


List of timezones in the group Antarctica

표 J.3. Antarctica

Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Mawson | Antarctica/McMurdo
Antarctica/Palmer | Antarctica/Rothera | Antarctica/South_Pole | Antarctica/Syowa | Antarctica/Vostok

이전 | 위로 | 다음
List of timezones in the group America | 처음으로 | List of timezones in the group Arctic


List of timezones in the group Arctic

표 J.4. Arctic

Arctic/Longyearbyen

이전 | 위로 | 다음
List of timezones in the group Antarctica | 처음으로 | List of timezones in the group Asia


List of timezones in the group Asia

표 J.5. Asia

Asia/Aden | Asia/Almaty | Asia/Amman | Asia/Anadyr | Asia/Aqtau
Asia/Aqtobe | Asia/Ashgabat | Asia/Ashkhabad | Asia/Baghdad | Asia/Bahrain
Asia/Baku | Asia/Bangkok | Asia/Beirut | Asia/Bishkek | Asia/Brunei
Asia/Calcutta | Asia/Choibalsan | Asia/Chongqing | Asia/Chungking | Asia/Colombo
Asia/Dacca | Asia/Damascus | Asia/Dhaka | Asia/Dili | Asia/Dubai
Asia/Dushanbe | Asia/Gaza | Asia/Harbin | Asia/Hong_Kong | Asia/Hovd
Asia/Irkutsk | Asia/Istanbul | Asia/Jakarta | Asia/Jayapura | Asia/Jerusalem
Asia/Kabul | Asia/Kamchatka | Asia/Karachi | Asia/Kashgar | Asia/Katmandu
Asia/Krasnoyarsk | Asia/Kuala_Lumpur | Asia/Kuching | Asia/Kuwait | Asia/Macao
Asia/Macau | Asia/Magadan | Asia/Makassar | Asia/Manila | Asia/Muscat
Asia/Nicosia | Asia/Novosibirsk | Asia/Omsk | Asia/Oral | Asia/Phnom_Penh
Asia/Pontianak | Asia/Pyongyang | Asia/Qatar | Asia/Qyzylorda | Asia/Rangoon
Asia/Riyadh | Asia/Saigon | Asia/Sakhalin | Asia/Samarkand | Asia/Seoul
Asia/Shanghai | Asia/Singapore | Asia/Taipei | Asia/Tashkent | Asia/Tbilisi
Asia/Tehran | Asia/Tel_Aviv | Asia/Thimbu | Asia/Thimphu | Asia/Tokyo
Asia/Ujung_Pandang | Asia/Ulaanbaatar | Asia/Ulan_Bator | Asia/Urumqi | Asia/Vientiane
Asia/Vladivostok | Asia/Yakutsk | Asia/Yekaterinburg | Asia/Yerevan |

이전 | 위로 | 다음
List of timezones in the group Arctic | 처음으로 | List of timezones in the group Atlantic


List of timezones in the group Atlantic

표 J.6. Atlantic

Atlantic/Azores | Atlantic/Bermuda | Atlantic/Canary | Atlantic/Cape_Verde | Atlantic/Faeroe
Atlantic/Jan_Mayen | Atlantic/Madeira | Atlantic/Reykjavik | Atlantic/South_Georgia | Atlantic/St_Helena
Atlantic/Stanley |  |  |  |

이전 | 위로 | 다음
List of timezones in the group Asia | 처음으로 | List of timezones in the group Australia


List of timezones in the group Australia

표 J.7. Australia

Australia/ACT | Australia/Adelaide | Australia/Brisbane | Australia/Broken_Hill | Australia/Canberra
Australia/Currie | Australia/Darwin | Australia/Hobart | Australia/LHI | Australia/Lindeman
Australia/Lord_Howe | Australia/Melbourne | Australia/North | Australia/NSW | Australia/Perth
Australia/Queensland | Australia/South | Australia/Sydney | Australia/Tasmania | Australia/Victoria
Australia/West | Australia/Yancowinna |  |  |

이전 | 위로 | 다음
List of timezones in the group Atlantic | 처음으로 | List of timezones in the group Europe


List of timezones in the group Europe

표 J.8. Europe

Europe/Amsterdam | Europe/Andorra | Europe/Athens | Europe/Belfast | Europe/Belgrade
Europe/Berlin | Europe/Bratislava | Europe/Brussels | Europe/Bucharest | Europe/Budapest
Europe/Chisinau | Europe/Copenhagen | Europe/Dublin | Europe/Gibraltar | Europe/Guernsey
Europe/Helsinki | Europe/Isle_of_Man | Europe/Istanbul | Europe/Jersey | Europe/Kaliningrad
Europe/Kiev | Europe/Lisbon | Europe/Ljubljana | Europe/London | Europe/Luxembourg
Europe/Madrid | Europe/Malta | Europe/Mariehamn | Europe/Minsk | Europe/Monaco
Europe/Moscow | Europe/Nicosia | Europe/Oslo | Europe/Paris | Europe/Prague
Europe/Riga | Europe/Rome | Europe/Samara | Europe/San_Marino | Europe/Sarajevo
Europe/Simferopol | Europe/Skopje | Europe/Sofia | Europe/Stockholm | Europe/Tallinn
Europe/Tirane | Europe/Tiraspol | Europe/Uzhgorod | Europe/Vaduz | Europe/Vatican
Europe/Vienna | Europe/Vilnius | Europe/Volgograd | Europe/Warsaw | Europe/Zagreb
Europe/Zaporozhye | Europe/Zurich |  |  |

이전 | 위로 | 다음
List of timezones in the group Australia | 처음으로 | List of timezones in the group Indian


List of timezones in the group Indian

표 J.9. Indian

Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos | Indian/Comoro
Indian/Kerguelen | Indian/Mahe | Indian/Maldives | Indian/Mauritius | Indian/Mayotte
Indian/Reunion |  |  |  |

이전 | 위로 | 다음
List of timezones in the group Europe | 처음으로 | List of timezones in the group Pacific


List of timezones in the group Others

표 J.11. Others

Brazil/Acre | Brazil/DeNoronha | Brazil/East | Brazil/West | Canada/Atlantic
Canada/Central | Canada/East-Saskatchewan | Canada/Eastern | Canada/Mountain | Canada/Newfoundland
Canada/Pacific | Canada/Saskatchewan | Canada/Yukon | CET | Chile/Continental
Chile/EasterIsland | CST6CDT | Cuba | EET | Egypt
Eire | EST | EST5EDT | Etc/GMT | Etc/GMT+0
Etc/GMT+1 | Etc/GMT+10 | Etc/GMT+11 | Etc/GMT+12 | Etc/GMT+2
Etc/GMT+3 | Etc/GMT+4 | Etc/GMT+5 | Etc/GMT+6 | Etc/GMT+7
Etc/GMT+8 | Etc/GMT+9 | Etc/GMT-0 | Etc/GMT-1 | Etc/GMT-10
Etc/GMT-11 | Etc/GMT-12 | Etc/GMT-13 | Etc/GMT-14 | Etc/GMT-2
Etc/GMT-3 | Etc/GMT-4 | Etc/GMT-5 | Etc/GMT-6 | Etc/GMT-7
Etc/GMT-8 | Etc/GMT-9 | Etc/GMT0 | Etc/Greenwich | Etc/UCT
Etc/Universal | Etc/UTC | Etc/Zulu | Factory | GB
GB-Eire | GMT | GMT+0 | GMT-0 | GMT0
Greenwich | Hongkong | HST | Iceland | Iran
Israel | Jamaica | Japan | Kwajalein | Libya
MET | Mexico/BajaNorte | Mexico/BajaSur | Mexico/General | MST
MST7MDT | Navajo | NZ | NZ-CHAT | Poland
Portugal | PRC | PST8PDT | ROC | ROK
Singapore | Turkey | UCT | Universal | US/Alaska
US/Aleutian | US/Arizona | US/Central | US/East-Indiana | US/Eastern
US/Hawaii | US/Indiana-Starke | US/Michigan | US/Mountain | US/Pacific
US/Pacific-New | US/Samoa | UTC | W-SU | WET
Zulu |  |  |  |

참고: Please do not use any of the timezones listed here, they only exist for backward compatible reasons.

이전 | 위로 | 다음
List of timezones in the group Pacific | 처음으로 | K. 확장 분류


List of timezones in the group Pacific

표 J.10. Pacific

Pacific/Apia | Pacific/Auckland | Pacific/Chatham | Pacific/Easter | Pacific/Efate
Pacific/Enderbury | Pacific/Fakaofo | Pacific/Fiji | Pacific/Funafuti | Pacific/Galapagos
Pacific/Gambier | Pacific/Guadalcanal | Pacific/Guam | Pacific/Honolulu | Pacific/Johnston
Pacific/Kiritimati | Pacific/Kosrae | Pacific/Kwajalein | Pacific/Majuro | Pacific/Marquesas
Pacific/Midway | Pacific/Nauru | Pacific/Niue | Pacific/Norfolk | Pacific/Noumea
Pacific/Pago_Pago | Pacific/Palau | Pacific/Pitcairn | Pacific/Ponape | Pacific/Port_Moresby
Pacific/Rarotonga | Pacific/Saipan | Pacific/Samoa | Pacific/Tahiti | Pacific/Tarawa
Pacific/Tongatapu | Pacific/Truk | Pacific/Wake | Pacific/Wallis | Pacific/Yap

이전 | 위로 | 다음
List of timezones in the group Indian | 처음으로 | List of timezones in the group Others


부록 T. Userland Naming Guide

차례

Global Namespace
Rules
Tips

The following is a guide for how to best choose names for identifiers in userland PHP code. When choosing names for any code that creates symbols in the global namespace, it is important to take into account the following guidelines to prevent future versions of PHP from clashing with your symbols.

Global Namespace

Here is an overview of code constructs that go into the global namespace:

  • functions

  • classes

  • interfaces

  • constants (not class constants)

  • variables defined outside of functions/methods

이전 | 위로 | 다음
S. 해석기 토큰 목록 | 처음으로 | Rules


Rules

The following list gives an overview of which rights the PHP project reserves for itself, when choosing names for new internal identifiers. The definitive guide is the official » CODING STANDARDS:

  • PHP owns the top-level namespace but tries to find decent descriptive names and avoid any obvious clashes.

  • Function names use underscores between words, while class names use the camel case rule (there are some exceptions for older classes and functions).

  • PHP will prefix any global symbols of an extension with the name of the extension. (In the past, there have been numerous exceptions to this rule.) Examples:

    • curl_close()

    • mysql_query()

    • PREG_SPLIT_DELIM_CAPTURE

    • new DOMDocument()

    • strpos() (example of a past mistake)

    • new SplFileObject()

  • Iterators and Exceptions are however simply postfixed with "Iterator" and "Exception." Examples:

    • ArrayIterator

    • LogicException

  • PHP reserves all symbols starting with __ as magical. It is recommended that you do not create symbols starting with __ in PHP unless you want to use documented magical functionality. Examples:

    • __get()

    • __autoload()

이전 | 위로 | 다음
T. Userland Naming Guide | 처음으로 | Tips


Tips

In order to write future-proof code, it is recommended that you prefix (or suffix) anything that goes into the global namespace with an uncommon 3-4 letter prefix (or suffix) separated with an underscore. It is recommended that in order to prevent namespace clashes with other userland code that projects research existing prefixes (or suffixes) used in other projects and advertise their chosen prefix (or suffix) appropriately. Examples:

  • MyPx_someFunc()

  • Foo_Date

  • $asdf_dbh

이전 | 위로 | 다음
Rules | 처음으로 | U. 매뉴얼에 대하여