我有一个CSV文件,忒文件有像UNAME,密码,fistname,LNAME,电子邮件字段。 我的要求是当我上传一个CSV,它应该检查重复的用户名和电子邮件也应该chekc是否存在数据库中的uname和密码值。 基本上它必须删除所有重复并上传 我该如何实现它?
RONIE
我有一个CSV文件,忒文件有像UNAME,密码,fistname,LNAME,电子邮件字段。 我的要求是当我上传一个CSV,它应该检查重复的用户名和电子邮件也应该chekc是否存在数据库中的uname和密码值。 基本上它必须删除所有重复并上传 我该如何实现它?
RONIE
function csv_to_array($filename='', $delimiter=',')
{
if(!file_exists($filename) || !is_readable($filename))
return FALSE;
$header = NULL;
$data = array();
if (($handle = fopen($filename, 'r')) !== FALSE)
{
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
{
if(!$header)
$header = $row;
else
$data[] = array_combine($header, $row);
}
fclose($handle);
}
return $data;
}
CSV像这样
"usename","password" #Header
"robert 1", you_wish
"robert 1", you_wish
输出像这样:
Array
(
[0] => Array
(
[username] => robert 1
[password] => you_wish
)
[1] => Array
(
[username] => robert 2
[password] => you_wish
)
)
一个简单的WA ❖要做到这一点,将UNIQUE约束放在数据库中的用户名和电子邮件字段上,并在尝试插入新的(用户名,密码,名字,姓氏,电子邮件)元组时查找违反约束的操作。如果您将这些字段中的一个字段作为主键进行了删除,那么它已经有了一个唯一的约束条件。
此外,我希望你实际上不是直接在数据库中存储密码......?
您很可能需要在几个步骤中完成此操作。
接收通过上传 形式(或其他方式)的文件
读取文件大小(你可能 只是用它 被上传到tmp目录的位置,或给它一个 临时名称)
分析每一行和核对 数据库
写的所有有效行到 永久位置
我得到阵列阵列 ( [0] => Array([username] => uname1 [fname] => fname1 [lname] => lname1 [email] => [email protected]) [1] => Array([username] => uname2 [fname] => fname2 [lname] => lname2 [email] => [email protected]) = => fname1 [lname] => lname1 [email] => [email protected]) [3] => Array([username] => uname3 [fname] => fname3 [lname] => lname3 [email] => > email3 @电子邮件。COM) ) 除去阵列2自UNAME和电子邮件是相同的,如ARRAY0 ?????? – ronnie 2010-09-10 20:51:49
我得到阵列阵列 ( [0] => Array([username] => uname1 [fname] => fname1 [lname] => lname1 [email] => [email protected]) [1] =>阵列([用户名] => uname2 [FNAME] => fname2 [L-NAME] => lname2 [电子邮件] => [email protected]) [2] =>数组([用户名] => uname1 [FNAME] => fname1 [L-NAME] => lname1 [电子邮件] => [email protected]) [3] =>数组([用户名] => uname3 [FNAME] => fname3 [L-NAME] => lname3 [电子邮件] = > [email protected]) ) 除去阵列2自UNAME和电子邮件是相同的,如ARRAY0 ?????? – ronnie 2010-09-10 20:54:23
我会尽力感谢 – ronnie 2010-09-10 20:41:27
有重复检查FRM http://stackoverflow.com/questions/1139571/remove-dupes-sort-from-a-array- of-associative-arrays-in-php – ronnie 2010-09-10 22:25:45
@ronnie,你是什么意思? – RobertPitt 2011-04-21 23:13:38