file_move

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

includes/file.inc, строка 412

Версии
5 – 6
file_move(&$source, $dest = 0, $replace = FILE_EXISTS_RENAME)

Перемещает файл в новое место.

  • Проверяет, являются ли $source и $dest валидными и доступными для чтения/записи.
  • Совершает перемещение файла, если $source не равно $dest.
  • Если файл уже существует в $dest, то в зависимости от параметра $replace вызов завершится ошибкой, файл будет переименован или заменит старый.

Параметры

$source Строка, определяющая местонахождение оригинального файла. Этот параметр будет содержать новое местонахождение файла в случае успешного завершения операции.

$dest Строка, содержащая директорию, в которую должен быть скопирован $source. Если значение опущено, будет использована директория 'files' Друпала.

$replace Поведение функции в случае, если файл с таким именем уже существует.

  • FILE_EXISTS_REPLACE - Заменить существующий файл
  • FILE_EXISTS_RENAME - Добавлять _{увеличивающееся число}, пока имя файла не станет уникальным
  • FILE_EXISTS_ERROR - Ничего не делать и вернуть FALSE.

Возвращаемое значение

TRUE в случае удачи, и FALSE при ошибке.

Связанные темы

▾ 2 функции вызывают file_move()

file_save_data in includes/file.inc
Save a string to the specified destination.
file_save_upload in includes/file.inc
Saves a file upload to a new location. The source file is validated as a proper upload and handled as such.

Код

<?php
function file_move(&$source, $dest = 0, $replace = FILE_EXISTS_RENAME) {

  $path_original = is_object($source) ? $source->filepath : $source;

  if (file_copy($source, $dest, $replace)) {
    $path_current = is_object($source) ? $source->filepath : $source;

    if ($path_original == $path_current || file_delete($path_original)) {
      return 1;
    }
    drupal_set_message(t('The removal of the original file %file has failed.', array('%file' => $path_original)), 'error');
  }
  return 0;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему