LINUX.ORG.RU

Можете написать простой php-шник?


0

0

Суть такова... Есть окошко, где пользователь указывает путь до файла на его машине. Потом жмёт О'k. Его файл аплоадится на сервер, сохраняется в /var/www/input.dat, после чего запускается некоторая программка (/var/www/software.sh) и пользователю дают загрузить её вывод в виде файла (output.txt).

Просто же, наверное, но я в пэхэпэ ноль. Поможет кто-нибудь? :)

★★★★★

> Есть окошко

То есть страница.

Obey-Kun ★★★★★
() автор топика

1. Смотри примеры апплоада файлов - их в нете миллион. Запрос в гугле очевиден ;)
2. Запускать программу при помощи exec*
3. Результат отадёшь пользователю
4. ???????
5. ПРОФИТ!

theos ★★★
()
Ответ на: комментарий от Obey-Kun

программка выводит данные в stdout или в файл?
сделай так, чтобы она выводила данные в файл /var/www/somefile.txt, а на странице выводи <a href="somefile.txt">скачать</a>

opensuse
()
Ответ на: комментарий от INFOMAN

ясно, всё гораздо проще :)

тогда сам напишу.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от opensuse

Сама программа в stdout, но скрипт — в файл. Так, к слову. Но корректнее тогда будет сделать перенаправление с соответствующим хедером, как посоветовали выше.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

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

INFOMAN ★★★★★
()
Ответ на: комментарий от Obey-Kun

У меня на haserl так:

backup)
     echo "Content-type: application/octet-stream"
     echo "Content-Disposition: attachment; filename=\"`hostname`-`date +%Y%m%d%H%M%S`.cfg\""
     echo 

     tar c - /tmp/file1 /tmp/file2
     ;;

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

roy ★★★★★
()
Ответ на: комментарий от Obey-Kun

[quote] passthru

(PHP 4, PHP 5)

passthru — Execute an external program and display raw output [/quote] не?

qnikst ★★★★★
()
Ответ на: комментарий от Obey-Kun

Примерно так:

<?php

header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="result.txt"');

system("some_cmd...");

urxvt ★★★★★
()

кусок index.html:

<form enctype='multipart/form-data' action='upload.php' method=post>
<input type=file name="userfile">
<input type=submit value="Сделайте мне хорошо">

upload.php

<?php
move_uploaded_file($_FILES['userfile']['tmp_name'], "script/input_up.txt");

header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="skv.lsp"');
passthru ('script/doit.sh');
?>

Obey-Kun ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.