Тупой вопрос, этот код:
<?php $variable = system("cat /home/maxor/test.txt"); echo $variable; ?>
с файлом test.txt:
blah
печать:
blah blah
Что я могу сделать с функцией system (), чтобы ничего не печатать, чтобы я получил 1 "бла" ???
system отображает все, что выводит программа, и возвращает последнюю строку вывода.
system
exec ничего не отображает и возвращает последнюю строку вывода.
exec
passthru отображает все, что выводит программа, и ничего не возвращает.
passthru
Используйте exec вместо system
http://us.php.net/manual/en/function.system.php#94262
Используйте exec вместо. Чтобы получить весь вывод, а не только последнюю строку, сделайте это:
$variable = array(); $lastline = exec("cat /home/maxor/test.txt", $variable); echo implode("\n", $variable);
Согласно инструкции - см. system():
system()
system() так же, как версия C функции в том, что она выполняет данная команда и выводит результат .
Что объясняет первое blah
И:
Возвращает последнюю строку команды вывод в случае успеха
И вы возвращаете возвращаемое значение - которое объясняет второе blah.
Если вы хотите выполнить команду и получить полный вывод переменной, вам следует взглянуть на exec или shell_exec.
shell_exec
Первая выдает все строки вывода в массив (см. Второй параметр) ; а второй получит полный вывод в виде строки.
system вызывает фактическую cat программу, которая выводит "бла" из test.txt.Он также возвращает значение обратно в $variable, которое вы затем распечатываете.
cat
test.txt
$variable
Используйте exec или shell_exec вместо системного.