一.绝对路径与相对路径
文件函数最常用的参数是什么?路径。而路径参数大致分两种:绝对路径和相对路径。
1)绝对路径 : 从盘开始的路径
写法如:"D:\www\app\index.php"(app项目中的index.php文件)
2)相对路径 : 以当前文件为基准所组成的路径
写法如: "./index.php"或"index.php"(index.php在当前文件夹下) 若在当前文件所在文件夹的上一级文件夹,则开始用"../"代表进入上一级文件夹
3)通过相对路径得到绝对路径
我喜欢用绝对路径,因为使用相对路径时,程序也是去匹配出绝对路径,有时候工作环境改变了,绝对路径比较不容易出错 。
php中有通过相对路径获得绝对路径的方法 realpath($path);
var_dump(realpath('index.php'));//string 'D:\www\app\index.php' (length=20)
二.获取绝对路径
获得绝对路径除了上面中的通过realpath相对路径 得到之外还有几种途径。
1)魔术变量 __FILE__
__FILE__可以获得当前文件的绝对路径
var_dump(__FILE__);//string 'D:\www\app\index.php' (length=20)
2)$_SERVER['DOCUMENT_ROOT']
$_SERVER['DOCUMENT_ROOT']获取的是服务器所在的根目录
var_dump($_SERVER['DOCUMENT_ROOT']);//string 'D:/www/' (length=7)
3)getcwd()
getcwd获取的是项目所在根目录,与$_SERVER['DOCUMENT_ROOT']有所不同的是:如果服务器根目录www下有多个项目,如app,example等,
$_SERVER['DOCUMENT_ROOT']都只会获取到服务器根目录,而getcwd()会获取到项目根目录,也就是index.php所在的目录。
var_dump(getcwd());string 'D:/www/app' (length=7)
三.获取远程文件路径
远程文件是指在别的服务器上的文件,不在同一工作区。
地址如:http://www.example.com/example.jpg
rmdir(),mkdir()等基本的文件操作只能操作当前工作环境的,而且需要权限。
远程文件基本都是只读的权限,可以用fopen($path,'r')或file_get_contents($path)等函数来读取,通过读取结果是否false也可以知道路径存不存在
而增加和删除,只能通过ftp函数来处理。