Создание командного файла для распаковки нескольких файлов в php - PullRequest
0 голосов
/ 09 декабря 2011

Вот мой код, который работает:

<?php

$string = "e:
cd randomddirectory
unzip -o 84557".date("ymd")."*.zip -d Extracted";

file_put_contents("extract.bat", $string);

?>

Но когда я пытаюсь учесть распаковывание нескольких файлов, как показано ниже, происходит сбой:

<?php

$string = "e:
cd randomddirectory
unzip -o 84557".date("ymd")."*.zip -d Extracted
unzip -o 84539".date("ymd")."*.zip -d Extracted
unzip -o 84527".date("ymd")."*.zip -d Extracted
unzip -o 84509".date("ymd")."*.zip -d Extracted";

file_put_contents("extract.bat", $string);

?>

Как изменитьсинтаксис, чтобы заставить работать несколько распаковок?Важно, чтобы команда находилась внутри одной строки, как указано выше.

1 Ответ

0 голосов
/ 09 декабря 2011

Я предполагаю, что unzip сам по себе является командным файлом.Итак, поставьте call перед unzip, чтобы он заработал:

$string = "cd /d e:\\randomddirectory 
call unzip -o 84557".date("ymd")."*.zip -d Extracted 
call unzip -o 84539".date("ymd")."*.zip -d Extracted 
call unzip -o 84527".date("ymd")."*.zip -d Extracted 
call unzip -o 84509".date("ymd")."*.zip -d Extracted";

Я все еще думаю, что есть более разумные способы сделать это, чем создать пакетный файл и вызвать его из PHP.В любом случае, вы все равно наткнетесь на все возможные барьеры безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...