У меня есть файлы, возвращенные в массиве с моего ftp-сервера:
Array
(
[0] => FOLDER./Images.Vacation.2018
[1] => ./Images.Vacation.2018/Racoon001.jpg
[2] => ./Images.Vacation.2018/Racoon002.txt
[3] => ./Images.Vacation.2018/the.racoon.swimming.mp4
[4] => ./Images.Vacation.2018/the.racoon.swimming.slv
[5] => FOLDER./WestImages
[6] => ./WestImages/Ramco.txt
[7] => ./WestImages/Ramco.jpg
[8] => FOLDER./WestImages/Subimages
[9] => ./WestImages/Subimages/Image001.jpg
[10] => ./WestImages/Subimages/Image002.jpg
[11] => ./WestImages/West.Ramco.Swimming.mp4
)
Как вы можете видеть, SubImages возвращается до WestImages, и это неправильно ... поэтому я не могу показать правильные файлы в своей папкеиспользуя и
теги ... мне нужен массив, чтобы вернуть это:
Array
(
[0] => FOLDER./Images.Vacation.2018
[1] => ./Images.Vacation.2018/Racoon001.jpg
[2] => ./Images.Vacation.2018/Racoon002.txt
[3] => ./Images.Vacation.2018/the.racoon.swimming.mp4
[4] => ./Images.Vacation.2018/the.racoon.swimming.slv
[5] => FOLDER./WestImages
[6] => ./WestImages/Ramco.txt
[7] => ./WestImages/Ramco.jpg
[8] => ./WestImages/West.Ramco.Swimming.mp4
[9] => FOLDER./WestImages/Subimages
[10] => ./WestImages/Subimages/Image001.jpg
[11] => ./WestImages/Subimages/Image002.jpg
)
Это мой ftp-код, который читает файлы с сервера:
<code>/* contents - ftp function */
function ftp_list_files_recursive($ftp_stream, $path){
$lines = ftp_rawlist($ftp_stream, $path);
$result = array();
foreach ($lines as $line){
$tokens = explode(" ", $line);
$name = $tokens[count($tokens) - 1];
$type = $tokens[0][0];
$filepath = $path . "/" . $name;
if ($type == 'd'){
$result[] = 'FOLDER'.$filepath;
$result = array_merge($result, ftp_list_files_recursive($ftp_stream, $filepath));
} elseif ($type == '-'){
$result[] = $filepath;
}
}
return $result;
}
/* contents - ftp */
$contents = ftp_list_files_recursive($conn_id, ".");
echo '<pre>';
print_r($contents);
echo '
';
Я пытался использовать sort($contents)
;но это возвращает мне неправильную сортировку ... как переписать функцию, чтобы вернуть правильную сортировку, как указано выше?
Спасибо.