php - 如何在 PHP 中使用 filemtime 函数?

标签 php html mysql filemtime

我有一个如下图所示的数据库:

database

我想使用 php 中的 filemtime() 函数在 uploaddate 列中自动插入基于计算机上文件的上次修改日期的日期和时间。

我尝试使用此代码:

$namefile= $_FILES['filename']['name']; //from file i have uploaded
if (file_exists($namefile)) 
{
 $uploaddate = date ("Y-m-d H:i:s", filemtime($namefile));
}
echo $uploaddate;

这是我的 SQL 查询:

$import="INSERT into scan (UploadDate, ScanDate, FileName) 
         values('$uploaddate', '$date', '$namefile')
         ON DUPLICATE KEY UPDATE UploadDate='$uploaddate', ScanDate='$date',  
         FileName='$namefile'";

echo 函数正在运行并且正确,但我仍然无法插入数据库。

请问您知道问题出在哪里吗?非常感谢您的帮助。

最佳答案

问题是 - 您正在尝试获取名称的修改时间(!)而不是文件的路径。 如果您创建 upload_from 目录并将其放在表单处理器文件附近,则此示例将起作用。然后您应该从那里上传您的文件。或者您可以指定另一个路径(路径应该是绝对路径)。不幸的是,这个决定只适用于那些特定的情况。

然而,对文件修改时间的操作是很棘手的,因为它可以由用户手动设置,它可能来自具有不同时间设置的用户,所以,你只能相信你的机器的本地决定,我提供的。

PS:我没有找到访问上传文件的绝对文件名的方法。

index.php内容:

<form method="POST" action="index.php" enctype="multipart/form-data">
    <input type="file" name="filename">
    <input type="submit">
</form>
<?php
$upload_from_dir = 'upload_from';
if (!empty($_FILES)) {
    $namefile = $upload_from_dir . DIRECTORY_SEPARATOR . $_FILES['filename']['name'];
    if (file_exists($namefile)) {
        $uploaddate = date("Y-m-d H:i:s", filemtime($namefile));
        echo $uploaddate;
    }
}
?>

关于php - 如何在 PHP 中使用 filemtime 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36566152/

相关文章:

php - Wordpress/PHP - 对评论帖子的自定义操作

php - 创建与以下下拉菜单相同的 HTML5 范围 "slider"

html - 在 ColdFusion 中,如何将填充有包含 HTML 内容的 SQL 查询数据的 XML 文档对象输出到 XML 文件?

php - 如何为 wordpress 主题制作右侧边栏

javascript - 我的 fadeToggle() 以我不希望它出现的元素为目标

MYSQL select unique id's where column value is not null 在一个或多个记录中

PHP 检查 $_GET 中的变量是否为整数

javascript - 检测 Web 应用程序中同一 session 的多个选项卡或窗口

c# - 如何从另一个表中获取与另一个表中的名称或ID匹配的相同名称或ID

php - MySQL:多个表(一次所有列,三次仅单个列)