我有一个数据库,比如下面的图片:
database
我想插入日期和时间基于上次修改日期从我的计算机上的文件在uploaddate列自动使用filemtime()函数在php。
我试过使用下面的代码:
$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函数正在运行并且为真,但我仍然无法插入到数据库中。
你能知道问题出在哪里吗?非常感谢你的帮助。
发布于 2016-04-12 16:13:34
问题是-您正在尝试获取名称的修改时间(!)不是文件的路径。如果您要创建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;
}
}
?>https://stackoverflow.com/questions/36566152
复制相似问题