apple,development,life & more
Tuesday, September 19. 2006
Stress Tests für Webentwickler
Immer wieder macht sich ein Webentwickler gedanken, wie seine Webanwendung sich wohl unter Last verhält. Dies kann man nachstellen:
Im folgenden möchte ich kurz die Tools auflisten die man dazu verwenden kann:
Vielleicht kann ich demnächst Erfahrungsberichte dazu abgeben wenn ich die Zeit gefunden habe die Tools mal zu testen.
Im folgenden möchte ich kurz die Tools auflisten die man dazu verwenden kann:
Vielleicht kann ich demnächst Erfahrungsberichte dazu abgeben wenn ich die Zeit gefunden habe die Tools mal zu testen.
Friday, September 15. 2006
[PHP] String als Zipfile
Wie oft habe ich bereits einen String in ein komprimiertes File schreiben wollen, das vollautomatisiert und zum Download für den User. Allerdings eignet sich dazu das gzip format nicht da die meisten Benutzer mit Windows arbeiten und man ein zusätzliches Tool installieren.
Daher benötigt man das PEAR Module Archive_Zip das hervorragend Zip Dateien erstellen kann. Allerdings benötige ich das Zip File nicht direkt, da ich das File nach dem Download nicht mehr benötige da es veraltet sein könnte. Daher habe ich mir eine Funktion gebaut, die auf Archive_Zip aufbaut, mit der ich das Problem erledigen kann.
Die Funktion stringtozip erstellt temporär das Archiv mit den gewünschten Dateinamen, und löscht danach alles wieder, um nur den String zurückzuliefern.
Aber sehet selbst!
Viel Spaß!
Daher benötigt man das PEAR Module Archive_Zip das hervorragend Zip Dateien erstellen kann. Allerdings benötige ich das Zip File nicht direkt, da ich das File nach dem Download nicht mehr benötige da es veraltet sein könnte. Daher habe ich mir eine Funktion gebaut, die auf Archive_Zip aufbaut, mit der ich das Problem erledigen kann.
Die Funktion stringtozip erstellt temporär das Archiv mit den gewünschten Dateinamen, und löscht danach alles wieder, um nur den String zurückzuliefern.
Aber sehet selbst!
CODE:
/**
* function to create an zip file from an string
* @param string $string content of the file
* @param string $filename name of the file includes the content
* @param string $zipdescription description in the zipfile
* @param string $tmpfolder path for the temporary files with an ending /
*/
function stringToZip($string,$filename,$zipdescription,$tmpfolder)
{
global $cfg;
$rand=rand();
if(!class_exists('Archive_Zip'))
{
// module archive_zip is not existing
return false;
}
if(!is_writable($tmpfolder))
{
// directory is not writeable
return false;
}
if(!file_exists($tmpfolder.$filename))
{
$int_filename=$tmpfolder.$filename;
} else {
$int_filename=$tmpfolder.$filename.'-'.$rand;
}
$fhandler=fopen($int_filename,'a');
fwrite($fhandler,$string);
fclose($fhandler);
$zipHandler=new Archive_Zip($tmpfolder.date("YmdHis").'-'.$zipdescription.'-'.$rand.'.zip');
$zipHandler->create($int_filename,array('remove_all_path'=>true));
// unlink the file containing the string
unlink($int_filename);
// store the data and delete the temp file
$data=file($tmpfolder.date("YmdHis").'-'.$zipdescription.'-'.$rand.'.zip');
unlink($tmpfolder.date("YmdHis").'-'.$zipdescription.'-'.$rand.'.zip');
return join("\n",$data);
}
* function to create an zip file from an string
* @param string $string content of the file
* @param string $filename name of the file includes the content
* @param string $zipdescription description in the zipfile
* @param string $tmpfolder path for the temporary files with an ending /
*/
function stringToZip($string,$filename,$zipdescription,$tmpfolder)
{
global $cfg;
$rand=rand();
if(!class_exists('Archive_Zip'))
{
// module archive_zip is not existing
return false;
}
if(!is_writable($tmpfolder))
{
// directory is not writeable
return false;
}
if(!file_exists($tmpfolder.$filename))
{
$int_filename=$tmpfolder.$filename;
} else {
$int_filename=$tmpfolder.$filename.'-'.$rand;
}
$fhandler=fopen($int_filename,'a');
fwrite($fhandler,$string);
fclose($fhandler);
$zipHandler=new Archive_Zip($tmpfolder.date("YmdHis").'-'.$zipdescription.'-'.$rand.'.zip');
$zipHandler->create($int_filename,array('remove_all_path'=>true));
// unlink the file containing the string
unlink($int_filename);
// store the data and delete the temp file
$data=file($tmpfolder.date("YmdHis").'-'.$zipdescription.'-'.$rand.'.zip');
unlink($tmpfolder.date("YmdHis").'-'.$zipdescription.'-'.$rand.'.zip');
return join("\n",$data);
}
Viel Spaß!
Posted by Peter Rehm
in PHP, Programmierung
at
16:17
| Comments (2)
| Trackbacks (0)
Defined tags for this entry: development, php
Tuesday, September 12. 2006
Fakes rund um Apple
Kurz vor der Keynote tauchte ein Link zu einer eventuellen Live Übetragung auf.
Wurde schön gemacht, aber ein kleines Detail wurde übersehen. Apple gibt auf der originalen Seite (C) 2006 an auf der nachgemachten steht (C) 2005.
Das nächste indiz ist die Subdomain. Sowas würde Apple auch nicht machen. Aber mal sehen...
Hier der Link: http://events.apple.com.edgesuite.net/sep_2006/event/index.html
Wurde schön gemacht, aber ein kleines Detail wurde übersehen. Apple gibt auf der originalen Seite (C) 2006 an auf der nachgemachten steht (C) 2005.
Das nächste indiz ist die Subdomain. Sowas würde Apple auch nicht machen. Aber mal sehen...
Hier der Link: http://events.apple.com.edgesuite.net/sep_2006/event/index.html
Friday, September 1. 2006
Multi List Drag & Drop - Part 2!
Mich hat es mal wieder gepackt, und ich hab das Multi List Package upgedated.
Wofür ein Urlaub doch gut ist
Ich will es kurz und schmerzlos machen, hier findet ihr den alten Beitrag, mit allen wichtigen Informationen.
Allerdings ist das Package flexibler geworden, nachdem ich gedacht habe man sollte die Listen einfach erwitern können. Zusätzlich habe ich die addLoadEvent unterstützung eingebaut.
Update: Es gibt mal wieder eine erweiterung. Ab jetzt kann man die Class komfortabel selber erweitern und muss sich um die Updates nicht mehr sorgen. Man erzeugt eine angepasste Klasse die die sajax Klasse erweitert. In dieser Klasse werden alle Einstellungen getätigt, und man kann die update_db Funktion überschreiben, mit welcher die Daten geschrieben werden.
download - demo and simple documentation
Viel Spaß!
Wofür ein Urlaub doch gut ist
Ich will es kurz und schmerzlos machen, hier findet ihr den alten Beitrag, mit allen wichtigen Informationen.
Allerdings ist das Package flexibler geworden, nachdem ich gedacht habe man sollte die Listen einfach erwitern können. Zusätzlich habe ich die addLoadEvent unterstützung eingebaut.
Update: Es gibt mal wieder eine erweiterung. Ab jetzt kann man die Class komfortabel selber erweitern und muss sich um die Updates nicht mehr sorgen. Man erzeugt eine angepasste Klasse die die sajax Klasse erweitert. In dieser Klasse werden alle Einstellungen getätigt, und man kann die update_db Funktion überschreiben, mit welcher die Daten geschrieben werden.
download - demo and simple documentation
Viel Spaß!
(Page 1 of 1, totaling 4 entries)
Inhalt
Calendar
|
|
September '06 |
|
||||
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | |
Google Werbung
Archives
Categories
Syndicate This Blog
Getaggte Artikel
Top Referers
dietawfp.withsex.com (9)
istyle.my3gb.com (9)
myjanene.5gigs.net (9)
istyle.my3gb.com (9)
myjanene.5gigs.net (9)
Statistiken
letzter eintrag: 02.01.2008 11:16
154 geschriebene einträge
103 kommentare wurden erstellt
© Copyright 2006, nerdwg.org design by Luka Cvrk, port for s9y by nerdwg.org

