学习记录 | 文件收集-Php

宝贝推荐

推荐新手使用phpStudy这个建站,太方便了

实验初衷

大学什么事情都多,所以什么事情都要偷一下懒,大学总有收不完的青年大学习,我就想能不能来个自助收集然后捣鼓,捣鼓就有了简单的收集程序。

实验步骤

1.建立新的文件夹取名”upload“(收集文件用的)
2.建立提交页面,就亲切的取名“index.html”这个是重点程序
3.建立php程序,也给孩子一个名字"upload_file.php"这个是重点程序
4.建立登录成功页面“logn.html”和失败页面"nonono.html"这只是装饰,如果懒可不需要

代码栏!!!

index.html

一个简单的页面

说实话这个就是核心代码,大家可以自我装饰一下
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<h2>学号(输入学号就行)</h2>
<input type="txt" name="id" id="id" placeholder="例如:2019533400" required minlength="10" maxlength="10" >//限制学号只能输入10位数
<h2>截图</h2>
<input type="file" name="file" id="file" required "><br>
<input type="submit" value="点我提交"  >
</form>

  

如果想的画可以装修一下
去网络上找找模板就行

核心代码不能少-upload_file.php

<?php
// 允许上传的图片后缀
header("Content-type: text/html; charset=utf-8");
$file = $_FILES["file"];
$id=$_POST["id"];
$servername = "自己数据库的地址,一般都是127.0.0.1";
$username = "数据库的用户名";
$password = "数据库的密码";
$dbname = "数据库中的表";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT * FROM class where id=‘$id‘";
$tj = "UPDATE class SET tj=‘已提交‘ WHERE id=‘$id‘" ;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
    $usename=$row["id"].$row["name"];
    $name = iconv(‘utf-8‘,‘gb2312‘,$usename.".jpg");
    if($_FILES["file"]["size"] > 204800000){
        echo "错误:".$file["error"];
        echo "如果错误和班长说";
    }else{
           $conn->query($tj);//在数据库里面,跟新同学已经提交就变成已提交
        //保存上传的文件
        if(file_exists("upload".$file["name"])){
            echo $file["name"]."文件已经存在";
        }else{
            //如果目录不存在则将该文件上传
            if(move_uploaded_file($file[‘tmp_name‘],"upload/".$name)){//文件按我要求的方式起名字
                header("location:logn.html");//成功跳转页面
            }
    }
    }
 	}
} else {
header("location:nonono.html");//不成功跳转页面
}
$conn->close();
?>

  

最后效果显示



一个字,爽!哈哈哈方便,研究10分钟,舒服到永远!

最后总结

还是新手,所以代码可能还有bug,没有发现出来,如果有bug,也可以师傅们提一下!

原文地址:https://www.cnblogs.com/Mercurysur/p/12650414.html

时间: 2024-08-14 22:29:45

学习记录 | 文件收集-Php的相关文章

Linux学习记录--文件IO操作相关系统编程

文件IO操作相关系统编程 这里主要说两套IO操作接口,分别是: POSIX标准 read|write接口,函数定义在#include<unistd.h> ISO C标准 fread|fwrite接口,函数定义在#include<stdio.h> 有书上说POSIX标准与ISO C标准的区别在于文件读写是否带缓冲区,我则不是很认同,因此POSIX标准下的IO操作也是带缓冲区的,至于这两个标准下的IO性能谁更加好则不一定,因为这和缓冲区的大小,以及用户逻辑有很大关系. POSIX标准

ELK stack 学习记录

ELK日志分析平台学习记录 首先ELK主要指elasticsearch .logstash 和kibana,三个开源软件组合而成的一套日志平台解决方案.可以将平时收集到的日志,通过前台展示出来,并且可以加以分析,理论上可以解放劳动力(再也不用干上生产取日志这种活了--很搓). 最近在研究ELKstack日志分析平台,网上相关的中文资料不多.所以呢也就写了这篇文章将自己的一些学习认识总结记录下来,基本偏实战,概念理论较少,概念这块,我想以后可以再开一篇文章来做一个阐述总结. 这篇文章中会先讲一下搭

Python学习记录day3

Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个无序且不重复,可嵌套的元素集合 class set(object):     """     set() -> new empty set object     set(iterable) -> new set object     Build an unordered collection of unique elements.     

Linux 程序设计学习笔记----文件管理系统

本文部分整理自网络 Linux下文件系统管理 1.VFS文件系统概述 linux采用VFS来管理文件系统,而且linux设计的原则之一就是everything is file.因此文件管理系统是linux设计最核心的体现. VFS的全称是Virtual File System (虚拟文件系统). 总体上说 Linux 下的文件系统主要可分为三大块:一是上层的文件系统的系统调用,二是虚拟文件系统 VFS(Virtual Filesystem Switch),三是挂载到 VFS 中的各实际文件系统,

Windows API 编程学习记录&lt;二&gt;

恩,开始写Windows API编程第二节吧. 上次介绍了几个关于Windows API编程最基本的概念,但是如果只是看这些概念,估计还是对Windows API不是很了解.这节我们就使用Windows API 让大家来了解下Windows API的用法. 第一个介绍的Windows API 当然是最经典的MessageBox,这个API 的作用就是在电脑上显示一个对话框,我们先来看看这个API的定义吧: int WINAPI MessageBox(HWND hWnd, LPCTSTR lpTe

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

程序的机械级表示学习记录

程序的机械级表示学习记录 X86的三代寻址方式 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全. 8086的分段模式. IA32的带保护模式的平坦模式. 对于机械级编程的两种重要抽象 ISA:机械级程序的格式和行为,定义为指令集体系结构,它定义了处理器状态.指令的格式,以及每条指令对状态的影响. 虚拟地址:机器级程序使用的存储器地址,提供的存储器模型看上去是一个非常大的数组.存储器系统的实际实现是将多个硬件存储器和操作系统软件组合起来的. 在GCC中获得汇编代码与反汇编 获得汇编代码:

struts2 学习记录 之 国际化

struts2 接下来是国际化,如果一个系统想要被多个国家的人所用就不得不考虑国际化的问题,如果为每一个国家都开发一套系统维护起来会很麻烦,所以就有了个思想,那就是把动态的,用不同语言展示的部分,放到配置文件中,动态的从文件里读取想要展示的内容,不同国家的人就得到了不同的展示,这是一个很好的思想,所以我把它记录一下了,嘻嘻... 首先 struts2 要把它的配置文件写好,以中文和美式英语为例,配置文件如下: 配置文件是以键值对的形式存在的,且以properties结尾,命名也有一定的格式,如t

struts2 学习记录 过滤器 国际化

struts2接触不是一天两天了,但是一直没有用它做什么项目,但老师确一直说它有很大的学习价值,所以还是把我学习到的东西给记录一下,记录的东西没有规律,只是给自己留个备份, struts2中最关键的是action,action可以用来传值,用起来很方便,它可以用el表达式在jsp页面上展示出来,也可以用ognl,el只能表达作用域里面的值,而struts2里面还有个放数据的地方叫做ActionContext,这个类里面可以放不在作用域里的键值对,但是el表达式还是可以获取到,但是效率很低,所以尽