0

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

注意:未定义索引:在第 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的链接:我的源代码

<?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获得代码

4

3 回答 3

0

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

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

看看里面有什么。

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

于 2012-08-17T17:02:30.093 回答
0

第一条通知告诉你,在这一行:

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

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

下一条通知告诉您,在这一行:

if ($uploaded_size > 350000) 

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

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

于 2012-08-17T17:03:29.000 回答
0

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

于 2012-08-17T17:43:43.447 回答