PHP在Linux环境下根目录怎么理解?

WBOY
풀어 주다: 2016-06-06 20:14:59
원래의
1456명이 탐색했습니다.

之前都是在windows下做开发,最近开始了linux之旅,被路径的问题搞晕了。
之前理解的“/”就是项目根目录,随便怎么写,不会跑出项目范围,除非写“D:/xxx”这样的路径,会对应到具体的盘符下的文件。

现在看到linux下原项目用的file_exists("/xxx"),直接指到系统根目录去了。而header("Location:/xxx")又是指的项目目录,实在是有点头晕了。

谁能指点一番么?多谢~

回复内容:

之前都是在windows下做开发,最近开始了linux之旅,被路径的问题搞晕了。
之前理解的“/”就是项目根目录,随便怎么写,不会跑出项目范围,除非写“D:/xxx”这样的路径,会对应到具体的盘符下的文件。

现在看到linux下原项目用的file_exists("/xxx"),直接指到系统根目录去了。而header("Location:/xxx")又是指的项目目录,实在是有点头晕了。

谁能指点一番么?多谢~

我觉得你是被自己搞晕了。file_exists这种类型的属于文件操作,使用的路径是操作系统的路径,而header("Location:...")这种是url操作,使用的路径是web路径(就是基于当前域名的)。
通常在配置网站的时候,比如apache会让你指定域名对应的文件系统路径,如
Server www.example.com
Documentroot /var/www/example/public
此时 header('Location: /user/index.php') 是指 www.example.com/user/index.php
如果你想编辑www.example.com/user/index.php对应的文件呢,那么应该在 /var/www/example/public/user/index.php

关于路径,windows和linux的唯一区别就是盘符,但是对于'/'的解释是一致的,例如dos下面
c:/> e:
e:/> cd www/abc
e:/www/abc/> cd / e:/>

Linux中的“/”就和你说的“除非写“D:/xxx”这样的路径”一个性质

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿