|
Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема
|
Create Zip
|
|
Автор | Shark (Нерегистриран) |
Публикувано | 23.10.05 12:58 |
|
Отскоро се занимавам с PHP, а ми се налага да направя една щуротия, та реших да ви питам за идея по въпроса..
В общи линии задачката е следната:
Имам на сървъра файлче, което, клиента като кликне, да се зипне и да се изтегли
След това да се разархивира в определна папка на клиента.
/Споко, не става въпрос за вирус/
Първата част донякъде я направих с exec и RAR, ама май PHP може само да Zip-ва.
Или бъркам...
А и с клиента как да се оправя.Май ще ми трябва Java, a?
| |
Тема
|
Re: Create Zip
[re: Shark]
|
|
Автор |
vido (непознат
) |
Публикувано | 23.10.05 13:32 |
|
Първо, защо файла се зипва когато клиента кликне. Може да е вече зипнат (или рарнат). Освен файла ако се генерира динамично в зависимост от дейстия на клиента. А относно това при клиента, с ПХП не става. То е на сървъра. Ако файла е с разширение ZIP или RAR и на компютъра на клиента има инсталирана такава програма (и рарширенията са асоцирани с нея), то браузъра ще го отвори (ако клиента даде Open) след издърпването. Има и други варианти. Зависи какво ще се прави с файла после.Редактирано от vido на 23.10.05 13:35.
| |
Тема
|
Re: Create Zip
[re: vido]
|
|
Автор | Shark (Нерегистриран) |
Публикувано | 23.10.05 13:53 |
|
да кажем, че файла се обновява ежеминутно (например БД), а унзипването искам да е програмно първо, ако файла вече съществува на клиента да го обнови и второ най-вече да е дуракоустойчиво, в смисъл, че ако се разархивира в друга папка, клиента ще си мисли че е свършил работа, а всъщност ще работи със стари данни и .... главоболия...
| |
Тема
|
Re: А на клиента...
[re: Shark]
|
|
Автор |
Sanndo (WebDevPich) |
Публикувано | 23.10.05 14:10 |
|
А на клиента разрешено ли е да се инсталира друг софтуер? Доколкото разбраш клиента не е всеки потребител за сайт, а нещо като админ или подобно, който да оперира с инфото. Защо не направиш най-елементарното - качваш едно апаче и РНР на клиента и просто извикваш скрипт от неговата машина - http://127.0.0.1/unzip.php Файла унзип.пхп ще си свали архива от сървъра и ще го разархивира какдето искаш. А потребителя нетрябва да прави нищо. Правилно ли съм те разбрал?!?
| |
Тема
|
Re: А на клиента...
[re: Sanndo]
|
|
Автор | Shark (Нерегистриран) |
Публикувано | 23.10.05 14:33 |
|
много правилно си ме разбрал
Това наистина е вариант...
Остана да уточним кое е по-добре да ползвам. Exec() и Rar/UnRar или вградените функции на PHP. Виждам че има gz функции за компресия, ама като не съм ги ползвал досега....
| |
Тема
|
Re: А на клиента...
[re: Shark]
|
|
Автор |
vido (непознат
) |
Публикувано | 23.10.05 15:05 |
|
Ако използваш Exec, можеш да сменяш програмата или вида на архива. Обаче, ако използваш функциите на PHP ще е по- преносимо (платформа или машина). Няма да изисква други програми на сървара.
А за клиента: може да е програма писана на друг език (C, Delphi, VB и т.н.). Клиента натиска бутон, или тя сама дърпа файла през определено време (сервис или Scheduled Task). Това с Apache и PHP при клиента не е ли малко сложно.
| |
Тема
|
Re: Create Zip
[re: Shark]
|
|
Автор |
Mopдpeд (seeker) |
Публикувано | 23.10.05 20:30 |
|
Ако става дума само за един файл, а не колекция от няколко, които да са зипнати на едно място, цялата разправия с зип/унзип или рар/унрар ми изглежда безмислена.
Ако правилно съм разбрал, че целта е голям файл да се източи по ефективен начин, най-естественото решение е да върнеш от пхп скрипта си самия файл (с правилния му mime) прекаран през gzcompress - виж документацията. Клиентския браузър поддържа гзип енкодинг автоматично - цялото компресиране става невидимо за потребителя в ХТТП протокола. Хем трансферът ще ти е намален, хем не се налага да качваш апач сървър при клиента (господи!).
Портал за почитателите на Толкин - връзки и новини
| |
Тема
|
Re: Create Zip
[re: Mopдpeд]
|
|
Автор |
vido (непознат
) |
Публикувано | 23.10.05 22:01 |
|
Това е най- добрия вариант, но проблема с това каде клиента ще запише сваленият файл остава. Това не може да се реши без нещо работещо при клиента.
| |
Тема
|
И понеже сме в клуб РНР...
[re: vido]
|
|
Автор |
Sanndo (WebDevPich) |
Публикувано | 23.10.05 22:06 |
|
...и решението трябва да е свързано с РНР...
| |
Тема
|
Re: Create Zip
[re: vido]
|
|
Автор |
Mopдpeд (seeker) |
Публикувано | 23.10.05 22:56 |
|
Нещо не разбирам тука.
Клиента цъка на един линк, получава сейв диалог и си записва файла където си иска.
Ако ли пък трябва да става автоматично - примерно веднъж дневно, сетъпва се при клиента един scheduled task, който да кажем с вгет (трябва да се види дали поддържа цонтент-енкодинг: гзип, но най-вероятно - да) ходи, дърпа файла и го записва където трябва.
Къде виждате индианци дето пият кафе (апач и джава ) ума ми не го побира ;)
Портал за почитателите на Толкин - връзки и новини
| |
|
Страници по тази тема: 1 | 2 | >> (покажи всички)
|
|
|