gpt4 book ai didi

php - Codeigniter 通过 CLI 将数组传递给 Controller

转载 作者:行者123 更新时间:2023-12-04 02:59:08 27 4
gpt4 key购买 nike

我需要在命令行上运行我的 CI 脚本之一。我需要将一个数组传递给 Controller ​​,然后再传递给脚本。这是我现在得到的:

$params = array(
'a' => var1,
'b' => var2
);

那么运行的cmd是:

php index.php process process_opk params

在我的 Controller 中,只是为了查看阵列如何/是否正确通过,我有:

public function index($args) {
print_r($args);
}

并且它的输出是字符串形式的 params

在发送之前我需要先序列化我的数组吗?我想 CLI 改变了变量通过 CLI 传递的方式,我错了吗?如果有人可以对此进行详细说明并展示最佳实践,那就太好了。谢谢!

更新:目前我能找到的最佳解决方案是对序列化数据进行 base64_encode 并将其作为长字符串发送。然后在 Controller 中解码和反序列化并将数组发送到我的脚本。

最佳答案

默认情况下,CI 允许“a-z 0-9~%.:_-”字符。 base64 生成另一个符号,如 + 和 =。这就是为什么使用 rawurlencode 会更好而不是 base64:

exec( 'php index.php controller function '.rawurlencode(serialize($params)) );

转壳安全。

关于php - Codeigniter 通过 CLI 将数组传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15502660/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com