/** * Create file from path * * @param string $path Path in filesystem or URL * @param int $ownerId * @param int $ownerType * @param bool $saveAfterUpload Save the file immediately after upload * @param bool $protected File is protected? * @return \rkit\filemanager\models\File|bool */ public function createFromPath($path, $ownerId = -1, $ownerType = -1, $saveAfterUpload = false, $protected = false) { $tempfile = tempnam(sys_get_temp_dir(), 'FMR'); if ($filecontent = @file_get_contents($path)) { file_put_contents($tempfile, $filecontent); $pathInfo = pathinfo($path); $file = new File(['tmp' => true, 'owner_id' => $ownerId, 'owner_type' => $ownerType, 'size' => filesize($tempfile), 'mime' => FileHelper::getMimeType($tempfile), 'title' => $pathInfo['filename'], 'name' => File::generateName($pathInfo['extension']), 'protected' => $protected]); return $file->saveToTmp($tempfile, $saveAfterUpload, false); } else { throw new InvalidValueException('Unable to create from `' . $path . '`'); } }