<?if(!empty($HTTP_POST_FILES['file']))
{
$file="e:\\apache\\htdocs\\downfile\\".$_POST['info']."\\".$HTTP_POST_FILES['file']['name'];
if($_POST['key']==1)
{
if(file_exists($file)) {echo '错误:服务器上已经有此文件,如果要更新,请选择覆盖再上传';exit;}
}
if(move_uploaded_file($HTTP_POST_FILES['file']['tmp_name'],$file)) echo '文件上传成功';else echo '文件上传失败';
exit;
}
?>
<div align="center">员工共享文件上传</div>
<form name="form1" enctype="multipart/form-data" method="post" action="">
  <p align="center"><font color="#FF0000">注意:上传的文件要小于2M.否则将不能上传!</font></p>
  <p> 
    <input type="hidden" name="max_file_size" value="200000">
    <input type="file" name="file">
  </p>
  <p>文件类型:
    <select name="info">
       <option value="pc">pc</option>
      <option value="笔记本">笔记本</option>
      <option value="数码">数码</option>
      <option value="服务器">服务器</option>
      <option value="diy">diy</option>
      <option value="外设">外设</option>
    </select>
  </p>
  <p> 如果有相同文件名则: 
    <input name="key" type="radio" value="1" checked>
    停止上传并报错 
    <input type="radio" name="key" value="2">
    覆盖旧文件 </p>
  <p> 
    <input type="submit" name="Submit" value="上传文件">
  </p>
</form>

解决方案 »

  1.   

    謝謝,七星劍客的回復這是開始的php頁面
    <td align="left">
      <input type="file" name="module_file" id="module_file" size="40" />
    </td>這是我的服務器端測試php
    if(isset($module_file) and is_uploaded_file($module_file))
    {
        $filename=explode("//",$module_file);
        $filename=$filename[$filename(count)-1];
        move_uploaded_file($module_file,"./$filename");

    }
      else
      exit("error");
    我分解測試過,isset($module_file)返回true;但is_uploaded_file($module_file)老返回false;不進行isset() 和 is_uploaded_file()測試,直接move_uploaded_file($module_file,
    "./$filename"),但沒反應,也不報錯,好象php.net上的幫助上說:如果$module_file不是上傳的文件,將什麼也不做。
    我的php版本是4.1.2 ,Apache好象是1.3幾的,Os是Linux2.4.17
      

  2.   

    if(!empty($HTTP_POST_FILES['module_file']))
    {
    echo "yes";
    }
    else
    {
    echo "no";
    }
    結果是no
      

  3.   

    謝謝,已經解決了,做了如下更改
    <form 加入enctype="multipart/form-data"
    還有<input type="file" ...>前加<input type="hidden" name="max_file_size" value="200000">
    修改後的服務器端php代碼
    $filename=$_FILES['module_file']['name'];
    if(isset($module_file) and is_uploaded_file($module_file))
    {
    move_uploaded_file($module_file,"/home/www/demo/shipping/image/$filename");
    }
    else
    exit("error");