首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过命令行php传递参数

通过命令行php传递参数
EN

Stack Overflow用户
提问于 2012-08-14 03:40:38
回答 3查看 4.1K关注 0票数 2

所以我有这个脚本,我试图通过命令行传递参数。但是,不能让它工作。以下是该脚本的代码:

代码语言:javascript
复制
#!/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);
EN

回答 3

Stack Overflow用户

发布于 2012-08-14 03:47:09

错误在这里

代码语言:javascript
复制
$argv[1] = $scraper;

它应该是

代码语言:javascript
复制
$scraper = $argv[1];

问候

票数 4
EN

Stack Overflow用户

发布于 2012-08-14 03:47:46

我认为问题出在这一行:

代码语言:javascript
复制
$argv[1] = $scraper;

您将$scraper赋值给$argv[1],但$scraper未定义,因此赋值为null。稍后,您将检查$argv[1]是否为空,因为它的NULL是空的。

也许它应该颠倒过来?

代码语言:javascript
复制
$scraper = (isset($argv[1])) ? $argv[1] : null;

if (empty($scraper)) die('No url provided');

编辑:您可能希望使用不同的变量名,因为您将继续创建一个新的Scraper对象,并将其分配给同一个变量。

票数 4
EN

Stack Overflow用户

发布于 2012-08-14 03:49:36

应该是这样的:

代码语言:javascript
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11941137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档