예제 #1
0
 public static function syncFilesystem($root, $dest, $maxwidth, $maxheight)
 {
     $logs = array();
     $root = rtrim($root, '/');
     if (!$root || !file_exists($root)) {
         return FALSE;
     }
     if (!MediaUtils::checkDir(rtrim($root, '/') . '/' . trim($dest, '/'))) {
         return FALSE;
     }
     echo "<ul>\n";
     $media = MediaUtils::getMediaList($root);
     $targets = array();
     $count = 1;
     foreach ($media as $medium) {
         ob_flush();
         flush();
         if ($count > self::$max_sync) {
             break;
         }
         if (FALSE === ($destination = self::getThumbPath($medium)) || file_exists(rtrim($root, '/') . '/' . $destination)) {
             continue;
         }
         if (FALSE === $medium->setResampledSize($maxwidth, $maxheight) || !MediaUtils::storeResampledImage($root, $destination, $medium)) {
             echo "<li>Fail: {$medium->name}</li>\n";
         } else {
             echo "<li>Success: {$medium->name}</li>\n";
             $count++;
         }
     }
     echo "</ul>\n";
     flush();
     return TRUE;
 }