一、先转载一部分内容:
转载链接: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__));
* 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,则不会输出这个扩展名。
path:必需。规定要检查的路径。
suffix:可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。
5、dirname(__FILE__):获取指定路径的上一级目录。因此,dirname(dirname(__FILE__))也就会返回指定路径的上上级目录。
dirname(path) 函数返回路径中的目录部分。path参数是一个包含有指向一个文件的全路径的字符串。该函数返回去掉文件名后的目录名。