#この記事の動作環境:Windows7 システム、PHP7.1 バージョン、DELL G3 パソコンphp アルバム関数の実装方法: 1. アルバムのホームページを作成し、ページング効果を実現します; 2. バックグラウンド処理ページを作成します; 3. アルバムのアップロード ページを実装します; 4. 画像の閲覧機能を定義します。 5. "unlink( $imgfile);" などのステートメントにより、画像を削除する機能を実現できます。
php の実装方法フォト アルバム機能?
アルバム機能の実装 (PHP 画像アップロード、バックグラウンド管理、参照、削除を含む) チュートリアルの例には 5 つの部分が含まれています: 1. アルバム ホームページ<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>2. バックエンド管理
<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>3. 画像のアップロード
<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>4. 画像の閲覧
<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>5. 画像の削除
<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>推奨される学習: 「
PHP ビデオ チュートリアル >>
以上がPHPのフォトアルバム機能の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。