>  기사  >  백엔드 개발  >  php cur_setopt 함수의 개념과 사용예 소개

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

怪我咯
怪我咯원래의
2017-05-19 11:24:361610검색

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_BINARYTRANSFER CURLOPT_RETURNTRANSFER가 활성화되면 네이티브( Raw ) 출력.
CURLOPT_COOKIESESSION 이 활성화되면 컬은 하나의 세션 쿠키만 전달하고 다른 쿠키는 무시합니다. 기본값 이 경우 cURL은 모든 쿠키를 서버에 반환합니다. 세션 쿠키는 서버 측 세션이 유효한지 확인하는 데 사용되는 쿠키를 말합니다.
CURLOPT_CRLF 활성화되면 Unix 라인 피드를 캐리지 리턴 라인 피드로 변환합니다.
CURLOPT_DNS_USE_GLOBAL_CACHE 활성화하면 전역 DNS 캐시가 활성화됩니다. safe. 이며 기본적으로 활성화되어 있습니다.
CURLOPT_FAILONERROR HTTP 상태 코드를 표시합니다. 기본 동작은 숫자가 포함된 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_FTPASCII CURLOPT_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_RETURNTRANSFER curl_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_AUTH CURLOPT_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_HTTP200ALIASES200 응답 코드 배열인 경우, 배열에 포함된 응답은 올바른 응답으로 간주되고, 그렇지 않으면 오류로 간주됩니다. 이 cURL 7.10.3에 추가되었습니다. CURLOPT_HTTPHEADERHTTP 헤더 필드를 설정하는 데 사용되는 배열입니다. 다음 형식의 배열을 사용하여 설정합니다. array('콘텐츠 유형: 텍스트/일반', '콘텐츠 길이: 100')CURLOPT_POSTQUOTEFTP 요청이 실행된 후 서버에서 실행되는 FTP 명령 집합입니다. CURLOPT_QUOTEFTP 요청 전에 서버에서 실행되는 FTP 명령 집합입니다.


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

옵션 선택 비고
CURLOPT_BUFFERSIZE 매번 얻은 데이터를 읽어들이는 캐시의 크기이지만, 이 값이 매번 채워진다는 보장은 없습니다. 이 cURL 7.10에 추가되었습니다.
CURLOPT_CLOSEPOLICY CURLCLOSEPOLICY_LEAST_RECENTLY_USED 또는 CURLCLOSEPOLICY_OLDEST 세 가지가 있지만 cURL은 아직 이를 지원하지 않습니다.
CURLOPT_CONNECTTIMEOUT 연결을 시작하기 전에 기다리는 시간입니다. 무기한 기다리세요.
CURLOPT_CONNECTTIMEOUT_MS 연결 시도를 기다리는 시간(밀리초)입니다. 0으로 설정하면 무한 대기합니다. 이 cURL 7.16.2에 추가되었습니다. PHP 5.2.3부터 사용 가능합니다.
CURLOPT_DNS_CACHE_TIMEOUT DNS 정보를 메모리에 저장하는 시간을 설정합니다. 기본값은 120초입니다.
CURLOPT_FTPSSLAUTH FTP 확인 방법: CURLFTPAUTH_SSL(SSL을 먼저 시도) , CURLFTPAUTH_TLS(TLS를 먼저 시도) 또는 CURLFTPAUTH_DEFAULT(cURL이 자동으로 결정하도록 함). 이 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 업로드된 파일의 크기 제한을 바이트 단위로 설정합니다.
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_MAXREDIRS HTTP 리디렉션의 최대 수를 지정합니다. 이 옵션은 CURLOPT_FOLLOWLOCATION과 함께 사용됩니다.
CURLOPT_PORT
CURLOPT_PROTOCOLS CURLPROTO_*에 대한 비트필드 포인터. 활성화되면 비트필드 값은 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_PROXYTYPE CURLPROXY_HTTP(기본값) 또는 CURLPROXY_SOCKS5입니다. 이 cURL 7.10에 추가되었습니다.
CURLOPT_REDIR_PROTOCOLS CURLPROTO_*의 비트 필드 값입니다. 활성화된 경우 비트 필드 값은 CURLOPT_FOLLOWLOCATION이 활성화된 경우 리디렉션을 따를 때 전송 스레드가 사용할 수 있는 프로토콜을 제한합니다. 이렇게 하면 리디렉션 시 전송 스레드를 허용된 프로토콜의 하위 집합으로 제한할 수 있습니다. 기본적으로 libcurl은 FILE 및 SCP를 제외한 모든 프로토콜을 허용합니다. 이는 지원되는 모든 프로토콜을 무조건 따르는 7.19.4 시험판 버전과 약간 다릅니다. 프로토콜 상수는 CURLOPT_PROTOCOLS를 참조하세요. 이 cURL 7.19.4에 추가되었습니다.
CURLOPT_RESUME_FROM 전송을 재개할 때 바이트 오프셋을 전달합니다(재개된 전송에 사용됨).
CURLOPT_SSL_VERIFYHOST 1 서버 SSL 인증서에 공통 이름이 존재하는지 확인하세요. 번역자 주: 일반 이름은 일반적으로 SSL 인증서를 신청하려는 도메인 이름(도메인) 또는 하위 도메인(하위 도메인)을 입력하는 것을 의미합니다. 2 일반 이름이 존재하고 제공된 호스트 이름과 일치하는지 확인합니다.
CURLOPT_SSLVERSION 사용할 SSL 버전(2 또는 3)입니다. 기본적으로 PHP는 이 값을 자체적으로 감지하지만 경우에 따라 수동으로 설정해야 할 수도 있습니다.
CURLOPT_TIMECONDITION CURLOPT_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_ENCODING HTTP 요청 헤더 "Accept-Encoding: " 값 . 지원되는 인코딩은 "identity", "deflate""gzip"입니다. 빈 문자열 ""인 경우 요청 헤더는 지원되는 모든 인코딩 유형을 보냅니다. 이 cURL 7.10에 추가되었습니다.
CURLOPT_FTPPORT 이 값은 FTP "POST" 명령에 필요한 IP 주소를 얻는 데 사용됩니다. "POST" 명령은 원격 서버에 우리가 지정한 IP 주소에 연결하도록 지시합니다. 이 문자열은 일반 텍스트 IP 주소, 호스트 이름, 네트워크 인터페이스 이름(UNIX의 경우)이거나 기본 IP 주소를 사용하는 '-'일 수 있습니다.
CURLOPT_INTERFACE 네트워크 전송 인터페이스 이름으로, 인터페이스 이름, IP 주소 또는 호스트 이름.
CURLOPT_KRB4LEVEL KRB4(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_PROXY HTTP 프록시 채널입니다.
CURLOPT_PROXYUSERPWD A "[사용자 이름]:[ 비밀번호]" 형식 문자열.
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-SHATLSv1은 모두 사용 가능한 암호화 목록입니다.
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 개인 키.

참고:

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


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



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

옵션 선택 가능값값 비고
选项 可选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命令。
选项 可选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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.