繁体   English   中英

通过命令行php传递参数

[英]Passing Argument via Command Line php

所以我有这个脚本,我试图通过命令行传递参数。 但是,无法让它发挥作用。 这是脚本的代码:

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

错误就在这里

$argv[1] = $scraper;

它应该是

$scraper = $argv[1];

问候

我相信问题在于这一行:

$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对象并将其分配给同一个变量。

应该是这样的:

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM