【实例】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());
}
?>
技术要点
在本实例中,运用了三个方面的技术;第一将文本文件上传到服务器;第二读取服务器指定文件夹下的文本文件中的数据;第三连接数据库,将从文本文件中读取的数据存储到指定数据表中。
下一篇: java将图片分割为几个部分示例