在PHP程序開發中,文件上傳是一個使用非常普遍的功能,也是PHP程序員的必備技能之一。值得高興的是,在PHP中實現文件上傳功能要比在Java、C#等語言中簡單得多。下面我們結合具體的代碼實例來詳細介紹如何通過PHP實現文件上傳和多文件上傳功能。
代碼很簡單,這里我們就不多廢話了,直接奉上源碼
- <?php
- // 注冊表單的姓名
- $name="";
- $nameErr="";
- if ($_SERVER["REQUEST_METHOD"]=="POST") {
- if (emptyempty($_POST['name'])) {
- }else{
- $name=$_POST['name'];
- if (!preg_match("/^[a-zA-Z]*$/", $name)) {
- $nameErr="只允許字母和空格";
- }else{
- echo '姓名'.$name;
- }
- }
- // 文件上傳
- if ((($_FILES["file"]["type"] == "image/gif")
- || ($_FILES["file"]["type"] == "image/jpeg")
- || ($_FILES["file"]["type"] == "image/pjpeg"))
- && ($_FILES["file"]["size"] < 2000000))
- {
- if ($_FILES["file"]["error"]>0) {
- echo "錯誤:".$_FILES["file"]["error"]."<br/>";
- }else{
- echo "upload:".$_FILES["file"]["name"]."<br/>";
- echo "type:".$_FILES["file"]["type"]."<br/>";
- echo "size:".$_FILES["file"]["size"]."<br/>";
- echo "stored in:".$_FILES["file"]["tmp_name"];
- }
- }else{
- if (file_exists("weiwei/".$_FILES["file"]["name"])) {
- echo $_FILES["file"]["name"]."上傳成功.";
- }else{
- move_uploaded_file($_FILES["file"]["tmp_name"],
- "weiwei/" . $_FILES["file"]["name"]);
- echo "Stored in: " . "weiwei/" . $_FILES["file"]["name"];
- }
- echo "上傳成功";
- }
- }
- ?>
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>注冊表單</title>
- </head>
- <body>
- <form action="" method="post" enctype="multipart/form-data">
- 姓名:<input type="text" name="name" value="">
- <span class="error">* <?php echo $nameErr;?></span>
- 文件類型:<input type="file" name="file" id="file">
- <img src="<?php echo "weiwei/".$_FILES['file']['name']?>" alt="">
- <input type="submit" name="sub" value="提交">
- </form>
- </body>
- </html>
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答