我尝试从data.csv
绘制图表$(document).ready(function () {
$.ajax({
type: "GET",
url: "data.csv",
dataType: "text",
success: function(data) {processData(data);}
});
完整的HTML代码为here
但是我必须使用用户给定的参数创建data.csv。我正在通过表格获取方法。
<form action="/test.php" >
<input type="text" name="starttime" placeholder="starttime " >
在我的php脚本中,我使用
$time=$_GET['starttime'];
shell_exec("bash myscript.sh $time > data.csv");
我打算用这个新创建的csv制作图表。但是我无法
答案 0 :(得分:0)
您应调用一个PHP文件来代替调用data.csv
文件,该文件将呈现您的新CSV文件。
HTML:
<form id="yourForm">
<input type="text" name="starttime" placeholder="starttime " >
</form>
Javascript:
$('#yourForm').on('submit', function(event){
event.preventDefault();
var $form = $(this);
$.ajax({
type: "GET",
url: "last-csv-file.php?starttime="+$form.find('input[name="starttime"]').val(),
dataType: "text",
success: function(data) {processData(data);}
});
});
last-csv-file.php
:
$time=$_GET['starttime'];
// Write the CSV in a temporary file
$tmpFileName = tempnam('/tmp', 'a-prefix-of-your-choice');
shell_exec("bash myscript.sh $time > $tmpFileName");
// Get the content of your tmp CSV file and remove it
$csvContent = file_get_contents($tmpFileName);
unlink($tmpFileName);
// Display that content with the proper mimetype
header('content-type: text/csv');
echo $content;
exit;
请注意以下事项:该行可能存在严重的安全问题shell_exec("bash myscript.sh $time > data.csv");
如果用户在字段中输入类似内容的话,那么&#34;&amp;&amp; rm -Rf ./" (或任何类型的命令)它可能会破坏您的服务器。您应该始终检查starttime
是否包含日期,而不是其他任何内容。