2013-02-22 1 views
1

Box-API v2를 통해 PHP에서 파일을 업로드하려고하는데 부울 응답이 false 일 때만 이 표시됩니다. 이 문제는 CURL이 아니라 Box-API로 인해 발생했다고 생각하지만 지난 5 시간 동안 계속해서 문제가 발생했습니다. 해결책을 찾지 못했습니다. 어떤 생각 ?? 파일이 존재하고 코드에서 액세스 할 수 있으며 토큰이 마지막으로 내가 해결책을 발견했습니다 확인 (API 잘 작동 다른 통화)Box-API V2 업로드 파일 curl PHP에서 false를 반환합니다.

const CONTENT_ENDPOINT = 'https://api.box.com/2.0/'; 
$file = "unexeceles.xlsx"; 

private $defaultOptions = array(
     CURLOPT_SSL_VERIFYPEER => false, 
     CURLOPT_VERBOSE  => true, 
     CURLOPT_HEADER   => true, 
     CURLINFO_HEADER_OUT => false, 
     CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_FOLLOWLOCATION => false, 
    );  

public function putFile($file) { 

     $options = $this->defaultOptions; 
     $options[CURLOPT_HTTPHEADER] = array ("Authorization: Bearer ".$this->token); 
     $options[CURLOPT_POST] = true; 
     $postfields = array(); 
     $postfields["filename"] = '@'.$file; 
     $postfields["parent_id"] = 0; 

     $options[CURLOPT_POSTFIELDS] = $postfields; 
     $handle = curl_init(BoxConfig::CONTENT_ENDPOINT."files/content"); 

     curl_setopt_array($handle, $options); 

     $response = curl_exec($handle); 

     curl_close($handle); 
     if (is_string($response)) { 
      $response = $this->parse($response); 
     } 

     return $response; 
    } 

답변

1

입니다 : 참고 : 연루 코드는 점이다.

문제는 파일의 상대 경로이며 파일이 존재하며 액세스 할 수있는 양식 코드이지만 CURL은 파일의 전체 경로가 필요합니다.

매우 유용한 기능 curl_errno ($ 핸들)

경우 (curl_errno ($ 핸들)) {

echo 'Curl error: ' . curl_error($handle); 

}