使用php无法上传简单文件

时间:2013-11-21 21:38:47

标签: php

我制作了一个简单的上传文件并更新了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

1 个答案:

答案 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);