PHP根据时间复制图像

时间:2018-06-26 08:56:35

标签: php time copy

我想将图像从一个文件夹复制到服务器上的另一个文件夹,现在我使用以下代码:

<?php
function read_dir($dir)
{
   $list = array();
   if (is_dir($dir)) 
   {
     if ($handle = opendir($dir)) 
     {
        while (false !== ($file = readdir($handle))) 
        {
           if ($file != "." && $file != "..") 
           {
               $list[] = $file;
           }
        }
     }
     closedir($handle);
   }
   return $list;
}
$src="oldfolder";
$dest="newfolder";
$list= read_dir($src);
foreach($list as $key => $val)
{
   copy("$src/$val","$dest/$val");
}
echo "Done";
?>

但是我只需要复制按时间选择的图像-例如在“现在”和5分钟之间上传的图像。以前。

有人可以帮忙吗? 谢谢

现在我的PHP如下所示。似乎它以“完成”结果运行,但没有任何复制。.

<?php
function read_dir($dir)
{
   $list = array();
   if (is_dir($dir)) 
   {
     if ($handle = opendir($dir)) 
     {
        while (false !== ($file = readdir($handle))) 
        {

         $fpath = 'oldfolder'.$file;
         if (file_exists($fpath)) {

           if($file != "." && $file != ".." &&                 
DateTime::createFromFormat('U', filemtime($file)) < new DateTime("-5 
minutes")) 
           {
               $list[] = $file;
          }
          }
        }
     }
     closedir($handle);
   }
   return $list;
}
$src="oldfolder";
$dest="newfolder";
$list= read_dir($src);
foreach($list as $key => $val)
{
   copy("$src/$val","$dest/$val");
}
echo "Done"; 
?>

2 个答案:

答案 0 :(得分:1)

这是我的代码,对我来说效果很好-根据“ time.txt”文件中其他代码设置的时间(-5秒)在文件夹之间复制图像:

 <?php
 function read_dir($dir)
 {
 $list = array();
 if (is_dir($dir)) 
 {
 if ($handle = opendir($dir)) 
 {
 while (false !== ($file = readdir($handle))) 
 {
 $fpath = 'oldfolder/'.$file;
 if (file_exists($fpath)) {

 $subor = fopen("./time.txt", "r"); 
 $cas_txt=fgets($subor, 11);
 fclose($subor);
 $cas_zac = DateTime::createFromFormat('U', $cas_txt)->modify('-5 seconds');
 if ($file != "." && $file != ".." && DateTime::createFromFormat('U', 
 filemtime($fpath)) > $cas_zac)
 {
 $list[] = $file;
 }
 }
 }
 }
 closedir($handle);
 }
 return $list;
 }
 $src="oldfolder";
 $dest="newfolder";
 $list= read_dir($src);
 foreach($list as $key => $val)
 {
 //copy file to new folder
 copy("$src/$val","$dest/$val");
 }
 echo "Done";
 ?>

我还有两个问题:

请问如何在复印之前或之后将图像旋转180°?可以用一个php代码吗?

如何发送多个文件-代码中的图像-像php中的邮件附件一样?

感谢您的帮助。

答案 1 :(得分:0)

您应该使用filemtime函数