[moka同学代码]PHP初级知识:上传文件源码

时间:2023-03-09 15:48:46
[moka同学代码]PHP初级知识:上传文件源码

1.目录结构

    aaarticlea/png;base64,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" alt="" />

2.index.php

<html>
<head>
<meta charset="utf-8">
<title>上传文件</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">文件名</label>
<input type="file" name="file" id="file"><br>
<input type="submit" value="提交">
</form>
</body>
</html>

3.upload.php

<?php
//上传文件代码
//核心代码:
/*if($_FILES['file']['error']>0){
echo '错误:'.$_FILES['file']['error'].'<br>';
}else{
echo '上传文件名:'.$_FILES['file']['name'].'<br>';
echo '文件名类型:'.$_FILES['file']['type'].'<br>';
echo '文件大小:'.($_FILES['file']['size']/1024).'kb<br>';
echo '文件临时存放地址:'.$_FILES['file']['tem_name'];
}*/ //上传文件所需要的代码,但是在上传之前需要对文件进行判断限制,大小,类型等 //允许上海窜的图片后缀
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]); //截取文件后缀
$extension = end($temp); //文件后缀
$type = $_FILES["file"]["type"];
$size = $_FILES["file"]["size"];
$error = $_FILES["file"]["error"];
$name = $_FILES["file"]["name"];
$tmp_name = $_FILES["file"]["tmp_name"];
if (($type == "image/gif") || ($type == "image/jpeg") || ($type == "image/jpg") || ($type == "image/pjpeg") ||
($type == "image/x-png") || ($type == "image/png") && $size < 2048 && in_array($extension, $allowedExts)
) {
if ($error > 0) {
echo "错误:" . $error . '<br>';
} else {
echo "文件名称:" . $name . "<br>";
echo "文件类型:" . $type . "<br>";
echo "文件大小:" . ($size / 1024) . "kb<br>";
echo "临时存放位置:" . $tmp_name; //判断存放文件的目录中是否存在该文件,如果没有,需要创建它,file的目录权限为777
if (file_exists("file/" . $name)) {
echo $name . "文件已经存在。";
} else {
move_uploaded_file($tmp_name, 'file/'. $name);
echo "文件存储在:" . "file/". $name;
} }
} else {
echo "非法文件";
}