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,现在就可以将文件上传到服务器的文件夹了.