+ -
当前位置:首页 → 问答吧 → 文件批量读取和导入

文件批量读取和导入

时间:2011-09-22

来源:互联网

4000000002877308焦焦焦(1381111111).htm
4000000003485620肖(13810000000).htm
40000000081王王(15210222222).htm
4000000010104465盛盛盛(1518888888).htm
等等好多文件。

结构是这样,但是长度不同。取姓名,和电话,放到库里。

求解。

作者: only01self   发布时间: 2011-09-22

用正则表达式吧,很不错的

作者: xiexie10o   发布时间: 2011-09-22

文件名包含姓名和电话?
不需要读文件
正则匹配。

作者: ohmygirl   发布时间: 2011-09-22

PHP code
$s = <<< TXT
4000000002877308焦焦焦(1381111111).htm
4000000003485620肖(13810000000).htm
40000000081王王(15210222222).htm
4000000010104465盛盛盛(1518888888).htm
TXT;

$ar = preg_split("/[\r\n]+/", $s);
foreach($ar as $r) {
  preg_match("/\d+([^(]+)\((\d+)/", $r, $reg);
  $sql = "insert into tbl_name (name, tel) values ('$reg[1]', '$reg[2]')";
  //插入语句
}

作者: xuzuning   发布时间: 2011-09-22

把这所有的文件.都写入一个字符串.
$str = "4000000002877308焦焦焦(1381111111).htm4000000003485620肖(13810000000).htm40000000081王王(15210222222).htm4000000010104465盛盛盛(1518888888).htm";
preg_match_all('/([\d]+)([\x{4e00}-\x{9fa5}]+)\(([\d]+)\)/u',$str,$arr);
print_r($arr);

中文要是16进制的 也就是UTF-8格式 .
测试是正常的.谢谢

作者: y75674952   发布时间: 2011-09-22

引用 3 楼 xuzuning 的回复:

PHP code
$s = <<< TXT
4000000002877308焦焦焦(1381111111).htm
4000000003485620肖(13810000000).htm
40000000081王王(15210222222).htm
4000000010104465盛盛盛(1518888888).htm
TXT;

$ar = preg_split("/[\r\n]+/", $s……


大致思路就是这样,只是关于读取文件的操作应该是

$hanler = opendir(目录);
while($cur = readdir($handler))
 {
  preg_match("/\d+([^(]+)\((\d+)/", $cur, $reg);
  $sql = "insert into tbl_name (name, tel) values ('$reg[1]', '$reg[2]')";
   
  }

作者: ohmygirl   发布时间: 2011-09-22

相关阅读 更多