0

だから今、.txt ファイルをアップロードして mysql に送信しようとしています。その部分はうまく機能します。しかし、text.txt のような設定されたファイル名を探しているコードがあります。txt ファイルがディレクトリに ftp され、次に php ファイルのボタンが押され、そのファイルが検索され、読み取られてデータベースに送信されます。ただし、ファイルは、date のように、毎日異なる名前で 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 に答える