gpt4 book ai didi

php - 将文本文件中的数据插入mysql

转载 作者:行者123 更新时间:2023-11-28 23:25:49 25 4
gpt4 key购买 nike

我的服务器上有文件,例如 25295.txt,我的服务器上有 24565.txt,其中文件名是用户 ID,文件的内容类似于

[{"name":"+91 88264 73159","mobile":"+918826473159"},
{"name":"+91 99971 17220","mobile":"+919997117220"}]

我的表结构是这样的:

enter image description here

我想运行一个 cron 作业以在多个文件的不同行中插入带有 user_id(文本文件的名称是用户 ID)的每个姓名和手机。每个文件中大约有 800 条相同的记录,并且还通过以下方式修剪手机:

$mobile=str_replace('+','0',$data['mobile']);
$mobile=str_replace(' ','',$mobile);
$mobile=substr($mobile, -10);

如何做同样的事情,上传后我想从服务器上删除文本文件。

最佳答案

您服务器上的文件看起来像 JSON。您可以简单地解码它们,然后像​​往常一样插入它们。

$filePath = '/tmp/somefile.txt';
$contents = file_get_contents($filePath);
$obj = json_decode($contents);

var_dump($cbj);

更新

为了让它更容易,这里有一个从文件到数据库的整个过程的小例子。

定时任务.php

// Make your database connection
$link = mysqli_connect('<hostname>', '<username>', '<password>', '<database>');

// Define the file location
$fileLocation = '/tmp/example.txt';

// Retrieve contents
$contents = file_get_contents($fileLocation);

// Convert json to ObjectArray
$persons = json_decode($contents);

// Loop through array and insert
foreach ($persons as $person) {
$number = substr(str_replace(' ', '', str_replace('+', '00', $person->number))), -10);
$stmt = "INSERT INTO persons (id, name, number) VALUES ('".$person->id."', '".$person->name."', '".$number."')";

mysqli_query($link, $stmt);
}

// Remove the file
unlink($fileLocation);

例子.txt

[{"id":14,"name":"John","number":"555-66-77-8"},{"id":24,"name":"Jane","number":"555-77-88-9"},{"id":34,"name":"Santa","number":"555-6-77-77"}]

关于php - 将文本文件中的数据插入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39388010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com