The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

CGI file upload, iii (??), 28-Мрт-09, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


2. "CGI file upload"  +/
Сообщение от TyLLIKAH (?), 28-Мрт-09, 16:32 
Заливаешь файл на сервер. В php скрипте (выполняемом сервером) вылавливешь из массива FILES имя временного файла, под которым он залился на сервер и под которым он там уже лежит, натравливаешь всё что нужно на этот файл, выполняя хоть awk с параметром, хоть что ещё.

Как запускать здесь. exec, system, обратные кавычки...
http://uk2.php.net/manual/ru/book.exec.php
В настройках php может быть запрещено выполнение команд


Про FILES здесь
http://uk2.php.net/manual/ru/reserved.variables.files.php
Заливка может быть запрещена

>> Я пытаюсь получить данный массив с именем файла, вызывая php - строку из своего upload.sh

Или я не понял что-то...

Заливает Apache потом передаёт своему модулю (mod_php) всю инфу. Ну или формирует переменные окружения для скрипта. Как, запустив не сервером, php скрипт, получить в него данные конкретного процесса Apache я, лично, не знаю.  

Ответить | Правка | Наверх | Cообщить модератору

3. "CGI file upload"  +/
Сообщение от iii (??), 28-Мрт-09, 16:57 
Всем спасибо!

Сделал так:
файл заливаю, передаю php-скрипту, в котором вылавливаю имя файла (из $_FILES) и копирую в определенный каталог с определенным именем,
после делаю редирект на CGI скрипт (чистый awk) и получаю обработанный файл.


Извращенно, потому что я знаю только bash, sed и awk.
Cовсем не знаю php, perl. Так же не знаю, как по HTTP передать stdin и получить это в CGI.
Мне проще было ознакомиться с минимальными основами php и наваять простейший промежуточный php-скрипт.


<?php
##print_r($_SERVER);
copy($_FILES["uploadfile"]["tmp_name"],
"/var/tmp/upload.txt"))
header('Location:http://10.0.2.1/cgi-bin/newfile');
exit();
?>


Ответить | Правка | Наверх | Cообщить модератору

5. "CGI file upload"  +/
Сообщение от angra (ok), 28-Мрт-09, 17:17 
Знания awk вполне могло хватить, для принятия аплоада. Все данные при методе POST передаются через STDIN, в том числе имя, тип и содержимое загружаемого файла.

Другое дело, что взять php для этого куда проще чем прочитать о принципах работы CGI и POST, о чем я и говорил.

Ответить | Правка | Наверх | Cообщить модератору

6. "CGI file upload"  +/
Сообщение от iii (??), 28-Мрт-09, 17:43 
>Знания awk вполне могло хватить, для принятия аплоада. Все данные при методе
>POST передаются через STDIN, в том числе имя, тип и содержимое
>загружаемого файла.
>
>Другое дело, что взять php для этого куда проще чем прочитать о
>принципах работы CGI и POST, о чем я и говорил.

Да, вы правы. Все оказалось так просто!
Даже php уже не нужно.
Спасибо!

Ответить | Правка | Наверх | Cообщить модератору

9. "CGI file upload"  +/
Сообщение от kholan (?), 13-Апр-10, 19:20 
Я так понял, Вы решили проблему. У меня не получилось, помогите, плз.
Делаю так. Есть форма:
<form enctype="multipart/form-data" action="zz.sh" method="post">
<input name="userfile" type="file">
<input type="submit" value="Send File">
</form>

скрипт zz.sh:
#!/bin/sh
cat >zzz
...

Когда происходит submit формы, на сервере появляется нужный файл zzz, но на клиенте браузер висит, пока руками не остановишь. Т. е. дальше команды cat скрипт не уходит. Ощущение, что для cat не приходит признак конца ввода.
Подскажите, как это правильно реализовать.

Ответить | Правка | Наверх | Cообщить модератору

4. "CGI file upload"  +/
Сообщение от angra (ok), 28-Мрт-09, 17:05 
>Заливает Apache потом передаёт своему модулю (mod_php) всю инфу.

С этого момента поподробней, очень интересно про апач заливающий файлы :)
>Ну или формирует переменные окружения для скрипта.

Так он заливает(кстати куда) или передает "инфу" или формирует переменные окружения? Не упускайте подробностей.
>Как, запустив не сервером, php скрипт, получить
>в него данные конкретного процесса Apache я, лично, не знаю.

Ну то что вы совершенно не представляете принципов работы cgi это ясно, для пыхера даже неудивительно, но все таки было бы неплохо узнать, как рисует этот процесс ваше воображение.


Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

7. "CGI file upload"  +/
Сообщение от TyLLIKAH (?), 28-Мрт-09, 20:26 

>С этого момента поподробней, очень интересно про апач заливающий файлы :)

Ну чего вы так возбудились то ? Понятно, ведь, что я имел ввиду.

Ответить | Правка | Наверх | Cообщить модератору

8. "CGI file upload"  +/
Сообщение от angra (ok), 28-Мрт-09, 20:45 
Откуда мне знать что вы имели в виду, я не телепат. Вы сказали, что заливает файл сам апач, это неверно и вводит в заблуждение новичков.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру