有一个php文件存放在D,遇到一个文件路径的有关问题,求教

遇到一个文件路径的问题,求教。

遇到了和该帖楼主一样的问题http://hi.baidu.com/linywh/item/1ae8ac335f0d4ef8e6bb7a73

我的项目文件夹结构是这样的

|――images

|――include

&nbsp |――class

&nbsp |――config

&nbsp |――function

|――index.php

在config文件夹中有一个配置文件config.php class文件夹中有一个文件mysql.class.php   我在        config.php中使用require_once("../class/mysql.class.php");

而后我 又在index.php中使用require_once ("include/config/config.php");

这时它就提示我错误

Warning: require_once(../class/mysql.class.php) [function.require-once]: failed to open stream: No such file or directory in E:\www\blog\include\config\config.php on line 13

Fatal error: require_once() [function.require]: Failed opening required '../class/mysql.class.php' (include_path='.;C:\php5\pear') in E:\www\blog\include\config\config.php on line 13

照常向我这样的初学者、小菜鸟有百度谷歌逛了一下,找了一个方法dirname(__FILE__)用来获得当前文件夹的绝对路径.和dirname()的嵌套使用dirname(dirname(__FILE__))获得上一层目录于是我就改了我config.phpd require_once语句

改为require_once(dirname(dirname(__FILE__))."../class/mysql.class.php");

接着在index.php中引用config.php就不会出现错误

我按照那个帖子的方法做了,问题解决了,但是我还是不能理解为什么不出错了?在我这,这两个文件路径输出出来分别是这样的:

D:\web\graduatesManagement../class/Database.class.php

D:\web../class/Database.class.php

这两个路径实在是看不懂,求各位帮忙解答一下,谢过。

文件路径

分享到:

------解决方案--------------------

include的操作可以看作只是把代码插进来,无论嵌套多少层,最终会进入主文件

所以,文件路径是以主文件所在路径(执行路径)为基础的,相对路径也以此计算出来

抓住这条原则就够了,善用__DIR__,__FILE__,realpath(),$_SERVER等常量、变量和函数

------解决方案--------------------

你要确定当前执行的目录是哪里,可以使用getcwd来确定下当前的执行路径在哪里,因为有时候是可以通过chdir可以改变当前路径的。

另外也就是楼上说的,在没有使用chdir时,都是以最开始的文件为主文件(通常是index.php),也就是说大多数是getcwd的路径等于主文件所在路径,相当路径也要以此为相对路径的基础。

而使用了dirname(__FILE__)是当前执行文件的路径,在以此为基础在拼合绝对路径,就和主文件的路径没有关系了,而是真实的绝对路径。

所以建议在以后的代码中,能使用绝对路径的话,就别使用相对路径了。

Android懒加载WebView可以通过Fragment的方式来实现,具体步骤如下: 1. 在布局文件中添加一个FrameLayout用于显示WebView。 2. 创建一个继承自Fragment的类,重写onCreateView()方法,在该方法中加载WebView,并使用setUserVisibleHint()方法来判断是否需要加载WebView。 3. 在Activity中,使用ViewPager来实现选项卡效果,每个选项卡对应一个WebViewFragment。 4. 在ViewPager的OnPageChangeListener中,通过调用WebViewFragment的setUserVisibleHint()方法来判断是否需要加载WebView。 下面是一些常见问题的解答: 1. 如何判断WebView是否需要重新加载? 可以在WebViewFragment中保存一个boolean类型的变量,用来表示WebView是否已经加载过。在setUserVisibleHint()方法中判断该变量的值,如果为false,则加载WebView,否则不做任何操作。 2. 如何处理WebView的缓存? 可以在WebView的设置中设置WebViewClient,重写shouldInterceptRequest()方法,在该方法中判断是否需要使用缓存。例如,可以将静态资源缓存在本地,每次加载时先判断本地是否有缓存,如果有则直接加载本地缓存,否则重新从网络上加载。 3. 如何处理WebView的内存泄漏? 可以在WebViewFragment中重写onDestroyView()方法,调用WebView的destroy()方法来销毁WebView,确保WebView的资源被释放。同时,在Activity中,可以通过调用System.gc()方法来触发垃圾回收,释放WebView占用的内存。 希望以上内容能够对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值