Ich füge Daten aus einer Datei zu meiner Datenbank. Derzeit ist der Speicherort der Dateien nur auf diejenigen innerhalb des Verzeichnisses D:/
beschränkt. Ich möchte in der Lage sein, das Hinzufügen von Dateien aus mehreren Verzeichnissen zu unterstützen.So laden Sie eine CSV-Datei aus einem Verzeichnis in die Datenbank
<?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>
nicht pedantisch sein, aber, Sie nicht eine Datei hochladen, lesen Sie nur eine auf dem lokalen Server. und durch das Aussehen der Code-Last Daten infile wäre eine viel bessere Idee https://dev.mysql.com/doc/refman/5.7/en/load-data.html – nogad
$ filename = "d: /". $ _POST ['fname']; Es akzeptiert nur Daten von d Laufwerk. Also muss ich nicht d fahren, ich möchte von jedem Laufwerk hochladen. – Naveen
@Naveen Wie Nogad darauf hingewiesen hat, laden Sie nichts hoch. Die Tatsache, dass der Client und der Server dieselbe Maschine sind, verursacht Verwirrung. Sie müssen in der Lage sein, Daten vom Client (Browser) auf den Server (PHP/Apache) hochzuladen. –