set_local_infile_handler
为 LOAD DATA LOCAL INFILE 命令设置回调函数。
PHP 版本 5.0.0 及以上。
set_local_infile_handler 函数用于为 MySQL 数据库的 local infile 操作设置一个文件处理器。通过这个函数,用户可以定制如何处理从本地文件导入到 MySQL 的数据行。
set_local_infile_handler(callback)
callback (必选) - 一个回调函数,用于处理从文件中读取的数据。这个回调函数需要接受两个参数:文件路径和文件句柄,返回一个字符串或数据。
此函数没有返回值。
以下是如何使用 set_local_infile_handler 函数的示例:
<?php // 定义一个回调函数 function my_infile_handler($path, $handle) { // 处理文件内容 $data = fgets($handle); return $data; } <p>// 设置本地文件处理器<br> mysqli_set_local_infile_handler('my_infile_handler');</p> <p>// 创建 MySQL 连接<br> $conn = new mysqli('localhost', 'username', 'password', 'database');</p> <p>// 导入数据<br> $conn->query("LOAD DATA LOCAL INFILE 'file.txt' INTO TABLE tablename");</p> <p>$conn->close();<br> ?><br>
在这个示例中,我们首先定义了一个回调函数 my_infile_handler,该函数读取传递给它的文件句柄,并返回文件中的数据。然后,我们使用 mysqli_set_local_infile_handler 设置该回调函数。接着,使用 MySQL 的 LOAD DATA LOCAL INFILE 语句来加载数据时,MySQL 会调用我们设置的回调函数来处理文件数据。