Posts tagged: 技术文章

php读取csv数据

csv文件类似于excel,可以存储和处理一些数据,csv可以把数据导入到数据库中,前提是结构一样,但是,遇到结构不一样的csv就要把它里面的数据读出来,处理一下,就可以入库了。本文介绍的就是用php读取csv的方法。
很多时候,数据需要进入不同的数据存储仓库,今天就遇到这个问题,客户发来14万条记录的csv文件(不了解csv的童鞋可以google一下),没有办法,只好自己把凌乱的csv读出来,然后保存进数据库,下面我把代码贴出来,分享一下。

<?php
 
         $file_name='_upload/csv/'.$_FILES['file_name']['name'];  //上传路径
		if($open_file=fopen($file_name,"r")){
                    $handle = fopen($file_name,"r");
		    $row=1;
		    $i=0;
                       while($open_fileline=fgetcsv($handle,255)){
 
				$insert_array[$i]['firstname']=$open_fileline[0];
				$insert_array[$i]['lastname']=$open_fileline[1];
				$insert_array[$i]['gender']=$open_fileline[2];
				$insert_array[$i]['dob']=$open_fileline[3];
				$insert_array[$i]['country']=$open_fileline[4];
				$insert_array[$i]['nric_id']=$open_fileline[5];
				$insert_array[$i]['email']=$open_fileline[6];
				$insert_array[$i]['password']=$open_fileline[7];
				$insert_array[$i]['re_password']=$open_fileline[8];
				$insert_array[$i]['mobile_phone']=$open_fileline[9];
				$insert_array[$i]['Nationality']=$open_fileline[10];
				$insert_array[$i]['address1']=$open_fileline[11];
				$insert_array[$i]['zip_code']=$open_fileline[12];
				$insert_array[$i]['Company']=$open_fileline[13];
				$insert_array[$i]['Emergency_contact']=$open_fileline[14];
				$insert_array[$i]['Emergency_number']=$open_fileline[15];
				$insert_array[$i]['relationship']=$open_fileline[16];
				$insert_array[$i]['Job']=$open_fileline[17];
				$insert_array[$i]['TeeShirtOrder']=$open_fileline[18];
				$insert_array[$i]['Bloodgroup']=$open_fileline[19];
				$insert_array[$i]['MedConditions1']=$open_fileline[20];
				$insert_array[$i]['MedTreat1']=$open_fileline[21];
				$insert_array[$i]['Consent']=$open_fileline[22];
				$insert_array[$i]['actual_price']=$open_fileline[27];
				$insert_array[$i]['Swim_trial']=$open_fileline[28];
				$insert_array[$i]['ChampionShip']=$open_fileline[29];
				$insert_array[$i]['ChampionShip_number']=$open_fileline[30];
				$insert_array[$i]['team_mode']=$open_fileline[31];
				$insert_array[$i]['datetime_submission']=date("Y-m-d H:i:s");
 
 
				//unset($insert_array['0']);
				//unset($category_array['0']);
				if($i>1){        //除去标题
				           print_r($insert_array[$i]);
				           echo 'Row:'.$i.' import Success<br />';
 
				}
				$i++;
			}
				//unset($insert_array['0']);
				fclose($handle);
 
 
 
		}else{
			echo 'error';
		}
 
?>

多用户权限控制思路

(文章来源于 CodeIgniter 中国开发者社区, 个人觉得思路很不错,就转过来了!)
在处理OA系统时,我们不可避免的面临着众多的角色,而且令人头疼的是,我们还会面临一人身兼多职的情况,也就是说一个人拥有多个权限,所以一套完备的权限控制系统成为一个OA系统健壮性的首要条件。

那么怎样方便的给某个角色赋予多个权限,怎样判断某个角色是否含有某特定权限,又怎样来删除掉多个权限中的某个一个权限呢,等等问题需要解决。为了说明这些问题的解决思路,我们假设系统中一共拥有15个角色,分别为:普通用户、营员、外语选手、通讯录、软件选手、校方负责人、评审专家、指导老师、准命题老师、命题老师、就业服务人员、编辑、命题评审组长、大赛负责人、管理员、培训老师。我们用15位二进制来表现他们的权限值。权限的对应关系如下表: Read more »

WordPress Theme Design

Free Web Hosting