当我开始搜索“如何在PHP中删除文件”时,几乎到处都给出了“unlink()”的解决方案。
但是在W3school上,我遇到了另一个名为delete()的函数。这是那个链接 delete()函数w3schools
然后我开始搜索delete(),但没有得到太多答案。
这是类似于我在stackoverflow上提出的问题... 在Unix上unlink()和delete()之间的区别
我真的想知道这两个功能之间的差异和相似之处...为什么我们使用unlink()而不是delete()。
当我开始搜索“如何在PHP中删除文件”时,几乎到处都给出了“unlink()”的解决方案。
但是在W3school上,我遇到了另一个名为delete()的函数。这是那个链接 delete()函数w3schools
然后我开始搜索delete(),但没有得到太多答案。
这是类似于我在stackoverflow上提出的问题... 在Unix上unlink()和delete()之间的区别
我真的想知道这两个功能之间的差异和相似之处...为什么我们使用unlink()而不是delete()。
delete()
函数并不存在,正如php文档所述。
这是一个虚假手册条目,旨在满足那些寻找错误的unlink()或unset()函数的人们。
创建了一个虚假手册条目以捕捉任何认为存在但实际上并不存在的函数,并引导他们找到正确的函数
PHP是一种类似于C语言的语言 - 语法相似,PHP中的大多数函数来自于C标准库(和POSIX)。
"unlink"是一个C函数。 (最初是POSIX,但最近被ISO标准化为_unlink)
"delete"是一个CP/M命令,与"era" CP/M命令相同。
Unlink指底层UNIX命令unlink,它删除文件的符号或硬链接,不一定是文件本身。 只有当所有链接到文件的链接都被删除时,才会删除该文件。
delete()
是一个虚假的手动输入项,旨在满足那些在错误位置寻找unlink()
或unset()
的人。删除并不是 PHP 的核心函数,而 unlink 是 PHP 的核心函数。
<?php
print "Below examples clear the diff between unlink and delete";
/* There is file abc.txt in foo DIR */
/*
* Operation 1: Use delete function
* Operation 2: Use unlink function
*
*/
$path = $_SERVER['DOCUMENT_ROOT'] ."/foo/abc.txt";
## Uncomment to print the path
//print "Path = ". $path;
## Uncomment to see what delete throws an output
//delete($path) or die("I have some problem here");
/* output: Here it will show ... delete is not a function */
unlink($path) or die("File is not deleted. Specify some valid path till file.");
删除了一个大文件,但是没有看到可用空间增加或磁盘使用量减少?正在使用UNIX或其他POSIX操作系统?
unlink() 不是关于删除文件,而是关于删除文件名。man页上说:“unlink - 删除名称及其所指向的可能是文件。”
大多数情况下,一个文件只有一个名称 - 删除它也将删除(释放,解除分配)文件的“主体”(有一个例外,请参见下面)。这是简单、通常的情况。
然而,一个文件可以有几个名称(请参见link()函数),在同一目录或不同目录中。所有名称都将引用文件主体并“保持其活动状态”,也就是说。只有当所有名称都被删除时,文件主体实际上才被释放。
unlink()
或unset()
的人。" - Funk Forty Niner