我做my first post时有点困惑。这次我会更具体。
我正在尝试从对象(From a php-transmission project)创建一个“类似filetree”的表。在我的表中,我将有文件名,大小和状态(完成与否)。在“名称”中,我们可以看到某种“文件的完整路径”字符串。
Thomas帮助我制作了一系列名字,但我忘了告诉他我正试图从一个物体上抓住它......
以下是我的代码示例:
<?php
$transmission = new Transmission();
$transfer= $transmission->get('26ec249e2669388ff359923702ac0f5c7687d1be');
$files = $transfer->getFiles();
foreach($files AS $file)
{
var_dump($file->getName()); // RootFolder/Folder1/File1.jpg
var_dump($file->getSize()); // 10383488
var_dump($file->isDone()); // True or False
print_r($file);
}
输出:
string(59) "RootFolder/Folder1/File1.jpg"
int(13324)
bool(true)
Transmission\Model\File Object
(
[name:protected] => RootFolder/Folder1/File1.jpg
[size:protected] => 13324
[completed:protected] => 13324
[client:protected] =>
)
$文件将输出:
Array
(
[0] => Transmission\Model\File Object
(
[name:protected] => RootFolder/Folder1/File1.jpg
[size:protected] => 13324
[completed:protected] => 13324
[client:protected] =>
)
[1] => Transmission\Model\File Object
(
[name:protected] => RootFolder/Folder1/File2.mp3
[size:protected] => 10383488
[completed:protected] => 10383488
[client:protected] =>
)
[2] ...
)
我看到了来自www.abeautifulsite.net的精彩作品,但它基于is_dir()
命令。
我想要做的是一个带有可折叠部分(在文件夹上)的html表和文件行上的文件信息(名称,大小和状态)。
有什么想法吗?
答案 0 :(得分:0)
我找到了问题第一部分的答案。这是我的代码(基于我的旧帖子):
function createArray ($filesObject)
{
$result = array();
foreach($filesObject AS $file)
{
$prev = &$result;
$s = strtok($file->getName(), '/');
while (($next = strtok('/')) !== false)
{
if (!isset($prev[$s])) {
$prev[$s] = array();
}
$prev = &$prev[$s];
$s = $next;
}
$prev[] = $s.'|'.$file->getSize().'|'.$file->isDone(); // Delimiter is '|'
unset($prev);
}
return $result;
}
第二部分包括在某种文件树样式的html表中显示这个数组。 如果有人有想法?