複数添付ファイルをアップロードする

下記のコードを書きましたがファイルアップロードされませんでした。
どなたか教えていただけますでしょうか

<?php

// APIトークン
define( ‘API_TOKEN’, ‘AAAAAAAAAAAAAAAAAAAAAAAAAAAAA’ );
// アプリID
define( ‘APP_NO’, ‘123’ );
// サブドメイン
define( ‘SUB_DOMAIN’, ‘fffffffffffff’ );

//file Upload
if ( isset( $_FILES[‘up_file1’] ) && isset( $_FILES[‘up_file2’] ) ) {
 $files = array($_FILES[‘up_file1’],$_FILES[‘up_file2’]);
  $file_desc = reArrayFiles( $files );
  $record_num = $_POST[‘record_number’];
  file_upload( $file_desc, $record_num );
}

function reArrayFiles( $files ) {
  $file_ary = array();
  $file_count = count( $files[‘name’] );
  $file_key = array_keys( $files );

  for ( $i = 0; $i < $file_count; $i++ ) {
    foreach ( $file_key as $val ) {
      $file_ary[$i][$val] = $files[$val][$i];
    }
  }

  return $file_ary;
}
$record_num = $_POST[‘record_number’];
$kintones = get_kintone_data( $record_num ); //kintoneのレコード取得

for ( $i = 0; $i < count( $kintones[‘records’] ); $i++ ) {
  $date_time = $kintones[‘records’][$i][‘日時’][‘value’];
}

//include for CSS and Javascript files
add_action( ‘wp_enqueue_scripts’, ‘kintone_enqueue_styles’ );

function kintone_enqueue_styles() {
  wp_enqueue_style( ‘parent-style’, get_template_directory_uri() . ‘/kintone/css/kintone-style.css’ );
}
add_action( ‘wp_enqueue_scripts’, ‘kintone_enqueue_script’ );

function kintone_enqueue_script() {
  wp_enqueue_script( ‘file-upload’, get_template_directory_uri() . ‘/kintone/js/file-upload.js’, array( ‘jquery’ ), ‘1.0.0’, true );
  wp_enqueue_script( ‘jquery.uploadThumbs’, get_template_directory_uri() . ‘/kintone/js/jquery.uploadThumbs.js’, array( ‘jquery’ ), ‘1.0.0’, true );
}
//*****************************************
// アプリデータ取得
//*****************************************/
function get_kintone_data( $record_num ) {
  $url = “https://” . SUB_DOMAIN . “.cybozu.com/k/v1/records.json?app=” . APP_NO . “”;

  $search = “レコード番号 = "{$record_num}"”;
  $url .= ‘&query=’ . utf8_uri_encode( $search );

  $args = array(
    ‘headers’ => array(
      ‘X-Cybozu-API-Token’ => API_TOKEN
    )
  );

  $kintone = wp_remote_get( $url, $args );

  $kintones = json_decode( $kintone[‘body’], true );

  return $kintones;
}

//*****************************************
// ファイルアップロード
//*****************************************/

function file_upload( $files, $record_num ) {
  for ( $f = 0; $f < count( $files ); $f++ ) {
    $upload_url = “https://” . SUB_DOMAIN . “.cybozu.com/k/v1/file.json”;
    $file_path = $files[$f][‘tmp_name’];
    $file_name = $files[$f][‘name’];
    $curl = curl_init();
    curl_setopt( $curl, CURLOPT_URL, $upload_url );
    curl_setopt( $curl, CURLOPT_CUSTOMREQUEST, “POST” );
    curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $curl, CURLOPT_HTTPHEADER, [‘X-Cybozu-API-Token:’ . API_TOKEN] );
    curl_setopt( $curl, CURLOPT_POST, true );
    $file = new CURLFile( $file_path, ‘application/octet-stream’, $file_name );
    curl_setopt( $curl, CURLOPT_POSTFIELDS, array( ‘file’ => $file ) );
    $res = curl_exec( $curl );
    $response[] = json_decode( $res, true ); // thêm phần tử mới vào mảng response
    curl_close( $curl );

    // Lưu trữ tất cả các file_key được trả về trong một mảng
    $fileKeys = array();
    for ( $i = 0; $i < count( $response ); $i++ ) {
      $fileKeys[] = $response[$i][‘fileKey’];
    }

    // Lấy giá trị của key1 và key2 từ mảng nếu có
    if ( count( $fileKeys ) >= 2 ) {
      $key1 = $fileKeys[0];
      $key2 = $fileKeys[1];
    }

    //アプリデータ取得
    $url = “https://” . SUB_DOMAIN . “.cybozu.com/k/v1/records.json?app=” . APP_NO . “”;

    $search = “レコード番号 = "{$record_num}"”;
    $url .= ‘&query=’ . utf8_uri_encode( $search );

    $args = array(
      ‘headers’ => array(
        ‘X-Cybozu-API-Token’ => API_TOKEN
      )
    );

    $kintone = wp_remote_get( $url, $args );
    $kintones = json_decode( $kintone[‘body’], true );

    //添付ファイル
    $fields = array( ‘file_1’, ‘file_2’ );
    $subtable1 = $kintones[‘records’][0][$fields[ 0] ][‘value’];
    $subtable2 = $kintones[‘records’][0][$fields[ 1] ][‘value’];

    //keyを"fileKey" => $keyの形で配列に入れる
    //if ( $key1 ) {
    //  $key_array = array( array( “fileKey” => $key ) );
    //} else {
    // $key_array = “”;
    //}

    //取得した添付ファイルデータにアップロードするkeyを追加
    $result_key1 = array_merge( $subtable1, [$key1]  );
    $result_key2 = array_merge( $subtable2, [$key2]  );
    //bodyにアプリ番号とレコード番号とkeyをセット
    $body = array(
      “app” => APP_NO,
      “id” => $record_num,
      “record” => array(
        $fields[0] => array(
          “value” => $result_key1
        ),
        $fields[1] => array(
          “value” => $result_key2
        ),
      ),
    );

    //レコードの上書きなのでPUTで書き込みます。
    $options = array(
      ‘method’ => ‘PUT’,
      ‘headers’ => array(
        ‘X-Cybozu-API-Token’ => API_TOKEN,
        ‘Content-Type’ => ‘application/json’
      ),
      ‘body’ => json_encode( $body )
    );

    //PUTで書き込むのでwp_remote_requestを使います。
    $results = wp_remote_request( “https://” . SUB_DOMAIN . “.cybozu.com/k/v1/record.json”, $options );

    //書き込み成功だったらrevisionが返ってきます。
    print_r( $results[‘body’] );
    echo $key1;
    echo $key2;
  }
}
?>
<form method=“post” action=“” enctype=“multipart/form-data”>
  <label for=“file”>ファイル1を選択してください。</label>
  <input type=“file” name=“up_file1[]” multiple=“multiple” >
  <br>
  <label for=“file”>ファイル2を選択してください。</label>
  <input type=“file” name=“up_file2[]” multiple=“multiple” >
  <br>
  <label for=“record_number”>レコード番号を入力してください。</label>
  <input type=“text” name=“record_number” id=“record_number”>
  <br>
  <input type=“submit” id=“upload” value=“アップロード”>
</form>

回答じゃなくて申し訳ないんですが、

ここはナレッジノートのカテゴリです。質問を投稿するカテゴリではないです。
下の2つの投稿もREST APIフォーラムとかカスタマイズフォーラムとかに変更したほうがいいと思います。

| 複数添付ファイルをアップロードする
 
|   |   |
| phpで添付ファイルをアップロードする
 
|

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。