无法在php中使用$ _FILES上传文件

时间:2014-07-14 07:27:12

标签: php

我无法使用以下脚本上传文件。 我不知道这有什么问题,或者我必须配置我的php.ini。请帮忙... 这是我的HTML代码:

<form method="get" action="review" enctype="multipart/form-data" name="form">
<input type="file" name="attachment" />
</div>

<input type="submit" class="button" value="Upload file" />
</form>

/review/index.php上的我的php脚本是:

if(isset($_GET["attachment"])){
    $file_name = $_FILES["attachment"]['name'];
    $random_digit=rand(0000,9999);
    $new_file_name=$random_digit.$file_name;
    $url="/attachment/".$new_file_name;

if(move_uploaded_file($_FILES['attachment']['tmp_name'], $url)) 
 {
    echo"file uploaded";

    $attachment='<h3>Attachment</h3><img src="/images/glyphicons_062_paperclip.png" />  <a href="/attachment/'.$_GET["attachment"].'">'.$_GET["attachment"].'</a>';
    }

我收到的错误如下:

未定义的索引:第13行的C:\ xampp \ htdocs \ view question / review answer \ index.php中的附件

我不知道我在哪里做错了请帮忙.... 提前谢谢......

4 个答案:

答案 0 :(得分:0)

替换:

<form method="get"

使用:

<form method="POST"

答案 1 :(得分:0)

您要发送的文件类型字段值在GET REQUEST ..

中不可用

尝试更改此内容(第13行):

if(isset($_GET["attachment"])){

到此:

if(isset($_FILES["attachment"])){

答案 2 :(得分:0)

方法=&#34; GET&#34;应该用POST替换。应该使用GET从服务器和POST获取信息以在服务器上发布内容。仅对不在服务器上进行任何更改的内容使用GET。

此外,URL限制为大约2000个字符,因此在URL中压缩文件不是一个好主意。文件也可以URL编码,所以不要使用GET。

答案 3 :(得分:0)

首先你改变

<form method="get"

<form method="post"

然后更改全局变量

$_GET['attachment']

$_POST['attachment']