как читать файлы с пробелами и спецсимволами в названии? - PullRequest
0 голосов
/ 29 сентября 2010

У меня много видео на моем сервере, и я использую следующий код для определения продолжительности видео, и оно отлично работает.

        ob_start();
        passthru("ffmpeg -i ".$srcfile." 2>&1");
        $duration = ob_get_contents();
        ob_end_clean();

Но я не смог получить длительность для файлов, в которых есть пробел или какие-либо специальные символы, такие как ('#% и т.д ...

Я не могу переименовать файлы, так как они уже сохранены, а имена этих файлов также хранятся в БД, и потребуется всего лишь изменить все на живом сайте.

Так есть ли способ доступа / чтения файлов со специальными символами?

Ответы [ 2 ]

3 голосов
/ 29 сентября 2010

escapeshellarg

Кстати, вы должны всегда использовать это для любых аргументов оболочки, за исключением того, что вы хотите, чтобы ваше приложение было открыто для атак инъекцией оболочкичто может быть очень опасно.

0 голосов
/ 29 сентября 2010

Цитировать имя файла между одинарными кавычками:

    passthru("ffmpeg -i '".$srcfile."' 2>&1");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...