001.
<?php
002.
003.
004.
005.
006.
007.
008.
009.
010.
011.
012.
013.
014.
015.
016.
017.
018.
019.
020.
if
(
$month
!=
""
&&
$year
!=
""
){
021.
$dates
=
$month
.
"_"
.
$year
;
022.
$strSQL
= mysql_query(
"insert into date(date_data) values('$dates')"
);
023.
}
024.
025.
define(a,
$dates
);
026.
027.
class
Quick_CSV_import
028.
{
029.
var
$table_name
;
030.
var
$file_name
;
031.
var
$use_csv_header
;
032.
var
$field_separate_char
;
033.
var
$field_enclose_char
;
034.
var
$field_escape_char
;
035.
var
$error
;
036.
var
$arr_csv_columns
;
037.
var
$table_exists
;
038.
var
$encoding
;
039.
040.
function
Quick_CSV_import(
$file_name
=
""
)
041.
{
042.
$this
->file_name =
$file_name
;
043.
$this
->arr_csv_columns =
array
();
044.
$this
->use_csv_header = true;
045.
$this
->field_separate_char =
","
;
046.
$this
->field_enclose_char =
"\""
;
047.
$this
->field_escape_char =
"\\"
;
048.
$this
->table_exists = false;
049.
}
050.
051.
function
import()
052.
{
053.
if
(
$this
->table_name==
""
)
054.
$this
->table_name = a;
055.
056.
$this
->table_exists = false;
057.
$this
->create_import_table();
058.
059.
if
(
empty
(
$this
->arr_csv_columns))
060.
$this
->get_csv_header_fields();
061.
062.
063.
if
(
""
!=
$this
->encoding &&
"default"
!=
$this
->encoding)
064.
$this
->set_encoding();
065.
066.
067.
if
(
$this
->table_exists)
068.
{
069.
$sql
=
"LOAD DATA INFILE '"
.@mysql_escape_string(
$this
->file_name).
070.
"' INTO TABLE `"
.
$this
->table_name.
071.
"` FIELDS TERMINATED BY '"
.@mysql_escape_string(',').
072.
"' OPTIONALLY ENCLOSED BY '"
.@mysql_escape_string(
'"'
).
073.
"' ESCAPED BY '"
.@mysql_escape_string(
''
).
074.
"' "
.
075.
(
$this
->use_csv_header ?
" IGNORE 1 LINES "
:
""
)
076.
.
"(`"
.implode(
"`,`"
,
$this
->arr_csv_columns).
"`)"
;
077.
$res
= @mysql_query(
$sql
);
078.
$this
->error = mysql_error();
079.
}
080.
}
081.
082.
083.
function
get_csv_header_fields()
084.
{
085.
$this
->arr_csv_columns =
array
();
086.
$fpointer
=
fopen
(
$this
->file_name,
"r"
);
087.
if
(
$fpointer
)
088.
{
089.
$arr
=
fgetcsv
(
$fpointer
, 10*1024,
$this
->field_separate_char);
090.
if
(
is_array
(
$arr
) && !
empty
(
$arr
))
091.
{
092.
if
(
$this
->use_csv_header)
093.
{
094.
foreach
(
$arr
as
$val
)
095.
if
(trim(
$val
)!=
""
)
096.
$this
->arr_csv_columns[] =
$val
;
097.
}
098.
else
099.
{
100.
$i
= 1;
101.
foreach
(
$arr
as
$val
)
102.
if
(trim(
$val
)!=
""
)
103.
$this
->arr_csv_columns[] =
"column"
.
$i
++;
104.
}
105.
}
106.
unset(
$arr
);
107.
fclose(
$fpointer
);
108.
}
109.
else
110.
$this
->error =
"file cannot be opened: "
.(
""
==
$this
->file_name ?
"[empty]"
: @mysql_escape_string(
$this
->file_name));
111.
return
$this
->arr_csv_columns;
112.
}
113.
114.
function
create_import_table()
115.
{
116.
$sql
=
"CREATE TABLE IF NOT EXISTS "
.
$this
->table_name.
" ("
;
117.
118.
if
(
empty
(
$this
->arr_csv_columns))
119.
$this
->get_csv_header_fields();
120.
121.
if
(!
empty
(
$this
->arr_csv_columns))
122.
{
123.
$arr
=
array
();
124.
for
(
$i
=0;
$i
<sizeof(
$this
->arr_csv_columns);
$i
++)
125.
$arr
[] =
"`"
.
$this
->arr_csv_columns[
$i
].
"` TEXT"
;
126.
$sql
.= implode(
","
,
$arr
);
127.
$sql
.=
")"
;
128.
$res
= @mysql_query(
$sql
);
129.
$this
->error = mysql_error();
130.
$this
->table_exists =
""
==mysql_error();
131.
}
132.
}
133.
134.
135.
136.
function
get_encodings()
137.
{
138.
$rez
=
array
();
139.
$sql
=
"SHOW CHARACTER SET"
;
140.
$res
= @mysql_query(
$sql
);
141.
if
(mysql_num_rows(
$res
) > 0)
142.
{
143.
while
(
$row
= mysql_fetch_assoc (
$res
))
144.
{
145.
$rez
[
$row
[
"Charset"
]] = (
""
!=
$row
[
"Description"
] ?
$row
[
"Description"
] :
$row
[
"Charset"
]);
146.
}
147.
}
148.
return
$rez
;
149.
}
150.
151.
152.
function
set_encoding(
$encoding
=
""
)
153.
{
154.
if
(
""
==
$encoding
)
155.
$encoding
=
$this
->encoding;
156.
$sql
=
"SET SESSION character_set_database = "
.
$encoding
;
157.
$res
= @mysql_query(
$sql
);
158.
return
mysql_error();
159.
}
160.
161.
162.
}
163.
164.
?>