http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 10656|回复: 5

[PHP] PHP的文件操作示例(1)

[复制链接]
发表于 2018-12-17 14:17:35 | 显示全部楼层 |阅读模式
本帖最后由 惜 于 2018-12-17 14:17 编辑

index.php 图片列表页面
[PHP] 纯文本查看 复制代码
<html>
<head>
        <title>简易相册系统首页</title>
</head>
<body>
        <center>
        <h1>简易相册系统首页</h1>
        <p>
        <a href="image.php">上传图片</a><p>
        <?php
                if(!$_GET["page"])                          //如果没有参数 page
                        $page=1;                                         //则显示第一页内容
                else
                        $page=$_GET["page"];                  //如果带有参数 page,则显示相应页内容
                
                $filename = "data.dat";                  //指定记录数据文件名
                $myfile = file($filename);          //使用 file()函数把文件所有信息读入一个数组
                $z = $myfile[0];                                 //把数组第一条内容赋值给变量
                
                if($z=="")
                {                                                                         //如果文件为空,即没有任何图片上传
                        echo "目前记录条数为:0";                  //显示没有记录的信息
                }
                else
                {                                                                 //如果有图片上传
                        $temp=explode("||",$myfile[0]); //读出数组第一条记录到数组
                        echo "共有".$temp[0]."条内容";         //读出该数组第一个元素(代表记录总条数)
                        echo "    ";
                        
                        $p_count=ceil($temp[0]/8);          //计算总页数为记录总条数除以每页显示条数
                        echo "分".$p_count."页显示";          //输入总页数
                        echo "    ";
                        echo "当前显示第".$page."页";         //当前页
                        echo "<table border='1'>";
                        
                        if($page!=ceil($temp[0]/8))  //如果当前页不是最后一页
                                $current_size=8;                  //当前页最多可显示 8 条记录
                        else                                                 //如果当前页是最后一页
                                $current_size=$temp[0]%8;  //当前页显示的条数为总条数除以 8 的余数
                                
                        if($current_size==0) 
                                $current_size=8;  //如果正好是 8 的倍数则显示 8 条内容
                        
                        for($i=0;$i<ceil($current_size/4);$i++)  //通过循环输出行,每行四列
                        {
                                echo "<tr>";
                                for($j=0;$j<4;$j++)  //通过循环输出单元格,共 4 个
                                {
                                        echo "<td>";
                                        $temp=explode("||",$myfile[$i*4+$j+($page-1)*8]);//把相应的记录按“||”分割到数组
                                        if(($i*4+$j+($page-1)*8)<$z)  //如果当前数小于总数显示图片
                                        {
                                                $imgfile="images\\".$temp[1]; //显示图片为数组的第 2 个元素
                                                $upload_file = iconv("UTF-8", "GBK", $imgfile); //PHP不能默认识别UTF-8,如果页面是UTF-8 需要转码后使用。
                                                $flag=getimagesize($upload_file); //获得图片的大小以加以大小处理
                                                
                                                echo "<a href=8-20.php?id=".$temp[0]."><img src=images\\".$temp[1];
                                                
                                                if($flag[0]>180||$flag[1]>100){  //如果图片太大
                                                        echo " width=180 height=".$flag[1]*180/$flag[0];
                                                        echo " border=\"0\"></a>"; //把图片按比例缩放显示
                                                }
                                        }
                                        else //如果当前数比总记录数大
                                        {
                                                echo "暂时没有图片";  //输出没有图片的信息
                                                echo "</td>";  //结束该单元格
                                        }
                                }
                                echo "</tr>";  //结束行
                        }
                        echo "</table>";  //结束表格
                }
        
                echo "<p>";
                //以下内容为分页显示链接
                $prev_page=$page-1;  //前一页
                $next_page=$page+1;  //下一页
                if ($page<=1) //如果当前页小于等于 1
                {
                        echo "第一页 | ";
                }
                else //如果当前页大于 1
                {
                        echo "<a href='$PATH_INFO?page=1'>第一页</a> | ";
                }
                
                if ($prev_page<1)  //如果前一页小于 1
                {
                        echo "上一页 | ";
                }
                else //如果前一页大于等于 1
                {
                        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>
</body>
</html>

1.png


image.php 图片上传页面

[PHP] 纯文本查看 复制代码
<html>
<head>
<title>相册管理系统图片上传页面</title>
</head>
<body>
<script language="javascript">
function Juge(theForm)
{
        if (theForm.upfile.value == "")
        {
                alert("请先选择文件!");
                theForm.upfile.focus();
                return (false);
        }
        if (theForm.content.value == "")
        {
                alert("请输入图片说明!");
                theForm.content.focus();
                return (false);
        }
        if (theForm.content.value.length>60)
        {
                alert("图片说明内容太多了,请删除一点再发!");
                theForm.content.focus();
                return (false);
        }
}
function viewmypic(img1,upfile)
{
        if (upfile.value)
        {
                img1.src=upfile.value;
                img1.style.display="";
                img1.border=1;
        }
}
</script>
<center>
<h1>相册管理系统图片上传页面</h1>
<p>
<a href="index.php">返回首页</a>
<table border="1">
<form ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD="POST">
<tr>
<td>选择图片:</td>
<td><input name="upfile" type="file" onchange=viewmypic(img1,this.form.upfile)></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>
<tr>
<td colspan="2"><center><img src="" id="img1" style="display:none;"></center></td>
</tr>
</table>
</center>
</body>
</html>

2.png

upload.php 图片上传处理程序
[PHP] 纯文本查看 复制代码
<html>
<head>
<html>
<head>
<title>相册管理系统后台处理页面</title>
</head>
<body>
<?php
        if($upfile=="none")  //如果没有选择相应的文件
        {
                echo "没有选择文件";  //输出信息
                echo "<p>";
                echo "点<a href=\"image.php\">这里</a>返回"; //给出返回链接
        }
        else
        {
                $filepath="images/"; //定义上传的路径
                $filename=$filepath.$_FILES[upfile][name];  //定义文件名
  
                $upload_file = iconv("UTF-8", "GBK", $filename);   //先转换名字为 GBK 编码
                move_uploaded_file($_FILES["upfile"]["tmp_name"],$upload_file);
                
                $dataname="data.dat";  //定义记录文件名
                $myfile=file($dataname); //使用 file()把记录文件按行读入数组
                
                if($myfile[0]=="")  //如果记录文件为空
                {
                        $fp=fopen($dataname,"a+");
                        fwrite($fp,"1||".$_FILES[upfile][name]."||".$_POST["content"]."||".date("Y 年 m 月 d 日")."\n");
                        fclose($fp);  //直接写入行号为 1 的内容
                }
                else //如果记录文件非空即已经有内容
                {
                        $temp=explode("||",$myfile[0]); //把第一条记录按“||”分割到数组
                        $temp[0]++;  //得出总记录数并自增 1
                        $fp=fopen($dataname,"r");  //以只读方式打开文件
                        $line_has=fread($fp,filesize("$dataname"));  //使用 fread 读出文件已经存在的内容
                        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>";
                echo "指定文件已经成功上传!";
                echo "<p>";
                echo "点<a href=\"index.php\">这里</a>返回"; //给出返回链接
        }
?>
</body>
</html>
3.png


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2018-12-17 14:30:53 | 显示全部楼层
我只是路过打酱油的。
发表于 2018-12-17 14:31:52 | 显示全部楼层
我只是路过打酱油的。
发表于 2018-12-17 14:41:20 | 显示全部楼层
强烈支持楼主ing……
发表于 2018-12-17 14:47:43 | 显示全部楼层
真是难得给力的帖子啊。
发表于 2018-12-17 14:51:52 | 显示全部楼层
强烈支持楼主ing……
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-19 12:46

© 2014-2021

快速回复 返回顶部 返回列表