如何使用PHPDOM为HTML页面的表中列出的文件输出文件大小


How to use PHP DOM to output filesize for files listed in the table of an HTML page?

example.html(包含数百个文件的巨大表,因此不可能将所有文件都列为数组):-

<table>
<tbody>
    <tr>
        <td class="book"><a class="booklink"  href="../file1.pdf" >Book1</a></td>
        <td class="year">2007</td>
        <td class="pages">32p</td>
    </tr>
    <tr>
        <td class="book"><a class="booklink"  href="../file2.pdf" >Book2</a></td>
        <td class="year">2010</td>
        <td class="pages">12p</td>
    </tr>
    <tr>
        <td class="book"><a class="booklink"  href="../file3.pdf" >Book3</a></td>
        <td class="year">2013</td>
        <td class="pages">42p</td>
    </tr>
   <!--------and so on... -------->

如何使用PHP DOM跟踪file1.pdf、file2.pdf、file3.pdf等的文件大小,并将其输出为类名为"filesize"的新表数据,该类名自动显示__KB(或.__MB,如果更大)?

<table>
    <tbody>
        <tr>
            <td class="book"><a class="booklink"  href="../file1.pdf" >Book1</a></td>
            <td class="year">2007</td>
            <td class="pages">32p</td>
          <td class="filesize">___KB(or_.__MB if larger)</td>
       </tr>
        <tr>
            <td class="book"><a class="booklink"  href="../file2.pdf" >Book2</a></td>
            <td class="year">2010</td>
            <td class="pages">12p</td>
          <td class="filesize">___KB(or_.__MB if larger)</td>
        </tr>
        <tr>
            <td class="book"><a class="booklink"  href="../file3.pdf" >Book3</a></td>
            <td class="year">2013</td>
            <td class="pages">42p</td>
          <td class="filesize">___KB(or_.__MB if larger)</td>
        </tr>
   <!--------and so on... -------->

我现在能看到的唯一方法是请求每个表行的文件(使用CURL或类似的方法),在本地文件系统中收集文件大小,输出新的表行,删除临时文件,然后继续…当然,这在性能方面并不好,因为你实际上会从目标服务器下载每个文件。

如果目标服务器在您的控制之下并且启用了PHP,您可以实现一个简单的"filesize.PHP"脚本,该脚本根据描述文件名的参数向您返回此信息(不过要注意安全漏洞)。