【发布时间】:2014-06-28 01:18:53
【问题描述】:
我对 PHP 和正则表达式相当陌生,在阅读之后我已经尝试了解如何提取正确的信息,
样本数据
2011/09/20 00:57 367,044,608 S1E04 - Cancer Man.avi
2012/03/12 03:01 366,991,496 Family Guy - S09E01 - And Then There Were Fewer.avi
2012/03/25 00:27 53,560,510 Avatar- The Legend of Korra S01E01.avi
我想提取的是文件的日期、文件大小和名称,记住文件基本上可以以任何开头。并且文件大小一直在变化。
我目前拥有的。
$dateModifyed = substr($file, 0, 10);
$fileSize = preg_match('[0-9]*/[0-9]*/[0-9]*/s[0-9]*:[0-9]*/s*', $file, $match)
$FileName =
我正在处理的完整代码
function recursivePrint($folder, $subFolders, $Jsoncounter) {
$f = fopen("file.json", "a");
echo '{ "id" : "' . $GLOBALS['Jsoncounter'] . '", parent" : "' . "#" . '", Text" : "' . $folder . '" },' . "\n";
$PrintString = '{ "id" : "' . $GLOBALS['Jsoncounter'] . '", parent" : "' . "#" . '", Text" : "' . $folder . '" },' . "\n";
fwrite($f, $PrintString);
$foldercount = $GLOBALS['Jsoncounter'];
$GLOBALS['Jsoncounter']++;
foreach($subFolders->files as $file) {
preg_match('/^(\d{4}/\d{2}/\d{2}\s+\d{2}:\d{2})\s+([\d,]+)\s+(.*)$/', $file, $match);
$dateModified = $match[1];
$fileSize = str_replace(',', '', $match[2]);
$fileName = $match[3];
echo $dateModified . $fileSize . $fileName;
echo '{ "id" : "' . $GLOBALS['Jsoncounter'] . '", parent" : "' . $foldercount . '", Text" : "' . $file . '" },';
$PrintString ='{ "id" : "' . $GLOBALS['Jsoncounter'] . '", parent" : "' . $foldercount . '", Text" : "' . $file . '" },';
fwrite($f, $PrintString);
$GLOBALS['Jsoncounter']++;
}
foreach($subFolders->folders as $folder => $subSubFolders) {
recursivePrint($folder, $subSubFolders, $Jsoncounter);
}
fclose($f);
}
任何帮助提取正确数字将不胜感激
【问题讨论】:
-
如何在您的 PHP 文件中访问您的数据?它是否保存在变量中?请发布完整的相关代码。
-
感谢您的回复,我已经添加了我正在开发的全部功能