3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<? /* ------------------------------------------------------------------- quick script to grab a random BOFH excuse. - Peter Lowe // pgl@yoyo.org // http://pgl.yoyo.org/bofh/ credit to Jeff Ballard <ballard@NOSPAMcs.wisc.edu> for the original bofh excuse server: http://www.cs.wisc.edu/~ballard/bofh/ ------------------------------------------------------------------- [2004-08-28] odd: http://wiki.asleep.net/BOFHInetdPHP?show_comments=1 http://pgl.yoyo.org/bofh/ripoff.html (local copy) someone's ripped off this code and signed it with "author A.Sleep <a.sleep@asleep.net>" it's not exactly the same, but it's definitely based off this code. how strange. oh well. ------------------------------------------------------------------- */ // $excusefile can either be a local file like this: $excusefile = 'excuses.txt'; // or you can use a url to make sure you're using the latest excuses file: #$excusefile = 'http://www.cs.wisc.edu/~ballard/bofh/excuses'; // netscape 4 breaks when style files disappear, plus we save an extra // header if the stylesheet is included: $stylefile = 'style.inc'; function excuse($excusefile) { if (!$excuses = @file($excusefile)) return "couldn't read excuse file '$excusefile'"; mt_srand((double)microtime()*1000000); // not necessary after php 4.2.0 return $excuses[mt_rand(0, count($excuses)-1)]; } ?> <html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> <? include 'metatags.inc'; ?> <title> bofh excuse server </title> <?=$style_head?> </head> <body> <p><b>your excuse:</b> <?=excuse($excusefile)?> <p> [ <a href="../">back</a> | <a href="<?=$PHP_SELF?>">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>
Output for 5.4.0 - 5.6.28, 7.0.0 - 7.1.0
<html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> Warning: include(metatags.inc): failed to open stream: No such file or directory in /in/qSFIV on line 49 Warning: include(): Failed opening 'metatags.inc' for inclusion (include_path='.:') in /in/qSFIV on line 49 <title> bofh excuse server </title> Notice: Undefined variable: style_head in /in/qSFIV on line 55 </head> <body> <p><b>your excuse:</b> couldn't read excuse file 'excuses.txt' <p> [ <a href="../">back</a> | <a href=" Notice: Undefined variable: PHP_SELF in /in/qSFIV on line 64 ">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>
Output for hhvm-3.10.0 - 3.12.0
<html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> Warning: File not found: metatags.inc in /in/qSFIV on line 49 <title> bofh excuse server </title> Notice: Undefined variable: style_head in /in/qSFIV on line 55 </head> <body> <p><b>your excuse:</b> couldn't read excuse file 'excuses.txt' <p> [ <a href="../">back</a> | <a href=" Notice: Undefined variable: PHP_SELF in /in/qSFIV on line 64 ">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>
Output for 4.3.0 - 5.3.29
<? /* ------------------------------------------------------------------- quick script to grab a random BOFH excuse. - Peter Lowe // pgl@yoyo.org // http://pgl.yoyo.org/bofh/ credit to Jeff Ballard <ballard@NOSPAMcs.wisc.edu> for the original bofh excuse server: http://www.cs.wisc.edu/~ballard/bofh/ ------------------------------------------------------------------- [2004-08-28] odd: http://wiki.asleep.net/BOFHInetdPHP?show_comments=1 http://pgl.yoyo.org/bofh/ripoff.html (local copy) someone's ripped off this code and signed it with "author A.Sleep <a.sleep@asleep.net>" it's not exactly the same, but it's definitely based off this code. how strange. oh well. ------------------------------------------------------------------- */ // $excusefile can either be a local file like this: $excusefile = 'excuses.txt'; // or you can use a url to make sure you're using the latest excuses file: #$excusefile = 'http://www.cs.wisc.edu/~ballard/bofh/excuses'; // netscape 4 breaks when style files disappear, plus we save an extra // header if the stylesheet is included: $stylefile = 'style.inc'; function excuse($excusefile) { if (!$excuses = @file($excusefile)) return "couldn't read excuse file '$excusefile'"; mt_srand((double)microtime()*1000000); // not necessary after php 4.2.0 return $excuses[mt_rand(0, count($excuses)-1)]; } ?> <html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> <? include 'metatags.inc'; ?> <title> bofh excuse server </title> <?=$style_head?> </head> <body> <p><b>your excuse:</b> <?=excuse($excusefile)?> <p> [ <a href="../">back</a> | <a href="<?=$PHP_SELF?>">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>