【问题标题】:Undefined variable in upload script上传脚本中未定义的变量
【发布时间】:2012-08-17 16:58:46
【问题描述】:

我得到以下错误,我不知道为什么。

注意:未定义索引:在第 3 行的 C:\xampp\htdocs\site\upload.php 中上传

注意:未定义变量:第 7 行 C:\xampp\htdocs\site\upload.php 中的上传大小

注意:未定义变量:第 14 行 C:\xampp\htdocs\site\upload.php 中的上传类型

注意:未定义索引:在第 29 行的 C:\xampp\htdocs\site\upload.php 中上传

我试图在这篇文章中包含 php 的源代码,但不能。 这是 pastebin 的链接:My source code

<?php 
 $target = "upload/"; 
 $target = $target . basename( $_FILES['uploaded']['name']) ; 
 $ok=1; 

 //This is our size condition 
 if ($uploaded_size > 350000) 
 { 
 echo "Your file is too large.<br>"; 
 $ok=0; 
 } 

 //This is our limit file type condition 
 if ($uploaded_type =="text/php") 
 { 
 echo "No PHP files<br>"; 
 $ok=0; 
 } 

 //Here we check that $ok was not set to 0 by an error 
 if ($ok==0) 
 { 
 Echo "Sorry your file was not uploaded"; 
 } 

 //If everything is ok we try to upload it 
 else 
 { 
 if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
 { 
 echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; 
 } 
 else 
 { 
 echo "Sorry, there was a problem uploading your file."; 
 } 
 } 
 ?>

编辑 1:我从 about.com about.com 获得代码

【问题讨论】:

    标签: php variables upload undefined


    【解决方案1】:

    1.) 在您的 $FILES 数组中,没有定义上传的索引。可能是因为它是$_FILES 这是第一个。试试

    <pre>
    print_r($FILES);
    print_r($_FILES);
    </pre>
    

    看看里面有什么。

    2.) ¿您在哪里初始化条件句中使用的那些变量?您必须从数组中的文件元素中提取数据并在使用前将其分配给变量。

    【讨论】:

      【解决方案2】:

      第一个通知是在这一行告诉你:

      $target = $target . basename( $_FILES['uploaded']['name']) ;
      

      $_FILES 数组中没有“已上传”索引,因为没有文件以名为“已上传”的文件输入的表单上传。

      下一条通知在这一行告诉你:

      if ($uploaded_size > 350000) 
      

      您正在访问一个以前从未定义过的名为 $uploaded_size 的变量,那么它怎么可能保存大于 350000 的值?

      接下来的两个通知也有同样的问题。您似乎遗漏了一些代码,并且正在测试处理上传文件的代码,而无需上传文件,或者不使用具有预期的 enctype 和输入名称的表单。

      【讨论】:

      • 一切正常。我从 about.com 获得了代码。我在第一篇文章中附上了它的链接。请你检查一下。
      • 本教程写得不好,缺少代码。仅仅因为你从别人那里复制它是不对的。
      • 我找到了另一个教程。认为这是正确的,因为它来自这么大的网站 about.com,但显然不是。谢谢
      【解决方案3】:

      如果您发现 $_FILES 数组不包含对您上传文件的任何引用,请确保您的表单标签包含 enctype="multipart/form-data"。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-14
        • 2018-05-29
        • 1970-01-01
        相关资源
        最近更新 更多