上传文件。上传后将保存在我声明的地方

时间:2016-07-19 10:49:47

标签: php upload docx

我想将docx上传到此位置“C:\ XAMMP \ htdocs \ FYP3 \ uploads /” 以下是我上传文件的代码。现在,在我点击上传后,我甚至无法在给定的地址中找到我的文件。不确定错误是什么。在此先感谢:)

if(isset($_FILES['file']))
        {
            $file=$_FILES['file'];


            $file_name=$file['name'];
            $file_tmp = $file['tmp_name'];
            $file_size = $file['size'];
            $file_error = $file['error'];

            $file_ext = explode('.',$file_name);
            $file_ext = strtolower(end($file_ext));

            $allowed=array('docx', 'jpg');

            if(in_array($file_ext, $allowed))
            {
                if($file_error === 0)
                {
                    if($file_size <= 2097152)
                    {
                        $file_name_new = uniqid('', true) . '.' . $file_ext;
                        $file_destination = "C:\XAMMP\htdocs\FYP3\uploads/" . $file_name_new;

                        if(move_uploaded_file($file_tmp, $file_destination))
                        {
                            echo $file_destination;
                        }



                    }
                }
            }


        }

以下是我的表格代码:)

<form action="homepage.php" method="post" enctype="multipart/form-data">
        <input type="file" name="file">
        <input type="submit" value="upload">


    </form>

3 个答案:

答案 0 :(得分:0)

首先请检查方法属性,它必须是post然后检查其enc-type属性,它必须是multipart-form数据。如果这两件事都没问题,那么在您的Php代码块中使用print_r($ file)如果表单成功发布了该文件,那么这将打印该文件的所有属性。如果到目前为止一切都很好,那么检查目标路径和目录权限,可能是你没有写入文件的权限。我想“C:\ XAMMP \ htdocs \ FYP3 \ uploads /”。 $ file_name_new;最后一个斜杠“uploads /”格式错误。请检查一下。 就是这样。

答案 1 :(得分:0)

$file_destination在两个方面不正确:&#34; XAMMP&#34;拼写错误,它应该是&#34; XAMPP&#34;。你必须使用&#34; \\&#34;或&#34; /&#34;作为路径分离器。

$file_destination = "C:\\XAMPP\\htdocs\\FYP3\\uploads\\" . $file_name_new;

此外,您应该使用is_writable()检查目标目录是否已创建和可写。

答案 2 :(得分:0)

目的地路径有问题。试试这个:

替换

$file_destination = "C:\XAMMP\htdocs\FYP3\uploads/" . $file_name_new;

$file_destination = "C:/XAMMP/htdocs/FYP3/uploads/" . $file_name_new;