PHP 第九周函数学习记录
mkdir()
作用
mkdir() 函数创建目录。
如果成功该函数返回 TRUE,如果失败则返回 FALSE
用法
mkdir(path,mode,recursive,context)
path 必需。规定要创建的目录的名称。
mode 可选。规定权限。默认是 0777(允许全局访问)。
mode 参数由四个数字组成:
第一个数字通常是 0
第二个数字规定所有者的权限
第三个数字规定所有者所属的用户组的权限
第四个数字规定其他所有人的权限
可能的值(如需设置多个权限,请对下面的数字进行总计):
1 = 执行权限
2 = 写权限
4 = 读权限
recursive 可选。规定是否设置递归模式。(PHP 5 中新增的)
context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。(PHP 5 中新增的)
move_uploaded_file()
作用
move_uploaded_file() 函数把上传的文件移动到新位置。
如果成功该函数返回 TRUE,如果失败则返回 FALSE
用法
move_uploaded_file(file,newloc)
file 必需。规定要移动的文件。
newloc 必需。规定文件的新位置。
提示和注释
注释:该函数仅用于通过 HTTP POST 上传的文件。
注释:如果目标文件已经存在,将会被覆盖。
parse_ini_file()
作用
parse_ini_file() 函数解析一个配置文件(ini 文件),并以数组的形式返回其中的设置。
用法
parse_ini_file(file,process_sections)
file 必需。规定要检查的 ini 文件。
process_sections 可选。如果设置为 TRUE,则返回一个多维数组,包括了配置文件中每一节的名称和设置。默认是 FALSE。
提示和注释
提示:本函数可以用来读取您自己的应用程序的配置文件,与 php.ini 文件没有关系。
注释:有些保留字不能作为 ini 文件中的键名,包括:null、yes、no、true 和 false。字符 {}|&~![()" 也不能用在键名的任何地方
案例
// "test.ini" 的内容:
[names]
me = Robert
you = Peter
[urls]
first = "http://www.example.com"
second = "https://www.runoob.com"
// PHP 代码
<?php
print_r(parse_ini_file("test.ini"));
?>
结果
Array
(
[me] => Robert
[you] => Peter
[first] => http://www.example.com
[second] => https://www.runoob.com
)
pathinfo()
作用
pathinfo() 函数以数组的形式返回关于文件路径的信息。
返回的数组元素如下:
[dirname]: 目录路径
[basename]: 文件名
[extension]: 文件后缀名
[filename]: 不包含后缀的文件名
用法
pathinfo(path,options)
path 必需。规定要检查的路径。
options 可选。规定要返回的数组元素。默认是 all。
可能的值:
PATHINFO_DIRNAME - 只返回 dirname
PATHINFO_BASENAME - 只返回 basename
PATHINFO_EXTENSION - 只返回 extension
PATHINFO_FILENAME - 只返回 filename
提示和注释
注释:如果不是请求所有的元素,则 pathinfo() 函数返回字符串。
案例
<?php
print_r(pathinfo("/testweb/test.txt"));
?>
结果
Array
(
[dirname] => /testweb
[basename] => test.txt
[extension] => txt
[filename] => test
)
pclose()
作用
pclose() 函数关闭由 popen() 打开的进程。
如果失败,该函数返回 FALSE。
用法
pclose(pipe)
pipe 必需。规定由 popen() 打开的进程。
案例
<?php
$file = popen("/bin/ls","r");
//some code to be executed
pclose($file);
?>
popen()
作用
popen() 函数使用 command 参数打开进程文件指针。
如果出错,该函数返回 FALSE。
用法
popen(command,mode)
command 必需。规定要执行的命令。
mode 必需。规定连接模式。
可能的值:
r: 只读。
w: 只写(打开并清空已有文件或创建一个新文件)
案例
<?php
$file = popen("/bin/ls","r");
//some code to be executed
pclose($file);
?>
readfile()
作用
readfile() 函数读取一个文件,并写入到输出缓冲。
如果成功,该函数返回从文件中读入的字节数。如果失败,该函数返回 FALSE 并附带错误信息。您可以通过在函数名前面添加一个 '@' 来隐藏错误输出。
用法
readfile(filename,include_path,context)
filename 必需。规定要读取的文件。
include_path 可选。如果您还想在 include_path(在 php.ini 中)中搜索文件的话,请设置该参数为 '1'。
context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。
案例
<?php
echo readfile("test.txt");
?>
结果
There are two lines in this file.
This is the last line.
57
readlink()
作用
readlink() 函数返回符号连接的目标。
如果成功,该函数返回连接的目标。如果失败,则返回 FALSE。
用法
readlink(linkpath)
案例
<?php
echo readlink("/user/testlink");
?>
realpath()
作用
realpath() 函数返回绝对路径。
该函数删除所有符号连接(比如 '/./', '/../' 以及多余的 '/'),并返回绝对路径名。
如果失败,该函数返回 FALSE。
用法
realpath(path)
案例
<?php
echo realpath("test.txt");
?>
结果
C:Inetpubtestwebtest.txt
rename()
作用
rename() 函数重命名文件或目录。
如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
用法
rename(oldname,newname,context)
案例
<?php
rename("images","pictures");
?>
rewind()
作用
rewind() 函数将文件指针的位置倒回文件的开头。
如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
用法
rewind(file)
案例
<?php
$file = fopen("test.txt","r");
//Change position of file pointer
fseek($file,"15");
//Set file pointer to 0
rewind($file);
fclose($file);
?>
rmdir()
作用
rmdir() 函数删除空的目录。
如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
用法
rmdir(dir,context)
案例
<?php
$path = "images";
if(!rmdir($path))
{
echo ("Could not remove $path");
}
?>
set_file_buffer()
作用
set_file_buffer() 函数设置打开文件的缓冲大小。
使用 fwrite() 函数输出结果,缓冲的大小通常为 8K。因此,如果要将两个进程写入同一个文件,那么每个文件一次最多只能写进 8K 大小,且允许其他进程写入。如果 buffer 为 0,那么将不对写入操作进行缓冲(这意味着:只有在第一个写入进程全部完成之后,才能允许其他进程写入)。
如果成功,该函数返回 0,否则返回 EOF。
用法
set_file_buffer(file,buffer)
案例
// 创建无缓冲的流
<?php
$file = fopen("test.txt","w");
if ($file)
{
set_file_buffer($file,0);
fwrite($file,"Hello World. Testing!");
fclose($file);
}
?>
stat()
作用
stat() 函数返回关于文件的信息。
该函数将返回一个包含下列元素的数组:
[0] 或 [dev] - 设备编号
[1] 或 [ino] - inode 编号
[2] 或 [mode] - inode 保护模式
[3] 或 [nlink] - 连接数目
[4] 或 [uid] - 所有者的用户 ID
[5] 或 [gid] - 所有者的组 ID
[6] 或 [rdev] - inode 设备类型
[7] 或 [size] - 文件大小的字节数
[8] 或 [atime] - 上次访问时间(Unix 时间戳)
[9] 或 [mtime] - 上次修改时间(Unix 时间戳)
[10] 或 [ctime] - 上次 inode 改变时间(Unix 时间戳)
[11] 或 [blksize] - 文件系统 IO 的块大小(如果支持)
[12] 或 [blocks] - 所占据块的数目
用法
stat(filename)
案例
<?php
$stat = stat('test.txt');
echo 'Acces time: ' .$stat['atime'];
echo '<br />Modification time: ' .$stat['mtime'];
echo '<br />Device number: ' .$stat['dev'];
?>
结果
Access time: 1141633430
Modification time: 1141298003
Device number: 0
symlink()
作用
symlink() 函数创建一个从指定名称连接的现存目标文件开始的符号连接。
如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
用法
symlink(target,link)
提示和注释
注释:这不是一个 HTML 连接,而是一个文件系统中的连接。
注释:该函数不能在 Windows 平台上执行。
tempnam()
作用
tempnam() 函数在指定的目录中创建一个具有唯一文件名的临时文件。
该函数返回新的临时文件名,如果失败则返回 FALSE。
用法
tempnam(dir,prefix)
dir 必需。规定创建临时文件的目录。
prefix 必需。规定文件名的开头。
提示和注释
注释:如果指定的目录不存在,那么 tempnam() 会在系统的临时目录中生成一个文件。
提示:参见 tmpfile()。
案例
<?php
echo tempnam("C:inetpubtestweb","TMP0");
?>
结果
C:inetpubtestwebTMP1.tmp
tmpfile()
作用
tmpfile() 函数以读写(w+)模式创建一个具有唯一文件名的临时文件。
用法
tmpfile()
提示和注释
注释:临时文件会在文件关闭后(用 fclose())或当脚本结束后自动被删除。
案例
<?php
$temp = tmpfile();
fwrite($temp, "Testing, testing.");
//Rewind to the start of file
rewind($temp);
//Read 1k from file
echo fread($temp,1024);
//This removes the file
fclose($temp);
?>
结果
Testing, testing.
touch()
作用
touch() 函数设置指定文件的访问和修改时间。
如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
用法
touch(filename,time,atime)
filename 必需。规定要接触的文件。
time 可选。设置时间。默认设置为当前系统时间。
atime 可选。设置访问时间。如果参数未设置或设置为与 time 参数相同,则默认设置为当前系统时间。
提示和注释
注释:如果指定的文件不存在,则会被创建。
案例
<?php
touch("test.txt");
?>
umask()
作用
umask() 函数改变文件的文件权限。
该函数把 PHP 的 umask 设置为 mask & 0777 并返回原来的 umask。然而,如果您调用 umask() 时不带参数,则会返回当前的 umask。
用法
umask(mask)
mask 可选。规定新的权限。默认是 0777。
mask 参数由四个数字组成:
第一个数字通常是 0
第二个数字规定所有者的权限
第三个数字规定所有者所属的用户组的权限
第四个数字规定其他所有人的权限
可能的值(如需设置多个权限,请对下面的数字进行总计):
1 = 执行权限
2 = 写权限
4 = 读权限
unlink()
作用
unlink() 函数删除文件。
如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
用法
unlink(filename,context)
filename 必需。规定要删除的文件。
context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。
实例
<?php
$file = "test.txt";
if (!unlink($file)) {
echo ("Error deleting $file");
} else {
echo ("Deleted $file");
}
?>
来源
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: