我正在尝试为上传文件创建一个随机的foldername。 文件夹路径应为" receivedfiles / $ name $ date / "。相反,我得到这个:" receivedfiles /。 2016年6月13日/ &#34 ;.我真的不知道出了什么问题......
变量$ name是用户输入,可以是例如"西蒙"或者" Simon Jensen"取决于用户想要的内容。
$d = date('d.m.y');
$varfoldername = "../receivedfiles/. $name . $d ./";
mkdir($varfoldername , 0777 , true);
$upload_folder = $varfoldername;
感谢我帮助我从上面的代码中删除了点,请参阅下面的代码,其中只列出具有日期的文件夹。
$name = $_POST['name'];
$d = date('d.m.y');
$varfoldername = "../receivedfiles/$name$d/";
mkdir($varfoldername , 0777 , true);
$upload_folder = $varfoldername;
解决方案: $ name稍后在脚本中首次指定。移动它顶上解决了部分问题。如上所述更改了文件夹路径解决了其余问题 - 谢谢大家:)
答案 0 :(得分:0)
嗯,额外的点是因为你没有正确连接。第二行应该是
$varfoldername = "../receivedfiles/" . $name . $d . "/";
或者您可以删除字符串中的点,因为您使用双引号作为文件夹名称值。
答案 1 :(得分:0)
。问题是这是来自发送电子邮件表单的代码。电子邮件在下面编写,fileupload在上面。所以当然变量在那条线上并不知道。
非常,你已经在问题中写了解决方案
$varfoldername = "../receivedfiles/$name$date/";
因为它是双引号的PHP解释$ ..作为变量并打印其内容
顺便说一句,打印$ varfoldername以查看输出是什么
答案 2 :(得分:0)
首先,您需要检查$name
变量是否为空。
然后,使用sprintf
创建路径。它提供更灵活的格式,并帮助您摆脱冗余空格/点/等。试试这个:
$varfoldername = sprintf('../receivedfiles/%s%s/', $name, $d);