I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...
Check the value of the PHP_OS constantDocs.
ReplyDeleteIt will give you various values on Windows like WIN32, WINNT or Windows.
See as well: Possible Values For: PHP_OS and php_unameDocs:
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
echo 'This is a server using Windows!';
} else {
echo 'This is a server not using Windows!';
}
The php_uname function can be used to detect this.
ReplyDeleteecho php_uname();
not the most robust way to do a test, but you can check if the directory seperator is / (linux) or \ windows. the constant name is DIRECTORY_SEPARATOR
ReplyDeleteif (DIRECTORY_SEPARATOR == '/') {
// linux
}
if (DIRECTORY_SEPARATOR == '\') {
// windows
}
From http://www.php.net/manual/en/reserved.variables.server.php#102162 :
ReplyDelete<?php
echo '<table border="1">';
foreach ($_SERVER as $k => $v){
echo "<tr><td>" . $k ."</td><td>" . $v . "</td></tr>";
}
echo "</table>"
?>
This is the entire $_SERVER array... as ArtWorkAD has noted, by using the HTTP_USER_AGENT key, you can extract the OS more explicitly.