Eric @ EricBess WebHome

Domāšanas akli bez pasākumiem, būs neapzināti kļūst bezjēdzīgas

Chinese (Simplified) flagItalian flagKorean flagPortuguese flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flagCroat flagDanish flagFinnish flagHindi flagPolish flagRumanian flagSwedish flagNorwegian flagCatalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flagSlovenian flagUkrainian flagVietnamese flag
By N2H

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  $ ceļā) 
  ( 
      . $path . "&quot;  =  &quot;" .  fixpath ( $path ) . "&quot;" ; echo "n" "." $ ceļš. "" = "". fixpath ($ ceļu). "" "; 
  ) 
  ?> 
Piezīme: "/ /" vēl viens slashes būs roll atpakaļ root.


Amats:

 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); 
  ) 
  ?> 
1 Star2 Stars3 Stars4 Stars5 Stars (2 balsis, vidēji: 5 no 5)
Loading ... Loading ...
- Welcome reitingu par šo rakstu

Related Log

Šajā papīra, lasītājiem ir arī bažas par šādu:

  • N / A

Jūlijs 17, 2008 Autors: eric | Koda | Trackback? | No Comments | Email This Post Print This Post | 109 viedokli

Pievienot komentāru

Atstāj atbildi

Nr Comments