我制作了一个简单的上传文件并更新了mysql,它没有做任何事情。页面重新加载,没有文件上传,也没有更新到mysql。可能有些事情我不明白。
<?php
include 'datalogin.php';
if (isset($_POST['submit1']))
{
move_uploaded_file ($_FILES['uploadfile'] ['tmp_name'], "verification/{$_FILES['uploadfile'] ['name']}");
$insert = "UPDATE members SET id_verification = '". $_FILES['uploadfile']['name']."' WHERE members_id = 1";
$add_member = mysql_query($insert);
header('Location: members.php');
exit();
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
<table width="450" border="0" cellspacing="0" align="center" >
<tr>
<td>Upload file <input type="file" name="uploadfile" value="Browse" /></td>
</tr>
<tr>
<td><input type="submit" name="submit1" value="UPDATE" /></td>
</tr>
</table>
</form>
文件夹“验证”是CHMOD 777
答案 0 :(得分:0)
这可能会或可能不会解决您的问题,但是在您的评论中建议将enctype="multipart/form-data"
添加到您的表单标记(如David Nguyen)后(这是以HTML格式上传文件时需要),请检查目的地字符串。
"verification/{$_FILES['uploadfile'] ['name']"
我强烈建议你不要将数组放在这样的引号内,它会产生意想不到的结果,因为在数组键名之间会有一个空格。试试这个:
"verification/" . $_FILES['uploadfile']['name']
如果您在此之后仍然遇到问题,请为您的move_uploaded_file
函数分配一个变量并输出var_dump - 很可能是您的目标文件夹没有设置权限而且它失败了,因为它无法复制文件有:
$upload = move_uploaded_file(...
var_dump($upload);