curl_setopt — cURL 전송 옵션을 설정합니다.


Description

bool curl_setopt ( resource $ch , int $option , mixed $value )
로그인 후 복사

주어진 cURL 세션 핸들에 대한 옵션을 설정합니다.


Parameters

ch

curl_init()에서 반환된 cURL 핸들입니다.

option

CURLOPT_XXX 옵션을 설정해야 합니다.

value

옵션 옵션에 설정될 값입니다.

다음 옵션의 선택적 매개변수의 경우 값은 bool 유형 값으로 설정되어야 합니다.

OptionsOptionalvalueValueRemarks
CURLOPT_AUTOREFERER 위치:를 기준으로 리디렉션할 때 헤더에 자동으로 설정됩니다. 추천인:정보.
CURLOPT_BINARYTRANSFER CURLOPT_RETURNTRANSFER이 활성화되면 원시(Raw) 출력을 반환합니다.
CURLOPT_COOKIESESSION이 활성화되면 컬은 하나의 세션 쿠키만 전달하고 다른 쿠키는 무시합니다. 기본적으로 cURL은 모든 쿠키를 서버에 반환합니다. 세션 쿠키는 서버 측 세션이 유효한지 확인하는 데 사용되는 쿠키를 말합니다.
CURLOPT_CRLF활성화되면 Unix 줄 바꿈을 캐리지 리턴 및 줄 바꿈으로 변환합니다.
CURLOPT_DNS_USE_GLOBAL_CACHE이 항목은 스레드로부터 안전하며 기본적으로 활성화됩니다.
CURLOPT_FAILONERROR HTTP 상태 코드를 표시합니다. 기본 동작은 400 이하의 숫자가 포함된 HTTP 메시지를 무시하는 것입니다.
CURLOPT_FILETIME활성화되면 원격 문서의 정보를 수정하려고 시도합니다. 결과 정보는 컬_getinfo() 함수의 CURLINFO_FILETIME 옵션을 통해 반환됩니다. cur_getinfo().
CURLOPT_FOLLOWLOCATION활성화되면 서버에서 반환된 "Location: ""가 헤더에 배치되고 재귀적으로 서버에 반환됩니다. 제한하려면 CURLOPT_MAXREDIRS를 사용하세요. 재귀 반환 횟수.
CURLOPT_FORBID_REUSE상호작용 완료 후 강제로 연결을 끊고 다시 사용할 수 없습니다.
CURLOPT_FRESH_CONNECT 강제로 새 연결을 얻고 캐시에 있는 연결을 대체합니다.
CURLOPT_FTP_USE_EPRT활성화되면 FTP 다운로드 시 EPRT(또는 LPRT) 명령을 사용하세요. FALSE로 설정된 경우 EPRT 및 LPRT를 비활성화하고 PORT 명령을 사용하세요.                                          만.
CURLOPT_FTP_USE_EPSV활성화되면 EPSV 명령이 PASV 모드로 되돌아가기 전에 먼저 시도됩니다. FTP 전송 중. FALSE로 설정하면 EPSV 명령이 비활성화됩니다.
CURLOPT_FTPAPPEND활성화되면 파일을 덮어쓰는 대신 파일에 씁니다.
CURLOPT_FTPASCIICURLOPT_TRANSFERTEXT의 별칭입니다.
CURLOPT_FTPLISTONLY활성화되면 FTP 디렉터리의 이름만 나열됩니다.
CURLOPT_HEADER활성화하면 헤더 파일 정보가 데이터 스트림으로 출력됩니다.
CURLINFO_HEADER_OUT활성화된 경우 추적 핸들에 대한 요청 문자열입니다. PHP 5.1.3부터 ​​사용 가능합니다. CURLINFO_접두사는 의도적인 것입니다.
CURLOPT_HTTPGET활성화하면 HTTP 메소드가 GET으로 설정됩니다. GET이 기본값이므로 수정 시에만 사용됩니다.
CURLOPT_HTTPPROXYTUNNEL활성화되면 HTTP 프록시를 통해 전송됩니다.
CURLOPT_MUTE활성화되면 cURL 함수에서 수정된 모든 매개변수가 기본값으로 복원됩니다.
CURLOPT_NETRC연결이 설정된 후 ~/.netrc 파일에 접속하여 원격 사이트에 연결하기 위한 사용자 이름과 비밀번호 정보를 얻습니다.
CURLOPT_NOBODY활성화하면 HTML의 BODY 부분이 출력되지 않습니다.
CURLOPT_NOPROGRESS

활성화되면 컬 전송 진행률 표시줄을 닫습니다. 이 항목의 기본 설정은 활성화되어 있습니다.

Note:

PHP는 이 옵션을 자동으로 TRUE로 설정합니다. 이 옵션은 디버깅 목적으로만 변경해야 합니다.


CURLOPT_NOSIGNAL활성화되면 컬이 PHP로 전달한 모든 신호를 무시합니다. 이 항목은 SAPI 멀티스레드 전송 중에 기본적으로 활성화됩니다. cURL이 7.10에 추가되었습니다.
CURLOPT_POST활성화되면 양식 제출과 마찬가지로 일반 POST 요청이 application/x-www-form-urlencoded 유형으로 전송됩니다.
CURLOPT_PUT을 사용하면 HTTP가 활성화된 경우 파일을 보낼 수 있습니다. CURLOPT_INFILECURLOPT_INFILESIZE를 모두 설정해야 합니다.
CURLOPT_RETURNTRANSFERcurl_exec()에서 얻은 정보를 직접 출력하는 대신 파일 스트림 형식으로 반환합니다.
CURLOPT_SSL_VERIFYPEERcURL을 비활성화하면 서버 측에서 확인이 종료됩니다. CURLOPT_CAINFO 옵션을 사용하여 인증서를 설정합니다. CURLOPT_CAPATH 옵션을 사용하여 인증서 디렉터리를 설정합니다. ​ ​ ​ CURLOPT_SSL_VERIFYPEER(기본값은 2)가 활성화된 경우 CURLOPT_SSL_VERIFYHOSTTRUE로 설정해야 하며, 그렇지 않으면 FALSE로 설정해야 합니다. cURL 7.10부터 기본값은 TRUE입니다. cURL 7.10부터는 번들 설치가 기본으로 제공됩니다.
CURLOPT_TRANSFERTEXTFTP 전송에 ASCII 모드를 사용하려면 활성화하세요. LDAP의 경우 HTML이 아닌 일반 텍스트 정보를 검색합니다. Windows 시스템에서는 시스템이 STDOUT을 바이너리 모드로 설정하지 않습니다.
CURLOPT_UNRESTRICTED_AUTH도메인 이름이 변경된 경우에도 CURLOPT_FOLLOWLOCATION을 사용하여 생성된 헤더의 여러 위치에 사용자 이름과 비밀번호 정보를 지속적으로 추가합니다.
CURLOPT_UPLOAD을 사용하면 파일 업로드가 허용됩니다.
CURLOPT_VERBOSE활성화되면 모든 정보가 보고되고 STDERR 또는 지정된 CURLOPT_STDERR에 저장됩니다.

다음 옵션의 선택적 매개변수의 경우 값은 정수 유형 값으로 설정되어야 합니다.

OptionsOptionalvalueValueRemarks
CURLOPT_BUFFERSIZE이 값이 다음과 같이 될 것이라는 보장은 없습니다. 채워진 매번 . cURL 7.10에 추가되었습니다.
CURLOPT_CLOSEPOLICYCURLCLOSEPOLICY_LEAST_RECENTLY_USED 또는 CURLCLOSEPOLICY_OLDEST 세 가지 다른 CURLCLOSEPOLICY가 있지만 cURL은 아직 이를 지원하지 않습니다.
CURLOPT_CONNECTTIMEOUT연결을 시작하기 전 대기 시간을 0으로 설정하면 무한정 대기합니다.
CURLOPT_CONNECTTIMEOUT_MS연결 시도를 기다리는 시간(밀리초)입니다. 0으로 설정하면 무한 대기합니다. cURL 7.16.2에 추가되었습니다. PHP 5.2.3부터 사용 가능합니다.
CURLOPT_DNS_CACHE_TIMEOUTDNS 정보를 메모리에 저장하는 시간을 설정합니다. 기본값은 120초입니다.
CURLOPT_FTPSSLAUTHFTP 확인 방법: CURLFTPAUTH_SSL(SSL 먼저 시도), CURLFTPAUTH_TLS(TLS 먼저 시도) 또는 CURLFTPAUTH_DEFAU LT (cURL이 자동으로 결정하도록 함). cURL 7.12.2에 추가되었습니다.
CURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_NONE(기본값, cURL에서 사용할 버전 결정), CURL_HTTP_VERSION_1_0(HTTP/1.0 강제) 또는 CURL_HTTP_VERSION_ 1_1 (HTTP/1.1을 사용하려면 필수).
CURLOPT_INFILESIZE업로드된 파일의 크기 제한을 바이트 단위로 설정하세요.
CURLOPT_LOW_SPEED_LIMIT전송 속도가 CURLOPT_LOW_SPEED_LIMIT(바이트/초)보다 낮으면 PHP는 CURLOPT_LOW_SPEED_TIME을 기준으로 너무 느린지 여부를 판단합니다. 그리고 전송을 취소하세요.
CURLOPT_LOW_SPEED_TIME전송 속도가 CURLOPT_LOW_SPEED_LIMIT(바이트/초)보다 낮으면 PHP는 CURLOPT_LOW_SPEED_TIME을 기준으로 너무 느린지 여부를 판단합니다. 그리고 전송을 취소하세요.
CURLOPT_MAXCONNECTS허용되는 최대 연결 수를 초과하는 경우 CURLOPT_CLOSEPOLICY를 사용하여 중지해야 하는 연결을 결정합니다.
CURLOPT_MAXREDIRS최대 HTTP 리디렉션 수를 지정합니다. 이 옵션은 CURLOPT_FOLLOWLOCATION과 함께 사용됩니다.
CURLOPT_PORT은 연결 포트를 지정하는 데 사용됩니다. (선택 사항)
CURLOPT_PROTOCOLSCURLPROTO_* 비트 필드 참조. 활성화되면 비트필드 값은 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, CURL PROTO_TF입니다. TP, CURLPROTO_ALL이 cURL 7.19.4에 추가되었습니다. 비트 필드는
CURLOPT_PROTOCOLSCURLPROTO_*을 나타냅니다. 활성화되면 비트필드 값은 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, CURL PROTO_TF입니다. TP, CURLPROTO_ALL이 cURL 7.19.4에 추가되었습니다.
CURLOPT_PROXYAUTHHTTP 프록시 연결을 위한 확인 방법입니다. CURLOPT_HTTPAUTH의 비트필드 플래그를 사용하여 해당 옵션을 설정하세요. 프록시 인증의 경우 현재 CURLAUTH_BASICCURLAUTH_NTLM만 지원됩니다. cURL 7.10.7에 추가되었습니다.
CURLOPT_PROXYPORT프록시 서버의 포트입니다. 포트는 CURLOPT_PROXY에서 설정할 수도 있습니다.
CURLOPT_PROXYTYPECURLPROXY_HTTP(기본값) 또는 CURLPROXY_SOCKS5이 아닙니다. cURL 7.10에 추가되었습니다.
CURLOPT_REDIR_PROTOCOLSCURLPROTO_*의 비트 필드 값입니다. 활성화된 경우 비트 필드 값은 CURLOPT_FOLLOWLOCATION이 켜져 있을 때 리디렉션을 따를 때 전송 스레드가 사용할 수 있는 프로토콜을 제한합니다. 이렇게 하면 리디렉션 시 전송 스레드를 허용된 프로토콜의 하위 집합으로 제한할 수 있습니다. 기본적으로 libcurl은 FILE 및 SCP를 제외한 모든 프로토콜을 허용합니다. 이는 지원되는 모든 프로토콜을 무조건 따르는 7.19.4 시험판 버전과 약간 다릅니다. 프로토콜 상수는 CURLOPT_PROTOCOLS를 참조하세요. cURL 7.19.4에 추가되었습니다.
CURLOPT_RESUME_FROM전송을 재개할 때 바이트 오프셋을 전달합니다(재개된 전송에 사용됨).
CURLOPT_SSL_VERIFYHOST1 서버 SSL 인증서에 일반 이름이 있는지 확인하세요. 번역자 주: 일반 이름은 일반적으로 SSL 인증서를 신청하려는 도메인 이름(도메인) 또는 하위 도메인(하위 도메인)을 입력하는 것을 의미합니다. 2 일반 이름이 존재하고 제공된 호스트 이름과 일치하는지 확인합니다.
CURLOPT_SSLVERSION사용할 SSL 버전(2 또는 3). 기본적으로 PHP는 이 값을 자체적으로 감지하지만 경우에 따라 수동으로 설정해야 할 수도 있습니다.
CURLOPT_TIMECONDITION페이지가 CURLOPT_TIMEVALUE로 지정된 특정 시간 이후에 편집된 경우, 수정되지 않은 경우 CURLOPT_TIMECOND_IFMODSINCE를 사용하여 페이지로 돌아갑니다. CUR LOPT_HEADER은 사실입니다 , "304 Not Modified" 헤더를 반환합니다. CURLOPT_HEADER가 false인 경우 CURL_TIMECOND_IFUNMODSINCE를 사용하고 기본값은 CURL_TIMECOND_IFUNMODSINCE입니다.
CURLOPT_TIMEOUT cURL 실행이 허용되는 최대 시간(초)을 설정합니다.
CURLOPT_TIMEOUT_MS cURL 실행이 허용되는 최대 밀리초 수를 설정합니다. cURL 7.16.2에 추가되었습니다. PHP 5.2.3부터 사용 가능합니다.
CURLOPT_TIMEVALUE CURLOPT_TIMECONDITION에서 사용하는 타임스탬프를 설정합니다. 기본적으로 CURL_TIMECOND_IFMODSINCE가 사용됩니다.

다음 옵션의 선택적 매개변수의 경우 값은 문자열 유형 값으로 설정되어야 합니다.

one 파일 서버에서 확인하는 데 사용되는 하나 이상의 인증서를 보유하는 이름입니다. 이 매개변수는 CURLOPT_SSL_VERIFYPEER와 함께 사용될 때만 의미가 있습니다. ​ ​ .여러 CA 인증서를 보유하는 디렉터리입니다. 이 옵션은 CURLOPT_SSL_VERIFYPEER와 함께 사용됩니다. CURLOPT_COOKIEHTTP 요청의 "Cookie: " 부분 내용을 설정합니다. 여러 쿠키는 세미콜론과 공백으로 구분됩니다(예: "쿠키 파일의 형식은 Netscape 형식일 수도 있고 순수한 HTTP 헤더 정보만 파일에 저장될 수도 있습니다. CURLOPT_CUSTOMREQUEST"GET" 또는 "HEAD""GET""POST" 등이 포함됩니다. 즉, 여기에 전체 HTTP 요청을 입력하지 마세요. 예를 들어 "GET /index.html HTTP/1.0rnrn"을 입력하면 올바르지 않습니다. NoteCURLOPT_REFERER"Referer: "CURLOPT_SSL_CIPHER_LISTRC4-SHACURLOPT_SSLCERTCURLOPT_SSLCERTPASSWDCURLOPT_SSLCERT
CURLOPT_CAPATH

fruit=apple; color=red").
CURLOPT_COOKIEFILE
CURLOPT_COOKIEJAR접속 종료 후 쿠키 정보를 저장하는 파일입니다.

HTTP 요청으로
대신 사용자 정의 요청 메시지를 사용하세요. 이는 "DELETE" 또는 기타 더 비밀스러운 HTTP 요청을 수행하는 데 유용합니다. 유효한 값에는 , ,
"CONNECT"
:

서버가 지원하는지 확인할 때까지 이 사용자 정의 요청 방법을 사용하지 마세요.


CURLOPT_EGDSOCKET은 엔트로피 수집 데몬 소켓을 제외하고 CURLOPT_RANDOM_FILE과 유사합니다.
CURLOPT_ENCODINGHTTP 요청 헤더의 "Accept-Encoding: " 값입니다. 지원되는 인코딩은 "identity", "deflate""gzip"입니다. 빈 문자열 ""인 경우 요청 헤더는 지원되는 모든 인코딩 유형을 보냅니다. cURL 7.10에 추가되었습니다.
CURLOPT_FTPPORT이 값은 FTP "POST" 명령에 필요한 IP 주소를 얻는 데 사용됩니다. "POST" 명령은 원격 서버에 우리가 지정한 IP 주소에 연결하도록 지시합니다. 이 문자열은 일반 텍스트 IP 주소, 호스트 이름, 네트워크 인터페이스 이름(UNIX의 경우)이거나 기본 IP 주소를 사용하는 '-'일 수 있습니다.
CURLOPT_INTERFACE네트워크 전송 인터페이스 이름으로, 인터페이스 이름, IP 주소 또는 호스트 이름일 수 있습니다.
CURLOPT_KRB4LEVELKRB4(Kerberos 4) 보안 수준. 다음 값 중 하나가 유효합니다(낮은 것부터 높은 것까지): "clear", "safe", "confidential", "private".. 문자열이 이들 중 어느 것과도 일치하지 않으면 "private"이 사용됩니다. 이 옵션을 NULL로 설정하면 KRB4 보안 인증이 비활성화됩니다. 현재 KRB4 보안 인증은 FTP 전송에만 사용할 수 있습니다.
CURLOPT_POSTFIELDS모든 데이터는 HTTP 프로토콜의 "POST" 작업을 사용하여 전송됩니다. 파일을 보내려면 파일 이름 앞에 @를 붙이고 전체 경로를 사용하세요. 이 매개변수는 'para1=val1¶2=val2&...'와 같은 urlencoded 문자열이나 필드 이름을 키로, 필드 데이터를 값으로 사용하는 배열을 통해 전달될 수 있습니다. value가 배열인 경우 Content-Type 헤더는 multipart/form-data로 설정됩니다.
CURLOPT_PROXYHTTP 프록시 채널.
CURLOPT_PROXYUSERPWD프록시에 연결하는 데 사용되는 "[username]:[password]" 형식의 문자열입니다.
CURLOPT_RANDOM_FILESSL 난수 시드를 생성하는 데 사용되는 파일 이름입니다.
CURLOPT_RANGE 형식입니다. 여기서 X와 Y는 데이터 범위(바이트)를 가져오는 선택 사항입니다. HTTP 전송 스레드는 "X-Y,N-M"과 같이 쉼표로 구분된 여러 중복 항목도 지원합니다.
HTTP 요청 헤더 콘텐츠.
SSL 암호화 알고리즘 목록입니다. 예를 들어 TLSv1은 모두 사용 가능한 암호화 목록입니다.
PEM 형식의 인증서가 포함된 파일 이름입니다.
인증서를 사용하는 데 필요한 비밀번호입니다.
CURLOPT_SSLCERTTYPE인증서 유형입니다. 지원되는 형식은 "PEM"(기본값), "DER""ENG"입니다. cURL 7.9.3에 추가되었습니다.
CURLOPT_SSLENGINE CURLOPT_SSLKEY에 지정된 SSL 개인 키에 사용되는 암호화 엔진 변수입니다.
CURLOPT_SSLENGINE_DEFAULT비대칭 암호화 작업에 사용되는 변수입니다.
CURLOPT_SSLKEYSSL 개인 키가 포함된 파일의 이름입니다.
CURLOPT_SSLKEYPASSWD

CURLOPT_SSLKEY에 지정된 SSL 개인 키의 비밀번호입니다.

Note:

이 옵션에는 민감한 비밀번호 정보가 포함되어 있으므로 이 PHP 스크립트를 안전하게 보관하세요.


CURLOPT_SSLKEYTYPECURLOPT_SSLKEY에 지정된 개인 키의 암호화 유형은 "PEM"(기본값), "DER"입니다. 그리고 " ENG".
CURLOPT_URL가져와야 하는 URL 주소는 curl_init() 함수에서도 설정할 수 있습니다.
CURLOPT_USERAGENT에는 HTTP 요청에 "User-Agent: " 헤더 문자열이 포함되어 있습니다.
CURLOPT_USERPWD 연결에 필요한 사용자 이름과 비밀번호를 "[사용자 이름]:[비밀번호]" 형식으로 전달하세요.

다음 옵션의 선택적 매개변수의 경우 값은 배열로 설정되어야 합니다.

optionionalvaluevalueRemarks
CURLOPT_HTTP200ALIASES 200 응답 코드 배열의 경우, 배열의 응답은 올바른 응답으로 간주되고, 그렇지 않으면 오류로 간주됩니다. cURL 7.10.3에 추가되었습니다.
CURLOPT_HTTPHEADERHTTP 헤더 필드를 설정하는 데 사용되는 배열입니다. 다음 형식의 배열을 사용하여 설정합니다.                         ​ ​ ​ array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTEFTP 요청이 완료된 후 서버에서 실행되는 FTP 명령 집합입니다. 실행.
CURLOPT_QUOTEFTP 요청 전에 서버에서 실행되는 FTP 명령 집합입니다.

다음 옵션의 선택적 매개변수의 경우 값은 스트림 리소스로 설정되어야 합니다(예: fopen() 사용):

optionionalvaluevalue
CURLOPT_FILE 출력 파일의 위치를 ​​설정합니다. 값은 리소스 유형입니다. 기본값은 STDOUT(브라우저)입니다.
CURLOPT_INFILE파일 업로드 시 읽어야 하는 파일 주소 값은 리소스 종류입니다.
CURLOPT_STDERR오류 출력 주소를 설정합니다. 값은 리소스 유형으로 기본값 STDERR을 대체합니다.
CURLOPT_WRITEHEADER헤더 부분이 쓰여지는 파일 주소를 설정하고 값은 리소스 종류입니다.

다음 옵션의 선택적 매개변수의 경우 값은 콜백 함수 이름으로 설정되어야 합니다.

옵션 선택적
CURLOPT_HEADERFU 엔션 세트 콜백 함수. 이 함수에는 두 개의 매개변수가 있습니다. 첫 번째는 cURL 리소스 핸들이고 두 번째는 출력 헤더 데이터입니다. 헤더 데이터의 출력은 기록된 데이터의 크기를 반환하는 이 함수에 의존해야 합니다.
CURLOPT_PASSWDFUNCTION세 개의 매개변수로 콜백 함수를 설정합니다. 첫 번째는 cURL 리소스 핸들이고, 두 번째는 비밀번호 프롬프트이고, 세 번째 매개변수는 허용되는 최대 비밀번호 길이입니다. 비밀번호 값을 반환합니다.
CURLOPT_PROGRESSFUNCTION세 개의 매개변수로 콜백 함수를 설정합니다. 첫 번째는 cURL 리소스 핸들이고, 두 번째는 파일 설명자 리소스이고, 세 번째는 길이입니다. 포함된 데이터를 반환합니다.
CURLOPT_READFUNCTION콜백 함수 이름입니다. 이 함수는 세 개의 매개변수를 받아야 합니다. 첫 번째는 cURL 리소스이고 두 번째는 옵션을 통한 것입니다. CURLOPT_INFILE cURL에 전달되는 스트림 리소스입니다. 세 번째 매개변수는 읽을 수 있는 최대 데이터 양입니다. 반품 호출 함수는 요청된 데이터 양(세 번째 매개변수)보다 길이가 작거나 같은 문자열을 반환해야 합니다. 일반적으로 들어오는 스트림에서 리소스를 읽었습니다. EOF(파일 끝) 신호로 빈 문자열을 반환합니다.
CURLOPT_WRITEFUNCTION콜백 함수 이름입니다. 이 함수는 두 개의 매개변수를 허용해야 합니다. 첫 번째는 cURL 리소스이고 두 번째는 기록할 데이터 문자열입니다. 숫자 데이터는 함수 내에 저장되어야 합니다. 함수는 데이터를 쓰기 위해 전달된 정확한 바이트 수를 반환해야 합니다. 그렇지 않으면 전송에 오류가 발생합니다. 부서지다.

반환 값

성공 시 TRUE를 반환하고 실패 시 FALSE를 반환합니다.


변경 로그

.
VersionDescription
5.2.10도입CURLOPT_PROTOCOLSCURLOPT_PROTOCOLS, and CURLOPT_REDIR_PROTOCOLS.
5.1.0引入 CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH, and CURLOPT_TIMECONDITION.
5.0.0引入 CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE, and CURLOPT_HTTP200ALIASES CURLOPT_REDIR_PROTOCOLS
🎜5.1.0🎜🎜도입됨 🎜CURLOPT_AUTOREFER🎜, 🎜CURLOPT_BINARYTRANSFER🎜, 🎜CURLOPT_FTPSSLAUTH🎜,​ 🎜CURLOPT _PROXYAUTH</ 코드 >🎜 및 🎜<code>CURLOPT_TIMECONDITION🎜.🎜🎜🎜🎜5.0.0🎜🎜도입🎜CURLOPT_FTP_USE_EPRT🎜, >🎜, 🎜CURLOPT_UNRESTRICTED_AUTH 🎜 ,                          ​ 🎜CURLOPT_PROXYTYPE 🎜, 🎜CURLOPT_SSLCERTTYPE🎜 및 🎜CURLOPT_HTTP200ALIASES🎜.🎜🎜 🎜🎜

实例

初始化一个新的cURL会话并获取一个网页

<?php
// 创建一个新cURL资源
$ch = curl_init();

// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://www.example.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(&#39;name&#39; => &#39;Foo&#39;, &#39;file&#39; => &#39;@/home/user/test.png&#39;);

curl_setopt($ch, CURLOPT_URL, &#39;http://localhost/upload.php&#39;);
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。

推荐学习:《PHP视频教程