Извлечение Случайной Строки Из Базы Данных Плоского Текстового Файла
Меня интересует, может ли следующий php-скрипт быть написан на Javascript (или HTML5)? По сути, это просто простой файл, считывающий .txt и отображающий случайную строку из него:
<?php
$text = file_get_contents('flatFileDB.txt');
$textArray = explode("\n", $text);
$randArrayIndexNum = array_rand($textArray);
$randPhrase = $textArray[$randArrayIndexNum];
?>
<html>
<body>
<h2><?php echo $randPhrase; ?></h2>
</body>
</html>
Пример'flatFileDB.txt ':
Line 1
Line 2
Line 3
Line 4
Line 5
...
...
etc
Пример взят отсюда: http://www.developphp.com/view.php?tid=1213 , и я хотел бы сделать то же самое, но без php на стороне сервера. Возможно ли это вообще?
3
Author: user3271739, 2014-02-04
1 answers
Предполагая, что база данных плоских файлов доступна по адресу http://www.example.com/flatFileDB.txt
, а ваш HTML-файл имеет div со значением идентификатора random-phrase
:
var request = new XMLHttpRequest();
request.onload = function() {
// get the file contents
var fileContent = this.responseText;
// split into lines
var fileContentLines = fileContent.split( '\n' );
// get a random index (line number)
var randomLineIndex = Math.floor( Math.random() * fileContentLines.length );
// extract the value
var randomLine = fileContentLines[ randomLineIndex ];
// add the random line in a div
document.getElementById( 'random-phrase' ).innerHTML = randomLine;
};
request.open( 'GET', 'http://www.example.com/flatFileDB.txt', true );
request.send();
Посмотрите здесь документацию по XMLHttpRequest
, которая позволяет вам извлекать файлы асинхронно.
2
Author: alkar, 2014-02-05 10:54:10