unlink()函数无法处理变量


unlink() function not working with variables?

我在从目录中取消文件链接时遇到一些问题。我会尽力解释清楚的。

我试图从目录中删除一个文件,首先我从数据库中获得文件名,存储在字段"avatar"中。

这些是我参与的vars:

$avatar1=mysqli_query($con,"Select avatar from users where user='$_SESSION[Username]'");
$avatar2=mysqli_fetch_array($avatar1);
$avatardirectory = $avatar2['avatar']; //(missunderstanding name, its actually a file).

到目前为止,当我的用户是hodor时打印$avatardirectory时,它显示"hodor.png"

好吧,这是令人讨厌的部分,我试着用这个:

unlink('/var/www/html/test/img-gallery/$avatardirectory'); //This wont work.

然后我只做同样的事情,但使用文件名:

unlink('/var/www/html/prueba/img-gallery/hodor.png'); //This actually works.

现在我完全迷失了方向。

变量不会在单引号字符串中展开。

你可能想看看中的差异

 echo '/var/www/html/test/img-gallery/$avatardirectory'

 echo "/var/www/html/test/img-gallery/$avatardirectory"

请注意,unlink()删除的是文件,而不是目录。使用rmdir()删除(一个空的)目录。(尽管听起来$avatardirectory包含文件名,而不是目录(?))