<?php
$search = array('.pdf', '.', '-', '_');
$replace = array('', '/', '</u>- ', ' ');
$query="SELECT STR_TO_DATE(SUBSTR(`filename`, 1, 10),'%m.%d.%Y') as filedate, `filename`, `filepath`
FROM `files`
WHERE `filepath` LIKE 'sites/default/files/news/%'
ORDER BY filedate DESC
LIMIT 4";
$results = db_query($query);
while ($row = db_fetch_array($results)) {
echo '<tr>';
echo '<td><u><a href=http://website.com/sites/default/files/news/'. $row["filename"] . '>' . str_replace($search, $replace, $row["filename"]) . '</a></td><br />';
echo '</tr>';
}
?>
我的网站首页上有此代码。它将所有以日期开头的文件提取到某个文件夹中。当前,当我添加一个新文件时,查询不会更新,即使我在PHPmyadmin中运行查询也可以。
是什么使查询本身无法更新?刷新缓存对我没有用。
最佳答案
首先,您不尝试更新,而是从数据库中提取数据。
我建议您使用file_scan_directory
。
https://api.drupal.org/api/drupal/includes!file.inc/function/file_scan_directory/7
<?php
$files = file_scan_directory('/sites/default/files/news', '/.*\.pdf$/');
foreach ($files as $file) {
print $file->filename;
}
?>
上面的代码未直接测试。