-
-
- $databasehost = "localhost";
- $databasename = "テスト";
- $databasetable = "サンプル";
- $databaseusername ="テスト";
- $databasepassword = "";
- $ fieldseparator = ",";
- $lineseparator = "n";
- $csvfile = "filename.csv";
-
- /********************************/
- /* これらの先頭に空のフィールドを追加しますか? records?
- /* これは、最初のフィールドが auto_increment 整数であるテーブルがあり、CSV ファイルにレコードの前に空のフィールドがない場合に便利です
- /* はいの場合は 1、いいえの場合は 0 を設定します。 。注意: よくわからない場合は 1 に設定しないでください。
- /* この追加フィールドがテーブルに存在しない場合、間違ったフィールドにデータがダンプされる可能性があります
- /********************************/
- $addauto = 0;
- /********************************/
-
- /* mysql クエリをファイルに保存しますか? 「はい」の場合、$save を 1 に設定します。
- /* ファイルのアクセス許可を 777 に設定する必要があります。ftp 経由でサンプル ファイルをアップロードし、
- /* アクセス許可を変更するか、プロンプトで次のコマンドを実行します: touch Output.sql && chmod 777 Output .sql
- /********************************/
- $save = 1;
- $outputfile = "output.sql";
- /********************************/
-
- if (!file_exists($csvfile)) {
- echo 「ファイルが見つかりません。正しいパスを指定していることを確認してください。n」;
- exit;
- }
-
- $file = fopen($csvfile,"r");
-
- if (!$file) {
- echo "開くエラーデータ file.n";
- exit;
- }
-
- $size = filesize($csvfile);
-
- if (!$size) {
- echo "ファイルは空です。n";
- exit;
- }
-
- $csvcontent = fread($file,$size);
-
- fclose($file);
-
- $con = @mysql_connect($databasehost,$databaseusername,$databasepassword) または die(mysql_error());
- @mysql_select_db($databasename)または die(mysql_error());
-
- $lines = 0;
- $queries = "";
- $linearray = array();
-
- foreach(split($lineseparator,$csvcontent) as $line) {
-
- $行++;
-
- $line = トリム($line," t");
-
- $line = str_replace("r","",$line);
-
- /**********************************
- この行は特殊文字をエスケープしています。 CSV ファイル内でエントリが既にエスケープされている場合は削除してください
- ******************************************
- これ行は特殊文字をエスケープします。 CSV ファイル内でエントリが既にエスケープされている場合は削除します
- ****************************************/
- $line = str_replace("'","'",$line);
- /&**** ****/
-
- $linearray =explode($fieldseparator,$line);
-
- $linemysql = implode("','",$linearray);
-
- if($addauto)
- $query = "挿入$databasetable value('','$linemysql');";
- else
- $query = "$databasetablevalues('$linemysql');";
-
- $queries .= $query に挿入します。 "n";
-
- @mysql_query($query);
- }
-
- @mysql_close($con);
-
- if ($save) {
-
- if (!is_writable($outputfile)) {
- echo "ファイルはありません書き込み可能です。権限を確認してください。n";
- }
-
- else {
- $file2 = fopen($outputfile,"w");
-
- if(!$file2) {
- echo "出力ファイルへの書き込みエラー。n";
- }
- else {
- fwrite($file2,$queries);
- fclose($file2);
- }
- }
-
- }
-
- echo "この csv ファイルで合計 $lines レコードが見つかりました。n";
-
?>
复制代
|