日期:2014-05-17  浏览次数:20464 次

做了个图片上传的功能,老是提示两行错误。
做了个图片上传的功能,老是提示两行错误:
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……