Как заставить команду linux / macOS ".ls >> files.txt" работать на php с помощью exec ()? - PullRequest
0 голосов
/ 18 июля 2011

Я просто хочу перечислить все файлы и подкаталоги и сохранить этот список в файле ... в MS-DOS, Linux и MAC OS, командная строка - .ls (или .dir) >> files.txt -дал бы мне то, что я хочу ... Но как заставить скрипт php запускать его?

если я использую (на php)

exec ('ls >> files.txt');

Я получу ошибку, подобную этой: Предупреждение: неожиданный символ на входе: состояние '' (ASCII = 28) = 0 в /Applications/XAMPP/xamppfiles/htdocs/DjUtilities/makeLabels.php в строке 29

...

пожалуйста, есть идеи ???

Это будет использоваться для установки меток с музыкой на компакт-диске, здесь, разделенных на каталоги ..Я хочу получить любой компакт-диск (подкаталоги) и перечислить файлы (дорожки), чтобы создать метку со списком дорожек ....

Итак, первоначальная идея состояла в том, чтобы создать файл с этими данными изатем обработайте данные, чтобы сделать метки ... любой лучший способ сделать это будет очень кстати !!

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Вы можете использовать 'opendir' и 'readdir', чтобы сделать это, обе собственные команды php ...

0 голосов
/ 18 июля 2011

Это не зависит от вашего кода exec (...).Тот же код хорошо работает в моей среде.

<?php
exec('ls >> filelist.txt');
?>

И это результат.

$ cat filelist.txt 
a.html
a.out
...(omitted)

Итак, похоже, что ваш php-файл может иметь какой-то странный синтаксис / символы в строке 29.как неправильное использование обратной косой черты)

...