2013-08-02 41 views
0

PHP上傳文本文件所以現在我想上傳一個txt文件,並將其發送到MySQL。這部分工作正常。但我有我的代碼尋找一個設置文件名,如text.txt。 txt文件正在被ftp到一個目錄中,然後按下一個php文件中的按鈕,它會查找該文件,讀取它並將其發送到數據庫。但是,該文件將會每天以不同的名稱進行ftp'd,如日期。它會被上傳這樣的:test20130802.txt用一個變量名

如何讓我的代碼查找該日期變量?它也不總是今天的日期。

這裏是我當前的代碼部分:

$handle = @fopen("test.txt", "r"); 

$values=''; 

while (!feof($handle)) 
{ 
$buffer = fgets($handle, 4096); 
//MYSQL QUERY...... 
} 

任何幫助是極大的讚賞。謝謝。

+0

'$ filename = $ some_date_value。 '.txt';'你在找這個嗎? –

+0

我不這麼認爲。我需要'$ handle = @fopen(「test.txt」,「r」);'在目錄中查找testRANDOMDATE.txt而不是test.txt – dkeeper09

+0

YOu爲'fopen'設置了名稱。它可以是'test.txt'或''test'。 $ my_random_date。 」 .txt''。或者你想掃描目錄並找到一個特定的文件? –

回答

0

這是相當簡單的,我認爲。

首先你把文件「test20130802.txt」到一個變量的名稱。例如

$readTestFile = "test20130802.txt"; //Or however you are taking the file name as input 

希望你得到一個標準的文件名。 (通過標準我的意思是前幾個字母是始終相同始終。)

在標準的文件名的情況下:

$dateYearChar = array(); 
$dateMonthChar = array(); 
$dateDateChar = array(); 

for($i=0;$i<4;$i++) 
$dateYearChar[$i] = $readTestFile[$i+4]; 
for($i=0;$i<2;$i++) 
$dateMonthChar[$i] = $readTestFile[$i+8]; 
for($i=0;$i<2;$i++) 
$dateDateChar[$i] = $readTestFile[$i+10]; 

$dateYear = intval($dateYearChar); 
$dateMonth = intval($dateMonthChar); 
$dateDate = intval($dateDateChar); 

編輯:如果你想看看你可以做相反的事情具有指定格式的文件名。

例如

$fileName = "test" . $dateYear . $dateMonth . $dateDate . ".txt"