Einige technische Einblicke in die Programmierarbeit von Datasurge
Durch die jahrelange Programmierarbeit haben wir einige Lösungen erarbeitet, die wir verbreiten möchten. Das beinhaltet vor allem:
  • Produktion von Druckvorstufen mit Open Source-Lösungen
  • Download von schweren (grossen) Dokumenten
  • Arbeit mit Programmierbäumen mit sogenannten Nested Sets


Druckvorstufe PDF
Wir arbeiten mit der PHP-Class welche auf www.fpdf.org verfügbar ist.
Um aus HTML-Files PDF-Dokumente zu erzeugen greifen wir auf das Projekt unter http://html2fpdf.sourceforge.net/ zurück.

Die Produktion von Druckvorstufen aus Webumgebungen ist mit Open-Source-Lösungen nicht ganz einfach. Mit einiger Erfahrung ist das aber durchaus machbar.



Download sehr grosser Dateien
Mit dieser Funktion kann man das Problem des Downloads grosser Dateien sehr schön umgehen:

function readfile_chunked($filename,$ID_file,$retbytes=true) {
$cnt = 0;
$chunksize = 1*(1024*1024); // how many bytes per chunk
$buffer = '';
$handle = fopen($filename, 'rb');
if ($handle === false) {
return false;
}
while (!feof($handle)) {
$buffer = fread($handle, $chunksize);
echo $buffer; // Ausgabe
flush(); // flushen
if ($retbytes) {
$cnt += strlen($buffer);
}
}
$status = fclose($handle);
if ($retbytes && $status) {
return $cnt; // return num. bytes delivered like readfile() does.
}
return $status;
} // eof function



Nested Sets
Die sogenannten "nested sets" eignen sich hervorragend für die Abbildung von Baumstrukturen.
Weitere Informationen erhalten Sie unter:
- Edutech Website von Rolf Brugger
- Joe Celko's Website über Hierarchien mit "Nested Sets"