我有一个数组,它以
的空数组开始$filearray = array(array(array()));
我知道如果设置了标签ID,该怎么做,但我似乎在我建立它的地方挣扎。
while (($file = readdir($dir)) !== false)
{
//echo $file ;
//gets the file date, string needed decoding otherwise throws error. Thanks to stackoverflow!
$date = @filemtime($file);
$date = date("F d Y H:i:s.", filemtime(utf8_decode("/home/a1742406/public_html/files/$file")));
//echo $date. "<br />";
$size = filesize("/home/a1742406/public_html/files/$file") . ' bytes';
$filearray = array($file, $date, $size);
print "<pre>";
$data = implode(" ", $filearray);
echo $data;
//print_r($filearray);
print "</pre>";
}
我的文件阵列有3个部分,文件,日期和大小,但我想单独打印它们,所以我可以在它们之间有间距并将它们放入表格或列表中,但我似乎无法想象如何将它们分开要做到这一点,因为上面将它们全部打印在一行中。非常感谢任何帮助,指出我正确的方向!
感谢。
答案 0 :(得分:0)
试一试:
$data = implode(" ", $filearray)."<br/>";
答案 1 :(得分:0)
如果您打算在<pre>
预格式化标签内打印,那么您可以使用\n
:
print "<pre>";
$data = implode(" ", $filearray);
echo $data . "\n"; // <-- new line, or if you want `\n\n`, whatever how much space you want between lines
print "</pre>";
如果您还想在每个单独的行中使用file, date, and size
,那么您可以使用换行符粘贴它们:
print "<pre>";
$data = implode("\n", $filearray);
echo $data . "\n\n";
print "</pre>";
如果您计划在桌面上展示它们,那么只需按照您通常的方式建立标记:
echo '<table cellpadding="10">';
echo '
<tr>
<th>File</th>
<th>Date</th>
<th>Size</th>
</tr>
';
while (($file = readdir($dir)) !== false)
{
// other codes inside
echo '<tr>';
echo "<td>$file</td>";
echo "<td>$date</td>";
echo "<td>$size</td>";
echo '</tr>';
}
echo '</table>';
答案 2 :(得分:0)
由于您引用的数据位于数组中,因此您可以使用迭代和一些<BR>
和/或换行符分别显示这三个项目,如下所示:
<?php
$file = 'filename';
$date = 'thedate';
$size = 'thesize';
$arr = array('file' => $file,
'date' => $date,
'size' => $size);
foreach ($arr as $key => $value) {
echo "$key: $value<BR>\n<BR>\n";
}
//Output:
file: filename
date: thedate
size: thesize
如果您希望将数据放在表格中,您可以将数据换成<tr><td>
标签,如下所示:
<?php
echo "<table>\n";
foreach ($arr as $key => $value) {
echo "<tr><td> $key: </td><td> $value </td></tr>\n";
}
echo "</table>\n";
除了在您显示的代码中执行的操作之外,您是否还需要$ filearray?如果不是,你可以消除$ filearray并直接使用三个变量,将它们与带有implode()
的换行符连接起来,并将结果赋值给变量,让代码显示其值。或者,您可以将每个变量包装在<tr><td>
标记中,并且无需使用implode()。