On 11/5/07, Jon Westcot <[EMAIL PROTECTED]> wrote:
> 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;");
^
>From The Manual...
**
*mysql_query*
A SQL query
The query string should ___not___ end with a semicolon.
> 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>
hth,
David