设置图片到期日期

时间:2016-03-17 17:07:54

标签: javascript php jquery

我有一个电子商务网站,人们通常上传图片以便在产品项目上设置图像。For example: A person who need his photo on the cake can upload his picture。现在我想的是有什么方法可以在图像上添加到期日期。实际上在此之后删除图像。

如果可能,我该如何实现?

如果这不可能,那么我是否必须在图像属性中添加一些信息,例如到期时间,然后在图像文件夹中运行脚本,删除那些时间已过期的图像?

如果它们都不可能我该怎么办?

1 个答案:

答案 0 :(得分:2)

如果我理解你的观点,你想自动清理你的图像文件夹。

不,一段时间后无法告诉文件“自行删除” 您必须设置一个cronjob,它会扫描文件夹并为您执行删除操作。

在您的服务器上使用此代码创建一个PHP文件并执行它,例如每天都有一个cronjob。

<?php
//Folder containing all images
$dir = '/my/image/folder/';
//max age for an image (in seconds)
//    2592000sec = 30days
$delafter = 2592000;
$imgs = scandir( $dir );
foreach( $imgs as $img ){
 if( $img != '.' && $img != '..' ){
    $age = filemtime( $dir.'/'.$img );
    if( ( $age + $delafter ) < time() ){
        if( unlink( $dir.'/'.$img ) ){
            $log[] = 'Deleted: '.$img;
        }
        else{
            $log[] = 'Error deleting:'.$img;
        }
    }
    else{
        $log[] = 'Left: '.$img;
    }
  }
}
header( 'Content-type:text/plain; charset=utf-8' );
echo implode( "\r\n", $log );
?>

如果不是所有图像都应该在同一时间后删除,则可以使用不同的文件夹,也可以为数据库中的每个文件保存$delafter