php如何将文本域的内容拆分为数组,逐行写入数据库
<tablewidth="650"border="1"cellspacing="2"cellpadding="0"bgcolor="#FFFFCC"class="add"...
<table width="650" border="1" cellspacing="2" cellpadding="0" bgcolor="#FFFFCC" class="add"> <tr> <td colspan="2" align="center"><strong>信息录入</strong></td> </tr> <tr align="left"> <td width="100">标题</td> <td><textarea name="title[]" cols="60" rows="8" id="title[]" ></textarea></td> </tr> <tr align="left"> <td>链接</td> <td><textarea name="url[]" cols="60" rows="8" id="url[]"></textarea></td> </tr> </table>
展开
3个回答
展开全部
PHP 中的fgets() 函数可以实现
fgets() 函数从文件指针中读取一行。
fgets(file,length)
参数说明
file 必需。规定要读取的文件。
length 可选。规定要读取的字节数。默认是 1024 字节。
详细说明
从 file 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(要看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
若失败,则返回 false。
注释:length 参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024 字节。从 PHP 4.3 开始,忽略掉 length 将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8 KB,则在脚本中指定最大行的长度在利用资源上更为有效。
从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。
如果碰到 PHP 在读取文件时不能识别 Macintosh 文件的行结束符,可以激活 auto_detect_line_endings 运行时配置选项。
例如:
test.txt 文本内容如下:
Hello, this is a test file.
There are three lines here.
This is the last line.
<?php
//读取一行
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?>
输出:
Hello, this is a test file.
<?php
//循环读取每一行
$file = fopen("test.txt","r");
while(! feof($file)) {
echo $str = fgets($file). "<br />";
//这里可以逐行的写入数据库中
//mysql_query("insert into table(id,contents) values(NULL,'".$str."')");
}
fclose($file);
?>
输出:
Hello, this is a test file.
There are three lines here.
This is the last line.
fgets() 函数从文件指针中读取一行。
fgets(file,length)
参数说明
file 必需。规定要读取的文件。
length 可选。规定要读取的字节数。默认是 1024 字节。
详细说明
从 file 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(要看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
若失败,则返回 false。
注释:length 参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024 字节。从 PHP 4.3 开始,忽略掉 length 将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8 KB,则在脚本中指定最大行的长度在利用资源上更为有效。
从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。
如果碰到 PHP 在读取文件时不能识别 Macintosh 文件的行结束符,可以激活 auto_detect_line_endings 运行时配置选项。
例如:
test.txt 文本内容如下:
Hello, this is a test file.
There are three lines here.
This is the last line.
<?php
//读取一行
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?>
输出:
Hello, this is a test file.
<?php
//循环读取每一行
$file = fopen("test.txt","r");
while(! feof($file)) {
echo $str = fgets($file). "<br />";
//这里可以逐行的写入数据库中
//mysql_query("insert into table(id,contents) values(NULL,'".$str."')");
}
fclose($file);
?>
输出:
Hello, this is a test file.
There are three lines here.
This is the last line.
展开全部
你的意思是把文本域的内容按行拆分?
$content = $_POST['textarea']; //获取文本域内容
$arr = explode("\n", $content); //必须是双引号
print_r($arr);
追问
是的,主要目的是批量录入。请问该如何处理数据插入数据库。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,要把你的整个 <table> 放到 <form action='XXX.php' method="post" > 和 </form> 之间,才能实现浏览器端向服务器发送数据。
第二,在 XXX.php 中 用 $_POST["title"] 和 $_POST["url"] 接收那两个文本框内的信息,获得两个 PHP 内部变量。
第三,用 PHP 内部变量插入数据库的方式插入数据库。
第二,在 XXX.php 中 用 $_POST["title"] 和 $_POST["url"] 接收那两个文本框内的信息,获得两个 PHP 内部变量。
第三,用 PHP 内部变量插入数据库的方式插入数据库。
追问
能提交,可以输出数组,但是该如何循环输入?
追答
你在 XXX.php 文件的末尾 用重定向语句 转向 包含 你那个 table 的 php 网页即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |