亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 cURL 將 Pdf 文件上傳到另一個網站

使用 cURL 將 Pdf 文件上傳到另一個網站

PHP
德瑪西亞99 2023-04-28 14:44:31
特別是與這個特定的線程有關使用 php 將文件上傳到網站我想在 PHP 上使用 cURL 來實現這個。我該如何設置?以下是我嘗試過的。請注意,我只是通過添加我嘗試過的代碼來編輯它。<?php if(isset($_POST["submit"])){ $errors= array();// $name = $_FILES['fileToUpload']['name'];  $size = $_FILES['fileToUpload']['size'];  $type = $_FILES['fileToUpload']['type'];  $tmp_name = $_FILES['fileToUpload']['tmp_name'];  $upload_ok =1; $file_ext=strtolower(end(explode('.',$_FILES['fileToUpload']  ['name'])));// $extensions= array("pdf","jpeg","jpg","png"); $jj = file_get_contents($_FILES['fileToUpload']['tmp_name']); $mj = base64_encode($jj); if(in_array($file_ext,$extensions)=== false){  $errors[]="vvvvv."; }  if($size >= xxx){  $errors[]='xxx;' } if(empty($errors)==true){  echo  "Success </br>";  $request  = "xxxxxxxxx";  $headers = array(    "Authorization: Bearer xxxxxx",     "Content-type => multipart/form-data",     "Accept:application/json",  );  $data = [     'voucher_data' => 'base64_encode($tmp_name)',   'callback_url' => 'xxxxxxxxx'  ];  $curl = curl_init();  curl_setopt_array($curl, array(    CURLOPT_URL => "xxxxxxxxxx",    CURLOPT_RETURNTRANSFER => true,    CURLOPT_ENCODING => "",    CURLOPT_MAXREDIRS => 10,    CURLOPT_TIMEOUT => 30,    CURLOPT_FOLLOWLOCATION => true,    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,    CURLOPT_CUSTOMREQUEST => "POST",    CURLOPT_POSTFIELDS =>  $data,    CURLOPT_HTTPHEADER => $headers  ));  $response = curl_exec($curl);  curl_close($curl);  var_dump($response);  }else{  print_r($errors);  }?>我嘗試按照下面的建議使用 curl_file_create($mj) 但在 var_dump 上...它說 bool(false)
查看完整描述

2 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

好吧,在嘗試了很多不同的方法之后,我直接將這個值傳遞給了 post 字段,而不是將它用作數組

CURLOPT_POSTFIELDS => “foo=$mj&callbackurl=url”,

它奏效了。這就是我被困的地方。我用另一種方式做了,但沒有用。每種情況都是獨一無二的。有人可能也需要這個。


查看完整回答
反對 回復 2023-04-28
?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

我看到您想發出一個請求,將文件上傳到您自己以外的另一臺服務器。


在 PHP 5.5 之后,有一個名為 的函數curl_file_create,顧名思義,它用于上傳文件。


$post = array (

    'extra_info' => '123456', // If required.. like user_id for avatar

    'file_contents' => curl_file_create ('path/to/file');

);


$ch = curl_init ($url);

curl_setopt ($ch, CURLOPT_POST, 1);

curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

$result=curl_exec ($ch);

curl_close ($ch); 

如果您不想使用它,那么有一個非常簡單的方法:


$args = [];


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, 1);


$args['file'] = '@/path/to/file';

curl_setopt($ch, CURLOPT_POSTFIELDS, $args);

curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);

curl_close ($ch); 


查看完整回答
反對 回復 2023-04-28
  • 2 回答
  • 0 關注
  • 260 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號