То, что я пытаюсь сделать, – создать файл «dados.json» в каталоге, который соответствует user_id в Joomla.
Так, например, пользователь 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 к консоли.
Любая помощь, пожалуйста !?