Return to parse_url_basic_007.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / url |
1.1 misho 1: --TEST-- 2: Test parse_url() function: Parse a load of URLs without specifying PHP_URL_PATH as the URL component 3: --FILE-- 4: <?php 5: /* Prototype : proto mixed parse_url(string url, [int url_component]) 6: * Description: Parse a URL and return its components 7: * Source code: ext/standard/url.c 8: * Alias to functions: 9: */ 10: 11: /* 12: * Parse a load of URLs without specifying PHP_URL_PATH as the URL component 13: */ 14: include_once(dirname(__FILE__) . '/urls.inc'); 15: 16: foreach ($urls as $url) { 17: echo "--> $url : "; 18: var_dump(parse_url($url, PHP_URL_PATH)); 19: } 20: 21: echo "Done"; 22: ?> 23: --EXPECTF-- 24: --> 64.246.30.37 : string(12) "64.246.30.37" 25: --> http://64.246.30.37 : NULL 26: --> http://64.246.30.37/ : string(1) "/" 27: --> 64.246.30.37/ : string(13) "64.246.30.37/" 28: --> 64.246.30.37:80/ : string(1) "/" 29: --> php.net : string(7) "php.net" 30: --> php.net/ : string(8) "php.net/" 31: --> http://php.net : NULL 32: --> http://php.net/ : string(1) "/" 33: --> www.php.net : string(11) "www.php.net" 34: --> www.php.net/ : string(12) "www.php.net/" 35: --> http://www.php.net : NULL 36: --> http://www.php.net/ : string(1) "/" 37: --> www.php.net:80 : NULL 38: --> http://www.php.net:80 : NULL 39: --> http://www.php.net:80/ : string(1) "/" 40: --> http://www.php.net/index.php : string(10) "/index.php" 41: --> www.php.net/? : string(12) "www.php.net/" 42: --> www.php.net:80/? : string(1) "/" 43: --> http://www.php.net/? : string(1) "/" 44: --> http://www.php.net:80/? : string(1) "/" 45: --> http://www.php.net:80/index.php : string(10) "/index.php" 46: --> http://www.php.net:80/foo/bar/index.php : string(18) "/foo/bar/index.php" 47: --> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/file.php : string(53) "/this/is/a/very/deep/directory/structure/and/file.php" 48: --> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/file.php?lots=1&of=2¶meters=3&too=4&here=5 : string(53) "/this/is/a/very/deep/directory/structure/and/file.php" 49: --> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/ : string(45) "/this/is/a/very/deep/directory/structure/and/" 50: --> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/file.php : string(53) "/this/is/a/very/deep/directory/structure/and/file.php" 51: --> http://www.php.net:80/this/../a/../deep/directory : string(28) "/this/../a/../deep/directory" 52: --> http://www.php.net:80/this/../a/../deep/directory/ : string(29) "/this/../a/../deep/directory/" 53: --> http://www.php.net:80/this/is/a/very/deep/directory/../file.php : string(42) "/this/is/a/very/deep/directory/../file.php" 54: --> http://www.php.net:80/index.php : string(10) "/index.php" 55: --> http://www.php.net:80/index.php? : string(10) "/index.php" 56: --> http://www.php.net:80/#foo : string(1) "/" 57: --> http://www.php.net:80/?# : string(1) "/" 58: --> http://www.php.net:80/?test=1 : string(1) "/" 59: --> http://www.php.net/?test=1& : string(1) "/" 60: --> http://www.php.net:80/?& : string(1) "/" 61: --> http://www.php.net:80/index.php?test=1& : string(10) "/index.php" 62: --> http://www.php.net/index.php?& : string(10) "/index.php" 63: --> http://www.php.net:80/index.php?foo& : string(10) "/index.php" 64: --> http://www.php.net/index.php?&foo : string(10) "/index.php" 65: --> http://www.php.net:80/index.php?test=1&test2=char&test3=mixesCI : string(10) "/index.php" 66: --> www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php" 67: --> http://secret@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php" 68: --> http://secret:@www.php.net/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php" 69: --> http://:hideout@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php" 70: --> http://secret:hideout@www.php.net/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php" 71: --> http://secret@hideout@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php" 72: --> http://secret:hid:out@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php" 73: --> nntp://news.php.net : NULL 74: --> ftp://ftp.gnu.org/gnu/glic/glibc.tar.gz : string(22) "/gnu/glic/glibc.tar.gz" 75: --> zlib:http://foo@bar : string(14) "http://foo@bar" 76: --> zlib:filename.txt : string(12) "filename.txt" 77: --> zlib:/path/to/my/file/file.txt : string(25) "/path/to/my/file/file.txt" 78: --> foo://foo@bar : NULL 79: --> mailto:me@mydomain.com : string(15) "me@mydomain.com" 80: --> /foo.php?a=b&c=d : string(8) "/foo.php" 81: --> foo.php?a=b&c=d : string(7) "foo.php" 82: --> http://user:passwd@www.example.com:8080?bar=1&boom=0 : NULL 83: --> file:///path/to/file : string(13) "/path/to/file" 84: --> file://path/to/file : string(8) "/to/file" 85: --> file:/path/to/file : string(13) "/path/to/file" 86: --> http://1.2.3.4:/abc.asp?a=1&b=2 : string(8) "/abc.asp" 87: --> http://foo.com#bar : NULL 88: --> scheme: : NULL 89: --> foo+bar://baz@bang/bla : string(4) "/bla" 90: --> gg:9130731 : string(7) "9130731" 91: --> http://user:@pass@host/path?argument?value#etc : string(5) "/path" 92: --> http://10.10.10.10/:80 : string(4) "/:80" 93: --> http://x:? : NULL 94: --> x:blah.com : string(8) "blah.com" 95: --> x:/blah.com : string(9) "/blah.com" 96: --> x://::abc/? : bool(false) 97: --> http://::? : NULL 98: --> x://::6.5 : NULL 99: --> http://?:/ : string(1) "/" 100: --> http://@?:/ : string(1) "/" 101: --> file:///: : string(2) "/:" 102: --> file:///a:/ : string(3) "a:/" 103: --> file:///ab:/ : string(5) "/ab:/" 104: --> file:///a:/ : string(3) "a:/" 105: --> file:///@:/ : string(3) "@:/" 106: --> file:///:80/ : string(5) "/:80/" 107: --> [] : string(2) "[]" 108: --> http://[x:80]/ : string(1) "/" 109: --> : string(0) "" 110: --> / : string(1) "/" 111: --> http:///blah.com : bool(false) 112: --> http://:80 : bool(false) 113: --> http://user@:80 : bool(false) 114: --> http://user:pass@:80 : bool(false) 115: --> http://: : bool(false) 116: --> http://@/ : bool(false) 117: --> http://@:/ : bool(false) 118: --> http://:/ : bool(false) 119: --> http://? : bool(false) 120: --> http://?: : bool(false) 121: --> http://:? : bool(false) 122: --> http://blah.com:123456 : bool(false) 123: --> http://blah.com:abcdef : bool(false) 124: Done