php在上传文件到服务器时,我们需要使用到一个重要的PHP预定义变量$_FILES。首先,站长将向大家讲解一下预定义变量$_FILES的一些基本参数。

$_FILES参数详解:
$_FILES["file"]["name"] – 被上传文件的名称
$_FILES["file"]["type"] – 被上传文件的类型
$_FILES["file"]["size"] – 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] – 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] – 由文件上传导致的错误代码

$_FILES["file"]["error"]中的["error"]值情况:
UPLOAD_ERR_OK
0:没有错误发生,文件上传成功
UPLOAD_ERR_INI_SIZE
1:上传的文件超过了 php.ini中upload_max_filesize(默认情况为2M) 选项限制的值
UPLOAD_ERR_FORM_SIZE
2:上传文件的大小超过了 HTML表单中MAX_FILE_SIZE选项指定的值
UPLOAD_ERR_PARTIAL
3:文件只有部分被上传
UPLOAD_ERR_NO_FILE
4:没有文件被上传
5:传文件大小为0

php文件上传实例:

if(is_uploaded_file($_FILES[\"uploadfile\"][\"tmp_name\"])){
        //为了更高效,将信息存放在变量中
        $upfile=$_FILES[\"uploadfile\"];//用一个数组类型的字符串存放上传文件的信息
        //print_r($upfile);//如果打印则输出类似这样的信息Array ( [name] => m.jpg [type] => image/jpeg [tmp_name] => C:\\WINDOWS\\Temp\\php1A.tmp [error] => 0 [size] => 44905 )
        $name=$upfile[\"name\"];//便于以后转移文件时命名
        $type=$upfile[\"type\"];//上传文件的类型
        $size=$upfile[\"size\"];//上传文件的大小
        $tmp_name=$upfile[\"tmp_name\"];//用户上传文件的临时名称
        $error=$upfile[\"error\"];//上传过程中的错误信息
        //echo $name;
        //对文件类型进行判断,判断是否要转移文件,如果符合要求则设置$ok=1即可以转移
        switch($type){
            case \"image/jpg\": $ok=1;
            break;
            case \"image/jpeg\": $ok=1;
            break;
            case \"image/gif\" : $ok=1;
            break;
            default:$ok=0;
            break;
        }
        //如果文件符合要求并且上传过程中没有错误
        if($ok&&$error==\'0\'){
            //调用move_uploaded_file()函数,进行文件转移
            move_uploaded_file($tmp_name,\'up/\'.$name);
            //操作成功后,提示成功
            echo \"<  language=\\\" \\\">alert(\'succeed\')</ >\";
        }else{
            //如果文件不符合类型或者上传过程中有错误,提示失败
            echo \"<  language=\\\" \\\">alert(\'failed\')</ >\";
        }
    }
?>
<!--设置提交文件的表单-->
<form enctype=\"multipart/form-data\" method=\"post\" name=\"uploadform\">
<input type=\"file\" name=\"uploadfile\" value=\"Upload File\">
<input type=\"submit\" name=\"submit\" value=\"Upload\">
</form>

 

收藏 打印