2017-10-02 104 views
1

私は質問があります。私はすでに多くのファイル.jobの拡張子からすべてのデータを取得、今私は多くのファイルJobIDの行を取得することができますJobIDの行だけでデータを取得したい、私は出力をしたい ""以上のように例。すみません、私の英語です。おかげテキストファイルから特定の値を読み取るextensi .job

CODE GET DATA

foreach (glob("C://xampp/htdocs/LogMesinMutoh/*.job") as $file) { 
$file_handle = fopen($file, "r"); 
while (!feof($file_handle)) { 
    $line = fgets($file_handle); 
    echo $line; 
} 
fclose($file_handle); 
} 

のDATA FILE

[JobSetting] 
File=D:\Shared\print\2017\september\26\Printing Ira\Cat Pattern EKA SITOMPUL 55X55.tif 
PrintSetup=VJ-1624W_MURIM_HP100_4PASS.tps 
RaPInfoFile=VJ-1624 
JobID=115518024 
WorkType=3 
SourceSizeX=549.980530 
SourceSizeY=549.980530 
DestSizeX=549.980530 
DestSizeY=549.980530 
+1

データファイルがあなたのものと同じように短い場合は、 'file_get_contents'を使ってファイル全体の内容を読み込み、** regex **を使って必要なデータを取得することができます。 – teeyo

+0

多くのファイルに対してfile_get_contentsが機能しますか? –

+0

ただ、ループ内のコードをファイルハンドラを開いて、行ごとにfile_get_contentsを使用して変更すると、フルテキストの文字列が表示され、regexを使用してJobIDを取得します。 – teeyo

答えて

2

は、私は1 [あなたが$試合であなたの出力を取得します$ strは、ファイルの内容

$str = "File=D:\Shared\print\2017\september\26\Printing Ira\Cat 
Pattern EKA SITOMPUL 55X55.tif 
PrintSetup=VJ-1624W_MURIM_HP100_4PASS.tps RaPInfoFile=VJ-1624 
JobID=115518024 WorkType=3 SourceSizeX=549.980530 
SourceSizeY=549.980530 DestSizeX=549.980530 DestSizeY=549.980530"; 


$regex = '/JobID=(.*)/'; 

preg_match($regex, $str, $matches); 

print_r($matches); 

であると仮定します]

+0

私はちょうどjobidから値を取得したい。なしJobid =。 –

+0

あなたは$ matches [1] – shashi

+0

でラベルのないジョブIDを取得しますが、PrintSetup = .. VJだけを試してみるとどうしたらいいですか?正規表現を追加しますか? –

関連する問題