乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      獲取文件擴(kuò)展名

       天下無敵小勇 2015-10-27

      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

      PHP中獲取文件擴(kuò)展名的N種方法

      從網(wǎng)上收羅的,基本上就以下這幾種方式:

       

       

      1種方法:

      function get_extension($file)

      {

      substr(strrchr($file, '.'), 1);

      }

      2種方法:

      function get_extension($file)

      {

      return substr($file, strrpos($file, '.')+1);

      }

      3種方法:

      function get_extension($file)

      {

      return end(explode('.', $file));

      }

      4種方法:

      function get_extension($file)

      {

      $info = pathinfo($file);

      return $info['extension'];

      }

      5種方法:

      function get_extension($file)

      {

      return pathinfo($file, PATHINFO_EXTENSION);

      }

      以上幾種方式粗看了一下,好像都行,特別是1、2種方法,在我不知道pathinfo有第二個參數(shù)之前也一直在用。但是仔細(xì)考慮一下,前四種方法都有各種各樣的毛病。要想完全正確獲取文件的擴(kuò)展名,必須要能處理以下三種特殊情況。

      沒有文件擴(kuò)展名

      路徑中包含了字符.,如/home/test.d/test.txt

      路徑中包含了字符.,但文件沒有擴(kuò)展名。如/home/test.d/test

      很明顯:1、2不能處理第三種情況,3不能正確處理第一三種情況。4可以正確處理,但是在不存在擴(kuò)展名時,會發(fā)出一個警告。只有第5種方法才是最正確的方法。順便看一下pathinfo方法。官網(wǎng)上介紹如下:

      $file_path = pathinfo('/www/htdocs/your_image.jpg');

       

      echo "$file_path ['dirname']\n";

      echo "$file_path ['basename']\n";

      echo "$file_path ['extension']\n";

      echo "$file_path ['filename']\n"; // only in PHP 5.2+

      它會返回一個數(shù)組,包含最多四個元素,但是并不會一直有四個,比如在沒有擴(kuò)展名的情況下,就不會有extension元素存在,所以第4種方法才會發(fā)現(xiàn)警告。但是phpinfo還支持第二個參數(shù)??梢詡鬟f一個常量,指定返回某一部分的數(shù)據(jù):

      PATHINFO_DIRNAME - 目錄

      PATHINFO_BASENAME - 文件名(含擴(kuò)展名)

      PATHINFO_EXTENSION - 擴(kuò)展名

      PATHINFO_FILENAME - 文件名(不含擴(kuò)展名,PHP>5.2

      這四個常量的值分別是12、48,剛開始我還以為可以通過或運算指定多個:

      pathinfo($file, PATHINFO_EXTENSION | PATHINFO_FILENAME);

      后來發(fā)現(xiàn)這樣不行,這只會返回幾個進(jìn)行或運算常量中最小的那個。也就是四個標(biāo)志位中最小位為1的常量。

       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多