用jQuery Mobile + PHP实现手机文件上传的实例教程

jQuery Mobile是jQuery 在手机上和平板设备上的版本,jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架,现在我们来讲讲jQuery Mobile + php在手机上上传图片的实例.

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

下面是html代码:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset = "utf-8">
  5. <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">
  6. <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
  7. <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
  8. </head>
  9. <body>
  10. <div data-role="page" >
  11. <div data-role="header" >
  12. <h1>校园祭</h1>
  13. <a href="#pageone" data-rolr = button data-icon="home" class="ui-btn-left" >首页</a>
  14. </div>
  15. <div data-role="content" >
  16. <form action="upload_file.php" method="post" enctype="multipart/form-data" data-ajax="false">
  17. <input name="file" type="file" runat="server" method="post"
  18. enctype="multipart/form-data" data-inline="true" data-ajax="false" />
  19. <center><button data-inline="true" >上传</button></center>
  20. </form>
  21. </div>
  22. <div data-role="footer" data-position="fixed" data-fullscreen="true">
  23. <h1>创新实验</h1>
  24. </div>
  25. </div>
  26. </body>
  27. </html>

php的代码如下:

  1. <?php
  2. if ($_FILES["file"]["error"] > 0)
  3. {
  4. echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
  5. }
  6. else
  7. {
  8. echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  9. echo "Type: " . $_FILES["file"]["type"] . "<br />";
  10. echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  11. echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
  12. if (file_exists("upload/" . $_FILES["file"]["name"]))
  13. { //开源软件:phpfensi.com
  14. echo $_FILES["file"]["name"] . " already exists. ";
  15. }
  16. else
  17. {
  18. move_uploaded_file($_FILES["file"]["tmp_name"],
  19. "upload/".$_FILES["file"]["name"]);
  20. echo "Stored in: " ."upload/". $_FILES["file"]["name"];
  21. }
  22. }
  23. }
  24. ?>

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

$ cd /var/www

$ sudo chmod -R 777 html

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