关于include中使用define的有关问题
关于include中使用define的问题
a.php
<br /><?php<br /> define( 'PATH',dirname(__FILE__));<br /> include('./index.php');<br /> .<br /> .<br /> .<br />?>
b.php
<br /><?php<br /> include(../a.php);<br /> echo PATH;<br />
其中a.php和index.php在同一个文件夹,而b.php在a.php的父文件夹中。
运行上面b.php,结果提示错误,说include()函数fial to open index.php,然后输出了PATH,而PAHT的值时a.php的绝对路径。
这是怎么一回事,如果说include函数的工作机制是把文件不做任何处理就包括进来,那么PATH的值应该是b.php的绝对路劲;如果说include函数先要对一些函数做处理后在包括进来,那include('./index.php');问什么又不执行呢?究竟include和define的工作机制是怎样的?求高手
------最佳解决方案--------------------
include 与 define 有什么关系 ,a.php 的当前目录下有index.php 吗
2. 你的常量PATH 是在 a.php 定义的,取的当然是a.php 的绝对路径
------其他解决方案--------------------
用 include('index.php'); //试试
------其他解决方案--------------------
a.php和index.php在同一个文件夹,然后我就改成了include('index.php')就可以了,这是为什么呢?
' .'不是表示当前路劲下,‘./index.php’和'index.php'不是一样的吗?
还有include的工作机制究竟是怎样的?
------其他解决方案--------------------
《PHP中include路径的解决方法汇总》这篇博客文章似乎解决了我的问题了。原来问题出现在__FILE__这里,文章提到“__FILE__ always equals to the real path of a php script regardless whether it's included.” __FILE__的值总是与使用它的文件的路径一样,而不管这个文件是否被包含。所以才出现我说的情况。同时也说明了include路径是一个危险的问题!!!!!
------其他解决方案--------------------
当你访问a.php 时是相对于a.php的,因此 ./index.php 和index.php 都是可以的,但是如果你访问b.php 时,此时应该是相对于b.php , 所以./index.php 就不对了,要../index.php 或者 index.php 才行 ,我是这么理解的。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.
