PHP FixPath Function [ceļa apdares amats]
FixPath Amats: noteikt netīriem ceļiem. PHP ceļu apdares funkciju.
Piemērs:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <? Php ; echo "nnn Dirty ceļus: n"; = 'C://////////Windows//////System' ; // C:/System $ Ceļus [] = 'C :////////// Windows ////// System ", / / C: / System = 'C:HTMLjavascript..examplescolors.html' ; // C:/HTML/examples/colors.html $ Ceļus [] = 'C: HTMLjavascript .. examplescolors.html'; / / C: / HTML / piemēri / colors.html = '/root/./wwwroot/scripts/../././webpage' ; // /root/wwwroot/webpage $ Ceļus [] = '/ root /. / Wwwroot / skriptus / .. /. /. / Webpage'; / / / root / wwwroot / webpage = 'wwwroot/webpage/../index.php?querystring' ; // wwwroot/index.php?querystring $ Ceļus [] = 'wwwroot / webpage / .. / index.php? Querystring'; / / wwwroot / index.php? Querystring = 'http://www.php.net/manual/en/../../downloads' ; // http://www.php.net/downloads $ Ceļus [] = 'http://www.php.net/manual/en/../../downloads'; / / http://www.php.net/downloads = 'http://www.php.net/downloads/test/test1/test2//./docs.php' ; // http://www.php.net/docs.php $ Ceļus [] = 'http://www.php.net/downloads/test/test1/test2//./docs.php'; / / http://www.php.net/docs.php = '../downloads/../docs.php' ; // ../docs.php $ Ceļus [] = '.. / downloads / .. / docs.php'; / / .. / docs.php = 'localhost//projetos/../_arquivos/../' ; // "" $ Ceļus [] = 'localhost / / projetos / .. / _arquivos /../'; / / "" = 'C:/downloads/../../../' ; // C:/ $ Ceļus [] = 'C: / downloads /../../../'; / / C: / = 'downloads/../../../' ; // ../../ $ Ceļus [] = 'downloads /../../../'; / / ../../ $paths as $path ) foreach ($ ceļus kā $ ceļā) ( . $path . "" = "" . fixpath ( $path ) . """ ; echo "n" "." $ ceļš. "" = "". fixpath ($ ceļu). "" "; ) ?> |
Piezīme: "/ /" vēl viens slashes būs roll atpakaļ root.
Amats:
? [Kopēt starpliktuvē] Download FixPath.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <? Php $path = "" ) funkciju fixpath ($ ce = "") ( / / Veselība pārbaudīt $path == "" ) { return false ; } if ($ ceļš == "") (atgriešanās viltus;) / / Pārvērš visus "," uz "/", un dzēš tukšu telpu sākumā un beidzas ar string trim ( preg_replace ( "/\/" , "/" , ( string ) $path ) ) ; $ Ce = nosvēršanās (preg_replace ( "/ \ /", "/", (string) $ ceļš)); / * Pārtraukumi sākotnējā string in to daļām: "root" un "dir". * "Root" var "C: /" (Windows), "/" (Linux) vai "http://www.something.com/" (URL). Tas būs sākuma izlaides virkni. * "Dir" var "Windows / System", "root / html / piemēri /", "ietver / klasēm / class.validator.php" uc * / "/^(/|w:/|(http|ftp)s?://[^/]+/)?(.*)$/i" , $path , $matches , PREG_SET_ORDER ) ; preg_match_all ("/^(/| w: / | (http | ftp) s ?://[^/]+/)?(.*)$/ i ", $ ce, $ mači, PREG_SET_ORDER); $matches [ 0 ] [ 1 ] ; $ Path_root = $ spēles [0] [1]; $matches [ 0 ] [ 3 ] ; $ Path_dir = $ spēles [0] [3]; / / Ja "dir" daļā ir viena vai vairākas slashes sākumā, dzēš visus. preg_replace ( array ( "/^/+/" ) , array ( "" ) , $path_dir ) ; $ Path_dir = preg_replace (Array ("/^/+/"), Array ( ""), $ path_dir); / / Pārtraukumi "dir" daļā par katru slīpsvītra explode ( "/" , $path_dir ) ; $ Path_parts = eksplodēt ( "/", $ path_dir); / / Izveido jaunu masīvu ar tiesībām ceļu. Katrs elements ir jauns dir (vai failu izbeigšanos, ja tāda ir), pēc kārtas. $i = $j = 0 , $real_path_parts = array ( ) ; $i < count ( $path_parts ) ; $i ++ ) par ($ i = $ j = 0, $ real_path_parts = Array (); $ i <count ($ path_parts); $ i + +) ( $path_parts [ $i ] == '.' ) if ($ path_parts [$ i] == '. ") ( turpināšanu; ) $path_parts [ $i ] == '' ) && ( $i != ( count ( $path_parts ) - 1 ) ) ) cits if (($ path_parts [$ i] =='') & & ($ i! = (count ($ path_parts) - 1))) ( array ( ) ; $ Real_path_parts = Array (); 0 ; $ J = 0; turpināšanu; ) $path_parts [ $i ] == '..' ) cits if ($ path_parts [$ i] =='..') ( isset ( $real_path_parts [ $j - 1 ] ) && $real_path_parts [ $j - 1 ] != '..' ) || ( $path_root != "" ) ) if ((isset ($ real_path_parts [$ j - 1]) & & $ real_path_parts [$ j - 1]! ='..') | | ($ path_root! = "")) ( $real_path_parts ) ; array_pop ($ real_path_parts); $ J -; turpināšanu; ) ) $real_path_parts , $path_parts [ $i ] ) ; array_push ($ real_path_parts, $ path_parts [$ i]); $ J + +; ) . implode ( "/" , $real_path_parts ) ; atgriezties $ path_root. eksplodēt ( "/", $ real_path_parts); ) ?> |
| - Welcome reitingu par šo rakstu |
Nr ziedojumi un pēdējo 180 days.Who veikt ziedojumu atstās ziņojumā šeit. Ziedot Now.
Tas ir WordPress spraudnis Wp-ziedotājiem. Tas nodrošina smart ziedojumu funkciju autoleave sponsors informāciju šajā traukā pēc tam, kad maksājumu. Cilvēki var ziedot un iesniedz vārds / URL vai TextLink AD. Informācija par jaunākajiem donoriem tiek parādīti kā mākoni. The vairāk personas donates, jo lielāks to saite be.It 's atbalstīs vispopulārāko maksājumu interface nākotnē. ParPal Just pirmajam. Vairāk ..
Powered By: WP-ziedotājiem
Related Log | Šajā papīra, lasītājiem ir arī bažas par šādu:
|















































Atstāj atbildi