![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
prosze Was o pomoc, od paru godzin nie potrafie ugrysc problemu. Z tego co wyczytałem z książek i inetu aby zaimportowa masowo dane z pliku do bazy MySQL wystarczy użyc polecenia LOAD DATA INFILE i wszystko było by fajnie gdyby nie to iż ja te dane chce podgrywac z komputera zdalnie laczacego sie poprzez protokul http (po zalogowaniu na strone). W tym wypadku powinienem użyc polecenia LOAD DATA LOCAL INFILE ale wysypuje mi bledami - File 'c:\pliki\dddd.csv not found Errcode 2'; Pare godzin już z tym siedze i chyba chodzi tu o backslash. Używalem już nie jednej funkcji ale nie moge dojsc co jest nie tak. Zauważylem że jak podgrywam z localhosta to w sciezce dostepu do pliku dodawany jest dodatkowy backslash czyli adres wyglada wtedy nastepujaco 'c:\\pliki\\dddd.csv'. Posuwając sie dalej postanowilem dodac te slashe ale zawsze dodaje mi tylko do pierwszego wystapienia czyli c:\\ a dalej tak jak by nie widzial stringa. Prosze pomozcie bo juz nie mam pomyslu. Chciałbym uniknac niepotrzebnego otwierania pliku i ladowania wszystkiego insertami. Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Napisz jeszcze jakie to dane w jakim formacie czy to SQL czy CSV. Bo przeciez mozesz uzyc impor source no i laod
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
dane są w formacie csv
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 26.03.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja to rozwiązałem tak (być może są w tym jakieś błędy, ale dane są ładowane do tabeli):
Cytat <?php
include ('polacz.php'); if ($_POST["wyslij"]==1) { $plik_nazwa_tmp = ($_FILES["plik1"]["tmp_name"]); $plik_nazwa_oryginalna = $_FILES["plik1"]["name"]; $plik_wielkosc = $_FILES["plik1"]["size"]; if (is_uploaded_file($_FILES["plik1"]["tmp_name"])) { move_uploaded_file($plik_nazwa_tmp, "/tmp/$plik_nazwa_oryginalna"); chmod("/tmp/$plik_nazwa_oryginalna", 0664); $wynik = mysql_query("LOAD DATA LOCAL INFILE '/tmp/$plik_nazwa_oryginalna' IGNORE INTO TABLE nazwa_tabeli CHARACTER SET 'cp1250' FIELDS TERMINATED BY '|'"); if ($wynik) echo "Tabela została wypełniona danymi z pliku."; else echo "Błąd w zapytaniu SQL: ".mysql_error(); mysql_close($baza); } } ?> <form action="index.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="wyslij" value="1" /> <input type="hidden" name="MAX_FILE_SIZE" value="900000" /> <br /><input name="plik1" type="file" /> <br /><input type="submit" value=" Wstaw dane do tabeli " /> </form> Ten post edytował Arti79 26.10.2007, 14:05:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:54 |