Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // config.php
- <?php
- //connections here
- $servername = "localhost";
- $username = "root";
- $password = "";
- $dbname = "Software";
- $conn = new mysqli($servername, $username, $password, $dbname);
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- } ?>
- <form action="upload.php" method="post" enctype="multipart/form-data">
- <input type="file" name="csv" value="" />
- <input type="submit" name="submit" value="Save" />
- </form>
- <?php
- $csv = array();
- $batchsize = 10000; //split huge CSV file by 1,000
- if($_FILES['csv']['error'] == 0){
- $name = $_FILES['csv']['name'];
- $value = explode('.', $_FILES['csv']['name']);
- $ext = strtolower(end($value));
- $tmpName = $_FILES['csv']['tmp_name'];
- if($ext === 'csv'){ //check if uploaded file is of CSV format
- if(($handle = fopen($tmpName, 'r')) !== FALSE) {
- set_time_limit(0);
- $row = 0;
- while(($data = fgetcsv($handle)) !== FALSE) {
- $col_count = count($data);
- //splitting of CSV file :
- if ($row % $batchsize == 0):
- $file = fopen("minpoints$row.csv","w");
- endif;
- $csv[$row]['col1'] = $data[0];
- $csv[$row]['col2'] = $data[1];
- $min = $data[0];
- $points = $data[1];
- $json = "'$min', '$points'";
- fwrite($file,$json.PHP_EOL);
- //sending the splitted CSV files, batch by batch...
- if ($row % $batchsize == 0):
- echo "<script> senddata('minpoints$row.csv'); </script>";
- endif;
- $row++;
- }
- fclose($file);
- fclose($handle);
- }
- }
- else
- {
- echo "Only CSV files are allowed.";
- }
- //alert once done.
- echo "<script> alert('CSV imported!') </script>";
- }
- ?>
- <?php
- include('config.php');
- $data = $_POST['file'];
- $handle = fopen($data, "r");
- $test = file_get_contents($data);
- if ($handle) {
- $counter = 0;
- //instead of executing query one by one,
- //1 SQL query that will insert all values from the batch
- $sql ="INSERT INTO table_test(phone_number,first_name,last_name,address,city,state,zipcode) VALUES ";
- while (($line = fgets($handle)) !== false) {
- $sql .= "($line),";
- $counter++;
- }
- $sql = substr($sql, 0, strlen($sql) - 1);
- if ($conn->query($sql) === TRUE) {
- } else {
- }
- fclose($handle);
- } else {
- }
- //unlink CSV file once already imported to DB to clear directory
- unlink($data);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement