define('PREG_FIND_RECURSIVE', 1); define('PREG_FIND_DIRMATCH', 2); define('PREG_FIND_FULLPATH', 4); define('PREG_FIND_NEGATE', 8); define('PREG_FIND_DIRONLY', 16); define('PREG_FIND_RETURNASSOC', 32); define('PREG_FIND_SORTDESC', 64); define('PREG_FIND_SORTKEYS', 128); define('PREG_FIND_SORTBASENAME', 256); # requires PREG_FIND_RETURNASSOC define('PREG_FIND_SORTMODIFIED', 512); # requires PREG_FIND_RETURNASSOC define('PREG_FIND_SORTFILESIZE', 1024); # requires PREG_FIND_RETURNASSOC define('PREG_FIND_SORTDISKUSAGE', 2048); # requires PREG_FIND_RETURNASSOC // PREG_FIND_RECURSIVE - go into subdirectorys looking for more files // PREG_FIND_DIRMATCH - return directorys that match the pattern also // PREG_FIND_DIRONLY - return only directorys that match the pattern (no files) // PREG_FIND_FULLPATH - search for the pattern in the full path (dir+file) // PREG_FIND_NEGATE - return files that don't match the pattern // PREG_FIND_RETURNASSOC - Instead of just returning a plain array of matches, // return an associative array with file stats // // You can also request to have the results sorted based on various criteria // By default if any sorting is done, it will be sorted in ascending order. // You can reverse this via use of: // PREG_FIND_SORTDESC - Reverse order of sort // PREG_FILE_SORTKEYS - Sort on the keyvalues or non-assoc array results // The following sorts *require* PREG_FIND_RETURNASSOC to be used as they are // sorting on values stored in the constructed associative array // PREG_FIND_SORTBASENAME - Sort the results in alphabetical order on filename // PREG_FIND_SORTMODIFIED - Sort the results in last modified timestamp order // PREG_FIND_SORTFILESIZE - Sort the results based on filesize // PREG_FILE_SORTDISKUSAGE - Sort based on the amount of disk space taken // to use more than one simply seperate them with a | character // Search for files matching $pattern in $start_dir. // if args contains PREG_FIND_RECURSIVE then do a recursive search // return value is an associative array, the key of which is the path/file // and the value is the stat of the file. Function preg_find($pattern, $start_dir='.', $args=NULL) { static $depth = -1; ++$depth; $files_matched = array(); $fh = opendir($start_dir); while (($file = readdir($fh)) !== false) { if (strcmp($file, '.')==0 || strcmp($file, '..')==0) continue; $filepath = $start_dir . '/' . $file; if (preg_match($pattern, ($args & PREG_FIND_FULLPATH) ? $filepath : $file)) { $doadd = is_file($filepath) || (is_dir($filepath) && ($args & PREG_FIND_DIRMATCH)) || (is_dir($filepath) && ($args & PREG_FIND_DIRONLY)); if ($args & PREG_FIND_DIRONLY && $doadd && !is_dir($filepath)) $doadd = false; if ($args & PREG_FIND_NEGATE) $doadd = !$doadd; if ($doadd) { if ($args & PREG_FIND_RETURNASSOC) { // return more than just the filenames $fileres = array(); if (function_exists('stat')) { $fileres['stat'] = stat($filepath); $fileres['du'] = $fileres['stat']['blocks'] * 512; } if (function_exists('fileowner')) $fileres['uid'] = fileowner($filepath); if (function_exists('filegroup')) $fileres['gid'] = filegroup($filepath); if (function_exists('filetype')) $fileres['filetype'] = filetype($filepath); if (function_exists('mime_content_type')) $fileres['mimetype'] = mime_content_type($filepath); if (function_exists('dirname')) $fileres['dirname'] = dirname($filepath); if (function_exists('basename')) $fileres['basename'] = basename($filepath); if (isset($fileres['uid']) && function_exists('posix_getpwuid')) $fileres['owner'] = posix_getpwuid ($fileres['uid']); $files_matched[$filepath] = $fileres; } else array_push($files_matched, $filepath); } } if ( is_dir($filepath) && ($args & PREG_FIND_RECURSIVE) ) { $files_matched = array_merge($files_matched, preg_find($pattern, $filepath, $args)); } } closedir($fh); // Before returning check if we need to sort the results. if (($depth==0) && ($args & (PREG_FIND_SORTKEYS|PREG_FIND_SORTBASENAME|PREG_FIND_SORTMODIFIED|PREG_FIND_SORTFILESIZE|PREG_FIND_SORTDISKUSAGE)) ) { $order = ($args & PREG_FIND_SORTDESC) ? 1 : -1; $sortby = ''; if ($args & PREG_FIND_RETURNASSOC) { if ($args & PREG_FIND_SORTMODIFIED) $sortby = "['stat']['mtime']"; if ($args & PREG_FIND_SORTBASENAME) $sortby = "['basename']"; if ($args & PREG_FIND_SORTFILESIZE) $sortby = "['stat']['size']"; if ($args & PREG_FIND_SORTDISKUSAGE) $sortby = "['du']"; } $filesort = create_function('$a,$b', "\$a1=\$a$sortby;\$b1=\$b$sortby; if (\$a1==\$b1) return 0; else return (\$a1<\$b1) ? $order : 0- $order;"); uasort($files_matched, $filesort); } --$depth; return $files_matched; } ?>
|
|---|
Possessive pronoun - Bezittelijk voornaamwoordIntroductionThe possessive is used to show that one person or thing belongs to another. In Dutch, possessive pronouns are used to express this relationship, although constructions with proper names can also be used.
In the examples below, the possessive relationship is expressed with possessive pronouns. In the list below, the unstressed pronouns that appear between brackets are used in spoken Dutch only.
Note that the masculine third person singular possessive pronoun, zijn, has the same form as the infinitive of ‘to be'. This should never cause a problem, because the meaning of the two words will always be obvious from the context. Also note that the first person plural of the possessive, ons/onze, is the only possessive that behaves like an adjective in the sense that it declines. For example:
The other possessives do not decline at all:
Top of page UseAs with personal pronouns, the unstressed form of the possessive pronoun is often the most common one in spoken Dutch, as long as no particular emphasis is needed. Consider the following sequence from the dialogue, in which the possessive pronouns are in red:
In this part of the conversation, Alan and Hanna talk about their house mates and neighbours. In Hanna's first question about that subject, Zijn je huisgenoten aardig?, the second person possessive pronoun does not need to receive emphasis, and therefore Hanna uses the unstressed possessive je (‘your'). The conversation moves on, and Hanna explains what her neighbours do (one works in a bookshop, the other studies medicine). She then asks what Alan's house mates study. In that question, the possessive pronoun needs to receive emphasis, because she is contrasting Alan's house mates' activities with her own neighbours' activities. In English, this would also be expressed through emphasis on the possessive pronoun: ‘What do your house mates study?'. People can be addressed formally or informally in Dutch. People who are older than you, and people with who have a higher status than you, are generally addressed with the possessive pronoun uw (the same form for singular and plural). It is safest to start addressing a person with this form (unless they are obviously younger than you or the same age), because they can always tell you to use the informal form instead. So if, for example, you would like to ask an older person what his/her address is, you would say:
When asking the same question to a person who is the same age as you or younger, you would say:
Top of page Possessive construction with proper namesHanna's neighbours To express possession, it is possible to use a construction with proper names instead of possessive pronouns. So, instead of saying zijn adres (‘his address'), it is possible to use the proper name of the person and say ‘Alan's address'. In Dutch, this can be done in three different ways:
Another set of examples would be:
In each set of examples above, the same possessive relationship is expressed. However, the (c) versions will only occur in spoken Dutch. Note the absence of the apostrophe in the spelling of the Dutch Alans adres compared with English: ‘Alan's address'. An apostrophe is used only when the noun ends in an /s/ sound or a vowel (a, e, i, o, u, y). De boeken van Mulisch = Mulisch' boeken Top of page |