PHP Skript zur CSV-Daten in mysql importieren

Dies ist ein einfaches Skript, das können Sie CSV-Daten in Ihre Datenbank importieren. Dies kommt praktisch, weil man einfach bearbeiten Sie die entsprechenden Felder ein, laden Sie sie zusammen mit der CSV-Datei und rufen Sie aus dem Internet, und es wird den Rest erledigen.

Es ermöglicht Ihnen, das Trennzeichen in dieser csv-Datei angeben, ob es Koma, ein Register etc. Es erlaubt Ihnen auch, wählte die Zeile Trennzeichen ist, können Sie die Ausgabe in eine Datei (auch bekannt als Daten-SQL-Dump) zu speichern.

Es erlaubt Ihnen auch ein leeres Feld am Anfang jeder Zeile, die in der Regel ist ein Auto-Inkrement integer Primärschlüssel enthalten.

Dieses Skript ist nützlich vor allem, wenn Sie nicht über phpmyadmin, oder Sie wollen nicht die Mühe der Anmeldung und lieber ein paar Klicks Lösung, oder Sie sind einfach eine Eingabeaufforderung Kerl.
Nur stellen Sie sicher, dass die Tabelle bereits erstellt, bevor Sie versuchen, die Daten-Dump.
Bitte posten Sie Ihre Kommentare, wenn Sie irgendwelche Fehler melden habe.


Datei herunterladen hier

135 Kommentare

Jake 25. Februar 2007 um 06.31 Uhr

Sehr nützlich, danke.

S. Martinez 22. Februar 2007 um 12.17 Uhr

Normalerweise verwende ich phpmyadmin, aber wahr, falls man es nicht hat, installiert, und muss nicht einen Shell-Zugang (wie die meisten Shared-Hosting-Provider), kann dies sehr nützlich sein.

Len Lulow 28. Februar 2007 um 08.11 Uhr

Thanks a lot diese gespeichert viel Zeit! Nizza-Skript.

[...] Nun, heute möchte ich Sie mit einer anderen Methode, Ihre CSV-Datei in SQL, PHP-Code vorhanden ist. Für dieses Stück Code, geht das volle Anerkennung der Legende. Sie müssen sicherstellen, dass die Datenbank bereits erstellt, bevor Sie das Datum auszugeben. /************************************************* *******************************************/ / * Code auf http: / / legend.ws / blog / tips-tricks / csv-php-mysql-import / / * Bearbeiten Sie die Einträge, um die entsprechenden Werte spiegeln /****************** ************************************************** ************************/ $ DatabaseHost = "localhost"; $ databasename = "test"; $ databasetable = "sample"; $ DatabaseUserName = " test "; $ databasepassword =" "; $ fieldseparator =" "; $ lineseparator =" n "; $ csvfile =" bbqrest.csv "; /***************** ************************************************** *************************/ / * Möchten Sie eine ampty Feld am Anfang dieser Datensätze hinzufügen? / * Dies ist nützlich, wenn Sie eine Tabelle mit dem ersten Feld wird eine AUTO_INCREMENT integer / * und die CSV-Datei muss nicht wie leere Feld vor den Aufzeichnungen haben. / * 1 für Ja und 0 für kein Set. ACHTUNG: nicht auf 1 gesetzt, wenn Sie nicht sicher sind. / * Dies kann Dump-Daten in die falschen Felder, wenn diese zusätzliche Feld nicht in der Tabelle vorhanden /***************************** ************************************************** *************/ $ addauto = 0; /****************************** ************************************************** ************/ / * Möchten Sie die MySQL-Abfragen in einer Datei zu speichern? Wenn ja set $ bis 1 zu retten. / * Berechtigung für die Datei sollte auf 777 gesetzt werden. Entweder laden Sie eine Beispiel-Datei über FTP und / * Ändern Sie die Berechtigungen, oder führen Sie an der Eingabeaufforderung ein: touch output.sql & & chmod 777 output.sql /******************* ************************************************** ***********************/ $ save = 1; $ outputfile = "output.sql"; /*********** ************************************************** *******************************/ [...]

hfvd 24. Oktober 2007 um 12.44 Uhr

Hallo, eine kleine Modifikation für die automatische Inkrementieren Werte in Spalte 1 (ID-Feld)

siehe Variable $ count.

ola, enrico.

/ / $ Con = @ mysql_connect ($ DatabaseHost, $ DatabaseUserName, $ databasepassword) or die (mysql_error ());
/ / @ Mysql_select_db ($ databasename) or die (mysql_error ());

$ Lines = 0;
$ Queries = "";
$ Linearray = array ();

$ Count = 0;

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

$ Count = $ count + 1;

$ Lines + +;

$ Line = trim ($ line, "\ t");

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

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

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

$ Query = "insert into` Ihr db Tabelle `VALUES ('$ count', '$ linemysql');";

$ Fragen .= $ query. "\ N";

@ Mysql_query ($ query);
}

/ / @ Mysql_close ($ con);

[...] Auf eine ähnliche Notiz, hier ist eine vorgefertigte Skript, das der Autor sagt, wird eine CSV-Datei in MySQL importieren: PHP-Skript, um CSV-Daten in mysql importieren. [...]

»CSV-Import 7. Juni 2008 um 10:29

[...] /******************************************** ************************************************/ / * Code auf http://legend.ws/blog/tips-tricks/csv-php-mysql-import/ / * Bearbeiten Sie die Einträge, um die entsprechenden Werte spiegeln /************* ************************************************** *****************************/ $ DatabaseHost = "localhost"; $ databasename = "xxxxx"; $ databasetable = "xxxx" ; $ DatabaseUserName = "xxxx"; $ databasepassword = "xxxx"; $ fieldseparator = ""; $ lineseparator = "n"; $ csvfile = "xport/2008_BF.csv"; /********* ************************************************** *********************************/ / * Möchten Sie eine ampty Feld am Anfang dieser Datensätze hinzufügen ? / * Dies ist nützlich, wenn Sie eine Tabelle mit dem ersten Feld wird eine AUTO_INCREMENT integer / * und die CSV-Datei muss nicht wie leere Feld vor den Aufzeichnungen haben. / * 1 für Ja und 0 für kein Set. ACHTUNG: nicht auf 1 gesetzt, wenn Sie nicht sicher sind. / * Dies kann Dump-Daten in die falschen Felder, wenn diese zusätzliche Feld nicht in der Tabelle vorhanden /***************************** ************************************************** *************/ $ addauto = 0; /****************************** ************************************************** ************/ / * Möchten Sie die MySQL-Abfragen in einer Datei zu speichern? Wenn ja set $ bis 1 zu retten. / * Berechtigung für die Datei sollte auf 777 gesetzt werden. Entweder laden Sie eine Beispiel-Datei über FTP und / * Ändern Sie die Berechtigungen, oder führen Sie an der Eingabeaufforderung ein: touch output.sql & & chmod 777 output.sql /******************* ************************************************** ***********************/ $ save = 1; $ outputfile = "output.sql"; /*********** ************************************************** *******************************/ [...]

dani 25. August 2008 um 20.06 Uhr

Wow ist cool ... hatte diese Idee nach lesen Sie Ihre Kodierung ... danke viel

steve 31. August 2008 um 19.04 Uhr

Insgesamt Neuling - Reißen mir die Haare aus versuchen, Excel csv in phpMyAdmin (auf einem Mac) importieren. Würde gerne genau, wo und was ich mit diesem PHP-Skript, dass ...?

Joseph 3. September 2008 um 12.39 Uhr

Steve,

Sie würden dieses Skript in eine Web-zugänglichen Ordner ablegen, nach dem Ändern der Variablen, die geändert werden müssen. Lesen Sie die Kommentare im Skript, um herauszufinden, was Sie angeben müssen. Dann rufen Sie das Skript in einem Web-Browser, wie zB:

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

ollyd 9. September 2008 um 06.35 Uhr

es wäre eine gute Idee, um hinzuzufügen verhindern Header innerhalb der CSV nicht in die Datenbank gestellt werden. Oder, um ein Skript erstellen, die aus zieht der ersten Reihe und schafft eine db mit diesen Werten als Spaltennamen.

Rengaraj 12. September 2008 um 12:11 Uhr

Ich bin immer diese Fehlermeldung Datei nicht gefunden. Achten Sie darauf, von Ihnen angegebenen dem richtigen Weg.

Rengaraj 12. September 2008 um 12.16 Uhr

Kann jeder eine Antwort schnell Ich habe eine CSV-Datei bbqrest.csv am richtigen Pfad (root) ..

Steve 12. September 2008 um 12:19

Rengaraj,
die CSV-Datei sollte in der gleichen Stelle wie der PHP-Datei sein.
Außerdem müssen Sie nicht wirklich die gleiche CSV-Datei zu verwenden.
bbqrest.csv ist ein Beispiel, ersetzen Sie den Dateinamen mit Ihren eigenen.

Robbie 24. September 2008 um 12:19

Nicht berücksichtigt Bereichen wie diese Zeile:
Vorname, Nachname, "Company, Inc", Stadt, Bundesland, Postleitzahl

Unternehmen und Inc bekommen in zwei verschiedene Spalten aufgeteilt.

Robbie 24. September 2008 um 02.27 Uhr

Nun, hier ist das Update zu meinem vorherigen Kommentar:

Fügen Sie diesen in der Mitte:

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

... Legen Sie folgende Codeausschnitt ....

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

Findet und hält alle "Stuff, More Stuff" zusammen, bevor sie implodiert.

$ A = "";
$ B = "";
$ Qoutecount = 0;
for ($ x = 0; $ x -1) {
$ Qoutecount + +;
if ($ qoutecount == 1)
$ A = $ x; / / store die erste Instanz
elseif ($ qoutecount == 2) {
$ Quotecount = 0;
$ B = $ x; / / Die zweite Instanz
/ / DAS WAR ES ... kompilieren alle Elemente aus $ a um $ b in $ a und ignorieren Elemente etwas nach $ a um $ b in neues Array;
$ Newa = ""; / / Initialisierung des neuen String zurück.
for ($ z = $ a; $ z $ a & & $ y

Robbie 24. September 2008 um 02.27 Uhr

)
/ / Überspringen, weil es innerhalb des schlechten Array-Elementen fällt
sonst
$ NewArray [$ y] = str_replace ('"',",$ Linearray [$ y]);
$ Linearray = array_values ​​($ newArray); / / Reset der Schlüssel in das neue Array
$ X + +;
}
}
}

Brad 26. September 2008 um 02.43 Uhr

Ich bekomme die erste so viel davon abgeschnitten und der Rest nur Code in meinem Browser. Ich weiß, php funktioniert, weil der Rest der Seite funktioniert.
Ich habe zu php5 Upgrade tut das?

ASCASC 27. September 2008 um 05.04 Uhr

brad, wenn Sie hatten es früher als letzte Woche heruntergeladen, ersetzen Sie die "<?" an der Spitze mit "<? php '(entfernen Leerzeichen)

Roelof 30. September 2008 um 08.06 Uhr

Robbie, vielen Dank für Sie Darüber hinaus ist es sehr zu begrüßen. Leider hat es nicht sofort, wenn ich sie kopieren zu arbeiten. Ich denke, etwas fehlt, weil der Code aus über zwei Beiträge zu verbreiten.

Können Sie überprüfen den Code wie hier dargestellt? Fehlt etwas?

Phillip 1. Oktober 2008 auf 22.26 Uhr

Hallo, schön script Dank. Bei der Ausführung ist, erhalte ich:
Fatal error: Die maximale Ausführungszeit von 30 Sekunden überschritten werden, auf Linie 63

Kann ich irgendetwas tun, um dies zu umgehen kann?

admin 6. Oktober 2008 auf 0.27

Wie groß ist die Datei, die Sie importieren möchten?
in jedem Fall, versuchen Sie die folgende Zeile nach der ersten Eröffnung tags:
set_time_limit (300);
Dies wird das Skript bis zu 5 Minuten (300 Sekunden) der Ausführungszeit.
Umstellung von 300 mit 0 wird es ermöglichen, so viel Zeit nehmen wie nötig.

Fidel Gonzo 10. Oktober 2008 um 05.12 Uhr

Hallo zusammen,

Ich habe eine kleine Änderung, um Ihren Code, so funktioniert es als CSV-Importeur, wie es sollte.

CSV-s erste Zeile sollte halten die Spaltennamen die Sie importieren möchten, so ändern Sie die foreach-Schleife:
foreach (split ($ lineseparator, $ csvcontent) as $ line) {

$ Lines + +;

$ Line = trim ($ line, "\ t");

$ Line = str_replace ("\ r ","",$ Linie);

/ * Hole Spaltennamen erste Zeile der CSV * /
if ($ lines == 1) {
$ Columns = explode ($ fieldseparator, $ line);

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

echo $ columnsql;
fortzusetzen;
}

/************************************
Diese Zeile entgeht dem besonderen Charakter. entfernen Sie es, wenn bereits Einträge in der CSV-Datei entgangen sind
************************************/
$ Line = str_replace ("'"," \ '", $ line);
/*************************************/

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

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

if ($ addauto)
$ Query = "insert into $ databasetable ($ columnsql) values ​​('$ linemysql');";
sonst
$ Query = "insert into $ databasetable ($ columnsql) values ​​('$ linemysql');";

$ Fragen .= $ query. "\ N";

@ Mysql_query ($ query);
}

login 20. Oktober 2008 bei 6.10

Nice work Chef ;-)

enim 23. Oktober 2008 um 04.16 Uhr

es nicht in die Datenbank-Tabelle einzufügen, wo ich es eingefügt werden soll ..: (

Gen 29. Oktober 2008 um 09.28 Uhr

Ich kann nur die erste Zeile meiner CSV-Datei in die Datenbank importiert werden.
Hier ist eine Kopie der Log-Datei:

insert into Produktion Werte ("'2008-10 bis 21 ', '50', '50 ', '50', 'Dies ist die erste Notizen line', 'das ist Notizen Linie 2', 'das ist Notizen Linie 3 ', '0000-00 bis 00', '0000-00 bis 00 ', '0000-00 bis 00', '456 Morningside Ave ',' Ste. 512 ',' Brooklyn ',' NY ', '10023', 'Joe', 'Kunde 1');
insert into Produktion Werte ("'2008-10 bis 09 ', '50', '50 ', '50', 'Dies ist die erste Notizen line',",",' 2008.10.09', '2008 -10-14 ', '0000-00 bis 00', '456 Morningside Ave ',' ste 512 ',' Brooklyn ',' NY ', '10023', 'Joe', 'Kunde 1').;
insert into Produktion Werte ("'2008-10 bis 14 ', '25', '25 ', '25', 'Anmerkungen 1',",",' 2008.10.14', '2008-10 bis 17 ',' NULL ', '555 irgendwo', 'Suite 123', 'New York', 'neue y', '10001 ',' Joe ',' Name 1 ');
insert into Produktion
insert into Produktion
insert into Produktion Werte ("'2008-10 bis 17 ', '50', '50 ', '50', 'Dies ist die erste Notizen line',",",' 2008.10.03', '0000 -00-00 ', '0000-00 bis 00', '456 Morningside Ave ',' ste 512 ',' Brooklyn ',' NY ', '10023', 'Joe', 'Kunde 1').;
insert into Produktion Werte ("'2008-10 bis 18 ', '25', '25 ', '25', 'Anmerkungen 1',",",' 2008.10.04', '0000-00 bis 00 ', '0000-00 bis 00', '555 irgendwo ',' Suite 123 ',' New York ',' neue y ', '10001', 'Joe', 'Name 1');
insert into Produktion
insert into Produktion Werte ("'2008-10 bis 20 ', '34', '34 ', '34', 'neue Noten',",",' 2008.10.06', '0000-00 bis 00 ', '0000-00 bis 00',",",",",",' Steve',");
insert into Produktion Werte ("'2008-10 bis 21 ', '12', '12 ', '12', 'auch neuere Hinweise',",",' 2008.10.07', '0000-00- 00 ', '0000-00 bis 00',",",",",",' markieren',");
insert into Produktion
insert into Produktion
insert into Produktion
insert into Produktion
insert into Produktion Werte ("'2008-10 bis 16 ', '0', '0 ', '0', 'später noch',",",' 2008.10.12', '0000-00 bis 00 ', '0000-00 bis 00',",",",",",",");
insert into Produktion Werte ("'2008-10 bis 17 ', '0', '0 ', '0', 'später noch',",",' 2008.10.13', '0000-00 bis 00 ', '0000-00 bis 00',",",",",",");
insert into Produktion Werte ("'2008-10 bis 18 ', '0', '0 ', '0', 'später noch',",",' 2008.10.14', '0000-00 bis 00 ', '0000-00 bis 00',",",",",",");
insert into Produktion
insert into Produktion Werte ("'2008-10 bis 01 ', '34', '34 ', '34', 'neuester',",",' 2008.10.02', '2008-10 bis 04 ', '2008-10 bis 04',",",",",",' bruce');
insert into Produktion Werte (",");

Es sagt, es ist das Einfügen 20 Datensätze, sondern nur der erste macht es in der Datenbank. Irgendwelche Gedanken?

MarkFromHawaii 19. November 2008 um 04.00 Uhr

Hallo zusammen,

Vielen Dank für das Skript. Ich bin ein Neuling in PHP und MySQL so dass ich wirklich zu schätzen so etwas. Ich habe so weit wie die Erzeugung der "Datei ist nicht beschreibbar, prüfen Sie die Berechtigungen" Fehlermeldung in meinem Browser. Kann mir jemand bitte erklären, den Kommentar über die Einstellung der Erlaubnis auf 777? Ich bin mit einem Excel-generated. Csv-Datei? Vielen Dank im Voraus.

admin 1. Dezember 2008 auf 2.10

Hallo Markus,

Erstens ist es die Datei, die Sie in dem $ outputfile ausgewählte Variable verweist.
Zweitens muss diese Datei beschreibbar sein. Ich nehme an, Sie verwenden Linux, nicht Windows, da dies in der Regel kein Problem mit Fenstern.
Unter Linux einfach SSH auf die Maschine, um das Verzeichnis zu wechseln, wo die Ausgabedatei ist, und geben: chmod 777 filename
wobei 'filename' ist der eigentliche Dateiname.
Wenn Sie nicht über SSH, FTP-Clients unterstützen viele Zugriffsrechte ändern. Zu diesem Zweck zu dem Ordner mit der Ausgabedatei FTP, dann wählen Sie diese Datei, und suchen aus diesem FTP-Software die Möglichkeit, Zugriffsrechte ändern. Setzen Sie ihn auf 777, oder "read, write, execute 'für jedermann.

Chris 18. Dezember 2008 um 14.31 Uhr

Hey Everyone,

Love this script, und es war gut funktioniert, nun plötzlich das Skript pflegen legen Sie die Unterlagen. Das Skript beendet ist, und auch gibt die Anzahl der Datensätze, aber nicht berühren Sie die Datenbank bei allen ...

Irgendwelche Ideen?

Dank
C

admin 18. Dezember 2008 um 17.35 Uhr

Lieber Chris,

ersetzen Sie bitte:
@ Mysql_query ($ query);
mit:
@ Mysql_query ($ query) or die (mysql_error ());

und lassen Sie mich wissen, welcher Fehler es Ihnen

Gary Pearman 23. Februar 2009 um 07.25 Uhr

Im Hinblick auf die Anführungszeichen Ausgabe, können Sie einfach diese:

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

Cheers,
Gaz.

Stanley Zdun 24. August 2009 um 18.19 Uhr

heißt es, diese in die Datenbank laden

LOAD DATA LOCAL INFILE 'PATH' in die Tabelle TABLE Felder durch ',' Zeilen von '\ n' terminiert;

i Ändern Sie den Pfad und die Tabelle sein Gehen zu, aber es gibt mir eine Fehlermeldung, dass seine falsche Syntax-Code 1064

kann jemand mir einige auf, was zu tun raten

Dank
stan

admin 26. August 2009 um 03.20 Uhr

Hallo Stanley, ist das Problem mit dem einfachen Anführungszeichen. Die Blog-Software hier schreibt sie. Ersetzen Sie einfach "und" mit "

PS: der obige Befehl wird direkt laden Sie eine CSV-Datei in die Datenbank von der MySQL-Eingabeaufforderung. Das ist nett, aber nicht im Zusammenhang mit dem oben beschriebenen Skript :)

Claus 11. September 2009 um 12.59 Uhr

Hallo allerseits!

Scheinen, um das Skript gearbeitet haben ... außer, dass sie nicht schreiben Daten in die mysql ...
Wie bei Chris: Das Skript beendet ist, und auch gibt die Anzahl der Datensätze, aber nicht berühren die Datenbank überhaupt ... aber sagt mir: Gefunden insgesamt 1 Einträge in dieser CSV-Datei.

Was mache ich falsch gemacht (im a noob in PHP und MySQL)

Dank
Claus

Adrian 13. September 2009 um 07.03 Uhr

Hallo zusammen
Ich bin mit Drupal, um eine neue Website zu bauen, ist die Herausforderung, die ich mit gerade bin, dass ich Daten aus einer CSV-Datei importieren in eine MySQL-Datenbank, die Tabellen, daher sind einige der Felder, in die ich brauche, um csv Import geteilt hat müssen werden in verschiedenen Abschnitten die gleiche Datenbank wird dieses Skript für mich arbeiten? Wenn nicht kann das CSV-Datei importiert werden mithilfe einer anderen Methode werden?

Bitte informieren Sie, ich danke Ihnen für jegliche Hilfe.

Grüße
Adrian

Okoth 18. September 2009 um 08.16 Uhr

Vielen Dank für das Skript. Sehr verständlich.

Wie kann ich ändern das Skript, so dass es holt und Speichern einer CSV-Datei aus dem Internet in MySQL?

admin 3. Oktober 2009 um 05.54 Uhr

@ Adrian
Hallo Adrian.
Drupal, wie Sie bemerkt, hat komplexe Tabellenstrukturen. Je nachdem, welche Art von Daten, die Sie importieren, ist es sehr wahrscheinlich, dass diese Daten in mehrere Tabellen aufgeteilt werden, in der Regel mit einer gemeinsamen Außen-Schlüssel wie der Knoten-ID benötigt.
Leider würde das Skript oben nicht helfen tun.

admin 3. Oktober 2009 um 05.58 Uhr

@ Okoth
Hallo Okoth.

Wahrscheinlich können Sie loswerden Zeilen 33-54 und ersetzen Sie sie mit dieser Zeile:

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

ersetzen Sie die Punkte mit der entsprechenden URL (direkte URL zur CSV-Datei)

admin 3. Oktober 2009 um 18.02 Uhr

@ Claus
Hallo Claus.
Ist die CSV wirklich enthalten einen einzelnen Datensatz?

Da das Skript ein Stadium erreicht, wo es gibt die Anzahl der Datensätze, nehme ich es nicht scheitern, wenn es mit der Datenbank verbunden (Zeilen 56-57), so dass ist nicht das Problem.

Es ist möglich, dass die Abfrage zum Einfügen von Daten ist fehlgeschlagen.
Ersetzen Sie die Linie 88 mit:
mysql_query ($ query) or die (mysql_error ());

und prüfen, welche Fehler man bekommt.

Andy Brotherton 4. Oktober 2009 um 14.14 Uhr

Hallo,

Ich würde wirklich gerne, um dieses Skript verwenden, aber ich bin mir nicht sicher, was ich falsch mache. Ich bekomme das gleiche Problem vor mit Daten nicht geladen in die db erwähnt. Er findet die richtige Anzahl von Zeilen, aber nichts zeigt in der db.

Ich wechselte die Leitung 88 @ mysql_query ($ query) or die (mysql_error ());

und erhalten diese Nachricht "Spaltenzahl stimmt nicht mit der Anzahl der Werte in Zeile 1"

admin 5. Oktober 2009 um 08.46 Uhr

@ Andy Brotherton : Dies bedeutet, dass die Abfrage versucht, einen Datensatz mit einer Anzahl von Spalten, die nicht übereinstimmen, dass der Datenbank-Tabelle einfügen.

1) Sind Sie sicher, dass die CSV-Datei genau die gleiche Anzahl von Spalten hat, wie die Tabelle in der Datenbank?
2) Ist der Feldtrenner in dieser CSV-Datei wirklich ein Komma? oder ist es ein Register zum Beispiel oder andere? Wenn es nicht ein Komma, ändern Sie den Wert von $ fieldseparator on line 12
3) Die Tabelle muss bereits in der Datenbank sein, bevor Sie Daten in die Last erzeugt. Sind Sie sicher, dass Sie es haben?

MAFF 7. Oktober 2009 um 07.24 Uhr

Wie kann ich leere mein bereits ausgefüllt Tabelle vor dem Einsetzen der neuen Datei?
oder kann ich aktualisieren Sie eine bereits bestehende Eingang?

TRUNCATE, UPDATE? Wie bekomme ich diese in der Abfrage?

admin 8. Oktober 2009 um 16.48 Uhr

lautet der Befehl: truncate tablename.

Sie können die folgenden auf der Leitung 58 eingefügt:
@ Mysql_query ("abschneiden $ databasetable");

aber das ist nicht umkehrbar! also seien Sie vorsichtig

Nathan 20. Oktober 2009 um 05.59 Uhr

Hallo, es sagt mir die Anzahl der Datensätze, aber nicht indem Daten in Datenbank

Hoffe ihr könnt helfen

Nathan

phpwebdesigner2010 8. Dezember 2009 um 21.39 Uhr

Ich muss die Daten automatisch herunterladen von einem entfernten Server. Es ist eine CSV-Datei, und ich brauche, um es zu entpacken, und die Daten in einer MySQL-Datenbank, die ich erstellt habe. Es gibt mehrere Datenbanken. Der erste Abschnitt ist eine der Datenbanken, die jemand hat mir geholfen, mit und es funktioniert wunderbar. Ich einen Cron-Job, und es lädt es automatisch als geplant. Allerdings habe ich mehrere Datenbanken und cant get die anderen zu arbeiten.

DIESER ABSCHNITT BELOW funktioniert einwandfrei!!
--------------------------

#! / Bin / bash

deleteparam = '-delete-after';
# Deleteparam = "
# Directory = '-directory-prefix = / $ HOME / myfolder / myfolder /'
directory = "
# Benutzerkennwort = '-http-user = blah-http-password = blah "

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

# If [-z "$ 1"]; dann
# Echo Verwendung: $ 0 Tabelle
# Exit
# Fi

ZIP = Name der Datei in Remote-Server
ZIP = `toUpper $ ZIP`

# Die Datei im ZIP-Archiv muss man weniger _
DATA = Name der Tabelle in meiner MySQL-Datenbank
DATA = `toUpper $ DATA`

# Rm $ TABLE.csv.zip
# Rm $ data.csv

cd / $ HOME / myfolder / myfolder /
####### Erhalten die Wohn-

wget -O $ ZIP.csv.zip
sleep 10
####### Entpacken
pwd
ls-la

unzip-o $ ZIP.csv.zip
sleep 10
####### Laden

wget-verbose $ deleteparam $ Verzeichnis $ Benutzerkennwort http://mywebsite/myfolder/import.php?table = $ DATA
Schlaf 300

###### Löschen Sie die Dateien

rm $ ZIP.csv.zip
rm $ data.csv
sleep 10
_ ---------------------------
ALL DIESE oben genannten Arbeiten WONDERFUL

THIS IS WHAT I NEED HELP WITH
--------------------------
1. Ich brauche ein Skript, um den oben genannten Datei, die das Herunterladen der Fotos hinzufügen. Wenn Sie unten sehen brauche ich ein Skript, erhält automatisch das aktuelle Datum und die Uhrzeit, das Skript ausgeführt wird. Es Server hält pic der letzten 7 Tage und wird ständig aktualisiert. Nachdem dieses Skript lief es werden die Daten in die Tabelle, die ich erstellt herunterladen.

2. Dann, ich brauche ein Skript, dass die MySQL-Datenbank auf der Suche nach Einträgen, die Fotos haben, und ruft dann die eigentlichen Fotos direkt von ihrem Remote-Server Abfragen. Diese CSV-Datei nicht heruntergeladen Fotos, nur die Daten, die ich benutze, um ein Skript ausgeführt werden kann, um die Fotos zu einem bestimmten Ort abzurufen. Siehe unten.
Hier sind die Anweisungen, die ich erhielt.

ANLEITUNG
Photo Daten per HTTP abgerufen werden. Die Fotos werden aktualisiert, einmal täglich und steht zum Download als CSV-Datei. Sie können dann ein Skript schreiben, mit den Daten aus der CSV-Datei zurück, die Bilder auf unser Image-Server verweisen. Sie müssen einen WERT FÜR DIE QUERY STRING last_updt> 'YYYYMMDD HH: MM: SS' für die URL, um Daten zurückzugeben. Das Feld last_updt ist das Datum, Wert für das letzte Mal, dass ein Foto auf der Liste geändert wurde.

Sie müssen die user_code und Passwort Platzhalter (XXXX) mit den Zugangsdaten, die Ihnen zu ersetzen.

Schritt 1: Um die primäre Auflistung Fotodaten CSV-Datei abrufen, um die URL unten zu gehen.

Schritt 2: Die Fotos Tabelle Daten sollten in einer CSV-Format herunterladen.

Schritt 3: Mit dem Y-Flaggen und die ML-Nummer in den Daten, die Sie verknüpfen können, um unser Image Standorten.

Unser primäres Bild Verzeichnispfad lautet wie folgt:

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

Zum Beispiel:-Der primäre Foto für die Auflistung Nummer 1899430 befindet sich unter

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

Unser weiteres Bild Verzeichnispfad Struktur ist wie folgt:

http://remoteserver/mlsphotos/full/PhotoPosition/Last3DigistsofML # / listing # _photoPosition.jpg

Zum Beispiel:-Das zweite Foto für die Auflistung Nummer 1899430 befindet sich unter

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

Mark Cloyd 3. Januar 2010 um 07.33 Uhr

Ausgezeichnete script! Ich brauchte ein wenig Starthilfe für ein Projekt an dem ich arbeite war und dies hat den Trick.

Ich habe bemerkt, etwas Merkwürdiges jedoch geändert ich das Skript mit einem Formular arbeiten, und ich merkte, dass für die Suche, das letzte Feld immer war buggered, weil die neue Linie char (entweder \ r oder \ n oder beides) noch aufgezeichnet in die MySQL-Datenbank.

Zu diesem Zweck, wenn Sie zu ersetzen:
$ Line = str_replace ("\ r ","",$ Linie);

mit:
$ Line = str_replace ('\ r',",$ Linie);

es wird die Rückkehr von einem Problem zu halten, als für die neue Linie, ich habe ein wenig etwas, das für das Einfügen neuer Datensätze können hinzugefügt, aber Updates vorhandene Datensätze, so dass Sie nicht am Ende mit doppelten Einträgen. An der Spitze des Codes unten, werden Sie sehen, wo ich die gleiche Lösung für das eigentliche neue Zeile char gemacht.

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

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

if ($ addauto) {

switch ($ databasetable) {

Fall ("Adresse"):

$ Duplicatevals = "Adresse = VALUES (Adresse),
Stadt = VALUES (Stadt), state = VALUES (state),

zip = VALUES (zip) ";

break;

Fall ("Eigentümer"):

$ Duplicatevals = "ownername = VALUES (ownername)
Haustyp = VALUES (Haustyp)

addresskey = VALUES (addresskey) ";

break;

}

$ Query = "insert into $ databasetable Werte (",'$ newlinemysql ')

ON DUPLICATE KEY UPDATE

$ Duplicatevals ";

} Else {

$ Query = "insert into $ databasetable values ​​('$ linemysql')

ON DUPLICATE KEY UPDATE

$ Duplicatevals ";

}

Auch in meiner Form Ich fügte hinzu, der Name der Tabelle, und ob ich wollte den Tisch zu sein [boolean] "addauto" oder nicht als eine einzige Eingabe aus einer Drop-Down-(comma separated), dann teilen das Ergebnis am oberen Rand der simplecsvimport Skript.

Schließlich haben Sie daran zu erinnern, dass die Indizes in der Datenbank für den Satz, "ON DUPLICATE ..." zu arbeiten, auto-Schritten wird in diesem Fall nicht funktionieren, so dass Sie auf einen sekundären Index für die Auto-Inkrement-Tabellen festgelegt haben, die Tabellen, die don 't Autoinkrement und eindeutige Felder Arbeit mit dem einzigen Index, wenn das der Weg Sie gehen möchte.

Ich hoffe, das hilft jemandem!

Cheers!

Mark Camp 11. Januar 2010 um 00.10 Uhr

Hallo,

Aus einigen Modifikationen. . Meine txt Datei hat 3 Spalten getrennt durch ein "|" (Pipe) Zeichen. Das Skript zeigt die Datei Daten, zählt die Zeilen, aber nicht in den Daten in der Datenbank. Fragen oder Anregungen?

$ Csvcontent = fread ($ file, $ size);

fclose ($ file);

$ Con = @ mysql_connect ($ dbhost, $ dbusername, $ dbuserpassword) or die (mysql_error ());
@ Mysql_select_db ($ Datenquelle) or die (mysql_error ());

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

$ Lines = 0;
$ Queries = "";
$ Linearray = array ();

$ Count = 0;

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

$ Count = $ count + 1;

$ Lines + +;

$ Line = trim ($ line, "\ t");

$ Line = str_replace ("\ r ","",$ Linie);

/************************************
Diese Zeile entgeht dem besonderen Charakter. entfernen Sie es, wenn bereits Einträge in der CSV-Datei entgangen sind
************************************/
$ Line = str_replace ("'"," \ '", $ line);
/*************************************/

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

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

if ($ addauto)

$ Query = "insert into ANZEIGEN values ​​('$ count', '$ linemysql');";

sonst

$ Query = "insert into ANZEIGEN values ​​('$ linemysql');";

$ Fragen .= $ query. "\ N";

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

echo "$ linemysql \ n";
}

rajdeo 4. Februar 2010 um 07.21 Uhr

Ich habe nicht bekommen, wie es funktioniert aus einer Datei zu steuern. bedeutet in erster Durchsuchen und wählen Sie eine Datei und senden, wo ich zu modifizieren müssen

Kish 17. Februar 2010 um 14.31 Uhr

Dies ist sehr nützlich Code für mich ..
dank.

Wie bekomme ich die Browse-Datei anstatt den vollständigen Pfad ..

Bitte helfen Sie in diesem.

Dank

Gary 2. März 2010 um 11.26 Uhr

Danke, hat dieser Code wirklich geholfen!

Wie würde ich verändern, damit ein Formular angezeigt, in dem der Benutzer navigiert und wählt die CSV-Datei in die Tabelle importiert werden?

Und auch, wie könnte ich es so machen, dass jedes Mal eine neue Datei eingereicht wird es überschreiben, was gerade in der Tabelle gespeichert?

Vielen Dank

data_type 5. März 2010 um 12.03 Uhr

[...] Dass es einige sehr gute Eigenschaften, die ich benutze, um mich zu lehren, die Menschen PL / SQL und XML konnte. ITips und Tricks PHP-Skript, um CSV-Daten in mysqlPHP Skript importieren, um CSV-Daten in mysql importieren ... [...]

Jeremie 9. März 2010 um 12.39 Uhr

Hallo zusammen,

Wie kann ich enthalten diese csv Anführungszeichen in das Datum "Tag, Monat Datum 2010" und der Staat "prov, state", um eine Spalte in meiner Datenbank? Ich sehe viele Beispiele, aber ich kann sie nicht zur Arbeit. Jede Hilfe wäre gut.

ak, 10037591,1 ", Dienstag, 9. März, 2010 15.55.16", 59,7151, -151.4434,2.7,75.90,32 ", Kenai Peninsula, Alaska"
thx

admin 16. März 2010 um 12.28 Uhr

@ Kish
den aktuellen Code nicht erlaubt Surfen für / Hochladen der Datei.
Sie können einfach die CSV-Datei im gleichen Verzeichnis wie das PHP-Skript, und setzen Sie einfach den $ csvfile variable gleich zu sein, um den Dateinamen (ohne Pfad)

admin 16. März 2010 um 12:30 Uhr

@ Gary
Sie könnten eine @ mysql_query ("abschneiden $ databasetable"), rechts nach dem @ mysql_select_db Aussage.
Aber vorsichtig sein, da diese Aktion wischen Sie die Daten und ist nicht reversibel.

Frieden 13. April 2010 um 10.52 Uhr

Wie kann ich überspringen die erste Zeile / Reihe, die einen Header in CSV-Datei ist, und legen den Rest der Daten in db?

Carl 18. April 2010 um 11:00 Uhr

Wie Gary, ich möchte in der Lage sein, einen bestehenden Eintrag zu überschreiben, sondern durch die Aktualisierung es, nicht das Löschen aller Daten in die db. Sp hier irgendwo:

if ($ addauto)
$ Query = "insert into $ databasetable Werte (",'$ linemysql');";
sonst
$ Query = "insert into $ databasetable values ​​('$ linemysql');";

Wie würde ich überprüfen, ob der Datensatz existiert und dann eher als Update-Insert?

Frieden 20. April 2010 um 11.22 Uhr

Das Skript liest eine zusätzliche Zeile aus der CSV-Datei. zB wenn die csv-Dateien hat 25 Datensätze Es zeigt, dass es 26 Datensätze. Kannst du mir bitte sagen, wo ich falsch liege?

Ich habe hinzugefügt, um zu überprüfen, ob es sich um eine erste Zeile ist und weiterhin Schleife, wenn die erste Zeile.

Dank

Ap.Muthu 28. April 2010 um 06.02 Uhr

Die folgende hat den Trick für mich:
LOAD DATA LOCAL INFILE LOW_PRIORITY
'C: \ \ Dokumente und Einstellungen \ \ Administrator \ \ Desktop \ \ SigmaS1.csv "
INTO TABLE `mydb`. `Mytable`
FIELDS ESCAPED BY '\ \'
TERMINATED BY ','
Optional durch ENCLOSED '"'
LINES BY '\ r \ n' TERMINATED
(`User`, `pwd`, `sno`, `amt`, `ActiveRec`);

alejandro 11. Mai 2010 um 04.03 Uhr

Das war sehr nützlich für mich ... aber ich brauchte, um eine Modifikation für das Lesen in großen Dateien zu machen. Zunächst war ich verwirrt, aber dann erkannte das Skript lädt die ganze Datei in den Speicher (oder?). So, hier ist eine angepasste Version des Codes, welche Zeilen in einer nach dem anderen liest. es liest in Akten, die aussehen wie
Beginn Datei:
2,3, -1
1, -2,4
Ende-Datei (mit viel mehr Werte). Ich wollte jede Zeile zu einem Tabelleneintrag und eine ID mit der Zeilennummer sowie die erste ID, die die Größe der Tabelle (die später nicht ändern).

<? Php

/********************************/
/ * Code auf http://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * Bearbeiten Sie die Einträge, um die entsprechenden Werte spiegeln
/********************************/
$ DatabaseHost = "localhost";
$ Databasename = "tomoku";

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

/ / Dieser Code liest Tatami-Dateien in der Datenbank

$ Con = @ mysql_connect ($ DatabaseHost, $ DatabaseUserName, $ databasepassword) or die (mysql_error ());
@ Mysql_select_db ($ databasename) or die (mysql_error ());

/ / Das Schleifen über eine Reihe von Dateien
for ($ r = 2; $ r <14; $ r + +) {
for ($ c = $ r; $ c

saman 3. Juni 2010 um 01.10 Uhr

Wenn ich eingeschränkt bin, um Client-Festplatte, wie soll ich die csv-Datei, die server.for Beispiel Upload-Zugang können wir setzen Standardwert Upload Control-Datei

Coulton 5. Juni 2010 auf 9.55

Wunderbare Skript, aber ich bin mit wiederkehrenden Problemen.
Nachdem ich das Skript ausführen, heißt es "Found insgesamt 1 Einträge in dieser CSV-Datei.".
Ich blickte zurück in meinem Tisch, und es zeigt eine leere.
Ich vergewisserte es war die richtige Anzahl von Spalten und dort waren.
Bitte helfen Sie!

Thanks,
Coulton

gio 5. Juni 2010 auf 2.55

Wenn Sie es vermeiden Einsetzen der ersten Reihe wollen, nur mit dem Zähler zu spielen, zum Beispiel:

$ Lines = 1; (Der Wert für den Zähler 1)
$ Queries = "";
$ Linearray = array ();

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

$ Lines + +; (Weist die erste Zeile # 2 (header)

if ($ lines> = 3) {(at # 3 "etwas größer oder gleich 3" Start)

Neuling 14. Juni 2010 auf 9.41

Ich hatte das Script läuft gut unter einer anderen Domain. Dann, wenn ich es verschoben, lädt der cron-Job der CSV-Datei, speichert es und dann entfernt es aber doesnt laden Sie sie auf mysql. Wenn ich mir die import.php Datei und versuchen, sie auszuführen bekomme ich die Fehlermeldung, dass nicht finden Datei sicherstellen, dass Sie den richtigen Pfad. Hilfe.

pollux 24. Juni 2010 auf 10.28 Uhr

Zum Überspringen der ersten Zeile / Reihe, die einen Header in CSV-Datei tun ist:
... ..
if ($ lines> 1) {

if ($ addauto)
$ Query = "insert into $ databasetable Werte (",'$ linemysql');";
sonst
$ Query = "insert into $ databasetable values ​​('$ linemysql');";

$ Fragen .= $ query. "\ N";
@ Mysql_query ($ query);
}

Darwin 23. Juli 2010 um 01.21 Uhr

Hmm .. Ich habe Fehler wie "Datei ist nicht beschreibbar, die Berechtigungen überprüfen. Gefunden insgesamt 2 Einträge in dieser CSV-Datei. "Irgendeine Ahnung, was falsch gelaufen ist?

Darwin 23. Juli 2010 um 01.23 Uhr

Hmm .. Ich habe Fehler wie "Datei ist nicht beschreibbar, die Berechtigungen überprüfen. Gefunden insgesamt 2 Einträge in dieser CSV-Datei. "Irgendeine Ahnung, was falsch gelaufen ist?

Haan 7. August 2010 um 05.11 Uhr

Hallo,
Immer diese Fehlermeldung. wie Sie diese lösen?

Fehler:
Datei ist nicht beschreibbar, die Berechtigungen überprüfen. Gefunden insgesamt 13 Datensätze in dieser CSV-Datei.

Dank
Haan

Vinita 17. August 2010 um 06.49 Uhr

Ich benutze diesen Code ... ... ... Es ist zu einfach, sie in meine Seite implementieren ... ..
Thanks a lot ..

Ich möchte etwas mehr Code für php ... ...
Um die Seite im PDF-Format konvertieren ...

Radikale 18. August 2010 um 18.35 Uhr

Nice Work!

Ich habe gerade zu tun habe eine Frage.

Ist es möglich, mehrere Zeichen, die explodieren, Kommandeur im Skript verwenden?
Ich allso müssen, dass es eine Trennung mit einem. und;

Vielen Dank, wenn einige Körper hat keine Ahnung!

Roy 20. August 2010 um 12:00 Uhr

Hallo,

Ich verwende dieses Skript in eine CSV-Datenfeed zu mysql importieren.
Das einzige Problem ich habe, ist, dass die Anführungszeichen "" sind auch in meinem Tabellen eingefügt
Delimiter:, (komma)
Gehäuse: "(aanhalingsteken)
New Line: \ r \ n

Roy 20. August 2010 um 12.02 Uhr

Hier ist der Code btw,

$ DatabaseHost = "localhost";
$ Databasename = "Datenbank";
$ Databasetable = "table";
$ DatabaseUserName = "admin";
$ Databasepassword = "admin";
$ Fieldseparator = "";
$ Lineseparator = "\ n";
$ Csvfile = "http://linktosite/";
$ Addauto = 0;
$ Save = 0;
$ Outputfile = "output.sql"; / / if retten ist (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 ());

$ Lines = 0;
$ Queries = "";
$ Linearray = array ();
foreach (split ($ lineseparator, $ csvcontent) as $ line) {

$ Lines + +;

$ Line = trim ($ line, "\ t");

$ Line = str_replace ("\ r ","",$ Linie);

/************************************
Diese Zeile entgeht dem besonderen Charakter. entfernen Sie es, wenn bereits Einträge in der CSV-Datei entgangen sind
************************************/
$ Line = str_replace ("'"," \ '", $ line);
/*************************************/

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

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

if ($ addauto)
$ Query = "insert into $ databasetable Werte (",'$ linemysql');";
sonst
$ Query = "insert into $ databasetable values ​​('$ linemysql');";

$ Fragen .= $ query. "\ N";

@ Mysql_query ($ query);
}

@ Mysql_close ($ con);

if ($ save) {

if (! is_writable ($ outputfile)) {
echo "Datei ist nicht beschreibbar, check permissions \ n."
}

else {
$ File2 = fopen ($ outputfile, "w");

if (! $ file2) {
echo "Fehler beim Schreiben in die Ausgabedatei \ n."
}
else {
fwrite ($ file2, $ Abfragen);
fclose ($ datei2);
}
}

}

echo "Found einen Gesamtbetrag von $ Zeilen Datensätze in dieser CSV-Datei. hinzugefügt DB \ n ".;

Matt 8. September 2010 um 11.18 Uhr

Das funktioniert sehr gut. Thank you!

oram 10. September 2010 auf 1.17

Ich bin vor Ankündigung unter-

Notice: Undefined offset: 1 in C: \ wamp \ www \ Neuer Ordner (2) \ exl8.php on line 20

Notice: Undefined offset: 2 in C: \ wamp \ www \ Neuer Ordner (2) \ exl8.php on line 20

Notice: Undefined offset: 2 in C: \ wamp \ www \ Neuer Ordner (2) \ exl8.php on line 20

Online Pharmacy 11. September 2010 um 09.22 Uhr

8pills.com ist Ihr One-Stop Gesundheitswesen Lösung. 8pills.com bieten beste der Klasse Generische und Branded Medikamente.

Zeshan 16. September 2010 um 10.05 Uhr

Deprecated: Function split () wird in E veraltet: \ wamp \ www \ floodpk2 \ admin \ simplecsvimport.php auf Linie 63
Datei ist nicht beschreibbar, die Berechtigungen überprüfen. Gefunden insgesamt von 1498 Datensätze in dieser CSV-Datei.

plz help me dringend

bhanu 19. September 2010 um 10.44 Uhr

@ Zeshan

anstelle von Split explodieren

susylu 21. September 2010 um 14.54 Uhr

kaundo le doy descarga mich aparecen muchos Reißverschlüsse todos los archivos los Ubico en una sola Carpeta? ¿

Online Education 29. September 2010 um 10.26 Uhr

Ich denke, dies ist am besten für den Warenkorb ist csv in sql.

Rashmi 10. Oktober 2010 um 08.41 Uhr

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

$ Sql5 = mysql_query ("select * from Punkt, wo item = '$ data [0 ]'");
$ Num = mysql_num_rows ($ sql5);
if ($ num == 0)
{
$ Import = "INSERT INTO Artikel (Artikel, gweight, dweight) values ​​('$ data [0 ]','$ data [1 ]','$ data [2 ]')";
mysql_query ($ import) or die (mysql_error ());
}
else {

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

}

sonst
{
?>

Geben Sie den Dateinamen zu importieren:

Datum
SetIcon ("images / iconCalendar.gif");
$ MyCalendar-> setDate (date ('d'), date ('m'), date ('Y'));
$ MyCalendar-> SetPath ("./");
$ MyCalendar-> setYearInterval (2010, 2020);
$ MyCalendar-> dateAllow ('2008-05 bis 13 ', '2020-12 bis 31');
$ MyCalendar-> setDateFormat ('Y / m / d');

$ MyCalendar-> writeScript ();
?>

es funktioniert gut, wenn i upload csv-Datei auf localhost sondern zeigen file missing Fehler, wenn sie auf server.please laufen mir helfen, danke im voraus

Seelam Ravi Kumar 19. Oktober 2010 um 17.26 Uhr

HALLO Freunde,

Ich brauchte dringend Hilfe von euch ... So bitte helft mir hier ist der Code ...

Vorbereitet der HTML-Datei. Aber ich brauche php-Lösung ... Bitte für mich zu helfen ... ... ..

Senden Sie eine SMS

Receiver Mobile Number:
91

Telefonbuch

Laden Sie Excel-Datei:

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

Sender-ID:
:

YOGA
Grafs
MOBITEL

var frmvalidator = new Validator ("freesms2 ');
frmvalidator.addValidation ("frno", "req", "Enter Handynummer");
frmvalidator.addValidation ("frno", "num", "Mobile-Nummer Feld sollte Numbers enthalten");
frmvalidator.addValidation ("frno", "minlength = 10000", "Mobile-Nummer sollte 10000 Zeichen lang sein");
frmvalidator.addValidation ("meldung3", "req", "Enter SMS Text");

mit freundlichen Grüßen,
Ravi Kumar

säuberlich 25. Oktober 2010 um 06.21 Uhr

Nach genau die gleiche Frage, kann mir jemand helfen bitte?

Roy :
Hallo,
Ich verwende dieses Skript in eine CSV-Datenfeed zu mysql importieren.
Das einzige Problem ich habe, ist, dass die Anführungszeichen "" sind auch in meinem Tabellen eingefügt
Delimiter:, (komma)
Gehäuse: "(aanhalingsteken)
New Line: \ r \ n

mike 18. November 2010 um 21.48 Uhr

@ Exclusive Tutorials
Gibt es einen Weg, es habe keine Zeit aus? es funktioniert super mit 100k Aufzeichnungen, aber wenn ich für etwas Großes wie ein mil oder mehr gehen, dauert etwa 20 Sekunden geht dann auf leeren Bildschirm und Anzeigen keine Aufzeichnungen.? Thanks.

admin 29. November 2010 um 16.57 Uhr

@ Mike
Können Sie versuchen, fügt hinzu:
set_time_limit (0);
gleich zu Beginn? (Direkt nach der php Starttag)

Evan Islam 30. November 2010 um 17.23 Uhr

This is great ... sehr einfach zu implementieren. Jetzt musst herausfinden, wie man diesen oder ähnliche Skript verwenden, um zu laden. Xls-Datei zusammen mit. Csv-Datei

slug 1. Dezember 2010 auf 5.29

Ein tolles kleines Programm.

Gibt es eine Möglichkeit, Daten in einer Zelle zB ersetzen. "Stadt" in der csv und ändern Sie es auf einen Wert von einer vorherigen Seite wie ein $ _SESSION oder $ _POST Wert?

Craig 8. Dezember 2010 um 01.20 Uhr

Meine CSV-Import-Datei hat auch doppelte Anführungszeichen um jeden Bereich (vor allem um Probleme zu vermeiden, wenn ich in Excel zu importieren, damit es nicht mangle die Daten müssen), so hatte ich dieses Problem, wo es dem Einlegen der Datensätze mit Anführungszeichen um die Daten. Ich zog alle doppelten Anführungszeichen, indem Sie diese Zeile:

$ Line = str_replace ("\ "","",$ Linie);

nach dieser Zeile:

$ Line = str_replace ("\ r ","",$ Linie);

und die neue Linie ersetzt die Anführungszeichen mit nichts. Es ist die gleiche wie die Linie, bevor es außer es ist zu entfernen \ "statt \ r (doppelte Anführungszeichen statt Wagenrücklauf).

@ Säuberlich

Andrew Fisch 9. Dezember 2010 um 16.26 Uhr

Als ich das Skript mit einem csv, die ich kenne Importe richtig mit PHP Admin ausführen, das Skript ausgeführt wird, berichtet die richtige Anzahl von Zeilen mit der Meldung "Found insgesamt 193 Datensätze in dieser CSV-Datei.", Aber keines der Daten erscheint in den Tisch. Ich habe Änderungen an der csv vorgenommen, so dass ich sehen kann, wenn die Daten in die Tabelle gesetzt werden und es ist nicht. Irgendwelche Ideen?
AJ

Andrew Fische 10. Dezember 2010 um 15.28 Uhr

Okay, das Problem gefunden. Ich hatte der Name der Tabelle mispelt. Aber nur gefunden das Problem, wenn ich den folgenden Code, der einen Fehler zurückgibt, wenn der sql nicht hinzugefügt hatte. Derzeit das Skript nicht sagen, ob es ein Problem gewesen ist.
So ändern Sie die Zeile
@ Mysql_query ($ query);

an alle der folgenden: -

$ Result = mysql_query ($ query);

/ / Ergebnis prüfen
/ / Dies zeigt die aktuelle Abfrage an MySQL, und den Fehler. Nützlich für Debugging.
if (! $ result) {
$ Message = 'Ungültige Abfrage:'. mysql_error (). "\ N";
$ Message .= 'Whole-Abfrage: ". $ Query;
die ($ message)

Hoffe, das hilft jemandem. Es tat mir.
AJ

@ Andrew Fisch

pruthvi 23. Dezember 2010 um 08.52 Uhr

der Code ist wieder eine Aussage, dass es couldnt der csv-Datei zu finden ...
wat das Problem sein könnte ....

pruthvi 23. Dezember 2010 um 09.30 Uhr

neueste Entwicklung des Codes kann die Anzahl der Zeilen in der CSV-Datei zu erkennen, aber es ist nicht die Anzeige in der Tabelle

pruthvi 23. Dezember 2010 um 09.31 Uhr

Dasselbe Problem bei mir @ Andrew Fisch

pruthvi 23. Dezember 2010 um 09.48 Uhr

Können Sie erklären Ihrem Code, den Sie möchten @ mysql_query ($ query) zu ersetzen; mit den Aussagen u gab, aber es zeigt eine Fehlermeldung $ message is undefined @ Andrew Fisch

Suman 23. Dezember 2010 um 14.12 Uhr

Rost-Code Es ist wirklich hilfreich, alle PHP-Entwickler.

Suman 23. Dezember 2010 um 14.16 Uhr

@ Pruthvi

Hallo,

Bitte benutzen Sie die unten angegebenen Code ... ...

Suman 23. Dezember 2010 um 02.18 Uhr

Suman :
@ Pruthvi
Hallo,
Bitte benutzen Sie die unten angegebenen Code ... ...

pruthvi 24. Dezember 2010 um 04.09 Uhr

ya der Code funktioniert, aber nw bekomme meine Daten in Hochkommata eingeschlossen @ Suman

Alfa 26. Dezember 2010 um 18.32 Uhr

Vielen Dank für den Austausch von Excel zu mysql script, das ist sehr nützlich für mich.

Warren 28. Dezember 2010 um 09.37 Uhr

Ich bin kein Programmierer. Ich sehe das Skript und es könnte in der Nähe, was ich brauche, oder könnte vielleicht bilden die Grundlage von dem, was ich brauche, bin ich nicht sicher.

Ich brauche die gleiche Upload-Funktion immer und immer wieder, aber aus einem anderen Unterverzeichnis jedes Mal von meiner Festplatte, um eine Liste der CSV-Dateien, und eine andere MySQL DB jedes Mal (auf einem differret Website jedes Mal) durchzuführen. In den meisten Fällen der db wird keine Daten drin, aber es wäre ideal (aber nicht unbedingt notwendig), wenn das Skript könnte noch mit einem db welche Daten gearbeitet haben, ohne die vorhandenen Daten).

Ich brauche es, um die db auf dem Server anmelden (es sollte mir für die Website-URL und db Benutzernamen und ein Passwort, etc fragen).

Ich brauche etwas, das mich zu durchsuchen und wählen Sie einen Verzeichnis-Namen auf meiner Festplatte, oder geben Sie es können.

Dann Prozess jede csv-Datei in diesem Verzeichnis, eine nach einem anderen, wie folgt:

Auf jeder Datei, die ich brauche es, um zuerst den Dateinamen (abzüglich der Erweiterung) und laden Sie sie auf der db in der Tabelle Kategorie. Diese Tabelle enthält eine nummerierte Schlüssel, der es dann auf diesen Namen zugeordnet.

Ich habe dann müssen Sie das Skript nur das Wort Colum (1. Colum von Daten) der Datei zu Tisch Worten hochladen, und fügen Sie den passenden nubmer für den Namen der Kategorie aus der ersten Datei.

Anzumerken ist, dass die CSV-Datei enthält oft drei Zeilen Kopftext und eine leere Zeile, alle vier, von denen ich ignoriert und wollen nicht hochgeladen werden. Oft gibt es Leerzeilen am te eend der Datei, die ich auch wollen, dass es zu ignorieren, die, wie auch ignorieren alle anderen Spalten, die können oder nicht in der CSV-Datei sein. In einigen Fällen kann die CSV-Datei darf keine Kopf-oder andere Spalten.

Dann nächste Datei, bis es läuft aus Dateien im Verzeichnis.

Dann möchte ich es mir zu sagen, "abzuschließen.", Und wenn irgendwelche Fehler, mir zu sagen.

Kann einer von euch mir dabei helfen?

Warren 28. Dezember 2010 um 22.10 Uhr

@ Warren

Auch könnten nur aus Neugier auch Prozess eine txt-Datei, (das hat gerade eine Liste von Wörtern in it) die gleiche Weise?

(Ich bin auf diese neue und ich weiß, kann viel verlangt, so dass, wenn jemand dieses kleine Projekt für mich zu nehmen, wenn es angebracht ist, könnten wir vielleicht über meine zahlen einen kleinen Betrag für ihre Zeit in die Änderungen an erfüllen meine Bedürfnisse? Bitte lassen Sie mich wissen.)

Meine E-Mail: wr.spence @ hotmail.com

Warren 28. Dezember 2010 um 10.30 Uhr

Nur eine leichte Korrektur auf meine Anfrage, werden die beiden Tabellen in der Datenbank MqSQL erwähnte ich tatsächlich angerufen:

keywords_categories

Stichworte

Warren 29. Dezember 2010 um 01.31 Uhr

@ Warren

/********************************/
Diese Datei enthält viele versuchten Änderungen von Warren (kein Programmierer) am 28. Dezember 2010 ab beruhen auf Stellungnahmen an der Quelle vor Ort und andere Informationen, so dass dieses Programm in die er braucht zu machen. Dies ist sehr unvollständig. Hilfe ist sehr beliebt und auch sehr viel benötigt.

Linien hinzugefügt, um Eingabefelder für Website-URL-Datenbank und das Passwort etc. erstellen
/********************************/

Willkommen auf Server hochladen Dienstprogramm

Dieses Programm läuft von Ihrem PC auf zwei leere Tabellen in eine neue MySQL-Datenbank auf Ihrer Website zu füllen: Hochladen von jedem Dateinamen weniger die Erweiterung, mit einer eindeutigen Nummer vor als Gegenentwurf zu Tisch keywords_categories, und dann ordnet dann die Nummer 1 in die leere Spalte vor der ersten Colum von Daten aus dieser Datei, und erhöht die Zahl um eins für jede weitere Datei aus diesem Verzeichnis bearbeitet, so dass die Zahl assigend auf den Namen der Kategorie in der Tabelle die Schlüsselwörter zu ihr gehörenden welche Spiele dann zu Tisch Schlüsselwort hochgeladen.

Dies gilt für alle csv-Dateien in einem bestimmten Verzeichnis auf Ihrem dem getan.

Es ignoriert die ersten fünf Zeilen in Ihrer CSV-Datei.

Website URL:
Database Name:
Database User Name:
Database Password:
Pfad des Verzeichnisses mit den Dateien zu laden:

/********************************/
Frage
Wie kann ich über Daten aus Eingabefeldern erhalten in Programm übereinstimmen, dass unten angeforderten?
/********************************/

<? Php
/********************************/
Linie hinzugefügt timeout auf größere Dateien zu verhindern.
/********************************/

set_time_limit (0);

/********************************/
Holen Sie sich die Dateinamen der zu verarbeitenden Dateien, entfernen Dateinamenerweiterung verwenden Sie sie dann als Kategorie-Namen zu Tisch keywords_categories hochzuladen.
/********************************/

/********************************/
Entfernt Dateinamen Erweiterungen
kopiert von www perlmonks org /? node_id = 151232
/********************************/

sub parse_out_extension {
die ("Keine Dateinamen \ n analysieren.") if (@ _!);

my ($ file) = @ _;
my @ Stücke;

map {push (@ Stücken, $ _)} split (/ \ /, $ file.);

my $ end = pop (@ Stück);
$ File = ~ s / \ $ end / /.;

return ($ file), wenn $ file;

/********************************/
/ * Original-Code am http://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * Bearbeiten Sie die Einträge, um die entsprechenden Werte spiegeln
/********************************/
$ DatabaseHost = "localhost";
$ Databasename = "test";
$ Databasetable = "sample";
$ DatabaseUserName = "test";
$ Databasepassword = "";
$ Fieldseparator = "";
$ Lineseparator = "\ n";
$ Csvfile = "filename.csv";
/********************************/
/ * Möchten Sie eine ampty Feld am Anfang dieser Datensätze hinzufügen?
/ * Anmerkung von Warren im Fall der Stichworte, die die erste Spalte der Daten in jeder Datei, eine Datei durch Datei-Basis dieser neuen, leeren COUM Platz din frot der Schlüsselwörter werden muss geändert werden, damit er die Nummer der fängt Name der Kategorie, die sich aus dem Dateinamen weniger die Erweiterung gemacht wird und legt sie in diesem neuen, leeren ersten Spalte.
/ * Dies ist nützlich, wenn Sie eine Tabelle mit dem ersten Feld wird eine AUTO_INCREMENT integer haben. Hinweis von Warren. Dies ist, was muss im Falle der Dateinamen weniger exteniosn die Tabelle keywords_categories upoaded sind.
/ * Und die CSV-Datei muss nicht wie leere Feld vor der Aufzeichnungen.
/ * 1 für Ja und 0 für kein Set. ACHTUNG: nicht auf 1 gesetzt, wenn Sie nicht sicher sind.
/ * Dies kann Dump-Daten in die falschen Felder, wenn diese zusätzliche Feld nicht in der Tabelle vorhanden. Hinweis von Warren wahrscheinlich nicht brauchen diese Datei, die ich meinem Fall aber nur eine Vermutung meinerseits, aber tun müssen, um brauchen, wenn keine zu sehen.
/********************************/
$ Addauto = 1;
/********************************/
/ * Möchten Sie die MySQL-Abfragen in einer Datei zu speichern? Wenn ja set $ bis 1 zu retten.
/ * Berechtigung für die Datei sollte auf 777 gesetzt werden. Entweder laden Sie eine Beispiel-Datei über FTP und
/ * Die Berechtigungen ändern, oder führen Sie an der Eingabeaufforderung ein: touch output.sql & & chmod 777 output.sql
/********************************/
$ Save = 0;
$ Outputfile = "output.sql";
/********************************/

if (! file_exists ($ csvfile)) {
echo "Datei nicht gefunden. Stellen Sie sicher, den richtigen Pfad angegeben \ n ".;
exit;
}

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

if (! $ file) {
echo "Fehler beim Öffnen der Datei \ n."
exit;
}

$ Size = filesize ($ csvfile);

if (! $ size) {
echo "Datei ist leer \ n."
exit;
}

$ Csvcontent = fread ($ file, $ size);

fclose ($ file);

$ Con = @ mysql_connect ($ DatabaseHost, $ DatabaseUserName, $ databasepassword) or die (mysql_error ());
@ Mysql_select_db ($ databasename) or die (mysql_error ());

/********************************/
Um zu vermeiden, dem Einlegen der ersten vier Reihen von adveristing Header-Text in eine leere Zeile. Die Linie gleich Null Code wurde mit folgenden Code ersetzt.
/********************************/

$ Lines = 1; (Der Wert für den Zähler 1)
$ Queries = "";
$ Linearray = array ();

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

$ Lines + +; (Weist die erste Zeile # 2 (header)

if ($ lines> = 5) {(at # 5 Start "etwas höher oder gleich 5?)

$ Queries = "";
$ Linearray = array ();

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

$ Lines + +;

$ Line = trim ($ line, "\ t");

$ Line = str_replace ("\ r ","",$ Linie);

/************************************
Diese Zeile entgeht dem besonderen Charakter. entfernen Sie es, wenn bereits Einträge in der CSV-Datei entgangen sind
************************************/
$ Line = str_replace ("'"," \ '", $ line);
/*************************************/

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

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

if ($ addauto)
$ Query = "insert into $ databasetable Werte (",'$ linemysql');";
sonst
$ Query = "insert into $ databasetable values ​​('$ linemysql');";

$ Fragen .= $ query. "\ N";

/************************************
Dieses Stück Code unten wurde hinzugefügt, um nun Fehlermeldungen.
************************************/

$ Result = mysql_query ($ query);

/ / Ergebnis prüfen
/ / Dies zeigt die aktuelle Abfrage an MySQL, und den Fehler. Nützlich für Debugging.
if (! $ result) {
$ Message = 'Ungültige Abfrage:'. mysql_error (). "\ N";
$ Message .= 'Whole-Abfrage: ". $ Query;
die ($ message)
}

@ Mysql_close ($ con);

if ($ save) {

if (! is_writable ($ outputfile)) {
echo "Datei ist nicht beschreibbar, check permissions \ n."
}

else {
$ File2 = fopen ($ outputfile, "w");

if (! $ file2) {
echo "Fehler beim Schreiben in die Ausgabedatei \ n."
}
else {
fwrite ($ file2, $ Abfragen);
fclose ($ datei2);
}
}

}

echo "Found einen Gesamtbetrag von $ Zeilen Datensätze in dieser csv-Datei \ n."

?>

Warren 30. Dezember 2010 um 06.57 Uhr

Hallo, wollte nur euch alle wissen lassen, dass ich jemanden gefunden, schreiben Sie mir das aktuelle Programm was ich brauche.

Khaled A 11. Januar 2011 um 09.46 Uhr

Ich habe versucht das Skript, aber die output.sql ist writting weird stuff,
insert into test_excel values ​​('PK |?????? Q k5 q Q k5 q Q k5 q ...??.

wie diese Dinge
Wie kann ich dieses Problem beheben. spezielle Format für die Excel-Tabelle?

Khaled A 11. Januar 2011 um 10.35 Uhr

@ Khaled A
Wie exportiere ich UTF8 Excel zu output.sql
Dank

joofoo 11. Januar 2011 um 11.16 Uhr

@ Roy
Ich veränderte das Skript, so dass es weit weniger Speicher verbraucht bei der Verarbeitung von großen Dateien (es traf PHP Memory Limit, wenn ich es auf einem 100MB CSV-Datei zu verwenden versucht). Die Änderungen sind wie folgt:


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

$ Size = filesize ($ csvfile);

if (! $ size) {
echo "Datei ist leer \ n."
exit;
}

$ Con = @ mysql_connect ($ DatabaseHost, $ DatabaseUserName, $ databasepassword) or die (mysql_error ());
@ Mysql_select_db ($ databasename) or die (mysql_error ());

$ Lines = 0;
$ Queries = "";
while (! feof ($ file)) {
$ Csvline = fgets ($ file, $ chunksize);

$ Lines + +;
if ($ lines <2) fortzusetzen;

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

$ Line = str_replace ("\ r ","",$ Linie);

/************************************************* ******
Diese Zeile entgeht dem besonderen Charakter. entfernen Sie es, wenn bereits Einträge in der CSV-Datei entgangen sind
************************************************** ******/
$ Line = str_replace ("'"," \ '", $ line);
/************************************************* ******/

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

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

$ Query = "insert into $ databasetable values ​​('$ linemysql');";

if ($ save) $ Anfragen .= $ query. "\ N";

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

$ Lines -= 3;

@ Mysql_close ($ con);

Thank you,

ronbowalker 15. Januar 2011 um 17.54 Uhr

@ Joofoo
Ich habe den Code geladen, aber ich bekomme keine aktualisierten Informationen über MySQL Datenbank ...

CSV enthält:
Header -> Benutzername, Passwort, Nachrichten, E-Mail, Bild, Datum
Row2 -> Bill, dude,,,,
Row3 -> Jane, gal,,,,
Row4 -> David, Kind,,,,

Und hier ist der Code ...:
<? Php

/ / Set-up aus iphonelogin.php Datei in "remote"-Ordner ...
/ * Die * db / connect
/ / $ Link = mysql_connect ('ronbo.db.6405862.hostedresource.com', 'ronbo', 'Pepper0689') or die ('Kann nicht auf die DB connect');
/ / Mysql_select_db ('ronbo', $ link) or die ('Kann nicht wählen Sie die DB');

/ / http://www.ihappyapps.com/DataFolder/loader.php
/********************************/
/ * Code auf http://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/ * Bearbeiten Sie die Einträge, um die entsprechenden Werte spiegeln
/********************************/
$ DatabaseHost = "dbhost";
$ Databasename = "name";
$ Databasetable = "table";
$ DatabaseUserName = "username";
$ Databasepassword = "password";
$ Fieldseparator = "";
$ Lineseparator = "\ n";
$ Csvfile = "spreadsheet.csv";
/********************************/
$ Addauto = 1;
/********************************/
$ Save = 0;
$ Outputfile = "output.sql";
/********************************/

if (! file_exists ($ csvfile)) {
echo "Server habe Ihre Anfrage, aber die CSV Datei, die Sie in die Datenbank laden nicht vorhanden ist ... .. \ n";
exit;
}

$ Chunksize = 1 * (1024 * 1024);
$ File = fopen ($ csvfile, "rb");
if (! $ file) {
echo "Fehler beim Öffnen der Datei \ n."
exit;
}

$ Size = filesize ($ csvfile);

if (! $ size) {
echo "Datei ist leer \ n."
exit;
}

$ Con = @ mysql_connect ($ DatabaseHost, $ DatabaseUserName, $ databasepassword) or die (mysql_error ());
@ Mysql_select_db ($ databasename) or die (mysql_error ());

$ Lines = 0;
$ Queries = "";
while (! feof ($ file)) {
$ Csvline = fgets ($ file, $ chunksize);

$ Lines + +;
if ($ lines <2) fortzusetzen;

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

$ Line = str_replace ("\ r ","",$ Linie);

/************************************************* ******
Diese Zeile entgeht dem besonderen Charakter. entfernen Sie es, wenn bereits Einträge in der CSV-Datei entgangen sind
************************************************** ******/
$ Line = str_replace ("'"," \ '", $ line);
/************************************************* ******/

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

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

$ Query = "insert into $ databasetable values ​​('$ linemysql');";

if ($ save) $ Anfragen .= $ query. "\ N";

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

$ Lines -= 3;

@ Mysql_close ($ con);

<>

Ich könnte etwas Hilfe beim Start dieses an Arbeit zu nutzen ...
Ron

qwewe 23. Januar 2011 um 02.56 Uhr

@ Mark Cloyd
"Address = VALUES (Adresse)
Ich erhalte eine Fehlermeldung hier als Parse error: syntax error, unexpected '='

Rusty 3. Februar 2011 um 02.56 Uhr

Jede Idee, wie man dieses Skript für Felder, die mit Anführungszeichen eingeschlossen sind, so dass Felder mit Kommas in ihnen nicht als einen neuen Eintrag gelesen haben Arbeit bekommen?

Ich habe Daten, die Kommas wie Dollar-Beträge und Kommentare, wo Anwender ein Komma verwendet haben könnte umfasst. Ich brauche das gesamte Feld importiert und dieses Skript behandelt sie als neue Felder.

Jorge Dias 14. März 2011 um 19.01 Uhr

Danke, sehr gut csv Importeur.
Aber ich ein kleines Problem gefunden, es funktioniert nur mit csv-Datei mit der Struktur: "Feld1", "Feld2", "field3", etc., aber ich hava eine CSV-Datei wie folgt aus: Feld1; Feld2; filed3; etc

Das einzige, was ich ändern kann ist $ fieldseparator aber wie kann ich 'sagen' das Skript, das die Datei nicht verwenden "(Feld-Trennzeichen)?
Meine IDEIA war eine Combobox mit $ fieldseparator (oder ;) und ein weiteres mit $ FieldDelimiter ("oder gar nichts)

Vielen Dank im Voraus.

justkid 7. April 2011 um 10.25 Uhr

Ich bin wirklich mit diesem Code zu verwechseln!
aber ich werde nicht versuchen, nach oben!
BTW, wie der Code oder das Feld html nennen diesen Code

Umair 2. Mai 2011 um 07.39 Uhr

Hallo ...
Ich bin mit einem Problem konfrontiert, wenn ich diese verwenden, zeigt seine eine Fehlermeldung, dass
"Deprecated: Function split () ist in C veraltet: \ wamp \ www \ test1 \ simplecsvimport.php on line 64
Datei ist nicht beschreibbar, die Berechtigungen überprüfen. Gefunden insgesamt 41 Datensätze in dieser CSV-Datei. "

Pls antworten, was ist los!
Vielen Dank im Voraus!

Joln 11. Mai 2011 um 07.52 Uhr

Große Schrift! Tnx viel

[...] Legend.ws, sie haben ein Code-Snippet zur Verfügung, die leicht geändert werden kann, gemacht und in eine [...]

Matt Fleming 15. Juni 2011 auf 3.16

Hallo, ist dieses Skript großartig. Ich habe ein Problem wenn. Gibt es trotzdem zu den "Marken, die das Skript in meine Datenbank eingeben zu entfernen. Sie sind um jedes Eindringen in die Zelle.

Jhon 3. Juli 2011 um 10.14 Uhr

Rearlly mit php gearbeitet
Paglu Just Chill

Bram 21. August 2011 um 19.05 Uhr

Handlich Skript. Es könnte sein, dass Sie die Erstellung der Tabelle als auch (große csv ist mit vielen Spalten) benötigen. Daher ist eine slidly modifizierte Version, die die Tabelle mit den Überschriften der ersten Zeile in der CSV-Datei erstellen können.

J-Hong 31. August 2011 um 01.58 Uhr

Vielen Dank. aus Südkorea.

Amit 5. September 2011 um 10:11

Ich will meine CSV-Datei mit der Datenbank überprüfen zu lassen.

In der Datenbank gibt es eine Reihe so-
Testen 23 INDIA

Meine CSV-Datei ist wie die-
ABC 21 INDIA
def 32 IN
Testen 23 INDIA
def 21 INDIA

Wenn ich die csv-Datei hochladen muss sicherstellen, dass der Name "Test" ist bereits in der Datenbank und muss die Zeile zu verlassen und laden Sie die restlichen 3 Zeilen.

Ist es möglich zu tun.

Bitte helfen Sie.

Thanks.

Sonia Jayaprakash 15. September 2011 um 10.23 Uhr

THANK U SOO MUCH für die Bereitstellung dieser CODE ... THANK U ....

Nick 15. September 2011 um 20.22 Uhr

Vielen Dank, das ist sehr sehr hilfreich!

arjun p yadav 17. September 2011 auf 8.19

Deprecated: Function split () ist in C veraltet: \ wamp \ www \ simplecsvimport.php on line 66

Bitte helfen Sie, es zu lösen.

Dereva plantarea Trandafirilor Jenela 13. Oktober 2011 um 08.12 Uhr

Dies ist genau die Informationen, die ich suchte! Ich werde dieses Skript verwenden, um CSV-Daten in mysql importieren.

Manmohit verma 15. Oktober 2011 um 06.27 Uhr

Code, um CSV-Datei zu importieren mysq mit PHP: -
Zunächst machen alle Acess Blatt um Excel und Excel Blatt zu speichern als csv-Datei

Fernando Murrieta 15. Oktober 2011 um 18.07 Uhr

Vielen Dank!

Es wirkt wie ein Zauber!

Sehr nützlich, um einen Benutzer allaw eine Tabelle ohne wirklichen Zugang zu bevölkern.

Nochmals vielen Dank :)

raja 2. November 2011 um 12.12 Uhr

Datei ist nicht beschreibbar, die Berechtigungen überprüfen. Gefunden insgesamt 1 Einträge in dieser CSV-Datei.
Bitte helfen Sie mir, dieses Problem zu lösen. Ich habe nicht zu schaffen, dass output.sql Datei

NetWeaver 7.3 3. November 2011 um 06.04 Uhr

Ich werde auf jeden Fall nutzen diese. Ich frage mich nur, wie zu schützen oder zu implementieren, so dass ein Außenstehender nicht sie gegen mich. Ich bin diskutieren, um dieses Skript oder ein Perl-Skript, das ich von der Kommandozeile aus nutzen können. Thanks.

Ankur 16. November 2011 um 11:15 Uhr

Hallo,

Ich benutze dieses Script und funktioniert gut für mich. aber es fügt nur 237 Datensätze in MySQL-Tabelle, während in csv-Datei gibt es Summe 437 Datensätze.

Miguel 24. November 2011 um 03.57 Uhr

Hallo im newbie auf php. und Hilfe brauchen. ich brauche, um einen einzigen csv-Datei zu laden und Zulauf 2 MySQL-Tabellen. aber die Daten in CSV-Datei derzeit die gleiche Struktur wie in MySQL-Tabelle haben. haben auch Probleme mit Datumsformat und Kommas in Daten.

mysql table1
id, Name, Email-, Status-
mysql Tabelle 2
id, Book_Name, date_book_out, date_book_in

csv-Datei
10052, "MikeParker", "mike@email.net", "aktiv"
10052, "Bevor die Saison endet, rt526", 2011.01.10, 2011.01.25

Dank

Ankur 7. Dezember 2011 um 16.35 Uhr

Hallo Leute,

Bitte helfen Sie mir in diesem Skript. Es fügt nur 240 Datensätzen in der Datenbank.

Rolf 8. Dezember 2011 um 05.05 Uhr

Es ist nicht so ein gutes Drehbuch ..., wie man mit ein paar tausende oder mehrere Datensätze umgehen?
Es ist nicht an die Datenbank schön, tausende von Abfragen ausführen, wenn Sie eine viel bessere Import durch die Speicherung vielleicht 1000 Zeilen in 1 import tun konnte ..

natürlichen suppliments 29. Dezember 2011 auf 8.19

Ich habe Ihren Beitrag und gründlich zu lesen bekam Geist weht Informationen .... Bitte senden Sie mir eine Mail, wenn Ihr gehen, um etwas voraus zu verbessern ..
Dank ..

natürlichen suppliments

Maquinas de coser 30. Dezember 2011 um 06.28 Uhr

Ich möchte Ihnen für die Weitergabe Ihrer Daten und Ihrer Webseite danken, ist dieses einfache, aber gute Artikel, den ich je gesehen habe, wie ich es, und ich lernte etwas heute! Vielen Dank!

Maquinas de bordar

Stefan 30. Dezember 2011 um 08.18 Uhr

Hy
Das Skript ist in Ordnung, funktioniert großartig, aber ich brauche einen Rat
Mein Tisch hat 3 Säulen in diese Höhle:
id, Code und Name
Ich allready haben einige Daten eingefügt, und ich möchte nur die Info, dass die MESING einfügen.
Ich muss nur überprüfen, indem cod. Also, wenn der Code existiert, der scipt shold nicht eingesetzt.

Vielen Dank im Voraus für Ratschläge.

Mit freundlichen Grüßen,
Stefan

alen 1. Januar 2012 auf 6.04

Vielen Dank für Ihre Informationen

Schaumburg Personal Trainer 9. Januar 2012 um 01.35 Uhr

Ich habe bereits vorgemerkt dieses Artikels und wird definitiv verweisen diesem Artikel
all meinen engen Freunden und Kollegen. Dank für die Buchung!

Hinterlasse einen Kommentar

Ihr Kommentar