我正在将文件中的数据添加到我的数据库中。目前,文件的位置仅限于目录D:/
内的位置。我希望能够支持从多个目录添加文件。
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "stdprt";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$filename = "d:/" . $_POST['fname'];
$handle = fopen($filename, "r");
while (($data = fgetcsv($handle)) !== FALSE) {
$num = count($data);
$row;
$sql = "INSERT into marks(regno,semister,subcode,subname,internals,externals,credits)values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]')";
//echo "INSERT into marks(regno,semister,subcode,subname,internals,externals,credits)values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]')";
if ($conn->query($sql) === TRUE) {
// echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
echo "<br>";
}
?>
<h2>Uploaded Successfully....</h2>
<a href="admin.php">back</a>
答案 0 :(得分:0)
如果您想在另一个驱动器中选择一个文件,可以在代码中修改此行并在开始时更改目录。
$filename="d:/".$_POST['fname'];
因此,例如,如果您想将目录更改为驱动器F,则会如此:
$filename="f:/".$_POST['fname'];
如果您希望能够在请求中指定自定义目录,则可以通过传递fname
的方式传递它。比如说,您在名为cust_dir
的密钥中传递了自定义目录,您可以将其添加为目录,如此。
if($_POST['cust_dir']{
$filename=$_POST['cust_dir'].$_POST['fname'];
} else {
$filename="d:/".$_POST['fname'];
}
上面的代码将使用您在$ _POST变量中传递的自定义目录路径(如果您传递了该路径)。如果您未通过cust_dir
,则默认为目录d:/
。