2012-10-15 48 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來使腳本在指定的時間間隔運行。

相關問題