Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: значение переменой
 
 автор: Zebra   (24.09.2004 в 03:24)   письмо автору
 
 

как сделать чтобы значением переменной $a был текст файла text.php ?
какой самый лучший способ это сделать?(чтоб меньше грузил сервер)
$a = join ('' , file ("text.php"));
так? или лучше подругому?

   
 
 автор: cheops   (24.09.2004 в 08:59)   письмо автору
 
   для: Zebra   (24.09.2004 в 03:24)
 

Это не самый оптимальный способ, так как файл читается file(), разбивается на отдельные строки, а затем объединяется в одну строку. Здесь лучше воспользоваться классическим вариантом:
<?php
  // открываем файл 
  $file = fopen("text.txt", "r"); 
  // читаем его содержимое в буффер 
  $a = fread($file, filesize("text.txt")); 
  // закрываем файл 
  fclose($file); 
?>

А можно воспользоваться вообще одной функцией file_get_contents(), которая действует аналогично file(), но возвращает содержимое файла не в виде массива строк, а в виде одной строки
<?php
  $a = file_get_contents("text.txt"); 
?>


http://www.softtime.ru/group/id_group=6

   
 
 автор: glsv (Дизайнер)   (24.09.2004 в 09:27)   письмо автору
 
   для: Zebra   (24.09.2004 в 03:24)
 

В мануале PHP написано, что использование file_get_contents() предпочтительно


Данная функция идентична функции file() с той только разницей, что содержимое файла возвращается в строке. 

Использование функции file_get_contents() наиболее предпочтительно в случае необходимости получить содержимое файла целиком, поскольку для улучшения производительности функция использует алгоритм 'memory mapping' (если поддерживается операционной системой). 

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Подсказка: Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в Прил. J.

Замечание: Поддержка контекста была добавлена в PHP 5.0.0. 

   
 
 автор: Zebra   (24.09.2004 в 13:02)   письмо автору
 
   для: glsv (Дизайнер)   (24.09.2004 в 09:27)
 

Замечание: Поддержка контекста была добавлена в PHP 5.0.0.
т.е.
<?php
$a = file_get_contents("text.txt");
?>
не пройдет в PHP 4.3.* ?

   
 
 автор: LimP   (24.09.2004 в 13:06)   письмо автору
 
   для: Zebra   (24.09.2004 в 13:02)
 

а хрен его знает,некоторое идет,а некоторое,такое выдает,что волосы дыбом встают,но вообще долна работать...

   
 
 автор: glsv (Дизайнер)   (24.09.2004 в 13:18)   письмо автору
 
   для: Zebra   (24.09.2004 в 13:02)
 

Будет. Это про то, что в php5 у этой функции появился дополнительный параметр - resource context.

http://www.softtime.ru/dic/id_dic=174&id_group=6

   
 
 автор: Igorek   (24.09.2004 в 15:48)   письмо автору
 
   для: glsv (Дизайнер)   (24.09.2004 в 13:18)
 

Вопрос не совсем по теме, но все же: есть ли какие-либо ограничения на длину строки. Т.е. если я использую функцию file_get_contents() а считываемый файл ужасно большой, то как себя поведет ПХП?

   
 
 автор: cheops   (24.09.2004 в 22:43)   письмо автору
 
   для: Igorek   (24.09.2004 в 15:48)
 

Явно нет, но безграничной она, конечно, не может быть... Это будет зависить от того где уставновлен PHP и как (модуль или CGI), от операционной системы, количества памяти... Увеличивая размер файла рано или поздно подвесить можно всё что угодно, но мне кажется мегабайт эдак до 100 можно не беспокоится...