если последние измененные даты для каждого файла меньше или равны текущей дате, тогда echo Images - PullRequest
0 голосов
/ 06 ноября 2011

Получает изображения из моей папки.

$dirname = "./uploaded_files/";
$images = scandir($dirname);
$ignore = Array(".", "..");
foreach($images as $curimg){

if(!in_array($curimg, $ignore)) {
};

Возвращает даты последнего изменения для каждого файла в папке.

$result = array();
$folder = ('uploaded_files/');
$handle = opendir($folder);
foreach (glob("$folder/*") as $team){$sort[]= end(explode('/',$team));}

Создание массива, содержащего файлы в текущем каталоге:

while (false !==($file = readdir($handle)))
{
if ( $file != ".." && $file != "." )
{
$file = "uploaded_files/".$file ;
if (!is_dir($file))
$result[] = $file;
}
}
closedir($handle);

Это мое утверждение «ЕСЛИ И ДЛЯ КАЖДОГО» (вот моя проблема) !!!

$lastmoddate = (date("Ymd", filemtime($file)));
$todaysdate = (date("Ymd"));

foreach ($result as $file){
if ($lastmoddate <= $todaysdate){
if (strpos($file, "+12:00") !==false){
echo "$file".",".date ("h:i d/m/Y", filemtime($file))."\r\n"."<br/>";

}
}
}

что я пытаюсь сделать, это 'если имена файлов содержат +12: 00 и если последние измененные даты для каждого файла меньше или равны текущей дате, тогда echo Images! НО это не работает.

Может ли кто-нибудь помочь мне понять, как переписать мое утверждение!?

Я только начал изучать PHP Кто-нибудь может помочь!?

Спасибо

1 Ответ

0 голосов
/ 06 ноября 2011

Используя функцию date (), вы конвертируете целочисленную дату в удобочитаемую дату. При этом вы больше не сможете сравнивать даты (в том формате, который вы используете).

Самым простым решением было бы изменить формат даты с "d m y" на "Ymd", чтобы его можно было сравнивать как число.

Кроме того, вы упоминаете, что moddate должен быть меньше или равен, но ваш код использует> =, поэтому вам может потребоваться изменить это.

...