List directories with php and compare them

Sometimes it’s important to quickly highlight differences between two folders structure.

It could happen expecially when you are obliged to work on cheap environments, without console and you need to understand if there are differences among your local filesystem and the remote one.

You can copy the script in each directory and naming it scandir.php, than reach it by browser at the url http://path-to-your-base-folder/scandir.php.

In this way you have just executed the script, do it on each environment directory and occasionally compare them.

To compare there are Notepad++, git diff, WinMerge and plenty of open source tools.

Scandir is a php function, check it, I have wrote this code using an example I found there.

Forza download di un file con PHP

Per costringere il browser a fare scaricare un file che abbiamo su un server magari in una cartella nascosta (fuori dalla www o public_html).

function forza_download($file){
  header('Content-Description: File Transfer');
  header('Content-Type: application/octet-stream');
  header('Content-Disposition: attachment; filename='.basename($file));
  header('Content-Transfer-Encoding: binary');
  header('Expires: 0');
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
  header('Content-Length: ' . filesize($file));
  ob_clean();
  flush();
  readfile($file);
  exit;
}

Ovviamente $file è il realpath del file sulla macchina remota.

Spero che questo snippet possa tornare utile a qualcuno.

Druapal: Syntax Highlighter linee lunghe non vanno a capo

Copertina album di Caparezza Le dimensioni del mio CaosSarà capitato anche a voi, cari i miei DD (Drupal Developers), di utilizzare il modulo Syntax Highlighter per il vostro blog e di incappare in un fastidioso problema, quello delle linee lunghe.
Queste hanno infatti il vizietto di NON andare da capo e di stravolgere la struttura del sito.

Mi spiego meglio:
quando ponete il vostro bel codice, di qual si voglia linguaggio di programmazione o di scripting, nel tag “pre”, può capitare che le linee lunghe siano tali da estendersi in orizzontale per una ampiezza maggiore dell’elemento che le contengono, adulterando il layout del vostro sito.

La soluzione? Eccola.

La soluzione sarà data dal CSS.

  1. Munitevi dell’oittma estensione per Mozilla Firefox Firebug (COSA??!? NON AVETE FIREBUG!?) o di un qualunque altro sistema di ispezione del codice (Opera, Chrome ed IE lo hanno integrato);
  2. Premete F12 per attivare Firebug (o avviate il vostro suddetto “ispettore” prediletto);
  3. Scoprite dove viene definito il tag con classe syntaxhighlighter, intendo dire in quale file CSS. Dovreste cercare una cosa di questo tipo .syntaxhighlighter.

Trovata la dichiarazione dovreste essere di fronte un codice CSS di questo tipo:

che sarà sufficiente modificare nella sua ultima riga, ovvero in quella riguardante la dimensione.

Basterà infatti sostituire 100% con una dimensione assoluta (per esempio 500px) per ottenere un ridimensionamento del blocco di codice e una barra orizzontale che vi consentirà di scorrere le linee lunghe altrimenti parzialmente occultate.

Spero di essere stato chiaro e soprattutto di aiuto!