PHP中获取文件路径信息

一、先转载一部分内容

转载链接: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参数是一个包含有指向一个文件的全路径的字符串。该函数返回去掉文件名后的目录名。

猜你喜欢

转载自1017401036.iteye.com/blog/2300977