public override bool Unlink(string path, StreamUnlinkOptions options, StreamContext context)
{
Debug.Assert(path != null);
Debug.Assert(Path.IsPathRooted(path));
try
{
File.Delete(path);
return true;
}
catch (DirectoryNotFoundException)
{
PhpException.Throw(PhpError.Warning, ErrResources.stream_unlink_file_not_found, FileSystemUtils.StripPassword(path));
}
catch (UnauthorizedAccessException)
{
PhpException.Throw(PhpError.Warning, ErrResources.stream_file_access_denied, FileSystemUtils.StripPassword(path));
}
catch (IOException e)
{
PhpException.Throw(PhpError.Warning, ErrResources.stream_unlink_io_error, FileSystemUtils.StripPassword(path), PhpException.ToErrorMessage(e.Message));
}
catch (System.Exception)
{
PhpException.Throw(PhpError.Warning, ErrResources.stream_unlink_error, FileSystemUtils.StripPassword(path));
}
return false;
}