Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将php数组传递到本地powershell脚本_Php_Wordpress_Powershell_Download - Fatal编程技术网

如何将php数组传递到本地powershell脚本

如何将php数组传递到本地powershell脚本,php,wordpress,powershell,download,Php,Wordpress,Powershell,Download,我正在编写一个powershell脚本,它可以自动设置Wordpress。这个脚本将由多人在创建他们的网站时使用,我想添加一些额外的功能 我想让我的同事访问一个php页面,允许他们为自己的页面选择主题和插件,然后将他们的选择(我认为最容易通过数组)传递给我的powershell脚本。powershell脚本必须处理此问题的原因是,在他们拾取文件后,powershell脚本可以连接到内部服务器并处理其余文件 我想我的问题分为两部分;首先,上述情况可能吗?如果是这样的话,这似乎是处理这个问题的合乎逻

我正在编写一个powershell脚本,它可以自动设置Wordpress。这个脚本将由多人在创建他们的网站时使用,我想添加一些额外的功能

我想让我的同事访问一个php页面,允许他们为自己的页面选择主题和插件,然后将他们的选择(我认为最容易通过数组)传递给我的powershell脚本。powershell脚本必须处理此问题的原因是,在他们拾取文件后,powershell脚本可以连接到内部服务器并处理其余文件

我想我的问题分为两部分;首先,上述情况可能吗?如果是这样的话,这似乎是处理这个问题的合乎逻辑的方法吗

第二个问题是如何真正做到这一点?下面是我处理下载页面的php/html代码,希望能够将数组传递给我的脚本。(以下代码从“临时”网站下载用于测试目的,并不真正满足我的要求)


选择一个主题
一体式幻灯片放映
BB

提前感谢您的帮助。

如果您直接从web服务器执行PowerShell脚本,您可以通过系统调用(
exec()
passthrough()
shell_exe()
)将参数传递给
PowerShell.exe
。您只需要确保参数的传递顺序与PowerShell执行它们的顺序相同

如果参数列表或数据太长,可以创建临时文件。最好的方法是进行基于分隔符的设置(如
CSV
):使用PHP从数组中创建一个文本文件,将该文件(现在是
string
)保存到文件中,然后在PowerShell中,围绕相同的分隔符将文件分块。您也可以使用
serialize()
,但我不确定是否有能力在PowerShell中
unserialize()

当然,使用上述方法,PowerShell只需要一个参数,即存储阵列的临时文件的路径


此外,您还应在讨论以下问题时查看。

谢谢您的回答。我真的很喜欢csv的想法,因为它似乎相对容易实现和维护。我会仔细阅读并试一试。
<?php

$val=$_POST['theme']; 
if($val == 'aa') {
header('Content-disposition: attachment; filename=all-in-one-slideshow.zip');
header('Content-type: application/zip');
$url  = 'http://mypage.com/wordpressFiles/all-in-one-slideshow.zip';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $path);
$data = curl_exec($ch);
curl_close($ch);
fclose($fp);
} else if($val == 'bb') {
} else {
}
?>


<form action="download.php" method="post">
<select name="theme" id="theme" class="select-list">
<option value="\">Choose A Theme</option>                                       
<option value="aa">All-In-One-Slideshow</br>
<option value="bb">BB</br>
</select>   
<input type="submit" value="Download" />
</form>