用jQuery Mobile + PHP实现手机文件上传的实例教程
jQuery Mobile是jQuery 在手机上和平板设备上的版本,jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架,现在我们来讲讲jQuery Mobile + php在手机上上传图片的实例.
很简单的一个小例子 jQuery Mobile + PHP 通过超全局 $_FILES 上传,然后用move_uploaded_file()方法把上传的图片移动到到本地服务器下的文件夹.
下面是html代码:
- <!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" >
- <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 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的代码如下:
- <?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"]))
- { //开源软件:phpfensi.com
- 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,现在就可以将文件上传到服务器的文件夹了.