27. april 2004 - 16:04Der er
12 kommentarer og 1 løsning
Skriv udtræk til fil
Hej,
Jeg har et stort database udtræk (HTML-koder) som jeg gerne vil have skrevet til en fil på serveren. Når filen er gemt, skal den gerne sendes til klienten.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
I princippet behøver du ikke at gemme den fysisk på disk, men bare kaste output ud til browseren sammen med en header: header('Content-disposition: attachment; filename=fname.ext');
$filename = "newsletterGenerated.doc"; $handle = fopen($filename, "w+"); //$somecontent = "Add this to the file\n";
// Let's make sure the file exists and is writable first. if (is_writable($filename)) {
// In our example we're opening $filename in append mode. // The file pointer is at the bottom of the file hence // that's where $somecontent will go when we fwrite() it. if (!$handle = fopen($filename, 'w+')) { echo "Cannot open file ($filename)"; exit; }
// Write $somecontent to our opened file. if (fwrite($handle, $output) === FALSE) { echo "Cannot write to file ($filename)"; exit; }
//echo "Success, wrote ($somecontent) to file ($filename)";
fclose($handle);
header("location: newsletterGenerated.doc");
} else { echo "The file $filename is not writable"; }
Oh kom også lige i tanker om, hvis der er nogen som helst chance for at to folk kan generere den samme fil på samme tid, er det en god idé at indsætte:
flock($handle, LOCK_EX);
inden du skriver, og inden du lukker:
flock($handle, LOCK_UN);
Så er det først til mølle, og den anden person "venter" så på adgang til filen :)
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.