所以我有这个脚本,我试图通过命令行传递参数。但是,不能让它工作。以下是该脚本的代码:
#!/usr/bin/php
<?php
$argv[1] = $scraper;
require_once('Scraper.php');
$scraper = new JonH_Scraper();
if (empty($argv[1])) {
echo 'whats the URL?';
}
$scraper->scrape($url);
var_dump($scraper);发布于 2012-08-14 03:47:09
错误在这里
$argv[1] = $scraper;它应该是
$scraper = $argv[1];问候
发布于 2012-08-14 03:47:46
我认为问题出在这一行:
$argv[1] = $scraper;您将$scraper赋值给$argv[1],但$scraper未定义,因此赋值为null。稍后,您将检查$argv[1]是否为空,因为它的NULL是空的。
也许它应该颠倒过来?
$scraper = (isset($argv[1])) ? $argv[1] : null;
if (empty($scraper)) die('No url provided');编辑:您可能希望使用不同的变量名,因为您将继续创建一个新的Scraper对象,并将其分配给同一个变量。
发布于 2012-08-14 03:49:36
应该是这样的:
php script.php <URL>
#!/usr/bin/php
<?php
require_once('Scraper.php');
$url = $argv[1];
if(empty($url)){
die('URL is EMPTY');
}
$scraper = new Scraper();
$results = $scraper->scrape($url);
var_dump($results);https://stackoverflow.com/questions/11941137
复制相似问题