欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP中获取文件路径信息

程序员文章站 2022-05-10 08:46:05
...

一、先转载一部分内容

转载链接:http://blog.163.com/mark-_-chen/blog/static/108205226201131855758360/

转载内容:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

取的現在檔案、目錄、上層目錄於 test.php 內, 要做取得路徑、目錄等, 可見下述: 
取得 路徑 + 檔名 (要取得 /var/www/project/test.php) 
 * echo __FILE__;
取得 檔名 (要取得 test.php) 
 * echo basename(__FILE__);
取得 不含附檔名的檔名 (要取得 test) 
 * echo basename(__FILE__, '.php');
取得 到此目錄前的完整 PATH, 不含檔名 (要取得 /var/www/project) 
* echo dirname(__FILE__); 
取得 到上層目錄前的完整 PATH (要取得 /var/www) 
 * echo dirname(dirname(__FILE__)); 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、测试:
添加一个文件上传的案例,了解$_FILES的基本结构和信息:
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
	<form action="index.php" method="post" enctype="multipart/form-data" id="submitForm">
		<input type="file" name="uoloadFile" value="浏览" />
	<input type="submit" value="提交" />
	</form>
</body>
</html>
 接收文件上传的index.php:
<?php
print_r($_FILES)."<br />";
/*
Array ( 
[uoloadFile] => Array ( 
[name] => Chrysanthemum.jpg 
[type] => image/pjpeg 
[tmp_name] => C:\Windows\Temp\php7679.tmp 
[error] => 0 
[size] => 879394 ) ) 
*/
echo $_FILES['uoloadFile']['tmp_name']."<br />";//已经上传的文件路径
//C:\Windows\Temp\php7679.tmp

echo $_SERVER['DOCUMENT_ROOT']."<br />";
//D:/Program Files (x86)/Apache Software Foundation/PHPWorkspace

echo __FILE__."<br />";
//D:\Program Files (x86)\Apache Software Foundation\PHPWorkspace\Test\Test\index.php

//basename(path,suffix) 函数返回路径中的文件名部分。
//path:必需。规定要检查的路径。
//suffix:可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。
echo basename(__FILE__)."<br />";
//index.php

echo basename(__FILE__, '.php')."<br />";
//index

echo dirname(__FILE__)."<br />";
//D:\Program Files (x86)\Apache Software Foundation\PHPWorkspace\Test\Test

//dirname(path) 函数返回路径中的目录部分。path参数是一个包含有指向一个文件的全路径的字符串。该函数返回去掉文件名后的目录名。
echo dirname(dirname(__FILE__))."<br />";
//D:\Program Files (x86)\Apache Software Foundation\PHPWorkspace\Test
?>
 
三、 总结:
1、$_FILES的各个参数:
uoloadFile:为“文件上传控件type='file'”的input框的name值;
name:上传文件的名称(名称+拓展名)
type:上传文件的类型,是图片、文件还是别的
tmp_name:PHP将文件上传到服务器后临时保存的位置(在移走之前物理目录上找不到这个文件)
error:是否上传错误 0-表示上传成功
size:上传文件的大小
$_FILES返回的是个数组,说明可以批量上传文件。
通过$_FILES['uoloadFile']['tmp_name']可以获取到“指定文件上传控件”上传后的文件保存路径。
2、$_SERVER['DOCUMENT_ROOT']:获取当前运行脚本所在的文档根目录,也就是可以拿到当前项目所在的工作空间目录
3、__FILE__:当前运行脚本的绝对路径,精确到文件名称
4、basename(__FILE__):获取指定路径的文件名称,包括文件名称+拓展名
basename(path,suffix) 函数返回路径中的文件名部分。
path:必需。规定要检查的路径。
suffix:可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。
5、dirname(__FILE__):获取指定路径的上一级目录。因此,dirname(dirname(__FILE__))也就会返回指定路径的上上级目录。
dirname(path) 函数返回路径中的目录部分。path参数是一个包含有指向一个文件的全路径的字符串。该函数返回去掉文件名后的目录名。
相关标签: PHP中文件路径