RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 382
от 27.06.2006, 16:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 311, Экспертов: 42
В номере:Вопросов: 3, Ответов: 7


Вопрос № 46959: Здрвствуйте, Мое CGI приложение не может обрабатывать прицепленные файлы. Я знаю как файл сохранить в php. Мой врпрос, если я сохранил файл, как мне наиболее простым способом (предположим я знаю все html пременные, что были в POSTe), переслат...
Вопрос № 46982: Здравствуйте Эксперты! Вопрос такой: в БД МуСКЛ содержится путь до файла, хранящегося на FTP. Предположым мы его получили в переменную $patch уже открытой страницы (предположим info_files.php). Задача такая: как сделать таким образом, чтобы на эт...
Вопрос № 47062: Открываем файл и достаем его содержимое: $file = fopen("../config.php","r+"); $text = fread($file,filesize("../config.php")); А как теперь очистить файл?...

Вопрос № 46.959
Здрвствуйте,
Мое CGI приложение не может обрабатывать прицепленные файлы. Я знаю как файл сохранить в php.
Мой врпрос, если я сохранил файл, как мне наиболее простым способом (предположим я знаю все html пременные, что были в POSTe), переслать этот запрос далее не создавая новой формы чтобы ее сабмитить. Т.е. идея такая чтобы выкусить файл и переслать остаток далее.
Спасибо заранее,
Владимир
Отправлен: 21.06.2006, 17:40
Вопрос задал: Владимир Яхненко (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Cimus
Здравствуйте, Владимир Яхненко!
Попробуйте хранить все данные в массиве $_SESSION, тогда на любой странице можно будет их узнать.

Для того, что бы обратиться к массиву Вам надо в начале php скрипта вызвать функцию session_start();
---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: 3-ий класс)
Ответ отправлен: 21.06.2006, 17:48


Вопрос № 46.982
Здравствуйте Эксперты!
Вопрос такой: в БД МуСКЛ содержится путь до файла, хранящегося на FTP. Предположым мы его получили в переменную $patch уже открытой страницы (предположим info_files.php). Задача такая: как сделать таким образом, чтобы на этой странице при нажати кнопки "Скачать" открывалась другая страница (предположим download.php), действие которой следующее: ана открывается потом выдает пользоввателю окно сохранения этого файла ($patch) и после этого в течении например 3 секунд вернула нас на предыдущую (info_files.php).
Спасиба.
Отправлен: 21.06.2006, 22:51
Вопрос задал: _SanS_ (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Cimus
Здравствуйте, _SanS_!
Сделй в форме с кнопкой "скачать" скрытое поле с переменой $patch
<INPUT TYPE=hidden NAME=patch VALUE="$patch">,

а для переадрисации можно использовать яваскрипт

language="javascript" type="text/javascript">
<!--
setTimeout("location.href='info_files.php'",3000);
-->
</script>

где 3000 время в миллисекундах.
3000=3 сек.
---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: 3-ий класс)
Ответ отправлен: 21.06.2006, 23:01
Оценка за ответ: 4
Комментарий оценки:
а как мне сделать чтобы выдалось окно сохранения файла, путь которого хранится в переменно $patch?

Отвечает: Mamont
Здравствуйте, _SanS_!

В фале info_files.php генерируем ссылку вида:
<?
echo "<A href='download.php?$id' target=_blank>Скачать</A>";
?>
где $id - id записи хранящей информацию о файле.
файл download.php:
<?
//получаем из MySQL по id имя файла в перем $f(id находится в $_GET['id'] )
//$f='test.rar';
//предупреждение: никакого вывода в браузер быть не должно!!!

$r = @file_get_contents($f); // читаем содержимое файла в строку
header("Content-type: application/octet-stream");
header("Content-length: ".filesize($f));
header("Content-disposition: attachment; filename="".$f."";");
echo $r;
?>


---------
Иногда движение вперед-результат пинка под зад
Ответ отправил: Mamont (статус: 1-ый класс)
Ответ отправлен: 22.06.2006, 18:43
Оценка за ответ: 3
Комментарий оценки:
Извени, оценить пака не могу (поставлю средний балл).
Очень непонятно, можешь немного пояснить свое решение этого вопроса?
И желательно, чтобы в решении конфигурировали перемнны из поставленного вопроса.


Вопрос № 47.062
Открываем файл и достаем его содержимое:

$file = fopen("../config.php","r+");
$text = fread($file,filesize("../config.php"));

А как теперь очистить файл?
Отправлен: 22.06.2006, 14:53
Вопрос задал: Alexorg (статус: 1-ый класс)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Cybernetic_Creature
Здравствуйте, Alexorg!

открыть файл на запись
<?php
$f=fopen('../config.php','w');

fclose($f);
?>
Ответ отправил: Cybernetic_Creature (статус: Специалист)
Ответ отправлен: 22.06.2006, 15:03

Отвечает: Ерёмин Андрей
Здравствуйте, Alexorg!
С помощью режима w+:
$f=fopen("file.ext","w+");
fclose($f);
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 22.06.2006, 15:05

Отвечает: XMF
Здравствуйте, Alexorg!
--
fclose(fopen("../config.php", "w"));
Ответ отправил: XMF (статус: 6-ой класс)
Ответ отправлен: 22.06.2006, 15:10

Отвечает: Mamont
Здравствуйте, Alexorg!

Чтобы очистить файл:
<?
$f=fopen('../config.php','w');
fclose($f);
?>

Режимы fopen:
режим/можно читать/можно записывать/указатель файла/очищать/создавать
'r'/да/нет/в начале/нет/нет
'r+'/да/да/в начале/нет/нет
'w'/нет/да/в начале/да/да
'w+'/да/да/в начале/да/да
'a'/нет/да/в конце/нет/да
'a+'/да/да/в конце/нет/да
---------
Иногда движение вперед-результат пинка под зад
Ответ отправил: Mamont (статус: 1-ый класс)
Ответ отправлен: 22.06.2006, 18:50


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное