这可能是一个棘手的问题,因此您可以获得积分!在PHP中解析逗号分隔文件然后添加到数据库
THIS IS .txt文件不是CSV
我试图解析以下逗号分隔的文件转换成可读的表,然后导入到一切我的表。这里是我得到的信息:
这是我从中导入的“模板”。 (这是文件中的第一行):
"Public/Private","Record Manager","Company","Contact","Address 1","Address 2","Address 3","City","State","Zip","Country","ID/Status","Phone","Fax","Home Phone","Mobile Phone","Pager","Salutation","Last Meeting","Last Reach","Last Attempt","Letter Date","Title","Assistant","Last Results","Referred By","User 1","User 2","User 3","User 4","User 5","User 6","User 7","User 8","User 9","User 10","User 11","User 12","User 13","User 14","User 15","Home Address 1","Home Address 2","Home City","Home State","Home Zip","Home Country","Alt Phone","2nd Contact","2nd Title","2nd Phone","3rd Contact","3rd Title","3rd Phone","First Name","Last Name","Phone Ext.","Fax Ext.","Alt Phone Ext.","2nd Phone Ext.","3rd Phone Ext.","Asst. Title","Asst. Phone","Asst. Phone Ext.","Department","Spouse","Record Creator","Owner","2nd Last Reach","3rd Last Reach","Web Site","Ticker Symbol","Create Date","Edit Date","Merge Date","E-mail Login","E-mail System"
这里是什么样的人通常会进入一个样本:
"Public","John Doe”,"Einstein Construction","Bill Gates","3441 State Route 1","","","Somecity","CA","15212","","","724-555-2135","","","","","Jill","","4/18/2011","11/23/2009","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Bill","Gregor","235","","","","","","","","","","Tom Jones","SuperMart","","","www.website.com","","11/14/2009","4/19/2011","","",""
下面是我在数据库中的字段(MySQL的):(显然不的美元符号。)
$rep
$date
$account
$areacode
$number
$address1
$address2
$city
$state
$zip
$country
$fax
$descmaker1
$descmaker2
$title
$email
$cvendor
$cequipment
$leaseexp1
$leaseexp2
$leaseexp3
$leaseexp4
$leaseexp5
$leaseexp6
$volume
$notes
$lastchange
这就是我需要它们映射到..(我在右路,左边的文件)
Record Manager -> $rep
(record manager i'd rather use our variable which is = $session->userinfo['fullname']
Create Date -> $date (can the "/" be removed so its MMDDYYYY)
Company -> $account
Phone (can you explode the areacode off?) -> $areacode
Phone (and put the number after the areacode here?)-> $number
Address 1 -> $address1
Address 2 -> $address2
City -> $city
State -> $state
Zip -> $zip
Country -> $country
Fax -> $fax
Salutation -> $descmaker1
$descmaker2
Title -> $title
Email Login -> $email
Edit Date -> $lastchange
我现在所拥有的(这真的不起作用)如下。它显示了一个大混乱中的数据。
<?php
$a = file_get_contents("upload/contacts.txt");
$a = str_replace(array("\r\n", "\t") , array("[NEW*LINE]" , "[tAbul*Ator]") , $a);
print "<table border=\"1\">";
foreach(explode("[NEW*LINE]" , $a) AS $lines){
echo "<tr>";
foreach(explode("[tAbul*Ator]" , $lines) AS $li) {
echo "<td>";
echo $li ;
}
echo "</tr>";
}
echo "</table>";
?>
你可以使用Perl的? – HaloWebMaster 2011-05-13 19:04:48
您是否试图将csv文件数据导入到db表中?或者将csv文件数据呈现为html表格? – 2011-05-13 19:06:58
不知道我的服务器是否支持它。我不知道任何perl语法,所以你不得不忍受我。我有一个godaddy Linux主机帐户。我想它会支持它! – 2011-05-13 19:07:31