文件上傳功能是一項源碼系統中經常用到的實例功能,文章整理了php實現文件上傳的方法,希望能夠幫助到有這樣需求的朋友!
核心思路:
<1>上傳首頁需要注意form表單中的entype,以及input中type的類型;
<2>上傳頁面中文件名后綴、文件的mime的獲?。?/p>
<3>注意錯誤編號。
uploads_index.php代碼:
<html>
<head>
<meta charset="utf-8">
<title>uploads_index</title>
</head>
<body>
<form action="uploads.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<br>
<input type="submit" name="" value="upload">
</form>
</body>
</html>
uploads.php代碼:
<?php
$tmpfile = $_FILES['file']['tmp_name'];
$filetype = array_shift(explode("/", $_FILES['file']['type'])); //上傳文件的mime類型
$filename = $_FILES['file']['name'];
$filefix = array_pop(explode(".", $_FILES['file']['name'])); //上傳文件后綴名
if ($filetype == 'image') {
$dstfile = "uploads/imgs/".time()."_".mt_rand().".".$filefix;
} else {
$dstfile = "uploads/files/".time()."_".mt_rand().".".$filefix;
}
$filearr = array('gif', 'jpg', 'png'); //允許上傳類型
$filesize = $_FILES['file']['size']; //上傳文件的大小
$fileerror = $FILES['file']['error']; //錯誤編號
if ($fileerror === 0) {
if (in_array($filefix, $filearr)) { //判斷是否符合上傳允許類型
if ($filesize <= 35840) { //上傳大小限制
if (move_uploaded_file($tmpfile, $dstfile)) {
echo "<script>alert('succeed!');location.href='uploads_index.php';</script>";
} else {
echo "<script>alert('fail!');location.href='uploads_index.php';</script>";
}
} else {
echo "<script>alert('pass filesize!');</script>";
}
} else {
echo "<script>alert('type fail!');</script>";
}
} else {
echo "<script>alert('error!!!');</script>";
}
新聞熱點
疑難解答