Begin
想把之前的体育日记生成的Python脚本部署到线上,一开始想用Java,发现一头雾水啊,改用PHP,前端用的 bootstrap
把Python脚本改为接收参数
una = sys.argv[1] uno = sys.argv[2] ute = sys.argv[3] usex = sys.argv[4]
- PHP根据用户表单输入构造命令
- 使用
shell_exec($cmd);
来执行Python脚本 用
zip
命令打包// 这个函数是在网上查到的,找不到出处了 // 避免同一个学号多次使用而重复 function getRandomStr($len, $special=true){ $chars = array( "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ); if($special){ $chars = array_merge($chars, array( "!", "@", "#", "$", "?", "|", "{", "/", ":", ";", "%", "^", "&", "*", "(", ")", "-", "_", "[", "]", "}", "<", ">", "~", "+", "=", ",", "." )); } $charsLen = count($chars) - 1; shuffle($chars); //打乱数组顺序 $str = ''; for($i=0; $i<$len; $i++){ $str .= $chars[mt_rand(0, $charsLen)]; //随机取出一位 } return $str; } $ran = $uno.getRandomStr(5, false).'.zip'; $zipcmd = 'zip -q -r '.$ran.' '.$uno; shell_exec($zipcmd);
使用 shell_exec
注意
- 如果
php.ini
中配置了使用安全模式,则无法使用。 - 如果
php.ini
中禁用的了该函数,也无法使用
效果
版权属于:moluuser
本文链接:https://archive.moluuser.com/archives/54/
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
博主太厉害了!