我有以下 PHP 片段,它将从 Curl 详细响应中提取 IP 并将输出分配给变量(这非常有效):
$ipss = shell_exec("grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' curllog/10-08-2013_114304am.txt|head -1");
我遇到的问题是我试图使其搜索的文件动态,但它什么也不返回:
$ipss = shell_exec("grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' curllog/$curlfile|head -1");
当我回显 $curlfile 时,它会显示正确的文件名。
我有另一个使用变量的 shell_exec,它工作正常:
shell_exec("wkhtmltoimage --crop-h 1080 --crop-w 1200 --load-error-handling ignore --quality 10 tmp/$htmlname tmp/$imagename");
我不明白为什么带有变量的 grep 不起作用。非常感谢任何输入!