[WordPress] PHP のアップロードし、カールを持つファイルを送信

スポンサーリンク

質問

をワードプレスのインストールにファイルをアップロードし レバーの API を他のフォーム フィールドから他のデータと共に、それを送信しようとしています

エンドポイントだけで罰金、しかしそうでもないファイルのアップロード データを送信することができます。次は実際に wp-コンテンツ/アップロードにアップロードしますが、

move_uploaded_file

の次の行のいずれかまたは

$data

配列にそれを渡すよどこに問題があると思う

< hr/>

<form enctype="multipart/form-data" method="post" action="<?php echo get_template_directory_uri(); ?>/jobForm.php">
    <input type="file" name="resume">
    <button type="submit">Submit</button>
</form>

< hr/>

<?php
// URL
$url = "https://api.lever.co/v0/postings/XXXX/XXXXXX";

$name = $_POST["name"];
$email = $_POST["email"];
$urls = $_POST["urls"];

$target = "/www/wp-content/uploads/" . basename($_FILES["resume"]["name"]);

move_uploaded_file($_FILES["resume"]["tmp_name"], $target);

// data
$data = array(
    "name" => $name,
    "email" => $email,
    "urls" => $urls,
    "resume" => @$_FILES["resume"]
);

// initiate curl instance, set options, and post
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // url
curl_setopt($ch, CURLOPT_POST, true);                                                   
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // full data to post                                              
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return results as a string instead of outputting directly                                                             

echo $data["resume"];
// $output 
$output = curl_exec($ch);  
var_dump($output);

// close curl resource to free up system resources 
curl_close($ch);
?>

"resume"
$data

値を

$target

変数を使用しようとしたが、いずれかの動作していないようです。あなたはおそらく言うことができる、私は正確にわからないどここれは間違っている (私は私の要素はフロント エンドの開発者: D)。

期待どおり場所 + ファイルの名前を与える

$target

をエコーしながら

$data["resume"]

を与える、配列をエコーします。私はよく分からない どのような

$data

の配列を通過する必要がありますを推測する.任意のアイデア何をやってここで間違っているか?役立つ場合は、エラーとなるないレバーから送信するとき実際には、それは 200 OK メッセージを返し、再開日] フィールドだけでなしだけで罰金、投稿 !

の答え

このようなことを行うことができます

$localFile = $_FILES[$fileKey]['tmp_name']; 

$fp = fopen($localFile, 'r');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'someurl' . $strFileName); //$strFileName is obvious
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 86400);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_NOPROGRESS, false);
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, 'CURL_callback');
curl_setopt($ch, CURLOPT_BUFFERSIZE, 128);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localFile));
curl_exec ($ch);

if (curl_errno($ch)) {

    $msg = curl_error($ch);
}
else {

    $msg = 'File uploaded successfully.';
}

curl_close ($ch);

$return = array('msg' => $msg);

echo json_encode($return);

http://stackoverflow.com/questions/28637240/php-upload-and-send-file-with-curl

スポンサーリンク

Leave a Reply