0

我有一个 php 脚本 script1.php。我想将参数传递给 script2.php 并从 script1.php 执行它。(script2.php 将输出保存到 script1.php 中使用的文本文件)

编辑:

这是我的 script2.php

require_once('showtimes/simple_html_dom/simple_html_dom.php');

$html = new simple_html_dom();
//$requested4=$_GET['place'];
$html->load_file('http://www.google.com/movies?near=${requested4}&hl=en');
ob_start(); 

$muv='<pre>';
foreach($html->find('#movie_results .theater') as $div) {
    // print theater and address info
$muv=$muv."Theatre:  ".$div->find('h2 a',0)->innertext."\n";
$muv=$muv."Address: ". $div->find('.info',0)->innertext."\n";

    // print all the movies with showtimes
    foreach($div->find('.movie') as $movie) {
       $muv=$muv."\tMovie:    ".$movie->find('.name a',0)->innertext.'<br />';
      $muv=$muv."\tTime:    ".$movie->find('.times',0)->innertext.'<br />';
    }
    $muv=$muv. "\n\n";
}
$muv=$muv."</pre>";
//ob_get_contents(); 
ob_end_clean(); 
echo $muv;
file_put_contents('textfiles/file.txt', $muv);  
$html->clear();

?>

如果我只是执行它,它可以正常工作,但是如果我将它包含在 script1.php 中,我会收到此错误

Fatal error: Call to a member function find() on a non-object in /home/anandheg/public_html/anandghegde.in/se/showtimes/simple_html_dom/simple_html_dom.php on line 879

另外,我在服务器上没有执行 shell 的权限。

4

2 回答 2

1

使用反引号来调用系统命令

<?php
`script1.php any_command_line_options_goes_here`;

//example
`/usr/bin/php -i`;

然后您可以在 script1.php 中执行后读取文件

于 2012-04-12T12:51:13.837 回答
1

您可以简单地将 script2.php 包含在 script1.php 中

include 'script2.php';

您不必传递参数,script2.php在该语句之前存在的变量include将在 script2.php 中正常可用。

于 2012-04-12T12:49:32.870 回答