php檔案建立路徑 從PHP中的完整路徑建立檔案樹

2021-10-22 21:26:00 字數 2620 閱讀 6436

我正在嘗試從完整路徑字串製作某種檔案樹.

這就是我使用的php類給我的:

/rootfolder/folder1/file1.doc

/rootfolder/folder1/subfolder1/file1.txt

/rootfolder/folder2/subfolder1/file2.txt

/rootfolder/folder2/subfolder1/subsubfolder1/file4.doc

我以為我可以做乙個像這樣的陣列:

array

"rootfolder" => array

("folder1" => array

("file" => "file1.doc"

"subfolder1" => "file1.txt"

"subfolder1" => "file2.txt"

"folder2" => array

為了最終通過< li>獲得此結果,或在< table>中:

rootfolder/

|_ folder1/

| |_ subfolder1/

| | |_ file1.txt

| | |_ file2.txt

| |_ file1.doc

|_ folder2/

|_ subfolder1/

|_ subsubfolder1/

|_ file2.txt

我堅持這樣做是因為我有點困惑,當然我不是開發人員.

也許還有另一種方法可以做到這一點?我認為載入頁面時,我將有大約》 10000檔案字串來進行處理.

實際上,我有乙個php物件,它向我返回如下陣列:

使用此物件,可以使用$var-> getname(),$var-> getsize()和$var-> isdone()來檢索詳細資訊.

解決方法:

strtok將拯救您.

$input = [

'/rootfolder/folder1/file1.doc',

'/rootfolder/folder1/subfolder1/file1.txt',

'/rootfolder/folder1/subfolder1/file2.txt',

'/rootfolder/folder2/subfolder1/file2.txt',

'/rootfolder/folder2/subfolder1/subsubfolder1/file4.doc',

function parseinput($input) {

$result = array();

foreach ($input as $path) {

$prev = &$result;

$s = strtok($path, '/');

while (($next = strtok('/')) !== false) {

if (!isset($prev[$s])) {

$prev[$s] = array();

$prev = &$prev[$s];

$s = $next;

$prev = $s;

unset($prev);

return $result;

var_dump(parseinput($input));

輸出:array(1) {

["rootfolder"]=>

array(2) {

["folder1"]=>

array(2) {

[0]=>

string(9) "file1.doc"

["subfolder1"]=>

array(2) {

[0]=>

string(9) "file1.txt"

[1]=>

string(9) "file2.txt"

["folder2"]=>

array(1) {

["subfolder1"]=>

array(2) {

[0]=>

string(9) "file2.txt"

["subsubfolder1"]=>

array(1) {

[0]=>

string(9) "file4.doc"

然後,您可以根據需要輕鬆地使用陣列.

標籤:php,file,directory,tree,treeview

PHP檔案的路徑問題

如果只是php檔案引用的時候,使用dirname file 就可以解決了.但是如果引用的檔案裡有html 其中的url就不好定位了.使用網上提供的方法可以解決這個問題,鏈結 將檔案的目錄切換到根目錄後,html 中的url的路徑就填寫相對於根目錄的路徑就可以了.方法如下 其實很簡單的,你用你的web...

PHP檔案路徑相關

header content type text html charset utf 8 date default timezone set prc filename test1.txt echo 檔案型別為 filetype filename echo 檔案大小為 filesize filename...

php中如何獲取檔案的正確路徑

以上面的為例子 我們這裡需要使用到 file echo print r files echo server document root 獲取檔案伺服器的根目錄。echo dirname file 獲取當前檔案的目錄 echo file 獲取當前檔案的目錄和檔名。echo basename file ...