Degeim Skrevet 10. oktober 2006 Del Skrevet 10. oktober 2006 Hei Jeg arbeider nå med en slags backupfunksjon til et av prosjektene mine. I forbindelse med det må det være mulig å ta backup (lagre til et valgfritt sted på disken til brukeren) og gjenopprette den (la brukeren finne backupen på sin egen disk, for så å laste opp filen). I begge tilfeller må det vise en slik finn frem-dialog som viser i vanlige windows-programmer ved lagring og åpning. Jeg vet hvordan man kan laste opp en fil, så det trenger jeg ikke hjelp til. Men som et tillegsspørsmål der; er det mulig å bare hente ut innholdet i filen uten å laste den opp, eller må jeg laste den opp, lagre den, hente innholdet, og så slette den igjen? Og så er det hvordan jeg kan få opp en lagre-boks slik at brukeren kan lagre backupfilen hvor han vil. Er det i det hele tatt mulig? Takk, Degeim Lenke til kommentar
Peter Skrevet 10. oktober 2006 Del Skrevet 10. oktober 2006 (endret) Du må selvsagt laste den opp, serveren kan da ikke lese filer ut av det blå heller. Men hvorfor du vil "lagre, den, hente innhold og slette den" skjønner jeg ikke. Kan du ikke bare lagre filen, så vips har du backupen. Ang. ditt siste spørsmål så er det en header du kan sende når du skal sende filen til brukeren, som gjør at nettleseren viser en "hvor vil du lagre"-dialog. Direkte inn fra PHP-manualen: www.php.net/header Det er spesielt Content-Disposition som tvinger nettleseren til å laste ned filen til disk istedenfor å vise den. PHP <?php // We'll be outputting a PDF header('Content-type: application/pdf'); // It will be called downloaded.pdf header('Content-Disposition: attachment; filename="downloaded.pdf"'); // The PDF source is in original.pdf readfile('original.pdf'); ?> Endret 10. oktober 2006 av Nazgul Lenke til kommentar
Degeim Skrevet 10. oktober 2006 Forfatter Del Skrevet 10. oktober 2006 Lagre, hente innhold, legge innhold i filen det skal være i, slette backupen er vel et riktigere hendelsesforløp. Det er for å gjenopprette backupen, ikke ta den. Du må selvsagt laste den opp, serveren kan da ikke lese filer ut av det blå heller. Men hvorfor du vil "lagre, den, hente innhold og slette den" skjønner jeg ikke. Kan du ikke bare lagre filen, så vips har du backupen. Jeg tenkte at kanskje php hadde noen innebygde funksjoner for å laste den opp og lese uten at jeg behøvde bry meg om å lagre på bestemte steder, men ok. Takk for scriptet for nedlasting! Degeim Lenke til kommentar
Peter Skrevet 10. oktober 2006 Del Skrevet 10. oktober 2006 Hvorfor lagrer du når den er en backup (dvs. da må den jo allerede ligge på serveren). Og hvorfor sletter du backupen? Nuvel. Filen blir lastet opp i en tmp-mappe. Du kan lese innholdet fra filen der uten å flytte den videre til en mappe der den ikke vil bli slettet, men jeg skjønner fortsatt ikke helt hendelsesforløpet her. Lenke til kommentar
Degeim Skrevet 10. oktober 2006 Forfatter Del Skrevet 10. oktober 2006 Jeg skal forklare bedre (selv om det egentlig ikke er relevant): 1: Brukeren skal ta backup. Får opp lagre fil-dialogen du hjalp meg med, og lagrer backupen på maskinen sin. 2: Brukeren skal gjenopprette den. a) Får opp hente fil-dialogen. b) Filen blir lastet opp c) Henter innholdet i den og lagrer det i de filene det skal være i (backup-filen er sammenslått av flere andre) d) Sletter backup-filen som ble lastet opp (brukeren har den jo på disken sin). Degeim Lenke til kommentar
Peter Skrevet 10. oktober 2006 Del Skrevet 10. oktober 2006 Ok, hendelsesforløpet er motsatt av hva jeg trodde. Jeg trodde backupen skulle taes av brukerens filer til serveren, ikke fra serveren til brukerens maskin. men da har du vel fått alt du trenger? Ved å tvinge browseren til å vise lagre som, så kan jo brukeren lagre hvor han vil. Lenke til kommentar
Degeim Skrevet 10. oktober 2006 Forfatter Del Skrevet 10. oktober 2006 Jepp, jeg har alt jeg trenger. Svarte bare videre for å forklare hendelsesforløpet Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå