无法通过localhost上的ajax调用require_once来工作

时间:2013-11-29 21:52:59

标签: php ajax localhost absolute-path require-once

我在这里几乎疯了。

我在本地有一个简单的网站,其联系表单功能与PHP完美配合。

现在我想通过AJAX调用它,因为相对路径,我总是会出错。

问题是,ajax调用的php文件有两个require_once,然后就不行了。

我知道我应该使用绝对路径来使其工作,我尝试了不同帖子建议的不同方法,但都会导致错误。

我尝试使用

require_once __DIR__ . 'app/config/settings.php';

我在index.php中使用define('ROOT_SYS',dirname(__FILE__).'/');进行ajax调用,并在php文件中使用require,如下所示: require_once ROOT_SYS . 'class/model/contactForm.php';

以及此问题PHP include best practices question中推荐的许多其他方法,但没有成功。我让他们都在php方面工作,但是当我使用ajax时,它总是会导致错误:

注意:使用未定义的常量ROOT_SYS - 在 G:\ xampp \ htdocs \ website.de \ app \ class \ controller \ contactForm.php 中假设为“ROOT_SYS”在线 6

警告:require_once(ROOT_SYSclass / model / contactForm.php):无法打开流: G:\ xampp \ htdocs \ website.de \ app \ class \ controller中没有此类文件或目录\ contactForm.php 6 行上
致命错误:require_once():在 G:\ xampp中打开所需的'ROOT_SYSclass / model / contactForm.php'(include_path ='。; G:\ xampp \ php \ PEAR')失败\ htdocs \ website.de \ app \ class \ controller \ contactForm.php 在线 6

OR

警告:require_once(app / class / model / contactForm.php):无法打开流: G:\ xampp \ htdocs \ website.de \中没有此类文件或目录在线 6 的app \ class \ controller \ contactForm.php
致命错误:require_once():无法在 G中打开所需的'app / class / model / contactForm.php'(include_path ='。; G:\ xampp \ php \ PEAR'): \ xampp \ htdocs \ website.de \ app \ class \ controller \ contactForm.php 在线 6

未定义常量,因为它未包含或打开流失败。

我的意思是必须有办法让它在calles PHP文件中使用require_once

您有什么经验可以与我分享吗?我现在真的很绝望.. :(

我的文件夹结构如下:

app
-class
--controller
--helper
--model
--view
-config
-template
docroot
lib
system
-css
-js
index.php

我在localhost上的项目路径:

G:\xampp\htdocs\website.de
http://localhost/website.de/

我的ajax电话

$.ajax({
    type: "POST",
    url: "app/class/controller/contactForm.php",
    data: content
})

在被叫contactForm.php中的要求我从一开始就拥有它们。

require_once 'app/class/model/contactForm.php';
require_once 'app/config/settings.php';

必须有一些方法才能使其正常工作,最好使用本地和网络服务器上的设置。

我知道这是很多东西,所以谢谢你的时间!!

1 个答案:

答案 0 :(得分:1)

使用__DIR__是可行的方法。你应该详细说明这个陈述:

require_once __DIR__ . 'app/config/settings.php';

我猜你错过了/因为__DIR__会给你一条没有尾随/的路径。它应该是:

require_once __DIR__ . '/app/config/settings.php';