Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.25;
Скачать: CL | DM;

Вниз

Файл - Из консоли   Найти похожие ветки [Delphi] - в скрипт [PHP]

 
timekiller ©   (2009-09-03 15:17) [0]

Есть консоль, которая обрабатывает некий бинарный файл
Текущий алгоритм:
Результат некой обработки 1го бинарного файла создается и записывается как другой бинарный файл, затем с помощью PHP формируется ссылка для скачивания на 2й бинарный файл.

Дайте наводку:
Каким образом сделать так, чтобы консоль отдала результат веб скрипту без создания 2го бинарного файла? Обычный Write/Writeln какбы нещадно рвет/выдает непонятными кусками содержание файла (Видимо спецсимволы?)...


 
Омлет   (2009-09-03 15:24) [1]

Формировать ссылку, а файл2 не делать.
Когда по ссылке обратятся, тогда создавать файл2 и отдавать.


 
timekiller ©   (2009-09-03 15:26) [2]

Нужно обойтись без файла 2, вообще ... Без лишнего мусора тоесть


 
Омлет   (2009-09-03 15:32) [3]

По-моему, лучше так, чем мудрить что-то с динамической выдачей.. Есть ведь еще докачка, и многопоточное скачивание, и определение размера файла качалкой.
Когда файл2 не качают, к примеру, час, можно удалять, чтобы не было мусора.


 
timekiller ©   (2009-09-03 15:49) [4]

Нет, должен быть файл, консоль и отдаваться результат, все просто, не нужны другие файлы попросту. Тоесть не нужно несколько путей и крюков - нужна прямая...
Проблема еще и в том что на папку с консолью обязательно стоит chmod 40555 (FreeBSD)
Просто создать некий поток, как сделать - я пока не вкурсе...


 
McSimm ©   (2009-09-03 23:58) [5]

Вопрос о чем ? как передать из внешнего процесса в PHP без создания файла ?
Или как правильно выдать из консоли набор данных ?
Посмотрите PHP функцию popen()

> Обычный Write/Writeln какбы нещадно рвет/выдает непонятными
> кусками содержание файла (Видимо спецсимволы?)...

куда именно выдает - в браузер, терминал или в файл ?


 
timekiller ©   (2009-09-04 12:17) [6]

Вопрос о чем ? как передать из внешнего процесса в PHP без создания файла ? - да да, двоичный файл (бинарник)

> Обычный Write/Writeln какбы нещадно рвет/выдает непонятными
> кусками содержание файла (Видимо спецсимволы?)...

куда именно выдает - в браузер, терминал или в файл - Вывод на консоль, который можно returnить и в браузер и в терминал или в файл посредством > FreeBSD


 
McSimm ©   (2009-09-04 12:23) [7]


> как передать из внешнего процесса в PHP без создания файла
> ? - да да, двоичный файл (бинарник)

Ответ на этот вопрос - popen() - запустите ваш процесс из PHP и будете читать вывод этого процесса, без создания файла.
--
программа на D7 работать на FreeBSD наверное не будет :)


 
timekiller ©   (2009-09-04 13:15) [8]


> программа на D7 работать на FreeBSD наверное не будет :)


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


 
McSimm ©   (2009-09-04 13:18) [9]

Еще - саму консольную программу можно вполне сделать как CGI и вызывать без всяких PHP.


 
timekiller ©   (2009-09-04 13:28) [10]

Ну а теперь назад, про вывод - как всётаки отдавать данные, с помощью чего?

Writeln/write рвут вывод (выдают хаотично кусками)


 
McSimm ©   (2009-09-04 13:34) [11]

BlockWrite, наверное поможет.


 
timekiller ©   (2009-09-04 13:41) [12]


> BlockWrite, наверное поможет.


дк это про файл.. или memorystream, который я не умею передавать во вне ....


 
McSimm ©   (2009-09-04 13:45) [13]

Не обязательно.
Можно связать хендл файла со стандартным устройством.
Если не ошибаюсь - пустое имя файла в AssignFile сделает свое дело.



Страницы: 1 вся ветка

Текущий архив: 2009.10.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
2-1251312234
sanx
2009-08-26 22:43
2009.10.25
TEdit, как отличить user ввод от присвоения Text нового значения?


2-1251440566
kiki
2009-08-28 10:22
2009.10.25
Как сделать рандом значения от -20 до +20?


15-1250899237
Tirael
2009-08-22 04:00
2009.10.25
как называется игрушка


2-1251089353
eRoR_rrr
2009-08-24 08:49
2009.10.25
Замена содержимого файла когда он открыт.


15-1251145808
Юрий
2009-08-25 00:30
2009.10.25
С днем рождения ! 25 августа 2009 вторник