php上传用copy($upfile,$filename)为什么失败啊?
<html>
<head>
<title>文件上传的前台页面</title>
</head>
<body>
<form ENCTYPE="multipart/form-data" ACTION="8-16.php" METHOD="POST">
<input name="upfile" type="file">
<p>
<input type=submit value="确认提交">
<input type=reset value="重新选择">
</body>
</html>
-------------------------------------------------------------------
<html>
<head>
<title>文件上传后台处理页面</title>
</head>
<body>
<?
if($upfile=="none") //没有选定文件的处理
{
echo "没有选择文件"; //显示提示信息
echo "<p>";
echo "点<a href=\"8-15.php\">这里</a>返回"; //给出返回连接
}
else //选定文件
{
$filepath="images/"; //定义路径
$filename=$filepath.$upfile_name; //新的路径及文件名
echo $upfile_name; //显示文件名
echo "<p>";
echo $upfile_size; //显示文件大小
echo "<p>";
echo $upfile_type; //显示文件类型
if(copy($upfile,$filename)) //复制文件的目标路径
{
unlink($upfile); //删除原有文件
echo "<p>";
echo "指定文件已经成功上传!";
echo "<p>";
echo "点<a href=\"8-15.php\">这里</a>返回"; //给出返回连接
}
else
{
echo "文件上传失败!";
}
}
?>
</body>
</html>
这个上传就提示失败,
而用move_uploaded_file($_FILES["upfile"]["tmp_name"], "image/" . $_FILES["upfile"]["name"]);就可以
是我的系统有问题还是第一个代码有问题,这个是教材上的演示啊?我用的事APMServ5.2.6
补充:我已经知道了,以上代码是因为打开了全局变量...
答案:你那教材严重落后了!用全局变量很危险的.用$_FILES吧.register_global=on是很危险的.
上一个:php面向对象的思想
下一个:php如何引用jquery