学习记录 | 文件收集-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,也可以师傅们提一下!
学习记录 | 文件收集-Php的更多相关文章
- Smart210学习记录-------文件操作
一.linux文件操作(只能在linux系统上用) 创建:int creat(const char* filename, mode_t mode) filename 表示要创建的文件名,mode表示对 ...
- Linux学习记录--文件IO操作相关系统编程
文件IO操作相关系统编程 这里主要说两套IO操作接口,各自是: POSIX标准 read|write接口.函数定义在#include<unistd.h> ISO C标准 fread|fwr ...
- leveldb 学习记录(四)Log文件
前文记录 leveldb 学习记录(一) skiplistleveldb 学习记录(二) Sliceleveldb 学习记录(三) MemTable 与 Immutable Memtablelevel ...
- V4L2学习记录【转】
转自:http://blog.chinaunix.net/uid-30254565-id-5637600.html V4L2学习记录 这个还没有分析完,先在这放着,防止电脑坏掉丢了,以后再完善 V4L ...
- MyBatis 学习记录3 MapperMethod类
主题 之前学习了一下MapperProxy的生产过程,自定义Mapper类的对象是通过动态代理生产的,调用自定义方法的时候实际上是调用了MapperMethod的execute方法:mapperMet ...
- 学习记录-java基础部分(一)
学习记录-java基础部分(一) 参考:GitHub上的知名项目:javaGuide : https://github.com/Snailclimb/JavaGuide/blob/master/doc ...
- Selnium + POM + Pytest:学习记录
简介 selenium POM Pytest 结合,通过Pytest fixture 来传递Driver 保证一个测试用例[1] :driver[1] 学习记录 插件包 selenium: 操作浏览器 ...
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- UWP学习记录12-应用到应用的通信
UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...
随机推荐
- RocketMQ系列(四)顺序消费
折腾了好长时间才写这篇文章,顺序消费,看上去挺好理解的,就是消费的时候按照队列中的顺序一个一个消费:而并发消费,则是消费者同时从队列中取消息,同时消费,没有先后顺序.RocketMQ也有这两种方式的实 ...
- 如何在Centos7安装rabbitmq的PHP扩展
1.先安装rabbitmq-c, wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0 ...
- Astah类图中使用list<>
如何在类图中表示如下的属性,这个问题困扰了我好久.之前百度找不着任何相关的内容,今天终于在其官方论坛找着了答案. class cMeterRecord { protected: cMeterStatu ...
- Linux防火墙iptables详解
iptables详解(思维导图) 1. 概述 1.1 iptable简介 1.2 防火墙的种类 1.3 netfilter 2. iptables的工作流程 2.1 iptables工作图示 2.2 ...
- iphone手机卡顿解决方案
一.清除 safari缓存 设置->safari浏览器->清除历史记录与网站数据
- shutil模块的使用
shutil模块 高级的文件,文件夹,压缩包处理模块 shutil.copyfileobj(fsrc,fdst,length) 将文件内容拷贝到另外一个文件中,可以部分.fdst目标length长度( ...
- kafka全部数据清空
kafka全部数据清空的步骤为: 停止每台机器上的kafka: 删除kafka存储目录(server.properties文件log.dirs配置,默认为“/tmp/kafka-logs”)全部top ...
- 005.OpenShift访问控制-权限-角色
一 Kubetcl namespace 1.1 namespace描述 Kubernetes namespace提供了将一组相关资源组合在一起的机制.在Red Hat OpenShift容器平台中,p ...
- 客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析
原生开发应用开发 Microsoft阵营的 Winform WinForm是·Net开发平台中对Windows Form的一种称谓. 如果你想深入的美化UI,需要耗费很大的力气,对于目前主流的CSS样 ...
- java 中的线程池
1.实现下面的一个需求,控制一个执行函数只能被五个线程访问 package www.weiyuan.test; public class Test { public static void main( ...