Почему функция unlink() не видит файл?

115
02 апреля 2021, 17:50

Хочу удалить файл из папки так как папок и файлов много я подставляю их имена через переменную unlink('files/$loc/cards/$name.php');, но функция unlink не видит их, хотя если вставить так unlink('files/moduli/cards/card.php'); все работает, скажите в чем моя ошибка?

Answer 1

Из мануала https://www.php.net/manual/ru/language.types.string.php:

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

и

Cамым важным свойством строк в двойных кавычках является обработка переменных.

Итог:

// Выводит: Переменные $expand и $either не разворачиваются
echo 'Переменные $expand и $either не разворачиваются';

а вот так нужно:

echo "Значения в переменных $expand $either отобразятся!!!";
Answer 2

Что бы переменные были видны в кавычках нужно использовать двойные кавычки.

unlink("files/$loc/cards/$name.php");

Answer 3

Нужно это все написать в двойных кавычках

unlink("files/$loc/cards/$name.php");

Но если хочешь в одинарных кавычках. То можно и так

unlink('files/'.$loc.'/cards/'.$name.'.php');

READ ALSO
Netty-сервер не принимает пакеты от Netty-клиента

Netty-сервер не принимает пакеты от Netty-клиента

Такая проблема - имеется сервер, работающий с Netty (используется порт 7755), и принимающий данные в формате JSON (используется Netty >= 41 и JsonObjectDecoder),...

134
Изометрия не получается

Изометрия не получается

Понимаю, что таких тем уже множество, но не одна из них не дала четкое понятие и примера, я пытался сделать его сам из кусков в описаниях этих...

106
Передача параметра через ссылку в подключаемый JS

Передача параметра через ссылку в подключаемый JS

Есть скрипт, который подключается к двум страницам, но выполнение должно отличаться в зависимости от страницыВозможно ли при подключение,...

141