从html表单上传PHP文件

时间:2018-01-31 11:34:52

标签: php

有人可以看看这个吗? 我正在尝试使用php将一个非常基本的文件上传到我的项目目录中的文件夹。这就是我把它放在一起,但它只是没有用。我已经在php.ini中启用了文件上传,我的本地服务器工作正常。

我正在使用OSX并在带有apache的localhost上运行。我想知道你是否应该上传到机器上的文件。我不确定您是否可以上传到项目中的文件夹。

这是错误: 警告:move_uploaded_file():copy()函数的第二个参数不能是第14行/Users/jakeaddis/sites/file_copy/index.php中的目录

警告:move_uploaded_file():无法在第14行的/Users/jakeaddis/sites/file_copy/index.php中将'/ private / var / tmp / phpAHX3Ak'移动到'uploads /'

<!DOCTYPE html>
<?php


if(isset($_POST["submit"])){

    $file_name = $_FILES["upload"]["name"];
    $file_size = $_FILES["upload"]["size"];
    $tempname = $_FILES['upload']['tmp_name'];


    if(move_uploaded_file($tempname, "uploads/" . $file_name)) {
        echo "Sucessful!";
    } else {
        echo "Failed!";
    }

}

?>
<html>
    <head>
        <style>
            #outer {
                width: 500px;
                height: 600px;
                margin: auto;
                border: 1px solid black;
                border-radius: 5px;
            }
        </style>
    </head>
    <body>
        <div id="outer">
            <form id="form" action="" method="POST" enctype="multipart/form-data">
            <input type="file" id="upload" name="upload">
            <input type="submit" id="submit" name="submit">
        </form>
    </div>
</body>

1 个答案:

答案 0 :(得分:1)

找到tmp_name的错误,您使用tempnam这是错误的。使用

$tempname = $_FILES['upload']['tmp_name'];

查看manual

中的更多详情

同时添加name进行提交,以便在检查$_POST

时获取$_POST["submit"]中的值
<input type="submit" id="submit" name="submit">