我确实无法让这个从“form.htm”调用的 PHP 脚本“search.php”正常工作。我在这里做错了什么?
<?php
$old_path = getcwd();
chdir('/var/www/html/SOKHJALPMEDEL/');
$term1 = $_POST['query1'];
$argument1 = $_GET['$term1'];
$term2 = $_POST['query2'];
$argument2 = $_GET['$term2'];
echo $nu_kor_vi1;
$outcome = shell_exec("sokare $argument1 $argument2");
chdir($old_path);
echo "<pre>$outcome</pre>";
?>
该脚本正在调用 Bash 脚本“索卡雷”可在系统范围内执行,并且位于“/usr/local/bin” 是. 变量$参数1和$参数2通过“表单.htm”通过$term1 = $_POST['查询1'];和$term2 = $_POST['查询2'];。Bash 脚本如下所示。它应该搜索位于“/var/www/html/SOKHJALPMEDEL/”对于同时包含两个搜索词的页面。
#!/bin/bash
pdfgrep -Hn $1 /var/www/html/SOKHJALPMEDEL/*.pdf | cut -f1,2 -d':' > /tmp/sok1.tmp
pdfgrep -Hn $2 /var/www/html/SOKHJALPMEDEL/*.pdf | cut -f1,2 -d':' > /tmp/sok2.tmp
grep -f /tmp/sok1.tmp /tmp/sok2.tmp
exit 0
我一直收到这个错误“/var/log/apache2/error.log”:PHP 通知:未定义索引:/var/www/html/SOKHJALPMEDEL/search.php 第 7 行中 $term2,引用者:http://localhost/SOKHJALPMEDEL/form.htm
任何帮助我清理混乱的帮助都是很好的:-)
/保罗
答案1
这是一个可以完成我想要的工作的脚本:
<?php
$old_path = getcwd();
chdir('/var/www/html/SOKHJALPMEDEL/');
$term1 = $_POST['query1'];
$term2 = $_POST['query2'];
ob_start();
echo "{$term1} {$term2}";
$var = ob_get_clean();
$outcome = shell_exec("/usr/local/bin/sokare $var");
chdir($old_path);
echo "<pre>$outcome</pre>";
?>
获得我所寻找的功能的关键是这段代码:
ob_start();
echo "{$term1} {$term2}";
$var = ob_get_clean();
这将创建变量 $var,它用作 Bash 脚本使用的参数 $1 和 $2。
/保罗