Heim Backend-Entwicklung PHP-Tutorial 利用php+mcDropdown实现文件路径可在下拉框选择_PHP教程

利用php+mcDropdown实现文件路径可在下拉框选择_PHP教程

Jul 21, 2016 pm 02:59 PM
php runterfallen 信息 利用 实现 文件 verwenden 目录 lesen 路径 Benehmen 选择

最近用php进行文件目录信息读取,在网上弄到下面一段代码:
//获取指定目录下的文件列表
//$path 指定的目录,默认为当前目录
//$ifchild 是否显示子目录文件列表,默认不显示
//$curpath 显示当前的路径,默认为从当前目录开始;这个主要是为了显示确定href路径

复制代码 代码如下:

    function openpath($path=".",$ifchild=false,$curpath=".") 
    { 

        $handle = opendir($path); 
        if($handle) 
        { 
           while(false !== ($file = readdir($handle))) 
           { 
               if ($file != "." && $file != "..")  
               { 
                    $fullPath = $path.DIRECTORY_SEPARATOR.$file; 
                    if(is_dir($fullPath))//如果是目录文件 
                    { 
                         if($ifchild)//如果设置了显示子目录 
                         { 
                            //递归 
                            openpath($path.DIRECTORY_SEPARATOR.$file,$ifchild,$curpath.DIRECTORY_SEPARATOR.$file); 
                         } 
                         else 
                         { 
                            echo "
  • $file
  • \n"; 
                             } 
                        } 
                        else if($file != basename(__FILE__))//排除当前执行脚本 
                        { 
                            echo "
  • $file
  • \n"; 
                        } 
                        else 
                        { 
                            echo $file; 
                        } 
                   } 
               } 
            } 
            closedir($handle); 
        } 

    因为自己要提供路径选择的功能,最好是有一个下拉菜单,里面有待选路径的显示,这样方便很多,于是自己改了改,把路径输出成一个无序列表。
    下面是一个取得当前文件下所有子文件路径的代码:
    复制代码 代码如下:

    /*获取指定目录文件路径列表
     *$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 !== ($file = readdir($handle)))
        {
         if ($file != "." && $file != "..")
         {
        $fullPath = $path.DIRECTORY_SEPARATOR.$file;
        if(is_dir($fullPath))//如果文件是目录
        {
         $path_html_str.='
  • ';
         $path_html_str.=$file.'
      ';
            if($ifchild)
            {
            //递归
            openpath($path.DIRECTORY_SEPARATOR.$file,$ifchild,&$path_html_str,&$path_ref_count);
            }
            $path_html_str.='
  • ';
        }
         }
        }
     }
     closedir($handle);
    }

    有了上面的方法,我就可以在前台用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_replace ( "
      ", '', $path_html_str );

      这样我把$path_html_str传到前台,显示出来的就是一个符合mcDropdown要求的无序列表,就可以显示相应的待选列表了。
      完整代码如下:
      test.html
      复制代码 代码如下:




       
       test









       


        Please select a category:

        
       


       #categorymenu#



      test.php
      复制代码 代码如下:

      //目录信息处理
      $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_replace ( "
        ", '', $path_html_str );
        //var_dump($path_info);
        //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 );
        $str_buffer = str_replace ( "#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 !== ($file = readdir($handle)))
            {
             if ($file != "." && $file != "..")
             {
            $fullPath = $path.DIRECTORY_SEPARATOR.$file;
            if(is_dir($fullPath))//如果文件是目录
            {
             $path_html_str.='
      • ';
             $path_html_str.=$file.'
          ';
                if($ifchild)
                {
                //递归
                openpath($path.DIRECTORY_SEPARATOR.$file,$ifchild,&$path_html_str,&$path_ref_count);
                }
                $path_html_str.='
      • ';
            }
             }
            }
         }
         closedir($handle);
        }
        ?>

        jquery mcDropdown 插件可以在这里下载:http://www.givainc.com/labs/mcdropdown_jquery_plugin.htm

        www.bkjia.comtruehttp://www.bkjia.com/PHPjc/328137.htmlTechArticle最近用php进行文件目录信息读取,在网上弄到下面一段代码: //获取指定目录下的文件列表 //$path 指定的目录,默认为当前目录 //$ifchild 是...
        Erklärung dieser Website
        Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

        Heiße KI -Werkzeuge

        Undresser.AI Undress

        Undresser.AI Undress

        KI-gestützte App zum Erstellen realistischer Aktfotos

        AI Clothes Remover

        AI Clothes Remover

        Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

        Undress AI Tool

        Undress AI Tool

        Ausziehbilder kostenlos

        Clothoff.io

        Clothoff.io

        KI-Kleiderentferner

        AI Hentai Generator

        AI Hentai Generator

        Erstellen Sie kostenlos Ai Hentai.

        Heißer Artikel

        R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
        3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
        R.E.P.O. Beste grafische Einstellungen
        3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
        R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
        3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
        WWE 2K25: Wie man alles in Myrise freischaltet
        3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

        Heiße Werkzeuge

        Notepad++7.3.1

        Notepad++7.3.1

        Einfach zu bedienender und kostenloser Code-Editor

        SublimeText3 chinesische Version

        SublimeText3 chinesische Version

        Chinesische Version, sehr einfach zu bedienen

        Senden Sie Studio 13.0.1

        Senden Sie Studio 13.0.1

        Leistungsstarke integrierte PHP-Entwicklungsumgebung

        Dreamweaver CS6

        Dreamweaver CS6

        Visuelle Webentwicklungstools

        SublimeText3 Mac-Version

        SublimeText3 Mac-Version

        Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

        PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

        PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

        CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

        Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

        CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

        Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

        Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

        CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

        CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

        Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

        CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

        Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

        So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

        Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

        CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

        CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

        See all articles