Home > Backend Development > PHP Problem > How to implement the php photo album function

How to implement the php photo album function

藏色散人
Release: 2023-03-14 21:12:01
Original
2301 people have browsed it

How to implement the php album function: 1. Create the album homepage and achieve the paging effect; 2. Create the background processing page; 3. Implement the album upload page; 4. Define the picture browsing function; 5. Through "unlink( $imgfile);" and other statements can realize the function of deleting pictures.

How to implement the php photo album function

The operating environment of this article: Windows7 system, PHP7.1 version, DELL G3 computer

How to implement the php photo album function?

The album function implementation (including PHP image upload, background management, browsing and deletion) tutorial example includes five parts:

1. Album homepage

<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>
Copy after login

2. Backend Management

<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>
Copy after login

3. Picture upload

<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>
Copy after login

4. Picture browsing

<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>
Copy after login

5. Delete pictures

<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>
Copy after login

Recommended learning: "PHP Video Tutorial

The above is the detailed content of How to implement the php photo album function. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template