当前位置: 首页 > 后端技术 > PHP

相对路径和绝对路径的理解和深入理解

时间:2023-03-29 21:32:38 PHP

什么是相对路径和绝对路径?上周的报告解决了一些问题,但也暴露了很多问题。其中之一是相对路径和绝对路径。对于使用xampp搭建服务器PHP来说,【相对路径】是指用户当前访问的文件,【绝对路径】是指文件htdocs。为什么不使用绝对路径?我听团队的其他成员谈论相对路径和绝对路径。实在是看不懂,后来也没用到,所以没去查,这也和之前不小心有关。刚开始只是把教程里的一些知识过一遍,并没有太大的印象。然后我在设置模板的时候报错,说找不到css文件,然后按照上面的进行。放在路径下的文件不报错,可以正常使用,所以不用管。为什么要使用绝对路径?开会的时候通过一次演示了解到了绝对路径的重要性,但是当时真的没有意识到。会后感觉教程里肯定会有这么重要的问题,然后翻了翻教程。这时候才意识到,如果不指定,原来是默认通过相对路径找到的css文件,所以就有了teacher_id为参数名的问题,所以如果使用相对路径,如下CSS/...将不再被认为是CSS样式,而是作为参数使用,那么会导致引用CSS样式失败。虽然我们通过地址找到了CSS样式文件,但是这个地址只有我们理解为Student的CSS样式文件,而在别人看来,这是Student控制器下的CSS方法,后面的报错也证实了这一点。因为我们在Student和Teacher控制器的V层引用了CSS样式,CSS/...是从控制器的后面出现的,自然而然的就被认为是控制器下的一个方法。我们看一下源码看看,源码在传递给浏览器的时候,只是传递给浏览器的“css/bootstrap.min.css”等,而不是具体的地址,而浏览器会根据路径thinkphp5/public/index/student/css来查找,这时候问题就暴露出来了,如果url路径发生变化,那么浏览器就会根据路径进行查找,就会出现一个问题找不到CSS样式文件,使用绝对路径可以避免这个问题。这是css文件的存放位置,绝对路径不受地址干扰,相对路径会受地址干扰。如果在public后面加上/index.php,或者像上面那样把student或者teacher后面的index删掉,直接css输入,就会报错。如果我们按照教程使用绝对地址,浏览器会根据绝对地址寻找CSS样式文件。此时路径改变不会导致CSS样式文件被引用。同时,即使我们把student后面的index.html删掉,像上面那样输入css,也不会出现像上面那样的文件问题。这时候会报“方法不存在的错误”,不会再像之前那样有歧义了。给团队协作带来麻烦。总结与反思开完会回宿舍真的很失落,但是开会应该做的事情没有把握住,而且最近的报告也总是出问题,有时觉得很难看到一些问题,或者自己不关心就搁置了,久而久之就造成了一些比较大的错误。事实上,我非常感谢这次机会。它让我有机会反思,让我知道解决问题和应用知识的重要性。幸运的是,这些问题已经暴露出来,不然以后还是不记得了,这次的收获还是挺大的。