В чем разница между delete() и unlink() в PHP

Когда я начал искать "Как удалить файл в PHP" Решение, которое я получил почти повсюду, это "unlink()"

Но в w3schools я встретился с другой функцией с именем delete(). Вот ссылка удалить() функцию w3schools

И я начал заниматься серфингом по поводу delete(), но не получил много ответов.

Это вопрос, похожий на мой вопрос в stackoverflow. Разделение между unink() и delete() в unix

Мне действительно хотелось бы узнать разницу и сходство между этими двумя функциями. Почему мы используем unlink() вместо delete().

Ответы

Ответ 1

delete() функция не существует, поскольку php docs говорит

Это фиктивная ручная запись, чтобы удовлетворить тех, кто смотрит для unlink() или unset() в неправильном месте.

была создана фиктивная ручная запись, чтобы поймать любого, кто ищет функцию, которую они предполагают существовать, но на самом деле не существует, а затем направляет их к правильной функции.

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

Ответ 2

php - это C-подобный язык - синтаксис подобен, большинство функций в PHP вытаскиваются из стандартных библиотек C (и POSIX)

"unlink" - это функция C. (первоначально POSIX, но в последнее время стандартизован ISO как _unlink)

"delete" - это команда CP/M, которая аналогична команде "эры" CP/M

Unlink ссылается на основную команду UNIX, unlink, которая удаляет символическую или жесткую ссылку на файл, не обязательно сам файл. Файл удаляется только при удалении всех ссылок на файл.

Ответ 4

в Php, delete() - фиктивный ручной ввод, чтобы удовлетворить тех людей, которые ищут unlink() или unset() в неправильном месте.

"Фиктивная запись" - это "поддельная" запись или, в этом случае, запись для команды, которая фактически не существует, чтобы люди могли найти правильный.

Подробнее см.: php.net-manual-function.delete

Ответ 6

Ссылка:

Удален большой файл, но не наблюдается увеличения свободного места или уменьшения использования диска? Использование UNIX или другой ОС POSIX?

Функция unlink() не касается удаления файла, а об удалении имени файла. В manpage говорится: `` unlink - удалить имя и, возможно, файл, на который он ссылается '.

В большинстве случаев файл имеет только одно имя - его удаление также удалит (освободит, освободит) файл body (с одним оговоркой, см. ниже). Это простой, обычный случай.

Однако для файла достаточно отлично иметь несколько имен (см. функцию link()) в тех же или разных каталогах. Все имена будут ссылаться на тело файла и "держать его в живых", так сказать. Только когда все имена удаляются, тело файла фактически освобождается.

Ответ 7

Удалить не является основной функцией 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.");