[ciapug] Extract files used on a page

Darcy Baston ciapug@cialug.org
Tue, 22 Feb 2005 18:03:07 -0600


This is a multi-part message in MIME format.
--------------080808020200080802030908
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Well, you can make a parser using regular expressions that scans for 
tags and returns file names/paths according to type, and then pass them 
through some code like this (for $file, use a dynamic array and you can 
do a foreach() thing):

|<?php
function Getfilesize($file) {
    $kb = 1024;         // Kilobyte
    $mb = 1024 * $kb;   // Megabyte
    $gb = 1024 * $mb;   // Gigabyte
    $tb = 1024 * $gb;   // Terabyte

    $size = filesize($file);
    if($size < $kb) {
        echo $size." B";
    }
    else if($size < $mb) {
        echo round($size/$kb,2)." KB";
    }
    else if($size < $gb) {
        echo round($size/$mb,2)." MB";
    }
    else if($size < $tb) {
        echo round($size/$gb,2)." GB";
    }
    else {
        echo round($size/$tb,2)." TB";
    }
}

$file = "index.php"; // filename to check
Getfilesize($file);
?>

http://codeline-alley.digiserv.net/dis_code.php?snid=144&cid=&scid=

Is that the idea?

Darcy
|
jcbailey@code0.net wrote:

>That script only calculates the PHP execution time. I want to take a
>string (HTML file), extract any external links (images, external JS, CSS,
>etc). and get those file sizes from an HTTP server.
>
>
>
>Jon
>  
>


--------------080808020200080802030908
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Well, you can make a parser using regular expressions that scans for
tags and returns file names/paths according to type, and then pass them
through some code like this (for $file, use a dynamic array and you can
do a foreach() thing):<br>
<br>
<font color="#ffffff" face="verdana" size="3"><code><font
 color="#000000"><font color="#0000cc">&lt;?php
<br>
</font><font color="#006600">function&nbsp;</font><font color="#0000cc">Getfilesize</font><font
 color="#006600">(</font><font color="#0000cc">$file</font><font
 color="#006600">)&nbsp;{
<br>
&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000cc">$kb&nbsp;</font><font color="#006600">=&nbsp;</font><font
 color="#0000cc">1024</font><font color="#006600">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
 color="#ff9900">// Kilobyte
<br>
&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000cc">$mb&nbsp;</font><font color="#006600">=&nbsp;</font><font
 color="#0000cc">1024&nbsp;</font><font color="#006600">*&nbsp;</font><font
 color="#0000cc">$kb</font><font color="#006600">;&nbsp;&nbsp;&nbsp;</font><font
 color="#ff9900">// Megabyte
<br>
&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000cc">$gb&nbsp;</font><font color="#006600">=&nbsp;</font><font
 color="#0000cc">1024&nbsp;</font><font color="#006600">*&nbsp;</font><font
 color="#0000cc">$mb</font><font color="#006600">;&nbsp;&nbsp;&nbsp;</font><font
 color="#ff9900">// Gigabyte
<br>
&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000cc">$tb&nbsp;</font><font color="#006600">=&nbsp;</font><font
 color="#0000cc">1024&nbsp;</font><font color="#006600">*&nbsp;</font><font
 color="#0000cc">$gb</font><font color="#006600">;&nbsp;&nbsp;&nbsp;</font><font
 color="#ff9900">// Terabyte
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000cc">$size&nbsp;</font><font color="#006600">=&nbsp;</font><font
 color="#0000cc">filesize</font><font color="#006600">(</font><font
 color="#0000cc">$file</font><font color="#006600">);
<br>
&nbsp;&nbsp;&nbsp;&nbsp;if(</font><font color="#0000cc">$size&nbsp;</font><font color="#006600">&lt;&nbsp;</font><font
 color="#0000cc">$kb</font><font color="#006600">)&nbsp;{
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</font><font color="#0000cc">$size</font><font
 color="#006600">.</font><font color="#cc0000">" B"</font><font
 color="#006600">;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;}
<br>
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</font><font color="#0000cc">$size&nbsp;</font><font
 color="#006600">&lt;&nbsp;</font><font color="#0000cc">$mb</font><font
 color="#006600">)&nbsp;{
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</font><font color="#0000cc">round</font><font
 color="#006600">(</font><font color="#0000cc">$size</font><font
 color="#006600">/</font><font color="#0000cc">$kb</font><font
 color="#006600">,</font><font color="#0000cc">2</font><font
 color="#006600">).</font><font color="#cc0000">" KB"</font><font
 color="#006600">;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;}
<br>
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</font><font color="#0000cc">$size&nbsp;</font><font
 color="#006600">&lt;&nbsp;</font><font color="#0000cc">$gb</font><font
 color="#006600">)&nbsp;{
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</font><font color="#0000cc">round</font><font
 color="#006600">(</font><font color="#0000cc">$size</font><font
 color="#006600">/</font><font color="#0000cc">$mb</font><font
 color="#006600">,</font><font color="#0000cc">2</font><font
 color="#006600">).</font><font color="#cc0000">" MB"</font><font
 color="#006600">;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;}
<br>
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</font><font color="#0000cc">$size&nbsp;</font><font
 color="#006600">&lt;&nbsp;</font><font color="#0000cc">$tb</font><font
 color="#006600">)&nbsp;{
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</font><font color="#0000cc">round</font><font
 color="#006600">(</font><font color="#0000cc">$size</font><font
 color="#006600">/</font><font color="#0000cc">$gb</font><font
 color="#006600">,</font><font color="#0000cc">2</font><font
 color="#006600">).</font><font color="#cc0000">" GB"</font><font
 color="#006600">;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;}
<br>
&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</font><font color="#0000cc">round</font><font
 color="#006600">(</font><font color="#0000cc">$size</font><font
 color="#006600">/</font><font color="#0000cc">$tb</font><font
 color="#006600">,</font><font color="#0000cc">2</font><font
 color="#006600">).</font><font color="#cc0000">" TB"</font><font
 color="#006600">;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;}
<br>
}
<br>
<br>
</font><font color="#0000cc">$file&nbsp;</font><font color="#006600">=&nbsp;</font><font
 color="#cc0000">"index.php"</font><font color="#006600">;&nbsp;</font><font
 color="#ff9900">// filename to check
<br>
</font><font color="#0000cc">Getfilesize</font><font color="#006600">(</font><font
 color="#0000cc">$file</font><font color="#006600">);
<br>
</font><font color="#0000cc">?&gt;</font>
<br>
<br>
<a class="moz-txt-link-freetext" href="http://codeline-alley.digiserv.net/dis_code.php?snid=144&cid=&scid=">http://codeline-alley.digiserv.net/dis_code.php?snid=144&amp;cid=&amp;scid=</a><br>
<br>
Is that the idea?<br>
<br>
Darcy<br>
</font></code></font><br>
<a class="moz-txt-link-abbreviated" href="mailto:jcbailey@code0.net">jcbailey@code0.net</a> wrote:
<blockquote cite="mid30177.63.84.4.1.1109113890.squirrel@63.84.4.1"
 type="cite">
  <pre wrap="">That script only calculates the PHP execution time. I want to take a
string (HTML file), extract any external links (images, external JS, CSS,
etc). and get those file sizes from an HTTP server.



Jon
  </pre>
</blockquote>
<br>
</body>
</html>

--------------080808020200080802030908--