Чтение php-скриптов из php-файла - PullRequest
0 голосов
/ 22 сентября 2009

У меня есть файл с именем «connection.php». Я хочу прочитать содержимое этого файла в строку. Я использую fopen и читаю функции для чтения. Но когда я читаю, я получил только последние 2-3 строки в этом файле. Это означает, что никакие PHP-скрипты не могут читать как эхо, функции и т. Д. Как я могу прочитать все содержимое этого файла?

Ответы [ 3 ]

3 голосов
/ 22 сентября 2009
<?php

$str = file_get_contents('connection.php');
var_dump($str);
?>

обратите внимание, что если 'connection.php' содержит '<?php' в начале, и вы пытаетесь вывести его в браузер, вы, скорее всего, ничего не увидите, если не выполните «Просмотр источника».

2 голосов
/ 22 сентября 2009

Цитирование справочной страницы fread:

fread() читает до байтов длины от указатель файла, на который ссылается дескриптор , Чтение останавливается, как только один из соблюдены следующие условия :

  • длина байтов была прочитана
  • EOF (конец файла) достигнут
  • пакет становится доступным (для сетевых потоков)
  • 8192 байта было прочитано (после открытия потока пользователя)

Если вы хотите прочитать весь файл, вам нужно использовать какой-то цикл, чтобы читать данные, пока не дойдете до конца файла.


Или, в качестве альтернативы (возможно, проще), вы можете использовать file_get_contents, что даст вам все содержимое файла всего одним вызовом функции.

Что означает отсутствие необходимости в fopen + кратном fread + fclose; -)

0 голосов
/ 22 сентября 2009

Возможно, ваш браузер скрывает контент, потому что он начинается с '<?php'. Вы можете попробовать View Source в вашем веб-браузере или отобразить содержимое следующим образом:

<code><?php
$contents = file_get_contents('connection.php');
echo "<pre>";
echo htmlentities($contents);
echo "
";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...