0

所以现在我正在尝试上传一个 .txt 文件并将其发送到 mysql。那部分工作正常。但是我的代码正在寻找一个设置的文件名,比如 text.txt。txt 文件被 ftp 传送到一个目录中,然后按下 php 文件中的一个按钮,它会查找该文件,读取它并将其发送到数据库。但是,该文件每天都会以不同的名称进行 ftp 传输,例如日期。它将像这样上传:test20130802.txt

如何让我的代码查找该日期变量?也不总是今天的日期。

这是我当前代码的一部分:

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

$values='';

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

任何帮助是极大的赞赏。谢谢你。

4

1 回答 1

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"
于 2013-08-02T17:41:01.440 回答