读书人

做了个图片上传的功能老是提示两行异

发布时间: 2012-04-27 11:57:44 作者: rapoo

做了个图片上传的功能,老是提示两行错误。
做了个图片上传的功能,老是提示两行错误:
Notice: Undefined index: upload in D:\WWW\qiangyuan\up.php on line 34
Notice: Undefined index: upload in D:\WWW\qiangyuan\up.php on line 41



代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
body,td,th {
color: #FF0000;
font-size: 12px;
}
body {
margin-left: 2px;
margin-top: 2px;
margin-right: 2px;
margin-bottom: 0px;
background-color: #e3efe7;
}
-->
</style>
</head>
<body>

<form name="form1" action="" enctype="multipart/form-data" method="post">

<input name="upload" type="file">
<input type="submit" value="确定上传">
</form>

<?php
/**
* $file_ext:上传的文件图片格式;
* $file_name:上传后,存在服务器上的新路径和文件名;
*/

$file_ext = $_FILES["upload"]["name"];
$file_ext_rev = strrev($file_ext);
$file_ext_num = strrpos($file_ext_rev, ".");
$file_ext = strrev($file_ext_rev);
$file_ext = substr($file_ext, -$file_ext_num);
$file_ext = strtolower($file_ext);

if ($_FILES["upload"]["size"] > 0)
{
//限定上传的文件格式
if ($file_ext === "jpg" || $file_ext == "jpeg" || $file_ext == "gif" || $file_ext == "png")
{
if ($_FILES["upload"]["size"] < 400000) //图片大小不能大于 400 K
{
$file_name = "./" . date("YmdHis");
$file_name .= "." . $file_ext;

$tmp_name = $_FILES["upload"]["tmp_name"];
move_uploaded_file($tmp_name, "product/$file_name"); //上传到图片目录

echo substr($file_name,2);//输出生成的图片名

echo "<br><br>";
echo "<A href='javascript:window.close()'><div align='right'><img src='images/close.jpg' border='0' width='60' height='18' align='middle'></div></a>";

}
else
{
echo "上传的文件图片大小必须小于400kb";
}
}
else
{
echo "上传的文件格式有误";
}
}
?>
</body>
</html>

[解决办法]

探讨
做了个图片上传的功能,老是提示两行错误:
Notice: Undefined index: upload in D:\WWW\qiangyuan\up.php on line 34
Notice: Undefined index: upload in D:\WWW\qiangyuan\up.php on line 41



代码如下:
<html>
<head>
<meta h……

[解决办法]
对 $_FILES['upload']['error'] == '0' 进行判断,看看有没有传到php.

你也可以在用$_FILES 之前先print_r($_FILES); 查看各项参数。
[解决办法]
探讨

要先判断一下表单有没有被提交,如果有文件上传了再进行处理:

PHP code
if (isset($_FILES['upload']) {
$file_ext = $_FILES["upload"]["name"];
$file_ext_rev = strrev($file_ext);
$file_ext_num = strrpos($file_ext……

读书人网 >PHP

热点推荐