/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Gem array i fil, til senere brug
Fra : Lasse Hedegaard


Dato : 30-09-03 00:03

Hvordan gemmer jeg smartest et array i en fil, så jeg senere kan
trække disse ud og bruge igen?

Grunden er, at jeg ikke kan bruges sessions, da der er tale om et
betalingssystem, som kører fra en anden server. Jeg vil så blot gemme
filen med et unikt navn, og overføre dette navn via formen, for til
sidst at åbne filen igen - og bruge outputtet.

(Jeg bruger sessions i "første afdeling", så det er $_SESSION jeg vil
gemme, for senere at trække ind igen).

Venligst,
Lasse Hedegaard

--
http://www.simlock.dk/
- også Siemens M55, S55, C55 samt SonyEricsson T610

 
 
Martin Sveegaard (30-09-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 30-09-03 02:16

On Tue, 30 Sep 2003 01:03:06 +0200, Lasse Hedegaard <laxxe@nospam.dk>
wrote:

>Hvordan gemmer jeg smartest et array i en fil, så jeg senere kan
>trække disse ud og bruge igen?
>
>Grunden er, at jeg ikke kan bruges sessions, da der er tale om et
>betalingssystem, som kører fra en anden server. Jeg vil så blot gemme
>filen med et unikt navn, og overføre dette navn via formen, for til
>sidst at åbne filen igen - og bruge outputtet.
>
>(Jeg bruger sessions i "første afdeling", så det er $_SESSION jeg vil
>gemme, for senere at trække ind igen).
>
>Venligst,
>Lasse Hedegaard

Et eksempel:

<?
session_start();
$_SESSION['fornavn'] = 'Anders';
$_SESSION['efternavn'] = 'And';
$_SESSION['adresse'] = 'Paradisæblevej 2';
$_SESSION['by'] = 'Andeby';

$fp = fopen('text.txt', 'w');
foreach ($_SESSION as $key=>$val) {
   $str = $key.",".$val."\r\n";
   fputs($fp, $str, strlen($str));
}
fclose($fp);
$_SESSION = "";
session_destroy();
header ('Location: test.php');
?>

test.php:

<?
session_start();
$fp = fopen('text.txt', 'r');
while (!feof($fp)) {
   $arr = fgetcsv($fp,1024,",");
   $_SESSION[$arr[0]] = $arr[1];
}
?>
--
Med Venlig Hilsen
c",) Martin S

Dan Molberg (30-09-2003)
Kommentar
Fra : Dan Molberg


Dato : 30-09-03 08:20

"Lasse Hedegaard" <laxxe@nospam.dk> wrote in message
news:pbehnvg5jrqk08onpfp3dbsdnmt4vg2au1@news.tele.dk...
> Hvordan gemmer jeg smartest et array i en fil, så jeg senere kan
> trække disse ud og bruge igen?
>
> Grunden er, at jeg ikke kan bruges sessions, da der er tale om et
> betalingssystem, som kører fra en anden server. Jeg vil så blot gemme
> filen med et unikt navn, og overføre dette navn via formen, for til
> sidst at åbne filen igen - og bruge outputtet.
>
> (Jeg bruger sessions i "første afdeling", så det er $_SESSION jeg vil
> gemme, for senere at trække ind igen).

Brug serialize

--
Hvem læser dette?
Tilykke du er den første:)
MVH Dan Molberg



Martin Sveegaard (01-10-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 01-10-03 16:00

On Tue, 30 Sep 2003 09:19:37 +0200, "Dan Molberg" <beyond@repair.void>
wrote:

>Brug serialize

Jeg har forsøgt med serialize(). Det fungerer i og for sig, men der
kommer warnings. Hvorfor dog det?

<? session_start();
$_SESSION['fornavn'] = 'Anders';
$_SESSION['efternavn'] = 'And';
$_SESSION['adresse'] = 'Paradisæblevej 2';
$_SESSION['by'] = 'Andeby';
$input = serialize($_SESSION);
$fp = fopen('text.txt', 'w');
   fputs($fp, $input, strlen($input));
fclose($fp);
$_SESSION = "";
session_destroy();
header ('Location: test.php');
?>

test.php:

<? session_start();
$fp = fopen('text.txt', 'r');
$_SESSION = unserialize(fread($fp,filesize('text.txt')));
print_r($_SESSION);
?>
--
Med Venlig Hilsen
c",) Martin S

Dan Molberg (01-10-2003)
Kommentar
Fra : Dan Molberg


Dato : 01-10-03 16:24

"Martin Sveegaard" <sveegaardFJERN_DETTE@tdcadsl.dk> wrote in message
news:lpqlnv86gj9bf1gvs04p8fvcpf695ri7c9@4ax.com...
> On Tue, 30 Sep 2003 09:19:37 +0200, "Dan Molberg" <beyond@repair.void>
> wrote:
>
> >Brug serialize
>
> Jeg har forsøgt med serialize(). Det fungerer i og for sig, men der
> kommer warnings. Hvorfor dog det?
>
> <? session_start();
> $_SESSION['fornavn'] = 'Anders';
> $_SESSION['efternavn'] = 'And';
> $_SESSION['adresse'] = 'Paradisæblevej 2';
> $_SESSION['by'] = 'Andeby';
> $input = serialize($_SESSION);
> $fp = fopen('text.txt', 'w');
> fputs($fp, $input, strlen($input));
> fclose($fp);
> $_SESSION = "";
> session_destroy();
> header ('Location: test.php');
> ?>
>
> test.php:
>
> <? session_start();
> $fp = fopen('text.txt', 'r');
> $_SESSION = unserialize(fread($fp,filesize('text.txt')));
> print_r($_SESSION);
> ?>

Nu du ikke skriver hvilken warning vil jeg gætte på at det er pga $_SESSION
= "";.... du forsøger at sætte et array lig med en string.... brug unset().

--
Hvem læser dette?
Tilykke du er den første:)
MVH Dan Molberg



Martin Sveegaard (01-10-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 01-10-03 18:40

On Wed, 1 Oct 2003 17:23:36 +0200, "Dan Molberg" <beyond@repair.void>
wrote:

>Nu du ikke skriver hvilken warning vil jeg gætte på at det er pga $_SESSION
>= "";.... du forsøger at sætte et array lig med en string.... brug unset().

Pudsigt, det må have været noget cache agtigt, for jeg kan ikke
genskabe Warnings. Nu fungerer det fint. Men tak for tippet med
unset(). Det var min mening at bruge $_SESSION = array(); men unset()
er nok mere korrekt (hvis det da er nødvendigt, når man bruger
session_destroy()?)
--
Med Venlig Hilsen
c",) Martin S

Dan Molberg (01-10-2003)
Kommentar
Fra : Dan Molberg


Dato : 01-10-03 20:41

"Martin Sveegaard" <sveegaardFJERN_DETTE@tdcadsl.dk> wrote in message
news:lu3mnv0cph2gcuitcsnrgjm29u7k7qc4rd@4ax.com...
> On Wed, 1 Oct 2003 17:23:36 +0200, "Dan Molberg" <beyond@repair.void>
> wrote:
>
> >Nu du ikke skriver hvilken warning vil jeg gætte på at det er pga
$_SESSION
> >= "";.... du forsøger at sætte et array lig med en string.... brug
unset().
>
> Pudsigt, det må have været noget cache agtigt, for jeg kan ikke
> genskabe Warnings. Nu fungerer det fint. Men tak for tippet med
> unset(). Det var min mening at bruge $_SESSION = array(); men unset()
> er nok mere korrekt (hvis det da er nødvendigt, når man bruger
> session_destroy()?)

Næææ, en destroy er nok det eneste man skal gøre.... andet er vel
overkill....

--
Hvem læser dette?
Tilykke du er den første:)
MVH Dan Molberg



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste