<?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中运行查询时工作正常。
让查询不自行更新会发生什么?刷新缓存对我没用。
答案 0 :(得分:1)
首先,您不要尝试更新,从数据库中提取数据。
我建议您使用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;
}
?>
以上代码未经过直接测试。