我的php脚本是这样的:
<?php
if ($argv[1] == 'RUN') {
//a URL you want to retrieve
$my_url = 'thisURL.com';
$html = file_get_contents($my_url);
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
...
$fp = fopen('standings.json', 'w');
fwrite($fp, json_encode($teamInfoArrays));
fclose($fp);
} else {
$data = file_get_contents ('standings.json');
echo $data;
}
?>
但是当我使用命令
从命令行运行我的php脚本时php /home/usrname/public_html/standings.php RUN
不符合“if”功能,它执行“else”部分。为什么argv [1]会为空?
答案 0 :(得分:0)
根据manual argv是一个字符串数组。您正在与RUN
进行比较,但这应该是'RUN'
以指示Run也是一个字符串。否则,它将尝试查找未定义的变量RUN
,因此不等于argv[1]
答案 1 :(得分:0)
你应该写下你的if条件
if ($argv[1] == "RUN") {...
因为&#34; RUN&#34; word是从命令行获取的字符串。