Random tech ramblings
19 helmikuu
Tämä on yksinkertainen skripti, jonka avulla voit tuoda CSV tiedot tietokantaan. Tämä on kätevä, koska voit muokata tarvittavat kentät, lataa se yhdessä CSV-tiedosto ja kutsua sitä web ja se hoitaa loput.
Sen avulla voit määrittää erotin tässä csv-tiedoston, onko se koomassa, välilehteä jne. Lisäksi voit valita Oikosulkuerotinta, voit tallentaa tulosteen tiedostoon (tunnetaan data SQL dump).
Sen avulla voit myös lisätä tyhjään kenttään alussa jokaisen rivin, joka on yleensä automaattinen lisäys kokonaisluku perusavain.
Tämä kirjoitus on hyödyllinen lähinnä jos sinulla ei ole phpmyadmin, tai et halua hässäkkää kirjautumalla sisään ja mieluummin muutamalla klikkauksella ratkaisu, tai voit yksinkertaisesti ovat komentokehotteeseen kaveri.
Varmista vain taulukko on jo luotu ennen kuin yrität upottaa tiedot.
Ystävällisesti lähettää kommentteja, jos teillä vikailmoitukseen.
135 Responses for "PHP script tuoda CSV tiedot mysql"
Erittäin hyödyllinen, kiitos.
Käytän yleensä phpmyadmin, mutta totta, jos toinen ei ole asennettu, ja ei ole shell (kuten useimmat jaettua hosting-palvelujen tarjoajat), tämä voi tulla erittäin kätevä.
Kiitos paljon tästä tallennettu paljon aikaa! Nice script.
[...] No, tänään haluan esittää teille toisen tapa saada CSV tiedosto SQL, PHP-koodin. Tämän koodinpätkä, täysi kunnia menee legenda. Sinun täytyy varmistaa tietokanta on jo luotu ennen kuin dumpata päivämäärä. /************************************************* *******************************************/ / * Koodi osoitteessa http: / / legend.ws / blog / vinkkejä-temppuja / csv-php-mysql-Import / / * Muokkaa Alla olevista vastaamaan asianmukaiset arvot /****************** ************************************************** ************************/ $ databasehost = "localhost"; $ databasename = "test", $ databasetable = "näyte"; $ databaseusername = " test ", $ databasepassword =" "; $ fieldseparator =" "; $ lineseparator =" n "; $ csvfile =" bbqrest.csv "; /***************** ************************************************** *************************/ / * Haluatko lisätä ampty kentän alussa nämä tietueet? / * Tämä on hyödyllistä, jos sinulla on taulukko, jossa ensimmäinen kenttä on AUTO_INCREMENT kokonaisluku / * ja CSV-tiedosto ei ole esimerkiksi tyhjään kenttään ennen kirjaa. / * Set 1 kyllä ja 0 ei. HUOMIO: Älä aseta 1, jos et ole varma. / * Tämä voi dumpata tietoja väärin aloilla, jos tämä ylimääräinen kenttä ei esiinny taulukossa /***************************** ************************************************** *************/ $ addauto = 0; /****************************** ************************************************** ************/ / * Haluatko tallentaa mysql kyselyt tiedostoon? Jos kyllä asettaa $ tallentaa 1. / * Lupa tiedostoa tulisi asettaa 777. Joko ladata mallitiedosto kautta ftp ja / * muuttaa oikeuksia, tai suorittaa kehoitteeseen: touch output.sql & & chmod 777 output.sql /******************* ************************************************** ***********************/ $ Save = 1; $ tulostetiedosto = "output.sql"; /*********** ************************************************** *******************************/ [...]
Moi, pieni muutos automaattisten incrementing arvoja sarakkeessa 1 (id kenttä)
Katso muuttuja $ count.
Ola, Enrico.
/ / $ Con = @ mysql_connect ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
/ / @ Mysql_select_db ($ databasename) or die (mysql_error ());
$ Rivit = 0;
$ Kyselyt = "";
$ Linearray = array ();
$ Laskuri = 0;
foreach (split ($ lineseparator, $ csvcontent) kuin $ rivi) {
$ Laskuri = $ laskuri + 1;
$ Linjat + +;
$ Rivi = trim ($ line, "\ t");
$ Rivi = str_replace ("'"," \ '", $ rivi);
$ Linearray = explode ($ fieldseparator, $ rivi);
$ Linemysql = implode ("','",$ linearray);
$ Query = "insert into` your db taulukko `VALUES ('$ count', '$ linemysql');";
$ Kyselyt .= $ query. "\ N";
@ Mysql_query ($ query);
}
/ / @ Mysql_close ($ con);
[...] On samanlainen huomata, täällä on valmiista script, että sen kirjoittaja sanoo, tuonti CSV-tiedoston MySql: PHP script tuoda CSV tiedot mysql. [...]
[...] /******************************************** ************************************************/ / * Koodi on https://legend.ws/blog/tips-tricks/csv-php-mysql-import/ / * Edit Alla olevista vastaamaan asianmukaiset arvot /************* ************************************************** *****************************/ $ databasehost = "localhost"; $ databasename = "xxxxx"; $ databasetable = "xxxx" ; $ databaseusername = "xxxx"; $ databasepassword = "xxxx"; $ fieldseparator = ""; $ lineseparator = "n"; $ csvfile = "xport/2008_BF.csv"; /********* ************************************************** *********************************/ / * Haluatko lisätä ampty kentän alussa nämä tietueet ? / * Tämä on hyödyllistä, jos sinulla on taulukko, jossa ensimmäinen kenttä on AUTO_INCREMENT kokonaisluku / * ja CSV-tiedosto ei ole esimerkiksi tyhjään kenttään ennen kirjaa. / * Set 1 kyllä ja 0 ei. HUOMIO: Älä aseta 1, jos et ole varma. / * Tämä voi dumpata tietoja väärin aloilla, jos tämä ylimääräinen kenttä ei esiinny taulukossa /***************************** ************************************************** *************/ $ addauto = 0; /****************************** ************************************************** ************/ / * Haluatko tallentaa mysql kyselyt tiedostoon? Jos kyllä asettaa $ tallentaa 1. / * Lupa tiedostoa tulisi asettaa 777. Joko ladata mallitiedosto kautta ftp ja / * muuttaa oikeuksia, tai suorittaa kehoitteeseen: touch output.sql & & chmod 777 output.sql /******************* ************************************************** ***********************/ $ Save = 1; $ tulostetiedosto = "output.sql"; /*********** ************************************************** *******************************/ [...]
Wow is cool ... oli ajatus, kun lukea koodaus ... kiitos paljon
Yhteensä newbie - repiminen hiukseni pois yrittää tuoda Exceliin csv osaksi phpMyAdmin (Mac). Olisi kiva tietää tarkalleen, missä ja mitä teen tämän php käsikirjoituksen ...?
Steve,
Olisitte paikka tämän komentotiedoston web-saatavilla kansio, vaihtamisen jälkeen muuttujat on muutettava. Lue kommentit script selvittää, mitä sinun pitää määrittää. Sitten puhelu Script vuonna selain, kuten:
https://www.example.com/path-to-script/simplescvimport.php
se olisi hyvä idea lisätä estää otsikoita sisällä csv olemasta toimitetaan tietokantaan. Tai luoda skriptin, joka poimii ensimmäisen rivin ja luo db käyttäen näitä arvoja kuin sarakkeen nimiä.
Saan tämän virheilmoituksen Tiedostoa ei löydy. Varmista, että olet määrittänyt oikean polun.
Voiko joku vastata nopeasti Olen CSV-tiedosto bbqrest.csv klo oikea polku (root) ..
Rengaraj,
csv-tiedoston pitäisi olla samassa paikassa kuin PHP-tiedoston.
Lisäksi sinun ei todellakaan tarvitse käyttää samaa csv-tiedoston nimi.
bbqrest.csv on esimerkiksi korvata sen nimen omaan.
Ei ota huomioon aloilla, kuten tämä rivi:
Fname, lname, "Company, Inc", City, State, Zip
Yritys ja Inc saada jaettu kahteen eri sarakkeisiin.
No, tässä korjaus aiempaan kommentti:
Laita tähän väliin:
$ Linearray = explode ($ fieldseparator, $ rivi);
... Aseta koodinpätkä alla ....
$ Linemysql = implode ("','",$ linearray);
Etsii ja pitää kaikki "jutut, lisää tavaraa" yhdessä ennen luhistuu se.
$ = "";
$ B = "";
$ Qoutecount = 0;
for ($ x = 0; $ x -1) {
$ Qoutecount + +;
if ($ qoutecount == 1)
$ = $ X; / / store ensimmäisen oikeusasteen
elseif ($ qoutecount == 2) {
$ Quotecount = 0;
$ B = $ x; / / store toisen asteen
/ / Joka tekee ... koota kaikki elementit $ to $ b osaksi $ ja jättää elementtejä mitään jälkeen $ to $ b New matriisi;
$ Newa = ""; / / alustaa uusi merkkijono.
for ($ z = $, $ z $ & & $ y
)
; / / Ohita, koska se kuuluu huonoja array elementtejä
muu
$ Newarray [$ y] = str_replace ('"',",$ linearray [$ y]);
$ Linearray = array_values ($ newarray); / / palauttaa avaimet new Array
$ X + +;
}
}
}
Saan ensimmäistä niin paljon se katkaistaan ja loput vain koodi selaimessani. Tiedän PHP toimii koska muu sivusto toimii.
Tein päivittää php5 tekee sen väliä?
Brad, jos olisit ladannut sen aikaisemmin kuin viime viikolla, vaihda "<? yläreunassa on '<? php' (poista välilyönti)
Robbie, kiitos teille Lisäksi se on varsin tervetullut. Valitettavasti se ei toimi heti kun voin kopioida sitä. Mielestäni jotain puuttuu, koska koodi on levittäytynyt yli kaksi viestiä.
Voisitko tarkistaa koodi näkyy tässä? Onko jotain puuttuu?
Moi, kiva script kiitos. Kun käynnistän sen saan:
Fatal error: enimmäistoteuttamisaikaa 30 sekuntia ylittyy on line 63
Onko mitään mitä voin tehdä kulkea?
Kuinka suuri on tiedosto, jota yrität tuoda?
Joka tapauksessa kokeilla lisätä seuraava rivi jälkeen avattiin ensimmäistä Tags:
set_time_limit (300);
Tämä antaa script enintään 5 minuuttia (300 sekuntia) suorittamisen ajan.
Korvaaminen 300 0 ansiosta se voi ottaa niin paljon aikaa kuin tarvitaan.
Hei kaikki,
Tein pienen muutoksen koodi, joten se toimii CSV maahantuoja, kuten pitääkin.
CSV-s ensimmäisen rivin pitäisi olla sarakeotsikot haluat tuoda, joten muutos foreach silmukka:
foreach (split ($ lineseparator, $ csvcontent) kuin $ rivi) {
$ Linjat + +;
$ Rivi = trim ($ line, "\ t");
$ Rivi = str_replace ("\ r ","",$ rivi);
/ * Saada sarakeotsikot alkaen ensimmäinen rivi CSV * /
if ($ rivit == 1) {
$ Sarakkeet = explode ($ fieldseparator, $ rivi);
$ Columnsql = implode (",",$ pylväät);
echo $ columnsql;
jatkaa;
}
/************************************
Tämä linja karkaa erikoismerkin. poistaa sen, jos merkinnät ovat jo karanneet CSV-
************************************/
$ Rivi = str_replace ("'"," \ '", $ rivi);
/*************************************/
$ Linearray = explode ($ fieldseparator, $ rivi);
$ Linemysql = implode ("','",$ linearray);
if ($ addauto)
$ Query = "insert into $ databasetable ($ columnsql) VALUES ('$ linemysql');";
muu
$ Query = "insert into $ databasetable ($ columnsql) VALUES ('$ linemysql');";
$ Kyselyt .= $ query. "\ N";
@ Mysql_query ($ query);
}
Hienoa työtä Chief
se ei työnnä tietokannan taulukkoon, jossa haluan sen lisätty ..: (
Voin vain saada ensimmäinen rivi minun CSV tiedosto voidaan tuoda tietokantaan.
Tässä kopio lokitiedosto:
insert into tuotantoarvot (", '2008-10-21 ', '50', '50 ', '50', 'Tämä on ensimmäinen toteaa viiva', 'Tämä on muistiinpanoja linja 2", "tämä on muistiinpanoja rivi 3 "0000-00-00 ', '0000-00-00', '0000-00-00 ', '456 Morningside Ave", "Ste. 512", "Brooklyn", "NY", '10023', "Joe", "Asiakas 1");
insert into tuotantoarvot (", '2008-10-09 ', '50', '50 ', '50', 'Tämä on ensimmäinen toteaa rivi',",",' 10.9.2008, '2008 -10-14 ', '0000-00-00', '456 Morningside Ave "," Ste. 512 "," Brooklyn "," NY ", '10023 ',' Joe ',' Asiakas 1");
insert into tuotantoarvot (", '2008-10-14 ', '25', '25 ', '25', 'Huomautus 1',",",' 10.14.2008", '2008-10-17 ',' NULL ', '555 jonnekin "," Suite 123', 'New York', 'uusi Y', '10001 ',' Joe ',' Name 1 ");
Aseta tuotantoon
Aseta tuotantoon
insert into tuotantoarvot (", '2008-10-17 ', '50', '50 ', '50', 'Tämä on ensimmäinen toteaa rivi',",",' 03.10.2008, 0000 -00-00 ', '0000-00-00', '456 Morningside Ave "," Ste. 512 "," Brooklyn "," NY ", '10023 ',' Joe ',' Asiakas 1");
insert into tuotantoarvot (", '2008-10-18 ', '25', '25 ', '25', 'Huomautus 1',",",' 10.04.2008", 0000-00-00 "0000-00-00 ', '555 jonnekin", "Suite 123', 'New York', 'uusi Y', '10001 ',' Joe ',' Name 1");
Aseta tuotantoon
insert into tuotantoarvot (", '2008-10-20 ', '34', '34 ', '34', 'uusi toteaa',",",' 06.10.2008", 0000-00-00 "0000-00-00',",",",",",' Steve',");
insert into tuotantoarvot (", '2008-10-21 ', '12', '12 ', '12', 'edes uudempi toteaa',",",' 07.10.2008", 0000-00- 00 ', '0000-00-00',",",",",",' merkki',");
Aseta tuotantoon
Aseta tuotantoon
Aseta tuotantoon
Aseta tuotantoon
insert into tuotantoarvot (", '2008-10-16 ', '0', '0 ', '0', 'myöhemmin vielä',",",' 12.10.2008", 0000-00-00 "0000-00-00',",",",",",",");
insert into tuotantoarvot (", '2008-10-17 ', '0', '0 ', '0', 'myöhemmin vielä',",",' 13.10.2008", 0000-00-00 "0000-00-00',",",",",",");
insert into tuotantoarvot (", '2008-10-18 ', '0', '0 ', '0', 'myöhemmin vielä',",",' 10.14.2008", 0000-00-00 "0000-00-00',",",",",",");
Aseta tuotantoon
insert into tuotantoarvot (", '2008-10-01 ', '34', '34 ', '34', 'uusinta',",",' 10.2.2008, '2008-10-04 ", '2008-10-04',",",",",",' Bruce");
Aseta tuotantoon arvot (",");
Se sanoo, että lisäämällä 20 kirjaa, mutta vain ensimmäinen tekee tietokantaan. Mitään ajatuksia?
Hei kaikki,
Kiitos script. Olen noob at PHP ja MySQL niin minä todella arvostan jotain tällaista. Sain niin paljon kuin tuottaa "Tiedostoa ei voi kirjoittaa, tarkista oikeudet" virheilmoitus selaimessani. Voisiko joku ystävällisesti selittää kommentti asetusta luvan 777? Käytän Excel syntyvän. CSV-tiedoston? Kiitos jo etukäteen.
Hei Mark,
Ensinnäkin se viittaa tiedoston valitsemaasi $ tulostetiedosto muuttuja.
Toiseksi tämä tiedosto on kirjoitettavissa. Oletan käytät Linuxia, ei ikkunoita, koska tämä ei yleensä ole ongelma Windowsin kanssa.
Linuxissa yksinkertaisesti SSH koneen, vaihda hakemistoon, kun tuotos tiedoston, ja kirjoita: chmod 777 tiedostonimi
jossa "tiedostonimi" on tiedoston todellinen nimi.
Jos sinulla ei ole SSH, monet FTP-asiakkaat tukevat lupaa muutosta. Tätä varten FTP kansioon, joka sisältää tulostetiedostoa, valitse kyseinen tiedosto ja etsiä tästä FTP-ohjelmisto, jolla voit vaihtaa lupaa. Aseta se 777, tai "lukea, kirjoittaa, suorittaa 'kaikille.
Hei kaikki,
Rakkaus tämä kirjoitus, ja se toimi hyvin, nyt yhtäkkiä script tapana aseta kirjaa. Käsikirjoitus on valmis, ja jopa lähdöt ennätys laskea, mutta ei kosketa tietokantaa lainkaan ...
Onko ideoita?
Kiitos
C
Hyvä Chris,
vaihda:
@ Mysql_query ($ query);
kanssa:
@ Mysql_query ($ query) or die (mysql_error ());
ja haluaisin tietää mitä virhettä se antaa sinulle
Mitä tulee lainausmerkkejä ongelma, voit vain käyttää tätä:
$ Linearray = preg_split ("/,(?=(?:[^ \ "] * \" [^ \ "] * \ ")*(?![^ \"] * \ "))/", $ rivi );
Cheers,
Gaz.
se sanoo ladata tämä huomioon tietokannan
tietojen lataaminen paikallinen INFILE "polku" osaksi Pöytään kentät irtisanoa "," linjat päätetään "\ n ';
muutan polku ja pöytä sen menevän, mutta se antaa minulle virhe, että sen väärä syntaksi koodi 1064
Voiko kukaan antaa minulle neuvoja mitä tehdä
kiitos
Stan
Hei Stanley, ongelma on puolilainausmerkkejä. Blogi täällä uudelleenkirjoitusta niitä. Vaihtamalla "ja" "
PS: komento edellä on suoraan ladata CSV-tiedoston tietokantaan mysql nopeasti. Tämä on mukavaa, mutta ei liity yllä olevan komentosarjan
Hi everyone!
Näyttävät käsikirjoitus toimi ... exept ettei se kirjoittaa tietoa mysql ...
Kuten Chris: käsikirjoitus on valmis, ja jopa lähdöt ennätys laskea, mutta ei kosketa tietokantaa ollenkaan ... mutta kertoo minulle: Löytyi yhteensä 1 ilmoitusta tässä csv-tiedostona.
Mitä teen väärin (im noob klo php ja mysql)
Kiitos
Claus
Hei kaikki
Käytän Drupal rakentaa uusi verkkosivusto, haaste Minulla on juuri nyt se, että minun täytyy tuoda tietoja CSV-tiedoston MySQL-tietokantaan, joka on jaettu taulukoihin, siis osan kentistä johon minun täytyy tuoda CSV tiedot ovat eri osissa samaan tietokantaan tämä käsikirjoituksen työtä minulle? Jos ei voi tätä CSV-tiedosto tuodaan jollakin muulla tavalla?
Ilmoitathan, kiitos kaikesta tuesta.
Terveisin
Adrian
Kiitos script. Hyvin ymmärrettävää.
Kuinka voin muuttaa tämän komentosarjan niin, että se hakee ja tallentaa CSV-tiedosto internetistä osaksi MySQL?
@ Adrian
Hello Adrian.
Drupal, kuten huomasitte, on monimutkainen taulukko rakenteita. Riippuen siitä millaisen tiedon olet tuomassa, on hyvin todennäköistä, että nämä tiedot on jaettu useita taulukoita, yleensä yhteinen ulko-avain kuten solmun tunnus.
Valitettavasti käsikirjoitus edellä ei auttaisi tehdä sitä.
@ Okoth
Hello Okoth.
Todennäköisesti et voi päästä eroon linjat 33-54 ja korvata ne tällä yhdellä rivillä:
$ Csvcontent = @ file_get_contents ("https://...");
korvata pisteitä asianmukaiset url (suora URL CSV tiedosto)
@ Claus
Hello Claus.
Onko CSV todella sisältää yhden ennätys?
Koska skripti saavuttanut vaiheen, jossa se tuottaa tietueiden määrä, oletan se ei jättänyt kun se liitetään tietokantaan (rivit 56-57), joten se ei ole ongelma.
On mahdollista, että kysely lisätä tietoja epäonnistuu.
Kokeile korvaamalla rivi 88 kanssa:
mysql_query ($ query) or die (mysql_error ());
ja tarkista mitä virhettä saat.
Hello,
Haluaisin todella käyttää tätä script mutta en ole varma, mitä teen väärin. Saan saman ongelman edellä tiedoilla ei lastaus dB. Se löytää oikea rivien mutta mitään näkyy dB.
Vaihdoin line 88 @ mysql_query ($ query) or die (mysql_error ());
ja saat tämän viestin "Column count ei vastaa arvo lasketaan rivin 1"
@ Andy Brotherton : Tämä tarkoittaa, että kysely yrittää lisätä ennätyksen sarakkeiden määrä, jotka eivät sovi tähän on tietokannan taulun.
1) Oletko varma että CSV tiedosto on tarkalleen sama määrä sarakkeita kuin taulukon tietokantaan?
2) Onko kentän erotinta tässä CSV todella pilkku? vai onko se välilehti esimerkiksi tai muita? Jos se ei ole pilkkua, muuta arvo $ fieldseparator on line 12
3) taulukko on jo luotu tietokanta, ennen kuin yrität ladata tiedot siihen. Oletko varma onko sinulla sitä?
Miten voin tyhjentää minun jo täynnä taulukossa ennen kuin laitat uuden tiedoston?
tai voin päivittää jo olemassa olevia antureita?
Lyhennä UPDATE? Miten saat tämän kyselyn?
komento on: katkaista tablename.
Voit lisätä seuraava on line 58:
@ Mysql_query ("katkaista $ databasetable");
mutta tämä on ei palautuva! joten ole varovainen
Hei, se kertoo minulle ennätys laskea, mutta ei hoida tiedot tietokantaan
Hope voit auttaa
Nathan
Minun täytyy ladata tiedot automaattisesti etäpalvelimelta. Sen CSV-tiedoston, ja minun täytyy purkaa sen, ja tallentaa tiedot MySQL-tietokantaan, jonka loin. On olemassa useita tietokantoja. Ensimmäinen jakso Alla on yksi tietokantoja että joku auttoi minua ja se toimii loistavasti. Olen perustanut ajastettu tehtävä ja se lataa sen automaattisesti aikataulun. Kuitenkin olen enemmän tietokantoja ja kallistuksen saada muut toimimaan.
TÄMÄN alla oleva osio toimii hyvin!!
--------------------------
#! / Bin / bash
deleteparam = 'poisto-jälkeen ";
# Deleteparam = "
# Hakemistosta = '-hakemistossa-prefix = / $ HOME / myfolder / myfolder /'
hakemistoon = "
# Userpwd = "-http-user = blah-http-salasana = blah"
toUpper () {
echo $ 1 | tr "[: lower:]" "[: ylempi:]"
}
# If [-z "$ 1"]; sitten
# Echo Käyttö: 0 € pöytä
# Exit
# Fi
ZIP = nimi atk-tiedostona etäpalvelimeen
ZIP = `toUpper $ ZIP`
# Tiedoston sisällä zip on yksi vähemmän _
Data = nimi taulukon minun MySQL-tietokantaan
Data = `toUpper $ DATA`
# Rm $ TABLE.csv.zip
# Rm $ DATA.csv
cd / $ HOME / myfolder / myfolder /
####### Saada asunto
wget -O $ ZIP.csv.zip
nukkua 10
####### Pura se
pwd
ls-la
unzip-o $ ZIP.csv.zip
nukkua 10
####### Ladata se
wget-verbose $ deleteparam $ hakemistoon $ userpwd https://mywebsite/myfolder/import.php?table = $ DATA
uni 300
###### Poista tiedostoja
rm $ ZIP.csv.zip
rm $ DATA.csv
nukkua 10
_ ---------------------------
TÄMÄ yllä kerrottu toimii IHANA
Tätä minä tarvitsen apua
--------------------------
1. Minun täytyy script lisätä edellä tiedoston, joka lataa kuvia. Jos näet alla minä tarvitsen skriptin joka saa automaattisesti päivämäärä ja kellonaika, että skripti juoksi. Siellä palvelin toimii PIC viimeisen 7 päivää ja sitä päivitetään jatkuvasti. Kun tämä kirjoitus on juoksi se lataa tiedot taulukkoon, että olen luonut.
2. Sitten minä tarvitsen skriptin että kyselyt MySQL-tietokantaa etsivät merkinnöissä on valokuvia ja sitten hakea varsinaisen valokuvia suoraan heidän etäpalvelinten. Tämä CSV-tiedosto ei lataa kuvia, vain tietoja, joita voin käyttää suorittaa komentosarjan hakea kuvia tietyllä paikalla. Katso alla.
Alla on ohjeet sain.
OHJEET
Photo tiedot noudetaan HTTP. Kuvat Tiedot päivitetään kerran vuorokaudessa, ja on ladattavissa CSV-tiedostona. Tämän jälkeen voit kirjoittaa käsikirjoituksen käyttäen tiedot CSV-tiedoston osoittamaan takaisin kuvia meidän kuvapalvelimen. Sinun tulee toimittaa arvo kyselymerkkijonossa last_updt> 'VVVVKKPP HH: MM: SS "varten URL tietojen palauttamisen. Kenttä last_updt on päivämäärän arvo viimeisen kerran, että kuva muuttui listalle.
Sinun tulee korvata user_code ja salasana paikka haltijat (XXXX) kanssa kirjautumistiedot tarjotaan asiakkaalle.
Vaihe 1: Voit hakea ensisijainen listaus kuvan tiedot CSV mennä URL alla.
Vaihe 2: Kuvat taulukon tiedot pitäisi ladata CSV-muodossa.
Vaihe 3: Käyttämällä Y liput ja ML Numero tiedot voit linkittää takaisin meidän kuva paikoissa.
Ensisijainen kuvan hakemistopolku on seuraava:
https://remoteserver/folder/folder/folder/Last3DigistsofML # / Ilmoitus #. jpg
Esimerkiksi-Ensisijainen Kuva kirjaamiseen numero 1899430 sijaitsee
https://remoteserver/folder/folder/1/430/1899430.jpg
Meidän lisäkuva hakemistopolku rakenne on seuraava:
https://remoteserver/mlsphotos/full/PhotoPosition/Last3DigistsofML # / listaus # _photoPosition.jpg
Esimerkiksi-Toinen kuva kirjaamiseen numero 1899430 sijaitsee
https://remoteserver/folder/folder/2/430/1899430_2.jpg
Erinomainen käsikirjoitus! Tarvitsin pienen hypyn alku projekti olin työskennellyt ja tämä teki tempun.
Huomasin jotain outoa olen kuitenkin muutettu script työskennellä muodossa ja huomasin että hakemiseen, viimeinen kenttä oli saada buggered ylös, koska uusi rivi Merkki (joko \ r tai \ n tai molemmat) oli vielä kirjattu in MySQL-tietokantaan.
Tätä varten jos vaihdat:
$ Rivi = str_replace ("\ r ","",$ rivi);
kanssa:
$ Rivi = str_replace ('\ r',",$ rivi);
Se pitää palauttaa olemasta ongelma, sillä uuden linjan, olen lisännyt vähän jotain, joka mahdollistaa lisäämällä uusia ennätyksiä, mutta päivityksiä tietueet, jotta et päädy toistuvat merkinnät. Yläosassa alla oleva koodi, näet missä tein saman korjaus todellinen uusi rivi Merkki.
$ Linemysql = implode ("','",$ linearray);
$ Newlinemysql = str_replace ('\ n',",$ linemysql);
if ($ addauto) {
kytkin ($ databasetable) {
tapauksessa ("osoite"):
$ Duplicatevals = "Osoite = VALUES (osoite),
city = VALUES (kaupunki), valtion = VALUES (valtio),
zip = VALUES (zip) ";
break;
tapauksessa ("omistaja"):
$ Duplicatevals = "ownername = VALUES (ownername),
housetype = VALUES (housetype),
addresskey = VALUES (addresskey) ";
break;
}
$ Query = "insert into $ databasetable arvot (",'$ newlinemysql")
ON DUPLICATE Key Update
$ Duplicatevals ";
} Else {
$ Query = "insert into $ databasetable VALUES ('$ linemysql')
ON DUPLICATE Key Update
$ Duplicatevals ";
}
Olen myös muodossa lisäsin taulukon nimi ja onko halusin taulukossa on [boolean] "addauto" vai ei yhtenä panos avattavasta (pilkulla erotettuna), sitten jakaa tulos yläreunassa simplecsvimport script.
Lopuksi täytyy muistaa asettaa indeksit varten, "ON DUPLICATE ..." töihin, Auto korotukset eivät toimi tässä tapauksessa, joten sinun täytyy asettaa toissijaisen indeksin Auto kasvusta taulukot, taulukoiden että Don 't auto etenemisaskeleen on ainutlaatuinen kentät toimivat yhteen indeksiin, jos tämä on suunta, haluaisit mennä.
Toivottavasti tämä auttaa jotakuta!
Kippis!
Hello,
Tehnyt joitakin muutoksia. My. Txt tiedosto on 3 saraketta erotettu "|" (putki) merkki. Käsikirjoitus näyttää tiedoston tiedot, laskee rivit, mutta ei anna tiedot tietokantaan. Kommentteja?
$ Csvcontent = fread ($ file, $ koko);
fclose ($ file);
$ Con = @ mysql_connect ($ dbhost, $ dbusername, $ dbuserpassword) or die (mysql_error ());
@ Mysql_select_db ($ DataSource) or die (mysql_error ());
$ Lineseparator = "\ n";
$ Fieldseparator = "|";
$ Rivit = 0;
$ Kyselyt = "";
$ Linearray = array ();
$ Laskuri = 0;
foreach (split ($ lineseparator, $ csvcontent) kuin $ rivi) {
$ Laskuri = $ laskuri + 1;
$ Linjat + +;
$ Rivi = trim ($ line, "\ t");
$ Rivi = str_replace ("\ r ","",$ rivi);
/************************************
Tämä linja karkaa erikoismerkin. poistaa sen, jos merkinnät ovat jo karanneet CSV-
************************************/
$ Rivi = str_replace ("'"," \ '", $ rivi);
/*************************************/
$ Linearray = explode ($ fieldseparator, $ rivi);
$ Linemysql = implode (""",$ linearray);
if ($ addauto)
$ Query = "insert into TUNNUSLUVUT VALUES ('$ count', '$ linemysql');";
muu
$ Query = "insert into TUNNUSLUVUT VALUES ('$ linemysql');";
$ Kyselyt .= $ query. "\ N";
@ Mysql_query ($ query) or die (mysql_error ());
echo "$ linemysql \ n";
}
En saanut sitä miten se toimii tiedostosta ohjaus. tarkoittaa ennen Selaa ja valitse tiedosto ja lähetä sitten minun on muutettu
Tämä on erittäin hyödyllinen koodi minulle ..
kiitos.
Miten saan selata tiedoston kirjoittamisen sijasta koko polku ..
Auttakaa tässä.
kiitos
Kiitos, tämä koodi on todella auttanut!
Miten voin muuttaa sitä, jotta lomake tulee näkyviin, jossa käyttäjä selaa ja valitsee csv tiedosto tuodaan pöytään?
Ja myös miten voisin tehdä se niin, että joka kerta uuden tiedoston jätetään se korvaa X on tallennettu taulukkoon?
Monet kiitokset
[...] Että joitakin erittäin hyviä ominaisuuksia, että voisin käyttää auttamaan minua opettamaan ihmisiä PL / SQL ja XML. ITips ja Tricks PHP script tuoda CSV tiedot mysqlPHP script tuoda CSV tiedot mysql ... [...]
Hei kaikki,
Miten sisällä näitä csv lainauksia päivämäärä "päivä, kuukausi päivä, 2010" ja valtio "PROV, valtio" on sarake minun tietokantaan? Näen monia esimerkkejä, mutta en saa sitä toimimaan. apua olisi hyvä.
AK, 10037591,1, "tiistai 09 maaliskuu 2010 15:55:16", 59.7151, -151.4434,2.7,75.90,32 "Kenai Peninsula, Alaska"
thx
@ Kish
nykyinen koodi ei salli selaaminen / tiedoston lähettämiseen.
Voit laittaa CSV-tiedosto samassa hakemistossa kuin PHP-skripti, ja yksinkertaisesti asettaa $ csvfile muuttujan sama tiedoston nimi (ilman polkua)
@ Gary
voit käyttää @ mysql_query ("katkaista $ databasetable"); heti @ mysql_select_db julkilausuman.
Mutta ole varovainen, koska tämä toiminta tuhoaa tiedot ja ei voi peruuttaa.
Miten ohittaa ensimmäinen rivi / rivi joka on otsikko CSV-tiedostossa ja aseta loput tiedot dB?
Kuten Gary, haluan pystyä korvata olemassa olevan ennätyksen, mutta päivittämällä sitä, ei poistaa kaikki tiedot dB. Sp jossain täällä:
if ($ addauto)
$ Query = "insert into $ databasetable arvot (",'$ linemysql');";
muu
$ Query = "insert into $ databasetable VALUES ('$ linemysql');";
Miten voin tarkistaa, onko levy olemassa ja sitten Update sijaan Insert?
Skripti lukee ylimääräinen linja csv-tiedostona. esim. jos CSV-tiedostoja on 25 tietuetta Se osoittaa olemassa 26 kirjaa. Voisitteko kertoa minulle, missä olen menossa pieleen?
Olen lisännyt tarkistaa, jos se on ensimmäinen ja jatkaa silmukan jos sen ensimmäinen rivi.
kiitos
Seuraavat teki tempun minulle:
LOAD DATA LOW_PRIORITY PAIKALLINEN INFILE
"C: \ \ Documents and Settings \ \ Administrator \ \ Desktop \ \ SigmaS1.csv '
INTO TABLE `mydb`. `Mytable`
KENTÄT pakeni BY '\ \'
Irtisanoa ','
Vaihtoehtoisesti rajaama '"'
LINES irtisanoa "\ r \ n"
(`Käyttäjä`, `pwd`, `sno`, `amt`, `ActiveRec`);
Tämä oli erittäin hyödyllinen minulle ... mutta minun täytyi tehdä muutoksia lukemiseen suuria tiedostoja. Olin hämmentynyt aluksi, mutta sitten tajusi script lataa koko tiedoston muistiin (oikea?). Joten tässä on räätälöidyn version koodi, joka lukee rivit yksi kerrallaan. se lukee tiedostoja, jotka näyttävät
alkaa tiedosto:
2,3, -1
1, -2,4
lopussa tiedosto (paljon enemmän arvoja). Halusin kunkin rivin olevan taulukon merkinnän ja id kanssa rivinumero, samoin kuin ensimmäinen id edustavat koko pöydän (joka ei muutu myöhemmin).
<? Php
/********************************/
/ * Koodi klo https://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * Edit Alla olevista vastaamaan asianmukaiset arvot
/********************************/
$ Databasehost = "localhost";
$ Databasename = "tomoku";
$ Databaseusername = "root";
$ Databasepassword = "root";
$ Fieldseparator = "\ n";
$ Lineseparator = "\ n";
/ / Tämä koodi lukee tatami tiedostot tietokantaan
$ Con = @ mysql_connect ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
@ Mysql_select_db ($ databasename) or die (mysql_error ());
/ / Tämä silmukoita yli kasan tiedostoja
for ($ r = 2; $ r <14; $ r + +) {
for ($ c = $ r, $ c
Jos olen rajoitettu pääsy asiakkaan kiintolevy Kuinka olen menossa ladata CSV-tiedoston server.for esimerkiksi voimme asettaa oletusarvo on tiedostonlähetyskiintiö ohjaus
Wonderful script mutta Minulla on puhjennut uudelleen ongelmia.
Kun juoksen käsikirjoituksen, se sanoo "Löytyi yhteensä 1 ilmoitusta tässä csv-tiedostona.".
Katsoin takaisin pöytääni ja se näkyy tyhjä.
Tarkistin varmista, että ei ollut oikea määrä sarakkeita ja siellä oli.
Auttakaa!
Thanks,
Coulton
Jos haluat välttää lisäämällä ensimmäisen rivin, vain leikkiä laskuri, esimerkiksi:
$ Rivit = 1; (laskurin arvon on 1)
$ Kyselyt = "";
$ Linearray = array ();
foreach (split ($ lineseparator, $ csvcontent) kuin $ rivi) {
$ Linjat + +; (Määrittää ensimmäisen rivin # 2 (header)
if ($ rivit> = 3) {(aloita # 3 "mitään suurempia tai yhtä suuri 3")
Minulla oli tämä komentosarja hyvä alle eri verkkotunnuksen. Sitten kun muutin sitä, ajastettu tehtävä lataa csv-tiedoston, tallentaa sen, ja sitten poistaa se mutta doesnt lataa se mysql. Kun katson import.php tiedosto ja yritä suorittaa sen saan virheilmoituksen sanonta ei löydä tiedostoa Varmista, että olet oikea polku. Ohje.
Voit ohittaa ensimmäinen rivi / rivi joka on otsikko CSV-tiedostossa tehdä tämän:
... ..
if ($ rivit> 1) {
if ($ addauto)
$ Query = "insert into $ databasetable arvot (",'$ linemysql');";
muu
$ Query = "insert into $ databasetable VALUES ('$ linemysql');";
$ Kyselyt .= $ query. "\ N";
@ Mysql_query ($ query);
}
Hmm .. Sain virheitä kuten tämä "Tiedostoa ei voi kirjoittaa, tarkista oikeudet. Löytyi yhteensä 2 kirjaa tässä CSV-tiedostoon. "Mitään käsitystä mikä meni pieleen?
Hmm .. Sain virheitä kuten tämä "Tiedostoa ei voi kirjoittaa, tarkista oikeudet. Löytyi yhteensä 2 kirjaa tässä CSV-tiedostoon. "Mitään käsitystä mikä meni pieleen?
Hei,
Getting tämän virheen. miten ratkaista tämän?
Virhe:
Tiedosto ei voi kirjoittaa, tarkista oikeudet. Löytyi yhteensä 13 kirjaa tässä csv-tiedostona.
Kiitos
Haan
Käytän tätä koodia ... ... ... sen liian helppo toteuttaa se minun sivusto ... ..
Kiitos paljon ..
Haluan lisää koodin PHP ... ...
Jos haluat muuntaa sivun pdf ...
Hienoa työtä!
En vain ole kysymys.
Onko mahdollista käyttää enemmän merkkejä räjähtää kommando kirjoitus?
Olen allso tarve että erottaminen kanssa. ja;
Paljon kiitoksia jos joku elin on jokin idea!
Hei,
Käytän tätä script tuoda CSV datafeed MySQL.
Ainoa ongelma minulla on, että lainausmerkit "" ovat myös lisätty minun taulukoissa
Erotin:, (komma)
Kotelo: "(aanhalingsteken)
Uusi rivi: \ r \ n
Tässä on koodi btw,
$ Databasehost = "localhost";
$ Databasename = "tietokanta";
$ Databasetable = "taulukko";
$ Databaseusername = "admin";
$ Databasepassword = "admin";
$ Fieldseparator = ",";
$ Lineseparator = "\ n";
$ Csvfile = "https://linktosite/";
$ Addauto = 0;
$ Save = 0;
$ Tulostetiedosto = "output.sql"; / / jos tallennus on päällä (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 ($ databasename) or die (mysql_error ());
$ Rivit = 0;
$ Kyselyt = "";
$ Linearray = array ();
foreach (split ($ lineseparator, $ csvcontent) kuin $ rivi) {
$ Linjat + +;
$ Rivi = trim ($ line, "\ t");
$ Rivi = str_replace ("\ r ","",$ rivi);
/************************************
Tämä linja karkaa erikoismerkin. poistaa sen, jos merkinnät ovat jo karanneet CSV-
************************************/
$ Rivi = str_replace ("'"," \ '", $ rivi);
/*************************************/
$ Linearray = explode ($ fieldseparator, $ rivi);
$ Linemysql = implode ("','",$ linearray);
if ($ addauto)
$ Query = "insert into $ databasetable arvot (",'$ linemysql');";
muu
$ Query = "insert into $ databasetable VALUES ('$ linemysql');";
$ Kyselyt .= $ query. "\ N";
@ Mysql_query ($ query);
}
@ Mysql_close ($ con);
if ($ tallennus) {
if (! is_writable ($ tulostetiedosto)) {
echo "Tiedostoa ei voi kirjoittaa, tarkista oikeudet. \ n";
}
else {
$ File2 = fopen ($ tulostetiedosto, "w");
if (! $ file2) {
echo "Virhe kirjoitettaessa tulostustiedostoon. \ n";
}
else {
fwrite ($ file2, $ kyselyt);
fclose ($ file2);
}
}
}
echo "Löytyi yhteensä $ linjat tallentaa tämän csv-tiedostona. lisätään DB. \ n ";
Tämä toimii erittäin hyvin. Kiitos!
Olen edessään ilmoitusta alle-
Huomaa: Undefined offset: 1 C: \ wamp \ www \ Uusi kansio (2) \ exl8.php on line 20
Huomaa: Undefined offset: 2 in C: \ wamp \ www \ Uusi kansio (2) \ exl8.php on line 20
Huomaa: Undefined offset: 2 in C: \ wamp \ www \ Uusi kansio (2) \ exl8.php on line 20
8pills.com on teidän yhden luukun terveydenhuollon ratkaisu. 8pills.com tarjoavat parhaan luokan Generic ja Branded lääkitys.
Tuomittavia: Toiminto split () on vanhentunut in E: \ wamp \ www \ floodpk2 \ admin \ simplecsvimport.php on line 63
Tiedosto ei voi kirjoittaa, tarkista oikeudet. Löytyi yhteensä 1498 kirjaa tässä csv-tiedostona.
plz auttaa minua pikaisesti
@ Zeshan
käyttö räjähtää sijasta split
kaundo le DOY descarga minulle aparecen muchos vetoketjut todos los Archivos Los ubico en una sola carpeta? ¿
Mielestäni tämä on paras Ostoskori n csv SQL.
<? Php
$ Newbal = '0 ';
kuuluu "conn.php";
if (isset ($ _POST ['submit']))
{
$ Tiedosto = $ _POST ['filename'];
$ Kahva = fopen ("$ filename", "r");
while (($ data = fgetcsv ($ kahva, 1000, ","))! == false)
{
$ Sql5 = mysql_query ("SELECT * FROM kohde, jossa alkioiden = '$ data [0 ]'");
$ Num = mysql_num_rows ($ sql5);
if ($ num == 0)
{
$ Tuonti = "INSERT INTO kohde (kohde, gweight, dweight) VALUES ('$ data [0 ]','$ data [1 ]','$ data [2 ]')";
mysql_query ($ tuonti) or die (mysql_error ());
}
else {
echo "$ data [0] exit";
}
}
fclose ($ kahva);
print "Tuo done";
}
muu
{
?>
Kirjoita tiedoston nimi tuoda:
Päivämäärä
setIcon ("images / iconCalendar.gif");
$ MyCalendar-> setDate (päivämäärä ('d'), päivämäärä ('m'), päivämäärä ("Y"));
$ MyCalendar-> setPath ("./");
$ MyCalendar-> setYearInterval (2010, 2020);
$ MyCalendar-> dateAllow ('2008-05-13 ', '2020-12-31');
$ MyCalendar-> setDateFormat (Y / m / d ');
$ MyCalendar-> writeScript ();
?>
se toimii hyvin, kun voin lähettää CSV tiedoston localhost mutta näyttää file missing virheen, kun ajetaan server.please auttaa minua, kiitos etukäteen
Hi friends,
Tarvitsin kiireellistä apua sinulta ... Joten ystävällisesti auttaa minua tässä on koodi ...
Valmistetut HTML-tiedoston. Mutta tarvitsen PHP ratkaisu ... Ystävällisesti auttaa minua ... ... ..
Lähetä tekstiviesti
Vastaanottimen Mobile Number:
+91
Puhelinluettelo
Lataa Excel-tiedosto:
<!-->
<Input type = "tiedosto" name = "tiedosto" class = "file_input_hidden" OnChange = "javascript: document.getElementBy
Sender ID:
:
YOGA
GRAFS
Mobitel
var frmvalidator = uusi Validator ("freesms2 ');
frmvalidator.addValidation ("frno", "req", "Anna matkapuhelinnumero");
frmvalidator.addValidation ("frno", "num", "Matkapuhelinnumero kentän pitäisi olla numeroita");
frmvalidator.addValidation ("frno", "minlength = 10000", "Matkapuhelinnumero tulee 10000 numeroa");
frmvalidator.addValidation ("message3", "req", "Enter tekstiviesti");
Ystävällisin terveisin,
Ravi Kumar
Ottaa täsmälleen samasta asiasta, Voiko kukaan auttaa please?
@ Exclusive Tutorials
Onko tapa saada se ole aika ulos? se toimii hienosti 100k kirjaa, mutta kun menen johonkin suureen kuten mil tai enemmän, kestää noin 20 sekuntia sitten menee tyhjä näyttö ja mainoksia ole tietueita.? Thanks.
@ Mike
Voitko yrittää lisätä:
set_time_limit (0);
heti alussa? (Heti php avaavan koodin)
Tämä on hyvä ... erittäin helppo toteuttaa. Nyt täytyy selvittää, miten käyttää tätä tai vastaavia script ladata. Xls-tiedoston mukana. Csv-tiedostona
Erittäin pieni ohjelma.
Onko tapa korvata solun tiedot mm. "Kaupunki" csv ja muuttaa sen arvo Edellinen kuin $ _SESSION tai $ _POST arvoa?
Omat CSV Import tiedosto on myös lainausmerkkien noin joka alalla (pääasiassa välttää ongelmia jos joudun tuoda Exceliin, joten se ei mankeli tiedot), joten minulla oli tämä ongelma, kun se oli asettanut tietueiden lainausmerkit ympärillä tiedot. Olen riisuttu kaikki lainausmerkit lisäämällä tämä rivi:
$ Rivi = str_replace ("\ "","",$ rivi);
Tämän jälkeen rivi:
$ Rivi = str_replace ("\ r ","",$ rivi);
ja uusi linja korvaa lainausmerkkeihin mitään. Se on sama kuin rivi ennen kuin se poistaa \ "sijasta \ r (lainausmerkkien sijasta rivinvaihtoja).
@ Neady
Kun suoritettava tämä komentosarja csv jonka tiedän tuonti oikein PHP Admin, käsikirjoitus toimii, raportoi oikein rivien kanssa viestin "Löytyi yhteensä 193 kirjaa tähän CSV-tiedostoon." Mutta mikään tiedot näkyvät taulukossa. Olen tehnyt muutoksia csv jotta voin nähdä, jos tiedot on pantu pöydälle ja se ei ole. Onko ideoita?
AJ
Okei, löytyi ongelma. Olin mispelt taulukon nimi. Mutta löysivät vain kysymys, kun minulla oli lisätty seuraava koodi joka palauttaa virheen, jos SQL epäonnistuu. Tällä hetkellä skripti ei kerro, onko siellä ollut ongelma.
Joten muuta rivi
@ Mysql_query ($ query);
on kaikki seuraavat: -
$ Tulos = mysql_query ($ query);
/ / Tarkista tulos
/ / Tämä näkyy todellinen kysely lähetettiin MySQL, ja virhe. Hyödyllisiä virheenkorjausta.
if (! $ tulos) {
$ Message = "Virheellinen kysely:". mysql_error (). "\ N";
$ MESSAGE .= "Koko kysely:". $ Query;
die ($ viesti)
Toivottavasti auttaa jotakuta. Se minua.
AJ
@ Andrew Fish
koodi on palaamassa ilmoitus, että se couldnt löytää CSV-tiedosto ...
wat voisi olla ongelma ....
Viimeisin kehitysaskel koodi voi havaita mitään rivien CSV-mutta sen ei se näytetään pöydän
Sama ongelma minulle @ Andrew Fish
voitko selittää koodisi haluat korvata @ mysql_query ($ query); kanssa lausunnot U antoi mutta se näkyy virhe $ viesti on määrittämätön @ Andrew Fish
Raasta koodi On todella hyödyllistä kaikille PHP kehittäjä.
@ Pruthvi
Hei,
Käytä palje annettu koodi ... ...
ya koodi toimii, mutta NW am saada minun tietoja suljettu lainausmerkeissä @ Suman
Kiitos jakaminen Excel mysql script, tämä on erittäin hyödyllinen minulle.
En ole ohjelmoija. Näen käsikirjoituksen ja se voisi olla lähellä sitä, mitä minä tarvitsen, tai voisi ehkä muodostaa perustan, mitä tarvitsen, en ole varma.
Minun täytyy tehdä sama lataustoiminnon uudestaan ja uudestaan mutta eri alihakemistosta kerta kiintolevyltä, on luettelo CSV-tiedostoja, sekä eri MySQL DB kerta (on differret verkkosivuilla joka kerta). Useimmissa tapauksissa db ei ole mitään tietoja, mutta olisi ihanteellista (mutta ei välttämätöntä), jos käsikirjoitus voisi vielä työskennellä db joka ei ole tietoa, eikä se vaikuta voimassa oleviin tietoihin).
En tarvitse sitä kirjautumiseen dB palvelimella (sen pitäisi pyytää minulta sivuston URL ja db käyttäjätunnukset ja salasana jne.).
Tarvitsen jotain joka sallii minun selailla ja valita hakemiston nimi minun kiintolevylle, tai kirjoita se.
Sitten se prosessi kunkin csv tiedosto kyseiseen hakemistoon, yksi toisensa jälkeen muut, seuraavasti:
Jokaisessa tiedostossa tarvitsen sitä ensin ottaa tiedoston nimi (vähemmän laajennus) ja lataa se db taulukossa luokkaan. Taulukko sisältää numeroitu avain jonka se sitten osoitetaan, että nimi.
Sitten täytyy script ladata vain sana Colum (1. Colum tietoja) kyseisen tiedoston taulukkoon sanoja, ja lisää vastaavia nubmer varten luokan nimen ensimmäinen tiedosto.
On huomattava, että CSV-tiedosto sisältää usein kolme riviä otsikkorivillä ja tyhjä rivi, kaikki joista neljä haluan sivuuttaa eikä ladata. Usein tyhjät rivit TE eend olevan tiedoston Haluan myös se sivuuttaa, niitä, sekä ohittaa kaikki muut sarakkeet, jotka voivat olla CSV-tiedostoon. Joissakin tapauksissa CSV-tiedosto ei saa olla mitään ylä-tai muita sarakkeita.
Sitten seuraava kuva, kunnes se loppuu tiedostoja hakemistossa.
Sitten haluaisin sen kertoa minulle "Process täydellinen.", Ja jos virheitä kertoa minulle.
Voiko kukaan teistä kaverit auttaa minua tässä?
@ Warren
Myös vain uteliaisuudesta voisi myös käsitellä txt-tiedoston, (joka on vain lista sanoja siihen) samalla tavalla?
(Olen uusi tällä, ja tiedän voidaan kysyä paljon, joten jos joku voisi ottaa tämän pikku projektin minulle, jos se on tarkoituksenmukaista, että voisimme keskustella minun maksamalla pienen summan aikaansa tekemällä muutoksia täyttää minun tarpeet? Kerrothan.)
Sähköpostiosoitteeni on: wr.spence @ hotmail.com
Vain pieni korjaus pyyntöäni, kahdessa taulukossa MqSQL tietokantaan mainitsin ovat todella kutsutaan:
keywords_categories
avainsanat
@ Warren
/********************************/
Tämä tiedosto sisältää monia yritti tekemät muutokset Warren (ei ohjelmoija) on 28 joulukuu 2010 alkaen perustuu kommenttia lähteellä päällä ja muuta infoa jotta tämä ohjelma otetaan yhden hän tarvitsee. Tämä on hyvin puutteellinen. Eniten apua arvostetaan ja hyvin tarpeellisia.
Rivit luoda syöttökenttien verkkosivustojen URL tietokannan nimi ja salasana jne.
/********************************/
Tervetuloa Server Upload Utility
Tämä ohjelma toimii tietokoneesta asuttamaan kaksi tyhjää taulukkoa uusi MySQL-tietokanta web-sivustoosi: lataamalla kunkin tiedoston nimi vähemmän laajennus, jossa yksilöllinen numero edessä kuin laskuri, pöytään keywords_categories, ja sitten sitten määrittää numero 1 olevaan tyhjään sarakkeeseen edessä ensimmäinen Colum tietoja tuosta tiedostosta, ja määrä nousee yhdellä jokaisena myöhemmin tiedoston jalostettu että hakemistoon, niin että numero assigend sen luokan nimi taulukossa vastaa avainsanoja ja hälyttää, jotka ovat jälkeen ladata taulukon avainsanan.
Tämä tehdään kaikille csv-tiedostoja hakemistossa ja teidän.
Siinä ei oteta viisi ensimmäistä riviä CSV-tiedostoon.
Website URL:
Tietokannan nimi:
Tietokannan käyttäjätunnus:
Tietokannan salasana:
Path of Directory sisältää lähetettävät tiedostot:
/********************************/
Kysymys
Miten saan yllä tietoja syöttökenttien osaksi ohjelmaa vastaavaksi että pyydetyt alla?
/********************************/
<? Php
/********************************/
Line lisätty estämään vanheni suurempia tiedostoja.
/********************************/
set_time_limit (0);
/********************************/
Get tiedosto nimet tiedostoja voidaan käsitellä, poistaa tiedostotunniste sitten käyttää niitä lähettää niin luokkien nimet pöytään keywords_categories.
/********************************/
/********************************/
Poistaa tiedoston nimi Extentions
kopioitu www perlmonks org /? node_id = 151232
/********************************/
sub parse_out_extension {
die ("Ei tiedostonimi jäsentää. \ n") if (! @ _);
my ($ file) = @ _;
minun @ kappaletta;
kartta {push (@ kappaletta, $ _)} split (/ \. /, $ file);
my $ lopussa = pop (@ kappaleina);
$ File = ~ s / \. $ Loppuun / /;
return ($ file) jos $ file;
/********************************/
/ * Alkuperäinen koodin https://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * Edit Alla olevista vastaamaan asianmukaiset arvot
/********************************/
$ Databasehost = "localhost";
$ Databasename = "testi";
$ Databasetable = "näyte";
$ Databaseusername = "testi";
$ Databasepassword = "";
$ Fieldseparator = ",";
$ Lineseparator = "\ n";
$ Csvfile = "filename.csv";
/********************************/
/ * Haluatko lisätä ampty kentän alussa nämä tietueet?
/ * Huom Warren tapauksessa avainsanoja jotka ensimmäisen sarakkeen tiedot jokaisen tiedoston, on tiedosto kerrallaan perusteella tämä uusi tyhjä coum paikka DIN frot ja avainsanat on muutettava niin se kaappaa numero luokan nimi joka koostuu tiedostonimen vähemmän laajennus ja asettaa sen tähän uuteen tyhjään ensimmäisessä sarakkeessa.
/ * Tämä on hyödyllistä, jos sinulla on taulukko, jossa ensimmäinen kenttä on AUTO_INCREMENT kokonaisluku. Huom Warren. Tämä on mitä tarvitset, jos tiedostonimien vähemmän exteniosn jotka upoaded pöytään keywords_categories.
/ * Ja CSV-tiedosto ei ole esimerkiksi tyhjään kenttään ennen kirjaa.
/ * Set 1 kyllä ja 0 ei. HUOMIO: Älä aseta 1, jos et ole varma.
/ * Tämä voi dumpata tietoja väärin aloilla, jos tämä ylimääräinen kenttä ei ole taulukossa. Huom Warren todennäköisesti eivät tarvitse tätä tiedostoa en minun tapauksessani, mutta vain arvailla minun puoleltani mutta täytyy nähdä tarvetta, jos mitään.
/********************************/
$ Addauto = 1;
/********************************/
/ * Haluatko tallentaa mysql kyselyt tiedostoon? Jos kyllä asettaa $ tallentaa 1.
/ * Lupa tiedostoa tulisi asettaa 777. Joko ladata mallitiedosto kautta ftp ja
/ * Muuttaa oikeuksia, tai suorittaa kehoitteeseen: touch output.sql & & chmod 777 output.sql
/********************************/
$ Save = 0;
$ Tulostetiedosto = "output.sql";
/********************************/
if (! file_exists ($ csvfile)) {
echo "Tiedostoa ei löydy. Varmista, että määritetty oikea polku. \ N ";
exit;
}
$ File = fopen ($ csvfile, "r");
if (! $ file) {
echo "Virhe avattaessa tiedostoa. \ n";
exit;
}
$ Koko = Tiedostokoko ($ csvfile);
if (! $ koko) {
echo "Tiedosto on tyhjä. \ n";
exit;
}
$ Csvcontent = fread ($ file, $ koko);
fclose ($ file);
$ Con = @ mysql_connect ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
@ Mysql_select_db ($ databasename) or die (mysql_error ());
/********************************/
Voit välttää laittamalla neljä ensimmäistä riviä adveristing otsikon tekstin ja tyhjä rivi. Linja nolla koodi vaihdettiin alle koodia.
/********************************/
$ Rivit = 1; (laskurin arvon on 1)
$ Kyselyt = "";
$ Linearray = array ();
foreach (split ($ lineseparator, $ csvcontent) kuin $ rivi) {
$ Linjat + +; (Määrittää ensimmäisen rivin # 2 (header)
if ($ rivit> = 5) {(aloita # 5 "mitään suurempia tai yhtä kuin 5?)
$ Kyselyt = "";
$ Linearray = array ();
foreach (split ($ lineseparator, $ csvcontent) kuin $ rivi) {
$ Linjat + +;
$ Rivi = trim ($ line, "\ t");
$ Rivi = str_replace ("\ r ","",$ rivi);
/************************************
Tämä linja karkaa erikoismerkin. poistaa sen, jos merkinnät ovat jo karanneet CSV-
************************************/
$ Rivi = str_replace ("'"," \ '", $ rivi);
/*************************************/
$ Linearray = explode ($ fieldseparator, $ rivi);
$ Linemysql = implode ("','",$ linearray);
if ($ addauto)
$ Query = "insert into $ databasetable arvot (",'$ linemysql');";
muu
$ Query = "insert into $ databasetable VALUES ('$ linemysql');";
$ Kyselyt .= $ query. "\ N";
/************************************
Tämä hieman koodi alla lisättiin nyt näyttää virheilmoituksia.
************************************/
$ Tulos = mysql_query ($ query);
/ / Tarkista tulos
/ / Tämä näkyy todellinen kysely lähetettiin MySQL, ja virhe. Hyödyllisiä virheenkorjausta.
if (! $ tulos) {
$ Message = "Virheellinen kysely:". mysql_error (). "\ N";
$ MESSAGE .= "Koko kysely:". $ Query;
die ($ viesti)
}
@ Mysql_close ($ con);
if ($ tallennus) {
if (! is_writable ($ tulostetiedosto)) {
echo "Tiedostoa ei voi kirjoittaa, tarkista oikeudet. \ n";
}
else {
$ File2 = fopen ($ tulostetiedosto, "w");
if (! $ file2) {
echo "Virhe kirjoitettaessa tulostustiedostoon. \ n";
}
else {
fwrite ($ file2, $ kyselyt);
fclose ($ file2);
}
}
}
echo "Löytyi yhteensä $ linjat tallentaa tämän csv-tiedostona. \ n";
?>
Hei kaverit, vain halusi antaa kaikki tiedätte, että olen löytänyt joku kirjoittaa minulle varsinaisen ohjelman tarvitsen.
Yritin käsikirjoituksen mutta output.sql on writting outoja juttuja,
insert into test_excel arvot ("PK? | Q? K5?? Q?? Q? K5?? Q?? Q? K5?? Q? ....
Tällaiset asiat
Miten voin korjata tämän ongelman. mitään erityistä muotoa excel?
@ Khaled
Miten voin viedä UTF8 Excelin output.sql
kiitos
@ Roy
Olen muokannut käsikirjoituksen, joten se kuluttaa paljon vähemmän muistia, kun käsitellään suuria tiedostoja (se osuma php muistin raja, kun yritin käyttää sitä 100MB CSV-tiedosto). Muutokset ovat seuraavat:
$chunksize = 1*(1024*1024);
$file = fopen($csvfile,"rb");
if(!$file) {
echo "Error opening data file.\n";
exit;
}
$ Koko = Tiedostokoko ($ csvfile);
if (! $ koko) {
echo "Tiedosto on tyhjä. \ n";
exit;
}
$ Con = @ mysql_connect ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
@ Mysql_select_db ($ databasename) or die (mysql_error ());
$ Rivit = 0;
$ Kyselyt = "";
while (! feof ($ tiedosto)) {
$ Csvline = fgets ($ file, $ chunksize);
$ Linjat + +;
if ($ rivit <2) jatkaa;
$ Rivi = trim ($ csvline, "\ t");
$ Rivi = str_replace ("\ r ","",$ rivi);
Tämä linja karkaa erikoismerkin. poistaa sen, jos merkinnät ovat jo karanneet CSV-
$ Rivi = str_replace ("'"," \ '", $ rivi);
$ Linearray = explode ($ fieldseparator, $ rivi);
$ Linemysql = implode ("','",$ linearray);
$ Query = "insert into $ databasetable VALUES ('$ linemysql');";
if ($ tallenna) $ kyselyt .= $ query. "\ N";
@ Mysql_query ($ query);
echo $ linjat. "\ n";
}
fclose ($ file);
$ Linjat -= 3;
@ Mysql_close ($ con);
Kiitos,
@ Joofoo
Olen ladannut koodin mutta en saa mitään päivitetään infoa MySQL-tietokannan ...
CSV sisältää:
Ylätunniste -> käyttäjätunnus, salasana, viesti, sähköposti, kuva, päivämäärä
ROW2 -> Bill, jätkä,,,,
Row3 -> Jane, Gal,,,,
Row4 -> David, lapsi,,,,
Ja tässä on koodi ...:
<? Php
/ / Set-up iphonelogin.php tiedosto "etänä" kansioon ...
/ * Yhteyden dB * /
/ / $ Yhteys = mysql_connect ("ronbo.db.6405862.hostedresource.com ',' ronbo ',' Pepper0689") or die ("Ei voi yhdistää DB");
/ / Mysql_select_db ('ronbo ", $ yhteys) or die (" ei voi valita TE ");
/ / https://www.ihappyapps.com/DataFolder/loader.php
/********************************/
/ * Koodi klo https://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * Edit Alla olevista vastaamaan asianmukaiset arvot
/********************************/
$ Databasehost = "dbhost";
$ Databasename = "name";
$ Databasetable = "taulukko";
$ Databaseusername = "Käyttäjänimi";
$ Databasepassword = "salasana";
$ Fieldseparator = ",";
$ Lineseparator = "\ n";
$ Csvfile = "spreadsheet.csv";
/********************************/
$ Addauto = 1;
/********************************/
$ Save = 0;
$ Tulostetiedosto = "output.sql";
/********************************/
if (! file_exists ($ csvfile)) {
echo "Server sai pyyntösi, mutta CSV tiedosto ladataan tietokantaan ei ole läsnä ... .. \ n";
exit;
}
$ Chunksize = 1 * (1024 * 1024);
$ File = fopen ($ csvfile, "rb");
if (! $ file) {
echo "Virhe avattaessa tiedostoa. \ n";
exit;
}
$ Koko = Tiedostokoko ($ csvfile);
if (! $ koko) {
echo "Tiedosto on tyhjä. \ n";
exit;
}
$ Con = @ mysql_connect ($ databasehost, $ databaseusername, $ databasepassword) or die (mysql_error ());
@ Mysql_select_db ($ databasename) or die (mysql_error ());
$ Rivit = 0;
$ Kyselyt = "";
while (! feof ($ tiedosto)) {
$ Csvline = fgets ($ file, $ chunksize);
$ Linjat + +;
if ($ rivit <2) jatkaa;
$ Rivi = trim ($ csvline, "\ t");
$ Rivi = str_replace ("\ r ","",$ rivi);
Tämä linja karkaa erikoismerkin. poistaa sen, jos merkinnät ovat jo karanneet CSV-
$ Rivi = str_replace ("'"," \ '", $ rivi);
$ Linearray = explode ($ fieldseparator, $ rivi);
$ Linemysql = implode ("','",$ linearray);
$ Query = "insert into $ databasetable VALUES ('$ linemysql');";
if ($ tallenna) $ kyselyt .= $ query. "\ N";
@ Mysql_query ($ query);
echo $ linjat. "\ n";
}
fclose ($ file);
$ Linjat -= 3;
@ Mysql_close ($ con);
<>
En todellakaan voisi käyttää joitakin auttaa saamaan tämä toimisi ...
Ron
@ Mark Cloyd
"Osoite = VALUES (osoite)
Saan virheilmoituksen täällä Parse error: syntax error, odottamattomat '='
Mitään käsitystä siitä, miten saat tämän käsikirjoituksen työtä kentät mukana lainausmerkkeihin jotta kentät pilkulla niihin ei saa lukea kuin uusi merkintä?
Olen data, joka sisältää pilkkuja kuten dollari määriä ja kommentit osio, jossa käyttäjät voivat pitää käyttää pilkkua. Tarvitsen koko kentän tuodut ja tämä kirjoitus käsittelee niitä uusia kenttiä.
Kiitos, erittäin hyvä csv maahantuoja.
Mutta löysin yhden pienen ongelman, se toimii vain CSV-tiedoston rakenne: "kenttä1", "kenttä2", "field3" jne. mutta en Hava CSV näin: kenttä1; kenttä2, filed3, jne.
Ainoa mitä voin muuttaa on $ fieldseparator mutta miten voin "kertoa" script, että tiedosto ei käytä "(kenttä erotin)?
Omat ideia oli ComboBox dollaria fieldseparator (tai ja toinen dollaria fielddelimiter ("tai ei mitään)
Kiitos jo etukäteen.
Olen todella sekoittaa tämän koodin!
mutta minä tapana yrittää ylös!
BTW, miten koodi tai kentän HTML kutsua tätä koodia
Hi ...
Olen edessään ongelma, kun käytän tätä, sen osoittaa virhe sanonta
"Tuomittavia: Function split () on vanhentunut in C: \ wamp \ www \ testi1 \ simplecsvimport.php on line 64
Tiedosto ei voi kirjoittaa, tarkista oikeudet. Löytyi yhteensä 41 kirjaa tässä csv-tiedostona. "
Pls vastata, mikä hätänä!
Kiitos jo etukäteen!
Suuri script! Tnx paljon
[...] Legend.ws, he ovat tehneet koodinpätkä käytettävissä, joka voi helposti muokata ja integroida [...]
Hei, Tämä kirjoitus on suuri. Minulla on yksi ongelma kuitenkin. Onko kuitenkin poistaa "merkitsee, että käsikirjoitus on astumassa minun tietokantaan. Ne ympäröivät jokaisen solun merkinnän.
Rearlly työskennellyt PHP
Paglu Vain Chill
Handy script. Saattaa olla, että sinun täytyy luoda taulukon sekä (suuri csv n monien colums). Siksi slidly muokatun version voi luoda taulukon käyttäen otsikot ensimmäisen rivin CSV-tiedoston.
Kiitos. Etelä-Koreasta.
Haluan csv tiedosto saada tarkistaa tietokannasta.
Vuonna tietokannassa on rivi sellaista-
testaus 23 INTIA
Minun csv tiedosto on sellaista-
ABC 21 INTIA
def 32
testaus 23 INTIA
def 21 INTIA
Kun lataan csv tiedosto on tarkistaa, että nimi "testaus" on jo tietokannassa ja täytyy jättää kyseisen rivin ja lataa loput 3 krs.
Onko mahdollista tehdä.
Auttakaa.
Thanks.
Thank u SOO paljon tarjota tämän koodia ... thank u ....
Kiitos paljon, tämä on erittäin suureksi avuksi!
Tuomittavia: Toiminto split () on vanhentunut in C: \ wamp \ www \ simplecsvimport.php on line 66
Ole hyvä ja auttaa ratkaisemaan sitä.
Tämä on vain tieto, jota etsin! Aion käyttää tätä script tuoda CSV tiedot mysql.
Koodi tuoda CSV-tiedoston mysq käyttäen PHP: -
Ensinnäkin tee kaikki acess arkkia menestyä ja excel tallentaa csv-tiedostona
Kiitos!
Se toimii kuin junan vessa!
Erittäin hyödyllinen allaw käyttäjän asuttamaan taulukon antamatta todellista pääsyä.
Kiitos vielä kerran
Yksi ymmärtää, että Humen elämä näyttää olevan ole halpaa, mutta eri ihmiset vaativat rahaa eri asioita eikä jokainen ansaitsee ison summia käteistä. Näin ollen saada joitakin luotto-lainat ja lyhyen aikavälin laina olisi hyvä tie ulos.
Varmasti upea teos ... Siinä on tarvittavat tiedot. Kiitos lähettämistä tämän. Blogisi on niin mielenkiintoinen ja hyvin informative.Thanks jakamiseen. Ehdottomasti hieno teos kiitokset työstänne.
Suositeltava sivustot ...
[...] Alla linkki joitakin sivustoja, jotka mielestämme sinun pitäisi vierailla [...] ...
Kiitos paljon, erittäin hyvä opetusohjelma
Tiedosto ei voi kirjoittaa, tarkista oikeudet. Löytyi yhteensä 1 ilmoitusta tässä csv-tiedostona.
Auttakaa minua tämän ongelman ratkaisemiseksi. En ole luoda että output.sql tiedosto
Tulen ehdottomasti käyttää tämä. Olen vain mietin, miten suojautua tai toteuttaa siten, että ulkopuolinen ei käytä sitä minua vastaan. Olen keskustellaan Komentosarjan käyttö tai Perl-skripti, että voin ajaa komentoriviltä. Thanks.
Säilyttäminen ja terveyden vaaliminen on saavutettu yhdistämällä fyysisen, psyykkisen ja sosiaalisen hyvinvoinnin, joskus kutsutaan "kolmion terveyden." Terveys on positiivinen käsite keskittyy sosiaalisia ja henkilökohtaisia voimavaroja samoin kuin fyysisiä valmiuksia.
Thanks ... hyvin yksinkertainen n hienoa työtä ..!
Related .. Trackback ...
[...] Aikaa lukea tai käydä sisällöstä tai sivustojen olemme sidoksissa alle [...] ...
On hienoa, hyödyllisiä .... Kiitos paljon.
Hei,
Käytän tätä käsikirjoituksen ja toimii hyvin minulle. mutta se vain lisää 237 kirjaa mysql taulukon taas CSV-tiedostossa on kaikkiaan 437 kirjaa.
Jätä kommentti