[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: bat + php + наверное массивы ? =\
Алексей
Привет всем!

У меня есть папка в которой следующие файлы:
-----------------c:/testfolder/ --------------------
1.rar
2.rar
3.rar
543.rar
...
wr.jpg
4.mp3
--------------------------------------------------
есть BAT файл test.bat в котором следующее:
Код
cd c:\testfolder\
c:
dir

рядом файл index.php в котором:
PHP
<?
$test=`test.bat`;
..... 
и дальше я не знаю что мне делать .... = =


При запуске index.php выполняется команда dir в bat, теперь мне нужно чтото дописать чтобы на моем мониторе были файлы с расширением .rar , ну типа так отоброжались:

Файлы в папке:
1.rar
2.rar
3.rar
543.rar


Пожалуйста подскажите, если не трудно напишите пример скрипта.



Спустя 31 минута, 8 секунд (2.07.2009 - 14:12) stepan написал(а):
Я бы на твоем месте не через bat файл все делал, а через считывание содержимой папки
readdir(), да и вообще таким разве методом можно (text.bat)?

Спустя 9 минут, 10 секунд (2.07.2009 - 14:21) Алексей написал(а):
блин, нет.
мне не совсем это нодо

короче есть комп в локалке COMP с расшареной папкой ShardFolder
путь \\COMP\SharedFolder

bat файл содержимое:
dir \\COMP\SharedFolder

index.php с содержимым выполняющий на странице этот батик :
PHP
<?
$a=`1.bat`;
echo(
"<pre>$a</pre>");  так он просто показывает 

но мне надо чтобы он мне показывал результат только файлов с расширением .rar и в таком формате
1.rar
2.rar
3.rar
543.rar

Спустя 8 минут, 54 секунды (2.07.2009 - 14:30) peps написал(а):
БЛИН А ЭТО НЕ ОДНО И ТОЖЕ ????

system('1.bat'); и echo `1.bat`;

просто в echo используются косые одинарные кавычки

Это и так я знаю, тепеть из этого надо чтобы на странице бали только файлы с расширением rar и шли в таком млин формате:

1.rar
2.rar
3.rar
543.rar

Спустя 17 секунд (2.07.2009 - 14:30) PandoraBox2007 написал(а):
bat:
Код
@echo off

cd c:\testfolder\

dir /B > 1.txt


PHP
1.txt ... .fopen()

and parsing string(s)

Спустя 2 минуты, 50 секунд (2.07.2009 - 14:33) peps написал(а):
При чем тут 1.txt не понял можешь подробнее объяснить??

Спустя 1 минута, 45 секунд (2.07.2009 - 14:35) PandoraBox2007 написал(а):
а ты сделай и посмотри

помещяем вывод команды dir /B с экрана в файл если что перезаписываем

wink.gif

Спустя 2 минуты, 40 секунд (2.07.2009 - 14:38) peps написал(а):
можешь полный код написать как пример, сегодня туго до меня все доходить, идею понял только....

если не сложно =)

Спустя 2 минуты, 1 секунда (2.07.2009 - 14:40) peps написал(а):
аааа, стоп начинаю допедривать, спасибо за идею!!!!

Спустя 1 минута, 33 секунды (2.07.2009 - 14:41) PandoraBox2007 написал(а):
bat:
Код
@echo off

cd c:\testfolder\

dir /B > 1.txt


PHP
$lines = file('C:\\testfolder\\1.txt', FILE_SKIP_EMPTY_LINES);

foreach ($lines as $line_num => $line) {
    
$line iconv("cp866""cp1251"$line);
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}

Спустя 1 минута, 6 секунд (2.07.2009 - 14:42) PandoraBox2007 написал(а):
можно было и проще системной средой но я так понял тебе надо через батник а не очередь задач

Спустя 6 минут, 1 секунда (2.07.2009 - 14:48) peps написал(а):
Спс, за скрипт, надо немного другое, но для полного доперения СПС =)

Вот еще вопрос

вообщем в батнике у меня выполняется DIR и все записывается в 1.txt примерно так:
Код
’®¬ ў гбва®©б⢥ \\peps\!incoming Ё¬ҐҐв ¬ҐвЄг Home
‘ҐаЁ©­л© ­®¬Ґа ⮬ : D474-4FD2

‘®¤Ґа¦Ё¬®Ґ Ї ЇЄЁ \\COMP\SharedFolder

02.07.2009  20:48    <DIR>          .
02.07.2009  20:48    <DIR>          ..
02.07.2009  20:48                20 1.rar
02.07.2009  20:48                20 2.rar
02.07.2009  20:48                20 3.rar
02.07.2009  20:48                20 5.mp3
02.07.2009  20:48                20 4.rar
02.07.2009  20:48                20 5.rar
02.07.2009  20:48                20 3.jpg
              5 д ©«®ў            100 Ў ©в
              2 Ї Ї®Є   3я010я822я144 Ў ©в бў®Ў®¤­®
’®¬ ў гбва®©б⢥ \\COMP\SharedFolder Ё¬ҐҐв ¬ҐвЄг Home
‘ҐаЁ©­л© ­®¬Ґа ⮬ : D474-4FD2


теперь мне надо поместить файлы с расширением rar скажим в массив чтоли, и вывести на экран почище виде так как говорил уже:
1.rar
2.rar
3.rar
4.rar
5.rar

Спустя 1 минута, 59 секунд (2.07.2009 - 14:50) PandoraBox2007 написал(а):
не забудь юзать конвертирование
PHP
echo iconv("cp866", "cp1251", $str);


я тебе другой код давал там только имена файлов без мусора в строчки
Код
dir /B

Спустя 3 минуты, 30 секунд (2.07.2009 - 14:54) peps написал(а):
В том коде который ты мне дал, там не то что нужно :

---------------------ЭТО ЭКРАН МОНИТОРА а на НЕМ: -------------------------

1.rar
2.rar
3.rar
4.rar
5.rar

--------------------------------------------------------------------------------------

Вот так мне надо, причем в папке не только есть rar файлы, там могут быть и jpg и mp3 и т.д.

Спустя 3 минуты, 38 секунд (2.07.2009 - 14:57) peps написал(а):
PHP
$lines file('1.txt'FILE_SKIP_EMPTY_LINES);

foreach (
$lines as $line) {
    echo 
htmlspecialchars($line)."<br />\n";
}


Во с этого еще чтото можно сделать

Спасибо =)))

Спустя 4 минуты, 43 секунды (2.07.2009 - 15:02) peps написал(а):
Объясните зачем эта строка? Для чего?
FILE_SKIP_EMPTY_LINES

Спустя 8 минут, 26 секунд (2.07.2009 - 15:11) peps написал(а):
Все всем сенкс! Я все допедрил!! Извините за флуд!! user posted image
в скрипте лишнее
можно и так
PHP
<?
$lines=file('1.txt');
foreach(
$lines as $line){
echo(
htmlspecialchars($line))}


с этого я и буду скакать!

Еще раз СПС!

<? exit; ?>

Спустя 1 час, 8 минут, 27 секунд (2.07.2009 - 16:19) PandoraBox2007 написал(а):
$lines = массив

$lines[$i] ($i = индекс)

$lines_count = count($lines); // количество элементов в массиве

Спустя 27 минут, 16 секунд (2.07.2009 - 16:46) peps написал(а):
я так сделал
PHP
<?
system("1.bat");
$lines=file('1.txt');
foreach(
$lines as $line){
if(
preg_match("/.rar/i",$line)){
echo(
"$line <br>");}else{}
}

Коротко и то что нужно =)

Спустя 29 минут, 36 секунд (2.07.2009 - 17:16) PandoraBox2007 написал(а):
я так понял ты делаеш Для самаба (расшареного каталога веб интерфейс тогда закешируй эти файлы не грузи интерфейс п.с. и поставь Вину 7 там обновили протокол и все кеширует снижает нагрузку на ПК и линию)

Спустя 8 часов, 24 минуты, 40 секунд (3.07.2009 - 01:41) Guest написал(а):
Цитата
закешируй эти файлы

Каким образом?

Вопрос, все вроде нормально идет, только вот возникает проблема, я знаю что в DOS имя файла должно содержать 8-символов, но у меня в локалке надо работать с шареной папкой примерно такого пути
\\sharedcomp\dc file server\--Департамент академический политики--\управление делами\ .... там еще папки (в папкой имя содержит точки)... \export

но при dir этого пути возникают ошибки

Плюс к этому, хоть сижу под своим доменом, но всеровно перед DIR этой директории сперва необходимо выполнить NET USE \\sharedcomp /user:domain\user
Только потом DIR..

PHP никак не работает с сетевыми каталогами?

Спустя 36 минут, 27 секунд (3.07.2009 - 02:17) PandoraBox2007 написал(а):
Цитата ("Guest")
только вот возникает проблема, я знаю что в DOS имя файла должно содержать 8-символов

$line = iconv("cp866", "cp1251", $line);

PHP
$handle = opendir("\\\sharedcomp\\\C:\\\\");

while ($file = readdir($handle)) {
   echo "$file\n";
}
closedir($handle);


Цитата
Каким образом?
структуру древа сохранять на диске и пересоздавать или дополнять по крону

Спустя 21 минута, 25 секунд (3.07.2009 - 02:38) peps написал(а):
Блин почему всегда надо выполнять перед всем этим делом
system("password|net use \\\sharedcomp /user:domen\\imuser");
Цитата
PHP
$handle opendir("\\\sharedcomp\\\C:\\\\");

while (
$file readdir($handle)) {
   echo 
"$file\n";
}
closedir($handle);

не получается чтото, может я просто туплю.......

Спустя 4 минуты, 7 секунд (3.07.2009 - 02:43) PandoraBox2007 написал(а):
тогда подключай либу и настраивай http://www.phpclasses.org/browse/file/5788.html

Спустя 8 минут, 28 секунд (3.07.2009 - 02:51) peps написал(а):
Чтот я вообще запутался, для чего этот класс?

Или можешь мне написать реально работающий пример в одном целом коде:
\\shared\docs\docs doki koki koki\brrr.rrr\folder -- Это папка которую надо вывести

очень надо просто, у меня мозги кипят я уже запутался.....

Спустя 31 минута, 21 секунда (3.07.2009 - 03:22) peps написал(а):
Блин...

Подключил сетевой диск до нужной директивы

при запуске bat файла он исполняется (наконецто) нормально
Код
@echo off
dir v: /B > 1.txt

только вот
PHP
<?
system('1.bat');


Не хотит, создает пустой файл 1.txt

Чдесь в чем беда???

Спустя 3 часа, 44 минуты, 48 секунд (3.07.2009 - 07:07) peps написал(а):
Все! Я разобрался в чем была проблема
PandoraBox2007 спасибо за помощь, оч помог! cool.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.