Skip to content

Instantly share code, notes, and snippets.

@amin007
Last active May 11, 2016 17:08
Show Gist options
  • Save amin007/897d9291b9d82f3b9746e0602919ce27 to your computer and use it in GitHub Desktop.
Save amin007/897d9291b9d82f3b9746e0602919ce27 to your computer and use it in GitHub Desktop.
upload-csv-file-with-file-name-into-mysql-using-php
<?php
function tambahSqlBanyakNilai($myTable, $medan, $senaraiData)
{
//echo '<pre>$data->', print_r($data, 1) . '</pre>';
# set sql
$sql = "INSERT INTO $myTable\r($medan) VALUES \r";
$sql .= implode(",\r", $data) . ";";
echo '<pre>$sql->', print_r($sql, 1) . '</pre>';
# bertaubatlah dari guna mysql_query
# gunalah mysqli atau pdo
mysql_query($sql) or die(mysql_error());
}
function panggilMedan($posmen)
{
$medan = '`' . implode("`,`", $posmen[0] ) . '`'; # buat medan
//echo '$medan = ' . $medan . '<hr>';
# pulangkan pemboleubah
return $medan;
}
function panggilBanyakData($posmen)
{
$dataS = array();
foreach($posmen as $key=>$data):
if($key!=0)
$dataS[$key] = "('" . implode("','", $data ) . "')";
endforeach;
//echo '<pre>$dataS = ' . $dataS . '</pre><hr>';
# pulangkan pemboleubah
return $dataS;
}
function semakfail($fail, $bacaData)
{
$kira = 0;
# buka fail
if (($handle = fopen($fail, "r")) !== FALSE)
{
while (($baris = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$bacaData[$kira] = explode(';', $baris[0]);
$kira++;
}
}
fclose($handle);
return $bacaData; # pulangkan pembolehubah
}
function masukkanFail()
{
if (is_uploaded_file($_FILES['filename']['tmp_name']))
{
echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
echo "<h2>Displaying contents:</h2>";
readfile($_FILES['filename']['tmp_name']);
}
$posmen = semakfail($_FILES['filename']['tmp_name'], array());
$medan = panggilMedan($posmen);
$senaraiData = panggilBanyakData($posmen);
# pulangkan pemboleubah
return array($medan,$senaraiData);
}
$deleterecords = "TRUNCATE TABLE upload"; //empty the table of its current records
# bertaubatlah dari guna mysql_query
# gunalah mysqli atau pdo
mysql_query($deleterecords);
//Upload File
if (isset($_POST['submit']))
{
$myTable = 'upload';
list($medan,$senaraiData) = masukkanFail();
tambahSqlBanyakNilai($myTable, $medan, $senaraiData);
print "Import done. Please go to page:<a href='entry.php'><h5><b>Entry & Export CSV File</b></h5></a>";
}else {//view upload form
?>Please select a <b>NEW</b> .CSV file by clicking Choose File button. "
Click on Upload button <b>ONLY</b> after a .CSV file has been browsed and selected. <p>&nbsp;</p><br/>
<form enctype="multipart/form-data" action="uploadcsv.php" method="post">
File name to import & upload:<br />
<input size='50' type='file' name='filename'><br/>
<input type='submit' name='submit' value='Upload'>
</form>
<?php
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment