解决PHP相对目录问题最有效的办法

    经过搜集资料和多次测试发现,在其他web编程语言中相对路径都是以当前处理文件目录为基准,而在php中并非如此。php中相对路径是以当前工作目录为 基准的,并非以当前处理文件目录为基准,这样在开发过程中带来了不少的麻烦。

    用include或requice包含文件时,文件路径前都加上dirname(__file__)。例如:现有a.php、b.php、c.php、 d.php4个文件,他们关系为:

    b.php(与根目录同一级)
    根目录/a.php
    根目录/c.php 
    根目录/dir/d.php

    现在a.php中要包含b.php、c.php。写法如下:

<?php
include_once(dirname(__file__)."/../b.php");
include_once(dirname(__file__)."/c.php");
?>

    如果c.php中要包含d.php。写法如下:

<?php
include_once(dirname(__file__)."/dir/d.php");
?>

    此方式在目前来说是解决路径错位最有效的方法

时间: 2024-09-17 04:39:02

解决PHP相对目录问题最有效的办法的相关文章

解决js函数闭包内存泄露问题的办法_javascript技巧

本文通过举例,由浅入深的讲解了解决js函数闭包内存泄露问题的办法,分享给大家供大家参考,具体内容如下 原始代码: function Cars(){ this.name = "Benz"; this.color = ["white","black"]; } Cars.prototype.sayColor = function(){ var outer = this; return function(){ return outer.color };

PHP解决相对目录问题最有效的办法

经过搜集资料和多次测试发现,在其他web编程语言中相对路径都是以当前处理文件目录为基准,而在php中并非如此.php中相对路径是以当前工作目录为基准的,并非以当前处理文件目录为基准,这样在开发过程中带来了不少的麻烦.     用include或requice包含文件时,文件路径前都加上dirname(__file__).例如:现有a.php.b.php.c.php.d.php4个文件,他们关系为:     b.php(与根目录同一级)     根目录/a.php     根目录/c.php   

解决MySQL数据库目录ibdata1文件占用空间大问题

经常使用MySQL并启用了InnoDB引擎的时候,会发现数据库相应目录下,ibdata1这个文件会越来越大,并且即便删除表中数据也无法减小其空间占用.所以,接下来的配置就是为了解决这个问题. 1.先停止所有访问数据库的服务: 2.导出数据文件: mysqldump -u root -p dbname| gzip > dbname.sql.gz 该命令会将数据库压缩导出,会慢点,如果你数据库并不大的话,可以不用压缩,那么就是: mysqldump -u root -p dbname > dbna

解决IIS7虚拟目录出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题

今天在windows 7笔记本上搭建一个ASP.NET网络平台,启动IIS 7 时候出现错误: 错误摘要HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效.详细错误信息模块 IIS Web Core  通知 BeginRequest  处理程序 尚未确定  错误代码 0x80070005  配置错误 由于权限不足而无法读取配置文件   配置文件 \\?\C:\wwwroot\web.config  请求的 URL http:

解决PHP相对目录问题

  用include或requice包含文件时,文件路径前都加上dirname(__file__).例如:现有a.php.b.php.c.php.d.php4个文件,他们关系为:     b.php(与根目录同一级)    根目录/a.php    根目录/c.php     根目录/dir/d.php     现在a.php中要包含b.php.c.php.写法如下: <?phpinclude_once(dirname(__file__)."/../b.php");include

C盘无法访问怎么办?解决文件或目录损坏且无法读取的办法

电脑的C盘突然打不开了,而且里面的数据也提取不到了,总是显示无法访问C盘,参数不正确.文件或目录损坏且无法读取.这是怎么回事?是不是需要从装系统呢? 1.故障原因:C盘的文件系统变成了RAW格式. 2.用PE系统启动,然后启动"分区助手专业版"软件.一般的PE系统里面都有. 3.右键C盘,依次选"高级操作"--"检查错误" 4.在弹出的对话框中,选"使用CHKDSK检查分区错误",然后"确定". 5.下图是

CSS解决表格或图片内容将页面撑开的办法

css|解决|页面 在制作页面,添加资料的时候,可能会遇到这种情况,客户提供的表格数据太宽,把页面撑开了,我也遇到这样的问题,当我尽量给表格减肥,发现还是不行的时候,偶忽然想到了overflow:auto,这个属性. 在这个大的数据表格外面套一个div,class是box,页面源码 <div class="box"> <table> ...... </table> </div> css这样写 .box{width:520px; overf

解决Windows 7系统任务栏没有输入法的办法

Windows 7系统任务栏没有输入法电脑故障最常见的原因为软件冲突导致,一般重启电脑后即可恢复,如果重启电脑后问题依然没得到解决,您可以参考一下系统之家给您的步骤: 1.点击开始按钮,然后选择控制面板. 2.在控制面板界面打开区域和语言. 3.切换到键盘和语言标签,点击更改键盘,在语言栏选项中,勾选停靠于任务栏,确定即可. 如果这样还不能显示,那么你的电脑很可能中了病毒,建议查杀下病毒. 如果以上方法依然无法解决,那么您可以选择重新装输入法或者对系统进行还原或者重装均可以从根本上解决.如果还不

解决Win8.1使Surface耗电过快的办法

          如何解决Win8.1使SurfaceRT耗电过快?这个问题难倒了不少SurfaceRT用户,自从Windows8.1测试版发布后不少用户迫不及待试用,因为测试版都会存在这样那样的问题,因为SurfaceRT也就遇到了尴尬事,Win8.1使SurfaceRT耗电过快,如何解决?微软工作师出招:开启蓝牙就能解决SurfaceRT耗电过快问题. 如何解决Win8.1使Surface耗电过快 开启蓝牙就能解决 如何解决Win8.1使SurfaceRT耗电过快?这个问题难倒了不少Sur