首頁  >  文章  >  後端開發  >  php mcDropdown實作檔案路徑可在下拉方塊選擇的方法

php mcDropdown實作檔案路徑可在下拉方塊選擇的方法

WBOY
WBOY原創
2016-07-25 09:00:051472瀏覽
$path_html_str.=''; }
  1. //取得指定目錄下的檔案清單
  2. //$path 指定的目錄,預設為目前目錄
  3. // $ifchild 是否顯示子目錄檔案列表,預設不顯示
  4. //$curpath 顯示目前的路徑,預設為從目前目錄開始;這個主要是為了顯示確定href路徑
  5. function openpath($path=". ",$ifchild=false,$curpath=".")
  6. {
  7. $handle = opendir($path);
  8. if($handle)
  9. {
  10. while(false != = ($file = readdir($handle)))
  11. {
  12. if ($file != "." && $file != "..")
  13. {
  14. $fullPath = $path .DIRECTORY_SEPARATOR.$file;
  15. if(is_dir($fullPath))//如果是目錄檔案
  16. {
  17. if($ifchild)//如果設定了顯示子目錄
  18. {
  19. //遞歸
  20. openpath($path.DIRECTORY_SEPARATOR.$file,$ifchild,$curpath.DIRECTORY_SEPARATOR.$file);
  21. }
  22. else
  23. {
  24. echo "
  25. href="$curpath/$file " target="_blank">$file
  26. n";
  27. }
  28. }
  29. else if($file != basename(__FILE__) )//排除目前執行腳本
  30. {
  31. echo "
  32. $file
  33. n";
  34. }
  35. else
  36. {
  37. echo $file;
  38. }
  39. }
  40. }
  41. }
  42. closedir($handle);
  43. }
  44. }
複製程式碼

因為要提供路徑選擇的功能,如果有一個下拉式選單,裡面有待選路徑的顯示就好了。

2、取得目前檔案下所有子檔案路徑的程式碼:

  1. /*取得指定目錄檔案路徑清單
  2. *$path 指定的目錄,預設為目前目錄
  3. * $ifchild 是否取得子目錄檔案列表,預設不取得
  4. *$curpath 顯示目前的路徑,預設為從目前目錄開始
  5. *&$pach_html_srt 傳遞一個外部變數的參考進來,因為此方法有可能被遞歸調用,所以以這樣的方式來保存
  6. * 一些信息,也可以用全局變量來實現,在函數內部變量改變也影響到外部。
  7. *&$path_ref_count 原理同上,一個計數標誌,如果遞歸,計數器從上一次保存的值開始自增
  8. */
  9. function openpath($path=".",$ifchild=false, &$path_html_str,&$path_ref_count)
  10. {
  11. $handle = opendir($path);
  12. if($handle)
  13. {
  14. while(false !== ($handle)
  15. {
  16. while(false !== ($handle)
  17. {
  18. while(false !== ($handle)
  19. {
  20. while(false !== ($handle)
  21. {
  22. while(false !== ($) = readdirfile = readdirfile ($handle)))
  23. {
  24. if ($file != "." && $file != "..")
  25. {
  26. $fullPath = $path.DIRECTORY_SEPARATOR.$file;
  27. if(is_dir($fullPath))//如果檔案是目錄
  28. {
  29. $path_html_str.='
  30. ';
  31. $path_html_str. =$file.'
      ';
    • if($ifchild)
    • {
    • //遞迴
    • openpath($path.DIRECTORY_SEPARATOR.$file,$ifchild,&$path_html_str,&$ path_ref_count);
}
$path_html_str.=''; } }
}

}

closedir($handle);
}
  1. 複製程式碼
  2. 有了上面的方法,就可以在前台用jquery mcDropdown插件來讓使用者可以透過下拉式選單選擇想進入的目錄,所以需要封裝成指定格式:
$path_ref_count = 1; $path_html_str ='';
openpath(".",true,& $path_html_str,&$path_ref_count); $path_html_str = '
    '.$path_html_str.'
'; $path_html_str = str_html_str.''; $path_html_str = str_replace ( "", '', $path_html_str ); ?>複製程式碼

這樣把$path_html_str傳到前台,顯示出來就是一個符合mcDropdown要求的無序列表,就可以顯示對應的待選清單了。

完整程式碼如下: 1、test.html

  1. jquery mcDropdown實現檔案路徑可在下拉方塊選擇的方法_bbs.it-home.org
  2. Please select a category:
  3. #categorymenu#
複製程式碼

2、test.php

  1. //目錄資訊處理
  2. $path_ref_count = 1;
  3. $path_html_str ='';
  4. open
  5. open (".",true,&$path_html_str,&$path_ref_count);
  6. $path_html_str = '
      '.$path_html_str.'
    ';
  7. $path_html_str = str_replace ( "
      ", '', $path_html_str );
    • //var_dump($path_info);
    • //var_dump($path_html_str);
    • //var_dump($path_html_str);
    • //var_dump($path_html_str);
    • //var_dump($path_html_str);
    • //var_dump($path_html_str);
    • $str_buffer = file_get_contents (dirname(__FILE__).DIRECTORY_SEPARATOR.'test.html');
    • $str_buffer = str_replace ( "#categorymenu#", $path_html_str, $str_buffer ); #delim#", DIRECTORY_SEPARATOR, $str_buffer );
    • echo $str_buffer;
    • /*取得指定目錄檔案路徑清單
    • *$path 指定的目錄,預設為目前目錄
    • *$ifchild 是否取得子目錄檔案列表,預設不取得
    • *$curpath 顯示目前的路徑,預設為從目前目錄開始
    • *&$pach_html_srt 傳遞一個外部變數的參考進來,因為此方法有可能被遞歸調用,所以以這樣的方式來保存
    • * 一些信息,也可以用全局變量來實現,在函數內部變量改變也影響到外部。
    • *&$path_ref_count 原理同上,一個計數標誌,如果遞歸,計數器從上一次保存的值開始自增
    • */
    • function openpath($path=".",$ifchild=false, &$path_html_str,&$path_ref_count)
    • {
    • $handle = opendir($path);
    • if($handle)
    • {
    • while(false !== ($handle)
    • {
    • while(false !== ($handle)
    • {
    • while(false !== ($handle)
    • {
    • while(false !== ($handle)
    • {
    • while(false !== ($) = readdirfile = readdirfile ($handle)))
    • {
    • if ($file != "." && $file != "..")
    • {
    • $fullPath = $path.DIRECTORY_SEPARATOR.$file;
    • if(is_dir($fullPath))//如果檔案是目錄
    • {
    $path_html_str.='
  8. ';
  9. $path_html_str. =$file.'
      '; if($ifchild) {
    //遞迴

    openpath($path.DIRECTORY_SEPARATOR.$file,$ifchild,&$path_html_str,&$ path_ref_count);

    }
    } }
    }
    closedir($handle);
    }
    ?>

    複製程式碼jquery mcDropdown 外掛程式下載位址:http://www.givainc.com/labs/ mcdropdown_jquery_plugin.htm。
    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn