刘华世的官方博客

如何使用PHP上传文件,上传图片,php上传教程,php表单文件上传教程

使用PHP进行文件上传,主要使用到表单功能和PHP内置的$_FILES函数功能。接下来我们看如何实现PHP上传功能。例子效果图,此例子是在Mac下进行调试成功的。

PHP上传图片文件的功能代码如下:

<html>
<head>
    <meta charset="utf-8">
    <title>Upload File Example</title>
    <style>
        body{
            width:500px;
            margin:20px auto;
            line-height:25px;
        }
        img{
            display:block;
            max-width:500px;
        }
        h1{
            text-align:center;
        }
        #uploadfile{
            background-color:#eee;
            text-align:center;
            width:500px;
            margin:0 auto;
        }
        form{
            margin:0px;
            padding:0px;
        }
        #uploadfile .input1{
            display:block;
            width:500px;
            text-align:center;
            margin:0 auto;
        }
        #uploadfile .input2,.input3{
            width:100px;
            margin:5px 20px;
        }
    </style>
</head>
<body>
    <h1>Upload File</h1>
    <div id="uploadfile">
        <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
            <input class="input1" name="upfile" type="file">
            <input class="input2" type="submit" value="确认提交">
            <input class="input3" type="reset" value="重置">
        </form>
    </div>
    <?php
        if($_FILES["upfile"]["name"]==NULL){
            echo "No file choice!";
        }else{
            $filepath="/Library/WebServer/Documents/";
            $tmp_name=$_FILES["upfile"]["tmp_name"];
            $filename=$filepath.$_FILES["upfile"]["name"];
            echo "<br>"."\$_FILES['upfile']['name']:".$_FILES["upfile"]["name"];
            echo "<br>"."\$_FILES['upfile']['size']:".GetSize($_FILES["upfile"]["size"]);
            echo "<br>"."\$_FILES['upfile']['type']:".$_FILES["upfile"]["type"];
            echo "<br>"."\$_FILES['upfile']['tmp_name']:".$_FILES["upfile"]["tmp_name"];
            if(move_uploaded_file($tmp_name,$filename)){
                echo "<br>"."已上传至目录:".$filename;
                if(in_array($_FILES["upfile"]["type"],array("image/png","image/jpg","image/bmp"))){
                    echo "<br>"."<img src='/".$_FILES["upfile"]["name"]."' />";
                }else{

                }
            }else{
                echo "<br>"."Upload faild!";
            }
        }
//      将文件大小转成相应计量单位
        function GetSize($tmp){
            $arr = array("B","KB","MB","GB","TB","PB");
            $pos = 0;
            if(!is_integer($tmp))
                return -1;
            while($tmp>1024 and count($arr)>$pos){
                $tmp = $tmp / 1024.0;
                $pos++;
            }
            $tmp = sprintf("%.2f",$tmp);
            return $tmp.$arr[$pos];
        }
    ?>
</body>
</html>

使用表单的action可以选点表单提交对象,象本文中的例子是将表单提交给自己进行处理。

method可以选择post或get文件进行提交。

posted @ 2015-08-13 16:53  刘华世的博客  阅读(786)  评论(0编辑  收藏  举报
刘华世的官方博客