> 백엔드 개발 > PHP 튜토리얼 > php cur_setopt 함수의 개념과 사용예 소개

php cur_setopt 함수의 개념과 사용예 소개

怪我咯
풀어 주다: 2023-03-07 19:32:02
원래의
1636명이 탐색했습니다.

php cur_setopt 함수는 어떤 기능을 하나요?

curl_setopt 함수는 PHP에서 중요한 함수로 cURL 전송 옵션을 설정하는 데 사용됩니다. 그럼 어떻게 설정되나요? 매개변수는 무엇입니까? 이 글의 주요 목적은 PHP의 curl_setopt 함수의

에 대해 자세히 소개하는 것입니다.

구문 설명 먼저 살펴보기

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

매개변수 세부정보:

ch

by 컬_init()에 의해 반환된 cURL 핸들입니다.

옵션

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

옵션에 설정할 값입니다.

PS: 값은 옵션에서 선택한 매개변수에 따라 다음과 같이 설정됩니다.

옵션 매개변수의 경우 다음 옵션에서는 값을 bool 유형 값으로 설정해야 합니다:



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

옵션선택비고
CURLOPT_AUTOREFERER위치:를 기준으로 리디렉션할 때 헤더에 Referer: 정보를 자동으로 설정합니다.
CURLOPT_BINARYTRANSFERCURLOPT_RETURNTRANSFER가 활성화되면 네이티브( Raw ) 출력.
CURLOPT_COOKIESESSION이 활성화되면 컬은 하나의 세션 쿠키만 전달하고 다른 쿠키는 무시합니다. 기본값 이 경우 cURL은 모든 쿠키를 서버에 반환합니다. 세션 쿠키는 서버 측 세션이 유효한지 확인하는 데 사용되는 쿠키를 말합니다.
CURLOPT_CRLF 활성화되면 Unix 라인 피드를 캐리지 리턴 라인 피드로 변환합니다.
CURLOPT_DNS_USE_GLOBAL_CACHE활성화하면 전역 DNS 캐시가 활성화됩니다. safe. 이며 기본적으로 활성화되어 있습니다.
CURLOPT_FAILONERRORHTTP 상태 코드를 표시합니다. 기본 동작은 숫자가 포함된 HTTP 메시지를 무시하는 것입니다. 400 이하입니다.
CURLOPT_FILETIME활성화하면 원격 문서의 정보를 수정하려고 시도합니다. 결과 정보는 컬_getinfo() 함수의 CURLINFO_FILETIME 옵션을 통해 반환됩니다. cur_getinfo().
CURLOPT_FOLLOWLOCATION활성화되면 서버는 " 위치를 반환합니다. : "은 헤더에 배치되어 서버에 재귀적으로 반환됩니다. 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 명령을 비활성화합니다.
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연결이 설정된 후 파일에 접근하여 사용자 이름과 비밀번호 정보를 얻습니다. 원격 사이트에 연결합니다.
CURLOPT_NOBODY활성화하면 HTML의 BODY 부분이 출력되지 않습니다.
CURLOPT_NOPROGRESS

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

참고:

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


CURLOPT_NOSIGNAL활성화되면 PHP 신호에 대한 모든 컬 패스를 무시합니다. . 이 항목은 SAPI 멀티스레드 전송 중에 기본적으로 활성화됩니다. 7.10에서 cURL이 추가되었습니다.
CURLOPT_POST활성화되면 application/x-www-form- 유형의 일반 POST 요청이 전송됩니다. urlencoded 는 양식 제출과 같습니다.
CURLOPT_PUT은 활성화된 경우 HTTP가 파일을 보낼 수 있도록 허용하며 CURLOPT_INFILE도 설정해야 합니다. CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFERcurl_exec()에서 얻은 정보를 파일 스트림 형식으로 반환합니다. 직접 출력.
CURLOPT_SSL_VERIFYPEER비활성화되면 cURL이 서버에서 확인을 종료합니다. 인증서를 설정하려면 CURLOPT_CAINFO 옵션을 사용하세요. 인증서 디렉터리를 설정하려면 CURLOPT_CAPATH 옵션을 사용하세요.           CURLOPT_SSL_VERIFYPEER(기본값은 2)가 활성화된 경우 CURLOPT_SSL_VERIFYHOSTTRUE로 설정해야 하며, 그렇지 않으면 FALSE로 설정해야 합니다. cURL 7.10부터 기본값은 TRUE입니다. cURL 7.10부터는 번들 설치가 기본으로 제공됩니다.
CURLOPT_TRANSFERTEXT 활성화된 경우 FTP 전송에 ASCII 모드를 사용합니다. LDAP의 경우 HTML이 아닌 일반 텍스트 정보를 검색합니다. Windows 시스템에서는 시스템이 STDOUT을 바이너리 모드로 설정하지 않습니다.
CURLOPT_UNRESTRICTED_AUTHCURLOPT_FOLLOWLOCATION을 사용하여 생성된 여러 헤더 도메인 이름이 변경된 경우에도 위치에 추가됩니다.
CURLOPT_UPLOAD파일 업로드를 허용하도록 활성화합니다.
CURLOPT_VERBOSE활성화되면 모든 정보가 보고되고 STDERR<에 저장됩니다. 🎜 > 또는 지정된 CURLOPT_STDERR.
는 연결 포트를 지정하는 데 사용됩니다. (선택 사항) CURLOPT_PROTOCOLS의 비트 필드입니다. 활성화되면 비트필드 값은 libcurl이 전송 중에 사용할 수 있는 프로토콜을 제한합니다. 이를 통해 많은 프로토콜을 지원하도록 libcurl을 컴파일할 수 있지만 사용이 허용된 프로토콜 중 일부만 사용할 수 있습니다. 기본적으로 libcurl은 지원하는 모든 프로토콜을 사용합니다. cURL 7.19에 CURLOPT_REDIR_PROTOCOLS LE, CURLPROTO_TFTP, CURLPROTO_ALLHTTP 프록시 연결 확인 방법입니다. 해당 옵션을 설정하려면 및 프록시 서버의 포트입니다. 포트는 CURLOPT_TIMEOUTCURLOPT_TIMEOUT_MS<🎜><🎜><🎜> CURLOPT_HTTP200ALIASES< 🎜><🎜><🎜>200 응답 코드 배열인 경우, 배열에 포함된 응답은 올바른 응답으로 간주되고, 그렇지 않으면 오류로 간주됩니다. <🎜><🎜>이 cURL 7.10.3에 추가되었습니다. <🎜><🎜><🎜><🎜><🎜>CURLOPT_HTTPHEADER<🎜><🎜><🎜>HTTP 헤더 필드를 설정하는 데 사용되는 배열입니다. 다음 형식의 배열을 사용하여 설정합니다. array('콘텐츠 유형: 텍스트/일반', '콘텐츠 길이: 100')<🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>CURLOPT_POSTQUOTE<🎜><🎜 ><🎜>FTP 요청이 실행된 후 서버에서 실행되는 FTP 명령 집합입니다. <🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>CURLOPT_QUOTE<🎜><🎜><🎜>FTP 요청 전에 서버에서 실행되는 FTP 명령 집합입니다. <🎜><🎜><🎜><🎜><🎜><🎜><🎜>


对于下面的这些option的可选参数,value应该被设置一个流资源 (例如使用fopen()):

옵션선택비고
CURLOPT_BUFFERSIZE매번 얻은 데이터를 읽어들이는 캐시의 크기이지만, 이 값이 매번 채워진다는 보장은 없습니다. 이 cURL 7.10에 추가되었습니다.
CURLOPT_CLOSEPOLICYCURLCLOSEPOLICY_LEAST_RECENTLY_USED 또는 CURLCLOSEPOLICY_OLDEST 세 가지가 있지만 cURL은 아직 이를 지원하지 않습니다.
CURLOPT_CONNECTTIMEOUT연결을 시작하기 전에 기다리는 시간입니다. 무기한 기다리세요.
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_DEFAULT(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(바이트)보다 작은 경우 /sec ), PHP는 전송이 너무 느리기 때문에 CURLOPT_LOW_SPEED_TIME을 사용하여 전송을 취소할지 여부를 결정합니다.
CURLOPT_LOW_SPEED_TIME전송 속도가 CURLOPT_LOW_SPEED_LIMIT(바이트)보다 작은 경우 /sec ), PHP는 전송이 너무 느리기 때문에 CURLOPT_LOW_SPEED_TIME을 사용하여 전송을 취소할지 여부를 결정합니다.
CURLOPT_MAXCONNECTS초과할 경우 허용되는 최대 연결 수 CURLOPT_CLOSEPOLICY 어떤 연결을 중지해야 하는지 결정합니다.
CURLOPT_MAXREDIRSHTTP 리디렉션의 최대 수를 지정합니다. 이 옵션은 <🎜과 동일합니다. > CURLOPT_FOLLOWLOCATION과 함께 사용됩니다.
CURLOPT_PORT
CURLOPT_PROTOCOLSCURLPROTO_*에 대한 비트필드 포인터. 활성화되면 비트필드 값은 libcurl이 전송 중에 사용할 수 있는 프로토콜을 제한합니다. 이를 통해 많은 프로토콜을 지원하도록 libcurl을 컴파일할 수 있지만 사용이 허용된 프로토콜 중 일부만 사용할 수 있습니다. 기본적으로 libcurl은 지원하는 모든 프로토콜을 사용합니다. cURL 7.19에 CURLOPT_REDIR_PROTOCOLS LE, CURLPROTO_TFTP, CURLPROTO_ALL이 추가되었습니다.
CURLPROTO_*이 추가되었습니다. CURLOPT_PROXYAUTH
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_TIMECONDITIONCURLOPT_TIMEVALUE에서 지정한 특정 시간 이후인 경우 수정되지 않았으며 CURLOPT_HEADER가 true인 경우 "304 Not Modified" 헤더가 표시됩니다. CURLOPT_HEADER가 false인 경우 CURL_TIMECOND_IFUNMODSINCE를 사용하고 기본값은 CURL_TIMECOND_IFUNMODSINCE입니다.
cURL 실행이 허용되는 최대 시간(초)을 설정합니다.
cURL 실행이 허용되는 최대 밀리초 수를 설정합니다. 이 cURL 7.16.2에 추가되었습니다. PHP 5.2.3부터 사용 가능합니다. <… .



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

CURLOPT_SSL_VERIFYPEERCURLOPT_COOKIE"Cookie: ""). HEAD"를 HTTP 요청으로 사용합니다. 이는 "DELETE""POST"다음 형식으로 연결에 필요한 사용자 이름과 비밀번호를 전달하세요.
옵션선택비고
CURLOPT_CAINFO서버 확인을 위한 하나 이상의 인증서를 보유하는 파일 이름입니다. 이 매개변수는 CURLOPT_SSL_VERIFYPEER와 함께 사용될 때만 의미가 있습니다. . 이 옵션은 와 함께 사용됩니다.
HTTP의 부분을 설정합니다. 콘텐츠를 요청합니다. 여러 쿠키는 세미콜론과 공백으로 구분됩니다(예: "
과일=사과; 색상=빨간색
CURLOPT_COOKIEFILE쿠키 데이터가 포함된 파일 이름은 Netscape일 수 있습니다. 또는 순수 HTTP 헤더 정보를 파일에 저장하세요.
CURLOPT_COOKIEJAR접속 완료 후 쿠키 정보를 저장하는 파일입니다.
CURLOPT_CUSTOMREQUEST를 사용자 정의 요청 메시지 GET"으로 바꾸세요
또는
또는 기타 더 비밀스러운 HTTP 요청을 실행하는 데 유용합니다. 유효한 값에는 "GET", ,

"CONNECT" 등이 있습니다. 즉, 여기에 전체 HTTP 요청을 입력하지 마세요. 예를 들어 "GET /index.html HTTP/1.0rnrn"을 입력하면 올바르지 않습니다. 참고:서버가 이를 지원하는지 확인할 때까지 이 사용자 정의 요청 방법을 사용하지 마십시오.


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"이 사용됩니다. 이 옵션을 NULL으로 설정하면 KRB4 보안 인증이 비활성화됩니다. 현재 KRB4 보안 인증은 FTP 전송에만 사용할 수 있습니다.
CURLOPT_POSTFIELDS모든 데이터는 HTTP 프로토콜의 "POST" 작업을 사용하여 전송됩니다. 파일을 보내려면 파일 이름 앞에 @를 붙이고 전체 경로를 사용하세요. 이 매개변수는 'para1=val1¶2=val2&...'와 같은 urlencoded 문자열을 통해 전달되거나 필드 이름이 키이고 필드 데이터가 값인 배열을 사용하여 전달될 수 있습니다. value가 배열인 경우 Content-Type 헤더는 multipart/form-data로 설정됩니다.
CURLOPT_PROXYHTTP 프록시 채널입니다.
CURLOPT_PROXYUSERPWDA "[사용자 이름]:[ 비밀번호]" 형식 문자열.
CURLOPT_RANDOM_FILESSL 난수 시드를 생성하는 데 사용되는 파일 이름입니다.
CURLOPT_RANGE "X-Y" 형식, 여기서 X Y는 바이트 단위로 측정된 획득된 선택적 데이터의 범위입니다. HTTP 전송 스레드는 "X-Y,N-M"과 같이 쉼표로 구분된 여러 중복 항목도 지원합니다.
CURLOPT_REFERERHTTP 요청 헤더 "Referer: " 내용 .
CURLOPT_SSL_CIPHER_LISTSSL 암호화 알고리즘 목록입니다. 예를 들어 RC4-SHATLSv1은 모두 사용 가능한 암호화 목록입니다.
CURLOPT_SSLCERTPEM 형식의 인증서가 포함된 파일 이름입니다.
CURLOPT_SSLCERTPASSWDCURLOPT_SSLCERT 인증서를 사용하려면 비밀번호가 필요합니다.
CURLOPT_SSLCERTTYPE인증서 유형입니다. 지원되는 형식은 "PEM"(기본값), "DER""ENG"입니다. 이 cURL 7.9.3에 추가되었습니다.
CURLOPT_SSLENGINECURLOPT_SSLKEY에 지정된 SSL 개인 키에 사용되는 암호화 엔진 변수입니다.
CURLOPT_SSLENGINE_DEFAULT비대칭 암호화 작업에 사용되는 변수입니다.
CURLOPT_SSLKEYSSL 개인 키가 포함된 파일의 이름입니다.
CURLOPT_SSLKEYPASSWD

CURLOPT_SSLKEY에 지정된 SSL 개인 키.

참고:

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


CURLOPT_SSLKEYTYPECURLOPT_SSLKEY 암호화 유형 개인 키 유형은 "PEM"(기본값), "DER""ENG"입니다.
CURLOPT_URL얻어야 하는 URL 주소는 에서도 얻을 수 있습니다. cur_init()함수에 설정합니다.
CURLOPT_USERAGENTHTTP 요청에 "User-Agent: "< 포함 🎜>헤더 문자열.
CURLOPT_USERPWD "[사용자 이름]:[비밀번호]".



아래 옵션 선택 사항 매개변수, 값은 배열로 설정되어야 합니다:

옵션 선택 가능< em class="reset">값

비고
选项可选value备注
CURLOPT_HTTP200ALIASES200响应码数组,数组中的响应吗被认为是正确的响应,否则被认为是错误的。在cURL 7.10.3中被加入。
CURLOPT_HTTPHEADER一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置: array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTE在FTP请求执行完成后,在服务器上执行的一组FTP命令。
CURLOPT_QUOTE一组先于FTP请求的在服务器上执行的FTP命令。
选项可选value
CURLOPT_FILE设置输出文件的位置,值是一个资源类型,默认为STDOUT (浏览器)。
CURLOPT_INFILE在上传文件的时候需要读取的文件地址,值是一个资源类型。
CURLOPT_STDERR设置一个错误输出地址,值是一个资源类型,取代默认的STDERR
CURLOPT_WRITEHEADER设置header部分内容的写入的文件地址,值是一个资源类型。


对于下面的这些option的可选参数,value应该被设置为一个回调函数名:

选项可选value
CURLOPT_HEADERFUNCTION设置一个回调函数,这个函数有两个参数,第一个是cURL的资源句柄,第二个是输出的header数据。header数据的输出必须依赖这个函数,返回已写入的数据大小。
CURLOPT_PASSWDFUNCTION设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个密码提示符,第三个参数是密码长度允许的最大值。返回密码的值。
CURLOPT_PROGRESSFUNCTION设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个文件描述符资源,第三个是长度。返回包含的数据。
CURLOPT_READFUNCTION回调函数名。该函数应接受三个参数。第一个是 cURL resource;第二个是通过选项 CURLOPT_INFILE 传给 cURL 的 stream resource;第三个参数是最大可以读取的数据的数量。回 调函数必须返回一个字符串,长度小于或等于请求的数据量(第三个参数)。一般从传入的 stream resource 读取。返回空字符串作为 EOF(文件结束) 信号。
CURLOPT_WRITEFUNCTION回调函数名。该函数应接受两个参数。第一个是 cURL resource;第二个是要写入的数据字符串。数 据必须在函数中被保存。函数必须返回准确的传入的要写入数据的字节数,否则传输会被一个错误所中 断。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。

实例

初始化一个新的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);
?>
로그인 후 복사

以上实例输出结果如下:

php cur_setopt 함수의 개념과 사용예 소개

注释

传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x-www-form-urlencoded。

【相关文章推荐】

PHP curl_exec函数的用法实例详解

위 내용은 php cur_setopt 함수의 개념과 사용예 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿