很簡單的一個小例子 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,現在就可以將文件上傳到服務器的文件夾了.