从php访问本地文件

时间:2009-10-19 21:22:20

标签: php file upload

我正在尝试访问客户端计算机上的文件,以便稍后将其附加到外发电子邮件中(resume.pdf)

我找到了一些代码片段,但是我无法让它为我工作。

下面的代码似乎展示了我需要收集的关于我的文件的所有事情,但我无法安静似乎让它工作了。

有没有人知道我做错了什么?

HTML代码:

<input id="resumeup" name="resumeup"  type="file"/> 

php代码:

   $_FILES = $_POST["resumeup"];

                if ((($_FILES["file"]["type"] == "image/gif")
                || ($_FILES["file"]["type"] == "image/jpeg")
                || ($_FILES["file"]["type"] == "image/pjpeg"))
                && ($_FILES["file"]["size"] < 20000))
                {
                        if ($_FILES["file"]["error"] > 0)
                        {
                                echo "Error: " . $_FILES["file"]["error"] . "<br />";
                        }
                        else
                        {
                                echo "Upload: " . $_FILES["file"]["name"] . "<br />";
                                echo "Type: " . $_FILES["file"]["type"] . "<br />";
                                echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
                                echo "Stored in: " . $_FILES["file"]["tmp_name"];
                        }
                }

2 个答案:

答案 0 :(得分:2)

对于初学者,请勿使用$_FILES覆盖$_POST;前者是通过解析请求中的多部分表单数据创建的。

其次,请确保您的表单标记具有多部分表单编码:

<form action="..." method="post" enctype="multipart/form-data">

答案 1 :(得分:1)

上传的文件只会暂时存储,您需要使用move_uploaded_file()将文件重新定位到新位置,以便日后可以访问该文件。

您可以在PHP上阅读更多内容:

http://www.php.net/manual/en/features.file-upload.post-method.php