牛骨文教育服务平台(让学习变的简单)
博文笔记

关于php的phar

创建时间:2016-07-12 投稿人: 浏览次数:882

自 PHP 版本 5.3.0 Phar 扩展成为了内置的组件

phar是一种类似于java的jar归档格式,这里我要提到的是phar 中文件、目录相关问题

如何判断phar中文件的是否存在呢,与普通文件系统一样,is_file也是有效的:

<?php
$pharPath="phar://D:\test\test.phar\path\to\file.php";
var_dump(is_file($pharPath));

那么在phar中,__FILE__, __DIR__分表返回什么呢?

<?php
var_dump(__FILE__, 
__DIR__,
 is_file(__DIR__),
 is_dir(__DIR__));

string(56) "phar://D:/xampp/htdocs/mvcjl/classpath/mvc.phar/test.php"
string(47) "phar://D:/xampp/htdocs/mvcjl/classpath/mvc.phar"
bool(false)
bool(true)

可以看到使用phar://协议时和使用本地文件夹一样,

__FILE__指向phar中的文件(phar协议)

__DIR__指向phar文件(phar协议)

phar://D:/xampp/htdocs/mvcjl/classpath/mvc.phar在phar协议下被视为一个文件夹,而不是文件
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。