这是我自己的一个作业,用的是很基础的代码。

有错误的地方欢迎批评和指正!

这里最容易出错的地方在读取数据后向数据库表中插入数据是的数据格式!

文件上传的页面

uploading.php

<html>
<body align = "center">
<form action = "DBConnect.php" method = "post" enctype = "multipart/form-data">
Upload a text file <input name = "myfile" type = "file" /></br></br>
<input type = "submit" value = "Upload this file"/></br></br>
</form>
<a href = "">Click here to find the format of text</a>
</body>
</html>

接收(对数据的读取)与对数据库的操作界面

DBConnect.php

<?php
$content = $_FILES['myfile']; // 对文件格式的读取,$_FILES方法
//print_r($content);

$string = file($content['name']);

//print_r($string);
//echo $string[0];
//exit(0);
$link = mysqli_connect("localhost","root","1234");

//create database sampleDB
mysqli_query($link,"create database $string[0]");

//create table mytbl
mysqli_query($link,"use $string[0]");

$tblQuery = "create table $string[1](";
$tblString="";
for($i=3;$i<count($string);$i++){

if(trim($string[$i]) == "row"){ // trim means remove space
break;
}else{
$col = explode(",",$string[$i]);
$tblString.=$col[0]." ".$col[1].",";
}
}
$tblQuery1 = $tblQuery.substr($tblString,0,-1).");";
mysqli_query($link,$tblQuery1);

//insert data to mytbl

$data = "insert into $string[1] values";
$data1String = "";
for($i=10;$i<count($string);$i++){
$data1 = explode(",",$string[$i]);
$data1String.="(".$data1[0].","."'".$data1[1]."'".",".$data1[2].",".$data1[3].","."'".$data1[4]."'".","."'".$data1[5]."'"." "."),";
}
// echo $data1String;
$tbldata = $data.substr($data1String,0,-1).";";
//echo $tbldata;
mysqli_query($link,$tbldata);

?>

info.txt 【这是你自己要读取的文件,里面的内容根据自己需求写】

sampleDB
mytbl
columns
sno,int
sname,varchar(15)
age,int
gender,boolean
address,text
cellphone,varchar(11)
row
1,john,12,0,california,1212111
2,alice,15,1,new york,1241512
3,cindy,13,1,LA,1251455
4,joshua,14,0,philadelphia,2154412

PHP | Uploading and reading of files and database 【PHP | 文件的上传和读取与数据库】的更多相关文章

  1. 多选文件批量上传前端(ajax*formdata)+后台(Request.Files[i])---input+ajax原生上传

    1.配置Web.config;设定上传文件大小 <system.web> <!--上传1000M限制(https://www.cnblogs.com/Joans/p/4315411. ...

  2. java Files 和 Path对文件操作

    1.拷贝文件 /** * 拷贝文件,生成新的文件名 * @param pathUpload * @return */ private String converUploadFileName(Strin ...

  3. Springboot 上传报错: Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceede

    Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The ...

  4. Reading Csv Files with Text_io in Oracle D2k Forms

    Below is the example to read and import comma delimited csv file in oracle forms with D2k_Delimited_ ...

  5. [转]html5表单上传控件Files API

    表单上传控件:<input type="file" />(IE9及以下不支持下面这些功能,其它浏览器最新版本均已支持.) 1.允许上传文件数量 允许选择多个文件:< ...

  6. 基于Picture Library创建的图片文档库中的上传多个文件功能(upload multiple files)报错怎么解决?

    复现过程 首先,我创建了一个基于Picture Library的图片文档库,名字是 Pic Lib 创建完毕后,我点击它的Upload 下拉菜单,点击Upload Picture按钮 在弹出的对话框中 ...

  7. Asp.net上传文件Request.files获取不到文件

    使用ftp上传文件,并且Request.files获取文件,今天发现获取到的文件个数始终是0个,查了下原来form标签中需加入enctype=”multipart/form-data”,呵呵了 < ...

  8. MVC文件上传 - 使用Request.Files上传多个文件

    控制器 1: using System; 2: using System.Collections.Generic; 3: using System.IO; 4: using System.Linq; ...

  9. asp.net 页面上传文件控件后台代码Request.Files获取不到

    今天开发中遇到页面文件上传控件选择了文件,而后台Request.Files.Count取值为0,之前开发中遇到过几次,老是忘掉,今天记下来. html: <input type="fi ...

随机推荐

  1. scss-@each指令

    一.@each指令实例 在@each变量的定义,其中包含的每个项目的列表中的值. 语法: @each $var in <list or map> 语法简要说明如下. $var: 它代表了变 ...

  2. jq实现发送验证码倒计时60s

    setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式.方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭. setTimeout() :在指定的毫 ...

  3. H5跟ios、android交互跟数据对接

    需求: APP要用H5页面做展示,而且要获取到对应的商品ID,用户点击H5页面跳回APP原生页面. 方法: 先要判断用户是ios还是android设备(这里只考虑ios跟android,因为它俩写法还 ...

  4. Linux自有服务

    Linux自有服务 Linux自带的功能:运行模式.用户和用户组管理.网络配置.ssh服务 1.运行模式 Linux下的初始化进程:init,进程id为1 该进程的配置文件:/etc/inittab ...

  5. dialog和dialogFragment的使用及常用问题

    今天比较懒,只是列举了一些网址 弹窗之一:dialogFragment的使用 https://blog.csdn.net/sinat_31057219/article/details/76979246 ...

  6. hibernate 性能优化之 1+N 问题

    1. 注意 session.clear()的运用,尤其在不断分页查询的时候 a) 在一个大集合中进行遍历,遍历 msg,去除其中的含有敏感字样的对象 b) 另外一种形式的内存泄漏 面试题:Java 有 ...

  7. spring的开发

    spring与web的整合 1. 整合的原理: Spring容器随着tomcat容器ServletContext的启动而启动,并且在初始化完成后放到整个应用都可以访问的范围. ApplicationC ...

  8. url规范化:解决从baidu.com到www.baidu.com的

    通过 301重定向可以实现 把www.baidu.com和baidu.com合并,并把之前的域名也一并合并. 有两种实现方法: 第一种方法是判断nginx核心变量host(别名功能): server ...

  9. jQuery插件编写步骤详解

    如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...

  10. select poll epoll相关知识速记

    缘起 面试的时候经常被问的一个很蛋疼的问题,经常被问,但是知识很零散,难记忆,看完就忘 select 作用 可以监视文件描述符是否可以读写,要求监视的文件描述符是非阻塞的 诞生背景 产生与上个世纪80 ...