Gå til innhold

Åpne fra disk og lagre til disk


Anbefalte innlegg

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
Videoannonse
Annonse

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 av Nazgul
Lenke til kommentar

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

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

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...