本文整理汇总了PHP中FileUtils::copyFile方法的典型用法代码示例。如果您正苦于以下问题:PHP FileUtils::copyFile方法的具体用法?PHP FileUtils::copyFile怎么用?PHP FileUtils::copyFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileUtils
的用法示例。
在下文中一共展示了FileUtils::copyFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: copyFile
function copyFile(PhingFile $sourceFile, PhingFile $destFile, $overwrite = false, $preserveLastModified = true, &$filterChains = null, Project $project)
{
// writes to tmp file first, then rename it to avoid file locking race
// conditions
$parent = $destFile->getParentFile();
$tmpFile = new PhingFile($parent, substr(md5(time()), 0, 8));
parent::copyFile($sourceFile, $tmpFile, $overwrite, $preserveLastModified, $filterChains, $project);
$tmpFile->renameTo($destFile);
}
示例2: resizeImage
private function resizeImage($source, $parameters, $preview = false, $custom_settings = null)
{
// TODO *******
//
// Leider bietet diese drecks GD-Lib keine M�glichkeit, einen "out of memory"-Fehler zu umgehen,
// oder vorauszusehen, wann ein Bild zu gro� f�r den Speicher ist.
//
// Daher sollte hier noch ein Mechanismus geschaffen werden, um voraus zu berechnen, wieviel Speicher
// es brauchen wird, das Bild zu laden und einen Fehlercode zur�ckzugeben, falls der Speicher nicht reicht!
// gew�nschte JPEG-Kompression feststellen
$source_path_info = pathinfo($source);
$source_ext = UTF8String::strtolower($source_path_info['extension']);
if ($source_ext == 'jpg' || $source_ext == 'jpg' || $source_ext == 'jpe') {
if ($this->isParameterPositiveNumber($parameters, 'jpegQuality')) {
$jpeqQuality = $parameters['jpegQuality'];
} else {
$jpeqQuality = Config::get()->jpegQuality;
}
} else {
$jpeqQuality = null;
}
// Erstmal keine Gr��en�nderung annehmen
$mode = 'copy';
// Pr�fen, ob maximal-Werte angegeben sind
$max_width = 0;
$max_height = 0;
if ($this->isParameterPositiveNumber($parameters, 'maxWidth')) {
$max_width = $parameters['maxWidth'];
}
if ($this->isParameterPositiveNumber($parameters, 'maxHeight')) {
$max_height = $parameters['maxHeight'];
}
// Wenn Maximal-Werte gesetzt sind, Einpassung annehmen
if ($max_width > 0 || $max_height > 0) {
$mode = 'fitIn';
}
// Pr�fen, ob genaue Abmessungen gefordert sind
$force_width = 0;
$force_height = 0;
if ($this->isParameterPositiveNumber($parameters, 'forceWidth')) {
$force_width = $parameters['forceWidth'];
}
if ($this->isParameterPositiveNumber($parameters, 'forceHeight')) {
$force_height = $parameters['forceHeight'];
}
// ggf. Benutzereingaben auswerten
if ($custom_settings !== null) {
// der Benutzer hat selbst eine Gr��e festgelegt...
// diese Werte �berschreiben forceWidth und forceHeight
if ($this->sanitizeBoolean($custom_settings['customSize'])) {
if ($this->sanitizeInteger($custom_settings['width']) > 0) {
$force_width = $this->sanitizeInteger($custom_settings['width']);
} else {
$force_width = 0;
}
if ($this->sanitizeInteger($custom_settings['height']) > 0) {
$force_height = $this->sanitizeInteger($custom_settings['height']);
} else {
$force_height = 0;
}
}
// der Benutzer hat einen Ausschnitt festgelegt oder die s/w option gew�hlt...
if ($this->sanitizeBoolean($custom_settings['customCrop']) || $this->sanitizeBoolean($custom_settings['convertToBlackAndWhite'])) {
$tmp_file = APPLICATION_ROOT . 'user-data/tmp/images/' . $this->getRandomFilenameWithTimeStamp($source);
$tmp_image = WideImage::load($source);
if ($this->sanitizeBoolean($custom_settings['customCrop'])) {
$tmp_image = $tmp_image->crop($this->sanitizeInteger($custom_settings['cropX1']), $this->sanitizeInteger($custom_settings['cropY1']), $this->sanitizeInteger($custom_settings['cropX2']) - $this->sanitizeInteger($custom_settings['cropX1']), $this->sanitizeInteger($custom_settings['cropY2']) - $this->sanitizeInteger($custom_settings['cropY1']));
}
if ($this->sanitizeBoolean($custom_settings['convertToBlackAndWhite'])) {
$tmp_image = $tmp_image->asGrayscale();
}
$this->saveImage($tmp_image, $tmp_file, $jpeqQuality);
$tmp_image->destroy();
$source = $tmp_file;
}
}
// Wenn genaue Abmessungen gefordert sind, entsprechenden Modus setzen...
if ($force_width > 0 && $force_height > 0) {
$mode = 'exact';
} elseif ($force_width > 0) {
$mode = 'forceWidth';
} elseif ($force_height > 0) {
$mode = 'forceHeight';
}
// Tempor�ren Dateinamen erstellen
$temp_file_name = $this->getRandomFilenameWithTimeStamp($source);
$relative_path_to_dest_file = 'user-data/tmp/images/' . $temp_file_name;
$absolute_path_to_dest_file = APPLICATION_ROOT . $relative_path_to_dest_file;
// Je nach Modus Bild kopieren / ge�nderte Version speichern
$result = true;
try {
switch ($mode) {
case 'copy':
// keine Gr��en�nderung erfoderlich
$result = FileUtils::copyFile($source, $absolute_path_to_dest_file);
break;
case 'exact':
// Gr��e genau vorgegeben
$image = WideImage::load($source);
$image_dimensions = $this->getDimensions($image);
//.........这里部分代码省略.........