ホームページ >バックエンド開発 >PHPの問題 >PHPのフォトアルバム機能の実装方法

PHPのフォトアルバム機能の実装方法

藏色散人
藏色散人オリジナル
2022-01-19 10:06:252297ブラウズ

php アルバム関数の実装方法: 1. アルバムのホームページを作成し、ページング効果を実現します; 2. バックグラウンド処理ページを作成します; 3. アルバムのアップロード ページを実装します; 4. 画像の閲覧機能を定義します。 5. "unlink( $imgfile);" などのステートメントにより、画像を削除する機能を実現できます。

PHPのフォトアルバム機能の実装方法

#この記事の動作環境:Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン

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=&#39;$PATH_INFO?page=1&#39;>第一页</a> | ";
        }
        if($prev_page < 1){
            echo "上一页 | ";
        }else{
            echo "<a href=&#39;$PATH_INFO?page=$prev_page&#39;>上一页</a> | ";
        }
        if($next_page > $p_count){
            echo "下一页 | ";
        }else{
            echo "<a href=&#39;$PATH_INFO?page=$next_page&#39;>下一页</a> | ";
        }
        if($page >= $p_count){
            echo "最后一页</p>\n";
        }else{
            echo "<a href=&#39;$PATH_INFO?page=$p_count&#39;>最后一页</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[&#39;upfile&#39;][&#39;name&#39;] == NULL){
        echo "No file choice.";
        echo "<a href=&#39;upfile.php&#39;>返回</a>";
    }else{
        $filepath = "/Library/WebServer/Documents/test/images/";
        $tmp_name = $_FILES[&#39;upfile&#39;][&#39;tmp_name&#39;];
        $filename = $filepath.$_FILES[&#39;upfile&#39;][&#39;name&#39;];
//        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[&#39;upfile&#39;][&#39;name&#39;]."||".$_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[&#39;upfile&#39;][&#39;name&#39;]."||".$_POST["content"]."||".date("Y年m月d日")."\n");
                fwrite($fp,"$line_has");
                fclose($fp);
            }

            echo "<p></p>";
            echo "指定文件已经上传成功!";
            echo "<p></p>";
            echo "点<a href=&#39;index.php&#39;>返回</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=&#39;index.php&#39;>首页</a>";
        exit();
    }else{
        ?>
        <a href="index.php">返回首页</a>    
        <a href="delimage.php?id=<?php echo $_GET[&#39;id&#39;] ?>">删除图片</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=&#39;index.php&#39;>首页</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=&#39;index.php&#39;>首页</a>";
        }

    }
?>
</body>
</html>

推奨される学習: 「

PHP ビデオ チュートリアル >>

以上がPHPのフォトアルバム機能の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。