2

だから私はコマンドライン経由で引数を渡そうとしているこのスクリプトを持っています。しかし、それを機能させることはできません。スクリプトのコードは次のとおりです。

#!/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);
4

3 に答える 3

4

間違いはここにあります

$argv[1] = $scraper;

そのはず

$scraper = $argv[1];

よろしく

于 2012-08-13T19:47:09.307 に答える
4

問題はこの行にあると思います:

$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-13T19:47:45.763 に答える
1

次のようになります。

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);
于 2012-08-13T19:49:36.043 に答える