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