Внешний вид сайта:

Проверка прав на запись в каталог

Довольно просто узнать, перезаписываемый ли каталог или нет. Если мы можем создать файл в указанном каталоге, значит каталог записываемый, в противном случае — нет.
function IsDirectoryWritable(const Dir: String): Boolean;
var
  TempFile: array[0..MAX_PATH] of Char;
begin
  if GetTempFileName(PChar(Dir), 'Tmp', 0, TempFile) <> 0 then
    Result := Windows.DeleteFile(TempFile)
  else
    Result := False;
end;

Вышепомянутая функция использует API Windows GetTempFileName. Когда 3-й параметр nUnique GetTempFileName равен нулю, Windows создает временный файл и возвращает уникальное число, которое используется для того, чтобы создать имя файла. Когда возвращаемое число не ноль, это означает, что каталог записываемый и временный файл создан успешно.

Комментарии

Нет комментариев. Ваш будет первым!