/** * save file to $dirname and return filename as stored on ftp * * @param string * @param HttpUploadedFile * @param string filename with suffix (usually id from DB) * @param bool overwrite older file with given $filename ? * @return string */ public static function saveFile($dirname, $file, $filename = NULL, $overwriteOldFile = true) { // return if no file given [may occur only when editing item otherwise it's controlled when submitting form] if (!$file instanceof HttpUploadedFile or empty($file->name)) { return null; } $dirname = Basic::AddLastSlash($dirname); Basic::mkdir($dirname); if (is_null($filename)) { $filename = $file->name; } $filename = self::handleFilename($filename); if (!$overwriteOldFile) { $filename = self::getUniqueFilename($dirname, null, $filename); } $dest = $dirname . $filename; $file->move($dest); return $filename; }