简体   繁体   English

尝试重命名上传的文件时出现未知的解析错误

[英]Unknown Parse error when trying to rename an uploaded file

I can let a user upload a file and save it in a folder but when I try to rename it with: 我可以让用户上传文件并将其保存在文件夹中,但是当我尝试使用以下方式重命名它时:

$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}");

It gives me this this Parse error: 它给了我这个解析错误:

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

Probably it's something stupid... 也许这是愚蠢的...

Don't try to execute functions inside a string... Use concatenation: 不要尝试在字符串中执行函数...使用串联:

Change: 更改:

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

To: 至:

"/var/www/html/Images/CommonImages/" . basename($_FILES['postfile']['name'])

You should really get used to using concatenation instead of putting variables inside strings. 您应该真正习惯于使用串联,而不是将变量放在字符串中。 Even though PHP allows variables inside strings, most other languages do not. 即使PHP允许在字符串中使用变量,但大多数其他语言都不允许。 In my opinion, code is much cleaner with concatenation because you can easily see which parts are static strings and which parts are variables: 我认为,使用串联可以使代码更加简洁,因为您可以轻松地看到哪些部分是静态字符串,哪些部分是变量:

"/var/www/html/Images/CommonImages/" . $_SESSION['username'] . "/" . $date . "." . $imageFileType

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM