Выполнить shell-команду на PHP

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
shpi0
Сообщения: 53
Зарегистрирован: 29 сен 2004, 16:14
Откуда: оттуда
Контактная информация:

Подскажите, что-то нигде не могу найти.
Как мне выполнить команду, например "ls -l" (получить листинг определенной директории) из php-скрипта?
Или листинг директории можно как-то еще получить, я думал как-то команду как файл открыть и из ее результатов потом построчно считывать можно...
Даже самое длинное путешествие начинается с первого шага.
JohnFord
Сообщения: 1
Зарегистрирован: 14 янв 2006, 14:28
Откуда: Penza
Контактная информация:

<?
exec ("shell_command");
?>
shpi0
Сообщения: 53
Зарегистрирован: 29 сен 2004, 16:14
Откуда: оттуда
Контактная информация:

ну вот написал я

Код: Выделить всё

<?php
exec ("ls -l");
echo "\n\nscript complete";
exit;
?>
а как в броузер передать результаты команды? :)
Даже самое длинное путешествие начинается с первого шага.
shpi0
Сообщения: 53
Зарегистрирован: 29 сен 2004, 16:14
Откуда: оттуда
Контактная информация:

нашел ф-ю glob()
все работает

Код: Выделить всё

<?php
$list = glob("*.{jpg,gif,png}",GLOB_BRACE);
echo "<pre>";
$i=0;
while ($list[$i] != NULL)
{
print_r($list[$i]."\n");
$i++;
}
echo "\n".$i." files\nscript complete";
exit;
?>
Даже самое длинное путешествие начинается с первого шага.
Zvepr
Сообщения: 48
Зарегистрирован: 23 дек 2004, 14:34

вариант попроще
<?
$output = `ls -l`;
echo `$output`
?>

а потом уж и обрабатывай результат как хошь!
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

Zvepr,

во второй строке кавычки не правильные.

Код: Выделить всё

<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>
(c) backtick operator

И судя по "User Contributed Notes" у этого оператора, похоже, ограниченый буфер.
Zvepr
Сообщения: 48
Зарегистрирован: 23 дек 2004, 14:34

Oscar писал(а):Zvepr,

во второй строке кавычки не правильные.
А интересно какие же ты кавычки испольщуешь для строчных значений (для их вывода в echo)?))... ты попробуй скрипт сначала

А что касется ` - то строка в этих кавчках - выполняется!

Ps - скрипт этот я проверял, и никаких фразовых ошибок небыло
Ответить