Hi all:
As requested, here's the code:
<?php
if(isset($_POST['process'])){
$old_session_gc_maxlifetime = "";
$old_max_execution_time = "";
$old_max_input_time = "";
$old_session_gc_maxlifetime = ini_set("session.gc_maxlifetime","1800");
$old_max_execution_time = ini_set("max_execution_time","1800"); // 30
minutes
$old_max_input_time = ini_set("max_input_time","1800"); // 30
minutes -- doesn't work
echo "<p>Session.gc_maxlifetime: " . ini_get("session.gc_maxlifetime") .
"</p>\n"; // shows 1800
echo "<p>Max execution time: " . ini_get("max_execution_time") .
"</p>\n"; // shows 1800
echo "<p>Max input time: " . ini_get("max_input_time") . "</p>\n";
// shows -1
ignore_user_abort(TRUE);
set_time_limit(0);
$query = mysql_query("TRUNCATE evall;");
echo "<p>Results of Truncate: $query</p>\n";
$myfile_replace = "uploads/evall.csv";
$handle = @fopen($myfile_replace, 'rb');
$save_handle = @fopen("tmp/sql_calls.txt", "wb");
$process_count = 0;
if(!$handle) {
echo "<p>The file ($myfile_replace) could not be opened.<br
/></p>\n";
flush();
} else {
echo "<p>The file ($myfile_replace) opened correctly.<br /></p>\n";
flush();
$headings = fgetcsv($handle, 10000, ","); // Just ignore the first
row returned.
$row = 0;
while (($data = fgetcsv($handle, 10000, ",")) !== FALSE) {
$row++;
$num = count($data);
$insert_query = "INSERT INTO evall VALUES(";
for ($c=0; $c < $num; $c++) {
if($c > 0) {
$insert_query .= ",";
}
$insert_query .= '"' . $data[$c] . '"';
}
$insert_query .= ");";
if(fwrite($save_handle, $row . "; " . strlen($insert_query) . ":
" . "\n") === FALSE) {
echo "<p>The query could not be written.</p>\n";
} else {
$process_count++;
}
if($row % 1000 == 0) {
echo "$row records processed so far<br />\n";
flush();
}
}
echo "<p>File import completed. $row records read; $process_count
records added.</p>\n";
flush();
fclose($save_handle);
fclose($handle);
}
ini_set("session.gc_maxlifetime",$old_session_gc_maxlifetime);
ini_set("max_execution_time",$old_max_execution_time);
ini_set("max_input_time",$old_max_input_time);
}
?>
<form name="form" enctype="multipart/form-data" action="<?php echo
$_SERVER['PHP_SELF']; ?>" method="POST" >
<p>Version 1.9 -- The file uploading process presupposes that the user
has uploaded the EVAll.CSV
file to the "uploads" folder. If this has been done and you're
ready to process
it, click the <Process> button.</p>
<input type="submit" name="process" value="Process" /><br/><br/>
</form>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php