Jump to content

import csv file into mysql with file path in a textbox


iojbr

Recommended Posts

Hi:

 

I am a newb to php.  I am using the following code snippet (see below) to create an html form that will open a file browser, allow the user to select a file (.csv), and input that file path into a textbox on the form.  How can I use php to extract this file path from the text box. and import the specified file into a MySQL table?  I have been reading up on the fOpen function, but I am difficulty figuring out how to accomplish what I want with this function.  Thank you for your help.

 

 

<form action="php_script.php" method="post">

<input type="file" name="file_upload" />

<input type="submit" name="submit" value=" Submit" value=" Submit " />

< /form>

 

 

Look at str_getcsv()

error_reporting(E_ALL);
ini_set('display_errors', true);


$file="spreadsheet-file.csv";
$csv= file_get_contents($file);


$array = array_map("str_getcsv", explode("\n", $csv));


echo "<pre>", print_r($array), "</pre>";


$tdata = null;
foreach($array as $k=>$v) {
   $tdata[$k][] = $v;
}
echo  "<pre>", print_r($tdata), "</pre>";

Thanks for the reply. This is my code so far. I got as far as uploading a test csv file into the default htdocs directory in Apache, but it gave me a error message:

/Array ( [name] => Test File.csv [type] => application/vnd.ms-excel [tmp_name] => C:\Windows\Temp\phpF029.tmp [error] => 0 [size] => 54 )

I have included the code for the two .php files below. Thanks for replying.


1) first php file for opening a file browser window to select the .csv file I want to import:


<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="csv_import_connect_db.php" method="POST">
<!-- MAX_FILE_SIZE must precede the file input field -->
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<!-- Name of input element determines name in $_FILES array -->
Send this file: <input name="csv_file" type="file" />
<input type="submit" value="Send File" />
</form>

2) The second php file for uploading that file into the htdocs/csv_dir folder:


/<?php
//conection:
$link = mysqli_connect("localhost","root","pancor01","Test") or die("Error " . mysqli_error($link));

//check for file upload

if(isset($_FILES['csv_file']) && is_uploaded_file($_FILES['csv_file']['tmp_name'])){

//upload directory

$upload_dir = "csv_dir/";

//create file name

$file_path = $upload_dir . $_FILES['csv_file']['name'];

//move uploaded file to upload dir

if (!move_uploaded_file($_FILES['csv_file']['tmp_name'], $file_path)) {

//error moving upload file

echo "Error moving file upload";

} else {

print_r($_FILES['csv_file']);

}

}

?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.