php如何上传文件并且将文件传到另一个文件中
注意:(我这边只针对一种文件上传格式,csv格式(也可以根据自己的情况进行更改),并且要有php服务器我这边用的phpstudy)
1.要上传文件我们需要用到一个html文件,用来简单布局,下面是html部分
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Untitled</title>
<link rel="stylesheet" href="css/style.css">
<link rel="author" href="humans.txt">
<style>
.info
{
width:600px;
height:200px;
border:1px solid #000;
position:relative;
margin:auto;
text-align:center;
}
</style>
</head>
<body>
<div class="info">
<h2>提交文件
</h2>
<form action="text.php" method="post" enctype="multipart/form-data">
<label>请选择文件:</label>
<input type="file" name="filename">
<input type="submit" name="submit" value="提交文件">
</form>
</div>
</body>
</html>
我们这边action提交到一个叫“text.php”的php文件中我们还需要加上enctype用来提交我们上传文件的类型设置为“multipart/form/data”类型。
下面展示php的代码:(我们这边只针对对csv文件的上传)
<?php
if($_POST['submit'])
{
echo "<pre>"; //先打印一下文件的信息
print_r($_FILES);
echo "</pre>";
$filename = $_FILES["filename"]["name"]; //获取文件名称
echo $filename;
$str ="文件路径" //用来记录传送到的目录下列入:C:文件名/
$arr = array();
$arr=explode(".",$filename); //explode函数用来将字符串转化为数组
if($arr[1]=="csv") //判断文件的后缀是不是csv的格式
{
echo "文件正确";
if (file_exists($str."filetxt/".$_FILES["filename"]["name"])) //判断文件按是否已经在该目录下存在
{
echo "该文件已经存在";
}
else
{
move_uploaded_file($_FILES["filename"]["tmp_name"],$str."filetxt/".$_FILES["filename"]["name"]);
echo "文件存储在:$str."."filetxt/".$_FILES["filename"]["name"];
}
} //filetxt是我创建的当前目录下的一个文件夹用来提交文件按到这个文件夹中
else
{
echo "该文件格式错误";
}
}
else
{
echo "error";
}
?>
结果展示: