我收到以下错误,但我不知道原因。
注意:未定义的索引:在第3行的C:\ xampp \ htdocs \ site \ upload.php上传
注意:未定义的变量:第7行的C:\ xampp \ htdocs \ site \ upload.php中的uploaded_size
注意:未定义的变量:第14行的C:\ xampp \ htdocs \ site \ upload.php中的uploaded_type
注意:未定义索引:在第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
获取了代码答案 0 :(得分:0)
1。)在$ FILES数组中,没有定义上传的索引。可能是因为它是$_FILES
这是第一个。尝试
<pre>
print_r($FILES);
print_r($_FILES);
</pre>
看看那里有什么。
2。)¿你在哪里初始化条件中使用的那些变量?您必须从数组中的file元素中提取数据,并在使用之前将其分配给变量。
答案 1 :(得分:0)
第一个通知是告诉你这一行:
$target = $target . basename( $_FILES['uploaded']['name']) ;
$_FILES
数组中没有“上传”索引,因为没有文件上传文件输入名为“上传”的文件。
下一个通知是告诉你这一行:
if ($uploaded_size > 350000)
您正在访问一个名为$uploaded_size
的变量,该变量以前从未被定义过,那么它怎么可能保存一些大于350000的值呢?
接下来两个通知的问题相同。您似乎缺少一些代码,并且正在测试用于处理上载文件的代码而不上传文件,或者没有使用具有预期的enctype和输入名称的表单。
答案 2 :(得分:0)
如果您发现$ _FILES数组不包含对上传文件的任何引用,请确保您的表单标记包含enctype =“multipart / form-data”。