0

私がやろうとしているのは、ファイル「dados.json」を Joomla の user_id に一致するディレクトリに作成することです。

したがって、たとえば、ユーザー 15 には「.../files/15/dados.json」というファイルがあります。

dados.json の内容は、オブジェクトに含まれるデータです。Ajax を使用してデータを PHP スクリプト escreve.php に送信しています。

/*Get the user Id and create a directory with that id if it doesn't exist yet */
    $user = JFactory::getUser();
    $usr_id = $user->get('id'); 
    $diretorio = JPATH_SITE."/Apps/files/".$usr_id;
    if (!JFolder::exists($diretorio)) {
        JFolder::create($diretorio, 0775);
    };

    /*Get the data and save it to the user directory in file dados.json */
    $myFile = $diretorio."/dados.json";
    $fh = fopen($myFile, 'w') or die("não é possível abrir o ficheiro");
    $stringData = $_POST['data'];
    $stringData='{  "data":'.json_encode($stringData).'}';
    fwrite($fh, $stringData);
    fclose($fh);    

しかし、これは機能していません。ディレクトリは作成されず、ファイルも作成されません。PHP からエラーが発生しません。

ajaxは次のとおりです。

$parent.find('button[name=save]').click(function () {
  $.ajax({
    url: "../Apps/php/escreve.php",
    data:{'data': handsontable.getData()}, //returns all cells' data
    dataType: 'json',
    type: 'POST',
    success: function (res) {
      if (res.result === 'ok') {
        $console.text('Data saved!');
      }
      else {
        $console.text('Save error1');
      }
    },
    error: function () {
      $console.text('Save error2');
    }
  });
});

これは Save error2 をコンソールに記録しています。

何か助けてください!?

4

0 に答える 0