php相册功能怎么实现

PHP相册功能实现方法:1、创建相册首页并实现分页效果;2、创建后台处理页面;3、实现相册上传页面;4、定义图片浏览功能;5、通过“unlink($imgfile);”等语句实现删除图片功能即可。

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

PHP相册功能怎么实现?

相册功能实现(包含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>

推荐学习:《PHP教程

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...