1--TEST-- 2Test rename() function : variation - various invalid paths 3--CREDITS-- 4Dave Kelsey <d_kelsey@uk.ibm.com> 5--SKIPIF-- 6<?php 7if(substr(PHP_OS, 0, 3) == "WIN") 8 die("skip. Not for Windows"); 9?> 10--CONFLICTS-- 11obscure_filename 12--FILE-- 13<?php 14/* Prototype : bool rename(string old_name, string new_name[, resource context]) 15 * Description: Rename a file 16 * Source code: ext/standard/file.c 17 * Alias to functions: 18 */ 19 20echo "*** Testing rename() with obscure files ***\n"; 21$file_path = __DIR__."/renameVar13"; 22$aFile = $file_path.'/afile.tmp'; 23 24mkdir($file_path); 25 26/* An array of files */ 27$names_arr = array( 28 /* Invalid args */ 29 -1, 30 TRUE, 31 FALSE, 32 NULL, 33 "", 34 " ", 35 "\0", 36 array(), 37 38 /* prefix with path separator of a non existing directory*/ 39 "/no/such/file/dir", 40 "php/php" 41 42); 43 44for( $i=0; $i<count($names_arr); $i++ ) { 45 $name = $names_arr[$i]; 46 echo @"-- testing '$name' --\n"; 47 touch($aFile); 48 var_dump(rename($aFile, $name)); 49 if (file_exists($name)) { 50 unlink($name); 51 } 52 if (file_exists($aFile)) { 53 unlink($aFile); 54 } 55 var_dump(rename($name, $aFile)); 56 if (file_exists($aFile)) { 57 unlink($aFile); 58 } 59} 60 61rmdir($file_path); 62?> 63--EXPECTF-- 64*** Testing rename() with obscure files *** 65-- testing '-1' -- 66bool(true) 67 68Warning: rename(-1,%s/renameVar13/afile.tmp): No such file or directory in %s on line %d 69bool(false) 70-- testing '1' -- 71bool(true) 72 73Warning: rename(1,%s/renameVar13/afile.tmp): No such file or directory in %s on line %d 74bool(false) 75-- testing '' -- 76 77Warning: rename(%s/renameVar13/afile.tmp,): %s in %s on line %d 78bool(false) 79 80Warning: rename(,%s/renameVar13/afile.tmp): %s in %s on line %d 81bool(false) 82-- testing '' -- 83 84Warning: rename(%s/renameVar13/afile.tmp,): %s in %s on line %d 85bool(false) 86 87Warning: rename(,%s/renameVar13/afile.tmp): %s in %s on line %d 88bool(false) 89-- testing '' -- 90 91Warning: rename(%s/renameVar13/afile.tmp,): %s in %s on line %d 92bool(false) 93 94Warning: rename(,%s/renameVar13/afile.tmp): %s in %s on line %d 95bool(false) 96-- testing ' ' -- 97bool(true) 98 99Warning: rename( ,%s/renameVar13/afile.tmp): No such file or directory in %s on line %d 100bool(false) 101-- testing '%s' -- 102 103Warning: rename() %s in %s on line %d 104bool(false) 105 106Warning: file_exists() expects parameter 1 to be a valid path, string given in %s on line %d 107 108Warning: rename() expects parameter 1 to be a valid path, string given in %s on line %d 109bool(false) 110-- testing 'Array' -- 111 112Warning: rename() expects parameter 2 to be a valid path, array given in %s on line %d 113bool(false) 114 115Warning: file_exists() expects parameter 1 to be a valid path, array given in %s on line %d 116 117Warning: rename() expects parameter 1 to be a valid path, array given in %s on line %d 118bool(false) 119-- testing '/no/such/file/dir' -- 120 121Warning: rename(%s/renameVar13/afile.tmp,/no/such/file/dir): No such file or directory in %s on line %d 122bool(false) 123 124Warning: rename(/no/such/file/dir,%s/renameVar13/afile.tmp): No such file or directory in %s on line %d 125bool(false) 126-- testing 'php/php' -- 127 128Warning: rename(%s/renameVar13/afile.tmp,php/php): %s directory in %s on line %d 129bool(false) 130 131Warning: rename(php/php,%s/renameVar13/afile.tmp): %s directory in %s on line %d 132bool(false) 133