Jeg har det problem at der på min server er sat en grænse på hvor lang tid et script må kører. Det giver probler når jeg, eller min sides brugere, skal uploade større filer gennem browseren, hvilket vi skal rimeligt tit. Jeg har ikke selv rettighed til at ændre grænsen, så jeg håber nogen af jer kloge hoveder måske har et forslag til en måde at komme rundt om problemer... Jeg forestiller mig noget i stil med at bryde filen op og uploade den i flere omgange, er det noget som kan lade sig gøre? Er der nogen der har erfaringer med problemet??
asgone> Det lyder umiddelbart ikke som om PHP kan hjælpe dig her. Du kan først begynde at arbejde med filerne du uploader - og derfor først opbryde filen i mindre dele - når den rent faktisk er uploaded på serveren. Hvis serveren har sat et maks, kan du ikke gøre det.
Hvis du stadig gerne vil løse problemet ved at opsplitte filen til mindre bider, skal det gøres frontend. F.eks. med noget Javascript. Jeg har ingen anelse om, hvordan man gør eller om javascript overhoved kan.
set_time_limit(600); kunne hjælpe, hvis problemet var timeout, men jeg hælder også til, at det er filstørrelsen. JavaScript kan ikke choppe din fil op, så det må du gøre manuelt
olebole> det var også, hvad jeg sjussede mig frem til, men var ikke sikker :)
Det kan være der findes noget frontend der kan klare problemet. Ellers må du nok lede efter et andet sted at hoste dine scripts, hvis det er meget nødvendigt.
Ja, nu går jeg udfra, der er tale om en binær fil - og hvis det er tilfældet, kan man ikke uden videre gøre det. Det ville kræve noget kombineret VBS/JScript/ActiveX, der læser filen binært og chopper den. Derefter kan den uploades i stumper med XMLhttp-requests og stumperne kan lægges i MySQL-blobs, som til sidst samles til én fil. Det vil samtidig kræve, at fronten lejres i f.eks. en HTA-fil (på klientmaskinen), der jo har andre sikkerhedsregler end en alm. instans af IE.
Jeg har med stort held lavet binær multiupload med den kombination - dog har det aldrig været nødvendigt for mig med delt upload. Det kan uden tvivl lade sig gøre, men det kræver, man holder tungen lige i bukserne :) /mvh
"kombineret VBS/JScript/ActiveX"... det lyder alt alt alt for avanceret for mig, jeg kunne dog godt tænke mig at se dit script, hvis det er noget med en preloader... jeg sunes det er ret klodset at brugeren skal trykke og så vente i op til flere minutter mens siden bare står stille... det ville være noget mere logisk hvis man kunne se at der rent faktisk skete noget..
Jeg er ikke helt klar over, om du med 'preloader' mener 'progress-bar', men selvom min komponent godt nok indholder en sådan, tror jeg ikke, det ville hjælpe ret meget at poste koden her. Der er tale om små 1000 liniers kode (den indeholder _mange_ funktionaliteter), der er komprimeret, så alle variabler og funktioner hedder noget på 1-3 bogstaver. Derefter er hele koden lagt på én linie og obfuskeret :) /mvh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.