【发布时间】:2017-10-25 20:53:05
【问题描述】:
您好,我想知道如何跳过 csv 中的某些列/行。我有一个表格可以将 cvs 上传到 MySQL 并且工作正常,我也知道如何跳过 csv 的第一行,但是我需要上传的文件格式对我来说似乎很难。这是我的代码:
<body>
<div class="container">
[enter image description here][1]<?php
if(isset($_POST['uploadBtn'])){
$fileName=$_FILES['myFile']['name'];
$fileTmpName=$_FILES['myFile']['tmp_name'];
//FILE PATH
$fileExtension=pathinfo($fileName,PATHINFO_EXTENSION);
//ALLOWED FILE TYPES
$allowedType = array('csv');
if(!in_array($fileExtension,$allowedType)){?>
<div class="alert alert-danger">
INVALID FILE
</div>
<?php }else{
$handle = fopen($fileTmpName, 'r');
fgetcsv($handle);///////////////// SKIP FIRST ROW
while (($myData = fgetcsv($handle,1000,','))!== FALSE){
$name = $myData[0];
$email = $myData[1];
$query = "INSERT INTO databse.excel_table (name,email)
VALUES ('".$name."','".$email."')";
$run = mysql_query($query);
}
if(!$run){
die("error in uploading file".mysql_error());
}else{ ?>
<div class="alert alert-success">
SUCCESS
</div>
<?php }
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<h3 class="text-center">
RESULTS
</h3></hr>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="file" name="myFile" class="form-control">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="submit" name ="uploadBtn" class="btn btn-info">
</div>
</div>
</div>
</form>
</div>
</body>
</html>
提前致谢。 example of csv
【问题讨论】:
-
这些特定行的条件是什么?为什么不使用
if-then子句? -
我需要上传从 D 15 到 D38 的所有值,但我不知道如何