<?php
$max_file_szie=2*pow(2,20);
$uptypes=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png');
echo $fileType   = "$_FILES[\"file\"][\"type\"]"; //被上传文件的类型
$fileName   = "$_FILES[\"file\"][\"name\"]"; // 被上传文件的名称 
$fileSize   = "$_FILES[\"file\"][\"size\"]";  //被上传文件的大小,以字节计 
$fileTmpName= "$_FILES[\"file\"][\"tmp_name\"]"; // 存储在服务器的文件的临时副本的名称 
$fileError  = "$_FILES[\"file\"][\"error\"]"; //由文件上传导致的错误代码 
if(in_array($filetype,$uptypes)&& ($fileSize< $max_file_szie))  {
  if ($fileError > 0)
    {
    echo "Return Code: " . $fileError . "<br />";
    }
  else
    {
    echo "Upload: " . $fileName . "<br />";
    echo "Type: " . $filetype . "<br />";
    echo "Size: " . ($fileSize / 1024) . " Kb<br />";
    echo "Temp file: " . $fileTmpName . "<br />";    if (file_exists("upload/" . $fileName))
      {
      echo $fileName . " already exists. ";
      }
    else
      {
      move_uploaded_file($fileTmpName,"upload/" . $fileName);
      echo "Stored in: " . "upload/" . $fileName;
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>另外一般上传文件是不是都用$_FILES这个函数??

解决方案 »

  1.   

    可以用成变量,我常常
    $file = $_FILES['xxx'];
    然后用$file处理上传肯定是这个函数的……不过前提的表单要加上 enctype="multipart/form-data"
    不然是没办法接收文件的
      

  2.   


    你这样的仅仅是一个字符串,而不是一个标识符(变量名)echo $fileType   = "$_FILES[\"file\"][\"type\"]";    //被上传文件的类型结果等于 "array["file"]["type"]" 是一个字符串你要使用下面的格式:echo $fileType   = $_FILES["file"]["type"];    //被上传文件的类型
      

  3.   

    echo $fileType = "$_FILES[\"file\"][\"type\"]"; 里面的换成单引号:echo $fileType = "$_FILES['file']['type']";