php json array from recursive scan_dir and search

C++ JAVA
Post Reply
User avatar
vasilev
Потребител
Потребител
Posts: 619
Joined: Sat Feb 07, 2009 12:41 pm
Answers: 24
Location: Everywhere
Contact:

php json array from recursive scan_dir and search

Post by vasilev » Mon May 27, 2019 11:56 am

здравейте,
опитвам се да направя json file от scandir array...

[php]function scan($dir){
$files = array();
if(file_exists($dir)){
foreach(scandir($dir) as $f) {
if(!$f || $f[0] == '.') {
continue;
}
if(is_dir($dir . '/' . $f)) {
$files[] = array(
"children" => scan($dir . '/' . $f)
);
}
else {
$files[] = array(
"name" => $f,
"path" => $dir,
"lastmod" => filemtime($dir . '/' . $f),
"tags" => "",
"size" => filesize($dir . '/' . $f)
);
}
}

}

return $files;
}[/php]


искам да мога да търся в този array по name или tags.
Но за целта ми трябва Output да е пак array но с пълен път на намерения текст.
примерно - $array[]="file"=>$this["name"],"path"=>$this["path"]

може ли да ми кажете как и дали може да стане това.

така опитах но това ще изкара текущият запис. искам да сложа един иф - is not array - show parent["name"] .


[php]function show_tree($array){
if(is_array($array) && count($array) > 0) {
foreach($array as $key => $value) {
if(is_array($value) && count($value) > 0) {
$res_path = show_tree($value);
}
else {
echo $value."<br>";
}

}
}
}[/php]

joTunkiq
Потребител
Потребител
Posts: 825
Joined: Tue Dec 25, 2012 10:03 am
Answers: 142
Contact:

Post by joTunkiq » Mon May 27, 2019 3:26 pm

Не разбрах искаш просто да ти върне Json ли или искаш да си направиш ф-ята рекурсивна? Или искаш след като ти се върнат резултатите да може правиш търсене в този масив (по име на файл примерно)? :idea:

Погледни тук: https://stackoverflow.com/questions/247 ... e-function

Погледни и това: https://stackoverflow.com/questions/344 ... -using-php

П.с разбира се ще трябва да си допишеш пак информацията, която искаш да вземеш от файла като "последно мод. дата" :?:

п.с.2 https://stackoverflow.com/questions/666 ... h-by-value - за търсене в масива

User avatar
vasilev
Потребител
Потребител
Posts: 619
Joined: Sat Feb 07, 2009 12:41 pm
Answers: 24
Location: Everywhere
Contact:

Post by vasilev » Tue May 28, 2019 12:43 pm

здравей,
мерси. искам да направя array с намерените резултати. но рекурсивната функция дава само последния кей където е намерен този стринг.
затова реших да направя структурата по различен начин и добавих допълителен array за този файл. .. сега е ок :)

Post Reply