0

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... -------->
4

1 回答 1

0

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

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

于 2013-08-15T14:59:22.340 回答