English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
(PHP 4 >= 4.0.2, PHP 5)
curl_setopt — 설정하려는 CURL 전송 옵션을 설정합니다.
문법
bool curl_setopt(resource $ch, int $option, mixed $value)
매개변수
ch
curl_init()으로 반환된 CURL 핸들.
option
value
필요한 CURLOPT_XXX 옵션.
옵션에 설정된 값.
옵션 | 선택 사항value값 | 비고 |
---|---|---|
CURLOPT_AUTOREFERER | 다음 옵션의 선택적 매개변수는 value가 bool 타입의 값을 가져야 합니다:Location:리디렉션 시, 헤더에 자동으로Referer:정보. | |
CURLOPT_BINARYTRANSFER | 사용 중에는CURLOPT_RETURNTRANSFER할 때, 원시(Raw) 출력을 반환합니다. | |
CURLOPT_COOKIESESSION | 사용 중에는 curl이 단일 세션 쿠키만 전달하고 다른 쿠키를 무시합니다. 기본적으로 CURL은 모든 쿠키를 서버로 반환합니다. 세션 쿠키는 서버 측 세션이 유효한지�断정하기 위해 존재하는 쿠키입니다. | |
CURLOPT_CRLF | 사용 중에는 Unix의 개행 문자를 개행 문자와 개행 문자로 변환합니다. | |
CURLOPT_DNS_USE_GLOBAL_CACHE | 사용 중에는 전역 DNS 캐시를 활성화합니다. 이 옵션은 스레드 안전하며 기본적으로 활성화됩니다. | |
CURLOPT_FAILONERROR | HTTP 상태 코드를 표시합니다. 기본 동작은 번호가 작은 것을 무시합니다.400의 HTTP 정보를 통해 반환됩니다. | |
CURLOPT_FILETIME | 사용 중에는 원격 문서 내의 정보를 수정하려고 시도합니다. 결과 정보는 curl_getinfo() 함수의CURLINFO_FILETIME옵션을 반환합니다. curl_getinfo(). | |
중의 비트 필드 값. 활성화되면 비트 필드 값은 전송 스레드에서 제한됩니다. | 사용 중에는 서버가 반환한"Location: "헤더에 포함되어 서버로 재귀적으로 반환하려면 사용합니다CURLOPT_MAXREDIRS재귀적으로 반환할 수 있는 수를 제한할 수 있습니다. | |
CURLOPT_FORBID_REUSE | 교환을 완료한 후 연결을 강제로 끊고 재사용할 수 없습니다. | |
CURLOPT_FRESH_CONNECT | 새 연결을 강제로 가져오고 캐시된 연결을 대체합니다. | |
CURLOPT_FTP_USE_EPRT | 사용 중에는 FTP 다운로드 시 EPRT(또는 LPRT) 명령을 사용합니다. 설정된FALSE사용 중에는 EPRT와 LPRT를 비활성화하고 PORT 명령을 사용합니다. 만. | |
CURLOPT_FTP_USE_EPSV | 사용 중에는, FTP 전송 중 PASV 모드로 돌아가기 전에 EPSV 명령을 먼저 시도합니다. 설정된FALSE时禁用EPSV命令。 | |
이 경우 EPSV 명령을 비활성화합니다. | ||
CURLOPT_FTPAPPEND | CURLOPT_TRANSFERTEXT활성화되면 파일에 추가로 쓰고 덮어쓰지 않습니다. | |
CURLOPT_FTPASCII | 의 별명입니다. | |
CURLOPT_HEADER | CURLOPT_FTPLISTONLY | |
활성화되면 헤더 파일의 정보를 데이터 스트림으로 출력합니다. | CURLINFO_HEADER_OUT | 활성화되면 핸들 요청 문자열을 추적합니다. 5.1.3 시작 가능.에서 PHPCURLINFO_ |
프롬프트는故意的(intentional)입니다. | CURLOPT_HTTPGET | |
활성화되면 HTTP 메서드를 GET로 설정합니다. GET이 기본적으로 설정되어 있으므로 변경된 경우에만 사용됩니다. | CURLOPT_HTTPPROXYTUNNEL | |
활성화되면 HTTP 프록시를 통해 전송됩니다. | CURLOPT_MUTE | |
활성화되면 CURL 함수에서 모든 변경된 매개변수를 기본 값으로 되돌립니다. | CURLOPT_NETRC/연결이 성공하면, ~ | |
CURLOPT_NOBODY | 활성화되면 HTML의 BODY 부분을 출력하지 않습니다. | |
CURLOPT_NOPROGRESS | 활성화되면 curl 전송의 진행 상황 표시줄을 끄고, 기본 설정은 활성화됩니다. Note: PHP는 자동으로 이 옵션을TRUE이 옵션은 디버깅 목적으로만 변경되어야 합니다. | |
CURLOPT_NOSIGNAL | 활성화되면 curl이 php에 전달하는 모든 신호를 무시합니다. SAPI 멀티스레드 전송 시 이 옵션은 기본적으로 활성화됩니다. | CURL 7.10이 때 추가됩니다. |
CURLOPT_POST | 활성화되면 일반 POST 요청을 보내고, 유형은 다음과 같습니다:application/x-www-form-urlencoded와 같이 텍스트 필드와 같이 설정됩니다. | |
CURLOPT_PUT | 활성화되면 HTTP가 파일을 전송할 수 있으며, 텍스트 필드와 같이 동시에 설정되어야 합니다.CURLOPT_INFILE와CURLOPT_INFILESIZE。 | |
CURLOPT_RETURNTRANSFER | curl_exec()을 통해 얻은 정보를 파일 스트림 형태로 반환하며, 직접 출력하지 않습니다. | |
CURLOPT_SSL_VERIFYPEER | 활성화되지 않으면 CURL이 서버에서 인증을 중단합니다.CURLOPT_CAINFO옵션을 통해 캐시 사용을 설정합니다.CURLOPT_CAPATH옵션을 통해 캐시 디렉토리를 설정합니다. 만약CURLOPT_SSL_VERIFYPEER(기본 값은2)이(가) 활성화되었습니다.재전송 시 전달할 바이트 오프셋(다운로드 재개를 위해 사용됩니다).설정되어야 합니다.TRUE아니라면 설정됩니다.FALSE。 | CURL 7.10기본적으로 설정됩니다.TRUECURL 7.10기본으로 바인딩 설치를 시작합니다. |
CURLOPT_TRANSFERTEXT | FTP 전송에 ASCII 모드를 사용하도록 활성화합니다. LDAP에서는 HTML 대신 순수 텍스트 정보를 검색합니다. Windows 시스템에서는 시스템이STDOUTbinary 모드로 설정합니다。 | |
CURLOPT_UNRESTRICTED_AUTH | 사용할 때중의 비트 필드 값. 활성화되면 비트 필드 값은 전송 스레드에서 제한됩니다.생성된 헤더의 여러 locations에서 사용자 이름과 비밀번호 정보를 지속적으로 추가합니다. 도메인이 변경되었어도 그렇습니다。 | |
CURLOPT_UPLOAD | 활성화되면 파일 업로드를 허용합니다。 | |
CURLOPT_VERBOSE | 활성화되면 모든 정보를 보고하고, 저장됩니다.STDERR또는 지정된CURLOPT_STDERR에서。 |
아래의 option의 선택 사항에서 value는 integer 타입의 값을 설정해야 합니다:
옵션 | 선택 사항value값 | 비고 |
---|---|---|
CURLOPT_BUFFERSIZE | 매번 가져온 데이터에서 캐시에 읽어들인 크기는 됩니다. 하지만 이 값이 항상 채워지지는 않습니다。 | CURL 7.10에 추가됩니다. |
CURLOPT_CLOSEPOLICY | CURLCLOSEPOLICY_LEAST_RECENTLY_USED 또는 CURLCLOSEPOLICY_OLDEST가 아니라, 다른 세 가지 CURLCLOSEPOLICY도 있습니다. 하지만 CURL은 현재 이를 지원하지 않습니다。 | |
CURLOPT_CONNECTTIMEOUT | 연결을 시작하기 전에 기다리는 시간을 설정합니다. 0으로 설정하면 무한히 기다립니다。 | |
CURLOPT_CONNECTTIMEOUT_MS | 연결 시도를 기다리는 시간을 밀리초 단위로 설정합니다. 0으로 설정하면 무한히 기다립니다。 | CURL 7.16.2에서 추가되었습니다. 5.2.3시작 가능. |
CURLOPT_DNS_CACHE_TIMEOUT | 메모리에서 DNS 정보를 저장하는 시간을 설정합니다. 기본值为120초。 | |
CURLOPT_FTPSSLAUTH | FTP 인증 방식:CURLFTPAUTH_SSL (SSL을 먼저 시도합니다),CURLFTPAUTH_TLS (TLS를 먼저 시도합니다) 또는CURLFTPAUTH_DEFAULT (자동으로 결정합니다)。 | CURL 7.12.2에 추가됩니다. |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (기본 값, CURL이 사용할 버전을 자동으로 판단하도록 합니다),CURL_HTTP_VERSION_1_0 ( 강제로 HTTP/1.0) 또는CURL_HTTP_VERSION_1_1 ( 강제로 HTTP/1.1) | |
CURLOPT_INFILESIZE | 업로드 파일의 크기 제한을 설정합니다. 단위는 byte입니다。 | |
CURLOPT_LOW_SPEED_LIMIT | 전송 속도가CURLOPT_LOW_SPEED_LIMITbyte/sec) PHP는CURLOPT_LOW_SPEED_TIME전송이 너무 느리다는 이유로 취소되는지를 판단합니다。 | |
CURLOPT_LOW_SPEED_TIME | 전송 속도가CURLOPT_LOW_SPEED_LIMITbyte/sec) PHP는CURLOPT_LOW_SPEED_TIME전송이 너무 느리다는 이유로 취소되는지를 판단합니다。 | |
CURLOPT_MAXCONNECTS | 허용할 수 있는 최대 연결 수는, 그 이상이면CURLOPT_CLOSEPOLICY어떤 연결을 중지해야 할지 결정합니다。 | |
CURLOPT_MAXREDIRS | 가장 많은 HTTP 리디렉션의 수를 지정합니다. 이 옵션은중의 비트 필드 값. 활성화되면 비트 필드 값은 전송 스레드에서 제한됩니다.과 함께 사용됩니다. | |
CURLOPT_PORT | 연결 포트를 지정하는 데 사용됩니다。( 선택 사항) | |
CURLOPT_PROTOCOLS | CURLPROXY_SOCKS*的位域指。如果被启用,位域值会限定libcurl在传输过程中有哪些可使用的协议。这将允许你在编译libcurl时支持众多协议,但是限制只是用它们中被允许使用的一个子集。默认libcurl将会使用全部它支持的协议。参见CURLOPT_REDIR_PROTOCOLS.可用的协议选项为:CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、CURLPROTO_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TFTP、CURLPROTO_ALL | CURL 7.19.4에 추가됩니다. |
CURLOPT_PROTOCOLS | CURLPROXY_SOCKS*的位域指。如果被启用,位域值会限定libcurl在传输过程中有哪些可使用的协议。这将允许你在编译libcurl时支持众多协议,但是限制只是用它们中被允许使用的一个子集。默认libcurl将会使用全部它支持的协议。参见CURLOPT_REDIR_PROTOCOLS.可用的协议选项为:CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、CURLPROTO_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TFTP、CURLPROTO_ALL | CURL 7.19.4에 추가됩니다. |
CURLOPT_PROXYAUTH | 의 비트 필드 값. 활성화되면 비트 필드 값은 libcurl이 전송 중에 사용할 수 있는 프로토콜을 제한합니다. 이를 통해 libcurl을 컴파일할 때 많은 프로토콜을 지원할 수 있지만, 허용된 프로토콜의 서브 세트만 사용할 수 있게 됩니다. 기본적으로 libcurl은 모든 지원하는 프로토콜을 사용합니다. 참조CURLOPT_HTTPAUTHHTTP 프록시 연결의 인증 방식을 사용합니다. 다음에서 사용할 수 있는 프로토콜 옵션은: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL의 비트 필드 표시자를 사용하여 설정할 수 있습니다. 프록시 인증에 대해서는 오직와CURLAUTH_BASICCURLAUTH_NTLM | CURL 7.10.7에 추가됩니다. |
CURLOPT_PROXYPORT | 현재 지원됩니다.CURLOPT_PROXY프록시 서버의 포트 번호. 포트 번호는 다음에서도 설정할 수 있습니다. | |
CURLOPT_PROXYTYPE | 에서 설정됩니다.이지 않습니다. CURLPROXY_HTTP(기본 값) 이것은5。 | CURL 7.10에 추가됩니다. |
CURLOPT_REDIR_PROTOCOLS | CURLPROXY_SOCKS*CURLPROTO_중의 비트 필드 값. 활성화되면 비트 필드 값은 전송 스레드에서 제한됩니다.CURLOPT_FOLLOWLOCATION7.19.4사용할 수 있는 프로토콜을 지정할 수 있습니다. 이는 전송 중에 허용된 프로토콜의 서브 세트를 제한하는 것이며, 기본적으로 libcurl은 FILE과 SCP를 제외한 모든 프로토콜을 허용합니다. 이와CURLOPT_PROTOCOLS。 | CURL 7.19.4에 추가됩니다. |
초안 발행 버전에서는 모든 지원되는 프로토콜을无条件로 따릅니다. 프로토콜 상수에 대한 내용은 | CURLOPT_RESUME_FROM | |
재전송 시 전달할 바이트 오프셋(다운로드 재개를 위해 사용됩니다). | 1 CURLOPT_SSL_VERIFYHOST2 서버 SSL 인증서에 공용 이름(common name)이 존재하는지 확인합니다. 번역자 주의: 공용 이름(Common Name)은 일반적으로 SSL 인증서를 신청할 예정인 도메인(domain) 또는 서브 도메인(sub domain)을 채운 것입니다. | |
공용 이름이 존재하는지 확인하고, 제공된 호스트 이름과 일치하는지 확인합니다. | CURLOPT_SSLVERSION2 또는 3사용하는 SSL 버전( | |
CURLOPT_TIMECONDITION | 그리고 PHP는 기본적으로 이 값을 자동으로 검사합니다. 하지만 일부 경우에 수동으로 설정이 필요할 수 있습니다.CURLOPT_TIMEVALUE그 안에서,CURL_TIMECOND_IFMODSINCE만약 수정된 시간이 지정된 시간 이후라면 사용합니다.CURLOPT_HEADER이 true라면, 수정되지 않았다면 반환하는 페이지를"304 Not Modified"의 헤더, CURLOPT_HEADERfalse로 설정되어 있으면CURL_TIMECOND_IFUNMODSINCE의 기본 값은CURL_TIMECOND_IFUNMODSINCE。 | |
CURLOPT_TIMEOUT | CURL이 실행할 수 있는 최대 초를 설정합니다. | |
CURLOPT_TIMEOUT_MS | CURL이 실행할 수 있는 최대 밀리초를 설정합니다. | CURL 7.16.2에서 추가되었습니다. 5.2.3부터 사용할 수 있습니다. |
CURLOPT_TIMEVALUE | 을 설정하면CURLOPT_TIMECONDITION사용된 시간 표시자는 기본적으로 사용됩니다CURL_TIMECOND_IFMODSINCE。 |
에 대한 이 옵션의 선택 매개변수에서, value는 string 타입의 값으로 설정되어야 합니다:
옵션 | 선택 사항value값 | 비고 |
---|---|---|
CURLOPT_CAINFO | 와 함께 저장된1개나 여러 개의 서버��증을 위해 사용되는 인증서 파일 이름입니다. 이 매개변수는CURLOPT_SSL_VERIFYPEER과 함께 사용될 때만 의미가 있습니다. | |
CURLOPT_CAPATH | 여러 CA 인증서가 저장된 디렉토리입니다. 이 옵션은CURLOPT_SSL_VERIFYPEER과 함께 사용됩니다. | |
CURLOPT_COOKIE | HTTP 요청에서 설정"Cookie: "부분의 내용입니다. 여러 쿠키는 세미콜론으로 구분되며, 세미콜론 뒤에는 공백이 추가됩니다(예를 들어, "fruit=apple; colour=red)). | |
CURLOPT_COOKIEFILE | 쿠키 데이터가 포함된 파일 이름, 쿠키 파일의 형식은 Netscape 형식이나 단순히 HTTP 헤더 정보를 파일에 저장할 수 있습니다. | |
CURLOPT_COOKIEJAR | 연결이 끝난 후 쿠키 정보를 저장할 파일입니다. | |
CURLOPT_CUSTOMREQUEST | 사용자 정의 요청 정보를 대신 사용하여"GET"또는"HEAD"를 사용하여 실행"DELETE" 또는 다른 더 은닉된 HTTP 요청."GET"으로 설정됩니다."POST"으로 설정됩니다."CONNECT"와 같은 것들입니다. 즉, 전체 HTTP 요청을 여기에 입력하지 마세요. 예를 들어, 입력"GET" /index.html HTTP/1.0\r\n\r\n"잘못되었습니다. Note: 서버가 이 사용자 정의 요청 방법을 지원하는지 확인하기 전에 사용하지 마세요. | |
CURLOPT_EGDSOCKET | 유사하게CURLOPT_RANDOM_FILE을 제외하고, 하나의Entropy Gathering Daemon 소켓입니다. | |
CURLOPT_ENCODING | HTTP 요청 헤더에"Accept"-Encoding: "의 값입니다. 지원되는 인코딩은 다음과 같습니다"identity"으로 설정됩니다."deflate"와"gzip"로 설정되면""와 함께, 모든 지원 가능한 인코딩 유형이 전송됩니다. | CURL 7.10에 추가됩니다. |
CURLOPT_FTPPORT | 이 값은 FTP "POST" 명령에 필요한 IP 주소를 얻기 위해 사용됩니다. "POST" 명령은 원격 서버가 지정된 IP 주소에 연결하도록 알립니다. 이 문자열은 plain text IP 주소, 호스트 이름, 네트워크 인터페이스 이름(UNIX에서) 또는 단순히-를 사용하여 기본 IP 주소를 사용합니다. | |
CURLOPT_INTERFACE | 네트워크 전송 인터페이스 이름, 인터페이스 이름, IP 주소 또는 호스트 이름일 수 있습니다. | |
CURLOPT_KRB4LEVEL | KRB4 (Kerberos 4) 보안 수준. 아래의 모든 값은 유효합니다(낮에서 높은 순서로):"clear"로 설정됩니다."safe"로 설정됩니다."confidential"로 설정됩니다.와 이들과 일치하지 않으면으로 설정됩니다."private"로 설정됩니다.NULL시 KRB4 안전한 인증.4 안전한 인증은 FTP 전송에만 사용할 수 있습니다. | |
CURLOPT_POSTFIELDS | 모든 데이터는 HTTP 프로토콜의 "POST" 작업을 통해 전송됩니다. 파일을 전송하려면 파일 이름 앞에@프롬프트를 사용하여 전체 경로를 사용할 수 있습니다. 이 파라미터는 urlencoded된 문자열과 유사하게 사용될 수 있습니다.para1=val1¶2=val2&...또는 필드 이름을 키로, 필드 데이터를 값으로 하는 배열을 사용할 수 있습니다. 만약value배열입니다.Content-Type헤더가 설정됩니다.multipart/form-data。 | |
CURLOPT_PROXY | HTTP 프록시 채널. | |
CURLOPT_PROXYUSERPWD | 프록시에 연결하는"[username]:[password]"형식의 문자열. | |
CURLOPT_RANDOM_FILE | SSL 랜덤 수 랜덤 시드를 생성하는 파일 이름. | |
CURLOPT_RANGE | 로"X-Y"의 형식으로, X와 Y 모두 선택 사항이며 데이터 범위를 바이트로 표현합니다. HTTP 전송 스레드는 이러한 중복 항목을 쉼표로 구분하여 여러 개를 지원합니다. 예를 들어"X-Y,N-M"。 | |
CURLOPT_REFERER | HTTP 요청 헤더에"Referer: "의 내용. | |
CURLOPT_SSL_CIPHER_LIST | SSL 암호화 알고리즘 목록. 예를 들어RC4-SHA와TLSv1모두 사용 가능한 암호화 목록. | |
CURLOPT_SSLCERT | PEM 형식의 인증서를 포함한 파일 이름. | |
CURLOPT_SSLCERTPASSWD | 사용CURLOPT_SSLCERT서버의 비밀번호가 필요합니다。 | |
CURLOPT_SSLCERTTYPE | 서버의 형식을 지정합니다. 지원되는 형식은 다음과 같습니다:"PEM" (기본값), "DER"와"ENG"。 | CURL 7.9.3에 추가됩니다. |
CURLOPT_SSLENGINE | 에서CURLOPT_SSLKEY에서 지정된 SSL 개인 키의 암호화 엔진 변수를 지정합니다。 | |
CURLOPT_SSLENGINE_DEFAULT | 비대칭 암호화 작업을 수행하는 변수입니다。 | |
CURLOPT_SSLKEY | SSL 개인 키를 포함한 파일 이름을 지정합니다。 | |
CURLOPT_SSLKEYPASSWD | 에서CURLOPT_SSLKEY에서 지정된 SSL 개인 키의 비밀번호를 지정합니다。 Note: 이 옵션은 민감한 비밀번호 정보를 포함하기 때문에 PHP 스크립트의 보안을 유지해야 합니다. | |
CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEY에서 지정된 개인 키의 암호화 유형을 지정합니다. 지원되는 키 유형은 다음과 같습니다:"PEM"(기본값)、"DER"와"ENG"。 | |
CURLOPT_URL | 가져오려는 URL 주소입니다. 또한 curl_init() 함수에서 설정할 수 있습니다. | |
CURLOPT_USERAGENT | HTTP 요청에 포함된"User-Agent: "헤더 문자열을 포함합니다. | |
CURLOPT_USERPWD | 연결에서 필요한 사용자 이름과 비밀번호를 전달합니다. 형식은 다음과 같습니다:"[username]:[password]"。 |
아래의 이러한 option의 선택적 매개변수는 value가 배열로 설정되어야 합니다:
옵션 | 선택 사항value값 | 비고 |
---|---|---|
CURLOPT_HTTP200ALIASES | 200 응답 코드 배열, 배열에 있는 응답 코드는 올바른 응답으로 간주되며, 그렇지 않으면 잘못된 응답으로 간주됩니다. | CURL 7.10.3에 추가됩니다. |
CURLOPT_HTTPHEADER | HTTP 헤더 필드를 설정하는 배열을 사용합니다. 다음과 같은 형식의 배열을 사용하여 설정합니다: array('Content-type: text/plain', 'Content-length: 100') | |
CURLOPT_POSTQUOTE | FTP 요청이 실행된 후 서버에서 실행되는FTP 명령어 집합. | |
CURLOPT_QUOTE | FTP 요청 전에 서버에서 실행되는FTP 명령어 집합. |
아래의 이러한 option의 선택적 매개변수는 value가 스트림 자원으로 설정되어야 합니다. 예를 들어 fopen()를 사용하여 설정할 수 있습니다.:
옵션 | 선택 사항value값 |
---|---|
CURLOPT_FILE | 출력 파일 위치를 설정합니다. 값은 자원 유형입니다. 기본值为STDOUT (브라우저)。 |
CURLOPT_INFILE | 업로드 파일을 업로드할 때 필요한 파일 주소를 지정합니다. 값은 자원 유형입니다. |
CURLOPT_STDERR | 설정하려는 오류 출력 주소를 지정합니다. 값은 자원 유형이며 기본값 대신 사용됩니다.STDERR。 |
CURLOPT_WRITEHEADER | 헤더 부분의 내용을 쓰는 파일 주소를 설정합니다. 값은 리소스 타입입니다. |
아래의 이러한 옵션의 선택 사항에서, 값은 콜백 함수 이름으로 설정되어야 합니다:
옵션 | 선택 사항value값 |
---|---|
CURLOPT_HEADERFUNCTION | 셋팅하려면 콜백 함수를 설정합니다. 두 개의 파라미터가 있습니다. 첫 번째는 CURL 리소스 핸들입니다;두 번째는 출력 헤더 데이터입니다. 헤더 데이터의 출력은 이 함수에 의존해야하며, 반환된 데이터 크기는 입력으로 받은 데이터 크기입니다. |
CURLOPT_PASSWDFUNCTION | 셋팅하려면 콜백 함수를 설정합니다. 세 개의 파라미터가 있습니다. 첫 번째는 CURL 리소스 핸들입니다;두 번째는 비밀번호 제안자입니다;세 번째는 비밀번호 길이가 허용되는 최대 값을 가집니다. 비밀번호 값을 반환합니다. |
CURLOPT_PROGRESSFUNCTION | 셋팅하려면 콜백 함수를 설정합니다. 세 개의 파라미터가 있습니다. 첫 번째는 CURL 리소스 핸들입니다;두 번째는 파일 디스크립터 리소스입니다;세 번째는 길이입니다. 데이터를 포함한 문자열을 반환합니다. |
CURLOPT_READFUNCTION | 콜백 함수 이름. 이 함수는 세 개의 파라미터를 받아야 합니다. 첫 번째는 CURL 리소스입니다;두 번째는 옵션을 통해 설정된 값입니다;세 번째는 입력으로 받은 데이터입니다. CURLOPT_INFILE CURL에 전달된 스트림 리소스;세 번째 파라미터는 읽을 수 있는 최대 데이터 양입니다. 콜백 함수는 입력으로 받은 데이터의 길이보다 작거나 같은 문자열을 반환해야 합니다. 일반적으로 입력으로 받은 스트림에서 데이터를 읽습니다. 리소스를 읽습니다. 공백 문자열을 반환합니다. EOF(파일 끝) 신호. |
CURLOPT_WRITEFUNCTION | 콜백 함수 이름. 이 함수는 두 개의 파라미터를 받아야 합니다. 첫 번째는 CURL 리소스입니다;두 번째는 입력으로 받은 데이터 문자열입니다. 데이터가 함수 내에서 저장되어야 합니다. 함수는 입력으로 받은 데이터의 바이트 수를 정확히 반환해야 하지 않으면 전송이 오류로 인해 중단됩니다. 끝. |
성공 시 TRUE를 반환하거나, 실패 시 FALSE를 반환합니다.
버전 | 설명 |
---|---|
5.2.10 | 초기화 CURLOPT_PROTOCOLS , andCURLOPT_REDIR_PROTOCOLS . |
5.1.0 | 초기화 CURLOPT_AUTOREFERER ,CURLOPT_BINARYTRANSFER ,CURLOPT_FTPSSLAUTH ,CURLOPT_PROXYAUTH , andCURLOPT_TIMECONDITION . |
5.0.0 | 초기화 CURLOPT_FTP_USE_EPRT ,CURLOPT_NOSIGNAL ,CURLOPT_UNRESTRICTED_AUTH ,CURLOPT_BUFFERSIZE ,CURLOPT_HTTPAUTH ,CURLOPT_PROXYPORT ,CURLOPT_PROXYTYPE ,CURLOPT_SSLCERTTYPE , andCURLOPT_HTTP200ALIASES . |
새로운 CURL 세션을 초기화하고 웹 페이지를 가져옵니다
<?php // 새로운 CURL 리소스를 생성합니다 $ch = curl_init(); // URL과 관련된 옵션을 설정합니다 curl_setopt($ch, CURLOPT_URL, "http://ko.oldtoolbag.com/"); curl_setopt($ch, CURLOPT_HEADER, false); // URL을 잡고 그것을 브라우저에 전달합니다 curl_exec($ch); //CURL 리소스를 닫고 시스템 리소스를 해제합니다 curl_close($ch); ?>
파일 업로드 예제:
<?php /* http://localhost/upload.php: print_r($_POST); print_r($_FILES); */ $ch = curl_init(); $data = array('name' => 'Foo', 'file' => '@/home/user/test.png'); curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); ?>
위의 예제의 출력 결과는 다음과 같습니다:
Array ( [name] => Foo ) Array ( [file] => Array ( [name] => test.png [type] => image/png [tmp_name] => /tmp/phpcpjNeQ [error] => 0 [size] => 279 ) )
CURLOPT_POSTFIELDS에 배열을 전달하면, CURL이 데이터를 multipart/form-data로编码되며, URL을 전달하는 것이 아니라-encoded 문자열로 변환할 때, 데이터는 application/x-www-form-urlencoded.