jQuery Mobile + PHP实现文件上传

很简单的一个小例子 jQuery Mobile + PHP 通过超全局 $_FILES 上传,然后用move_uploaded_file()方法把上传的图片移动到到本地服务器下的文件夹,

下面是html和php的代码


<!DOCTYPE html>

<html>

<head>

                <meta charset = "utf-8">

                <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">

                <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>

                <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>

</head>

<body>

        <div data-role="page" id="upload" >

               <div data-role="header"  >

                                <h1>校园祭</h1>

                                <a href="#pageone" data-rolr = button data-icon="home" class="ui-btn-left" >首页</a>

                </div>

                <div data-role="content" >

                <form action="upload_file.php" method="post" enctype="multipart/form-data" data-ajax="false">

                                <input  id="uploadimg" name="file"  type="file"  runat="server" method="post" 

                                               enctype="multipart/form-data" data-inline="true"  data-ajax="false" /> 

                                <center><button  data-inline="true"  >上传</button></center>

                </form>

                </div>

                <div data-role="footer" data-position="fixed" data-fullscreen="true">

                                <h1>创新实验</h1>

                </div>

       </div>

</body>

</html>


<?php 

        if ($_FILES["file"]["error"] > 0) 

        { 

                echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 

        } 

        else 

        { 

               echo "Upload: " . $_FILES["file"]["name"] . "<br />"; 

                echo "Type: " . $_FILES["file"]["type"] . "<br />"; 

               echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; 

                echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; 

                if (file_exists("upload/" . $_FILES["file"]["name"])) 

                { 

                        echo $_FILES["file"]["name"] . " already exists. "; 

                } 

                else 

                { 

                        move_uploaded_file($_FILES["file"]["tmp_name"], 

                       "upload/".$_FILES["file"]["name"]); 

                        echo "Stored in: "  ."upload/". $_FILES["file"]["name"]; 

                } 

        } 

} 

?>

代码很简单,但是使用过程中却发现一个问题,自己试了好久都上传不了
询问了小伙伴后,发现问题所在是文件权限不足,从而限制了网页上传图片到文件夹中.所以解决办法就是把文件夹的权限问题解决掉.


$ cd /var/www

$ sudo chmod -R  777  html

ok,现在就可以将文件上传到服务器的文件夹了.