我正在嘗試從完整路徑字串製作某種檔案樹.
這就是我使用的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 ...