相冊功能實現(包含php圖片上傳,後台管理,浏覽和刪除)教程例子包括五個部分:
一、相冊首頁
<html> <head> <meta charset="utf-8"> <title>相冊首頁</title> <style> body{ width:800px; margin:0 auto; test-align:center; } </style> </head> <body> <h1>The simple photo album.</h1> <center> <?php error_reporting(0); if(!$_GET["page"]){ $page = 1; }else $page = $_GET["page"]; $filename = "data.dat"; $myfile = file($filename); $z = $myfile[0]; if($z == NULL){ echo "目前記錄條數為:0"; }else{ $temp = explode("||",$myfile[0]); echo "共有".$temp[0]."條內容"; echo " "; $p_count = ceil($temp[0]/8); echo "分".$_count."頁顯示"; echo " "; echo "當前顯示第".$page."頁"; echo " "; echo "<br>"; if($page != ceil($temp[0]/8)){ $current_size = 8; }else{ $current_size = $temp[0]%8; } if($current_size == 0){ $current_size = 8; } for($i=0;$i<ceil($current_size/4);$i++){ for($j=0;$j<4;$j++){ $temp = explode("||", $myfile[$i*4+$j+($page-1)*8]); if(($i*4+$j+($page-1)*8)<$z){ $imgfile = "./images/".$temp[1]; $flag = getimagesize($imgfile); echo "<a href=viewimage.php?id=".$temp[0]."><img src=/test/images/".$temp[1]; if($flag[0]>180||$flag[1]>100){ echo " width=180 height=".ceil($flag[1]*180/$flag[0]); } echo " border=\"0\"></a>"; }else{ echo ""; } } } echo "</table>"; } echo "<p>"; $prev_page = $page - 1; $next_page = $page + 1; if($page <= 1){ echo "第一頁 | "; }else{ echo "<a href='$PATH_INFO?page=1'>第一頁</a> | "; } if($prev_page < 1){ echo "上一頁 | "; }else{ echo "<a href='$PATH_INFO?page=$prev_page'>上一頁</a> | "; } if($next_page > $p_count){ echo "下一頁 | "; }else{ echo "<a href='$PATH_INFO?page=$next_page'>下一頁</a> | "; } if($page >= $p_count){ echo "最後一頁</p>\n"; }else{ echo "<a href='$PATH_INFO?page=$p_count'>最後一頁</a></p>\n"; } ?> </center> <a href="upfile.php">Upload Files</a> </body> </html>
二、後台管理
<html> <head> <meta charset="utf-8"> <title>後台處理頁面</title> </head> <body> <?php error_reporting(1); if($_FILES['upfile']['name'] == NULL){ echo "No file choice."; echo "<a href='upfile.php'>返回</a>"; }else{ $filepath = "/Library/WebServer/Documents/test/images/"; $tmp_name = $_FILES['upfile']['tmp_name']; $filename = $filepath.$_FILES['upfile']['name']; // echo $filename; if(move_uploaded_file($tmp_name,$filename)){ $dataname = "data.dat"; $myfile = file($dataname); if($myfile[0] == ""){ $fp = fopen($dataname, "a+"); fwrite($fp,"1||".$_FILES['upfile']['name']."||".$_POST["content"]."||".date(Y年m月d日)."\n"); fclose($fp); }else{ $temp = explode("||", $myfile[0]); $temp[0]++; $fp = fopen($dataname, "r"); $line_has = fread($fp,filesize("$dataname")); fclose($fp); $fp = fopen($dataname, "w"); fwrite($fp,$temp[0]."||".$_FILES['upfile']['name']."||".$_POST["content"]."||".date("Y年m月d日")."\n"); fwrite($fp,"$line_has"); fclose($fp); } echo "<p></p>"; echo "指定文件已經上傳成功!"; echo "<p></p>"; echo "點<a href='index.php'>返回</a>"; }else{ echo "文件上傳失敗!"; } } ?> </body> </html>
三、圖片上傳
<html> <head> <meta charset="utf-8"> <title>相冊上傳頁面</title> </head> <body> <script language="javascript"> function Juge(theForm){ if(theForm.upfile.value==""){ alert("Please choice file!"); theForm.upfile.focus(); return (false); } if(theForm.content.value==""){ alert("Please input image information!"); theForm.content.focus(); return (false); } if(theForm.content.value.length>60){ alert("The information must less than 60 chars."); theForm.content.focus(); return (false); } } </script> <center> <h1>Image album upload page</h1> <p> <a href="index.php">返回首頁</a> <table border="1"> <form enctype="multipart/form-data" action="system.php" method="post" onsubmit="return Juge(this)"> <tr> <td>選擇圖片:</td> <td><input name="upfile" type="file"></td> </tr> <tr> <td>輸入說明:</td> <td><input name="content" type="text">(*限30字)</td> </tr> <tr> <td colspan="2"> <center> <input type="submit" value="提交"> <input type="reset" value="重置"> </center> </td> </tr> </form> </table> </p> </center> </body> </html>
四、圖片浏覽
<html> <head> <meta charset="utf-8"> <title>查看圖片</title> </head> <body> <center> <h1>View images.</h1> <?php error_reporting(0); if(!$_GET["id"]){ echo "No assign id."; echo "<a href='index.php'>首頁</a>"; exit(); }else{ ?> <a href="index.php">返回首頁</a> <a href="delimage.php?id=<?php echo $_GET['id'] ?>">刪除圖片</a><br> <?php $id = $_GET["id"]; $filename = "data.dat"; $myfile = file($filename); $z = $myfile[0]; if($z == ""){ echo "目前記錄條數為0"; }else{ $temp = explode("||", $myfile[$z-$id]); echo "<p>"."文件名:".$temp[1]."</p>"; echo "<p><img src=/test/images/".$temp[1]."></p>"; echo "<p>圖片簡介:".$temp[2]."</p>"; echo "<p>上傳日期:".$temp[3]."</p>"; } } ?> </center> </body> </html>
五、刪除圖片
<html> <head> <meta charset="utf-8"> <title>刪除圖片</title> </head> <body> <?php error_reporting(0); if(!$_GET["id"]){ echo "No id assign."; echo "<br>"; echo "<a href='index.php'>首頁</a>"; exit(); }else{ $id = $_GET["id"]; $filename = "data.dat"; $myfile = file($filename); $z = $myfile[0]; if($z == NULL){ echo "目前記錄條數為:0"; }else{ $temp = explode("||", $myfile[$z-$id]); print_r($temp); $filepath = "/Library/WebServer/Documents/test/images/"; $imgfile = $filepath.$temp[1]; echo $imgfile; unlink($imgfile); for($i=0;$i<($z-$id);$i++){ $temp2 = explode("||", $myfile[$i]); $temp2[0]--; if($temp2[0]>0) $text2 = $text2.$temp2[0]."||".$temp2[1]."||".$temp2[2]."||".$temp2[3]; } for($i=($z-$id+1);$i<$z;$i++){ $text1 = $text1.$myfile[$i]; } $fp = fopen($filename, "w"); fwrite($fp, $text2); fwrite($fp, $text1); fclose($fp); echo "指定文件已經刪除成功!"; echo "<a href='index.php'>首頁</a>"; } } ?> </body> </html>