這篇文章主要介紹了PHP中如何實現ajax無刷新上傳圖片與圖片下載功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
php ajax無刷新上傳圖片與圖片下載功能的實現代碼如下所示:
<meta charset="utf-8" >
<form id= "uploadForm">
<p >指定文件名: <input type="text" name="filename" value= ""/></p >
<p>
上傳文件:
<input type="file" name="photo" onchange="showPreview(this)" class="file" />
<img id="portrait" src="" width="70" height="75">
</p>
<input type="button" value="上傳" onclick="doUpload()" />
</form>
<script src="http://www.haoyunyun.cn/jquery.js"></script>
<script>
function doUpload() {
var formData = new FormData($( "#uploadForm" )[0]);
$.ajax({
url: 'submit.php' ,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returndata) {
alert(returndata);
},
error: function (returndata) {
alert(returndata);
}
});
}
</script>
<script type="text/javascript">
function showPreview(source) {
var file = source.files[0];
if (window.FileReader) {
var fr = new FileReader();
fr.onloadend = function(e) {
document.getElementById("portrait").src = e.target.result;
};
fr.readAsDataURL(file);
}
}
</script>submit.php
<?php
if($_FILES['photo']['error']>0){
echo "上傳文件失敗";
die;
}
$dir='./photo/';
$type=substr($_FILES['photo']['name'],strrpos($_FILES['photo']['name'],'.'));
$filename=time().rand(1000,9999).$type;
if(is_uploaded_file($_FILES['photo']['tmp_name'])){
move_uploaded_file($_FILES['photo']['tmp_name'],$dir.$filename);
echo "上傳成功";
}else{
echo "上傳文件失敗";
}遍歷數據庫數據
<?php
header("content-type:text/html;charset=utf-8");
$link=mysql_connect("127.0.0.1",'root','root');
mysql_select_db("php9",$link);
mysql_query("set names utf8");
//查詢數據中的總條數
$sql="select count(id) as count from upload";
$arr=mysql_query($sql);
$result=mysql_fetch_assoc($arr);
//獲得總條數
$size=$result['count'];
//每頁顯示2條數據
$length=6;
//計算出多少頁
$pages=ceil($size/$length);
$page=isset($_GET['page'])?$_GET['page']:1;
if($page<=0){
$page=1;
}
if($page>$pages){
$page=$pages;
}
//數據從第幾條開始
$start=($page-1)*$length;
$sql="select * from upload limit $start,$length";
$res=mysql_query($sql);
?>
<center>
<table border="1">
<div>
<?php
while($a=mysql_fetch_assoc($res)){
?>
<ul>
<li><?php echo $a['id'] ?></li>
<li><?php echo $a['username'] ?></li>
<li><a href="photo.php" rel="external nofollow" ><img src="<?php echo $a['dir'] ?>" width="80px" ></a> </li>
<li><?php echo $a['desc1'] ?></li>
<li>
<a href="photo3.php?dir=<?php echo $a['dir'] ?>" rel="external nofollow" >下載</a>
<a href="photo4.php?id=<?php echo $a['id'] ?> && dir=<?php echo $a['dir'] ?>" rel="external nofollow" >刪除</a>
</li>
</ul>
<?php
}
?>
</div>
</table>
<a href="photo2.php?page=1" rel="external nofollow" >首頁</a>
<a href="photo2.php?page=<?php echo $page-1 ?>" rel="external nofollow" >上一頁</a>
<a href="photo2.php?page=<?php echo $page+1 ?>" rel="external nofollow" >下一頁</a>
<a href="photo2.php?page=<?php echo $pages ?>" rel="external nofollow" >尾頁</a>
</center>
<style>
*{
margin: 0;
padding: 0;
}
div{
width:900px;
height: 850px;
border: 1px solid #28a4c9;
margin: auto;
}
img{
width: 200px;
height: 130px;
margin-left: 100px;
}
ul{
width: 400px;
height: 300px;
float: left;
}
li{
list-style: none;
margin-left: 10px;
}
</style>下載代碼
<?php
header("content-type:text/html;charset=utf-8");
$dir=$_GET['dir'];
$filename=substr($dir,strrpos($dir,'/')+1);
header("Content-type:image");
header("content-disposition:attachment;filename=$filename");
readfile($dir);
?>感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP中如何實現ajax無刷新上傳圖片與圖片下載功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。