2012-10-15 49 views
0

这是我的问题。在我的FTP服务器中,我有一个带有一些txt文件(abc.txt,hallo.txt,123.txt等等)的文件夹,通过远程软件定期上传。 这些txt文件包含MySQL数据库的数据。填充读取文件夹中的文件的MySQL数据库

我想知道:我如何自动填充MyQSL数据库(例如使用cron作业)? 我已经有一个PHP文件能够填充数据库,但使用“POST”方法(不是自动)。我必须手动选择每个文件上传并从我的电脑更新数据库。

我想设置一个php代码,它读取和提取包含在我的FTP文件夹中的旧的.txt文件,并提供更新数据库。 我已经拥有能够读取.txt文件的代码,并且可以推断要插入数据库的数据。

在此先感谢您的帮助。

Mat。

+1

你能发布相关的php代码吗? –

+0

Cron工作在正确的文件夹中查找文本文件并执行数据库更新应该是一个很好的解决方案 – bensiu

+0

您需要在某处存储“上次运行时间”。然后,您需要扫描目录以查找已更改/新文件。然后你将使用'LOAD DATA INFILE $ myfile ...'来添加数据。 – dnagirl

回答

0
<?php 
mysql_connect('localhost','root','root'); // MAMP defaults 
mysql_select_db('yourdatabase'); 
$files = glob('*.txt'); 
foreach($files as $file){ 
    mysql_query("LOAD DATA INFILE '".$file." INTO yourtablename"); 
} 
?> 

或使用bash脚本在Linux上

#!/bin/bash 

for f in *.csv 
do 
     mysql -e "load data infile '"$f"' into table my_table" -u username --password=your_password my_database 
done 

您可以编辑crontab来使脚本在指定的时间间隔运行。

相关问题