1

我正在尝试编写一个使用复选框供用户选择的 php 脚本。一旦用户选择了他们的复选框,我的 php 脚本就会将它们(或应该)更改为 CSV 文件。然后从我的本地计算机上的 powershell 脚本加载该文件,然后用于执行命令。

我遇到的问题分为两部分,我似乎找不到确切的答案。第一个问题是创建的 csv 文件在一行中。下面的函数从复选框的输入设置 csv 文件,但是它输出一个我不知道如何使用的单行 csv 文件。

function array_2_csv($array) {
$csv = array();
foreach ($array as $item) {
if (is_array($item)) {
    $csv[] = array_2_csv($item);
} else {
    $csv[] = $item;
}
}
return implode(',', $csv);
}

$fh = fopen("plugin.csv","w");
                fwrite($fh,$csv_data);
                fclose($fh);

我相信的第二个问题来自我的 powershell 脚本。我已经在我的 csv 文件上强制添加了一个标题,但是我的开关似乎不起作用。我想切换查看数组,然后根据用户在我的 php 文件中选择的内容执行(在本例中为下载)一些代码。

$selectedPlugin = Import-Csv "plugin.csv" -Header @("Plugin") 
switch($selectedPlugin.Plugin)
{ namefromCheckbox1 //code
 namefromCheckbox2 //code
}

只需将 id 设置为开关即可下载用户之前通过复选框选择的所有文件。

类似于如何将 php 数组传递给本地 powershell 脚本

编辑:回答我自己的问题,就像下面提到的,我的 csv 在一行中返回。这是由

$newCSV = explode(",",$csv_data); 

然后稍后

foreach($newCSV as $item) {
fwrite($fh,$item.PHP_EOL);

}

4

0 回答 0