我的route.php文件
$route['default_controller'] = "pxml";
$route['pxml/(:any)']="xml/pxml";
$route['404_override'] = '';
我的index.php文件
<!DOCTYPE html>
<html>
<head>
<title>Reading/Writing XML</title>
</head>
<body>
Welcome to reading/writing XML!
<a href="loadXML">Display</a>
</body>
</html>
我的班级Pxml.php文件
class PXml extends CI_Controller
{
private $pFunc;
public function __construct()
{
parent::__construct();
$this->pFunc=new PFunc();
}
public function index()
{
if(!file_exists('application/views/xml/index.php'))
{
show_404();
}
$this->load->view('xml/index');
}
public function loadXML()
{
if(!file_exists('application/views/xml/books.php'))
{
show_404();
}
else
{
if(!file_exists('application/controllers/books.xml'))
{
show_404();
}
$data['xml_data']=$this->pFunc->ReadXML('books.xml');
if($data['xml_data']!=null)
{
$this->load->view('xml/books',$data);
}
else
{
echo "Fail to load XML file";
}
}
}
}
?>
我的books.php
<?php
echo <<<EOF
<table>
<tr>
<th>Title</th>
<th>Author</th>
<th>Publisher</th>
<th>Price at Amazon.com</th>
<th>ISBN</th>
</tr>
EOF;
foreach($xml_data as $book)
{
echo <<<EOF
<tr>
<td>{$book->title}</td>
<td>{$book->author}</td>
<td>{$book->publisher}</td>
<td>{$book->amazon_price}</td>
<td>{$book['isbn']}</td>
</tr>
EOF;
}
echo '</table>';
?>
我可以到达索引,但是当我按下显示链接时,我遇到了404错误。
另外,我在控制器中创建了一个名为xml的子文件夹来存储pxml文件。和视图中名为xml的子文件夹,用于存储所有视图文件。任何帮助表示赞赏。
答案 0 :(得分:0)
CI要求所有文件名都是小写的。
更改
Pxml.php
到
pxml.php
答案 1 :(得分:0)
尝试更改链接以显示为类似内容。
<a href="<?php echo site_url('pxml/loadxml')?>">Display</a>
您是否也验证了CI是否因为无法找到视图而投掷404,或者无法找到控制器本身?