从php [copy]中的csv文件中读取大数据
发布时间:2020-12-13 21:28:24 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 file_get_contents = PHP Fatal error: Allowed memory exhausted????????????????????????????????????3个 我正在读csv用mysql检查记录是否存在于我的表中或不存在于php中. csv有大约25000条记录当我运行我的代码时,它在2分10秒后显示“服务不
参见英文答案 >
file_get_contents => PHP Fatal error: Allowed memory exhausted????????????????????????????????????3个
我正在读csv&用mysql检查记录是否存在于我的表中或不存在于php中. csv有大约25000条记录&当我运行我的代码时,它在2分10秒后显示“服务不可用”错误(onload:2m 10s) 这里我添加了代码 // for set memory limit & execution time ini_set('memory_limit','512M'); ini_set('max_execution_time','180'); //function to read csv file function readCSV($csvFile) { $file_handle = fopen($csvFile,'r'); while (!feof($file_handle) ) { set_time_limit(60); // you can enable this if you have lot of data $line_of_text[] = fgetcsv($file_handle,1024); } fclose($file_handle); return $line_of_text; } // Set path to CSV file $csvFile = 'my_records.csv'; $csv = readCSV($csvFile); for($i=1;$i<count($csv);$i++) { $user_email= $csv[$i][1]; $qry = "SELECT u.user_id,u.user_email_id FROM tbl_user as u WHERE u.user_email_id = '".$user_email."'"; $result = @mysql_query($qry) or die("Couldn't execute query:".mysql_error().''.mysql_errno()); $rec = @mysql_fetch_row($result); if($rec) { echo "Record exist"; } else { echo "Record not exist"; } } 注意:我只想列出我表中不存在的记录. 请建议我解决这个问题…… 解决方法
处理大文件的一种很好的方法是:
https://stackoverflow.com/a/5249971/797620
此方法在http://www.cuddlycactus.com/knownpasswords/(页面已被删除)中使用,仅在几毫秒内搜索1.7亿个密码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |