(PHP 5, PHP 7)
mysqli::set_local_infile_handler -- mysqli_set_local_infile_handler — 锟斤拷锟斤拷 LOAD DATA LOCAL INFILE 锟斤拷锟斤拷幕氐锟斤拷锟斤拷锟�
锟斤拷锟斤拷锟斤拷锟斤拷锟�
锟斤拷锟教伙拷锟斤拷锟�
锟斤拷锟斤拷 LOAD DATA LOCAL INFILE 锟斤拷锟斤拷幕氐锟斤拷锟斤拷锟�
锟截碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟角讹拷取 LOAD DATA LOCAL INFILE 锟斤拷锟斤拷指锟斤拷锟斤拷锟侥硷拷锟斤拷 锟斤拷锟揭斤拷锟斤拷锟斤拷锟铰革拷式锟斤拷锟斤拷 锟斤拷锟矫的革拷式锟斤拷锟斤拷锟斤拷 LOAD DATA INFILE 锟斤拷锟斤拷锟斤拷锟绞讹拷锟侥革拷式锟斤拷
锟斤拷锟截碉拷锟斤拷锟斤拷锟斤拷要锟斤拷 LOAD DATA 锟斤拷锟斤拷指锟斤拷锟侥革拷式匹锟戒。
link
锟斤拷锟皆癸拷锟教伙拷锟斤拷式锟斤拷锟斤拷mysqli_connect() 锟斤拷 mysqli_init() 锟斤拷锟截碉拷锟斤拷锟接憋拷识锟斤拷
read_func
一锟斤拷锟截碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟竭讹拷锟斤拷姆锟斤拷锟斤拷锟斤拷锟斤拷锟揭拷锟斤拷锟斤拷锟斤拷虏锟斤拷锟斤拷锟�
stream
锟斤拷 SQL 锟斤拷锟斤拷锟叫碉拷 INFILE 锟斤拷锟斤拷锟斤拷 PHP 锟斤拷
&buffer
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷写之锟斤拷锟斤拷锟捷碉拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷
buflen
锟斤拷锟斤拷锟斤拷锟叫存储锟斤拷锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷
&errormsg
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷螅锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟芥储一些锟斤拷锟斤拷锟斤拷息
锟斤拷锟斤拷锟斤拷锟缴癸拷锟斤拷锟斤拷氐锟斤拷锟斤拷锟斤拷锟揭拷锟斤拷锟� buffer
锟叫存储锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷
锟斤拷锟斤拷锟斤拷锟绞э拷埽锟�
锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷
锟缴癸拷时锟斤拷锟斤拷 TRUE
锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE
锟斤拷
Example #1 mysqli::set_local_infile_handler() 锟斤拷锟斤拷
锟斤拷锟斤拷锟斤拷锟斤拷锟�
<?php
$db = mysqli_init();
$db->real_connect("localhost","root","","test");
function callme($stream, &$buffer, $buflen, &$errmsg)
{
$buffer = fgets($stream);
echo $buffer;
// 锟斤拷锟街凤拷锟斤拷锟芥换锟缴达拷写锟斤拷锟斤拷锟揭斤拷 "," 锟街革拷锟斤拷锟芥换锟斤拷 [TAB]
$buffer = strtoupper(str_replace(",", "\t", $buffer));
return strlen($buffer);
}
echo "Input:\n";
$db->set_local_infile_handler("callme");
$db->query("LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
$db->set_local_infile_default();
$res = $db->query("SELECT * FROM t1");
echo "\nResult:\n";
while ($row = $res->fetch_assoc()) {
echo join(",", $row)."\n";
}
?>
锟斤拷锟教伙拷锟斤拷锟�
<?php
$db = mysqli_init();
mysqli_real_connect($db, "localhost","root","","test");
function callme($stream, &$buffer, $buflen, &$errmsg)
{
$buffer = fgets($stream);
echo $buffer;
// 锟斤拷锟街凤拷锟斤拷锟芥换锟缴达拷写锟斤拷锟斤拷锟揭斤拷 "," 锟街革拷锟斤拷锟芥换锟斤拷 [TAB]
$buffer = strtoupper(str_replace(",", "\t", $buffer));
return strlen($buffer);
}
echo "Input:\n";
mysqli_set_local_infile_handler($db, "callme");
mysqli_query($db, "LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1");
mysqli_set_local_infile_default($db);
$res = mysqli_query($db, "SELECT * FROM t1");
echo "\nResult:\n";
while ($row = mysqli_fetch_assoc($res)) {
echo join(",", $row)."\n";
}
?>
锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�
Input: 23,foo 42,bar Output: 23,FOO 42,BAR