現在、jsPsych(Javascriptライブラリ)を用いてブラウザ上で提示された画像を診てボタン押しをするような実験課題を作成しています。jsPsychは一般的にはおそらくメジャーではないと思いますが、本質問はjsPsychに特異的なものではないと思いますので、広くご回答頂けますと幸いです。
さて、上記の課題終了時に、データをサーバー上に保存したいと思い、
jsPsych のウェブサイト (https://www.jspsych.org/overview/data/) にあるように、PHPスクリプトとして
<?php $post_data = json_decode(file_get_contents('php://input'), true); // the directory "data" must be writable by the server $name = "data/".$post_data['filename'].".csv"; $data = $post_data['filedata']; // write the file to disk file_put_contents($name, $data); ?>
AJAX部分は(index.html内へ記述しています)
function saveData(name, data){ var xhr = new XMLHttpRequest(); xhr.open('POST', 'write_data.php'); // 'write_data.php' is the path to the php file described above. xhr.setRequestHeader('Content-Type', 'application/json'); xhr.send(JSON.stringify({filename: name, filedata: data})); } // call the saveData function after the experiment is over jsPsych.init({ // code to define the experiment structure would go here... on_finish: function(){ saveData("experiment_data", jsPsych.data.get().csv()); } });
と記述しました。
これはうまくいっており、dataディレクトリに指定したファイルが保存されました。
あとはこれを手元にダウンロードしたいのですが、WinSCPを用いてダウンロードしようとすると
「リモートからのファイルのコピーに失敗。Can't open nl3vxrc.csv: Permission denied」
と表示され、エラーになります。表示内容からするにPermissionの設定だと思うのですが、当該サーバー上の全ファイル・フォルダはdataディレクトリも含め0777に設定しています。ただ、目当てのCSVファイルは「0640 (rw-r-----)」となってしまいます。
どのような解決策がありますでしょうか。ご教示頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。