3211
|
Програмиране / Общ форум / Re: Детектване на успешен даунлоад на файл от скрип
|
-: Oct 30, 2009, 15:15
|
Проблема ти идва от това, че Firefox започва да сваля файла още преди потребителя да е казал къде.
Сигурно е това. Откъде се задава Firefox да не се държи по-този начин. Търсих много и нищо не намерих. Спомням си че много одавна не беше така. Tова е отвартителна опция от страна на firefox. Заради това сигурно хиляди броячи в инернет за свалени файлове показват с 200% повече сваляния. Тук намерих подобно полакване: http://forums.mozillazine.org/viewtopic.php?t=372079За да получиш нужната информация може би ще трябва да създадеш джава аплет, който да се грижи за записването и да ти връща статуса.
Положително няма да правя никакви джави, но какво имаш в предвид? Къде трябва да работи този апплет и как? при извикване на скрипта сървера изпраща на клиента Content-disposition: attachment; filename=xxx и това е.
|
|
|
3212
|
Програмиране / Общ форум / Детектване на успешен даунлоад на файл от скрип
|
-: Oct 30, 2009, 10:32
|
Ако скрипт инициализира download, има ли начин скрипта да се разбере дали юзера (от страна на клиента/браузера) е натиснал [OK] и е свалил файла или е натиснал [Cancel/X] и е отказал свалянето? Имам следното на PHP, което си работи без проблеми. GeSHi (PHP): function shutdown(){ { //code for aborted connection } else { //code for succesfull download } } header("Content-Type: text/x-delimtext; name=\"$file_name\""); header("Content-disposition: attachment; filename=$file_name"); .. printf ("-- backup successfully finished at %s --\n", date("j-F-Y H:i:s", time())); }
проблема е че след последният printf и flush() скрипта вече е изпратил всичко и завършва изпълнението си, (което изгрлежда се е буферирало от apache-то и от браузера). И според скрипта Download-а е успешен - но при клиента може все още да стои отворен прозорец за 'Save File' и клиента още не е натиснал нито OK нито Cancel/X. Ако сега той натисне Cancel/X ще откаже файла, но според PHP сървера вече всичко си е изпратил и download-a си е успешен. Има ли начин това да се детектне? Някакъв друг http header? Изобщо възможно ли е това според http протокола? Това горното работи и детектва отказан download само ако клиента натисне Cancel/X през времето писане на файла. Но в общият случай скрипта завършва много по бързо от реакцията на юзера. http://bg.php.net/manual/bg/features.connection-handling.php
|
|
|
3213
|
Хумор, сатира и забава / Живота, вселената и някакви други глупости / Re: Глобалното затопляне
|
-: Oct 29, 2009, 13:17
|
Някъде много отдавна, в един превод на 'scientific american' четох какъв е механизма на саморегулация на земята. Увеличаването на температурата -> предизвиква увеличаване на валежите в световен мащаб -> увеличените валежи от своя страна увличат и разтварят излишният CO2 в атмосферата и падат като киселинни дъждове -> намаляването на CO2 в атмосферата намалява и глобалното затопляне.
Така че механизъм на саморегулация има, но в какви граници и колко е инертен процесът не е известно...
|
|
|
3216
|
Linux секция за начинаещи / Настройка на програми / Re: Трансфер на един хард диск с инсталиран Линукс към нов диск
|
-: Oct 26, 2009, 21:12
|
това ясно, но как се отразява на празното място? в смисъл ако взема диск, който е с 50% по-голям или е от различни производители, като размера се разминава малко и новия диск е примерно 2 байта по-къс?
Дължината на дисковете се мери в LBA сектори. Ако новият диск е по голям ще имаш след dd-to празно място на новият-unpartitioned area. на това място в последствие ще можеш да направиш още един партишън, който да си го форматираш и ползваш. Ако новият диск е по къс няма как да стане с dd без загуба на информация. Производителят на дисковете няма значение. Другият начин е с 'cp' тя си има опции за запазване на пермишъните, времената и разни такива. мисля че имаше опция дето се казваше 'archive' и тя включва всички тези опции. Но с 'cp' трябва предварително да си създадеш дялове да ги форматираш и да използваш някoй livecd за да монтираш стария диск и новият и да стартираш 'cp'. След това ще има и разни други маниполации докато съживиш системата. Малко е по трудно не пък ако новият диск е много > от старият ще можеш да използваш цялото ново място.
|
|
|
3218
|
Linux секция за начинаещи / Настройка на програми / Re: Коя е добрата практика за Apache
|
-: Oct 25, 2009, 22:05
|
Добрата практика е да почнеш още от началото с VirtualHost. ако ти се наложи след това да допълващ с друг домейн, ще имаш наготово примерна конфигурация. Ако те домързи още от началото да опишеш VirtualHost рано или късно пак ще ти се наложи. А и не е задължително за в бъдеще да имаш още един домейн. VirtualHost-ове ще ти се наложи да правиш и ако искаш да добаваяш под домейни на твоя основният. например. http://www.domain_name.com private.domain_name.com linux.domain_name.com и т.н. ако вече си го направил по default конфигурацията/ без vhost. Пренапиши го. Default конфигурацията е по скоро пример че работи апачито.
|
|
|
3219
|
Хумор, сатира и забава / Живота, вселената и някакви други глупости / Re: Големият адронов ускорител
|
-: Oct 24, 2009, 19:32
|
Въпрос: Как ще направят черна дупка ? За това не се ли сика много маса?
Не не се иска свръх голяма маса. Важна е не масата а плътността. Черната дупка можела да тежи и един грам, стига да има кой да свие веществото твърде много. Въпросът е че веднъж възникнала, независимо с каква маса, понеже е черна и е дупка, започва бавно и постепенно да привлича всичко наоколо във себе си и масата и може да нарастне твърде много, ако има какво да засмуче.
|
|
|
3224
|
Програмиране / Общ форум / Как да се оправя с това java.security.AccessControlException: access denied
|
-: Oct 23, 2009, 16:02
|
Нищо не разбирам от Java и не искам и да разбирам. Опитвам се да пусна една програма. Успешно я компилирах инсталих и т.н. но когато се опитвам да стартирам някоя програмка все излизат разни такива съобщения: java.security.AccessControlException: access denied (java.io.FilePermission /home/naka/install/Openlogos/openlogos-1.0.2/LGS_ROOT/conf/gateway/server.properties read) at java.security.AccessControlContext.checkPermission(Unknown Source) документацията ми казва че трябва да добавя в .java.policy (с точка отпред) grant codeBase "file:$LGS_ROOT/lib/java/-" { permission java.security.AllPermission; }
0. пътищата ми са верни и файлове от грешките реално съществуват. 1. къде да го търся това java.policy промених всички файлове които намерх да се казват java.policy и резултат никъкъв. 2. какво означава (Unknown Source) 3. възможно ли е това java.policy да е под друго име? 4. .java.policy (със точка) къде трябва да се намира? хоме директорията или където е програмата ? 5. при компилирането казах да ползва прясно смъкнато от сан jdk1.5.0_21 но имам и още 2-3 JRE-та различни версии. JDK включва ли и JRE същата версия в себе си? как да разбера коя Java се изпълнява? 6. може ли тези съощения да не се дължат на неправилно java.policy а на нещо друго. 7. Закакво и е на Java-та пермишъни след като файловат система си има.
|
|
|
|