>  기사  >  백엔드 개발  >  php 파일 업로드 시 주의할 점은 무엇인가요?

php 파일 업로드 시 주의할 점은 무엇인가요?

小云云
小云云원래의
2018-02-27 09:34:291706검색

이 글은 주로 PHP 파일을 업로드할 때 주의해야 할 사항을 알려드립니다.

php 버전 차이:

<=5.4 curl上传文件只支持@语法= 5.5 支持@语法和CURLFile类大于=5.6 只支持CURLFile类

// 호환성 작성 참고 예시

$curl = curl_init();if (class_exists(&#39;\CURLFile&#39;)) {// 这里用特性检测判断php版本
     curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);        $data = array(&#39;file&#39; => new \CURLFile(realpath($source)));//>=5.5
 } else {     if (defined(&#39;CURLOPT_SAFE_UPLOAD&#39;)) {
         curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
     }     $data = array(&#39;file&#39; => &#39;@&#39; . realpath($source));//<=5.5
 }

 curl_setopt($curl, CURLOPT_URL, $url);
 curl_setopt($curl, CURLOPT_POST, 1 );
 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($curl, CURLOPT_USERAGENT,"TEST"); $result = curl_exec($curl); $error = curl_error($curl);

          

php 버전 차이:

<=5.4 curl上传文件只支持@语法= 5.5 支持@语法和CURLFile类大于=5.6 只支持CURLFile类

// 호환성 작성 참고 예시

$curl = curl_init();if (class_exists(&#39;\CURLFile&#39;)) {// 这里用特性检测判断php版本
     curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);        $data = array(&#39;file&#39; => new \CURLFile(realpath($source)));//>=5.5
 } else {     if (defined(&#39;CURLOPT_SAFE_UPLOAD&#39;)) {
         curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
     }     $data = array(&#39;file&#39; => &#39;@&#39; . realpath($source));//<=5.5
 }

 curl_setopt($curl, CURLOPT_URL, $url);
 curl_setopt($curl, CURLOPT_POST, 1 );
 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($curl, CURLOPT_USERAGENT,"TEST"); $result = curl_exec($curl); $error = curl_error($curl);

관련 권장 사항:

php 파일 업로드 클래스 및 PH P 캡슐화 다중 파일 업로드 클래스 공유

PHP 파일 업로드 클래스 공유_php 인스턴스

PHP 파일 업로드 분석

위 내용은 php 파일 업로드 시 주의할 점은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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