Jump to content

import csv file into mysql with file path in a textbox


iojbr
Go to solution Solved by Muddy_Funster,

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>

 

 

Link to comment
Share on other sites

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>";
Link to comment
Share on other sites


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']);

}

}

?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.