<?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;
}
?>


上面的代码未直接测试。

10-04 22:16
查看更多