我找不到将Jquery发送的数组内容打印到Php脚本并写入文件的方法。我尝试了所有的printr_r($ array,true),但它也写了我不想看到的所有内容(例如关键字数组,' =>'符号等等。 )。我也尝试了foreach但它只在文件上写了#34; Array"。
这是jquery:
table.rows( { search:'applied' } ).data().each(function(value, index) {
arrProva = [value];
alert(arrProva); // it reads all the elements properly!
$.ajax({
type:'POST',
url:'exportREPORTS_SA_Filtered.php',
data: { ok: 1, arrayFiltrato: arrProva },
success: function(msg) {
alert('Tutto ok: ' + msg)
}, error: function(err) {
alert('Errore ' + err);
}
});
});
PHP:
if (isset($_POST['ok']) && ($_POST['ok'] == 1)) {
$arrayRicevuto = array($_POST['arrayFiltrato']);
//$arrayRicevuto = implode(" ",$arrayRicevuto);
$data = date("dmY");
$filename = "EstrazioneParziale_del_" . $data;
$estensione = ".csv";
$fileOpen = fopen($filename.$estensione, "a") or die("Impossibile aprire il file");
foreach($arrayRicevuto as $value){
fwrite($fileOpen,$value."\t");
}
fclose($file); }
请帮帮我,我疯了。
答案 0 :(得分:0)
在声明数组时尝试使用json_decode而不是array()。
而不是:
$arrayRicevuto = array($_POST['arrayFiltrato']);
使用:
$arrayRicevuto = json_decode($_POST['arrayFiltrato']);
答案 1 :(得分:0)
您可以使用final PeriodicWorkRequest periodicWorkRequest =
new PeriodicWorkRequest.Builder(SyncWorker.class, 30, TimeUnit.MINUTES)
.addTag("periodic-work-request")
.build();
// Queue the work
WorkManager.getInstance().enqueue(periodicWorkRequest);
函数将数组转换为字符串,如下所示。
implode
答案 2 :(得分:0)
谢谢我使用fputcsv()
解决了这个问题