php需要在load()方法刷新div后不工作
我有在我的diva php需要php需要在load()方法刷新div后不工作,php,jquery,path,Php,Jquery,Path,我有在我的diva php需要 require('inc/coreturni/list.php'); 这同样需要一个db连接 require('inc/connect.inc.php'); 当我加载页面时,它们都可以工作 但是,如果我尝试刷新div,使用jquery load()刷新click事件后的第一个include文件 我得到了以下路径错误: 警告:require(inc/connect.inc.php):无法打开流:第2行的C:\xampp\htdocs\taximat\inc\co
require('inc/coreturni/list.php');
这同样需要一个db连接
require('inc/connect.inc.php');
当我加载页面时,它们都可以工作
但是,如果我尝试刷新div,使用jquery load()刷新click事件后的第一个include文件
我得到了以下路径错误:
警告:require(inc/connect.inc.php):无法打开流:第2行的C:\xampp\htdocs\taximat\inc\coreturni\list.inc.php中没有此类文件或目录
致命错误:require():无法在第2行的C:\xampp\htdocs\taximat\inc\coreturni\list.inc.php中打开所需的“inc/connect.inc.php”(include_path=';C:\xampp\php\PEAR')
为什么路径应该不同?我如何修复它?您的错误解释了一切: 警告:require(inc/connect.inc.php):无法打开流:没有这样的 中的文件或目录 C:\xampp\htdocs\taximat\inc\coreturni\list.inc.php第2行 致命错误:require():无法打开所需的“inc/connect.inc.php” (将_path=';C:\xampp\php\PEAR')包含在 C:\xampp\htdocs\taximat\inc\coreturni\list.inc.php第2行 请注意,它如何表示无法在此目录中找到
inc/connect.inc.php
:
C:\xampp\htdocs\taximat\inc\coreturni
这是因为您的require
语句引用的是相对路径。因此,当加载文件list.inc.php
时,require
假定inc/connect.inc.php
位于C:\xampp\htdocs\taximat\inc\coreturni
中。这就是它失败的原因
你应该像这样在你的应用程序中设置一个基本路径。请注意,在这种情况下,我不清楚正斜杠或反斜杠语法,因为我主要在Mac和Unix系统上工作,错误显示的是windows路径,但PHP显示的是Unix路径
$BASE_PATH='/xampp/htdocs/taximat/inc/coreturni/';
并且需要以下所有文件:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
就像这样:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
这样,无论从何处调用文件,
require
都将使用文件的绝对路径。由于$BASE\u PATH
是一个一次性变量,您可以在主配置文件中设置它,而不用担心它。要使代码可移植,只需根据系统设置更改$BASE\u PATH
。您的错误解释了这一切:
警告:require(inc/connect.inc.php):无法打开流:没有这样的
中的文件或目录
C:\xampp\htdocs\taximat\inc\coreturni\list.inc.php第2行
致命错误:require():无法打开所需的“inc/connect.inc.php”
(将_path=';C:\xampp\php\PEAR')包含在
C:\xampp\htdocs\taximat\inc\coreturni\list.inc.php第2行
请注意,它如何表示无法在此目录中找到inc/connect.inc.php
:
C:\xampp\htdocs\taximat\inc\coreturni
这是因为您的require
语句引用的是相对路径。因此,当加载文件list.inc.php
时,require
假定inc/connect.inc.php
位于C:\xampp\htdocs\taximat\inc\coreturni
中。这就是它失败的原因
你应该像这样在你的应用程序中设置一个基本路径。请注意,在这种情况下,我不清楚正斜杠或反斜杠语法,因为我主要在Mac和Unix系统上工作,错误显示的是windows路径,但PHP显示的是Unix路径
$BASE_PATH='/xampp/htdocs/taximat/inc/coreturni/';
并且需要以下所有文件:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
就像这样:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
这样,无论从何处调用文件,
require
都将使用文件的绝对路径。由于$BASE\u PATH
是一个一次性变量,您可以在主配置文件中设置它,而不用担心它。要使代码可移植,只需根据系统设置更改$BASE\u PATH
。第一次显示页面时,您的路径如下所示:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
换句话说,所有require
语句都是相对的,如page.php
所示
但是,当您直接使用AJAX请求list.php
时,它看起来更像这样:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
现在,require
应该用于。/connect.php
解决方案
解决此问题的一种方法是根据当前正在处理的文件(即list.php
)计算绝对路径,如下所示:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
dirname(\uuuu DIR\uuuuu)
构造将始终在文件系统上生成比当前脚本所在位置高一级的目录。当页面第一次显示时,您的路径如下所示:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
换句话说,所有require
语句都是相对的,如page.php
所示
但是,当您直接使用AJAX请求list.php
时,它看起来更像这样:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
现在,require
应该用于。/connect.php
解决方案
解决此问题的一种方法是根据当前正在处理的文件(即list.php
)计算绝对路径,如下所示:
require($BASE_PATH . 'inc/coreturni/list.php');
require($BASE_PATH . 'inc/connect.inc.php');
page.php
inc/
coreturni/
list.php
connect.php
list.php
../
connect.php
require dirname(__DIR__) . '/connect.php';
dirname(\uuuu DIR\uuuuu)
构造将始终在文件系统上生成比当前脚本高一级的目录。使用绝对路径而不是相对路径我不喜欢使用绝对路径,我想了解并了解为什么它不起作用为什么说绝对路径?如果他那样做的话,他的代码将根本无法移植。只是对你的回答有点困惑。可以定义一条绝对路径dynamically@Gabz你不必喜欢它们就能使用它们。很明显,你的路径是错误的,定义它在哪里的最好方法是使用完整路径。使用绝对路径而不是相对路径。我不喜欢使用绝对路径,我想理解并了解为什么它不起作用。你为什么说绝对路径?如果他那样做的话,他的代码将根本无法移植。只是对你的回答有点困惑。可以定义一条绝对路径dynamically@Gabz你不知道