简单 HTML Dom 的两个实例
Two Instances of Simple HTML Dom
我目前正在使用 php include 将两个文件源到网页上。
两个不同的文件说 1.php 和 2.php 有两个不同的实例使用 simplehtmldom。
问题出在 2.php 包含在网页上时,在其位置显示以下错误。
Fatal error: Cannot redeclare file_get_html() (previously declared in /home/northsho/public_html/w/pages/simple_html_dom.php:70) in /home/northsho/public_html/w/pages/simple_html_dom.php on line 85
编辑:
进一步说明。
master.php(包括1.php和2.php)
1.php 和 2.php 都使用 simple_html_dom.php
# FileA: simple_html_dom.php
if(!class_exists('simple_html_dom')){
class simple_html_dom{
// ...
}
}
# FileB:include/require 'prefix_path/'.'simple_html_dom.php'
使用此结构,尽管您可以不包含这 2 个文件并将内容移动到函数中并将 URL 作为参数传递
master.php
<?php
include 'simple_html_dom.php';
include '1.php';
include '2.php';
1.php
<?php
$html = file_get_html('http://example.domain.com');
//do your job
//destroy the object at the end
$html->clear();
unset($html);
2.php
<?php
$html = file_get_html('http://anotherexample.domain.com');
//do your job
//destroy the object at the end
$html->clear();
unset($html);
master.php 使用函数而不是包含 2 个其他文件
<?php
include 'simple_html_dom.php';
function doMyJob($url){
$html = file_get_html($url);
//do the actual job
$result = $html->plaintext;
$html->clear();
unset($html);
return $result;
}
//call the function
print doMyJob("http://example.com");
我目前正在使用 php include 将两个文件源到网页上。
两个不同的文件说 1.php 和 2.php 有两个不同的实例使用 simplehtmldom。
问题出在 2.php 包含在网页上时,在其位置显示以下错误。
Fatal error: Cannot redeclare file_get_html() (previously declared in /home/northsho/public_html/w/pages/simple_html_dom.php:70) in /home/northsho/public_html/w/pages/simple_html_dom.php on line 85
编辑:
进一步说明。
master.php(包括1.php和2.php)
1.php 和 2.php 都使用 simple_html_dom.php
# FileA: simple_html_dom.php
if(!class_exists('simple_html_dom')){
class simple_html_dom{
// ...
}
}
# FileB:include/require 'prefix_path/'.'simple_html_dom.php'
使用此结构,尽管您可以不包含这 2 个文件并将内容移动到函数中并将 URL 作为参数传递
master.php
<?php
include 'simple_html_dom.php';
include '1.php';
include '2.php';
1.php
<?php
$html = file_get_html('http://example.domain.com');
//do your job
//destroy the object at the end
$html->clear();
unset($html);
2.php
<?php
$html = file_get_html('http://anotherexample.domain.com');
//do your job
//destroy the object at the end
$html->clear();
unset($html);
master.php 使用函数而不是包含 2 个其他文件
<?php
include 'simple_html_dom.php';
function doMyJob($url){
$html = file_get_html($url);
//do the actual job
$result = $html->plaintext;
$html->clear();
unset($html);
return $result;
}
//call the function
print doMyJob("http://example.com");