1--TEST-- 2Test symlink(), linkinfo(), link() and is_link() functions : error conditions - symlink & linkinfo 3--SKIPIF-- 4<?php 5if (substr(PHP_OS, 0, 3) == 'SUN') { 6 die('skip Not valid for Sun Solaris'); 7} 8?> 9--FILE-- 10<?php 11/* Prototype: bool symlink ( string $target, string $link ); 12 Description: creates a symbolic link to the existing target with the specified name link 13 14 Prototype: bool is_link ( string $filename ); 15 Description: Tells whether the given file is a symbolic link. 16 17 Prototype: bool link ( string $target, string $link ); 18 Description: Create a hard link 19 20 Prototype: int linkinfo ( string $path ); 21 Description: Gets information about a link 22*/ 23 24// create temp $filename and create link $linkname to it 25$filename = __DIR__."/symlink_link_linkinfo_is_link_error1.tmp"; 26$fp = fopen($filename, "w"); // create temp file 27fclose($fp); 28 29// linkname used to create soft/hard link 30$linkname = __DIR__."/symlink_link_linkinfo_is_link_link_error1.tmp"; 31 32echo "*** Testing symlink() for error conditions ***\n"; 33//zero arguments 34var_dump( symlink() ); 35 36//more than expected 37var_dump( symlink($filename, $linkname, true) ); 38 39//invalid arguments 40var_dump( symlink(NULL, $linkname) ); // NULL as filename 41var_dump( symlink('', $linkname) ); // empty string as filename 42var_dump( symlink(false, $linkname) ); // boolean false as filename 43var_dump( symlink($filename, NULL) ); // NULL as linkname 44var_dump( symlink($filename, '') ); // '' as linkname 45var_dump( symlink($filename, false) ); // false as linkname 46 47echo "\n*** Testing linkinfo() for error conditions ***\n"; 48//zero arguments 49var_dump( linkinfo() ); 50 51//more than expected 52var_dump( linkinfo($linkname, true) ); 53 54//invalid arguments 55var_dump( linkinfo(NULL) ); // NULL as linkname 56var_dump( linkinfo('') ); // empty string as linkname 57var_dump( linkinfo(false) ); // boolean false as linkname 58 59echo "Done\n"; 60?> 61--CLEAN-- 62<?php 63unlink(__DIR__."/symlink_link_linkinfo_is_link_error1.tmp"); 64@unlink(__DIR__."/symlink_link_linkinfo_is_link_link_error1.tmp"); 65?> 66--EXPECTF-- 67*** Testing symlink() for error conditions *** 68 69Warning: symlink() expects exactly 2 parameters, 0 given in %s on line %d 70NULL 71 72Warning: symlink() expects exactly 2 parameters, 3 given in %s on line %d 73NULL 74 75Warning: symlink(): %s in %s on line %d 76bool(false) 77 78Warning: symlink(): %s in %s on line %d 79bool(false) 80 81Warning: symlink(): %s in %s on line %d 82bool(false) 83 84Warning: symlink(): %s in %s on line %d 85bool(false) 86 87Warning: symlink(): %s in %s on line %d 88bool(false) 89 90Warning: symlink(): %s in %s on line %d 91bool(false) 92 93*** Testing linkinfo() for error conditions *** 94 95Warning: linkinfo() expects exactly 1 parameter, 0 given in %s on line %d 96NULL 97 98Warning: linkinfo() expects exactly 1 parameter, 2 given in %s on line %d 99NULL 100 101Warning: linkinfo(): %s in %s on line %d 102int(-1) 103 104Warning: linkinfo(): %s in %s on line %d 105int(-1) 106 107Warning: linkinfo(): %s in %s on line %d 108int(-1) 109Done 110