欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【实例】PHP实现将文本文件的内容保存到数据库中

程序员文章站 2024-02-25 15:51:15
...

实例说明

词典系列软件注册信息提交页面中编程词典用户不但提交个人信息,而且将安装编程词典生成的注册信息文件提交到服务器中,在提交注册信息的同时,将注册信息中的数据与用户个人信息一起存储到数据库中。本实例模拟这个功能,开发一个将文本文件上传到服务器,并且将文本文件中数据转存到数据库中的实例。

实现过程

具体步骤如下:

(1)创建index.php文件。首先,设计网页页面。然后,创建一个表单,通过文件域提交要上传的文本文件。接着,获取表单中提交的文件,将文件存储到服务器指定的文件夹下,通过 file_get_contents()函数读取上传文件的内容,并且将读取的结果存储到指定的数据表中。其关键代码如下:

<?php
if(!empty($_FILES['file']['name'])){
	$name = $_FILES['file']['name'];
	$type = strstr($name,'.');
	if($_FILES['file']['error']>0){
		echo '文件上传出错';
	} else {
		if(!is_dir('./upfile')){
			mkdir('./upfile');
		}
		$file_name=time().$type;//定义上传文件名称
		$path='./upfile/'. $file_name;//定义上传文件名称和存储位置
		//判断文件是否是HTPP
		if(is_uploaded_file($_FILES['file']['tmp_name'])){
			if(!move_uploaded_file($_FILES['file']['tmp_name'],$path)){//执行
				echo "上传失败";
			} else{
				//读取文本文件中数据,并且实现转义和编码的转换
				$arr = iconv ("gb2312", "utf-8", addslashes(file_get_contents($path)));
				include_once ("../conn.php");//连接数据库
				$add_time = date('Y-m-d H:i:s');
				$insert_sql = "INSERT INTO t_files (file_name,file_content,add_time) values ('".$file_name."','".$arr."','".$add_time."')";
				$exe_res = mysqli_query($conn, $insert_sql);
				echo $_FILES['file']['name'].'上传成功<br/>';
			}
		} else {
			echo '上传文件'.$_FILES['file']['name'].'不合法!';
		}
	}
}
?>

(2)创建conn.php文件,连接数据库,其代码如下:

<?php
// 连接数据库
try {
	$conn = mysqli_connect('127.0.0.1','root','123456','test');
} catch (Exception $e) {
	die("连接错误: " . mysqli_connect_error());
}
?>

技术要点

在本实例中,运用了三个方面的技术;第一将文本文件上传到服务器;第二读取服务器指定文件夹下的文本文件中的数据;第三连接数据库,将从文本文件中读取的数据存储到指定数据表中。