public function actionFiles()
{
$json = array();
if (!empty($_POST['directory'])) {
$directory = Yii::app()->params['imagePath'] . 'data/' . str_replace('../', '', $_POST['directory']);
} else {
$directory = Yii::app()->params['imagePath'] . 'data/';
}
$allowed = array('.jpg', '.jpeg', '.png', '.gif');
$files = glob(rtrim($directory, '/') . '/*');
if ($files) {
foreach ($files as $file) {
if (is_file($file)) {
$ext = strrchr($file, '.');
} else {
$ext = '';
}
if (in_array(strtolower($ext), $allowed)) {
$size = filesize($file);
$i = 0;
$suffix = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
while ($size / 1024 > 1) {
$size = $size / 1024;
$i++;
}
$json[] = array('filename' => basename($file), 'file' => substr($file, strlen(Yii::app()->params['imagePath'] . 'data/')), 'size' => round(substr($size, 0, strpos($size, '.') + 4), 2) . $suffix[$i]);
}
}
}
echo CJSON::encode($json);
}