关于php文件上传

if(is_uploaded_file($_FILES['upfile']['tmp_name']))
我写了这句话之后 页面在加载的时候就报错了
Notice: Undefined index: upfile in F:\wamp\www\myweb\upload.php on line 2
我觉得应该是php的配置问题,应该怎么改
我用的是wamp5 2.1
麻烦哪位高手指点一下,谢谢了
<?php
if(isset($_POST['submit']))
{
if(is_uploaded_file($_FILES['upfile']['tmp_name']))
{
$up = $_FILES["upfile"];
$name = $up["name"];
$type = $up["type"];
$size = $up["size"];
$tmp_name = $up["tmp_name"];
$error = $up["error"];
move_uploaded_file($tmp_name,"upload/".$name);
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form action="" enctype="multipart/form-data" name="up" method="post">
<input name="upfile" type="file" />
<input name="submit" type="submit" value="上传" />
</form>
</body>
</html>

页面就报错的问题解决了,但文件却上传不了。

前一段做的一个PHP程序在服务器运行正常,被别人拿到本机测试的时候总是出现“Notice: Undefined index:”这样的警告,这只是一个因为PHP版本不同而产生的警告(NOTICE或者WARNING),而非错误(ERROR)。PHP中的变量在不声明的情况下使用的时候,PHP4运行正常,但是到了PHP5环境下就会出现上述的警告或者提示。经过搜索查询,总结出来以下三种解决Notice: Undefined index的方法。

第一种方法:修改PHP配置文件,屏蔽掉此类警告和提示
修改php.ini配置文件,修改error_reporting为error_reporting = E_ALL & ~E_NOTICE 。这样程序中存在NOTICE和WARNING的不足之处的时候会被忽略,当然这对于新手来说并不合适,不仅不方便调试程序,而且不利于养成好的代码习惯。

第二种方法:对每个变量进行初始化
赋空值或者任意值即可,不影响运行。这对于变量比较多的程序来说比较繁琐,不过如果每次都提前设置下变量也是不错的习惯,例如:

$blank = "";$price = "15":$car = "Truck":第三种方法:每个变量前面加上“@”
很容易,也很实用,一般第二种和第三种搭配使用。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-18
报错表示,$_FILES里没有键值为“upfile”的文件对象,出错的可能性有两个:

一个是:程序form里的file 表单name 不是“upfile”而是别的什么。
二是:表单name没有问题,但form的 encType="multipart/form-data" 没有设置

当然也有可能还有其他可能性,希望我的分析能帮到你!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网