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

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

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

文件上传的页面

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. canvas的getImageData和putImageDataAPI

  2. 关于 C# 中接口的一些小结

    < 关于 C# 中“接口”的一些小结 > 对于 C# 这样的不支持多重继承的语言,很好的体现的层次性,但是有些时候多重继承的确有一些用武之地.   比如,在 Stream 类 . 图形设备 ...

  3. 卸载Gac里被windows installer所reference的assembly的方法

    HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemlies\Global下找到要删除的assembly的那一项, 删除. 然后再gacutil /u ...

  4. Android 获取系统时间和网络时间

    有些时候我们的应用中只能使用网络时间,而不能使用系统的时间,这是为了避免用户关闭了使用网络时间的功能后所产生的误差. 直接上代码. 1.清单文件中网络添加权限. <!-- 访问Internet资 ...

  5. Android 从 Web 唤起 APP

    前言 知乎在手机浏览器打开,会有个 App 内打开的按钮,点击直接打开且跳转到该详情页,是不是有点神奇,是如何做到的呢? 效果预览 Uri Scheme 配置 intent-filter Androi ...

  6. Android学习——SharedPreferences

    接下来的几个博文,来介绍安卓中的数据存储方式,安卓中的数据存储主要有四种方式: 1.SharedPreferences 2.SQLite 3.Content Provider 4.File 这篇博文主 ...

  7. java带jar包的命令行运行

    运行有些java类需要第三方的jar包(lib),在用命令行运行时本人总结如下几个方法: 方法一.编译  javac -cp D:\lab\googleapi.jar Lab.java设置classp ...

  8. apache-实战(二)

    Apache 虚拟主机 --用apache或nginx就可以做 一台服务器跑多台web服务 VPS virtual private server 虚拟专用服务器 --使用虚拟化技术来做 云服务器 虚拟 ...

  9. Linux--Smba服务搭建

    Samba文件共享服务 服务功能:跨平台文件共享 1.环境部署 ip=192.168.1.50 [root@localhost Packages]# rpm -ivh samba-3.6.9-164. ...

  10. ZooKeeper 典型应用场景-Master选举

    master选举 1.使用场景及结构 现在很多时候我们的服务需要7*24小时工作,假如一台机器挂了,我们希望能有其它机器顶替它继续工作.此类问题现在多采用master-salve模式,也就是常说的主从 ...