本文整理汇总了PHP中IOHelper::getFile方法的典型用法代码示例。如果您正苦于以下问题:PHP IOHelper::getFile方法的具体用法?PHP IOHelper::getFile怎么用?PHP IOHelper::getFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IOHelper
的用法示例。
在下文中一共展示了IOHelper::getFile方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getTemplateByName
/**
* Get template file by its name
*
* @param string $templateName Template file name
* @return array Returns template file information
*/
public function getTemplateByName($templateName)
{
$template = [];
$path = craft()->path->getPluginsPath() . 'formbuilder2/templates/email/templates/' . $templateName;
$file = IOHelper::getFile($path);
$template = ['fileName' => $file->getFileName(false), 'fileOriginalName' => $file->getFileName(), 'fileNameCleaned' => IOHelper::cleanFilename(IOHelper::getFileName($file->getRealPath(), false)), 'fileExtension' => $file->getExtension(), 'filePath' => $file->getRealPath(), 'fileContents' => $file->getContents()];
return $template;
}
示例2: actionSetTemplate
public function actionSetTemplate()
{
$this->requirePostRequest();
$this->requireAjaxRequest();
$templatePath = craft()->request->getRequiredPost('templatePath');
$folderContents = IOHelper::getFolderContents(craft()->path->getPluginsPath() . 'formbuilder2/templates/layouts/templates/');
$theFile = '';
if ($folderContents && $templatePath) {
foreach ($folderContents as $key => $file) {
$fileName = IOHelper::getFileName($file, false);
if ($fileName == $templatePath) {
$theFile = IOHelper::getFile($file);
}
}
}
if ($theFile == '') {
$this->returnErrorJson('No template with that name.');
} else {
$template = ['fileName' => $theFile->getFileName(false), 'fileOriginalName' => $theFile->getFileName(), 'fileNameCleaned' => IOHelper::cleanFilename(IOHelper::getFileName($theFile->getRealPath(), false)), 'fileExtension' => $theFile->getExtension(), 'filePath' => $theFile->getRealPath(), 'fileContents' => $theFile->getContents()];
$this->returnJson(['success' => true, 'message' => Craft::t('Template is set.'), 'layout' => $template]);
}
}
示例3: _cleanTempFiles
/**
* Remove any temp files and/or folders that might have been created.
*/
private function _cleanTempFiles($unzipFolder)
{
// Get rid of all the .bak files/folders.
$baks = IOHelper::getFolderContents(craft()->path->getAppPath(), true, ".*\\.bak\$");
foreach ($baks as $bak) {
if (IOHelper::fileExists($bak)) {
if (IOHelper::isWritable($bak)) {
Craft::log('Deleting .bak file: ' . $bak, LogLevel::Info, true);
IOHelper::deleteFile($bak, true);
}
} else {
if (IOHelper::folderExists($bak)) {
if (IOHelper::isWritable($bak)) {
Craft::log('Deleting .bak folder:' . $bak, LogLevel::Info, true);
IOHelper::clearFolder($bak, true);
IOHelper::deleteFolder($bak, true);
}
}
}
}
// Now delete any files/folders that were marked for deletion in the manifest file.
$manifestData = UpdateHelper::getManifestData($unzipFolder);
if ($manifestData) {
foreach ($manifestData as $row) {
if (UpdateHelper::isManifestVersionInfoLine($row)) {
continue;
}
$rowData = explode(';', $row);
$folder = false;
if (UpdateHelper::isManifestLineAFolder($rowData[0])) {
$folder = true;
$tempFilePath = UpdateHelper::cleanManifestFolderLine($rowData[0]);
} else {
$tempFilePath = $rowData[0];
}
$fullPath = '';
switch (trim($rowData[1])) {
// If the file/folder was set to be deleted, there is no backup and we go ahead and remove it now.
case PatchManifestFileAction::Remove:
if ($tempFilePath == '') {
$fullPath = IOHelper::normalizePathSeparators(craft()->path->getAppPath());
} else {
$fullPath = IOHelper::normalizePathSeparators(craft()->path->getAppPath() . $tempFilePath);
}
break;
}
// Delete any files/folders we backed up.
if ($folder) {
if (($folder = IOHelper::getFolder($fullPath)) !== false) {
Craft::log('Deleting folder: ' . $folder->getRealPath(), LogLevel::Info, true);
$folder->delete();
}
} else {
if (($file = IOHelper::getFile($fullPath)) !== false) {
Craft::log('Deleting file: ' . $file->getRealPath(), LogLevel::Info, true);
$file->delete();
}
}
}
}
// Clear the temp folder.
IOHelper::clearFolder(craft()->path->getTempPath(), true);
}