$url = '上傳網址'; $file_path = "檔案絕對路徑"; $fields = array('key'=>'val'); // post值 function curl_file_get_contents($url,$file_path,$fields='') { $files['files[0]'] = file_get_contents($file_path); // curl $curl = curl_init(); $boundary = uniqid(); $delimiter = '-------------' . $boundary; $post_data = build_data_files($boundary, $fields, $files); curl_setopt_array($curl, array( CURLOPT_URL => $url, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_SSL_VERIFYHOST => 1, CURLOPT_RETURNTRANSFER => 1, CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, //CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $post_data, CURLOPT_HTTPHEADER => array( //"Authorization: Bearer $TOKEN", "Content-Type: multipart/form-data; boundary=" . $delimiter, "Content-Length: " . strlen($post_data) ), )); $response = curl_exec($curl); $info = curl_getinfo($curl); $err = curl_error($curl); curl_close($curl); return $response; } function build_data_files($boundary, $fields, $files){ $data = ''; $eol = "\r\n"; $delimiter = '-------------' . $boundary; if ($fields) { foreach ($fields as $name => $content) { $data .= "--" . $delimiter . $eol . 'Content-Disposition: form-data; name="' . $name . "\"".$eol.$eol . $content . $eol; } } foreach ($files as $name => $content) { $data .= "--" . $delimiter . $eol . 'Content-Disposition: form-data; name="' . $name . '"; filename="' . $name . '"' . $eol //. 'Content-Type: image/png'.$eol . 'Content-Transfer-Encoding: binary'.$eol ; $data .= $eol; $data .= $content . $eol; } $data .= "--" . $delimiter . "--".$eol; return $data; }
2019年3月11日 星期一
【PHP】CURL 傳檔案 方法2
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言