PHP file://
phpserver side programmingprogramming
简介
借助 PHP 中提供的相应内置包装器,各种 URL 风格的协议都可以与文件系统函数一起使用。stream_wrapper_register() 函数也可用于定义自定义包装器。
PHP 中的默认包装器是 file://,它代表本地文件系统。如果没有明确使用其他协议,PHP 解析器会将其视为文件系统包装器。传递给文件系统函数 fopen()、file_get_contents() 等的 filename 参数默认使用 file:// 协议。
当文件名不以正斜杠或反斜杠开头,或 Windows 中的驱动器号开头时,其路径将被视为相对于当前目录的路径。但是,在 fopen() 和 file_get_contents() 函数中,文件名可能会在 include_path 指令中指定的位置进行搜索。
file:// 包装器支持同时执行读写操作、创建和删除目录以及重命名文件。此外,文件访问不受 php.ini 配置设置中的 allow_url_fopen 指令的限制。
示例
文件名的不同表示方式如下 −
//绝对路径
$file=fopen("C:/xampp/php/test/test.txt","w");
//相对路径(假设当前工作目录为 c:\xampp\php,文件在 tst 子目录中打开)
$file=fopen("test/test.txt","w");
//当前路径。文件将在 c:\xampp\php\test 目录中打开,并假设其为当前目录
$file=fopen("test.txt","w");
//使用 file://protocol 作为绝对路径
$file=fopen("file:///c:/xampp/php/test/test.txt","w");
//使用 file://protocol 访问文档根目录中的文件
$file=fopen("file://localhost/test/test.txt","w");