PHP上传原理及应用

概要

1.FORM表现enctype属性

2.$_FILES系统函数

3.move_uploaded_file函数

4.is_uploaded_file函数

1.FORM标签的enctype属性

只有使用了multipart/form-date才能完整的文件数据传递。

也就是设置表单的MIME编码

<form enctype=”multipart/form-data method=”post” name=”upform”></form>

input标签type属性中的"file”

<input name=”upfile” type=”file”>

2.$_FILE[‘myfile’][‘name’] 客户端文件的原名称

$_FILE[‘myfile’]['type']

$_FILE[‘myfile’]['size']

$_FILE[‘myfile’][‘tmp_name’]

$_FILE[‘myfile’][‘error’]该文件上传相关的错误代码

0:文件上传成功

1:超过了文件大小php.ini中。

2.超过文件大小,MAX_FILE_SIZE选项指定的值。

3.文件只有部分被上传

4.没有文件被上传

5.上传文件大小为0.

3.move_uploaded_file函数

上传后移动文件到目标位置的函数

move_uploaded_file(临时文件,目标位置和文件名);

4.is_uploaded_file函数

判断上传MIME类型的文件函数

move_uploaded_file(MIME);

<?php
if(is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
$name = $upfile["name"];
$type = $upfile["type"];
$size = $upfile["sizes"];
$tmp_name = $upfile["tmp_name"];
$error = $upfile["error"];

//echo $name;
//echo $type;
//echo $type;
//echo $size;
//echo $tmp_name;
//echo $error;


switch($type)
{
case 'image/pjpeg' :$ok=1;
break;
case 'image/jpeg' :$ok=1;
break;
case 'image/png' :$ok=1;
break;
}
}

if($ok && $error == '0'){
move_uploaded_file($tmp_name,'upfile_tmp/'.$name);
echo "上传成功!";
}

?>

<form action="" enctype="multipart/form-data" method="post" name="upform">上传文件
<input name="upfile" type="file"></input>
<input type="submit" value="上传"></input></br>
</form>

posted @ 2013-09-18 22:30  miosec  阅读(242)  评论(0编辑  收藏  举报