PHP szkript importálni csv adatokat mysql

Február 19, 2007

Ez egy egyszerű script, amely lehetővé teszi, hogy a behozatali csv adatokat az adatbázis. Ez akkor kényelmes, mert egyszerűen szerkesztheti a megfelelő mezőkbe, töltsd fel együtt a csv fájl, és hívja ki a weben, és a többit.

Ez lehetővé teszi, hogy meghatározza az elválasztó ebben a csv fájl, függetlenül attól, hogy kómában van, a fül, stb Azt is lehetővé teszi, hogy úgy döntött, a vonal elválasztó, lehetõvé teszi, hogy a kimenetet egy fájlba (ismert adat sql dump).

Azt is lehetővé teszi, hogy Ön is egy üres mező elején minden sorban, ami általában egy automatikus növekedés egész elsődleges kulcs.

Ez a szkript akkor hasznos, főleg, ha nincs phpmyadmin, vagy nem akarja a szóváltás a bejelentkezés és inkább néhány kattintással megoldást, vagy egyszerűen csak egy parancssort srác.
Csak győződjön meg róla, a táblázat a már létrehozott előtt próbál dump az adatokat.
Kedves tegye meg észrevételeit, ha van bármilyen hibajelentést.

Fájl letöltése itt

Címkék:
  1. Munka és elemzés CSV szöveges fájlok és a PHP
    Május 15, 2011 at 17:52
    # 1
  2. Joln
    Május 11, 2011 at 07:52

    Nagy forgatókönyvet! Tnx nagyon

  3. Umair
    Május 2, 2011 at 07:39

    Hi ...
    Én néző egy probléma, mikor használja ezt, a mutató egy hiba mondás
    "Elavult: Funkció split () elavult a C: \ wamp \ www \ teszt1 \ simplecsvimport.php on line 64
    Fájl nem írható, ellenőrizze a jogosultságokat. Találtam egy összesen 41 nyilvántartások ebben a csv fájlt. "

    Pls válasz, mi a baj!
    Előre is köszönöm!

  4. justkid
    Április 7, 2011 at 10:25

    Én igazán összekeverni ezt a kódot!
    de szokás, hogy próbálja ki!
    BTW, hogy a kódot vagy a helyszínen html hívni ezt a kódot

  5. Jorge Dias
    Március 14., 2011 at 19:01

    Köszönöm, nagyon jó csv importőr.
    De találtam egy kis probléma, hogy csak akkor működik, csv fájl szerkezetét: "mező1", "field2", "field3", stb, de Hava egy CSV-fájlt, mint ez: mező1; field2, filed3, stb.

    Az egyetlen dolog, amit a változás $ fieldseparator, de hogyan tudom "mondani" a forgatókönyvet, hogy a fájl nem használ "(mezőelválasztóként)?
    Saját ideia volt legördülő menüből a $ fieldseparator (vagy ;) és egy másik a $ fielddelimiter ("vagy semmi)

    Előre is köszönöm.

  6. Rozsdás
    Február 3, 2011 at 14:56

    Bármilyen ötletet, hogyan lehet ezt a szkriptet a munka mezők mellékelve vannak idézőjelek, hogy mezőket vesszővel bennük nem kap olvasni, mint egy új bejegyzés?

    Van adatokat tartalmazza, mint a vessző dollár összegek és a hozzászólások részben, ahol a felhasználók esetleg használt vessző. Szükségem van az egész területen importált és ezt a szkriptet kezeli őket, mint az új területeken.

  7. qwewe
    Január 23, 2011 at 14:56

    @ Mark Cloyd
    "Cím = VALUES (cím)
    Kapok egy hiba itt Parse error: syntax error, váratlan '='

  8. ronbowalker
    Január 15, 2011 at 17:54

    @ Joofoo
    Nekem van töltve a kódot, de még sincs naprakész információk a MySQL adatbázis ...

    CSV tartalmaz:
    Fejléc -> felhasználónév, jelszó, üzenet, e-mail, kép, dátum
    ROW2 -> Bill, haver,,,,
    Row3 -> Jane, gal,,,,
    Row4 -> David, gyermek,,,,

    És itt van a kód ...:
    <? Php

    / / Set-up iphonelogin.php fájl "távoli" mappában ...
    / * Csatlakozni a db * /
    / / $ Link = mysql_connect ('ronbo.db.6405862.hostedresource.com', 'ronbo', 'Pepper0689 ") or die (" Nem lehet kapcsolódni a DB ");
    / / Mysql_select_db ("ronbo", $ kapcsolat) or die ("Nem sikerült kiválasztani a DB");

    / / http://www.ihappyapps.com/DataFolder/loader.php
    /********************************/
    / * Törvénykönyv http://legend.ws/blog/tips-tricks/csv-php-mysql-import/
    / * A bejegyzések szerkesztése alatt, hogy az tükrözze a megfelelő értékeket
    /********************************/
    $ Databasehost = "dbhost címen";
    $ Adatbázisnév = "név";
    $ Databasetable = "table";
    $ Databaseusername = "username";
    $ Databasepassword = "password";
    $ Fieldseparator = "";
    $ Lineseparator = "\ n";
    $ Csvfile = "spreadsheet.csv";
    /********************************/
    $ Addauto = 1;
    /********************************/
    $ Save = 0;
    $ Kimeneti_fájl = "output.sql";
    /********************************/

    if (! file_exists ($ csvfile)) {
    echo "szerver van a kérését, de a CSV-fájlban szeretné betölteni az adatbázis nem jelen ... .. \ n";
    exit;
    }

    $ Chunksize = 1 * (1024 * 1024);
    $ File = fopen ($ csvfile, "rb");
    if (! $ file) {
    echo "Nem sikerült megnyitni adatfájlt. \ n";
    exit;
    }

    $ Size = filesize ($ csvfile);

    if (! $ méret) {
    echo "A fájl üres. \ n";
    exit;
    }

    $ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
    @ Mysql_select_db ($ adatbázisnév) or die (mysql_error ());

    $ Sor = 0;
    $ Lekérdezések = "";
    while (! feof ($ file)) {
    $ Csvline = fgets ($ file, $ chunksize);

    $ Sor + +;
    if ($ sor <2) folytatódik;

    $ Sor = trim ($ csvline, "\ t");

    $ Sor = str_replace ("\ r ","",$ sor);

    /************************************************* ************************************************** *********
    Ez a vonal sem kerüli el a különleges karaktert. eltávolítani, ha bejegyzések már megszökött a csv fájlban
    ************************************************** ************************************************** ********/
    $ Sor = str_replace ("'"," \ '", $ line);
    /************************************************* ************************************************** ********/

    $ Linearray = explode ($ fieldseparator, $ line);

    $ Linemysql = implode ("','",$ linearray);

    $ Query = "insert into $ databasetable értékek (" $ linemysql');";

    if ($ menteni) $ lekérdezések .= $ query. "\ N";

    @ Mysql_query ($ query);
    echo $ sor. "\ n";
    }
    fclose ($ file);

    $ Vonalak -= 3;

    @ Mysql_close ($ con);

    <>

    Én tényleg jönne egy kis segítség abban, hogy ezt a munkát ...
    Ron

  9. joofoo
    Január 11, 2011 at 11:16

    @ Roy
    Én módosította a forgatókönyvet, úgy, hogy az általa fogyasztott sokkal kevesebb memóriát feldolgozása során nagy fájlokat (megüt php memória korlát amikor megpróbáltam használni egy 100MB CSV fájl). A változtatások a következők:


    $chunksize = 1*(1024*1024);
    $file = fopen($csvfile,"rb");
    if(!$file) {
    echo "Error opening data file.\n";
    exit;
    }

    $ Size = filesize ($ csvfile);

    if (! $ méret) {
    echo "A fájl üres. \ n";
    exit;
    }

    $ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
    @ Mysql_select_db ($ adatbázisnév) or die (mysql_error ());

    $ Sor = 0;
    $ Lekérdezések = "";
    while (! feof ($ file)) {
    $ Csvline = fgets ($ file, $ chunksize);

    $ Sor + +;
    if ($ sor <2) folytatódik;

    $ Sor = trim ($ csvline, "\ t");

    $ Sor = str_replace ("\ r ","",$ sor);

    /************************************************* ************************************************** *********
    Ez a vonal sem kerüli el a különleges karaktert. eltávolítani, ha bejegyzések már megszökött a csv fájlban
    ************************************************** ************************************************** ********/
    $ Sor = str_replace ("'"," \ '", $ line);
    /************************************************* ************************************************** ********/

    $ Linearray = explode ($ fieldseparator, $ line);

    $ Linemysql = implode ("','",$ linearray);

    $ Query = "insert into $ databasetable értékek (" $ linemysql');";

    if ($ menteni) $ lekérdezések .= $ query. "\ N";

    @ Mysql_query ($ query);
    echo $ sor. "\ n";
    }
    fclose ($ file);

    $ Vonalak -= 3;

    @ Mysql_close ($ con);

    Köszönöm,

  10. Khaled A.
    Január 11, 2011 at 10:35

    @ Khaled A.
    Hogyan lehet excel export UTF8 a output.sql
    köszönöm

  11. Khaled A.
    Január 11, 2011 at 09:46

    Próbáltam a forgatókönyvet, de a output.sql az írott furcsa dolgok,
    insert into test_excel értékek ("PK! | Q? k5? q? Q? k5? q? Q? k5? q? ....

    mint ezek a dolgok
    Hogyan tudom kijavítani ezt a problémát. különleges formáját az Excel adatlap?

  12. Nyúlkert
    December 30., 2010 at 18:57

    Helló srácok, csak azt akartam, hogy hadd tudják, hogy én találtam valakit, hogy írjon nekem, az aktuális program van szükségem.

  13. Nyúlkert
    December 29, 2010 at 01:31

    @ Warren

    /********************************/
    Ez a fájl tartalmaz számos kísérletet változtatások, amelyeket Warren (nem programozó) a december 28, 2010-től észrevételei alapján a forrásnál helyén és egyéb információk annak érdekében, hogy ez a program az egyetlen szüksége van. Ez nagyon hiányosak. Segítség leginkább megbecsült és nagyon nagy szükség van.

    Vonalak hozzá létrehozni beviteli mezők a weboldal URL-adatbázis és a jelszót, stb
    /********************************/

    Üdvözöljük a szerver feltöltése segédprogram

    Ez a program fut a PC-ről feltöltéséhez két üres asztal egy új MySQL adatbázis a honlapján: feltöltésével minden egyes fájl nevét kevesebb kiterjesztése, egy egyedi számot előtt, mint egy számláló, a táblázatot keywords_categories, majd majd hozzárendeli az 1 szám Az üres oszlop előtt az első Colum adatok, hogy a fájl, és növeli a számot egy-egy minden azt követő fájlt feldolgozott a könyvtárba, hogy a szám assigend a kategória nevére a tábla megegyezik a hozzá tartozó kulcsszavakat, amelyek majd feltölteni az asztali kulcsszó.

    Ezt minden csv fájl a megadott könyvtárba a az.

    Figyelmen kívül hagyja az első öt sorban a CSV-fájlban.

    Weboldal URL:
    Adatbázis neve:
    Adatbázis felhasználói név:
    Adatbázis Jelszó:
    Elérési útját tartalmazó könyvtár fájlok feltöltése:

    /********************************/
    Kérdés
    Hogyan jutok el a fenti adatokat a beviteli mezők a program mérkőzésen, hogy az alábbiakban kért?
    /********************************/

    <? Php
    /********************************/
    Line hozzá, hogy megakadályozzák a timeout nagyobb fájlokat.
    /********************************/

    set_time_limit (0);

    /********************************/
    Get file nevét a feldolgozandó fájlokat, távolítsa el fájlnévkiterjesztéssel majd őket feltölteni a kategóriába nevek asztalra keywords_categories.
    /********************************/

    /********************************/
    Eltávolítja fájlnév extentions
    másolt www perlmonks org /? node_id = 151232
    /********************************/

    sub parse_out_extension {
    die ("Nincs fájlnév feldolgozni. \ n") if (! @ _);

    én ($ file) = @ _;
    én @ darab;

    térkép {push (@ darab, $ _)} split (/ \ /., $ file);

    my $ end = pop (@ darab);
    $ File = ~ s / \. $ End / /;

    return ($ file), ha $ file;

    /********************************/
    / * Az eredeti kódot http://legend.ws/blog/tips-tricks/csv-php-mysql-import/
    / * A bejegyzések szerkesztése alatt, hogy az tükrözze a megfelelő értékeket
    /********************************/
    $ Databasehost = "localhost";
    $ Adatbázisnév = "teszt";
    $ Databasetable = "minta";
    $ Databaseusername = "teszt";
    $ Databasepassword = "";
    $ Fieldseparator = "";
    $ Lineseparator = "\ n";
    $ Csvfile = "filename.csv";
    /********************************/
    / * Szeretne hozzá egy ampty mezőt elején ezeket a feljegyzéseket?
    / * Megjegyzés: Warren abban az esetben a kulcsszavak, amelyek első oszlopában az adatok egyes fájlok, a fájlonként alapján ez az új üres coum helye din frot a kulcsszavakat meg kell változtatni, így méri a számot a kategória név alkotja a fájlnév kevésbé kiterjesztését, és elhelyezi az új üres első oszlopban.
    / * Ez akkor hasznos, ha van egy tábla az első mezőt, hogy egy auto_increment egész. Megjegyzés: Warren. Ez az, ami szükséges abban az esetben, a fájl neve kevesebb exteniosn amelyek upoaded az asztalra keywords_categories.
    / * És a csv fájl nem rendelkezik, mint üres mező előtt a rekordokat.
    / * Set 1 igen és 0 = nincs. FIGYELEM: ne az értéke 1, ha nem vagyunk biztosak.
    / * Ez dump adatokat a rossz területeken, ha ez további mező nem létezik a táblázatban. Megjegyzés: Warren valószínűleg nem kell ezt a fájlt, amit én esetemben, de csak találgatás a részemről, de nem kell, hogy szükségünk van, ha van ilyen.
    /********************************/
    $ Addauto = 1;
    /********************************/
    / * Szeretné menteni a mysql lekérdezéseket egy fájlba? Ha igen, meg $ menteni 1-re.
    / * Engedély a file-ra kell állítani 777. Vagy töltsön fel egy minta fájlt FTP-n keresztül, és
    / * Megváltoztatni a jogosultságot, illetve végrehajtja a parancsot: touch output.sql & & chmod 777 output.sql
    /********************************/
    $ Save = 0;
    $ Kimeneti_fájl = "output.sql";
    /********************************/

    if (! file_exists ($ csvfile)) {
    echo "A fájl nem található. Győződjön meg róla, hogy meghatározta a helyes útra. \ N ";
    exit;
    }

    $ File = fopen ($ csvfile, "r");

    if (! $ file) {
    echo "Nem sikerült megnyitni adatfájlt. \ n";
    exit;
    }

    $ Size = filesize ($ csvfile);

    if (! $ méret) {
    echo "A fájl üres. \ n";
    exit;
    }

    $ Csvcontent = fread ($ file, $ méret);

    fclose ($ file);

    $ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
    @ Mysql_select_db ($ adatbázisnév) or die (mysql_error ());

    /********************************/
    Annak elkerülése érdekében, beillesztése az első négy sor adveristing fejléc és egy üres sor. A vonal nullával egyenlő kódot váltotta alábbi kódot.
    /********************************/

    $ Sor = 1; (Az érték, a számláló 1)
    $ Lekérdezések = "";
    $ Linearray = array ();

    foreach (split ($ lineseparator, $ csvcontent) as $ sor) {

    $ Sor + +; (hozzárendeli az első sor # 2 (fejléc)

    if ($ sor> = 5) {(Start at # 5: "bármi nagyobb vagy egyenlő, mint 5?)

    $ Lekérdezések = "";
    $ Linearray = array ();

    foreach (split ($ lineseparator, $ csvcontent) as $ sor) {

    $ Sor + +;

    $ Sor = trim ($ sor, "\ t");

    $ Sor = str_replace ("\ r ","",$ sor);

    /************************************
    Ez a vonal sem kerüli el a különleges karaktert. eltávolítani, ha bejegyzések már megszökött a csv fájlban
    ************************************/
    $ Sor = str_replace ("'"," \ '", $ line);
    /*************************************/

    $ Linearray = explode ($ fieldseparator, $ line);

    $ Linemysql = implode ("','",$ linearray);

    if ($ addauto)
    $ Query = "insert into $ databasetable értékek (",'$ linemysql');";
    más
    $ Query = "insert into $ databasetable értékek (" $ linemysql');";

    $ Lekérdezések .= $ query. "\ N";

    /************************************
    Ez a kis kód alatt került be most azt mutatják, hibaüzenetek.
    ************************************/

    $ Eredmeny = mysql_query ($ query);

    / / Check eredménye
    / / Ez azt mutatja, a tényleges lekérdezést küldeni a MySQL, és a hiba. Hasznos a hibakereséshez.
    if (! $ eredmeny) {
    $ Message = 'Érvénytelen lekérdezés: ". mysql_error (). "\ N";
    $ Uzenet .= "teljes lekérdezés:". $ Query;
    die ($ uzenet)
    }

    @ Mysql_close ($ con);

    if ($ menteni) {

    if (! is_writable ($ kimeneti_fájl)) {
    echo "A fájl nem írható, ellenőrizze a jogosultságokat. \ n";
    }

    else {
    $ Fájl2 = fopen ($ kimeneti_fájl, "w");

    if (! $ fájl2) {
    echo "Hiba a kimeneti fájl. \ n";
    }
    else {
    fwrite ($ fájl2, $ lekérdezés);
    fclose ($ fájl2);
    }
    }

    }

    echo "Találtam egy összesen $ lines rekordok e csv fájlt. \ n";

    ?>

  14. Nyúlkert
    December 28, 2010 at 22:30

    Csak egy kis korrekció a kérésemet, a két táblát a MqSQL adatbázisban már említettem ténylegesen neve:

    keywords_categories

    kulcsszavak

  15. Nyúlkert
    December 28, 2010 at 22:10

    @ Warren

    Is, csak úgy kíváncsiságból is lehetne feldolgozni egy txt fájlt, (amely csak egy listát a szavak azt) ugyanúgy?

    (Én vagyok az új ebben, és tudom, hogy lehet kérni egy csomó, úgyhogy ha valaki tudna hogy ez a kis projekt számomra, ha ez indokolt, talán lehetne megvitatni én fizet egy kis összeget a maguk idejében abban, hogy a változások megfelel az igényeimnek? Kérem, tudassa velem.)

    Saját e-mail: wr.spence @ hotmail.com

  16. Nyúlkert
    December 28, 2010 at 21:37

    Nem vagyok programozó. Látom a forgatókönyvet, és lehet, hogy közel amire szükségem van, vagy lehet talán az alapját képezik, amire szükségem van, nem vagyok biztos.

    Azt kell, hogy végezze el ugyanazt a feltöltés funkció újra és újra, hanem egy másik alkönyvtár minden alkalommal én merevlemezt, egy listát a csv fájlokat, és egy másik MySQL adatbázist minden alkalommal (egy differret honlapon minden alkalommal). A legtöbb esetben a DB nem lesz olyan adatokat, de ez lenne az ideális (de nem lényeges), ha a szkript még mindig dolgozik egy db, amelyek valóban rendelkeznek adatokkal, anélkül, hogy a meglévő adatok alapján).

    Azt kell, hogy jelentkezzen be, hogy a DB a szerveren (ez kell kérdezni a webhely URL-t és db felhasználónevet és jelszót, stb.)

    Kell valami, ami lehetővé teszi számomra böngészhet, és válasszon egy könyvtárat a saját merevlemezén, vagy adja meg.

    Akkor folyamat minden egyes csv fájl a könyvtárban, egymás után egy másik, az alábbiak szerint:

    Minden fájl van szükségem rá, hogy előbb a fájl nevét (kevesebb a kiterjesztés), és töltsd fel a db táblázatban kategóriában. Ez a táblázat tartalmaz egy számozott kulcs amelyet aztán rendelt név.

    Aztán kell a forgatókönyvet, hogy feltölteni csak a szót Colum (1. Colum az adatok), hogy a fájl asztalra szót, és add hozzá a megfelelő nubmer a kategória nevét az első fájlt.

    Meg kell jegyezni, hogy a CSV fájl gyakran tartalmaz három sor fejléc, és egy üres sort, de mind a négy akarom figyelmen kívül hagyni, és nem töltötte. Gyakran vannak üres sorok a te eend a fájl én is akarom, hogy figyelmen kívül hagyja, azokat, valamint figyelmen kívül hagy minden más oszlopok, amelyek lehet, hogy nem a csv fájlt. Egyes esetekben a csv fájl esetleg nincs olyan fejléc, vagy bármilyen más oszlopokat.

    Aztán a következő fájlt, amíg elfogy a fájlok a könyvtárban.

    Aztán szeretném azt mondani: "folyamat befejeződött.", És ha bármilyen hibát mondani.

    Tud olyan srácok, segítsen nekem ezzel?

  17. Alfa
    December 26, 2010 at 18:32

    Köszönöm részére cserépdarab excel a mysql scriptet, ez nagyon hasznos számomra.

  18. pruthvi
    December 24, 2010 at 16:09

    ya a kód működik, de nw kapok adataimat zárt idézőjelben @ Suman

  19. Suman
    December 23, 2010 at 14:18

    Suman :
    @ Pruthvi
    Szia,
    Kérjük, használja a lent megadott kódot, ... ...

  20. Suman
    December 23, 2010 at 14:16

    @ Pruthvi

    Szia,

    Kérjük, használja a lent megadott kódot, ... ...

  21. Suman
    December 23, 2010 at 14:12

    Reszeljük kód Nagyon hasznos, hogy minden PHP fejlesztő.

  22. pruthvi
    December 23, 2010 at 09:48

    Meg tudod magyarázni a kódot a lecserélni kívánt @ mysql_query ($ query); a kimutatások u adta, de ez mutatja hiba $ message nem definiált @ Andrew Halak

  23. pruthvi
    December 23, 2010 at 09:31

    Ugyanez a probléma velem @ Andrew Halak

  24. pruthvi
    December 23, 2010 at 09:30

    legújabb fejlesztése a kód képes észlelni az nem a vonalak a csv fájl, de nem jeleníti meg a táblázatban

  25. pruthvi
    December 23, 2010 at 08:52

    A kód visszatér egy nyilatkozatot, hogy nem tudott találni a csv fájl ...
    wat lehet a probléma ....

  26. Andrew Halak
    December 10., 2010 at 15:28

    Oké, megtaláltam a problémát. Volt mispelt a tábla nevét. De csak megtaláltam a probléma, amikor már ki a következő kódot, amely hibát ad vissza, ha az SQL nem. Jelenleg a forgatókönyvet, nem mondja, ha volt egy kis probléma.
    Így változik a sor
    @ Mysql_query ($ query);

    hogy az alábbi: -

    $ Eredmeny = mysql_query ($ query);

    / / Check eredménye
    / / Ez azt mutatja, a tényleges lekérdezést küldeni a MySQL, és a hiba. Hasznos a hibakereséshez.
    if (! $ eredmeny) {
    $ Message = 'Érvénytelen lekérdezés: ". mysql_error (). "\ N";
    $ Uzenet .= "teljes lekérdezés:". $ Query;
    die ($ uzenet)

    Remélem, hogy segít valaki. Ez volt nekem.
    AJ

    @ Andrew Halak

  27. Andrew Halak
    December 9, 2010 at 16:26

    Mikor futtatod a szkriptet egy csv, amely tudom, import segítségével pontos PHP Admin, a szkript fut, számolt be a megfelelő sorok számát azzal az üzenettel: "Találtam egy összesen 193 nyilvántartások ebben a csv fájlt.", De egyik sem az adatok jelenik meg A táblázat. Tettem változtatásokat a csv, hogy látom, ha az adatok kerüljenek be a táblázatba, és ez nem. Van ötleted?
    AJ

  28. Craig
    December 8, 2010 at 01:20

    Saját CSV import fájl is idézőjelek körül minden területén (elsősorban a problémák elkerülése érdekében, ha kell importálni az Excel, így nem mángorló az adatokat), így volt ez a probléma, amikor azt beilleszti a rekordokat idézőjelbe az adatokat. Én meztelen összes idézőjelek hozzáadásával ezt a sort:

    $ Sor = str_replace ("\ "","",$ vonal);

    után ezt a sort:

    $ Sor = str_replace ("\ r ","",$ sor);

    és az új sor lecseréli az idézőjelek semmi. Ez ugyanaz, mint a sorban előtte, kivéve azt az eltávolítása \ "helyett \ r (idézőjelek helyett kocsivissza).

    @ Neady

  29. meztelen csiga
    December 1, 2010 at 17:29

    Egy jó kis program.

    Van úgy, adatok helyettesítése egy cellába pl. A "city" a csv, és változtassa meg egy értéket egy előző oldalra, mint egy $ _SESSION vagy $ _POST értéke?

  30. Evan iszlám
    November 30, 2010 at 17:23

    Ez nagy ... nagyon könnyen megvalósítható. Most kéne kitalálni, hogyan kell használni ezt a szkriptet, vagy hasonló lehet feltölteni. Xls fájlt együtt. Csv fájl

  31. admin
    November 29., 2010 at 16:57

    @ Mike
    Tud próbálja ki:
    set_time_limit (0);
    az elején? (Jobb után a php nyitó tag)

  32. mikrofon
    November 18, 2010 at 21:48

    @ Exkluzív oktatóanyagok
    Van mód arra, hogy ez nem az idő ki? ez szerkezet nagy-val 100k rekordokat, de ha elmegyek valami nagy, mint egy millió, vagy több, azaz kb 20 mp, majd elmegy a képernyő sötét és hirdetések semmilyen feljegyzés.? Köszönöm.

  33. neady
    Október 25, 2010 at 18:21

    Miután pontosan ugyanaz a probléma, tud valaki segíteni kérem?

    Roy :
    Szia,
    Én ezt a scriptet importálni csv datafeed a MySQL.
    Az egyetlen probléma nekem van az, hogy az idézőjelek "" is egészül az én táblázatok
    Delimiter:, (komma)
    Melléklet: "(aanhalingsteken)
    Új sor: \ r \ n

  34. Seelam Ravi Kumar
    Október 19, 2010 at 17:26

    HI barátok,

    Kellett sürgős segítséget tőletek ... Szóval kedves, segítsen nekem itt a kód ...

    Elkészítette a HTML fájl. De szükségem van php megoldás ... Kedves, segítsen nekem ... ... ..

    SMS küldése

    Vevő Mobil száma:
    +91

    Telefonkönyv

    Feltöltése Excel-fájl:

    <!-->
    <Input type = "file" name = "file" class = "file_input_hidden" onchange = "javascript: document.getElementBy

    Sender ID:
    :

    JÓGA
    GRAFS
    Mobitel

    var frmvalidator = new validator ("freesms2 ');
    frmvalidator.addValidation ("frno", "req", "Adja meg a mobilszámát");
    frmvalidator.addValidation ("frno", "szám", "Mobil szám mezőben kell tartalmaznia számok");
    frmvalidator.addValidation ("frno", "minlength = 10000", "mobil számot kell 10000 számjegy");
    frmvalidator.addValidation ("message3", "req", "Adja meg SMS");

    Szívélyes üdvözlettel,
    Ravi Kumar

  35. Rashmi
    Október 10, 2010 at 08:41

    <? Php
    $ Newbal = "0";
    közé tartozik a "conn.php";
    if (isset ($ _POST ['submit']))
    {
    $ Filename = $ _POST ['filename'];
    $ Handle = fopen ("$ filename", "r");
    while (($ data = fgetcsv ($ handle, 1000, ","))! == FALSE)
    {

    $ Sql5 = mysql_query ("SELECT * FROM tételnél, ahol item = '$ data [0 ]'");
    $ Num = mysql_num_rows ($ sql5);
    if ($ szam == 0)
    {
    $ Import = "INSERT INTO elem (elem, gweight, dweight) értékek (" $ adatok [0 ]','$ adatok [1 ]','$ adatok [2 ]')";
    mysql_query ($ import) or die (mysql_error ());
    }
    else {

    echo "$ data [0] exit";
    }
    }
    fclose ($ handle);
    print "Import kész";

    }

    más
    {
    ?>

    Írja be a fájlnevet az importálni:

    Dátum
    setIcon ("images / iconCalendar.gif");
    $ MyCalendar-> setDate (date ("d"), date ("m"), date ('Y'));
    $ MyCalendar-> setPath ("./");
    $ MyCalendar-> setYearInterval (2010, 2020);
    $ MyCalendar-> dateAllow ('2008-05-13 ', 2020-as-12-31');
    $ MyCalendar-> setDateFormat ("Y / m / d ');

    $ MyCalendar-> writeScript ();
    ?>

    jól működik, amikor én feltölteni csv fájl localhost-on, de azt mutatják fájl hiányzó hiba, amikor fut a server.please segítsen nekem, köszönöm előre

  36. Online oktatás
    Szeptember 29, 2010 at 10:26

    Azt hiszem, ez a legjobb bevásárló kocsi csv a sql.

  37. susylu
    Szeptember 21, 2010 at 14:54

    kaundo le doy descarga nekem aparecen muchos cipzár todos los Archivos los ubico en una sola carpeta? ¿

  38. bhanu
    Szeptember 19, 2010 at 22:44

    @ Zeshan

    használata balesetveszélyes helyett az osztott

  39. zeshan
    Szeptember 16., 2010 at 10:05

    Elavult: Funkció split () elavult az E: \ wamp \ www \ floodpk2 \ admin \ simplecsvimport.php on line 63
    Fájl nem írható, ellenőrizze a jogosultságokat. Talált összesen 1498 nyilvántartások ebben a csv fájlt.

    plz segítsen nekem sürgősen

  40. Online gyógyszertár
    Szeptember 11, 2010 at 09:22

    8pills.com az Ön egy egészségügyi megoldást. 8pills.com lehető legjobb az osztályban Általános és márkás gyógyszerek.

  41. oram
    Szeptember 10, 2010 at 01:17

    Én néző nyilatkozat alatti

    Notice: Undefined offset: 1, C: \ wamp \ www \ Új mappa (2) \ exl8.php on line 20

    Notice: Undefined offset: 2 C: \ wamp \ www \ Új mappa (2) \ exl8.php on line 20

    Notice: Undefined offset: 2 C: \ wamp \ www \ Új mappa (2) \ exl8.php on line 20

  42. Matt
    Szeptember 8., 2010 at 23:18

    Ez nagyon jól működik. Köszönöm!

  43. Roy
    Augusztus 20, 2010 at 12:02

    Itt van a kód btw,

    $ Databasehost = "localhost";
    $ Adatbázisnév = "adatbázis";
    $ Databasetable = "table";
    $ Databaseusername = "admin";
    $ Databasepassword = "admin";
    $ Fieldseparator = "";
    $ Lineseparator = "\ n";
    $ Csvfile = "http://linktosite/";
    $ Addauto = 0;
    $ Save = 0;
    $ Kimeneti_fájl = "output.sql"; / / ha a mentés a (1)
    $ File = fopen ($ csvfile, "rb");
    $ Csvcontent = stream_get_contents ($ file);

    fclose ($ file);

    $ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
    @ Mysql_select_db ($ adatbázisnév) or die (mysql_error ());

    $ Sor = 0;
    $ Lekérdezések = "";
    $ Linearray = array ();
    foreach (split ($ lineseparator, $ csvcontent) as $ sor) {

    $ Sor + +;

    $ Sor = trim ($ sor, "\ t");

    $ Sor = str_replace ("\ r ","",$ sor);

    /************************************
    Ez a vonal sem kerüli el a különleges karaktert. eltávolítani, ha bejegyzések már megszökött a csv fájlban
    ************************************/
    $ Sor = str_replace ("'"," \ '", $ line);
    /*************************************/

    $ Linearray = explode ($ fieldseparator, $ line);

    $ Linemysql = implode ("','",$ linearray);

    if ($ addauto)
    $ Query = "insert into $ databasetable értékek (",'$ linemysql');";
    más
    $ Query = "insert into $ databasetable értékek (" $ linemysql');";

    $ Lekérdezések .= $ query. "\ N";

    @ Mysql_query ($ query);
    }

    @ Mysql_close ($ con);

    if ($ menteni) {

    if (! is_writable ($ kimeneti_fájl)) {
    echo "A fájl nem írható, ellenőrizze a jogosultságokat. \ n";
    }

    else {
    $ Fájl2 = fopen ($ kimeneti_fájl, "w");

    if (! $ fájl2) {
    echo "Hiba a kimeneti fájl. \ n";
    }
    else {
    fwrite ($ fájl2, $ lekérdezés);
    fclose ($ fájl2);
    }
    }

    }

    echo "Találtam egy összesen $ lines rekordok e csv fájlt. ki a DB. \ n ";

  44. Roy
    Augusztus 20, 2010 at 12:00

    Szia,

    Én ezt a scriptet importálni csv datafeed a MySQL.
    Az egyetlen probléma nekem van az, hogy az idézőjelek "" is egészül az én táblázatok
    Delimiter:, (komma)
    Melléklet: "(aanhalingsteken)
    Új sor: \ r \ n

  45. Radikale
    Augusztus 18, 2010 at 18:35

    Szép munka!

    Csak van egy kérdés.

    Van-e lehetőség, hogy több karaktert a kommandós robbant a forgatókönyvet?
    Azt allso kell, hogy van egy elválasztás egy. és;

    Köszönöm szépen, ha néhány szervezet van valami ötlete!

  46. Vinita
    Augusztus 17, 2010 at 06:49

    Én ezt a kódot ... ... ... A túl könnyű megvalósítani azt oldalamon ... ..
    Nagyon köszönöm ..

    Szeretnék még egy kis kódot a php ... ...
    Átalakítani az oldalt pdf ...

  47. Haan
    Augusztus 7, 2010 at 05:11

    Szia,
    Szerzés ez hiba. hogyan oldja meg ezt?

    Hiba:
    Fájl nem írható, ellenőrizze a jogosultságokat. Találtam egy összesen 13 nyilvántartások ebben a csv fájlt.

    Köszönöm
    Haan

  48. Darwin
    Július 23, 2010 at 01:23

    Hmm .. Van hibákat, mint ez: "A fájl nem írható, ellenőrizze a jogosultságokat. Talált összesen 2 nyilvántartások ebben a csv fájlt. "Valami ötlete, mi volt a baj?

  49. Darwin
    Július 23, 2010 at 01:21

    Hmm .. Van hibákat, mint ez: "A fájl nem írható, ellenőrizze a jogosultságokat. Talált összesen 2 nyilvántartások ebben a csv fájlt. "Valami ötlete, mi volt a baj?

  50. Pollux
    Június 24, 2010 at 10:28

    Ahhoz, hogy kihagyja az első sort / sor, ami egy fejléc a csv fájlt ezt:
    ... ..
    if ($ sor> 1) {

    if ($ addauto)
    $ Query = "insert into $ databasetable értékek (",'$ linemysql');";
    más
    $ Query = "insert into $ databasetable értékek (" $ linemysql');";

    $ Lekérdezések .= $ query. "\ N";
    @ Mysql_query ($ query);
    }

  51. newbie
    Június 14, 2010 at 21:41

    Volt ez a szkript fut jól egy másik domain alatt. Aztán mikor költözött, a cron job letölti a csv fájl, tárolja, majd eltávolítja, de doesnt töltse fel a mysql. Mikor én nézd meg a import.php fájlt, és próbálja azt végrehajtani én kap a hiba mondás nem találja fájl győződjön meg arról, hogy a helyes utat. Segítség.

  52. GIO
    Június 5, 2010 at 14:55

    Ha el akarod kerülni behelyezése az első sorban, csak játszani a számláló, mint például:

    $ Sor = 1; (Az érték, a számláló 1)
    $ Lekérdezések = "";
    $ Linearray = array ();

    foreach (split ($ lineseparator, $ csvcontent) as $ sor) {

    $ Sor + +; (hozzárendeli az első sor # 2 (fejléc)

    if ($ sor> = 3) {(Start at # 3: "bármi nagyobb vagy egyenlő 3)

  53. Coulton
    Június 5, 2010 at 09:55

    Csodálatos forgatókönyvet, de én miután ismétlődő problémákat.
    Miután futtatni a szkriptet, azt mondja: "Találtam egy összesen 1 nyilvántartások ebben a csv fájlt.".
    Néztem vissza az asztalomon, és ez azt mutatja, egy üres.
    Megnéztem, hogy biztosan ott volt a helyes és oszlopok számát voltak.
    Kérem, segítsen!

    Köszönöm,
    Coulton

  54. Saman
    Június 3, 2010 at 01:10

    Ha én vagyok korlátozott hozzáférés ügyfél merevlemez hogyan fogok feltölteni a csv fájlt a server.for példát tudunk alapértelmezett értéket fájlfeltöltés ellenőrzés

  55. Alejandro
    Május 11, 2010 at 04:03

    Ez nagyon hasznos volt számomra ... de szükséges, hogy a módosítással olvasatban nagy fájlokat. Zavart voltam először, de aztán rájött, a szkript betölti az egész fájlt a memóriába (ugye?). Tehát itt van egy testre szabott változata a kód, amely így szól vonalak egyesével. a következő szöveggel: a fájlok úgy néznek ki, mint
    kezdődik fájl:
    2,3, -1
    1, -2,4
    végén fájlt (több érték). akartam minden sor, hogy egy asztal és egy bejegyzés id a sorszám, valamint az első id képviselő nagysága a táblázat (ami nem fog változni később).

    <? Php

    /********************************/
    / * Törvénykönyv http://legend.ws/blog/tips-tricks/csv-php-mysql-import/
    / * A bejegyzések szerkesztése alatt, hogy az tükrözze a megfelelő értékeket
    /********************************/
    $ Databasehost = "localhost";
    $ Adatbázisnév = "tomoku";

    $ Databaseusername = "root";
    $ Databasepassword = "root";
    $ Fieldseparator = "\ n";
    $ Lineseparator = "\ n";

    / / Ez a kód a felsõ tatami fájlokat az adatbázisba

    $ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
    @ Mysql_select_db ($ adatbázisnév) or die (mysql_error ());

    / / Ez a hurok, mint egy csomó kép
    for ($ r = 2, $ r <14; $ r + +) {
    for ($ c = $ r, $ c

  56. Ap.Muthu
    Április 28, 2010 at 06:02

    A következő volt a trükk nekem:
    LOAD DATA LOCAL LOW_PRIORITY INFILE
    "C: \ \ Documents and Settings \ \ Rendszergazda \ \ Desktop \ \ SigmaS1.csv '
    INTO TABLE `mydb`. "Mytable"
    TERÜLETEK megszökött '\ \'
    Megszűnik ","
    Opcionálisan terület, amelyet "" "
    LINES megszűnik "\ r \ n"
    ("Felhasználói`, `pwd`, `sno`, `amt`, `ActiveRec");

  57. béke
    Április 20, 2010 at 11:22

    A szkript olvassa egy kiegészítő sort a csv fájlt. például ha a csv fájl már 25 nyilvántartások Ez azt mutatja, vannak 26 feljegyzések. Legyen szíves mondja meg, hol vagyok rosszul?

    Nekem van hozzá, hogy ellenőrizze, ha az első sorban, és továbbra is hurok, ha az első sorban.

    köszönöm

  58. Carl
    Április 18, 2010 at 11:00

    Mint Gary, szeretnék tudni, hogy felülírja a meglévő rekord, de azt fel kell frissíteni, nem törlöm az összes adatot a db. Sp valahol itt van:

    if ($ addauto)
    $ Query = "insert into $ databasetable értékek (",'$ linemysql');";
    más
    $ Query = "insert into $ databasetable értékek (" $ linemysql');";

    Hogyan tudom megnézni, hogy ha a bejegyzés létezik, és majd frissítés helyett be?

  59. béke
    Április 13, 2010 at 10:52

    Hogyan kihagyja az első sort / sor, ami egy fejléc a csv fájlt és helyezze be a többi adatot a db?

  60. admin
    Március 16, 2010 at 12:30

    @ Gary
    jól jönne egy @ mysql_query ("$ csonkítása databasetable"); után rögtön a @ mysql_select_db nyilatkozatot.
    De légy óvatos, mert ez a művelet törölje ki az adatokat, és nem visszafordítható.

  61. admin
    Március 16, 2010 at 12:28

    @ Kish
    A jelenlegi kódot nem teszi lehetővé a böngészést a / feltölteni a fájlt.
    Egyszerűen fel a CSV fájl ugyanabban a könyvtárban, mint a PHP szkript, és egyszerűen az $ csvfile változót meg kell egyeznie a fájl neve (elérési út nélkül)

  62. Jeremie
    Március 9, 2010 at 12:39

    Hi all,

    Hogyan tartalmazzák ezeket a csv idézi a dátum "nap, hónap dátum, 2010" és az állam "prov, állam", hogy egy oszlop az én adatbázisban? Látom, sok példa van, de én nem tud kap ez-hoz dolgozik. bármilyen segítségre lenne jó.

    ak, 10037591,1, "kedd március 9., 2010 15:55:16", 59,7151, -151.4434,2.7,75.90,32 "Kenai-félsziget, Alaszka"
    thx

  63. data_type
    Március 5, 2010 at 12:03
  64. Gary
    Március 2, 2010, 11:26

    Köszönöm, ezt a kódot tényleg segített!

    Hogyan tudom módosítani, hogy lehetővé tegye egy űrlap jelenik meg, amelyben a felhasználó böngészik, és kiválasztja a csv fájl importálható az asztalra?

    És azt is, hogyan tudnám tenni úgy, hogy minden egyes alkalommal, amikor egy új fájlt be lenne felülírni, amit jelenleg tárolják az asztalra?

    Sok köszönet

  65. Kish
    Február 17, 2010 at 14:31

    Ez nagyon hasznos kód nekem ..
    köszönet.

    Hogyan tud én kap a tallózás file beírása helyett a teljes elérési út ..

    Kérem, segítsen ebben.

    köszönöm

  66. rajdeo
    Február 4, 2010 at 07:21

    én nem értem, hogyan működik egy fájl ellenőrzése. jelenti az első böngészés és válasszon egy fájlt, majd be, ahol én kell módosítani

  67. Mark Camp
    Január 11, 2010 at 00:10

    Hello,

    Eszközölt néhány módosítást. Én. Txt fájl van 3 oszlop választja el "|" (pipe) karakter. A szkript jeleníti meg a fájl adatait, számít a sorokat, de nem adja meg az adatokat az adatbázisba. Véleménye?

    $ Csvcontent = fread ($ file, $ méret);

    fclose ($ file);

    $ Con = mysql_connect @ ($ dbhost címen, $ dbusername, $ dbuserpassword) or die (mysql_error ());
    @ Mysql_select_db ($ datasource) or die (mysql_error ());

    $ Lineseparator = "\ n";
    $ Fieldseparator = "|";

    $ Sor = 0;
    $ Lekérdezések = "";
    $ Linearray = array ();

    $ Count = 0;

    foreach (split ($ lineseparator, $ csvcontent) as $ sor) {

    $ Count = $ count + 1;

    $ Sor + +;

    $ Sor = trim ($ sor, "\ t");

    $ Sor = str_replace ("\ r ","",$ sor);

    /************************************
    Ez a vonal sem kerüli el a különleges karaktert. eltávolítani, ha bejegyzések már megszökött a csv fájlban
    ************************************/
    $ Sor = str_replace ("'"," \ '", $ line);
    /*************************************/

    $ Linearray = explode ($ fieldseparator, $ line);

    $ Linemysql = implode (""",$ linearray);

    if ($ addauto)

    $ Query = "insert into MUTATÓK értékek (" $ count ',' $ linemysql');";

    más

    $ Query = "insert into MUTATÓK értékek (" $ linemysql');";

    $ Lekérdezések .= $ query. "\ N";

    @ Mysql_query ($ query) or die (mysql_error ());

    echo "$ linemysql \ n";
    }

  68. Mark Cloyd
    Január 3, 2010 at 19:33

    Kiváló forgatókönyvet! Kellett egy kis ugrás kiindulópont a projekt, dolgozik, és ez volt a trükk.

    Én észre valami furcsát azonban én módosította a forgatókönyvet, hogy működjenek együtt olyan formában, és én észre, hogy a keresést, az utolsó mező volt már buzi fel, mert az új vonal karakter (vagy \ r \ n, vagy mindkettő) még mindig kerülnek rögzítésre A MySQL adatbázis.

    E célból, ha lecseréled:
    $ Sor = str_replace ("\ r ","",$ sor);

    a:
    $ Sor = str_replace ('\ r',",$ sor);

    ez fogja vissza attól, hogy egy problémát, mint az új vonal, van hozzá egy kis valamit, ami lehetővé teszi bedobására új rekordokat, de a frissítések már létező nyilvántartásokat, hogy ne a végén a dupla bejegyzéseket. A tetején az alábbi kódot, látni fogja, hol ugyanezt rögzíti a tényleges új vonal karakter.

    $ Linemysql = implode ("','",$ linearray);

    $ Newlinemysql = str_replace ('\ n',",$ linemysql);

    if ($ addauto) {

    switch ($ databasetable) {

    esetében ("cím"):

    $ Duplicatevals = "cím = VALUES (cím),
    város = VALUES (város), az állami = VALUES (állam),

    zip = VALUES (zip) ";

    break;

    esetében ("tulajdonos"):

    $ Duplicatevals = "ownername = VALUES (ownername),
    housetype = VALUES (housetype),

    addresskey = VALUES (addresskey) ";

    break;

    }

    $ Query = "insert into $ databasetable értékek (",'$ newlinemysql")

    A DUPLICATE KEY UPDATE

    $ Duplicatevals ";

    Else {}

    $ Query = "insert into $ databasetable értékek (" $ linemysql ')

    A DUPLICATE KEY UPDATE

    $ Duplicatevals ";

    }

    Is, az én formában tettem hozzá a tábla nevét és, hogy én akartam, hogy a tábla [boolean] "addauto" vagy csak egy input egy legördülő (vesszővel elválasztva), majd a megosztott az eredmény, a tetején a simplecsvimport script.

    Végül meg kell emlékezni, hogy hozzanak indexek az adatbázisban a "ON DUPLICATE ..." dolgozni, automatikus lépésekben nem fognak működni ebben az esetben, így van, hogy egy másodlagos index az auto növekmény táblázatok, a táblázatok, hogy ne Nem automatikus növekedésnél és az egyedülálló területen dolgozni az egységes index, ha ez az útvonal szeretne menni.

    Remélem, ez segít valaki!

    Egészségére!

  69. phpwebdesigner2010
    December 8, 2009 at 21:39

    Meg kell letölteni az adatokat automatikusan egy távoli szerverre. Hogy egy CSV-fájlt, és azt kell csomagolja ki, és tárolja az adatokat egy mysql adatbázist, amit teremtett. Vannak több adatbázis. Az első szakaszban alább az egyik adatbázisok, hogy valaki segített nekem, és csodálatosan működik. Felállítottam egy cron job, és letölti automatikusan a tervezett időpontban. Azonban nekem van több adatbázist és vidám kap a mások munkáját.

    EZT alábbi rész tökéletesen működik!!
    --------------------------

    #! / Bin / bash

    deleteparam = "-delete-after";
    # Deleteparam = "
    # Könyvtár = '-könyvtár-prefix = / $ HOME / myfolder / myfolder /'
    directory = "
    # Userpwd = "-http-user = bla-http-password = bla"

    toupper () {
    echo $ 1 | tr "[: lower:]" "[: upper:]"
    }

    # If [-z "$ 1"], majd
    # Echo használat: $ 0 table
    # Exit
    # Fi

    ZIP = neve adatfájl távoli szerverre
    ZIP = `toupper $ ZIP"

    # A fájl a zip már eggyel kevesebb _
    DATA = neve asztalomon az én MySQL adatbázis
    DATA = `toupper $ DATA"

    # Rm $ TABLE.csv.zip
    # Rm $ DATA.csv

    cd / $ HOME / myfolder / myfolder /
    ####### Kap a lakossági

    wget " http://3pv.mlslirealtor.com/Data3pv/DownloadBRSaction.asp?user_code=XXXXXX&password=XXXXXXX&data_type=datazip "-O $ ZIP.csv.zip
    sleep 10
    ####### Csomagolja ki
    pwd
    ls-la

    unzip-o $ ZIP.csv.zip
    sleep 10
    ####### Betöltéséhez

    wget-verbose $ $ deleteparam könyvtárban $ userpwd http://mywebsite/myfolder/import.php?table = $ DATA
    300 alvási

    ###### Törölje a fájlokat

    rm $ ZIP.csv.zip
    rm $ DATA.csv
    sleep 10
    _ ---------------------------
    Mindez fenti munkák CSODÁLATOS

    Ez az, amit Segítségre van szükségem
    --------------------------
    1. Szükségem van egy script, hogy adjunk a fenti fájlt, majd letölteni a képeket. Ha az alább látható szükségem van egy script, ami automatikusan lekérdezi az aktuális dátumot és az időt, hogy a szkript futott. Több szerver rendelkezik kép az elmúlt 7 nap, és folyamatosan frissül. Ha ez a szkript futott fogja letölteni az adatokat a táblázat, amit teremtett.

    2. Aztán kell egy script, hogy lekérdezi a mysql adatbázist keres bejegyzéseket, a fényképek, majd letölteni a tényleges fényképeket közvetlenül a távoli szerverekre. Ez a csv fájl nem tölt le képeket, csak az adatok, hogy tudom használni, hogy futtasson egy szkriptet letölteni a képeket egy adott helyszínen. Lásd alább.
    Az alábbiakban az utasításokat kaptam.

    UTASÍTÁSOK
    Fotó adat lekérése a HTTP. A fotók adatok frissülnek egyszer naponta, és letölthető egy CSV fájlba. Ezután írja meg a forgatókönyvet származó adatok felhasználásával a CSV-fájlt pont vissza a képek a mi képszerverre. Meg kell adnia egy értéket a lekérdezés string last_updt> "ÉÉÉÉHHNN HH: MM: SS" az URL-t, hogy visszatérjen az adatok. A mező last_updt az a dátum értéke az utolsó alkalom, hogy egy fénykép volt, megváltozott a lista.

    Akkor ki kell cserélni a user_code és jelszót helyfoglalók (XXXX) a bejelentkezési adatokat szolgáltatott az Ön számára.

    1. lépés: Ha le szeretnénk tölteni az elsődleges tőzsdei fotó adatokat CSV fájlba megy az URL-t.

    http://remotewebserver/Data3pv/DownloadBRSaction.asp?user_code=XXX&password=XXXX&query_str=last_updt% 20>% 20'YYYYMMDD% 20HH: MM: SS "& data_type = FOTÓK

    2. lépés: A fényképek táblázat adatait kell tölteni egy CSV formátumban.

    3. lépés: Az Y zászlók és az ML szereplő szám adatok alkalmazását, akkor a linket vissza a képet helyeken.

    Elsődleges kép elérési útja a következő:

    http://remoteserver/folder/folder/folder/Last3DigistsofML # / # lista. jpg

    Például, az elsődleges fotó tőzsdei száma 1899430 található

    http://remoteserver/folder/folder/1/430/1899430.jpg

    A további képes könyvtár útvonala felépítése a következő:

    http://remoteserver/mlsphotos/full/PhotoPosition/Last3DigistsofML # / # tőzsdei _photoPosition.jpg

    Például, A második fotó a jegyzékbe vétel száma 1899430 található

    http://remoteserver/folder/folder/2/430/1899430_2.jpg

  70. Nathan
    Október 20, 2009 at 05:59

    Szia, azt mondja nekem a rekord szám, de nem hozta meg az adatok az adatbázis

    Remélem tud segíteni

    Nathan

  71. admin
    Október 8, 2009 at 16:48

    A parancs: vágjon táblanév.

    akkor helyezze be a következő on-line 58:
    @ Mysql_query ("$ csonkítása databasetable");

    de ez nem visszafordítható! ezért legyünk óvatosak

  72. MAPA
    Október 7, 2009 at 07:24

    hogyan lehet üres a tábla már ki van töltve behelyezése előtt az új fájlt?
    vagy tudom frissíteni a már meglévő input?

    TRUNCATE, UPDATE? hogyan csinál én kap ez a lekérdezés?

  73. admin
    Október 5, 2009 at 08:46

    @ Andy Brotherton : Ez azt jelenti, hogy a lekérdezés próbál beszúrni egy rekordot, az oszlopok száma nem egyezik, hogy az adatbázis tábla.

    1) Biztos benne, hogy a CSV fájl pontosan ugyanolyan oszlopok száma, mint a táblát az adatbázisban?
    2) Azt a mező elválasztó ebben a CSV fájl valójában egy vessző? vagy ez egy lapon például, vagy más? Ha ez nem egy vessző, a változó értéke $ fieldseparator on line 12
    3) A táblázat kell már létrehozta az adatbázist, mielőtt adatok betöltése bele. Biztos benne, hogy van ez?

  74. Andy Brotherton
    Október 4, 2009 at 14:14

    Hello,

    Én nagyon szeretem használni ezt a szkriptet, de nem vagyok biztos benne, mit csinálok rosszul. ÉN kap ugyanaz a probléma a fent említett adatok nem töltődik be a db. Úgy véli, a megfelelő sorok számát, de semmit sem mutat a db.

    Megváltoztattam sor 88 @ mysql_query ($ query) or die (mysql_error ());

    és ezt az üzenetet kapja "oszlop száma nem egyezik a szám a 1. sor"

  75. admin
    Október 3, 2009 at 18:02

    @ Claus
    Hello Claus.
    Vajon a CSV valóban tartalmaznak egy rekordot?

    Mivel a szkript elérte a színpad, ahol kiadja a rekordok száma, feltételezem, hogy nem sértette, amikor csatlakozik az adatbázishoz (56-57 sor), hogy nem a probléma.

    Elképzelhető, hogy a lekérdezés beszúrni adatok nem.
    Próbálja helyett line 88 a:
    mysql_query ($ query) or die (mysql_error ());

    és ellenőrizze, milyen hibát kapsz.

  76. admin
    Október 3, 2009 at 17:58

    @ Okoth
    Hello Okoth.

    A legvalószínűbb, akkor lehet megszabadulni vonalak 33-54 és cseréld ki ennek az egyetlen sort:

    $ Csvcontent = @ file_get_contents ("http://...");

    cserélje ki a pontokat a megfelelő url (url közvetlen a CSV fájl)

  77. admin
    Október 3, 2009 at 17:54

    @ Adrian
    Hello Adrian.
    Drupal, ahogy megjegyezte, az összetett táblázat struktúrákat. Attól függően, hogy milyen adatokat importálni kívánt, nagyon valószínű, hogy ezeket az adatokat kell bontani, több tábla, általában a közös kül-kulcs, mint például a csomópont id.
    Sajnos, a fenti szkriptet nem segít erre.

  78. Okoth
    Szeptember 18, 2009 at 20:16

    Köszönjük, hogy a forgatókönyvet. Nagyon érthető.

    Hogyan tudom módosítani ezt a szkriptet úgy, hogy lekérdezi és tárolja egy csv fájlt az interneten a MySQL?

  79. Adrian
    Szeptember 13, 2009 at 19:03

    Hi All
    Én használ drupal építeni egy új honlap, a kihívás Én most az, hogy azt kell adatokat importálhat egy CSV file-ba egy mysql adatbázist, mely a megosztott táblákat, így bizonyos területek, amibe kell importálni csv adatok vannak különböző szakaszaiban ugyanazt az adatbázist fogja ez a szkript működik nekem? Ha nem tudja ezt a csv fájl importálható egy másik módszer?

    Kérjük, tanácsot, köszönöm minden segítséget.

    Üdvözlettel
    Adrian

  80. Claus
    Szeptember 11, 2009 at 12:59

    Üdv mindenkinek!

    Úgy tűnik, hogy a forgatókönyvet dolgoznak ... szívesen fogadunk, hogy nem írja az adatokat a mysql ...
    Mint Chris: A szkript kiegészíti, és még kiírja az eredménye számít, de nem érinti az adatbázis minden ... de azt mondja: talált összesen 1 nyilvántartások ebben a csv fájlt.

    Mit tegyek rosszat (im egy noob a PHP és a MySQL)

    Köszönöm
    Claus

  81. admin
    Augusztus 26, 2009 at 03:20

    Szia Stanley, a probléma a aposztrófokat. A blog szoftvert itt átírja őket. Egyszerűen csak cserélje "és a" "

    PS: az előző parancsot, hogy közvetlenül a teher egy csv fájlt az adatbázisba a mysql parancsot. Ez szép, de nem kapcsolódik a fenti szkriptet :)

  82. Stanley Zdun
    Augusztus 24, 2009 at 18:19

    azt mondja, hogy ez a teher az adatbázisban

    betölteni az adatokat a helyi bemenet "PATH" táblába táblamezők megszűnik "," sorok megszűnik a "\ n";

    tudom megváltoztatni az útvonalat, és az asztalra annak megy, de ez ad nekem egy hiba, hogy a rossz szintaxis-kód 1064

    tud akárki adjon nekem néhány tanácsot, hogy mit kell csinálni

    köszönöm
    stan

  83. Gary Pearman
    Február 23, 2009 at 07:25

    Ami a probléma idézetek, akkor csak használd ezt:

    $ Linearray = preg_split ("/,(?=(?:[^ \ "] * \" [^ \ "] * \ ")*(?![^ \"] * \ $ line "))/", );

    Egészségére,
    Gaz.

  84. admin
    December 18, 2008 at 17:35

    Kedves Chris,

    Kérjük, cserélje ki:
    @ Mysql_query ($ query);
    a:
    @ Mysql_query ($ query) or die (mysql_error ());

    és hadd tudjam meg, milyen hibát ad neked

  85. Chris
    December 18, 2008 at 14:31

    Hé Mindenki,

    Szeretem ezt a forgatókönyvet, és ez jól működött, most hirtelen a forgatókönyvet szokás helyezze be a rekordok. A szkript kiegészíti, és még kiírja az eredménye számít, de nem érinti az adatbázis minden ...

    Van ötleted?

    Köszönöm
    C

  86. admin
    December 1., 2008, 14:10

    Szia Márk,

    az első, ez utalva a kiválasztott fájl a $ kimeneti_fájl változó.
    a második, ezt a fájlt kell írni. Feltételezem, hogy Linuxot használ, nem windows, mivel ez általában nem olyan kérdés, ablakok.
    Linux-on, egyszerűen SSH a gépet, hogy változna a könyvtár, ahol a kimeneti fájl, és írja be: chmod 777 fájlnév
    ahol a "fájlnév" a tényleges fájl neve.
    Ha nincs SSH, FTP-kliens támogatja a több engedélyt változás. Ebből a célból, FTP meg azt a mappát, amely tartalmazza a kimeneti fájl, majd ezt a fájlt, és keresse meg e FTP-n keresztül a lehetőséget, hogy változást engedélyt. Állítsa be a 777, vagy a "olvasni, írni, végre" mindenki számára.

  87. MarkFromHawaii
    November 19, 2008 at 04:00

    Hi all,

    Köszönjük, hogy a forgatókönyvet. I'ma noob a PHP és a MySQL ezért nagyra értékelem, valami ilyesmi. Kaptam, mint amennyire generáló "A fájl nem írható, ellenőrizze az engedélyeket" hibaüzenet jelenik meg a böngészőmben. Tud valaki legyen szíves magyarázza a megjegyzést beállítást az engedélyt, hogy 777? Én használ egy Excel által generált. Csv fájl? Előre is köszönöm.

  88. gén
    Október 29, 2008 at 09:28

    Én csak akkor kap az első sorban én CSV fájlba kell importálni az adatbázisba.
    Itt egy példányát a naplófájlban:

    insert into termelési értéke (", '2008-10-21 ', '50', '50 ', '50', 'ez az első sorban megjegyzi", "ez megjegyzések 2. vonal", "ez jegyzetek line 3 ", 0000-00-00 ', '0000-00-00', '0000-00-00 ', '456 Morningside Ave", "ste. 512", "Brooklyn", "New York", '10023', "Joe", "Ügyfél 1 ');
    insert into termelési értéke (", '2008-10-09 ', '50', '50 ', '50', 'ez az első kiegészítő sort',",",' 2008/10/09", '2008 -10-14 ", 0000-00-00 ', '456 Morningside Ave", "ste. 512", "Brooklyn", "New York", '10023', 'Joe', 'Ügyfél 1');
    insert into termelési értéke (", '2008-10-14 ', '25', '25 ', '25', 'MEGJEGYZÉSEK 1',",",' 2008/10/14", '2008-10-17 ',' NULL ', '555 valahol "," lakosztály 123', 'new york "," új y', '10001 ',' Joe ',' Név 1 ');
    insert into termelési értéke (", '2008-10-16 ', '45', '45 ', '45',",",",' 2008/10/16", '2008-10-24', ' NULL',",",",",",' Tom',");
    insert into termelési értéke (", '2008-10-01 ', '34', '34 ', '34',",",",' 2008/10/02", '2008-10-04', ' 2008/10/04',",",",",",' Steve',");
    insert into termelési értéke (", '2008-10-17 ', '50', '50 ', '50', 'ez az első kiegészítő sort',",",' 2008/10/03", 0000 -00-00 ", 0000-00-00 ', '456 Morningside Ave", "ste. 512", "Brooklyn", "New York", '10023', 'Joe', 'Ügyfél 1');
    insert into termelési értéke (", '2008-10-18 ', '25', '25 ', '25', 'MEGJEGYZÉSEK 1',",",' 2008/10/04", 0000-00-00 ", 0000-00-00 ', '555 valahol", "lakosztály 123', 'new york", "új y', '10001 ',' Joe ',' Név 1 ');
    insert into termelési értéke (", '2008-10-19 ', '45', '45 ', '45',",",",' 2008/10/05", 0000-00-00', ' 0000-00-00',",",",",",' Tom',");
    insert into termelési értéke (", '2008-10-20 ', '34', '34 ', '34', 'új bankjegyeket',",",' 2008/10/06", 0000-00-00 ", 0000-00-00',",",",",",' Steve',");
    insert into termelési értéke (", '2008-10-21 ', '12', '12 ', '12', 'még újabb megjegyzi',",",' 2008/10/07", 0000-00- 00 ', '0000-00-00',",",",",",' jel',");
    insert into termelési értéke (", '2008-10-22 ', '1', '0 ', '0',",",",' 2008/10/08", 0000-00-00', ' 0000-00-00',",",",",",",");
    insert into termelési értéke (", '2008-10-23 ', 2", "0", '0',",",",' 2008/10/09 ", 0000-00-00', ' 0000-00-00',",",",",",",");
    insert into termelési értéke (", '2008-10-24 ', '3', '0 ', '0',",",",' 2008/10/10", 0000-00-00', ' 0000-00-00',",",",",",",");
    insert into termelési értéke (", '2008-10-15 ', '0', '0 ', '0', 'később',",",' 2008/10/11", 0000-00-00' , 0000-00-00',",",",",",",");
    insert into termelési értéke (", '2008-10-16 ', '0', '0 ', '0', 'még később',",",' 2008/10/12", 0000-00-00 ", 0000-00-00',",",",",",",");
    insert into termelési értéke (", '2008-10-17 ', '0', '0 ', '0', 'még később',",",' 2008/10/13", 0000-00-00 ", 0000-00-00',",",",",",");
    insert into termelési értéke (", '2008-10-18 ', '0', '0 ', '0', 'még később',",",' 2008/10/14", 0000-00-00 ", 0000-00-00',",",",",",");
    insert into termelési értéke (", '2008-10-19 ', '0', '0 ', '0', 'legújabb',",",' 0000-00-00", 0000-00-00' , 0000-00-00',",",",",",");
    insert into termelési értéke (", '2008-10-01 ', '34', '34 ', '34', 'legújabb',",",' 2008/10/02", '2008-10-04 ", '2008-10-04',",",",",",' Bruce ');
    illessze a termelési érték (",");

    Azt mondja, hogy behelyezése 20 rekordból, de csak az első teszi, hogy az adatbázisba. Minden gondolat?

  89. enim
    Október 23., 2008 at 04:16

    nem helyezze be az adatbázisba asztalhoz, ahol én akarom, hogy ki ..: (

  90. belépés
    Október 20, 2008 at 18:10

    Szép munka vezetője ;-)

  91. Fidel Gonzo
    Október 10, 2008 at 05:12

    Hi all,

    Csináltam egy kis változás, hogy a kódot, így működik, mint egy CSV importőr, ahogy kell.

    CSV-s első sorban meg kell tartani az oszlopnevek importálni kívánt, ezért módosítsa a foreach ciklus:
    foreach (split ($ lineseparator, $ csvcontent) as $ sor) {

    $ Sor + +;

    $ Sor = trim ($ sor, "\ t");

    $ Sor = str_replace ("\ r ","",$ sor);

    / * Get oszlopnevek első sorban a CSV * /
    if ($ sor == 1) {
    $ Oszlop = explode ($ fieldseparator, $ line);

    $ Columnsql = implode (",",$ oszlop);

    echo $ columnsql;
    folytatni;
    }

    /************************************
    Ez a vonal sem kerüli el a különleges karaktert. eltávolítani, ha bejegyzések már megszökött a csv fájlban
    ************************************/
    $ Sor = str_replace ("'"," \ '", $ line);
    /*************************************/

    $ Linearray = explode ($ fieldseparator, $ line);

    $ Linemysql = implode ("','",$ linearray);

    if ($ addauto)
    $ Query = "insert into $ databasetable ($ columnsql) értékek (" $ linemysql');";
    más
    $ Query = "insert into $ databasetable ($ columnsql) értékek (" $ linemysql');";

    $ Lekérdezések .= $ query. "\ N";

    @ Mysql_query ($ query);
    }

  92. admin
    Október 6, 2008 at 00:27

    Mekkora az a fájl akarsz importálni?
    minden esetben, próbálja ki a következő sort a kezdeti nyitó címkék:
    set_time_limit (300);
    Ez adja a forgatókönyvet, legfeljebb 5 perc (300 másodperc) a végrehajtási idő.
    Cseréje 300, 0 lehetővé teszi számára, hogy annyi időt, mint szükséges.

  93. Phillip
    Október 1., 2008 at 22:26

    Sziasztok, szép forgatókönyvet köszönöm. Amikor fut kapom:
    Végzetes hiba: maximális átfutási idő 30 másodperc túllépése on line 63

    Van valami, amit tehetek, hogy ez a hiba?

  94. Roelof
    Szeptember 30, 2008 at 08:06

    Robbie, köszönöm neked mellett, elég szívesen. Sajnos, ez nem működik, rögtön, amikor másolja. Azt hiszem, valami hiányzik, mert a kód oszlik meg a két álláshely.

    Meg tudná ellenőrizni a kódot, mint látható itt? Van valami hiányzik?

  95. ASCASC
    Szeptember 27, 2008 at 05:04

    Brad, ha már letöltötte korábban, mint a múlt héten, cserélje ki a "<?" tetején a "<? php" (eltávolítás tér)

  96. Fejnélküli
    Szeptember 26, 2008 at 14:43

    én kap az első annyira, hogy vágja le, a többi csak a kódot a böngésző. Tudom, hogy php nem működik, mert a többi a site működik.
    Én frissíteni PHP5 számít ez?

  97. Robbie
    Szeptember 24, 2008 at 14:27

    )
    ; / / Kihagyja, mert tartozik a rossz tömb elemeit
    más
    $ Newarray [$ y] = str_replace ('"',",$ linearray [$ y]);
    $ Linearray = array_values ​​($ newarray); / / vissza a kulcsokat az új tömb
    $ X + +;
    }
    }
    }

  98. Robbie
    Szeptember 24, 2008 at 14:27

    Nos, itt van a javítás korábbi véleményét:

    beilleszteni ezt a között:

    $ Linearray = explode ($ fieldseparator, $ line);

    ... Be az alábbi kódrészletet ....

    $ Linemysql = implode ("','",$ linearray);

    Megkeresi és megtartja az összes "cuccok, További dolgok" előtt együtt imploding meg.

    $ A = "";
    $ B = "";
    $ Qoutecount = 0;
    for ($ x = 0; $ x -1) {
    $ Qoutecount + +;
    if ($ qoutecount == 1)
    $ A = $ x; / / tároljuk az első fokon
    elseif ($ qoutecount == 2) {
    $ Quotecount = 0;
    $ B = $ x; / / tároljuk másodfokon
    / / Hogy csinálja ... össze az összes elemet a $ a és $ b $ a-ba, és figyelmen kívül hagyja elemek után semmilyen $ a és $ b az új tömb;
    $ Newa = ""; / / inicializálni új string.
    for ($ z = $ a, $ z $ a & & $ y

  99. Robbie
    Szeptember 24, 2008 at 12:19

    Nem veszi figyelembe az olyan területeken, mint ezt a sort:
    Fname, lname, "Company, Inc, város, állam, Zip

    Vállalat és Kft. kap osztva két különböző oszlopban.

  100. Steve
    Szeptember 12, 2008 at 12:19

    Rengaraj,
    A csv fájlt kell az ugyanazon a helyen, mint a PHP fájlt.
    Is, akkor nem igazán van, hogy ugyanazzal a csv fájl nevét.
    bbqrest.csv egy példa, cserélje ki a fájl nevét a saját.

  101. Rengaraj
    Szeptember 12, 2008 at 12:16

    Tud egy válasz gyors nekem van egy csv fájl bbqrest.csv a helyes útvonalat (root) ..

  102. Rengaraj
    Szeptember 12, 2008 at 12:11

    Én szerzés ez hiba A fájl nem található. Győződjön meg róla, hogy meghatározta a helyes útvonalat.

  103. ollyd
    Szeptember 9, 2008 at 06:35

    lenne egy jó ötlet, hogy hozzá ne fejlécek a csv attól, hogy nyújtottak be az adatbázisba. Vagy hogy egy scriptet, hogy húzza ki az első sort, és létrehoz egy db használja ezeket az értékeket, mint az oszlop nevét.

  104. Joseph
    Szeptember 3, 2008 at 12:39

    Steve,

    Ön hozná ezt a forgatókönyvet egy webről elérhető mappa, megváltoztatása után a változók, amelyeket meg kell változtatni. Olvassa el a megjegyzéseket a forgatókönyvet, hogy megtudja, mit kell adni. Ezután hívja a forgatókönyvet fel egy web böngésző, mint például:

    http://www.example.com/path-to-script/simplescvimport.php

  105. steve
    Augusztus 31, 2008 at 19:04

    Összesen újszülött - tépi hajam próbál importálni az Excel csv be phpMyAdmin (Mac). Szeretnék tudni, pontosan hol és mit csináljak ezzel php scriptet ...?

  106. dani
    Augusztus 25, 2008 at 20:06

    Wow, az jó ... volt ötlete után olvassa el a kódoló ... köszönöm a sok

  107. »CSV import
    Június 7, 2008 at 10:29
  108. Importálása vesszővel tagolt fájl a MySQL és a PHP Script | eCommerce és SEO
    November 30, 2007 at 11:59
  109. hfvd
    Október 24, 2007 at 12:44

    Sziasztok, egy kis módosítás az automatikus növelésének értékek az 1. oszlopban (id mező)

    lásd a $ count változó.

    Ola, Enrico.

    / / $ Con = mysql_connect @ ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
    / / @ Mysql_select_db ($ adatbázisnév) or die (mysql_error ());

    $ Sor = 0;
    $ Lekérdezések = "";
    $ Linearray = array ();

    $ Count = 0;

    foreach (split ($ lineseparator, $ csvcontent) as $ sor) {

    $ Count = $ count + 1;

    $ Sor + +;

    $ Sor = trim ($ sor, "\ t");

    $ Sor = str_replace ("'"," \ '", $ line);

    $ Linearray = explode ($ fieldseparator, $ line);

    $ Linemysql = implode ("','",$ linearray);

    $ Query = "INSERT INTO` a `VALUES db asztal ('$ count', '$ linemysql');";

    $ Lekérdezések .= $ query. "\ N";

    @ Mysql_query ($ query);
    }

    / / @ Mysql_close ($ con);

  110. »Átalakítása csv sql php segítségével @ A Coding Pad: programozás blog, megbeszélések, tutorialok, források
    Szeptember 24, 2007 at 14:12
  111. Len Lulow
    Február 28, 2007 at 20:11

    Nagyon köszönöm ezt a mentett sok idő! Szép forgatókönyvet.

  112. S. Martinez
    Február 22, 2007 at 12:17

    ÉN általában használ phpmyadmin, de igaz, ha az egyik nem van telepítve, és nem shell hozzáférés (mint a legtöbb a megosztott tárhely szolgáltatók), ez nagyon jól jön.

  113. Jake
    Február 25, 2007 at 06:31

    Nagyon hasznos, köszönöm.