Php 尝试重命名上载的文件时出现未知的分析错误

Php 尝试重命名上载的文件时出现未知的分析错误,php,Php,我可以让用户上载文件并将其保存在文件夹中,但当我尝试使用以下命令重命名它时: $date = date('d/m/o!G:i'); rename("/var/www/html/Images/CommonImages/{basename($_FILES['postfile']['name'])}","/var/www/html/Images/CommonImages/{$_SESSION['username']}/{$date}.{$imageFileType}"); 它给了我这个解析错误: s

我可以让用户上载文件并将其保存在文件夹中,但当我尝试使用以下命令重命名它时:

$date = date('d/m/o!G:i');
rename("/var/www/html/Images/CommonImages/{basename($_FILES['postfile']['name'])}","/var/www/html/Images/CommonImages/{$_SESSION['username']}/{$date}.{$imageFileType}");
它给了我这个解析错误:

syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

可能这是愚蠢的…

不要试图在字符串中执行函数。。。使用串联:

更改:

"/var/www/html/Images/CommonImages/{basename($_FILES['postfile']['name'])}"
致:

您应该真正习惯于使用串联,而不是将变量放入字符串中。尽管PHP允许字符串中包含变量,但大多数其他语言不允许。在我看来,使用串联的代码要干净得多,因为您可以很容易地看到哪些部分是静态字符串,哪些部分是变量:

"/var/www/html/Images/CommonImages/" . $_SESSION['username'] . "/" . $date . "." . $imageFileType
可能重复的
"/var/www/html/Images/CommonImages/" . $_SESSION['username'] . "/" . $date . "." . $imageFileType