Читать текстовый файл с HTML - PullRequest
0 голосов
/ 21 декабря 2011

Мне было интересно, есть ли способ прочитать ВСЕ содержимое файла и сохранить его в переменной в HTML.

Используя PHP с HTML, я получаю неработающий код:

<html>
    <body>
        <div>
            <?php echo "Current Prodi-G version: " . file_get_contents('/version.txt');?>;
        </div>
    </body>
</html>

Этот код отображается при разборе и отображении веб-страницы, но появляется только ; ...

Ответы [ 4 ]

6 голосов
/ 21 декабря 2011

HTML не является языком программирования.Это язык разметки.Он просто описывает, как вещи должны выглядеть и размещаться на веб-странице.

PHP - это язык программирования, а не язык разметки.Он выполняет логику и может обрабатывать файлы и другие вещи.

Вам понадобятся оба вместе, чтобы делать то, что вы хотите.И есть много хороших учебников по HTML + PHP, чтобы помочь вам.Ищите в Google и здесь.

Это даст вам каждую строку в файле: http://www.ibm.com/developerworks/library/os-php-readfiles/

После этого вам придется отформатировать и проанализировать его так, как вы хотите.Я предлагаю потратить некоторое время на php.net (http://php.net/manual/en/tutorial.php) или поискать информацию в Google. Кто-то сделал то, что вы хотите, я почти уверен.

РЕДАКТИРОВАТЬ:

<html>
    <body>
        <script>
            <?php echo "Current version: " . file_get_contents('/version.txt');?>;
        </script>
     </body>
</html>

Это не работает, потому что говорит PHP помещать то, что находится в файле version.txt, в теги скрипта страницы, или, что более важно, точно указывать, откуда вы вызываете код PHP.

Для отображения содержимого, которое PHP генерирует в областях кода <?php ?>, должно быть внутри тегов HTML, которые в конечном итоге будут отображаться.

Например:

<html>
    <body>
        <div>
            <?php echo "Current version: " . file_get_contents('/version.txt');?>;
        </div>
    </body>
</html>

Поскольку HTML-тег <script></script> должен содержать невидимый код JavaScript, тогда как <div></div> - это общий тег, предназначенный для хранения видимых content. Ваш пример не работает, потому что он помещает весь этот вывод в невидимые части страницы вместо видимых.

3 голосов
/ 21 декабря 2011

В php это просто ...

<?php
    $filename = fopen('document_name', 'r'); 
    $file = fread($filename, filesize('document_name'));
    echo $file; 
    fclose($filename);
?>

Это то, что вы ищете?

Вы также можете использовать file_get_contents (), что еще проще для этого ...

EDIT

После просмотра ваших правок, если вы просто пытаетесь вывести «версию» на экран, это то, как должен выглядеть ваш файл ...

<html>
<body>
    <?php echo 'Current version: ' . file_get_contents('/version.txt'); ?>
</body>
</html>

Использование тега script говорит браузеру, что вы собираетесь использовать сценарии на стороне клиента, иначе. Javascript. В свою очередь, вы не можете просто «вывести» заявление на экран. Не поймите меня неправильно, хотя для этого можно использовать javascript-приложение ...

<html>
<head>
    <script>
        var text = <?php echo 'Current version: ' . file_get_contents('/version.txt'); ?>;
    </script>
</head>
<body>
    <script>
        document.write(text);
    </script>
</body>
</html>

... но это немного излишне, если только вам не нужно хранить значение в переменной javascript. Чтобы решить проблему, которая кажется вам запутанной, PHP-сценарии полностью отделены от сценариев Javascript (хотя их можно использовать вместе) и должны использоваться как отдельные объекты, даже если они оба могут использоваться в любом месте документа.

1 голос
/ 21 декабря 2011

Мне интересно, если вы имели в виду что-то вроде этого:

<!doctype html>
<html>
<head>
<script>
var html = "<?php echo file_get_contents('/tmp/somefile.dat');?>";
</script>
</head>
<body>
<h1>Sample</h1>
</body>
</html>
0 голосов
/ 17 января 2015
<html>
<body>
    <?php echo 'Current version: ' . file_get_contents('/version.txt'); ?>
</body>
</html>

- правильное решение для вашего вопроса. Что может быть не ясным, так это то, что вы должны сохранить файл как файл .php, а не как файл .html.

Итак, чтобы этот пример работал, вам нужно было бы назвать файл примерно так: version.php (вы описали свою проблему, поскольку ваша веб-страница отображала только точку с запятой), что было бы так, если бы вы назвали свой файл version.html и у вас была неправильная точка с запятой после закрывающего тега php.

Правильно: ?>
Неправильно: ?>;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...