第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 JavaScript 數(shù)組中獲取特定目錄中文件的所有路徑

如何在 JavaScript 數(shù)組中獲取特定目錄中文件的所有路徑

PHP
收到一只叮咚 2022-09-12 11:09:35
假設(shè)我們有一個具有此地址的網(wǎng)站:并且我們內(nèi)部有一個目錄,如下所示:https://example.comhttps://example.com/directory這就是我們所知道的,我們不知道文件夾內(nèi)有什么文件夾。directory如何獲取文件夾內(nèi)文件的所有路徑并將結(jié)果傳遞給 javascript 數(shù)組:directory期望的結(jié)果在 java 腳本中是這樣的:let paths = ['https://example.com/directory/audio/song_1.mp3','https://example.com/directory/audio/song_2.mp3','https://example.com/directory/picture/image_1.png','https://example.com/directory/picture/image_2.jpg','https://example.com/directory/movie/clip.mp4',];我已經(jīng)在網(wǎng)上嘗試了所有可能的解決方案,但似乎沒有幫助,我找不到一個可行的解決方案。比我測試的文件夾高一級.php:directory    <?php    function getDirContents($dir, &$results = array()){        $files = scandir($dir);        foreach($files as $key => $value){            $path = realpath($dir.DIRECTORY_SEPARATOR.$value);            if(!is_dir($path)) {                $results[] = $path;            } else if($value != "." && $value != "..") {                getDirContents($path, $results);                $results[] = $path;            }        }        return $results;    }echo json_encode(getDirContents('directory'));它返回如下結(jié)果:“/存儲/ssd4/693/8074693/public_html/目錄/音頻/song_1.mp3” [3]=>字符串(72) “/存儲/ssd4/693/8074693/public_html/目錄/音頻/song_2.mp3” [4]=>字符串(72) “/存儲/ssd4/693/8074693/public_html/目錄/圖片/image_1.png” [5]=>字符串(75) “/存儲/ssd4/693/693/8074693/public_html/public_html/圖片/image_2.jpg” [6]=>字符串(61) “/存儲/ssd4/693/8074693/public_html/目錄/電影/剪輯.mp4” [7]=>字符串(73)由于@馬蒙·奧斯曼的爪哇腳本代碼:$(document).ready( function() {        $.ajax({            type: 'POST',            url: '../test.php',            data: 'id=testdata',            dataType: 'json',            cache: false,            success: function(result) {                console.log(result)            },        });});我在 的另一個文件夾中有腳本.js.js和索引.html。https://example.com/script我可以使用ajax調(diào)用記錄PHP,但仍然,我得到系統(tǒng)文件路徑而不是相應(yīng)的URL!$results
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個贊

而不是使用 ,獲取目錄中所有路徑的唯一方法是使用PHP循環(huán)文件并將輸出返回為JSON或XML(或者可能是文本,但隨后您必須解析它),JSON是您的情況下要走的路,您所要做的就是使用Ajax請求此php腳本的路徑:var_dump()json_encode(getDirContents('directory'))


<?php

function getDirContents($dir, &$results = array()){

    $files = array_diff(scandir($dir), array('..', '.'));;

    foreach($files as $key => $value){

        $path = $dir.DIRECTORY_SEPARATOR.$value;

        if(is_dir($path)) {

          getDirContents($path, $results);

        } else {

          // change this to https if you have HTTPS

          // or have it as a variable like this :

          // $protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";

          $directory_path = basename($_SERVER['REQUEST_URI']);

          $results[] =  'http://' . $_SERVER['SERVER_NAME'] . str_replace($directory_path, "", $_SERVER['REQUEST_URI']) .$path;

        }

    }


    return $results;

}


echo json_encode(getDirContents('directory'));

對于阿賈克斯呼叫:


$(document).ready(function() {

  $.ajax({

    type: 'POST',

    url: '../test.php',

    data: 'id=testdata',

    dataType: 'json',

    cache: false,

    success: function(result) {

      console.log(result)

    },

  });

});


查看完整回答
反對 回復(fù) 2022-09-12
?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個贊

這有點(diǎn)太晚了,但也許對于將來的某個人來說。


我用這個JS代碼得到了我所有的文件路徑。


let htmlContainer = document.createElement('div');                  


fetch("http://192.168.0.9:5500/assets/img/gallery/project-1", {

        headers : { 

      'Content-Type': 'text/html',

      'Accept': 'text/html',

      

     }

}).then(response => response.text())

    .then((stringHtml) => {

        htmlContainer.innerHTML = stringHtml;            //convert plain text to Html to have   

                                                         //acces to its elements

                                                         

        //htmlContainer will containe html representation

        //of our project diretories and files, so from there

        //will be able to get files paths

       console.log( Array.from(htmlContainer

                            .querySelector('#files')

                                .querySelectorAll("li>a"))

                                    .map( x => x.getAttribute('href'))) //will print an array

                                                                        //with all file and direcotory paths in our directory

        

    })


查看完整回答
反對 回復(fù) 2022-09-12
  • 2 回答
  • 0 關(guān)注
  • 369 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號