任务:把客户端的文件上传到服务器端
前提:要上传文件首先需要给用户一个界面,可以用html实现。
<?php
header('Content-type:text/html;charset=utf-8');
//脚本执行结束,上传的文件立即被删除了。所以需要把文件移动到我们想要的位置。
if(isset($_POST['submit'])){ //如果按了上传按钮
//判断文件是否是post方式上传的,是的话正常上传;否则就给出提示,增加安全性。
if(is_uploaded_file($_FILES['myfile']['tmp_name'])){
//把原文件名存入一个数组中
$arr = pathinfo($_FILES['myfile']['name']);
//以日期的形式对文件重命名(作用:防止上传的文件名一样,文件被覆盖)
$newName = date('YmdGis').rand(1000,9999);
//移动文件到新路径
//$arr['extension'] 是扩展名
//"uploads/{$newName}.{$arr['extension']}" 是文件的新路径
if(move_uploaded_file($_FILES['myfile']['tmp_name'], "uploads/{$newName}.{$arr['extension']}")){
echo '上传成功啦!';
}else{
echo '移动文件失败!';
}
}else{
exit('可能有攻击,请你做合法的事情!');
}
var_dump($_FILES); //输出上传的文件的详细信息
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>上传页面</title>
</head>
<body>
<!--
通过form表单制作上传按钮。
上传方式为post方式。
详细配置参数在php.ini文件中,若是修改相关参数,需要重启apache服务器。
-->
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="myfile" />
<input type="submit" name="submit" value="开始上传" />
</form>
</body>
</html>
专门用于存放上传文件的文件夹uploads: