<?php
print_r($_FILES);
$new_image_name = "namethisimage.jpg";
move_uploaded_file($_FILES["file"]["tmp_name"], "C:\Program Files\wamp\www\workspace\DiaryApp\upload\".$new_image_name);
?>
请帮我解决错误我是php的新手
答案 0 :(得分:5)
转发路径参数\
中的最后一个move_uploaded_file()
。
"C:\Program Files\wamp\www\workspace\DiaryApp\upload\\"
否则,您实际上是在转义结束字符串分隔符"
并将其作为literal double-quote添加到字符串中。这意味着字符串在与以下变量$new_image_name
连接之前不会终止,从而导致您指定的错误。
答案 1 :(得分:2)
您需要将最后一行更改为:
move_uploaded_file($_FILES["file"]["tmp_name"], "C:\\Program Files\\wamp\\www\\workspace\\DiaryApp\\upload\\".$new_image_name);
以便转义路径名中的所有反斜杠
答案 2 :(得分:2)
在文件路径中使用正斜杠/。这将适用于Windows。另外,将这些路径写入变量。你真的不想要这些硬编码。
答案 3 :(得分:1)
我可以看到你是新人(并不是说这是一个问题,每个人都必须流失;)
一个\
是php的通知,它将会提供一个特殊字符
例如\ n \ r \“\'
这就是为什么你必须“逃避”你的\
。
<?php
print_r($_FILES);
$new_image_name = "namethisimage.jpg";
move_uploaded_file($_FILES["file"]["tmp_name"], "C:\\Program Files\\wamp\\www\\workspace\\DiaryApp\\upload\\".$new_image_name);
?>
只有当您在“(双引号)之间播放字符串时才会这样。
您也可以将它们放在'(单引号)之间,然后您不能将它们转义。
的 ==&GT;不是,你必须总是逃避\
<?php
print_r($_FILES);
$new_image_name = "namethisimage.jpg";
move_uploaded_file($_FILES["file"]["tmp_name"], 'C:\\Program Files\\wamp\\www\\workspace\\DiaryApp\\upload\\'.$new_image_name);
?>
这对教育非常有用:
所以我在这里思考:“”&amp; '?“。
好吧“”你可以在引号之间放置变量,例如
<?php
$str="string";
echo "this is a $str.";
?>
输出结果为:这是一个字符串。
'',所有字符都按字面意思
<?php
$str="string";
echo 'this is a $str.';
?>
输出将是:这是$ str。