php如何获取文件的绝对路径
时间:2016-08-24
在php项目开发中,我们有时候需要获取一个文件的绝对路径,这个时候该如何实现呢,其实很简单,在php中有一个内置文件函数可以获取文件的绝对路径,这个函数是realpath(),本文章向大家介绍如何使用realpath获取文件的绝对路径,需要的朋友可以参考一下。
下面先来看一下如何使用realpath函数获取文件的绝对路径:
<?php
$imgPath = "./readme.txt";
$absolutePath = realpath($imgPath);
/* http://www.manongjc.com/article/1395.html */
echo $absolutePath;
?>
运行结果:
C:\wamp\www\xuexiao\readme.txt
接着我们来了解一下realpath函数:
PHP realpath路径函数会检测$path指向的目标文件(或文件夹)是否真实存在,相当于调用了file_exists($path)。如果目标文件存在且不是符号连接(windows下叫“快捷方式”),则返回该文件的绝对路径名,且不包含’/./’ 或 ‘/../’。如果目标文件是符号连接或不存在,则realpath()返回FALSE。
realpath函数基本语法和参数如下:
realpath — 返回规范化的绝对路径名
语法:
string realpath ( string $path )
realpath() 扩展所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分。
参数:
- path 要检查的路径。
返回值:
如果目标文件存在且不是符号连接(windows下叫“快捷方式”),则返回该文件的绝对路径名,且不包含’/./’ 或 ‘/../’。如果目标文件是符号连接或不存在,则realpath()返回FALSE。
realpath() 失败时返回 FALSE ,比如说文件不存在的话。
注意:因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型,对 2GB 以上的文件,一些文件系统函数可能返回无法预期的结果 。
- JAVA增删改查XML文件
- javascript去掉字符串前后空格
- 构建通用的 React 和 Node 应用
- 有趣的 CSS 像素艺术
- 【插件开发】—— 11 窃听风云(Java事件监听原理-GEF实例讲解)
- 【面试虐菜】—— JAVA面试题(2)
- JavaMelody监控spring、struts
- 《JavaScript语言精粹》—— 读书总结
- 视差滚动技术的简介及运用
- 【面试虐菜】—— JAVA面试题(3)
- Carousel 旋转画廊特效的疑难杂症
- 区块链为IBM与Visa等老牌公司注入新的生机
- 【java.lang.UnsupportedClassVersionError】版本不一致出错
- Yeoman 官网教学案例:使用 Yeoman 构建 WebApp
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 04.Android崩溃Crash库之Loop拦截崩溃和ANR
- [源码分析] 从实例和源码入手看 Flink 之广播 Broadcast
- [源码分析] 从FlatMap用法到Flink的内部实现
- [白话解析] 通俗解析集成学习之bagging,boosting & 随机森林
- [源码分析] 带你梳理 Flink SQL / Table API内部执行流程
- 从"UDF不应有状态" 切入来剖析Flink SQL代码生成
- [源码分析]从"UDF不应有状态" 切入来剖析Flink SQL代码生成 (修订版)
- [白话解析] 通俗解析集成学习之GBDT
- [源码解析]为什么mapPartition比map更高效
- [记录点滴]Redis实现简单消息队列
- [源码解析] Flink的groupBy和reduce究竟做了什么
- [记录点滴]在Ionic和Android中上传Blob图片
- [源码解析] GroupReduce,GroupCombine 和 Flink SQL group by
- [记录点滴] 小心 Hadoop Speculative 调度策略
- [白话解析] 通过实例来梳理概念 :准确率 (Accuracy)、精准率(Precision)、召回率(Recall)和F值(F-Measure)