Importuję dane z pliku csv do bazy danych. Skrypt wygląda tak:
//formularz
echo '<form action="dodaj.php" method="get"> <input type="hidden" name="add" value="dodaj" />
<input type="submit" value="dodaj" />
</form>';
// jesli add = dodaj, wykonaj skrypt
$add = $_GET['add'];
if ($add == 'dodaj')
{
//definiowanie atrybutow
$fieldseparator = ";";
$lineseparator = "\n";
$csvfile = "firmy.csv";
echo "Plik nie istnieje. Upewnij się, że umieściłeś go w katalogu skryptu.\n"; }
$file = fopen($csvfile,"r"); if(!$file) {
echo "Błąd podczas otwierania pliku.\n"; }
if(!$size) {
echo "Plik jest pusty.\n"; }
$csvcontent = fread($file,$size);
conn();
$lines = 0;
$queries = "";
foreach(split($lineseparator,$csvcontent) as $line) {
$lines++;
$line = trim($line," \t"); $linearray = explode($fieldseparator,$line); $linemysql = implode("','",$linearray); $query = "insert into firmy values('$linemysql');";
$queries .= $query . "\n";
}
echo "Znaleziono $lines rekordów w pliku CSV. Wszystkie zostały dodane do bazy poprawnie.\n"; }
?>
Skrypt działa bardzo dobrze.
Chciałbym żeby rekordy które wgrywam o jakimś ID zastępowały rekordy które są już w bazie z takim samym ID.
Ten post edytował Cromwell 30.11.2009, 16:12:11