In questo post mostro un semplice snippet per estrarre un archivio Tar in una directory temporanea.
$phar = new PharData('nome-archivio.tar'); //Estraggo tutti i files posizionandoli in /tmp/ $phar->extractTo('/tmp/', null, true);
$phar = new PharData('nome-archivio.tar'); //Estraggo tutti i files posizionandoli in /tmp/ $phar->extractTo('/tmp/', null, true);
$_DIR = '/var/www/html/images/'; $images_array = glob($_DIR . '*.jpg'); foreach ($images_array as $image) { echo $image; }
private Size currSize;2. Aggiungere nel costruttore, dopo InitializeComponent()
this.AutoScaleMode = AutoScaleMode.None; currSize = this.Size;3. Aggiungere la seguente funzione
private void autoscale() { Font tempFont; SizeF ratio = SizeF.Empty; //calculate resizing ratio ratio = new SizeF((float)this.Width / currSize.Width, (float)this.Height / currSize.Height); //loop through all controls and scale them foreach (Control c in this.Controls) {//Get current font size, Scale object and scale font tempFont = new Font(c.Font.Name, c.Font.SizeInPoints * ratio.Width * ratio.Height); c.Scale(ratio); c.Font = tempFont; } //update current size currSize = this.Size; }4. Utilizzare la funzione precedente nell'evento SizeChanged della windows form
private void Form1_SizeChanged(object sender, EventArgs e) { autoscale(); }
deb http://apt.izzysoft.de/ubuntu generic universe
wget http://apt.izzysoft.de/izzysoft.asc
sudo apt-key add izzysoft.asc4. Installare monitorix
sudo apt-get update sudo apt-get install monitorix
http://localhost:8080/monitorix/
In principio fu l'include (o il require) di tanti file php che contenevano funzioni.Ed ora? Adesso il Php è un linguaggio molto più maturo, dotato di namespace, che permettono a classi con lo stesso nome di coesistere (con namespace diversi) all'interno dello stesso progetto. In questo modo, includere una libreria di terze parti progettata a namespace non comporta più problemi di omonimia di classi.
Poi vennero le classi, incluse a mano una per una.
//Autoloading classes spl_autoload_register(function($className) { //Obtain the pure class name $pureClassName = getRealClassName($className); //Build the path $namespace = getNameSpace($className); if(file_exists($namespace.'/'.$pureClassName.'.php')) { include_once($namespace.'/'.$pureClassName.'.php'); } }); function getRealClassName($fullClassName) { //Explode class name $classNameArray = explode('\\',$fullClassName); //Obtain the pure class name return end($classNameArray); } function getNameSpace($fullClassName) { //Explode class name $classNameArray = explode('\\',$fullClassName); //Remove the pure class name array_pop($classNameArray); //Remove the main namespace (first) array_shift($classNameArray); //Build the path $namespace = implode('/', $classNameArray); return $namespace; }Breve spiegazione: nel caso il Php non trovi una classe, tenta una inclusione automatica, cercando il file posizionato nel percorso indicato dal namespace (stessa struttura delle cartelle quindi) e chiamato come il nome della classe, con estensione php. Le due funzioni getRealClassName() e getNameSpace() sono semplici funzioni che interpretano il nome della classe separando namespace dal nome "proprio" della classe stessa. Unica cosa degna di nota, viene eliminato il primo ramo del namespace, che solitamente è il nome del progetto.
new \ProjectName\Core\Othernamespace\Classname()Causerà una include automatica del percorso
Core/Othernamespace/Classname.php