我将上传的文件从临时目录移动到永久存档时遇到麻烦...请查看我的代码。我可能会遗漏一些东西,因为代码似乎不起作用。它直接跳转到if语句的else部分
<?php
$submit =$_POST['submit'];
if (isset($submit))
{
$tittle =$_POST['songTitle'];
$song = $_FILES['song']['name'];//song name
$target= 'audios/uploads'.$song;
move_uploaded_file($_FILES['song']['tmp_name'], $target);// gets file from temp directory and moves it to permanent folder
if(move_uploaded_file($_FILES['song']['tmp_name'], $target))
{
echo "succcessful";
} else{
echo 'failed';
}
}
&GT;
答案 0 :(得分:1)
您的目标目录应该是您需要在目标目录的末尾添加“/”,并且您应该授予文件夹上传目录的权限
$target= 'audios/uploads/'.$song;
一旦你写了move_uploaded_file,它就会把你的文件从tmp目录移动到你的目标目录。
你做到了,但是如果有条件你再次检查了。 如果filename是有效的上载文件,但由于某种原因无法移动,则不会执行任何操作,并且move_uploaded_file()将返回FALSE。
所以你的情况总是打印假,你只需要写一次。
你的最终代码看起来像这样
<?php
$submit =$_POST['submit'];
if (isset($submit))
{
$tittle =$_POST['songTitle'];
$song = $_FILES['song']['name'];//song name
$target= 'audios/uploads/'.$song;
if(move_uploaded_file($_FILES['song']['tmp_name'], $target))
{
echo "succcessful";
} else{
echo 'failed';
}
}
?>
希望这有帮助。