提交我怎么能捕获“nicefile.csv”,并在文件中计算行数后,我从形式POST提交后?我尝试了类似$csvlinecount = count(file('$_FILES[csv]'));
而没有结果。原因是我有我的数据库中的行之前和之后我导入csv值,但我在整理重复条目的行数的代码。因此,知道前面的条目数是100还是200后很有趣,然后我知道它导入了100条新线。但是,如果我不知道csv文件中的行数,我不知道它在导入过程中跳过了多少。计数线以CSV文件形式
<?php
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
mysql_query("INSERT IGNORE INTO wifi (bssid, channel, privacy, ciper, auth, power, essid, latitude, longitude, first_seen, last_seen) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."',
'".addslashes($data[3])."',
'".addslashes($data[4])."',
'".addslashes($data[5])."',
'".addslashes($data[6])."',
'".addslashes($data[7])."',
'".addslashes($data[8])."',
'".addslashes($data[9])."',
'".addslashes($data[10])."'
)
");
}
} while ($data = fgetcsv($handle,1000,","));
//redirect
header('Location: index.php/upload?success=1'); die;
}
//Count after import
$after = mysql_query("SELECT * FROM wifi");
$num_rows_after = mysql_num_rows($after);
//echo stats
echo "Number of rows before - ";
echo "$num_rows_before";
<br>
echo "Number of rows after - ";
echo "$num_rows_after";
//generic success notice
if (!empty($_GET[success])) { echo "<br><b>Result: Your file is imported!</b><br>"; }
//Close connection to databse
mysql_close($connect) ;
?>
数'和addslashes()不推荐'。相反,尝试[PDO](http://php.net/pdo) –
或'mysql_real_escape_string()'在最低限度。 –