Войти

Показать полную графическую версию : как с помощью fopen писать в файл на своем диске


vagner_HATE
03-10-2005, 20:16
Здравствуйте..вопрос в следующем...Вот если я в каком ть php файле размещу такую строчку ...
$f = fopen("file.txt","w"); и т.д. Вопрос в следующем - как сделать таким образом чтобы этот файл сохранялся не на хосте в твоей папке а на жестком диске того человека который запустил соотвествующий скрипт..
если допустим поставить такой путь "С:\\file.txt" то он и создает такой файл - то есть С:\\file.txt в папке на хосте. Возможно ответ на это прост но для меня затруднение..Заранее спасибо всем кто захочет помочь!

Prisoner
04-10-2005, 11:00
Мило... тогда бы можно было не писать вирусы, зачем? Заманил пользователя на страницу и написал ему сразу пачку на винт :). Нет, Вагнер, такого рода вещь, о которой ты говоришь, считается чрезвычайно опасной уязвимостью броузера и страшным сном пользователя.

archy
04-10-2005, 12:28
vagner_HATE
Чего ты хочешь этим добиться? Может это реализуется по другому.

vagner_HATE
04-10-2005, 14:31
Вообщем есть у меня одна таблица в БД и хочу я ее периодически выгружать в файл...Только не хочу чтобы при этом файл который формируется оставался на моем хосте, ведь тогда теретически любой сможеть по определенной ссылке скачать его...вот и хочется чтобы этот файл сразу сохранялся на диске у того кто зайдет( а заходят то на эту страничку для скачивания по паролю)... или на скачивание как то тоже пароль поставить?.... вот я и перебирал разные варианты...

так получается вариант с указанием в fopen пути отпадает?....Мне просто( ну точнее даже не лично мне а кто будет потом этим пользоваться, я то могу и сам удалить) нужно чтобы не приходилось в ручную удалять эти файла с хостика..
Я понимаю что вариантов много...но может есть что не особо напряжное?

mar
04-10-2005, 15:48
vagner_HATE
ну, собственно, получение дампа базы (или, если угодно, отделной таблицы) прямо к себе на компьютер реализовано, скажем, в phpmyadmin. Просто там делается дамп и высовывается наружу - в броузер (как файл для скачивания). Естественно, пользователь это видит, подтверждает, указывает куда все это "save as". Вот и все. Можно воспользоваться прямо phpmyadmin, можно - идеей.

vadimiron
04-10-2005, 16:13
vagner_HATE
Можно сохранять файл в такую папку, которую никто не сможет открыть.
В такую папку засовывается файл с названием .htaccess (если сервер Apache), и в этом файле прописывается просто deny from all

Igor_I
04-10-2005, 20:04
vagner_HATE
На одном форуме в таких случаях посылают читать - "На танке" :)
PHP работает на сервере и результатом его работы является html страничка, и только она отправляется в браузер посетителю сайта. Сам PHP никоим образом с браузером посетителя дела не имеет. Поэтому, надо бы ознакомиться с файлом .htaccess.

elfoflorien
04-10-2005, 21:47
vagner_HATE
лучший способ - предложенный mar
делаете дамп чего вам там угодно, сохраняете сие на сервере (лучше - в архив), а потом просто перенаправляете браузер на этот файл
header( "Location: my_dumped_data.zip" );
и браузер предлагает вам сохранить ваш архив на диске; можно придумать что-нибудь еще, и сразу после скачивания удалить архив с сервера
можно посмотреть реализацию сего процесса в phpBB2




© OSzone.net 2001-2012