0
嘿,大家好,我已經有了一些代碼,可以獲取.csv文件中列的名字,姓氏和電子郵件,但它不能正常工作,我可以使用一手拿起這個。如何獲取.csv文件中的某些列
繼承人當前代碼:
//this file is used to grab the usernames of the csv file and put them in a session, returning it memberinterface that will open a dialog box with the usernames
$seterror = 0;
function returnBack(){
header("Location:../memberinterface.php?getmsg=15");
exit;
}
function returnBackfile(){
header("Location:../memberinterface.php?getmsg=16");
exit;
}
if (!empty($_FILES['csvfile']['error']))
{
$seterror = 1;
returnBack();
}
if (empty($_POST['firstname'])){
$seterror =1;
returnBack();
}
if (empty($_POST['lastname'])){
$seterrro =1;
returnBack();
}
if (empty($_POST['email'])){
$seterror =1;
returnBack();
}
if ($seterror !== 1){
$file = $_FILES['csvfile']['tmp_name'];
$handle = fopen($file , "r");
$fileop = fgetcsv($handle,1000,",");
$fileop=array_map("strtoupper",array_map("trim",$fileop));
$firstname_index = array_search(strtoupper($_POST["firstname"]),$fileop); <!-----these right here are not working correctly and will always send me back with the error, it does not find the firstname column? and same with the other ones.
if ($firstname_index===false){
returnBack();
}
$lastname_index = array_search(strtoupper($_POST['lastname']),$fileop);
if ($lastname_index===false){
returnBack();
}
$email_index = array_search(strtoupper($_POST['email']),$fileop);
if ($email_index===false){
returnBack();
}
//open file and store values
$j = 0;
while (($fileop=fgetcsv($handle)) !== false)
{
$fileop=array_map("trim",$fileop);
$firstname[$j] = $fileop[$firstname_index];
if (empty($firstname[$j])){
returnBackfile();
}
$lastname[$j] = $fileop[$lastname_index];
if (empty($lastname[$j])){
returnBackfile();
}
$email[$j] = $fileop[$email_index];
if (empty($email[$j])){
returnBackfile();
}
$j++;
}
print_r($firstname);
}
,所以當我打印出$姓價值,它從.csv文件,但所有的值打印出價值?
所以回顧一下,我試圖使它獲得名字,姓氏和電子郵件列從.csv文件,將其存儲在$名字數組,$姓氏陣列等在...
如有你可以幫助我會感激它!
大衛
UPDATE:
把var_dump($fileop); var_dump($POST);
ontop的的$firstname_index = array_search($_POST["firstname"],$fileop);
後,我得到了這些結果與.csv文件:
array(1) { [0]=> string(162) "FIRSTNAME LASTNAME EMAIL PHONE COMBINED SINGLE LIMIT BODILY INJURY EACH PERSON BODILY INJURY EACH ACCIDENT PROPERTY
DAMAGE STATUS ADDRESS NOTES STATUS CHANGE DATE" }
NULL Array ([0] => Hank Aaron [email protected] 777.777.7777 '0 20000
40000 10000 Non-Active [1] => Fred Astaire [email protected] 222.431.5843 '0
'0 '0 '0 Open 98 Ocean Blvd [2] => Jim Belushi [email protected]
333.333.3333 '0 '0 '0 '0 Open 98 Ocean Blvd [3] => Charlie
Brown [email protected] 909.111.1111 '0 '0 '0 '0 Open 98
Ocean Blvd [4] => Carol Burnett [email protected] 911.911.9999 '0 '0 '0
'0 Enrolled - PCG to Follow-Up 98 Ocean Blvd [5] => Bill Cosby
[email protected] 989.989.9898 '0 100000 300000 100000 Confirmed 23 Surf Rd
[6] => Charles Dickens [email protected] 897.333.3333 '0 '0 '0 '0
Non-Active - Driver Chose Non-Compliance 23 Surf Rd [7] => Walt Disney
[email protected] 909.909.9090 '0 '0 '0 '0 Non-Active - Driver Chose
Non-Compliance 23 Surf Rd [8] => Bob Dylan [email protected] 333.444.5555 '0 '0
'0 '0 Enrolled - Agent Emailed 23 Surf Rd [9] => Thomas Edison
[email protected] 765.222.1111 '0 '0 '0 '0 Enrolled - Agent Emailed
23 Surf Rd [10] => Harrison Ford [email protected] 345.543.5555 '0 '0
'0 '0 Enrolled - Agent Emailed 23 Surf Rd [11] => Bill Gates
[email protected] 123.456.7890 350000 '0 '0 '0 Enrolled - Employee Follow-
Up Required 16 Tulip Ln [12] => Tom Hanks [email protected] 777.888.9999 '0 '0
'0 '0 Enrolled - Agent Emailed 16 Tulip Ln [13] => Alfred Hitchcock
[email protected] 878.000.9999 '0 '0 '0 '0 Non-Active - Other 16
Tulip Ln [14] => Michael Jackson [email protected] 123.123.1234 '0 '0
'0 '0 Non-Active - PolicyHolder Cancelled Additional Interest 16 Tulip Ln [15] =>
Michael Jordan [email protected] 888.888.8888 '0 '0 '0 '0 Non-Active
- Employee Not Covered Under Listed Policy 16 Tulip Ln [16] => John Lennon
[email protected] '098.765.5432 '0 '0 '0 '0 Non-Active - Insurance Cancelled
16 Tulip Ln [17] => Joe Lewis [email protected] 888.999.1111 '0 15000
30000 5000 Confirmed 4765 E Palm Rd [18] => Peyton Manning [email protected]
111.222.3333 '0 '0 '0 '0 Enrolled - Agent Emailed 4765 E Palm
Rd [19] => Marilyn Monroe [email protected] 212.121.1212 '0 '0 '0 '0
Enrolled - Policyholder Follow-Up Required 4765 E Palm Rd [20] => Elvis Presley
[email protected] 909.000.8761 '0 '0 '0 '0 Enrolled - New Carrier
Being Processed 4765 E Palm Rd [21] => Dan Rather [email protected] 333.333.8888 '0
25000 50000 15000 Confirmed 909 Kodak Ln [22] => Chris Rhodes
[email protected] 916-205-2474 '0 '0 '0 '0 Open 909 Kodak
Ln [23] => William Shakespeare [email protected] 444.444.4444 '0
100000 300000 100000 Confirmed 926 Maple St [24] => Meryl Streep
[email protected] 411.411.4111 '0 100000 300000 100000 Confirmed 412 East
3rd St [25] => Mark Twain [email protected] 323.323.3232 '0 '0 '0 '0
Enrolled - Agent Emailed 412 East 3rd St [26] => Darth Vader [email protected]
874.321.4444 '0 25000 50000 15000 Confirmed 1234W U Parkway [27] =>
George Washington [email protected] 876.321.1234 '0 100000 300000 100000
Confirmed 12 oak blvd [28] => Robin Williams [email protected]
444.555.6666 '0 '0 '0 '0 Open 12 oak blvd)
您可以發佈'var_ dump($ fileop)'和'var_dump($ POST)'從CSV中讀取第一行後? – Barmar
哪裏在$ firstname_index部分? –
是的,因爲這是有問題的代碼。 – Barmar