PHP中的delete()和unlink()有什么区别

时间:2014-08-26 05:44:38

标签: php file-io unlink

当我开始搜索“如何在PHP中删除文件”时我几乎无处不在的解决方案是“unlink()”

但是在w3schools我遇到了另一个名为delete()的函数。这是链接 delete() function w3schools

我开始浏览删除()但没有得到多少答案..

这是类似于我在stackoverflow上的问题的问题.. DIfferent between unlink() and delete() on unix

我真的想知道这两个函数之间的区别和相似之处。为什么我们使用unlink()而不是delete()。

7 个答案:

答案 0 :(得分:15)

delete()功能不存在,如php文档所述

  

这是一个虚拟的手动条目,以满足那些正在寻找的人   unlink()或unset()在错误的地方。

创建一个虚拟手动条目以捕获任何正在寻找他们认为存在但不存在的函数的人然后引导他们到正确的函数

http://php.net/manual/en/function.delete.php

答案 1 :(得分:5)

php是一种C语言 - 语法类似, PHP中的大多数函数都是从C标准库(和POSIX)中提取的

"取消关联"是一个C函数。 (最初是POSIX,但最近由ISO标准化为_unlink)

"删除"是一个CP / M命令,它与" era"相同。 CP / M命令

Unlink指的是基础UNIX命令unlink,它删除了文件的符号或硬链接,不一定是文件本身。只有删除了文件的所有链接后才会删除该文件。

答案 2 :(得分:3)

根据php.net删除不是php中的函数。使用unlink函数删除文件。 http://php.net/manual/en/function.delete.php

答案 3 :(得分:2)

在Php中,delete()是虚拟手动输入,以满足那些在错误位置寻找unlink()unset()的人。

A"虚拟条目"是假的"在这种情况下,或者是一个实际上不存在的命令的条目,以便人们可以找到正确的命令。

在此处查看更多详情:php.net-manual-function.delete

答案 4 :(得分:1)

php

中没有删除功能

参考http://php.net/manual/en/function.delete.php

我们必须使用unlink删除文件

答案 5 :(得分:1)

Reference :

删除了一个大文件但是没有增加可用空间或减少磁盘使用量?使用UNIX或其他POSIX OS?

unlink()不是关于删除文件,而是关于删除文件名。该联机帮助页说:``unlink - 删除一个名称,可能还有它引用的文件''。

大多数情况下,文件只有一个名称 - 删除它也会删除(释放,释放)文件的“正文”(有一点需要注意,见下文)。这是一个简单的常见案例。

但是,文件在相同或不同的目录中具有多个名称(请参阅link()函数)是完全正确的。所有名称都将引用文件正文并“保持活着”,所以说。只有删除了所有名称后,才会释放文件正文。

答案 6 :(得分:1)

删除不是核心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.");