Андрей
Высший разум
(427541)
5 лет назад
Зачем цикл? Запись содержимого указанной директории в указанный файл делается в одну строчку:
file_put_contents('info.txt', implode("\n", scandir($_GET['dir'])));
А implode здесь нужно для того, чтобы каждое имя файла было но отдельной строке. Фактически, ты своим циклом имитировал строчку кода:
$filelist = implode('', $entries);
Но зачем вообще файл, если ты можешь сделать запрос и сразу получить список в ответе сервера?
<?php
echo implode("\n", scandir($_GET['dir']));
А если твой VBS умеет работать с JSON (что сомнительно), то:
<?php
echo json_encode(scandir($_GET['dir']));
coderМыслитель (5331)
5 лет назад
Ха!
Спасиба...)
только ты скобочку ] забыл поставить, я сначала думал не пашет скрипт...
coderМыслитель (5331)
5 лет назад
"А если твой VBS умеет работать с JSON" - хз, боюсь для меня это пока слишком круто.
Вот мой vbs:
Sub Download(InetFile, LocalFile)
Dim oXMLHTTP, oADOStream
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
Set oADOStream = CreateObject("ADODB.Stream")
oXMLHTTP.Open "GET", InetFile, 0
oXMLHTTP.Send
oADOStream.Mode = 3
oADOStream.Type = 1
oADOStream.Open
oADOStream.Write oXMLHTTP.responseBody
oADOStream.SaveToFile LocalFile, 2
Set oADOStream = Nothing
Set oXMLHTTP = Nothing
End Sub
Цель: скачать все логи из конкретной папки.
Я решил таким путём идти: отправлю строку запроса, скрипт составляет filelist папки, которой я его попросил, сохраняет его в .txt на сервере, потом сразу я его скачиваю, у меня на компе уже vbs-скрипт его читает, и скачивает попорядку все логи (у логов будут непредсказуемые названия (рандомные)). Вот...
Мучил, мучил я свой хост, вобщем получился вот такой набор строк:
<?php
$dir = $_GET['dir'];
$entries = scandir($dir);
foreach($entries as $entry) {
$filelist = $filelist . $entry
}
$fp = fopen("info.txt", "w");
fwrite($fp, $filelist);
fclose($fp);
?>
Запрашиваемая строка :
http://mysait.ru/Resource/scan.php?dir=/logs