[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"><?php
<br>
</font><font color="#006600">function </font><font color="#0000cc">Getfilesize</font><font
color="#006600">(</font><font color="#0000cc">$file</font><font
color="#006600">) {
<br>
</font><font color="#0000cc">$kb </font><font color="#006600">= </font><font
color="#0000cc">1024</font><font color="#006600">; </font><font
color="#ff9900">// Kilobyte
<br>
</font><font color="#0000cc">$mb </font><font color="#006600">= </font><font
color="#0000cc">1024 </font><font color="#006600">* </font><font
color="#0000cc">$kb</font><font color="#006600">; </font><font
color="#ff9900">// Megabyte
<br>
</font><font color="#0000cc">$gb </font><font color="#006600">= </font><font
color="#0000cc">1024 </font><font color="#006600">* </font><font
color="#0000cc">$mb</font><font color="#006600">; </font><font
color="#ff9900">// Gigabyte
<br>
</font><font color="#0000cc">$tb </font><font color="#006600">= </font><font
color="#0000cc">1024 </font><font color="#006600">* </font><font
color="#0000cc">$gb</font><font color="#006600">; </font><font
color="#ff9900">// Terabyte
<br>
<br>
</font><font color="#0000cc">$size </font><font color="#006600">= </font><font
color="#0000cc">filesize</font><font color="#006600">(</font><font
color="#0000cc">$file</font><font color="#006600">);
<br>
if(</font><font color="#0000cc">$size </font><font color="#006600">< </font><font
color="#0000cc">$kb</font><font color="#006600">) {
<br>
echo </font><font color="#0000cc">$size</font><font
color="#006600">.</font><font color="#cc0000">" B"</font><font
color="#006600">;
<br>
}
<br>
else if(</font><font color="#0000cc">$size </font><font
color="#006600">< </font><font color="#0000cc">$mb</font><font
color="#006600">) {
<br>
echo </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>
}
<br>
else if(</font><font color="#0000cc">$size </font><font
color="#006600">< </font><font color="#0000cc">$gb</font><font
color="#006600">) {
<br>
echo </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>
}
<br>
else if(</font><font color="#0000cc">$size </font><font
color="#006600">< </font><font color="#0000cc">$tb</font><font
color="#006600">) {
<br>
echo </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>
}
<br>
else {
<br>
echo </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>
}
<br>
}
<br>
<br>
</font><font color="#0000cc">$file </font><font color="#006600">= </font><font
color="#cc0000">"index.php"</font><font color="#006600">; </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">?></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&cid=&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--