Include_once无法打开流

时间:2018-02-18 22:47:58

标签: php mysql

我一直在研究这个问题,找不到答案。

在XAMPP上处理PHP / mySQL项目。简化结构如下:

--admin.php
--views 
  --admin
    --editor-html.php (includes the editor form)
--controllers
  --admin
    --editor.php (includes form processing)

editor.php的代码:

   <?php
if (!empty($_POST)) {
  var_dump($_POST);
}
//or this instead
// $buttonClicked = isset ($_POST['action']);
// if ($buttonClicked) {
//   $buttonType = $_POST ['action'];
//   $getData = ($buttonType === "save");
//   if ($getData) {
//     var_dump($_POST);
//   }
// }
$editorOutput = include_once "views/admin/editor-html.php";
return $editorOutput;
 ?>

表单的action =“controllers / admin / editor.php”。 首先,当我打开admin.php时,编辑器表单正在显示。 提交表单时,我会从打印的编辑​​器表单中获取$_POST数据,但include_once "views/admin/editor-html.php"会抛出“无法打开的流”错误(尽管之前的事实是提交编辑表单显示正常。)

如果我将$_POST处理从controllers/admin/editor.php替换为admin.php,并指向表单的action =“admin.php”,那么一切正常。 如果需要更多信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

1。)在上面描述的文件结构中,从editor.phpeditor-html.php的文件路径应为../../views/admin/editor-html.php

2。)另外,这......

$editorOutput = include_once "views/admin/editor-html.php";
return $editorOutput;

...... IMO太多了。只需使用它:

include_once "../../views/admin/editor-html.php";