私がやろうとしているのは、ファイル「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 をコンソールに記録しています。
何か助けてください!?